| Server IP : 85.155.190.233 / Your IP : 216.73.216.103 Web Server : nginx/1.24.0 System : Linux antigravity-cli 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64 User : wp-moonbloom ( 1001) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/node_modules/@google/gemini-cli/bundle/ |
Upload File : |
const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
import {
ACTIVATE_SKILL_TOOL_NAME,
AGENT_TOOL_NAME,
ALL_BUILTIN_TOOL_NAMES,
ALWAYS_ALLOW_PRIORITY_FRACTION,
ALWAYS_ALLOW_PRIORITY_OFFSET,
ASK_USER_DEFINITION,
ASK_USER_DISPLAY_NAME,
ASK_USER_TOOL_NAME,
ApiError,
ApprovalMode,
BaseDeclarativeTool,
BaseToolInvocation,
COMPLETE_TASK_DISPLAY_NAME,
COMPLETE_TASK_TOOL_NAME,
ChangeAuthRequestedError,
CoreEvent,
DEFAULT_CONTEXT_FILENAME,
DEFAULT_DIFF_OPTIONS,
DEFAULT_FILE_FILTERING_OPTIONS,
DEFAULT_GEMINI_EMBEDDING_MODEL,
DEFAULT_GEMINI_FLASH_LITE_MODEL,
DEFAULT_GEMINI_FLASH_MODEL,
DEFAULT_GEMINI_MODEL,
DEFAULT_GEMINI_MODEL_AUTO,
DEFAULT_MAX_LINES_TEXT_FILE,
DEFAULT_THINKING_MODE,
DISCOVERED_TOOL_PREFIX,
DeclarativeTool,
DiscoveredMCPTool,
DiscoveredMCPToolInvocation,
EDIT_DEFINITION,
EDIT_DISPLAY_NAME,
EDIT_PARAM_OLD_STRING,
EDIT_TOOL_NAME,
EDIT_TOOL_NAMES,
ENTER_PLAN_MODE_DEFINITION,
ENTER_PLAN_MODE_TOOL_NAME,
EXIT_PLAN_MODE_TOOL_NAME,
EmbedContentResponse,
Environment,
FatalAuthenticationError,
FatalCancellationError,
FatalConfigError,
FinishReason,
FunctionCallingConfigMode,
GEMINI_DIR,
GEMINI_IGNORE_FILE_NAME,
GEMINI_MODEL_ALIAS_FLASH,
GEMINI_MODEL_ALIAS_PRO,
GEMMA_4_26B_A4B_IT_MODEL,
GEMMA_4_31B_IT_MODEL,
GET_INTERNAL_DOCS_DEFINITION,
GET_INTERNAL_DOCS_TOOL_NAME,
GLOB_DEFINITION,
GLOB_DISPLAY_NAME,
GLOB_TOOL_NAME,
GREP_DEFINITION,
GREP_DISPLAY_NAME,
GREP_PARAM_AFTER,
GREP_PARAM_BEFORE,
GREP_PARAM_CONTEXT,
GREP_PARAM_EXCLUDE_PATTERN,
GREP_PARAM_INCLUDE_PATTERN,
GREP_PARAM_TOTAL_MAX_MATCHES,
GREP_TOOL_NAME,
GenerateContentResponse,
GoogleGenAI,
INTEGRITY_FILENAME,
INTEGRITY_KEY_FILENAME,
InProcessCheckerType,
KEYCHAIN_SERVICE_NAME,
Kind,
LIST_MCP_RESOURCES_DEFINITION,
LIST_MCP_RESOURCES_TOOL_NAME,
LS_DEFINITION,
LS_DISPLAY_NAME,
LS_TOOL_NAME,
MAX_FILE_SIZE_MB,
MAX_LINE_LENGTH_TEXT_FILE,
MCP_TOOL_PREFIX,
MEMORY_TOOL_NAME,
MODES_BY_PERMISSIVENESS,
MemoryTool,
MessageBusType,
OAUTH_FILE,
PARAM_ADDITIONAL_PERMISSIONS,
PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
PREVIEW_GEMINI_3_1_MODEL,
PREVIEW_GEMINI_FLASH_MODEL,
PREVIEW_GEMINI_MODEL,
PREVIEW_GEMINI_MODEL_AUTO,
PRIORITY_SUBAGENT_TOOL,
PROJECT_MEMORY_INDEX_FILENAME,
PolicyDecision,
QuestionType,
READ_FILE_DEFINITION,
READ_FILE_DISPLAY_NAME,
READ_FILE_PARAM_END_LINE,
READ_FILE_PARAM_START_LINE,
READ_FILE_TOOL_NAME,
READ_MANY_FILES_DEFINITION,
READ_MANY_FILES_DISPLAY_NAME,
READ_MANY_FILES_TOOL_NAME,
READ_MCP_RESOURCE_DEFINITION,
READ_MCP_RESOURCE_TOOL_NAME,
REFERENCE_CONTENT_END,
RIP_GREP_DEFINITION,
SECRET_KEY_ACCOUNT,
SHELL_PARAM_IS_BACKGROUND,
SHELL_TOOL_NAME,
SchemaValidator,
Storage,
TOOLS_REQUIRING_NARROWING,
TOOL_LEGACY_ALIASES,
TOPIC_PARAM_STRATEGIC_INTENT,
TOPIC_PARAM_SUMMARY,
TOPIC_PARAM_TITLE,
TRACKER_ADD_DEPENDENCY_TOOL_NAME,
TRACKER_CREATE_TASK_TOOL_NAME,
TRACKER_GET_TASK_TOOL_NAME,
TRACKER_LIST_TASKS_TOOL_NAME,
TRACKER_UPDATE_TASK_TOOL_NAME,
TRACKER_VISUALIZE_TOOL_NAME,
ThinkingLevel,
ToolConfirmationOutcome,
ToolErrorType,
Type,
UPDATE_TOPIC_DISPLAY_NAME,
UPDATE_TOPIC_TOOL_NAME,
UnauthorizedError,
WEB_FETCH_DEFINITION,
WEB_FETCH_DISPLAY_NAME,
WEB_FETCH_TOOL_NAME,
WEB_SEARCH_DEFINITION,
WEB_SEARCH_DISPLAY_NAME,
WEB_SEARCH_TOOL_NAME,
WRITE_FILE_DEFINITION,
WRITE_FILE_DISPLAY_NAME,
WRITE_FILE_TOOL_NAME,
WRITE_TODOS_DEFINITION,
WRITE_TODOS_TOOL_NAME,
applyPatch,
assertValidPathString,
bfsFileSearchSync,
categorizeAndConcatenate,
concatenateInstructions,
coreEvents,
createPatch,
createUserContent,
debugLogger,
deduplicateAbsolutePaths,
deduplicatePathsByFileIdentity,
diffLines,
external_exports,
formatMcpToolName,
getActivateSkillDefinition,
getAllGeminiMdFilenames,
getCurrentGeminiMdFilename,
getDiffStat,
getDiffStatFromPatch,
getDisplayString,
getEnvironmentMemoryPaths,
getErrorMessage,
getErrorType,
getExitPlanModeDefinition,
getExtensionMemoryPaths,
getGlobalMemoryFilePath,
getGlobalMemoryPaths,
getProjectHash,
getProjectMemoryIndexFilePath,
getShellDefinition,
getToolAliases,
getUpdateTopicDeclaration,
getUserProjectMemoryPaths,
hasCycleInSchema,
homedir,
isAbortError,
isAuthenticationError,
isAutoModel,
isFatalToolError,
isGemini2Model,
isGemini3Model,
isMcpToolAnnotation,
isMcpToolName,
isNodeError,
isPreviewModel,
isProModel,
isRecord,
isSubpath,
isTool,
isValidPathString,
isValidToolName,
loadJitSubdirectoryMemory,
makeRelative,
normalizePath,
parseGoogleApiError,
parseMcpToolName,
parsePatch,
readGeminiMdFiles,
refreshServerHierarchicalMemory,
require_base64_js,
require_dist,
require_ecdsa_sig_formatter,
require_extend,
require_fast_deep_equal,
require_fast_uri,
require_json_bigint,
require_jws,
require_proper_lockfile,
require_safe_buffer,
resolveClassifierModel,
resolveModel,
resolveToRealPath,
resolveToolDeclaration,
safeJsonStringify,
safeJsonStringifyBooleanValuesOnly,
setGeminiMdFilename,
shortenPath,
supportsModernFeatures,
supportsMultimodalFunctionResponse,
toFriendlyError,
toPathKey,
unescapePath,
zodToJsonSchema
} from "./chunk-UJ26GAE5.js";
import {
wrapper_default
} from "./chunk-664ZODQF.js";
import {
require_dist as require_dist2,
require_src
} from "./chunk-RJTRUG2J.js";
import {
DiagLogLevel,
SpanStatusCode,
ValueType,
context,
diag,
esm_exports,
init_esm,
metrics,
propagation,
trace
} from "./chunk-IUUIT4SU.js";
import {
__commonJS,
__esm,
__export,
__require,
__toCommonJS,
__toESM
} from "./chunk-34MYV7JD.js";
// node_modules/@iarna/toml/lib/parser.js
var require_parser = __commonJS({
"node_modules/@iarna/toml/lib/parser.js"(exports2, module2) {
"use strict";
var ParserEND = 1114112;
var ParserError = class _ParserError extends Error {
/* istanbul ignore next */
constructor(msg, filename, linenumber) {
super("[ParserError] " + msg, filename, linenumber);
this.name = "ParserError";
this.code = "ParserError";
if (Error.captureStackTrace) Error.captureStackTrace(this, _ParserError);
}
};
var State3 = class {
constructor(parser4) {
this.parser = parser4;
this.buf = "";
this.returned = null;
this.result = null;
this.resultTable = null;
this.resultArr = null;
}
};
var Parser3 = class {
constructor() {
this.pos = 0;
this.col = 0;
this.line = 0;
this.obj = {};
this.ctx = this.obj;
this.stack = [];
this._buf = "";
this.char = null;
this.ii = 0;
this.state = new State3(this.parseStart);
}
parse(str2) {
if (str2.length === 0 || str2.length == null) return;
this._buf = String(str2);
this.ii = -1;
this.char = -1;
let getNext;
while (getNext === false || this.nextChar()) {
getNext = this.runOne();
}
this._buf = null;
}
nextChar() {
if (this.char === 10) {
++this.line;
this.col = -1;
}
++this.ii;
this.char = this._buf.codePointAt(this.ii);
++this.pos;
++this.col;
return this.haveBuffer();
}
haveBuffer() {
return this.ii < this._buf.length;
}
runOne() {
return this.state.parser.call(this, this.state.returned);
}
finish() {
this.char = ParserEND;
let last2;
do {
last2 = this.state.parser;
this.runOne();
} while (this.state.parser !== last2);
this.ctx = null;
this.state = null;
this._buf = null;
return this.obj;
}
next(fn) {
if (typeof fn !== "function") throw new ParserError("Tried to set state to non-existent state: " + JSON.stringify(fn));
this.state.parser = fn;
}
goto(fn) {
this.next(fn);
return this.runOne();
}
call(fn, returnWith) {
if (returnWith) this.next(returnWith);
this.stack.push(this.state);
this.state = new State3(fn);
}
callNow(fn, returnWith) {
this.call(fn, returnWith);
return this.runOne();
}
return(value) {
if (this.stack.length === 0) throw this.error(new ParserError("Stack underflow"));
if (value === void 0) value = this.state.buf;
this.state = this.stack.pop();
this.state.returned = value;
}
returnNow(value) {
this.return(value);
return this.runOne();
}
consume() {
if (this.char === ParserEND) throw this.error(new ParserError("Unexpected end-of-buffer"));
this.state.buf += this._buf[this.ii];
}
error(err2) {
err2.line = this.line;
err2.col = this.col;
err2.pos = this.pos;
return err2;
}
/* istanbul ignore next */
parseStart() {
throw new ParserError("Must declare a parseStart method");
}
};
Parser3.END = ParserEND;
Parser3.Error = ParserError;
module2.exports = Parser3;
}
});
// node_modules/@iarna/toml/lib/create-datetime.js
var require_create_datetime = __commonJS({
"node_modules/@iarna/toml/lib/create-datetime.js"(exports2, module2) {
"use strict";
module2.exports = (value) => {
const date5 = new Date(value);
if (isNaN(date5)) {
throw new TypeError("Invalid Datetime");
} else {
return date5;
}
};
}
});
// node_modules/@iarna/toml/lib/format-num.js
var require_format_num = __commonJS({
"node_modules/@iarna/toml/lib/format-num.js"(exports2, module2) {
"use strict";
module2.exports = (d, num) => {
num = String(num);
while (num.length < d) num = "0" + num;
return num;
};
}
});
// node_modules/@iarna/toml/lib/create-datetime-float.js
var require_create_datetime_float = __commonJS({
"node_modules/@iarna/toml/lib/create-datetime-float.js"(exports2, module2) {
"use strict";
var f = require_format_num();
var FloatingDateTime = class extends Date {
constructor(value) {
super(value + "Z");
this.isFloating = true;
}
toISOString() {
const date5 = `${this.getUTCFullYear()}-${f(2, this.getUTCMonth() + 1)}-${f(2, this.getUTCDate())}`;
const time3 = `${f(2, this.getUTCHours())}:${f(2, this.getUTCMinutes())}:${f(2, this.getUTCSeconds())}.${f(3, this.getUTCMilliseconds())}`;
return `${date5}T${time3}`;
}
};
module2.exports = (value) => {
const date5 = new FloatingDateTime(value);
if (isNaN(date5)) {
throw new TypeError("Invalid Datetime");
} else {
return date5;
}
};
}
});
// node_modules/@iarna/toml/lib/create-date.js
var require_create_date = __commonJS({
"node_modules/@iarna/toml/lib/create-date.js"(exports2, module2) {
"use strict";
var f = require_format_num();
var DateTime = global.Date;
var Date2 = class extends DateTime {
constructor(value) {
super(value);
this.isDate = true;
}
toISOString() {
return `${this.getUTCFullYear()}-${f(2, this.getUTCMonth() + 1)}-${f(2, this.getUTCDate())}`;
}
};
module2.exports = (value) => {
const date5 = new Date2(value);
if (isNaN(date5)) {
throw new TypeError("Invalid Datetime");
} else {
return date5;
}
};
}
});
// node_modules/@iarna/toml/lib/create-time.js
var require_create_time = __commonJS({
"node_modules/@iarna/toml/lib/create-time.js"(exports2, module2) {
"use strict";
var f = require_format_num();
var Time = class extends Date {
constructor(value) {
super(`0000-01-01T${value}Z`);
this.isTime = true;
}
toISOString() {
return `${f(2, this.getUTCHours())}:${f(2, this.getUTCMinutes())}:${f(2, this.getUTCSeconds())}.${f(3, this.getUTCMilliseconds())}`;
}
};
module2.exports = (value) => {
const date5 = new Time(value);
if (isNaN(date5)) {
throw new TypeError("Invalid Datetime");
} else {
return date5;
}
};
}
});
// node_modules/@iarna/toml/lib/toml-parser.js
var require_toml_parser = __commonJS({
"node_modules/@iarna/toml/lib/toml-parser.js"(exports, module) {
"use strict";
module.exports = makeParserClass(require_parser());
module.exports.makeParserClass = makeParserClass;
var TomlError = class _TomlError extends Error {
constructor(msg) {
super(msg);
this.name = "TomlError";
if (Error.captureStackTrace) Error.captureStackTrace(this, _TomlError);
this.fromTOML = true;
this.wrapped = null;
}
};
TomlError.wrap = (err2) => {
const terr = new TomlError(err2.message);
terr.code = err2.code;
terr.wrapped = err2;
return terr;
};
module.exports.TomlError = TomlError;
var createDateTime = require_create_datetime();
var createDateTimeFloat = require_create_datetime_float();
var createDate = require_create_date();
var createTime = require_create_time();
var CTRL_I = 9;
var CTRL_J = 10;
var CTRL_M = 13;
var CTRL_CHAR_BOUNDARY = 31;
var CHAR_SP = 32;
var CHAR_QUOT = 34;
var CHAR_NUM = 35;
var CHAR_APOS = 39;
var CHAR_PLUS = 43;
var CHAR_COMMA = 44;
var CHAR_HYPHEN = 45;
var CHAR_PERIOD = 46;
var CHAR_0 = 48;
var CHAR_1 = 49;
var CHAR_7 = 55;
var CHAR_9 = 57;
var CHAR_COLON = 58;
var CHAR_EQUALS = 61;
var CHAR_A = 65;
var CHAR_E = 69;
var CHAR_F = 70;
var CHAR_T = 84;
var CHAR_U = 85;
var CHAR_Z = 90;
var CHAR_LOWBAR = 95;
var CHAR_a = 97;
var CHAR_b = 98;
var CHAR_e = 101;
var CHAR_f = 102;
var CHAR_i = 105;
var CHAR_l = 108;
var CHAR_n = 110;
var CHAR_o = 111;
var CHAR_r = 114;
var CHAR_s = 115;
var CHAR_t = 116;
var CHAR_u = 117;
var CHAR_x = 120;
var CHAR_z = 122;
var CHAR_LCUB = 123;
var CHAR_RCUB = 125;
var CHAR_LSQB = 91;
var CHAR_BSOL = 92;
var CHAR_RSQB = 93;
var CHAR_DEL = 127;
var SURROGATE_FIRST = 55296;
var SURROGATE_LAST = 57343;
var escapes = {
[CHAR_b]: "\b",
[CHAR_t]: " ",
[CHAR_n]: "\n",
[CHAR_f]: "\f",
[CHAR_r]: "\r",
[CHAR_QUOT]: '"',
[CHAR_BSOL]: "\\"
};
function isDigit(cp2) {
return cp2 >= CHAR_0 && cp2 <= CHAR_9;
}
function isHexit(cp2) {
return cp2 >= CHAR_A && cp2 <= CHAR_F || cp2 >= CHAR_a && cp2 <= CHAR_f || cp2 >= CHAR_0 && cp2 <= CHAR_9;
}
function isBit(cp2) {
return cp2 === CHAR_1 || cp2 === CHAR_0;
}
function isOctit(cp2) {
return cp2 >= CHAR_0 && cp2 <= CHAR_7;
}
function isAlphaNumQuoteHyphen(cp2) {
return cp2 >= CHAR_A && cp2 <= CHAR_Z || cp2 >= CHAR_a && cp2 <= CHAR_z || cp2 >= CHAR_0 && cp2 <= CHAR_9 || cp2 === CHAR_APOS || cp2 === CHAR_QUOT || cp2 === CHAR_LOWBAR || cp2 === CHAR_HYPHEN;
}
function isAlphaNumHyphen(cp2) {
return cp2 >= CHAR_A && cp2 <= CHAR_Z || cp2 >= CHAR_a && cp2 <= CHAR_z || cp2 >= CHAR_0 && cp2 <= CHAR_9 || cp2 === CHAR_LOWBAR || cp2 === CHAR_HYPHEN;
}
var _type = Symbol("type");
var _declared = Symbol("declared");
var hasOwnProperty = Object.prototype.hasOwnProperty;
var defineProperty = Object.defineProperty;
var descriptor = { configurable: true, enumerable: true, writable: true, value: void 0 };
function hasKey(obj, key) {
if (hasOwnProperty.call(obj, key)) return true;
if (key === "__proto__") defineProperty(obj, "__proto__", descriptor);
return false;
}
var INLINE_TABLE = Symbol("inline-table");
function InlineTable() {
return Object.defineProperties({}, {
[_type]: { value: INLINE_TABLE }
});
}
function isInlineTable(obj) {
if (obj === null || typeof obj !== "object") return false;
return obj[_type] === INLINE_TABLE;
}
var TABLE = Symbol("table");
function Table() {
return Object.defineProperties({}, {
[_type]: { value: TABLE },
[_declared]: { value: false, writable: true }
});
}
function isTable(obj) {
if (obj === null || typeof obj !== "object") return false;
return obj[_type] === TABLE;
}
var _contentType = Symbol("content-type");
var INLINE_LIST = Symbol("inline-list");
function InlineList(type2) {
return Object.defineProperties([], {
[_type]: { value: INLINE_LIST },
[_contentType]: { value: type2 }
});
}
function isInlineList(obj) {
if (obj === null || typeof obj !== "object") return false;
return obj[_type] === INLINE_LIST;
}
var LIST = Symbol("list");
function List() {
return Object.defineProperties([], {
[_type]: { value: LIST }
});
}
function isList(obj) {
if (obj === null || typeof obj !== "object") return false;
return obj[_type] === LIST;
}
var _custom;
try {
const utilInspect = eval("require('util').inspect");
_custom = utilInspect.custom;
} catch (_) {
}
var _inspect = _custom || "inspect";
var BoxedBigInt = class {
constructor(value) {
try {
this.value = global.BigInt.asIntN(64, value);
} catch (_) {
this.value = null;
}
Object.defineProperty(this, _type, { value: INTEGER });
}
isNaN() {
return this.value === null;
}
/* istanbul ignore next */
toString() {
return String(this.value);
}
/* istanbul ignore next */
[_inspect]() {
return `[BigInt: ${this.toString()}]}`;
}
valueOf() {
return this.value;
}
};
var INTEGER = Symbol("integer");
function Integer(value) {
let num = Number(value);
if (Object.is(num, -0)) num = 0;
if (global.BigInt && !Number.isSafeInteger(num)) {
return new BoxedBigInt(value);
} else {
return Object.defineProperties(new Number(num), {
isNaN: { value: function() {
return isNaN(this);
} },
[_type]: { value: INTEGER },
[_inspect]: { value: () => `[Integer: ${value}]` }
});
}
}
function isInteger(obj) {
if (obj === null || typeof obj !== "object") return false;
return obj[_type] === INTEGER;
}
var FLOAT = Symbol("float");
function Float(value) {
return Object.defineProperties(new Number(value), {
[_type]: { value: FLOAT },
[_inspect]: { value: () => `[Float: ${value}]` }
});
}
function isFloat(obj) {
if (obj === null || typeof obj !== "object") return false;
return obj[_type] === FLOAT;
}
function tomlType(value) {
const type2 = typeof value;
if (type2 === "object") {
if (value === null) return "null";
if (value instanceof Date) return "datetime";
if (_type in value) {
switch (value[_type]) {
case INLINE_TABLE:
return "inline-table";
case INLINE_LIST:
return "inline-list";
/* istanbul ignore next */
case TABLE:
return "table";
/* istanbul ignore next */
case LIST:
return "list";
case FLOAT:
return "float";
case INTEGER:
return "integer";
}
}
}
return type2;
}
function makeParserClass(Parser3) {
class TOMLParser extends Parser3 {
constructor() {
super();
this.ctx = this.obj = Table();
}
/* MATCH HELPER */
atEndOfWord() {
return this.char === CHAR_NUM || this.char === CTRL_I || this.char === CHAR_SP || this.atEndOfLine();
}
atEndOfLine() {
return this.char === Parser3.END || this.char === CTRL_J || this.char === CTRL_M;
}
parseStart() {
if (this.char === Parser3.END) {
return null;
} else if (this.char === CHAR_LSQB) {
return this.call(this.parseTableOrList);
} else if (this.char === CHAR_NUM) {
return this.call(this.parseComment);
} else if (this.char === CTRL_J || this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M) {
return null;
} else if (isAlphaNumQuoteHyphen(this.char)) {
return this.callNow(this.parseAssignStatement);
} else {
throw this.error(new TomlError(`Unknown character "${this.char}"`));
}
}
// HELPER, this strips any whitespace and comments to the end of the line
// then RETURNS. Last state in a production.
parseWhitespaceToEOL() {
if (this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M) {
return null;
} else if (this.char === CHAR_NUM) {
return this.goto(this.parseComment);
} else if (this.char === Parser3.END || this.char === CTRL_J) {
return this.return();
} else {
throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"));
}
}
/* ASSIGNMENT: key = value */
parseAssignStatement() {
return this.callNow(this.parseAssign, this.recordAssignStatement);
}
recordAssignStatement(kv) {
let target = this.ctx;
let finalKey = kv.key.pop();
for (let kw of kv.key) {
if (hasKey(target, kw) && (!isTable(target[kw]) || target[kw][_declared])) {
throw this.error(new TomlError("Can't redefine existing key"));
}
target = target[kw] = target[kw] || Table();
}
if (hasKey(target, finalKey)) {
throw this.error(new TomlError("Can't redefine existing key"));
}
if (isInteger(kv.value) || isFloat(kv.value)) {
target[finalKey] = kv.value.valueOf();
} else {
target[finalKey] = kv.value;
}
return this.goto(this.parseWhitespaceToEOL);
}
/* ASSSIGNMENT expression, key = value possibly inside an inline table */
parseAssign() {
return this.callNow(this.parseKeyword, this.recordAssignKeyword);
}
recordAssignKeyword(key) {
if (this.state.resultTable) {
this.state.resultTable.push(key);
} else {
this.state.resultTable = [key];
}
return this.goto(this.parseAssignKeywordPreDot);
}
parseAssignKeywordPreDot() {
if (this.char === CHAR_PERIOD) {
return this.next(this.parseAssignKeywordPostDot);
} else if (this.char !== CHAR_SP && this.char !== CTRL_I) {
return this.goto(this.parseAssignEqual);
}
}
parseAssignKeywordPostDot() {
if (this.char !== CHAR_SP && this.char !== CTRL_I) {
return this.callNow(this.parseKeyword, this.recordAssignKeyword);
}
}
parseAssignEqual() {
if (this.char === CHAR_EQUALS) {
return this.next(this.parseAssignPreValue);
} else {
throw this.error(new TomlError('Invalid character, expected "="'));
}
}
parseAssignPreValue() {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else {
return this.callNow(this.parseValue, this.recordAssignValue);
}
}
recordAssignValue(value) {
return this.returnNow({ key: this.state.resultTable, value });
}
/* COMMENTS: #...eol */
parseComment() {
do {
if (this.char === Parser3.END || this.char === CTRL_J) {
return this.return();
}
} while (this.nextChar());
}
/* TABLES AND LISTS, [foo] and [[foo]] */
parseTableOrList() {
if (this.char === CHAR_LSQB) {
this.next(this.parseList);
} else {
return this.goto(this.parseTable);
}
}
/* TABLE [foo.bar.baz] */
parseTable() {
this.ctx = this.obj;
return this.goto(this.parseTableNext);
}
parseTableNext() {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else {
return this.callNow(this.parseKeyword, this.parseTableMore);
}
}
parseTableMore(keyword) {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else if (this.char === CHAR_RSQB) {
if (hasKey(this.ctx, keyword) && (!isTable(this.ctx[keyword]) || this.ctx[keyword][_declared])) {
throw this.error(new TomlError("Can't redefine existing key"));
} else {
this.ctx = this.ctx[keyword] = this.ctx[keyword] || Table();
this.ctx[_declared] = true;
}
return this.next(this.parseWhitespaceToEOL);
} else if (this.char === CHAR_PERIOD) {
if (!hasKey(this.ctx, keyword)) {
this.ctx = this.ctx[keyword] = Table();
} else if (isTable(this.ctx[keyword])) {
this.ctx = this.ctx[keyword];
} else if (isList(this.ctx[keyword])) {
this.ctx = this.ctx[keyword][this.ctx[keyword].length - 1];
} else {
throw this.error(new TomlError("Can't redefine existing key"));
}
return this.next(this.parseTableNext);
} else {
throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"));
}
}
/* LIST [[a.b.c]] */
parseList() {
this.ctx = this.obj;
return this.goto(this.parseListNext);
}
parseListNext() {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else {
return this.callNow(this.parseKeyword, this.parseListMore);
}
}
parseListMore(keyword) {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else if (this.char === CHAR_RSQB) {
if (!hasKey(this.ctx, keyword)) {
this.ctx[keyword] = List();
}
if (isInlineList(this.ctx[keyword])) {
throw this.error(new TomlError("Can't extend an inline array"));
} else if (isList(this.ctx[keyword])) {
const next = Table();
this.ctx[keyword].push(next);
this.ctx = next;
} else {
throw this.error(new TomlError("Can't redefine an existing key"));
}
return this.next(this.parseListEnd);
} else if (this.char === CHAR_PERIOD) {
if (!hasKey(this.ctx, keyword)) {
this.ctx = this.ctx[keyword] = Table();
} else if (isInlineList(this.ctx[keyword])) {
throw this.error(new TomlError("Can't extend an inline array"));
} else if (isInlineTable(this.ctx[keyword])) {
throw this.error(new TomlError("Can't extend an inline table"));
} else if (isList(this.ctx[keyword])) {
this.ctx = this.ctx[keyword][this.ctx[keyword].length - 1];
} else if (isTable(this.ctx[keyword])) {
this.ctx = this.ctx[keyword];
} else {
throw this.error(new TomlError("Can't redefine an existing key"));
}
return this.next(this.parseListNext);
} else {
throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"));
}
}
parseListEnd(keyword) {
if (this.char === CHAR_RSQB) {
return this.next(this.parseWhitespaceToEOL);
} else {
throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"));
}
}
/* VALUE string, number, boolean, inline list, inline object */
parseValue() {
if (this.char === Parser3.END) {
throw this.error(new TomlError("Key without value"));
} else if (this.char === CHAR_QUOT) {
return this.next(this.parseDoubleString);
}
if (this.char === CHAR_APOS) {
return this.next(this.parseSingleString);
} else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) {
return this.goto(this.parseNumberSign);
} else if (this.char === CHAR_i) {
return this.next(this.parseInf);
} else if (this.char === CHAR_n) {
return this.next(this.parseNan);
} else if (isDigit(this.char)) {
return this.goto(this.parseNumberOrDateTime);
} else if (this.char === CHAR_t || this.char === CHAR_f) {
return this.goto(this.parseBoolean);
} else if (this.char === CHAR_LSQB) {
return this.call(this.parseInlineList, this.recordValue);
} else if (this.char === CHAR_LCUB) {
return this.call(this.parseInlineTable, this.recordValue);
} else {
throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"));
}
}
recordValue(value) {
return this.returnNow(value);
}
parseInf() {
if (this.char === CHAR_n) {
return this.next(this.parseInf2);
} else {
throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'));
}
}
parseInf2() {
if (this.char === CHAR_f) {
if (this.state.buf === "-") {
return this.return(-Infinity);
} else {
return this.return(Infinity);
}
} else {
throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'));
}
}
parseNan() {
if (this.char === CHAR_a) {
return this.next(this.parseNan2);
} else {
throw this.error(new TomlError('Unexpected character, expected "nan"'));
}
}
parseNan2() {
if (this.char === CHAR_n) {
return this.return(NaN);
} else {
throw this.error(new TomlError('Unexpected character, expected "nan"'));
}
}
/* KEYS, barewords or basic, literal, or dotted */
parseKeyword() {
if (this.char === CHAR_QUOT) {
return this.next(this.parseBasicString);
} else if (this.char === CHAR_APOS) {
return this.next(this.parseLiteralString);
} else {
return this.goto(this.parseBareKey);
}
}
/* KEYS: barewords */
parseBareKey() {
do {
if (this.char === Parser3.END) {
throw this.error(new TomlError("Key ended without value"));
} else if (isAlphaNumHyphen(this.char)) {
this.consume();
} else if (this.state.buf.length === 0) {
throw this.error(new TomlError("Empty bare keys are not allowed"));
} else {
return this.returnNow();
}
} while (this.nextChar());
}
/* STRINGS, single quoted (literal) */
parseSingleString() {
if (this.char === CHAR_APOS) {
return this.next(this.parseLiteralMultiStringMaybe);
} else {
return this.goto(this.parseLiteralString);
}
}
parseLiteralString() {
do {
if (this.char === CHAR_APOS) {
return this.return();
} else if (this.atEndOfLine()) {
throw this.error(new TomlError("Unterminated string"));
} else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I) {
throw this.errorControlCharInString();
} else {
this.consume();
}
} while (this.nextChar());
}
parseLiteralMultiStringMaybe() {
if (this.char === CHAR_APOS) {
return this.next(this.parseLiteralMultiString);
} else {
return this.returnNow();
}
}
parseLiteralMultiString() {
if (this.char === CTRL_M) {
return null;
} else if (this.char === CTRL_J) {
return this.next(this.parseLiteralMultiStringContent);
} else {
return this.goto(this.parseLiteralMultiStringContent);
}
}
parseLiteralMultiStringContent() {
do {
if (this.char === CHAR_APOS) {
return this.next(this.parseLiteralMultiEnd);
} else if (this.char === Parser3.END) {
throw this.error(new TomlError("Unterminated multi-line string"));
} else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M) {
throw this.errorControlCharInString();
} else {
this.consume();
}
} while (this.nextChar());
}
parseLiteralMultiEnd() {
if (this.char === CHAR_APOS) {
return this.next(this.parseLiteralMultiEnd2);
} else {
this.state.buf += "'";
return this.goto(this.parseLiteralMultiStringContent);
}
}
parseLiteralMultiEnd2() {
if (this.char === CHAR_APOS) {
return this.return();
} else {
this.state.buf += "''";
return this.goto(this.parseLiteralMultiStringContent);
}
}
/* STRINGS double quoted */
parseDoubleString() {
if (this.char === CHAR_QUOT) {
return this.next(this.parseMultiStringMaybe);
} else {
return this.goto(this.parseBasicString);
}
}
parseBasicString() {
do {
if (this.char === CHAR_BSOL) {
return this.call(this.parseEscape, this.recordEscapeReplacement);
} else if (this.char === CHAR_QUOT) {
return this.return();
} else if (this.atEndOfLine()) {
throw this.error(new TomlError("Unterminated string"));
} else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I) {
throw this.errorControlCharInString();
} else {
this.consume();
}
} while (this.nextChar());
}
recordEscapeReplacement(replacement) {
this.state.buf += replacement;
return this.goto(this.parseBasicString);
}
parseMultiStringMaybe() {
if (this.char === CHAR_QUOT) {
return this.next(this.parseMultiString);
} else {
return this.returnNow();
}
}
parseMultiString() {
if (this.char === CTRL_M) {
return null;
} else if (this.char === CTRL_J) {
return this.next(this.parseMultiStringContent);
} else {
return this.goto(this.parseMultiStringContent);
}
}
parseMultiStringContent() {
do {
if (this.char === CHAR_BSOL) {
return this.call(this.parseMultiEscape, this.recordMultiEscapeReplacement);
} else if (this.char === CHAR_QUOT) {
return this.next(this.parseMultiEnd);
} else if (this.char === Parser3.END) {
throw this.error(new TomlError("Unterminated multi-line string"));
} else if (this.char === CHAR_DEL || this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M) {
throw this.errorControlCharInString();
} else {
this.consume();
}
} while (this.nextChar());
}
errorControlCharInString() {
let displayCode = "\\u00";
if (this.char < 16) {
displayCode += "0";
}
displayCode += this.char.toString(16);
return this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${displayCode} instead`));
}
recordMultiEscapeReplacement(replacement) {
this.state.buf += replacement;
return this.goto(this.parseMultiStringContent);
}
parseMultiEnd() {
if (this.char === CHAR_QUOT) {
return this.next(this.parseMultiEnd2);
} else {
this.state.buf += '"';
return this.goto(this.parseMultiStringContent);
}
}
parseMultiEnd2() {
if (this.char === CHAR_QUOT) {
return this.return();
} else {
this.state.buf += '""';
return this.goto(this.parseMultiStringContent);
}
}
parseMultiEscape() {
if (this.char === CTRL_M || this.char === CTRL_J) {
return this.next(this.parseMultiTrim);
} else if (this.char === CHAR_SP || this.char === CTRL_I) {
return this.next(this.parsePreMultiTrim);
} else {
return this.goto(this.parseEscape);
}
}
parsePreMultiTrim() {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else if (this.char === CTRL_M || this.char === CTRL_J) {
return this.next(this.parseMultiTrim);
} else {
throw this.error(new TomlError("Can't escape whitespace"));
}
}
parseMultiTrim() {
if (this.char === CTRL_J || this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M) {
return null;
} else {
return this.returnNow();
}
}
parseEscape() {
if (this.char in escapes) {
return this.return(escapes[this.char]);
} else if (this.char === CHAR_u) {
return this.call(this.parseSmallUnicode, this.parseUnicodeReturn);
} else if (this.char === CHAR_U) {
return this.call(this.parseLargeUnicode, this.parseUnicodeReturn);
} else {
throw this.error(new TomlError("Unknown escape character: " + this.char));
}
}
parseUnicodeReturn(char) {
try {
const codePoint = parseInt(char, 16);
if (codePoint >= SURROGATE_FIRST && codePoint <= SURROGATE_LAST) {
throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));
}
return this.returnNow(String.fromCodePoint(codePoint));
} catch (err2) {
throw this.error(TomlError.wrap(err2));
}
}
parseSmallUnicode() {
if (!isHexit(this.char)) {
throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));
} else {
this.consume();
if (this.state.buf.length >= 4) return this.return();
}
}
parseLargeUnicode() {
if (!isHexit(this.char)) {
throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));
} else {
this.consume();
if (this.state.buf.length >= 8) return this.return();
}
}
/* NUMBERS */
parseNumberSign() {
this.consume();
return this.next(this.parseMaybeSignedInfOrNan);
}
parseMaybeSignedInfOrNan() {
if (this.char === CHAR_i) {
return this.next(this.parseInf);
} else if (this.char === CHAR_n) {
return this.next(this.parseNan);
} else {
return this.callNow(this.parseNoUnder, this.parseNumberIntegerStart);
}
}
parseNumberIntegerStart() {
if (this.char === CHAR_0) {
this.consume();
return this.next(this.parseNumberIntegerExponentOrDecimal);
} else {
return this.goto(this.parseNumberInteger);
}
}
parseNumberIntegerExponentOrDecimal() {
if (this.char === CHAR_PERIOD) {
this.consume();
return this.call(this.parseNoUnder, this.parseNumberFloat);
} else if (this.char === CHAR_E || this.char === CHAR_e) {
this.consume();
return this.next(this.parseNumberExponentSign);
} else {
return this.returnNow(Integer(this.state.buf));
}
}
parseNumberInteger() {
if (isDigit(this.char)) {
this.consume();
} else if (this.char === CHAR_LOWBAR) {
return this.call(this.parseNoUnder);
} else if (this.char === CHAR_E || this.char === CHAR_e) {
this.consume();
return this.next(this.parseNumberExponentSign);
} else if (this.char === CHAR_PERIOD) {
this.consume();
return this.call(this.parseNoUnder, this.parseNumberFloat);
} else {
const result2 = Integer(this.state.buf);
if (result2.isNaN()) {
throw this.error(new TomlError("Invalid number"));
} else {
return this.returnNow(result2);
}
}
}
parseNoUnder() {
if (this.char === CHAR_LOWBAR || this.char === CHAR_PERIOD || this.char === CHAR_E || this.char === CHAR_e) {
throw this.error(new TomlError("Unexpected character, expected digit"));
} else if (this.atEndOfWord()) {
throw this.error(new TomlError("Incomplete number"));
}
return this.returnNow();
}
parseNoUnderHexOctBinLiteral() {
if (this.char === CHAR_LOWBAR || this.char === CHAR_PERIOD) {
throw this.error(new TomlError("Unexpected character, expected digit"));
} else if (this.atEndOfWord()) {
throw this.error(new TomlError("Incomplete number"));
}
return this.returnNow();
}
parseNumberFloat() {
if (this.char === CHAR_LOWBAR) {
return this.call(this.parseNoUnder, this.parseNumberFloat);
} else if (isDigit(this.char)) {
this.consume();
} else if (this.char === CHAR_E || this.char === CHAR_e) {
this.consume();
return this.next(this.parseNumberExponentSign);
} else {
return this.returnNow(Float(this.state.buf));
}
}
parseNumberExponentSign() {
if (isDigit(this.char)) {
return this.goto(this.parseNumberExponent);
} else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) {
this.consume();
this.call(this.parseNoUnder, this.parseNumberExponent);
} else {
throw this.error(new TomlError("Unexpected character, expected -, + or digit"));
}
}
parseNumberExponent() {
if (isDigit(this.char)) {
this.consume();
} else if (this.char === CHAR_LOWBAR) {
return this.call(this.parseNoUnder);
} else {
return this.returnNow(Float(this.state.buf));
}
}
/* NUMBERS or DATETIMES */
parseNumberOrDateTime() {
if (this.char === CHAR_0) {
this.consume();
return this.next(this.parseNumberBaseOrDateTime);
} else {
return this.goto(this.parseNumberOrDateTimeOnly);
}
}
parseNumberOrDateTimeOnly() {
if (this.char === CHAR_LOWBAR) {
return this.call(this.parseNoUnder, this.parseNumberInteger);
} else if (isDigit(this.char)) {
this.consume();
if (this.state.buf.length > 4) this.next(this.parseNumberInteger);
} else if (this.char === CHAR_E || this.char === CHAR_e) {
this.consume();
return this.next(this.parseNumberExponentSign);
} else if (this.char === CHAR_PERIOD) {
this.consume();
return this.call(this.parseNoUnder, this.parseNumberFloat);
} else if (this.char === CHAR_HYPHEN) {
return this.goto(this.parseDateTime);
} else if (this.char === CHAR_COLON) {
return this.goto(this.parseOnlyTimeHour);
} else {
return this.returnNow(Integer(this.state.buf));
}
}
parseDateTimeOnly() {
if (this.state.buf.length < 4) {
if (isDigit(this.char)) {
return this.consume();
} else if (this.char === CHAR_COLON) {
return this.goto(this.parseOnlyTimeHour);
} else {
throw this.error(new TomlError("Expected digit while parsing year part of a date"));
}
} else {
if (this.char === CHAR_HYPHEN) {
return this.goto(this.parseDateTime);
} else {
throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"));
}
}
}
parseNumberBaseOrDateTime() {
if (this.char === CHAR_b) {
this.consume();
return this.call(this.parseNoUnderHexOctBinLiteral, this.parseIntegerBin);
} else if (this.char === CHAR_o) {
this.consume();
return this.call(this.parseNoUnderHexOctBinLiteral, this.parseIntegerOct);
} else if (this.char === CHAR_x) {
this.consume();
return this.call(this.parseNoUnderHexOctBinLiteral, this.parseIntegerHex);
} else if (this.char === CHAR_PERIOD) {
return this.goto(this.parseNumberInteger);
} else if (isDigit(this.char)) {
return this.goto(this.parseDateTimeOnly);
} else {
return this.returnNow(Integer(this.state.buf));
}
}
parseIntegerHex() {
if (isHexit(this.char)) {
this.consume();
} else if (this.char === CHAR_LOWBAR) {
return this.call(this.parseNoUnderHexOctBinLiteral);
} else {
const result2 = Integer(this.state.buf);
if (result2.isNaN()) {
throw this.error(new TomlError("Invalid number"));
} else {
return this.returnNow(result2);
}
}
}
parseIntegerOct() {
if (isOctit(this.char)) {
this.consume();
} else if (this.char === CHAR_LOWBAR) {
return this.call(this.parseNoUnderHexOctBinLiteral);
} else {
const result2 = Integer(this.state.buf);
if (result2.isNaN()) {
throw this.error(new TomlError("Invalid number"));
} else {
return this.returnNow(result2);
}
}
}
parseIntegerBin() {
if (isBit(this.char)) {
this.consume();
} else if (this.char === CHAR_LOWBAR) {
return this.call(this.parseNoUnderHexOctBinLiteral);
} else {
const result2 = Integer(this.state.buf);
if (result2.isNaN()) {
throw this.error(new TomlError("Invalid number"));
} else {
return this.returnNow(result2);
}
}
}
/* DATETIME */
parseDateTime() {
if (this.state.buf.length < 4) {
throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));
}
this.state.result = this.state.buf;
this.state.buf = "";
return this.next(this.parseDateMonth);
}
parseDateMonth() {
if (this.char === CHAR_HYPHEN) {
if (this.state.buf.length < 2) {
throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));
}
this.state.result += "-" + this.state.buf;
this.state.buf = "";
return this.next(this.parseDateDay);
} else if (isDigit(this.char)) {
this.consume();
} else {
throw this.error(new TomlError("Incomplete datetime"));
}
}
parseDateDay() {
if (this.char === CHAR_T || this.char === CHAR_SP) {
if (this.state.buf.length < 2) {
throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));
}
this.state.result += "-" + this.state.buf;
this.state.buf = "";
return this.next(this.parseStartTimeHour);
} else if (this.atEndOfWord()) {
return this.returnNow(createDate(this.state.result + "-" + this.state.buf));
} else if (isDigit(this.char)) {
this.consume();
} else {
throw this.error(new TomlError("Incomplete datetime"));
}
}
parseStartTimeHour() {
if (this.atEndOfWord()) {
return this.returnNow(createDate(this.state.result));
} else {
return this.goto(this.parseTimeHour);
}
}
parseTimeHour() {
if (this.char === CHAR_COLON) {
if (this.state.buf.length < 2) {
throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));
}
this.state.result += "T" + this.state.buf;
this.state.buf = "";
return this.next(this.parseTimeMin);
} else if (isDigit(this.char)) {
this.consume();
} else {
throw this.error(new TomlError("Incomplete datetime"));
}
}
parseTimeMin() {
if (this.state.buf.length < 2 && isDigit(this.char)) {
this.consume();
} else if (this.state.buf.length === 2 && this.char === CHAR_COLON) {
this.state.result += ":" + this.state.buf;
this.state.buf = "";
return this.next(this.parseTimeSec);
} else {
throw this.error(new TomlError("Incomplete datetime"));
}
}
parseTimeSec() {
if (isDigit(this.char)) {
this.consume();
if (this.state.buf.length === 2) {
this.state.result += ":" + this.state.buf;
this.state.buf = "";
return this.next(this.parseTimeZoneOrFraction);
}
} else {
throw this.error(new TomlError("Incomplete datetime"));
}
}
parseOnlyTimeHour() {
if (this.char === CHAR_COLON) {
if (this.state.buf.length < 2) {
throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));
}
this.state.result = this.state.buf;
this.state.buf = "";
return this.next(this.parseOnlyTimeMin);
} else {
throw this.error(new TomlError("Incomplete time"));
}
}
parseOnlyTimeMin() {
if (this.state.buf.length < 2 && isDigit(this.char)) {
this.consume();
} else if (this.state.buf.length === 2 && this.char === CHAR_COLON) {
this.state.result += ":" + this.state.buf;
this.state.buf = "";
return this.next(this.parseOnlyTimeSec);
} else {
throw this.error(new TomlError("Incomplete time"));
}
}
parseOnlyTimeSec() {
if (isDigit(this.char)) {
this.consume();
if (this.state.buf.length === 2) {
return this.next(this.parseOnlyTimeFractionMaybe);
}
} else {
throw this.error(new TomlError("Incomplete time"));
}
}
parseOnlyTimeFractionMaybe() {
this.state.result += ":" + this.state.buf;
if (this.char === CHAR_PERIOD) {
this.state.buf = "";
this.next(this.parseOnlyTimeFraction);
} else {
return this.return(createTime(this.state.result));
}
}
parseOnlyTimeFraction() {
if (isDigit(this.char)) {
this.consume();
} else if (this.atEndOfWord()) {
if (this.state.buf.length === 0) throw this.error(new TomlError("Expected digit in milliseconds"));
return this.returnNow(createTime(this.state.result + "." + this.state.buf));
} else {
throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"));
}
}
parseTimeZoneOrFraction() {
if (this.char === CHAR_PERIOD) {
this.consume();
this.next(this.parseDateTimeFraction);
} else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) {
this.consume();
this.next(this.parseTimeZoneHour);
} else if (this.char === CHAR_Z) {
this.consume();
return this.return(createDateTime(this.state.result + this.state.buf));
} else if (this.atEndOfWord()) {
return this.returnNow(createDateTimeFloat(this.state.result + this.state.buf));
} else {
throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"));
}
}
parseDateTimeFraction() {
if (isDigit(this.char)) {
this.consume();
} else if (this.state.buf.length === 1) {
throw this.error(new TomlError("Expected digit in milliseconds"));
} else if (this.char === CHAR_HYPHEN || this.char === CHAR_PLUS) {
this.consume();
this.next(this.parseTimeZoneHour);
} else if (this.char === CHAR_Z) {
this.consume();
return this.return(createDateTime(this.state.result + this.state.buf));
} else if (this.atEndOfWord()) {
return this.returnNow(createDateTimeFloat(this.state.result + this.state.buf));
} else {
throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"));
}
}
parseTimeZoneHour() {
if (isDigit(this.char)) {
this.consume();
if (/\d\d$/.test(this.state.buf)) return this.next(this.parseTimeZoneSep);
} else {
throw this.error(new TomlError("Unexpected character in datetime, expected digit"));
}
}
parseTimeZoneSep() {
if (this.char === CHAR_COLON) {
this.consume();
this.next(this.parseTimeZoneMin);
} else {
throw this.error(new TomlError("Unexpected character in datetime, expected colon"));
}
}
parseTimeZoneMin() {
if (isDigit(this.char)) {
this.consume();
if (/\d\d$/.test(this.state.buf)) return this.return(createDateTime(this.state.result + this.state.buf));
} else {
throw this.error(new TomlError("Unexpected character in datetime, expected digit"));
}
}
/* BOOLEAN */
parseBoolean() {
if (this.char === CHAR_t) {
this.consume();
return this.next(this.parseTrue_r);
} else if (this.char === CHAR_f) {
this.consume();
return this.next(this.parseFalse_a);
}
}
parseTrue_r() {
if (this.char === CHAR_r) {
this.consume();
return this.next(this.parseTrue_u);
} else {
throw this.error(new TomlError("Invalid boolean, expected true or false"));
}
}
parseTrue_u() {
if (this.char === CHAR_u) {
this.consume();
return this.next(this.parseTrue_e);
} else {
throw this.error(new TomlError("Invalid boolean, expected true or false"));
}
}
parseTrue_e() {
if (this.char === CHAR_e) {
return this.return(true);
} else {
throw this.error(new TomlError("Invalid boolean, expected true or false"));
}
}
parseFalse_a() {
if (this.char === CHAR_a) {
this.consume();
return this.next(this.parseFalse_l);
} else {
throw this.error(new TomlError("Invalid boolean, expected true or false"));
}
}
parseFalse_l() {
if (this.char === CHAR_l) {
this.consume();
return this.next(this.parseFalse_s);
} else {
throw this.error(new TomlError("Invalid boolean, expected true or false"));
}
}
parseFalse_s() {
if (this.char === CHAR_s) {
this.consume();
return this.next(this.parseFalse_e);
} else {
throw this.error(new TomlError("Invalid boolean, expected true or false"));
}
}
parseFalse_e() {
if (this.char === CHAR_e) {
return this.return(false);
} else {
throw this.error(new TomlError("Invalid boolean, expected true or false"));
}
}
/* INLINE LISTS */
parseInlineList() {
if (this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M || this.char === CTRL_J) {
return null;
} else if (this.char === Parser3.END) {
throw this.error(new TomlError("Unterminated inline array"));
} else if (this.char === CHAR_NUM) {
return this.call(this.parseComment);
} else if (this.char === CHAR_RSQB) {
return this.return(this.state.resultArr || InlineList());
} else {
return this.callNow(this.parseValue, this.recordInlineListValue);
}
}
recordInlineListValue(value) {
if (this.state.resultArr) {
const listType = this.state.resultArr[_contentType];
const valueType = tomlType(value);
if (listType !== valueType) {
throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${listType} and ${valueType}`));
}
} else {
this.state.resultArr = InlineList(tomlType(value));
}
if (isFloat(value) || isInteger(value)) {
this.state.resultArr.push(value.valueOf());
} else {
this.state.resultArr.push(value);
}
return this.goto(this.parseInlineListNext);
}
parseInlineListNext() {
if (this.char === CHAR_SP || this.char === CTRL_I || this.char === CTRL_M || this.char === CTRL_J) {
return null;
} else if (this.char === CHAR_NUM) {
return this.call(this.parseComment);
} else if (this.char === CHAR_COMMA) {
return this.next(this.parseInlineList);
} else if (this.char === CHAR_RSQB) {
return this.goto(this.parseInlineList);
} else {
throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"));
}
}
/* INLINE TABLE */
parseInlineTable() {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else if (this.char === Parser3.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) {
throw this.error(new TomlError("Unterminated inline array"));
} else if (this.char === CHAR_RCUB) {
return this.return(this.state.resultTable || InlineTable());
} else {
if (!this.state.resultTable) this.state.resultTable = InlineTable();
return this.callNow(this.parseAssign, this.recordInlineTableValue);
}
}
recordInlineTableValue(kv) {
let target = this.state.resultTable;
let finalKey = kv.key.pop();
for (let kw of kv.key) {
if (hasKey(target, kw) && (!isTable(target[kw]) || target[kw][_declared])) {
throw this.error(new TomlError("Can't redefine existing key"));
}
target = target[kw] = target[kw] || Table();
}
if (hasKey(target, finalKey)) {
throw this.error(new TomlError("Can't redefine existing key"));
}
if (isInteger(kv.value) || isFloat(kv.value)) {
target[finalKey] = kv.value.valueOf();
} else {
target[finalKey] = kv.value;
}
return this.goto(this.parseInlineTableNext);
}
parseInlineTableNext() {
if (this.char === CHAR_SP || this.char === CTRL_I) {
return null;
} else if (this.char === Parser3.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) {
throw this.error(new TomlError("Unterminated inline array"));
} else if (this.char === CHAR_COMMA) {
return this.next(this.parseInlineTable);
} else if (this.char === CHAR_RCUB) {
return this.goto(this.parseInlineTable);
} else {
throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"));
}
}
}
return TOMLParser;
}
}
});
// node_modules/@iarna/toml/parse-pretty-error.js
var require_parse_pretty_error = __commonJS({
"node_modules/@iarna/toml/parse-pretty-error.js"(exports2, module2) {
"use strict";
module2.exports = prettyError;
function prettyError(err2, buf) {
if (err2.pos == null || err2.line == null) return err2;
let msg = err2.message;
msg += ` at row ${err2.line + 1}, col ${err2.col + 1}, pos ${err2.pos}:
`;
if (buf && buf.split) {
const lines = buf.split(/\n/);
const lineNumWidth = String(Math.min(lines.length, err2.line + 3)).length;
let linePadding = " ";
while (linePadding.length < lineNumWidth) linePadding += " ";
for (let ii = Math.max(0, err2.line - 1); ii < Math.min(lines.length, err2.line + 2); ++ii) {
let lineNum = String(ii + 1);
if (lineNum.length < lineNumWidth) lineNum = " " + lineNum;
if (err2.line === ii) {
msg += lineNum + "> " + lines[ii] + "\n";
msg += linePadding + " ";
for (let hh = 0; hh < err2.col; ++hh) {
msg += " ";
}
msg += "^\n";
} else {
msg += lineNum + ": " + lines[ii] + "\n";
}
}
}
err2.message = msg + "\n";
return err2;
}
}
});
// node_modules/@iarna/toml/parse-string.js
var require_parse_string = __commonJS({
"node_modules/@iarna/toml/parse-string.js"(exports2, module2) {
"use strict";
module2.exports = parseString;
var TOMLParser = require_toml_parser();
var prettyError = require_parse_pretty_error();
function parseString(str2) {
if (global.Buffer && global.Buffer.isBuffer(str2)) {
str2 = str2.toString("utf8");
}
const parser4 = new TOMLParser();
try {
parser4.parse(str2);
return parser4.finish();
} catch (err2) {
throw prettyError(err2, str2);
}
}
}
});
// node_modules/@iarna/toml/parse-async.js
var require_parse_async = __commonJS({
"node_modules/@iarna/toml/parse-async.js"(exports2, module2) {
"use strict";
module2.exports = parseAsync3;
var TOMLParser = require_toml_parser();
var prettyError = require_parse_pretty_error();
function parseAsync3(str2, opts) {
if (!opts) opts = {};
const index = 0;
const blocksize = opts.blocksize || 40960;
const parser4 = new TOMLParser();
return new Promise((resolve25, reject) => {
setImmediate(parseAsyncNext, index, blocksize, resolve25, reject);
});
function parseAsyncNext(index2, blocksize2, resolve25, reject) {
if (index2 >= str2.length) {
try {
return resolve25(parser4.finish());
} catch (err2) {
return reject(prettyError(err2, str2));
}
}
try {
parser4.parse(str2.slice(index2, index2 + blocksize2));
setImmediate(parseAsyncNext, index2 + blocksize2, blocksize2, resolve25, reject);
} catch (err2) {
reject(prettyError(err2, str2));
}
}
}
}
});
// node_modules/@iarna/toml/parse-stream.js
var require_parse_stream = __commonJS({
"node_modules/@iarna/toml/parse-stream.js"(exports2, module2) {
"use strict";
module2.exports = parseStream;
var stream2 = __require("stream");
var TOMLParser = require_toml_parser();
function parseStream(stm) {
if (stm) {
return parseReadable(stm);
} else {
return parseTransform(stm);
}
}
function parseReadable(stm) {
const parser4 = new TOMLParser();
stm.setEncoding("utf8");
return new Promise((resolve25, reject) => {
let readable2;
let ended = false;
let errored = false;
function finish() {
ended = true;
if (readable2) return;
try {
resolve25(parser4.finish());
} catch (err2) {
reject(err2);
}
}
function error40(err2) {
errored = true;
reject(err2);
}
stm.once("end", finish);
stm.once("error", error40);
readNext();
function readNext() {
readable2 = true;
let data;
while ((data = stm.read()) !== null) {
try {
parser4.parse(data);
} catch (err2) {
return error40(err2);
}
}
readable2 = false;
if (ended) return finish();
if (errored) return;
stm.once("readable", readNext);
}
});
}
function parseTransform() {
const parser4 = new TOMLParser();
return new stream2.Transform({
objectMode: true,
transform(chunk, encoding, cb) {
try {
parser4.parse(chunk.toString(encoding));
} catch (err2) {
this.emit("error", err2);
}
cb();
},
flush(cb) {
try {
this.push(parser4.finish());
} catch (err2) {
this.emit("error", err2);
}
cb();
}
});
}
}
});
// node_modules/@iarna/toml/parse.js
var require_parse = __commonJS({
"node_modules/@iarna/toml/parse.js"(exports2, module2) {
"use strict";
module2.exports = require_parse_string();
module2.exports.async = require_parse_async();
module2.exports.stream = require_parse_stream();
module2.exports.prettyError = require_parse_pretty_error();
}
});
// node_modules/@iarna/toml/stringify.js
var require_stringify = __commonJS({
"node_modules/@iarna/toml/stringify.js"(exports2, module2) {
"use strict";
module2.exports = stringify3;
module2.exports.value = stringifyInline;
function stringify3(obj) {
if (obj === null) throw typeError("null");
if (obj === void 0) throw typeError("undefined");
if (typeof obj !== "object") throw typeError(typeof obj);
if (typeof obj.toJSON === "function") obj = obj.toJSON();
if (obj == null) return null;
const type2 = tomlType2(obj);
if (type2 !== "table") throw typeError(type2);
return stringifyObject("", "", obj);
}
function typeError(type2) {
return new Error("Can only stringify objects, not " + type2);
}
function arrayOneTypeError() {
return new Error("Array values can't have mixed types");
}
function getInlineKeys(obj) {
return Object.keys(obj).filter((key) => isInline(obj[key]));
}
function getComplexKeys(obj) {
return Object.keys(obj).filter((key) => !isInline(obj[key]));
}
function toJSON(obj) {
let nobj = Array.isArray(obj) ? [] : Object.prototype.hasOwnProperty.call(obj, "__proto__") ? { ["__proto__"]: void 0 } : {};
for (let prop of Object.keys(obj)) {
if (obj[prop] && typeof obj[prop].toJSON === "function" && !("toISOString" in obj[prop])) {
nobj[prop] = obj[prop].toJSON();
} else {
nobj[prop] = obj[prop];
}
}
return nobj;
}
function stringifyObject(prefix, indent, obj) {
obj = toJSON(obj);
var inlineKeys;
var complexKeys;
inlineKeys = getInlineKeys(obj);
complexKeys = getComplexKeys(obj);
var result2 = [];
var inlineIndent = indent || "";
inlineKeys.forEach((key) => {
var type2 = tomlType2(obj[key]);
if (type2 !== "undefined" && type2 !== "null") {
result2.push(inlineIndent + stringifyKey(key) + " = " + stringifyAnyInline(obj[key], true));
}
});
if (result2.length > 0) result2.push("");
var complexIndent = prefix && inlineKeys.length > 0 ? indent + " " : "";
complexKeys.forEach((key) => {
result2.push(stringifyComplex(prefix, complexIndent, key, obj[key]));
});
return result2.join("\n");
}
function isInline(value) {
switch (tomlType2(value)) {
case "undefined":
case "null":
case "integer":
case "nan":
case "float":
case "boolean":
case "string":
case "datetime":
return true;
case "array":
return value.length === 0 || tomlType2(value[0]) !== "table";
case "table":
return Object.keys(value).length === 0;
/* istanbul ignore next */
default:
return false;
}
}
function tomlType2(value) {
if (value === void 0) {
return "undefined";
} else if (value === null) {
return "null";
} else if (typeof value === "bigint" || Number.isInteger(value) && !Object.is(value, -0)) {
return "integer";
} else if (typeof value === "number") {
return "float";
} else if (typeof value === "boolean") {
return "boolean";
} else if (typeof value === "string") {
return "string";
} else if ("toISOString" in value) {
return isNaN(value) ? "undefined" : "datetime";
} else if (Array.isArray(value)) {
return "array";
} else {
return "table";
}
}
function stringifyKey(key) {
var keyStr = String(key);
if (/^[-A-Za-z0-9_]+$/.test(keyStr)) {
return keyStr;
} else {
return stringifyBasicString(keyStr);
}
}
function stringifyBasicString(str2) {
return '"' + escapeString2(str2).replace(/"/g, '\\"') + '"';
}
function stringifyLiteralString(str2) {
return "'" + str2 + "'";
}
function numpad(num, str2) {
while (str2.length < num) str2 = "0" + str2;
return str2;
}
function escapeString2(str2) {
return str2.replace(/\\/g, "\\\\").replace(/[\b]/g, "\\b").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\f/g, "\\f").replace(/\r/g, "\\r").replace(/([\u0000-\u001f\u007f])/, (c4) => "\\u" + numpad(4, c4.codePointAt(0).toString(16)));
}
function stringifyMultilineString(str2) {
let escaped = str2.split(/\n/).map((str3) => {
return escapeString2(str3).replace(/"(?="")/g, '\\"');
}).join("\n");
if (escaped.slice(-1) === '"') escaped += "\\\n";
return '"""\n' + escaped + '"""';
}
function stringifyAnyInline(value, multilineOk) {
let type2 = tomlType2(value);
if (type2 === "string") {
if (multilineOk && /\n/.test(value)) {
type2 = "string-multiline";
} else if (!/[\b\t\n\f\r']/.test(value) && /"/.test(value)) {
type2 = "string-literal";
}
}
return stringifyInline(value, type2);
}
function stringifyInline(value, type2) {
if (!type2) type2 = tomlType2(value);
switch (type2) {
case "string-multiline":
return stringifyMultilineString(value);
case "string":
return stringifyBasicString(value);
case "string-literal":
return stringifyLiteralString(value);
case "integer":
return stringifyInteger(value);
case "float":
return stringifyFloat(value);
case "boolean":
return stringifyBoolean(value);
case "datetime":
return stringifyDatetime(value);
case "array":
return stringifyInlineArray(value.filter((_) => tomlType2(_) !== "null" && tomlType2(_) !== "undefined" && tomlType2(_) !== "nan"));
case "table":
return stringifyInlineTable(value);
/* istanbul ignore next */
default:
throw typeError(type2);
}
}
function stringifyInteger(value) {
return String(value).replace(/\B(?=(\d{3})+(?!\d))/g, "_");
}
function stringifyFloat(value) {
if (value === Infinity) {
return "inf";
} else if (value === -Infinity) {
return "-inf";
} else if (Object.is(value, NaN)) {
return "nan";
} else if (Object.is(value, -0)) {
return "-0.0";
}
var chunks = String(value).split(".");
var int3 = chunks[0];
var dec = chunks[1] || 0;
return stringifyInteger(int3) + "." + dec;
}
function stringifyBoolean(value) {
return String(value);
}
function stringifyDatetime(value) {
return value.toISOString();
}
function isNumber3(type2) {
return type2 === "float" || type2 === "integer";
}
function arrayType(values) {
var contentType = tomlType2(values[0]);
if (values.every((_) => tomlType2(_) === contentType)) return contentType;
if (values.every((_) => isNumber3(tomlType2(_)))) return "float";
return "mixed";
}
function validateArray(values) {
const type2 = arrayType(values);
if (type2 === "mixed") {
throw arrayOneTypeError();
}
return type2;
}
function stringifyInlineArray(values) {
values = toJSON(values);
const type2 = validateArray(values);
var result2 = "[";
var stringified = values.map((_) => stringifyInline(_, type2));
if (stringified.join(", ").length > 60 || /\n/.test(stringified)) {
result2 += "\n " + stringified.join(",\n ") + "\n";
} else {
result2 += " " + stringified.join(", ") + (stringified.length > 0 ? " " : "");
}
return result2 + "]";
}
function stringifyInlineTable(value) {
value = toJSON(value);
var result2 = [];
Object.keys(value).forEach((key) => {
result2.push(stringifyKey(key) + " = " + stringifyAnyInline(value[key], false));
});
return "{ " + result2.join(", ") + (result2.length > 0 ? " " : "") + "}";
}
function stringifyComplex(prefix, indent, key, value) {
var valueType = tomlType2(value);
if (valueType === "array") {
return stringifyArrayOfTables(prefix, indent, key, value);
} else if (valueType === "table") {
return stringifyComplexTable(prefix, indent, key, value);
} else {
throw typeError(valueType);
}
}
function stringifyArrayOfTables(prefix, indent, key, values) {
values = toJSON(values);
validateArray(values);
var firstValueType = tomlType2(values[0]);
if (firstValueType !== "table") throw typeError(firstValueType);
var fullKey = prefix + stringifyKey(key);
var result2 = "";
values.forEach((table) => {
if (result2.length > 0) result2 += "\n";
result2 += indent + "[[" + fullKey + "]]\n";
result2 += stringifyObject(fullKey + ".", indent, table);
});
return result2;
}
function stringifyComplexTable(prefix, indent, key, value) {
var fullKey = prefix + stringifyKey(key);
var result2 = "";
if (getInlineKeys(value).length > 0) {
result2 += indent + "[" + fullKey + "]\n";
}
return result2 + stringifyObject(fullKey + ".", indent, value);
}
}
});
// node_modules/@iarna/toml/toml.js
var require_toml = __commonJS({
"node_modules/@iarna/toml/toml.js"(exports2) {
"use strict";
exports2.parse = require_parse();
exports2.stringify = require_stringify();
}
});
// node_modules/shell-quote/quote.js
var require_quote = __commonJS({
"node_modules/shell-quote/quote.js"(exports2, module2) {
"use strict";
module2.exports = function quote2(xs) {
return xs.map(function(s2) {
if (s2 === "") {
return "''";
}
if (s2 && typeof s2 === "object") {
return s2.op.replace(/(.)/g, "\\$1");
}
if (/["\s\\]/.test(s2) && !/'/.test(s2)) {
return "'" + s2.replace(/(['])/g, "\\$1") + "'";
}
if (/["'\s]/.test(s2)) {
return '"' + s2.replace(/(["\\$`!])/g, "\\$1") + '"';
}
return String(s2).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g, "$1\\$2");
}).join(" ");
};
}
});
// node_modules/shell-quote/parse.js
var require_parse2 = __commonJS({
"node_modules/shell-quote/parse.js"(exports2, module2) {
"use strict";
var CONTROL = "(?:" + [
"\\|\\|",
"\\&\\&",
";;",
"\\|\\&",
"\\<\\(",
"\\<\\<\\<",
">>",
">\\&",
"<\\&",
"[&;()|<>]"
].join("|") + ")";
var controlRE = new RegExp("^" + CONTROL + "$");
var META = "|&;()<> \\t";
var SINGLE_QUOTE = '"((\\\\"|[^"])*?)"';
var DOUBLE_QUOTE = "'((\\\\'|[^'])*?)'";
var hash = /^#$/;
var SQ = "'";
var DQ = '"';
var DS = "$";
var TOKEN = "";
var mult = 4294967296;
for (i3 = 0; i3 < 4; i3++) {
TOKEN += (mult * Math.random()).toString(16);
}
var i3;
var startsWithToken = new RegExp("^" + TOKEN);
function matchAll(s2, r2) {
var origIndex = r2.lastIndex;
var matches = [];
var matchObj;
while (matchObj = r2.exec(s2)) {
matches.push(matchObj);
if (r2.lastIndex === matchObj.index) {
r2.lastIndex += 1;
}
}
r2.lastIndex = origIndex;
return matches;
}
function getVar(env2, pre, key) {
var r2 = typeof env2 === "function" ? env2(key) : env2[key];
if (typeof r2 === "undefined" && key != "") {
r2 = "";
} else if (typeof r2 === "undefined") {
r2 = "$";
}
if (typeof r2 === "object") {
return pre + TOKEN + JSON.stringify(r2) + TOKEN;
}
return pre + r2;
}
function parseInternal(string4, env2, opts) {
if (!opts) {
opts = {};
}
var BS = opts.escape || "\\";
var BAREWORD = "(\\" + BS + `['"` + META + `]|[^\\s'"` + META + "])+";
var chunker = new RegExp([
"(" + CONTROL + ")",
// control chars
"(" + BAREWORD + "|" + SINGLE_QUOTE + "|" + DOUBLE_QUOTE + ")+"
].join("|"), "g");
var matches = matchAll(string4, chunker);
if (matches.length === 0) {
return [];
}
if (!env2) {
env2 = {};
}
var commented = false;
return matches.map(function(match2) {
var s2 = match2[0];
if (!s2 || commented) {
return void 0;
}
if (controlRE.test(s2)) {
return { op: s2 };
}
var quote2 = false;
var esc2 = false;
var out2 = "";
var isGlob = false;
var i4;
function parseEnvVar() {
i4 += 1;
var varend;
var varname;
var char = s2.charAt(i4);
if (char === "{") {
i4 += 1;
if (s2.charAt(i4) === "}") {
throw new Error("Bad substitution: " + s2.slice(i4 - 2, i4 + 1));
}
varend = s2.indexOf("}", i4);
if (varend < 0) {
throw new Error("Bad substitution: " + s2.slice(i4));
}
varname = s2.slice(i4, varend);
i4 = varend;
} else if (/[*@#?$!_-]/.test(char)) {
varname = char;
i4 += 1;
} else {
var slicedFromI = s2.slice(i4);
varend = slicedFromI.match(/[^\w\d_]/);
if (!varend) {
varname = slicedFromI;
i4 = s2.length;
} else {
varname = slicedFromI.slice(0, varend.index);
i4 += varend.index - 1;
}
}
return getVar(env2, "", varname);
}
for (i4 = 0; i4 < s2.length; i4++) {
var c4 = s2.charAt(i4);
isGlob = isGlob || !quote2 && (c4 === "*" || c4 === "?");
if (esc2) {
out2 += c4;
esc2 = false;
} else if (quote2) {
if (c4 === quote2) {
quote2 = false;
} else if (quote2 == SQ) {
out2 += c4;
} else {
if (c4 === BS) {
i4 += 1;
c4 = s2.charAt(i4);
if (c4 === DQ || c4 === BS || c4 === DS) {
out2 += c4;
} else {
out2 += BS + c4;
}
} else if (c4 === DS) {
out2 += parseEnvVar();
} else {
out2 += c4;
}
}
} else if (c4 === DQ || c4 === SQ) {
quote2 = c4;
} else if (controlRE.test(c4)) {
return { op: s2 };
} else if (hash.test(c4)) {
commented = true;
var commentObj = { comment: string4.slice(match2.index + i4 + 1) };
if (out2.length) {
return [out2, commentObj];
}
return [commentObj];
} else if (c4 === BS) {
esc2 = true;
} else if (c4 === DS) {
out2 += parseEnvVar();
} else {
out2 += c4;
}
}
if (isGlob) {
return { op: "glob", pattern: out2 };
}
return out2;
}).reduce(function(prev, arg) {
return typeof arg === "undefined" ? prev : prev.concat(arg);
}, []);
}
module2.exports = function parse8(s2, env2, opts) {
var mapped = parseInternal(s2, env2, opts);
if (typeof env2 !== "function") {
return mapped;
}
return mapped.reduce(function(acc, s3) {
if (typeof s3 === "object") {
return acc.concat(s3);
}
var xs = s3.split(RegExp("(" + TOKEN + ".*?" + TOKEN + ")", "g"));
if (xs.length === 1) {
return acc.concat(xs[0]);
}
return acc.concat(xs.filter(Boolean).map(function(x) {
if (startsWithToken.test(x)) {
return JSON.parse(x.split(TOKEN)[1]);
}
return x;
}));
}, []);
};
}
});
// node_modules/shell-quote/index.js
var require_shell_quote = __commonJS({
"node_modules/shell-quote/index.js"(exports2) {
"use strict";
exports2.quote = require_quote();
exports2.parse = require_parse2();
}
});
// node_modules/isbinaryfile/lib/index.js
var require_lib = __commonJS({
"node_modules/isbinaryfile/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isBinaryFileSync = exports2.isBinaryFile = void 0;
var fs84 = __require("fs");
var util_1 = __require("util");
var statAsync = (0, util_1.promisify)(fs84.stat);
var openAsync = (0, util_1.promisify)(fs84.open);
var closeAsync = (0, util_1.promisify)(fs84.close);
var MAX_BYTES = 512;
var UTF8_BOUNDARY_RESERVE = 3;
var Reader = class {
fileBuffer;
size;
offset;
error;
constructor(fileBuffer, size) {
this.fileBuffer = fileBuffer;
this.size = size;
this.offset = 0;
this.error = false;
}
hasError() {
return this.error;
}
nextByte() {
if (this.offset === this.size || this.hasError()) {
this.error = true;
return 255;
}
return this.fileBuffer[this.offset++];
}
next(len) {
const n3 = new Array();
for (let i3 = 0; i3 < len; i3++) {
if (this.error) {
return n3;
}
n3[i3] = this.nextByte();
}
return n3;
}
};
function readProtoVarInt(reader) {
let idx = 0;
let varInt = 0;
while (!reader.hasError()) {
const b = reader.nextByte();
varInt = varInt | (b & 127) << 7 * idx;
if ((b & 128) === 0) {
break;
}
if (idx >= 10) {
reader.error = true;
break;
}
idx++;
}
return varInt;
}
function readProtoMessage(reader) {
const varInt = readProtoVarInt(reader);
const wireType = varInt & 7;
switch (wireType) {
case 0:
readProtoVarInt(reader);
return true;
case 1:
reader.next(8);
return true;
case 2:
const len = readProtoVarInt(reader);
reader.next(len);
return true;
case 5:
reader.next(4);
return true;
}
return false;
}
function isBinaryProto(fileBuffer, totalBytes) {
const reader = new Reader(fileBuffer, totalBytes);
let numMessages = 0;
while (true) {
if (!readProtoMessage(reader) && !reader.hasError()) {
return false;
}
if (reader.hasError()) {
break;
}
numMessages++;
}
return numMessages > 0;
}
async function isBinaryFile2(file2, size) {
if (isString2(file2)) {
const stat9 = await statAsync(file2);
isStatFile(stat9);
const fileDescriptor = await openAsync(file2, "r");
const allocBuffer = Buffer.alloc(MAX_BYTES + UTF8_BOUNDARY_RESERVE);
return new Promise((fulfill, reject) => {
fs84.read(fileDescriptor, allocBuffer, 0, MAX_BYTES + UTF8_BOUNDARY_RESERVE, 0, (err2, bytesRead, _) => {
closeAsync(fileDescriptor);
if (err2) {
reject(err2);
} else {
try {
fulfill(isBinaryCheck(allocBuffer, bytesRead));
} catch (error40) {
reject(error40);
}
}
});
});
} else {
if (size === void 0) {
size = file2.length;
}
return isBinaryCheck(file2, size);
}
}
exports2.isBinaryFile = isBinaryFile2;
function isBinaryFileSync(file2, size) {
if (isString2(file2)) {
const stat9 = fs84.statSync(file2);
isStatFile(stat9);
const fileDescriptor = fs84.openSync(file2, "r");
const allocBuffer = Buffer.alloc(MAX_BYTES + UTF8_BOUNDARY_RESERVE);
const bytesRead = fs84.readSync(fileDescriptor, allocBuffer, 0, MAX_BYTES + UTF8_BOUNDARY_RESERVE, 0);
fs84.closeSync(fileDescriptor);
return isBinaryCheck(allocBuffer, bytesRead);
} else {
if (size === void 0) {
size = file2.length;
}
return isBinaryCheck(file2, size);
}
}
exports2.isBinaryFileSync = isBinaryFileSync;
function isBinaryCheck(fileBuffer, bytesRead) {
if (bytesRead === 0) {
return false;
}
let suspiciousBytes = 0;
const totalBytes = Math.min(bytesRead, MAX_BYTES + UTF8_BOUNDARY_RESERVE);
const scanBytes = Math.min(totalBytes, MAX_BYTES);
if (bytesRead >= 3 && fileBuffer[0] === 239 && fileBuffer[1] === 187 && fileBuffer[2] === 191) {
return false;
}
if (bytesRead >= 4 && fileBuffer[0] === 0 && fileBuffer[1] === 0 && fileBuffer[2] === 254 && fileBuffer[3] === 255) {
return false;
}
if (bytesRead >= 4 && fileBuffer[0] === 255 && fileBuffer[1] === 254 && fileBuffer[2] === 0 && fileBuffer[3] === 0) {
return false;
}
if (bytesRead >= 4 && fileBuffer[0] === 132 && fileBuffer[1] === 49 && fileBuffer[2] === 149 && fileBuffer[3] === 51) {
return false;
}
if (totalBytes >= 5 && fileBuffer.slice(0, 5).toString() === "%PDF-") {
return true;
}
if (bytesRead >= 2 && fileBuffer[0] === 254 && fileBuffer[1] === 255) {
return false;
}
if (bytesRead >= 2 && fileBuffer[0] === 255 && fileBuffer[1] === 254) {
return false;
}
for (let i3 = 0; i3 < scanBytes; i3++) {
if (fileBuffer[i3] === 0) {
return true;
} else if ((fileBuffer[i3] < 7 || fileBuffer[i3] > 14) && (fileBuffer[i3] < 32 || fileBuffer[i3] > 127)) {
if (fileBuffer[i3] >= 192 && fileBuffer[i3] <= 223 && i3 + 1 < totalBytes) {
i3++;
if (fileBuffer[i3] >= 128 && fileBuffer[i3] <= 191) {
continue;
}
} else if (fileBuffer[i3] >= 224 && fileBuffer[i3] <= 239 && i3 + 2 < totalBytes) {
i3++;
if (fileBuffer[i3] >= 128 && fileBuffer[i3] <= 191 && fileBuffer[i3 + 1] >= 128 && fileBuffer[i3 + 1] <= 191) {
i3++;
continue;
}
} else if (fileBuffer[i3] >= 240 && fileBuffer[i3] <= 247 && i3 + 3 < totalBytes) {
i3++;
if (fileBuffer[i3] >= 128 && fileBuffer[i3] <= 191 && fileBuffer[i3 + 1] >= 128 && fileBuffer[i3 + 1] <= 191 && fileBuffer[i3 + 2] >= 128 && fileBuffer[i3 + 2] <= 191) {
i3 += 2;
continue;
}
}
suspiciousBytes++;
if (i3 >= 32 && suspiciousBytes * 100 / scanBytes > 10) {
return true;
}
}
}
if (suspiciousBytes * 100 / scanBytes > 10) {
return true;
}
if (suspiciousBytes > 1 && isBinaryProto(fileBuffer, scanBytes)) {
return true;
}
return false;
}
function isString2(x) {
return typeof x === "string";
}
function isStatFile(stat9) {
if (!stat9.isFile()) {
throw new Error(`Path provided was not a file!`);
}
}
}
});
// node_modules/mnemonist/utils/comparators.js
var require_comparators = __commonJS({
"node_modules/mnemonist/utils/comparators.js"(exports2) {
var DEFAULT_COMPARATOR = function(a2, b) {
if (a2 < b)
return -1;
if (a2 > b)
return 1;
return 0;
};
var DEFAULT_REVERSE_COMPARATOR = function(a2, b) {
if (a2 < b)
return 1;
if (a2 > b)
return -1;
return 0;
};
function reverseComparator(comparator) {
return function(a2, b) {
return comparator(b, a2);
};
}
function createTupleComparator(size) {
if (size === 2) {
return function(a2, b) {
if (a2[0] < b[0])
return -1;
if (a2[0] > b[0])
return 1;
if (a2[1] < b[1])
return -1;
if (a2[1] > b[1])
return 1;
return 0;
};
}
return function(a2, b) {
var i3 = 0;
while (i3 < size) {
if (a2[i3] < b[i3])
return -1;
if (a2[i3] > b[i3])
return 1;
i3++;
}
return 0;
};
}
exports2.DEFAULT_COMPARATOR = DEFAULT_COMPARATOR;
exports2.DEFAULT_REVERSE_COMPARATOR = DEFAULT_REVERSE_COMPARATOR;
exports2.reverseComparator = reverseComparator;
exports2.createTupleComparator = createTupleComparator;
}
});
// node_modules/obliterator/support.js
var require_support = __commonJS({
"node_modules/obliterator/support.js"(exports2) {
exports2.ARRAY_BUFFER_SUPPORT = typeof ArrayBuffer !== "undefined";
exports2.SYMBOL_SUPPORT = typeof Symbol !== "undefined";
}
});
// node_modules/obliterator/foreach.js
var require_foreach = __commonJS({
"node_modules/obliterator/foreach.js"(exports2, module2) {
var support = require_support();
var ARRAY_BUFFER_SUPPORT = support.ARRAY_BUFFER_SUPPORT;
var SYMBOL_SUPPORT = support.SYMBOL_SUPPORT;
module2.exports = function forEach2(iterable, callback) {
var iterator, k, i3, l2, s2;
if (!iterable) throw new Error("obliterator/forEach: invalid iterable.");
if (typeof callback !== "function")
throw new Error("obliterator/forEach: expecting a callback.");
if (Array.isArray(iterable) || ARRAY_BUFFER_SUPPORT && ArrayBuffer.isView(iterable) || typeof iterable === "string" || iterable.toString() === "[object Arguments]") {
for (i3 = 0, l2 = iterable.length; i3 < l2; i3++) callback(iterable[i3], i3);
return;
}
if (typeof iterable.forEach === "function") {
iterable.forEach(callback);
return;
}
if (SYMBOL_SUPPORT && Symbol.iterator in iterable && typeof iterable.next !== "function") {
iterable = iterable[Symbol.iterator]();
}
if (typeof iterable.next === "function") {
iterator = iterable;
i3 = 0;
while (s2 = iterator.next(), s2.done !== true) {
callback(s2.value, i3);
i3++;
}
return;
}
for (k in iterable) {
if (iterable.hasOwnProperty(k)) {
callback(iterable[k], k);
}
}
return;
};
}
});
// node_modules/mnemonist/fibonacci-heap.js
var require_fibonacci_heap = __commonJS({
"node_modules/mnemonist/fibonacci-heap.js"(exports2, module2) {
var comparators = require_comparators();
var forEach2 = require_foreach();
var DEFAULT_COMPARATOR = comparators.DEFAULT_COMPARATOR;
var reverseComparator = comparators.reverseComparator;
function FibonacciHeap2(comparator) {
this.clear();
this.comparator = comparator || DEFAULT_COMPARATOR;
if (typeof this.comparator !== "function")
throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.");
}
FibonacciHeap2.prototype.clear = function() {
this.root = null;
this.min = null;
this.size = 0;
};
function createNode(item) {
return {
item,
degree: 0
};
}
function mergeWithRoot(heap, node) {
if (!heap.root) {
heap.root = node;
} else {
node.right = heap.root.right;
node.left = heap.root;
heap.root.right.left = node;
heap.root.right = node;
}
}
FibonacciHeap2.prototype.push = function(item) {
var node = createNode(item);
node.left = node;
node.right = node;
mergeWithRoot(this, node);
if (!this.min || this.comparator(node.item, this.min.item) <= 0)
this.min = node;
return ++this.size;
};
FibonacciHeap2.prototype.peek = function() {
return this.min ? this.min.item : void 0;
};
function consumeLinkedList(head) {
var nodes = [], node = head, flag = false;
while (true) {
if (node === head && flag)
break;
else if (node === head)
flag = true;
nodes.push(node);
node = node.right;
}
return nodes;
}
function removeFromRoot(heap, node) {
if (heap.root === node)
heap.root = node.right;
node.left.right = node.right;
node.right.left = node.left;
}
function mergeWithChild(parent, node) {
if (!parent.child) {
parent.child = node;
} else {
node.right = parent.child.right;
node.left = parent.child;
parent.child.right.left = node;
parent.child.right = node;
}
}
function link(heap, y, x) {
removeFromRoot(heap, y);
y.left = y;
y.right = y;
mergeWithChild(x, y);
x.degree++;
y.parent = x;
}
function consolidate(heap) {
var A = new Array(heap.size), nodes = consumeLinkedList(heap.root), i3, l2, x, y, d, t2;
for (i3 = 0, l2 = nodes.length; i3 < l2; i3++) {
x = nodes[i3];
d = x.degree;
while (A[d]) {
y = A[d];
if (heap.comparator(x.item, y.item) > 0) {
t2 = x;
x = y;
y = t2;
}
link(heap, y, x);
A[d] = null;
d++;
}
A[d] = x;
}
for (i3 = 0; i3 < heap.size; i3++) {
if (A[i3] && heap.comparator(A[i3].item, heap.min.item) <= 0)
heap.min = A[i3];
}
}
FibonacciHeap2.prototype.pop = function() {
if (!this.size)
return void 0;
var z = this.min;
if (z.child) {
var nodes = consumeLinkedList(z.child), node, i3, l2;
for (i3 = 0, l2 = nodes.length; i3 < l2; i3++) {
node = nodes[i3];
mergeWithRoot(this, node);
delete node.parent;
}
}
removeFromRoot(this, z);
if (z === z.right) {
this.min = null;
this.root = null;
} else {
this.min = z.right;
consolidate(this);
}
this.size--;
return z.item;
};
FibonacciHeap2.prototype.inspect = function() {
var proxy2 = {
size: this.size
};
if (this.min && "item" in this.min)
proxy2.top = this.min.item;
Object.defineProperty(proxy2, "constructor", {
value: FibonacciHeap2,
enumerable: false
});
return proxy2;
};
if (typeof Symbol !== "undefined")
FibonacciHeap2.prototype[Symbol.for("nodejs.util.inspect.custom")] = FibonacciHeap2.prototype.inspect;
function MaxFibonacciHeap2(comparator) {
this.clear();
this.comparator = comparator || DEFAULT_COMPARATOR;
if (typeof this.comparator !== "function")
throw new Error("mnemonist/FibonacciHeap.constructor: given comparator should be a function.");
this.comparator = reverseComparator(this.comparator);
}
MaxFibonacciHeap2.prototype = FibonacciHeap2.prototype;
FibonacciHeap2.from = function(iterable, comparator) {
var heap = new FibonacciHeap2(comparator);
forEach2(iterable, function(value) {
heap.push(value);
});
return heap;
};
MaxFibonacciHeap2.from = function(iterable, comparator) {
var heap = new MaxFibonacciHeap2(comparator);
forEach2(iterable, function(value) {
heap.push(value);
});
return heap;
};
FibonacciHeap2.MinFibonacciHeap = FibonacciHeap2;
FibonacciHeap2.MaxFibonacciHeap = MaxFibonacciHeap2;
module2.exports = FibonacciHeap2;
}
});
// node_modules/mnemonist/utils/typed-arrays.js
var require_typed_arrays = __commonJS({
"node_modules/mnemonist/utils/typed-arrays.js"(exports2) {
var MAX_8BIT_INTEGER = Math.pow(2, 8) - 1;
var MAX_16BIT_INTEGER = Math.pow(2, 16) - 1;
var MAX_32BIT_INTEGER = Math.pow(2, 32) - 1;
var MAX_SIGNED_8BIT_INTEGER = Math.pow(2, 7) - 1;
var MAX_SIGNED_16BIT_INTEGER = Math.pow(2, 15) - 1;
var MAX_SIGNED_32BIT_INTEGER = Math.pow(2, 31) - 1;
exports2.getPointerArray = function(size) {
var maxIndex = size - 1;
if (maxIndex <= MAX_8BIT_INTEGER)
return Uint8Array;
if (maxIndex <= MAX_16BIT_INTEGER)
return Uint16Array;
if (maxIndex <= MAX_32BIT_INTEGER)
return Uint32Array;
throw new Error("mnemonist: Pointer Array of size > 4294967295 is not supported.");
};
exports2.getSignedPointerArray = function(size) {
var maxIndex = size - 1;
if (maxIndex <= MAX_SIGNED_8BIT_INTEGER)
return Int8Array;
if (maxIndex <= MAX_SIGNED_16BIT_INTEGER)
return Int16Array;
if (maxIndex <= MAX_SIGNED_32BIT_INTEGER)
return Int32Array;
return Float64Array;
};
exports2.getNumberType = function(value) {
if (value === (value | 0)) {
if (Math.sign(value) === -1) {
if (value <= 127 && value >= -128)
return Int8Array;
if (value <= 32767 && value >= -32768)
return Int16Array;
return Int32Array;
} else {
if (value <= 255)
return Uint8Array;
if (value <= 65535)
return Uint16Array;
return Uint32Array;
}
}
return Float64Array;
};
var TYPE_PRIORITY = {
Uint8Array: 1,
Int8Array: 2,
Uint16Array: 3,
Int16Array: 4,
Uint32Array: 5,
Int32Array: 6,
Float32Array: 7,
Float64Array: 8
};
exports2.getMinimalRepresentation = function(array2, getter) {
var maxType = null, maxPriority = 0, p, t2, v, i3, l2;
for (i3 = 0, l2 = array2.length; i3 < l2; i3++) {
v = getter ? getter(array2[i3]) : array2[i3];
t2 = exports2.getNumberType(v);
p = TYPE_PRIORITY[t2.name];
if (p > maxPriority) {
maxPriority = p;
maxType = t2;
}
}
return maxType;
};
exports2.isTypedArray = function(value) {
return typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView(value);
};
exports2.concat = function() {
var length = 0, i3, o3, l2;
for (i3 = 0, l2 = arguments.length; i3 < l2; i3++)
length += arguments[i3].length;
var array2 = new arguments[0].constructor(length);
for (i3 = 0, o3 = 0; i3 < l2; i3++) {
array2.set(arguments[i3], o3);
o3 += arguments[i3].length;
}
return array2;
};
exports2.indices = function(length) {
var PointerArray = exports2.getPointerArray(length);
var array2 = new PointerArray(length);
for (var i3 = 0; i3 < length; i3++)
array2[i3] = i3;
return array2;
};
}
});
// node_modules/mnemonist/utils/iterables.js
var require_iterables = __commonJS({
"node_modules/mnemonist/utils/iterables.js"(exports2) {
var forEach2 = require_foreach();
var typed = require_typed_arrays();
function isArrayLike2(target) {
return Array.isArray(target) || typed.isTypedArray(target);
}
function guessLength(target) {
if (typeof target.length === "number")
return target.length;
if (typeof target.size === "number")
return target.size;
return;
}
function toArray2(target) {
var l2 = guessLength(target);
var array2 = typeof l2 === "number" ? new Array(l2) : [];
var i3 = 0;
forEach2(target, function(value) {
array2[i3++] = value;
});
return array2;
}
function toArrayWithIndices(target) {
var l2 = guessLength(target);
var IndexArray = typeof l2 === "number" ? typed.getPointerArray(l2) : Array;
var array2 = typeof l2 === "number" ? new Array(l2) : [];
var indices = typeof l2 === "number" ? new IndexArray(l2) : [];
var i3 = 0;
forEach2(target, function(value) {
array2[i3] = value;
indices[i3] = i3++;
});
return [array2, indices];
}
exports2.isArrayLike = isArrayLike2;
exports2.guessLength = guessLength;
exports2.toArray = toArray2;
exports2.toArrayWithIndices = toArrayWithIndices;
}
});
// node_modules/mnemonist/heap.js
var require_heap = __commonJS({
"node_modules/mnemonist/heap.js"(exports2, module2) {
var forEach2 = require_foreach();
var comparators = require_comparators();
var iterables = require_iterables();
var DEFAULT_COMPARATOR = comparators.DEFAULT_COMPARATOR;
var reverseComparator = comparators.reverseComparator;
function siftDown(compare, heap, startIndex, i3) {
var item = heap[i3], parentIndex, parent;
while (i3 > startIndex) {
parentIndex = i3 - 1 >> 1;
parent = heap[parentIndex];
if (compare(item, parent) < 0) {
heap[i3] = parent;
i3 = parentIndex;
continue;
}
break;
}
heap[i3] = item;
}
function siftUp(compare, heap, i3) {
var endIndex = heap.length, startIndex = i3, item = heap[i3], childIndex = 2 * i3 + 1, rightIndex;
while (childIndex < endIndex) {
rightIndex = childIndex + 1;
if (rightIndex < endIndex && compare(heap[childIndex], heap[rightIndex]) >= 0) {
childIndex = rightIndex;
}
heap[i3] = heap[childIndex];
i3 = childIndex;
childIndex = 2 * i3 + 1;
}
heap[i3] = item;
siftDown(compare, heap, startIndex, i3);
}
function push(compare, heap, item) {
heap.push(item);
siftDown(compare, heap, 0, heap.length - 1);
}
function pop(compare, heap) {
var lastItem = heap.pop();
if (heap.length !== 0) {
var item = heap[0];
heap[0] = lastItem;
siftUp(compare, heap, 0);
return item;
}
return lastItem;
}
function replace(compare, heap, item) {
if (heap.length === 0)
throw new Error("mnemonist/heap.replace: cannot pop an empty heap.");
var popped = heap[0];
heap[0] = item;
siftUp(compare, heap, 0);
return popped;
}
function pushpop(compare, heap, item) {
var tmp;
if (heap.length !== 0 && compare(heap[0], item) < 0) {
tmp = heap[0];
heap[0] = item;
item = tmp;
siftUp(compare, heap, 0);
}
return item;
}
function heapify(compare, array2) {
var n3 = array2.length, l2 = n3 >> 1, i3 = l2;
while (--i3 >= 0)
siftUp(compare, array2, i3);
}
function consume(compare, heap) {
var l2 = heap.length, i3 = 0;
var array2 = new Array(l2);
while (i3 < l2)
array2[i3++] = pop(compare, heap);
return array2;
}
function nsmallest(compare, n3, iterable) {
if (arguments.length === 2) {
iterable = n3;
n3 = compare;
compare = DEFAULT_COMPARATOR;
}
var reverseCompare = reverseComparator(compare);
var i3, l2, v;
var min = Infinity;
var result2;
if (n3 === 1) {
if (iterables.isArrayLike(iterable)) {
for (i3 = 0, l2 = iterable.length; i3 < l2; i3++) {
v = iterable[i3];
if (min === Infinity || compare(v, min) < 0)
min = v;
}
result2 = new iterable.constructor(1);
result2[0] = min;
return result2;
}
forEach2(iterable, function(value) {
if (min === Infinity || compare(value, min) < 0)
min = value;
});
return [min];
}
if (iterables.isArrayLike(iterable)) {
if (n3 >= iterable.length)
return iterable.slice().sort(compare);
result2 = iterable.slice(0, n3);
heapify(reverseCompare, result2);
for (i3 = n3, l2 = iterable.length; i3 < l2; i3++)
if (reverseCompare(iterable[i3], result2[0]) > 0)
replace(reverseCompare, result2, iterable[i3]);
return result2.sort(compare);
}
var size = iterables.guessLength(iterable);
if (size !== null && size < n3)
n3 = size;
result2 = new Array(n3);
i3 = 0;
forEach2(iterable, function(value) {
if (i3 < n3) {
result2[i3] = value;
} else {
if (i3 === n3)
heapify(reverseCompare, result2);
if (reverseCompare(value, result2[0]) > 0)
replace(reverseCompare, result2, value);
}
i3++;
});
if (result2.length > i3)
result2.length = i3;
return result2.sort(compare);
}
function nlargest(compare, n3, iterable) {
if (arguments.length === 2) {
iterable = n3;
n3 = compare;
compare = DEFAULT_COMPARATOR;
}
var reverseCompare = reverseComparator(compare);
var i3, l2, v;
var max = -Infinity;
var result2;
if (n3 === 1) {
if (iterables.isArrayLike(iterable)) {
for (i3 = 0, l2 = iterable.length; i3 < l2; i3++) {
v = iterable[i3];
if (max === -Infinity || compare(v, max) > 0)
max = v;
}
result2 = new iterable.constructor(1);
result2[0] = max;
return result2;
}
forEach2(iterable, function(value) {
if (max === -Infinity || compare(value, max) > 0)
max = value;
});
return [max];
}
if (iterables.isArrayLike(iterable)) {
if (n3 >= iterable.length)
return iterable.slice().sort(reverseCompare);
result2 = iterable.slice(0, n3);
heapify(compare, result2);
for (i3 = n3, l2 = iterable.length; i3 < l2; i3++)
if (compare(iterable[i3], result2[0]) > 0)
replace(compare, result2, iterable[i3]);
return result2.sort(reverseCompare);
}
var size = iterables.guessLength(iterable);
if (size !== null && size < n3)
n3 = size;
result2 = new Array(n3);
i3 = 0;
forEach2(iterable, function(value) {
if (i3 < n3) {
result2[i3] = value;
} else {
if (i3 === n3)
heapify(compare, result2);
if (compare(value, result2[0]) > 0)
replace(compare, result2, value);
}
i3++;
});
if (result2.length > i3)
result2.length = i3;
return result2.sort(reverseCompare);
}
function Heap2(comparator) {
this.clear();
this.comparator = comparator || DEFAULT_COMPARATOR;
if (typeof this.comparator !== "function")
throw new Error("mnemonist/Heap.constructor: given comparator should be a function.");
}
Heap2.prototype.clear = function() {
this.items = [];
this.size = 0;
};
Heap2.prototype.push = function(item) {
push(this.comparator, this.items, item);
return ++this.size;
};
Heap2.prototype.peek = function() {
return this.items[0];
};
Heap2.prototype.pop = function() {
if (this.size !== 0)
this.size--;
return pop(this.comparator, this.items);
};
Heap2.prototype.replace = function(item) {
return replace(this.comparator, this.items, item);
};
Heap2.prototype.pushpop = function(item) {
return pushpop(this.comparator, this.items, item);
};
Heap2.prototype.consume = function() {
this.size = 0;
return consume(this.comparator, this.items);
};
Heap2.prototype.toArray = function() {
return consume(this.comparator, this.items.slice());
};
Heap2.prototype.inspect = function() {
var proxy2 = this.toArray();
Object.defineProperty(proxy2, "constructor", {
value: Heap2,
enumerable: false
});
return proxy2;
};
if (typeof Symbol !== "undefined")
Heap2.prototype[Symbol.for("nodejs.util.inspect.custom")] = Heap2.prototype.inspect;
function MaxHeap2(comparator) {
this.clear();
this.comparator = comparator || DEFAULT_COMPARATOR;
if (typeof this.comparator !== "function")
throw new Error("mnemonist/MaxHeap.constructor: given comparator should be a function.");
this.comparator = reverseComparator(this.comparator);
}
MaxHeap2.prototype = Heap2.prototype;
Heap2.from = function(iterable, comparator) {
var heap = new Heap2(comparator);
var items;
if (iterables.isArrayLike(iterable))
items = iterable.slice();
else
items = iterables.toArray(iterable);
heapify(heap.comparator, items);
heap.items = items;
heap.size = items.length;
return heap;
};
MaxHeap2.from = function(iterable, comparator) {
var heap = new MaxHeap2(comparator);
var items;
if (iterables.isArrayLike(iterable))
items = iterable.slice();
else
items = iterables.toArray(iterable);
heapify(heap.comparator, items);
heap.items = items;
heap.size = items.length;
return heap;
};
Heap2.siftUp = siftUp;
Heap2.siftDown = siftDown;
Heap2.push = push;
Heap2.pop = pop;
Heap2.replace = replace;
Heap2.pushpop = pushpop;
Heap2.heapify = heapify;
Heap2.consume = consume;
Heap2.nsmallest = nsmallest;
Heap2.nlargest = nlargest;
Heap2.MinHeap = Heap2;
Heap2.MaxHeap = MaxHeap2;
module2.exports = Heap2;
}
});
// node_modules/mnemonist/suffix-array.js
var require_suffix_array = __commonJS({
"node_modules/mnemonist/suffix-array.js"(exports2, module2) {
var SEPARATOR = "";
function sort(string4, array2, offset) {
var l2 = array2.length, buckets = [], i3 = l2, j = -1, b, d = 0, bits;
while (i3--)
j = Math.max(string4[array2[i3] + offset], j);
bits = j >> 24 && 32 || j >> 16 && 24 || j >> 8 && 16 || 8;
for (; d < bits; d += 4) {
for (i3 = 16; i3--; )
buckets[i3] = [];
for (i3 = l2; i3--; )
buckets[string4[array2[i3] + offset] >> d & 15].push(array2[i3]);
for (b = 0; b < 16; b++) {
for (j = buckets[b].length; j--; )
array2[++i3] = buckets[b][j];
}
}
}
function compare(string4, lookup2, m, n3) {
return string4[m] - string4[n3] || (m % 3 === 2 ? string4[m + 1] - string4[n3 + 1] || lookup2[m + 2] - lookup2[n3 + 2] : lookup2[m + 1] - lookup2[n3 + 1]);
}
function build(string4, l2) {
var a2 = [], b = [], al = 2 * l2 / 3 | 0, bl = l2 - al, r2 = al + 1 >> 1, i3 = al, j = 0, k, lookup2 = [], result2 = [];
if (l2 === 1)
return [0];
while (i3--)
a2[i3] = (i3 * 3 >> 1) + 1;
for (i3 = 3; i3--; )
sort(string4, a2, i3);
j = b[(a2[0] / 3 | 0) + (a2[0] % 3 === 1 ? 0 : r2)] = 1;
for (i3 = 1; i3 < al; i3++) {
if (string4[a2[i3]] !== string4[a2[i3 - 1]] || string4[a2[i3] + 1] !== string4[a2[i3 - 1] + 1] || string4[a2[i3] + 2] !== string4[a2[i3 - 1] + 2])
j++;
b[(a2[i3] / 3 | 0) + (a2[i3] % 3 === 1 ? 0 : r2)] = j;
}
if (j < al) {
b = build(b, al);
for (i3 = al; i3--; )
a2[i3] = b[i3] < r2 ? b[i3] * 3 + 1 : (b[i3] - r2) * 3 + 2;
}
for (i3 = al; i3--; )
lookup2[a2[i3]] = i3;
lookup2[l2] = -1;
lookup2[l2 + 1] = -2;
b = l2 % 3 === 1 ? [l2 - 1] : [];
for (i3 = 0; i3 < al; i3++) {
if (a2[i3] % 3 === 1)
b.push(a2[i3] - 1);
}
sort(string4, b, 0);
for (i3 = 0, j = 0, k = 0; i3 < al && j < bl; )
result2[k++] = compare(string4, lookup2, a2[i3], b[j]) < 0 ? a2[i3++] : b[j++];
while (i3 < al)
result2[k++] = a2[i3++];
while (j < bl)
result2[k++] = b[j++];
return result2;
}
function convert2(target) {
var length = target.length, paddingOffset = length % 3, array2 = new Array(length + paddingOffset), l2, i3;
if (typeof target !== "string") {
var uniqueTokens = /* @__PURE__ */ Object.create(null);
for (i3 = 0; i3 < length; i3++) {
if (!uniqueTokens[target[i3]])
uniqueTokens[target[i3]] = true;
}
var alphabet = /* @__PURE__ */ Object.create(null), sortedUniqueTokens = Object.keys(uniqueTokens).sort();
for (i3 = 0, l2 = sortedUniqueTokens.length; i3 < l2; i3++)
alphabet[sortedUniqueTokens[i3]] = i3 + 1;
for (i3 = 0; i3 < length; i3++) {
array2[i3] = alphabet[target[i3]];
}
} else {
for (i3 = 0; i3 < length; i3++)
array2[i3] = target.charCodeAt(i3);
}
for (i3 = length; i3 < length + paddingOffset; i3++)
array2[i3] = 0;
return array2;
}
function SuffixArray2(string4) {
this.hasArbitrarySequence = typeof string4 !== "string";
this.string = string4;
this.length = string4.length;
this.array = build(convert2(string4), this.length);
}
SuffixArray2.prototype.toString = function() {
return this.array.join(",");
};
SuffixArray2.prototype.toJSON = function() {
return this.array;
};
SuffixArray2.prototype.inspect = function() {
var array2 = new Array(this.length);
for (var i3 = 0; i3 < this.length; i3++)
array2[i3] = this.string.slice(this.array[i3]);
Object.defineProperty(array2, "constructor", {
value: SuffixArray2,
enumerable: false
});
return array2;
};
if (typeof Symbol !== "undefined")
SuffixArray2.prototype[Symbol.for("nodejs.util.inspect.custom")] = SuffixArray2.prototype.inspect;
function GeneralizedSuffixArray2(strings) {
this.hasArbitrarySequence = typeof strings[0] !== "string";
this.size = strings.length;
if (this.hasArbitrarySequence) {
this.text = [];
for (var i3 = 0, l2 = this.size; i3 < l2; i3++) {
this.text.push.apply(this.text, strings[i3]);
if (i3 < l2 - 1)
this.text.push(SEPARATOR);
}
} else {
this.text = strings.join(SEPARATOR);
}
this.firstLength = strings[0].length;
this.length = this.text.length;
this.array = build(convert2(this.text), this.length);
}
GeneralizedSuffixArray2.prototype.longestCommonSubsequence = function() {
var lcs = this.hasArbitrarySequence ? [] : "", lcp, i3, j, s2, t2;
for (i3 = 1; i3 < this.length; i3++) {
s2 = this.array[i3];
t2 = this.array[i3 - 1];
if (s2 < this.firstLength && t2 < this.firstLength)
continue;
if (s2 > this.firstLength && t2 > this.firstLength)
continue;
lcp = Math.min(this.length - s2, this.length - t2);
for (j = 0; j < lcp; j++) {
if (this.text[s2 + j] !== this.text[t2 + j]) {
lcp = j;
break;
}
}
if (lcp > lcs.length)
lcs = this.text.slice(s2, s2 + lcp);
}
return lcs;
};
GeneralizedSuffixArray2.prototype.toString = function() {
return this.array.join(",");
};
GeneralizedSuffixArray2.prototype.toJSON = function() {
return this.array;
};
GeneralizedSuffixArray2.prototype.inspect = function() {
var array2 = new Array(this.length);
for (var i3 = 0; i3 < this.length; i3++)
array2[i3] = this.text.slice(this.array[i3]);
Object.defineProperty(array2, "constructor", {
value: GeneralizedSuffixArray2,
enumerable: false
});
return array2;
};
if (typeof Symbol !== "undefined")
GeneralizedSuffixArray2.prototype[Symbol.for("nodejs.util.inspect.custom")] = GeneralizedSuffixArray2.prototype.inspect;
SuffixArray2.GeneralizedSuffixArray = GeneralizedSuffixArray2;
module2.exports = SuffixArray2;
}
});
// node_modules/obliterator/iterator.js
var require_iterator = __commonJS({
"node_modules/obliterator/iterator.js"(exports2, module2) {
function Iterator(next) {
if (typeof next !== "function")
throw new Error("obliterator/iterator: expecting a function!");
this.next = next;
}
if (typeof Symbol !== "undefined")
Iterator.prototype[Symbol.iterator] = function() {
return this;
};
Iterator.of = function() {
var args2 = arguments, l2 = args2.length, i3 = 0;
return new Iterator(function() {
if (i3 >= l2) return { done: true };
return { done: false, value: args2[i3++] };
});
};
Iterator.empty = function() {
var iterator = new Iterator(function() {
return { done: true };
});
return iterator;
};
Iterator.fromSequence = function(sequence) {
var i3 = 0, l2 = sequence.length;
return new Iterator(function() {
if (i3 >= l2) return { done: true };
return { done: false, value: sequence[i3++] };
});
};
Iterator.is = function(value) {
if (value instanceof Iterator) return true;
return typeof value === "object" && value !== null && typeof value.next === "function";
};
module2.exports = Iterator;
}
});
// node_modules/mnemonist/vector.js
var require_vector = __commonJS({
"node_modules/mnemonist/vector.js"(exports2, module2) {
var Iterator = require_iterator();
var forEach2 = require_foreach();
var iterables = require_iterables();
var typed = require_typed_arrays();
var DEFAULT_GROWING_POLICY = function(currentCapacity) {
return Math.max(1, Math.ceil(currentCapacity * 1.5));
};
var pointerArrayFactory = function(capacity) {
var PointerArray = typed.getPointerArray(capacity);
return new PointerArray(capacity);
};
function Vector2(ArrayClass, initialCapacityOrOptions) {
if (arguments.length < 1)
throw new Error("mnemonist/vector: expecting at least a byte array constructor.");
var initialCapacity = initialCapacityOrOptions || 0, policy = DEFAULT_GROWING_POLICY, initialLength = 0, factory = false;
if (typeof initialCapacityOrOptions === "object") {
initialCapacity = initialCapacityOrOptions.initialCapacity || 0;
initialLength = initialCapacityOrOptions.initialLength || 0;
policy = initialCapacityOrOptions.policy || policy;
factory = initialCapacityOrOptions.factory === true;
}
this.factory = factory ? ArrayClass : null;
this.ArrayClass = ArrayClass;
this.length = initialLength;
this.capacity = Math.max(initialLength, initialCapacity);
this.policy = policy;
this.array = new ArrayClass(this.capacity);
}
Vector2.prototype.set = function(index, value) {
if (this.length < index)
throw new Error("Vector(" + this.ArrayClass.name + ").set: index out of bounds.");
this.array[index] = value;
return this;
};
Vector2.prototype.get = function(index) {
if (this.length < index)
return void 0;
return this.array[index];
};
Vector2.prototype.applyPolicy = function(override) {
var newCapacity = this.policy(override || this.capacity);
if (typeof newCapacity !== "number" || newCapacity < 0)
throw new Error("mnemonist/vector.applyPolicy: policy returned an invalid value (expecting a positive integer).");
if (newCapacity <= this.capacity)
throw new Error("mnemonist/vector.applyPolicy: policy returned a less or equal capacity to allocate.");
return newCapacity;
};
Vector2.prototype.reallocate = function(capacity) {
if (capacity === this.capacity)
return this;
var oldArray = this.array;
if (capacity < this.length)
this.length = capacity;
if (capacity > this.capacity) {
if (this.factory === null)
this.array = new this.ArrayClass(capacity);
else
this.array = this.factory(capacity);
if (typed.isTypedArray(this.array)) {
this.array.set(oldArray, 0);
} else {
for (var i3 = 0, l2 = this.length; i3 < l2; i3++)
this.array[i3] = oldArray[i3];
}
} else {
this.array = oldArray.slice(0, capacity);
}
this.capacity = capacity;
return this;
};
Vector2.prototype.grow = function(capacity) {
var newCapacity;
if (typeof capacity === "number") {
if (this.capacity >= capacity)
return this;
newCapacity = this.capacity;
while (newCapacity < capacity)
newCapacity = this.applyPolicy(newCapacity);
this.reallocate(newCapacity);
return this;
}
newCapacity = this.applyPolicy();
this.reallocate(newCapacity);
return this;
};
Vector2.prototype.resize = function(length) {
if (length === this.length)
return this;
if (length < this.length) {
this.length = length;
return this;
}
this.length = length;
this.reallocate(length);
return this;
};
Vector2.prototype.push = function(value) {
if (this.capacity === this.length)
this.grow();
this.array[this.length++] = value;
return this.length;
};
Vector2.prototype.pop = function() {
if (this.length === 0)
return;
return this.array[--this.length];
};
Vector2.prototype.values = function() {
var items = this.array, l2 = this.length, i3 = 0;
return new Iterator(function() {
if (i3 >= l2)
return {
done: true
};
var value = items[i3];
i3++;
return {
value,
done: false
};
});
};
Vector2.prototype.entries = function() {
var items = this.array, l2 = this.length, i3 = 0;
return new Iterator(function() {
if (i3 >= l2)
return {
done: true
};
var value = items[i3];
return {
value: [i3++, value],
done: false
};
});
};
if (typeof Symbol !== "undefined")
Vector2.prototype[Symbol.iterator] = Vector2.prototype.values;
Vector2.prototype.inspect = function() {
var proxy2 = this.array.slice(0, this.length);
proxy2.type = this.array.constructor.name;
proxy2.items = this.length;
proxy2.capacity = this.capacity;
Object.defineProperty(proxy2, "constructor", {
value: Vector2,
enumerable: false
});
return proxy2;
};
if (typeof Symbol !== "undefined")
Vector2.prototype[Symbol.for("nodejs.util.inspect.custom")] = Vector2.prototype.inspect;
Vector2.from = function(iterable, ArrayClass, capacity) {
if (arguments.length < 3) {
capacity = iterables.guessLength(iterable);
if (typeof capacity !== "number")
throw new Error("mnemonist/vector.from: could not guess iterable length. Please provide desired capacity as last argument.");
}
var vector = new Vector2(ArrayClass, capacity);
forEach2(iterable, function(value) {
vector.push(value);
});
return vector;
};
function subClass(ArrayClass) {
var SubClass = function(initialCapacityOrOptions) {
Vector2.call(this, ArrayClass, initialCapacityOrOptions);
};
for (var k in Vector2.prototype) {
if (Vector2.prototype.hasOwnProperty(k))
SubClass.prototype[k] = Vector2.prototype[k];
}
SubClass.from = function(iterable, capacity) {
return Vector2.from(iterable, ArrayClass, capacity);
};
if (typeof Symbol !== "undefined")
SubClass.prototype[Symbol.iterator] = SubClass.prototype.values;
return SubClass;
}
Vector2.Int8Vector = subClass(Int8Array);
Vector2.Uint8Vector = subClass(Uint8Array);
Vector2.Uint8ClampedVector = subClass(Uint8ClampedArray);
Vector2.Int16Vector = subClass(Int16Array);
Vector2.Uint16Vector = subClass(Uint16Array);
Vector2.Int32Vector = subClass(Int32Array);
Vector2.Uint32Vector = subClass(Uint32Array);
Vector2.Float32Vector = subClass(Float32Array);
Vector2.Float64Vector = subClass(Float64Array);
Vector2.PointerVector = subClass(pointerArrayFactory);
module2.exports = Vector2;
}
});
// node_modules/mnemonist/fixed-deque.js
var require_fixed_deque = __commonJS({
"node_modules/mnemonist/fixed-deque.js"(exports2, module2) {
var iterables = require_iterables();
var Iterator = require_iterator();
function FixedDeque(ArrayClass, capacity) {
if (arguments.length < 2)
throw new Error("mnemonist/fixed-deque: expecting an Array class and a capacity.");
if (typeof capacity !== "number" || capacity <= 0)
throw new Error("mnemonist/fixed-deque: `capacity` should be a positive number.");
this.ArrayClass = ArrayClass;
this.capacity = capacity;
this.items = new ArrayClass(this.capacity);
this.clear();
}
FixedDeque.prototype.clear = function() {
this.start = 0;
this.size = 0;
};
FixedDeque.prototype.push = function(item) {
if (this.size === this.capacity)
throw new Error("mnemonist/fixed-deque.push: deque capacity (" + this.capacity + ") exceeded!");
var index = this.start + this.size;
if (index >= this.capacity)
index -= this.capacity;
this.items[index] = item;
return ++this.size;
};
FixedDeque.prototype.unshift = function(item) {
if (this.size === this.capacity)
throw new Error("mnemonist/fixed-deque.unshift: deque capacity (" + this.capacity + ") exceeded!");
var index = this.start - 1;
if (this.start === 0)
index = this.capacity - 1;
this.items[index] = item;
this.start = index;
return ++this.size;
};
FixedDeque.prototype.pop = function() {
if (this.size === 0)
return;
this.size--;
var index = this.start + this.size;
if (index >= this.capacity)
index -= this.capacity;
return this.items[index];
};
FixedDeque.prototype.shift = function() {
if (this.size === 0)
return;
var index = this.start;
this.size--;
this.start++;
if (this.start === this.capacity)
this.start = 0;
return this.items[index];
};
FixedDeque.prototype.peekFirst = function() {
if (this.size === 0)
return;
return this.items[this.start];
};
FixedDeque.prototype.peekLast = function() {
if (this.size === 0)
return;
var index = this.start + this.size - 1;
if (index >= this.capacity)
index -= this.capacity;
return this.items[index];
};
FixedDeque.prototype.get = function(index) {
if (this.size === 0 || index >= this.capacity)
return;
index = this.start + index;
if (index >= this.capacity)
index -= this.capacity;
return this.items[index];
};
FixedDeque.prototype.forEach = function(callback, scope) {
scope = arguments.length > 1 ? scope : this;
var c4 = this.capacity, l2 = this.size, i3 = this.start, j = 0;
while (j < l2) {
callback.call(scope, this.items[i3], j, this);
i3++;
j++;
if (i3 === c4)
i3 = 0;
}
};
FixedDeque.prototype.toArray = function() {
var offset = this.start + this.size;
if (offset < this.capacity)
return this.items.slice(this.start, offset);
var array2 = new this.ArrayClass(this.size), c4 = this.capacity, l2 = this.size, i3 = this.start, j = 0;
while (j < l2) {
array2[j] = this.items[i3];
i3++;
j++;
if (i3 === c4)
i3 = 0;
}
return array2;
};
FixedDeque.prototype.values = function() {
var items = this.items, c4 = this.capacity, l2 = this.size, i3 = this.start, j = 0;
return new Iterator(function() {
if (j >= l2)
return {
done: true
};
var value = items[i3];
i3++;
j++;
if (i3 === c4)
i3 = 0;
return {
value,
done: false
};
});
};
FixedDeque.prototype.entries = function() {
var items = this.items, c4 = this.capacity, l2 = this.size, i3 = this.start, j = 0;
return new Iterator(function() {
if (j >= l2)
return {
done: true
};
var value = items[i3];
i3++;
if (i3 === c4)
i3 = 0;
return {
value: [j++, value],
done: false
};
});
};
if (typeof Symbol !== "undefined")
FixedDeque.prototype[Symbol.iterator] = FixedDeque.prototype.values;
FixedDeque.prototype.inspect = function() {
var array2 = this.toArray();
array2.type = this.ArrayClass.name;
array2.capacity = this.capacity;
Object.defineProperty(array2, "constructor", {
value: FixedDeque,
enumerable: false
});
return array2;
};
if (typeof Symbol !== "undefined")
FixedDeque.prototype[Symbol.for("nodejs.util.inspect.custom")] = FixedDeque.prototype.inspect;
FixedDeque.from = function(iterable, ArrayClass, capacity) {
if (arguments.length < 3) {
capacity = iterables.guessLength(iterable);
if (typeof capacity !== "number")
throw new Error("mnemonist/fixed-deque.from: could not guess iterable length. Please provide desired capacity as last argument.");
}
var deque = new FixedDeque(ArrayClass, capacity);
if (iterables.isArrayLike(iterable)) {
var i3, l2;
for (i3 = 0, l2 = iterable.length; i3 < l2; i3++)
deque.items[i3] = iterable[i3];
deque.size = l2;
return deque;
}
iterables.forEach(iterable, function(value) {
deque.push(value);
});
return deque;
};
module2.exports = FixedDeque;
}
});
// node_modules/mnemonist/lru-cache.js
var require_lru_cache = __commonJS({
"node_modules/mnemonist/lru-cache.js"(exports2, module2) {
var Iterator = require_iterator();
var forEach2 = require_foreach();
var typed = require_typed_arrays();
var iterables = require_iterables();
function LRUCache2(Keys, Values, capacity) {
if (arguments.length < 2) {
capacity = Keys;
Keys = null;
Values = null;
}
this.capacity = capacity;
if (typeof this.capacity !== "number" || this.capacity <= 0)
throw new Error("mnemonist/lru-cache: capacity should be positive number.");
else if (!isFinite(this.capacity) || Math.floor(this.capacity) !== this.capacity)
throw new Error("mnemonist/lru-cache: capacity should be a finite positive integer.");
var PointerArray = typed.getPointerArray(capacity);
this.forward = new PointerArray(capacity);
this.backward = new PointerArray(capacity);
this.K = typeof Keys === "function" ? new Keys(capacity) : new Array(capacity);
this.V = typeof Values === "function" ? new Values(capacity) : new Array(capacity);
this.size = 0;
this.head = 0;
this.tail = 0;
this.items = {};
}
LRUCache2.prototype.clear = function() {
this.size = 0;
this.head = 0;
this.tail = 0;
this.items = {};
};
LRUCache2.prototype.splayOnTop = function(pointer) {
var oldHead = this.head;
if (this.head === pointer)
return this;
var previous = this.backward[pointer], next = this.forward[pointer];
if (this.tail === pointer) {
this.tail = previous;
} else {
this.backward[next] = previous;
}
this.forward[previous] = next;
this.backward[oldHead] = pointer;
this.head = pointer;
this.forward[pointer] = oldHead;
return this;
};
LRUCache2.prototype.set = function(key, value) {
var pointer = this.items[key];
if (typeof pointer !== "undefined") {
this.splayOnTop(pointer);
this.V[pointer] = value;
return;
}
if (this.size < this.capacity) {
pointer = this.size++;
} else {
pointer = this.tail;
this.tail = this.backward[pointer];
delete this.items[this.K[pointer]];
}
this.items[key] = pointer;
this.K[pointer] = key;
this.V[pointer] = value;
this.forward[pointer] = this.head;
this.backward[this.head] = pointer;
this.head = pointer;
};
LRUCache2.prototype.setpop = function(key, value) {
var oldValue = null;
var oldKey = null;
var pointer = this.items[key];
if (typeof pointer !== "undefined") {
this.splayOnTop(pointer);
oldValue = this.V[pointer];
this.V[pointer] = value;
return { evicted: false, key, value: oldValue };
}
if (this.size < this.capacity) {
pointer = this.size++;
} else {
pointer = this.tail;
this.tail = this.backward[pointer];
oldValue = this.V[pointer];
oldKey = this.K[pointer];
delete this.items[oldKey];
}
this.items[key] = pointer;
this.K[pointer] = key;
this.V[pointer] = value;
this.forward[pointer] = this.head;
this.backward[this.head] = pointer;
this.head = pointer;
if (oldKey) {
return { evicted: true, key: oldKey, value: oldValue };
} else {
return null;
}
};
LRUCache2.prototype.has = function(key) {
return key in this.items;
};
LRUCache2.prototype.get = function(key) {
var pointer = this.items[key];
if (typeof pointer === "undefined")
return;
this.splayOnTop(pointer);
return this.V[pointer];
};
LRUCache2.prototype.peek = function(key) {
var pointer = this.items[key];
if (typeof pointer === "undefined")
return;
return this.V[pointer];
};
LRUCache2.prototype.forEach = function(callback, scope) {
scope = arguments.length > 1 ? scope : this;
var i3 = 0, l2 = this.size;
var pointer = this.head, keys = this.K, values = this.V, forward = this.forward;
while (i3 < l2) {
callback.call(scope, values[pointer], keys[pointer], this);
pointer = forward[pointer];
i3++;
}
};
LRUCache2.prototype.keys = function() {
var i3 = 0, l2 = this.size;
var pointer = this.head, keys = this.K, forward = this.forward;
return new Iterator(function() {
if (i3 >= l2)
return { done: true };
var key = keys[pointer];
i3++;
if (i3 < l2)
pointer = forward[pointer];
return {
done: false,
value: key
};
});
};
LRUCache2.prototype.values = function() {
var i3 = 0, l2 = this.size;
var pointer = this.head, values = this.V, forward = this.forward;
return new Iterator(function() {
if (i3 >= l2)
return { done: true };
var value = values[pointer];
i3++;
if (i3 < l2)
pointer = forward[pointer];
return {
done: false,
value
};
});
};
LRUCache2.prototype.entries = function() {
var i3 = 0, l2 = this.size;
var pointer = this.head, keys = this.K, values = this.V, forward = this.forward;
return new Iterator(function() {
if (i3 >= l2)
return { done: true };
var key = keys[pointer], value = values[pointer];
i3++;
if (i3 < l2)
pointer = forward[pointer];
return {
done: false,
value: [key, value]
};
});
};
if (typeof Symbol !== "undefined")
LRUCache2.prototype[Symbol.iterator] = LRUCache2.prototype.entries;
LRUCache2.prototype.inspect = function() {
var proxy2 = /* @__PURE__ */ new Map();
var iterator = this.entries(), step;
while (step = iterator.next(), !step.done)
proxy2.set(step.value[0], step.value[1]);
Object.defineProperty(proxy2, "constructor", {
value: LRUCache2,
enumerable: false
});
return proxy2;
};
if (typeof Symbol !== "undefined")
LRUCache2.prototype[Symbol.for("nodejs.util.inspect.custom")] = LRUCache2.prototype.inspect;
LRUCache2.from = function(iterable, Keys, Values, capacity) {
if (arguments.length < 2) {
capacity = iterables.guessLength(iterable);
if (typeof capacity !== "number")
throw new Error("mnemonist/lru-cache.from: could not guess iterable length. Please provide desired capacity as last argument.");
} else if (arguments.length === 2) {
capacity = Keys;
Keys = null;
Values = null;
}
var cache3 = new LRUCache2(Keys, Values, capacity);
forEach2(iterable, function(value, key) {
cache3.set(key, value);
});
return cache3;
};
module2.exports = LRUCache2;
}
});
// node_modules/mnemonist/lru-map.js
var require_lru_map = __commonJS({
"node_modules/mnemonist/lru-map.js"(exports2, module2) {
var LRUCache2 = require_lru_cache();
var forEach2 = require_foreach();
var typed = require_typed_arrays();
var iterables = require_iterables();
function LRUMap(Keys, Values, capacity) {
if (arguments.length < 2) {
capacity = Keys;
Keys = null;
Values = null;
}
this.capacity = capacity;
if (typeof this.capacity !== "number" || this.capacity <= 0)
throw new Error("mnemonist/lru-map: capacity should be positive number.");
else if (!isFinite(this.capacity) || Math.floor(this.capacity) !== this.capacity)
throw new Error("mnemonist/lru-map: capacity should be a finite positive integer.");
var PointerArray = typed.getPointerArray(capacity);
this.forward = new PointerArray(capacity);
this.backward = new PointerArray(capacity);
this.K = typeof Keys === "function" ? new Keys(capacity) : new Array(capacity);
this.V = typeof Values === "function" ? new Values(capacity) : new Array(capacity);
this.size = 0;
this.head = 0;
this.tail = 0;
this.items = /* @__PURE__ */ new Map();
}
LRUMap.prototype.clear = function() {
this.size = 0;
this.head = 0;
this.tail = 0;
this.items.clear();
};
LRUMap.prototype.set = function(key, value) {
var pointer = this.items.get(key);
if (typeof pointer !== "undefined") {
this.splayOnTop(pointer);
this.V[pointer] = value;
return;
}
if (this.size < this.capacity) {
pointer = this.size++;
} else {
pointer = this.tail;
this.tail = this.backward[pointer];
this.items.delete(this.K[pointer]);
}
this.items.set(key, pointer);
this.K[pointer] = key;
this.V[pointer] = value;
this.forward[pointer] = this.head;
this.backward[this.head] = pointer;
this.head = pointer;
};
LRUMap.prototype.setpop = function(key, value) {
var oldValue = null;
var oldKey = null;
var pointer = this.items.get(key);
if (typeof pointer !== "undefined") {
this.splayOnTop(pointer);
oldValue = this.V[pointer];
this.V[pointer] = value;
return { evicted: false, key, value: oldValue };
}
if (this.size < this.capacity) {
pointer = this.size++;
} else {
pointer = this.tail;
this.tail = this.backward[pointer];
oldValue = this.V[pointer];
oldKey = this.K[pointer];
this.items.delete(oldKey);
}
this.items.set(key, pointer);
this.K[pointer] = key;
this.V[pointer] = value;
this.forward[pointer] = this.head;
this.backward[this.head] = pointer;
this.head = pointer;
if (oldKey) {
return { evicted: true, key: oldKey, value: oldValue };
} else {
return null;
}
};
LRUMap.prototype.has = function(key) {
return this.items.has(key);
};
LRUMap.prototype.get = function(key) {
var pointer = this.items.get(key);
if (typeof pointer === "undefined")
return;
this.splayOnTop(pointer);
return this.V[pointer];
};
LRUMap.prototype.peek = function(key) {
var pointer = this.items.get(key);
if (typeof pointer === "undefined")
return;
return this.V[pointer];
};
LRUMap.prototype.splayOnTop = LRUCache2.prototype.splayOnTop;
LRUMap.prototype.forEach = LRUCache2.prototype.forEach;
LRUMap.prototype.keys = LRUCache2.prototype.keys;
LRUMap.prototype.values = LRUCache2.prototype.values;
LRUMap.prototype.entries = LRUCache2.prototype.entries;
if (typeof Symbol !== "undefined")
LRUMap.prototype[Symbol.iterator] = LRUMap.prototype.entries;
LRUMap.prototype.inspect = LRUCache2.prototype.inspect;
LRUMap.from = function(iterable, Keys, Values, capacity) {
if (arguments.length < 2) {
capacity = iterables.guessLength(iterable);
if (typeof capacity !== "number")
throw new Error("mnemonist/lru-cache.from: could not guess iterable length. Please provide desired capacity as last argument.");
} else if (arguments.length === 2) {
capacity = Keys;
Keys = null;
Values = null;
}
var cache3 = new LRUMap(Keys, Values, capacity);
forEach2(iterable, function(value, key) {
cache3.set(key, value);
});
return cache3;
};
module2.exports = LRUMap;
}
});
// node_modules/mnemonist/lru-map-with-delete.js
var require_lru_map_with_delete = __commonJS({
"node_modules/mnemonist/lru-map-with-delete.js"(exports2, module2) {
var LRUMap = require_lru_map();
var forEach2 = require_foreach();
var typed = require_typed_arrays();
var iterables = require_iterables();
function LRUMapWithDelete(Keys, Values, capacity) {
if (arguments.length < 2) {
LRUMap.call(this, Keys);
} else {
LRUMap.call(this, Keys, Values, capacity);
}
var PointerArray = typed.getPointerArray(this.capacity);
this.deleted = new PointerArray(this.capacity);
this.deletedSize = 0;
}
for (k in LRUMap.prototype)
LRUMapWithDelete.prototype[k] = LRUMap.prototype[k];
var k;
if (typeof Symbol !== "undefined")
LRUMapWithDelete.prototype[Symbol.iterator] = LRUMap.prototype[Symbol.iterator];
LRUMapWithDelete.prototype.clear = function() {
LRUMap.prototype.clear.call(this);
this.deletedSize = 0;
};
LRUMapWithDelete.prototype.set = function(key, value) {
var pointer = this.items.get(key);
if (typeof pointer !== "undefined") {
this.splayOnTop(pointer);
this.V[pointer] = value;
return;
}
if (this.size < this.capacity) {
if (this.deletedSize > 0) {
pointer = this.deleted[--this.deletedSize];
} else {
pointer = this.size;
}
this.size++;
} else {
pointer = this.tail;
this.tail = this.backward[pointer];
this.items.delete(this.K[pointer]);
}
this.items.set(key, pointer);
this.K[pointer] = key;
this.V[pointer] = value;
this.forward[pointer] = this.head;
this.backward[this.head] = pointer;
this.head = pointer;
};
LRUMapWithDelete.prototype.setpop = function(key, value) {
var oldValue = null;
var oldKey = null;
var pointer = this.items.get(key);
if (typeof pointer !== "undefined") {
this.splayOnTop(pointer);
oldValue = this.V[pointer];
this.V[pointer] = value;
return { evicted: false, key, value: oldValue };
}
if (this.size < this.capacity) {
if (this.deletedSize > 0) {
pointer = this.deleted[--this.deletedSize];
} else {
pointer = this.size;
}
this.size++;
} else {
pointer = this.tail;
this.tail = this.backward[pointer];
oldValue = this.V[pointer];
oldKey = this.K[pointer];
this.items.delete(oldKey);
}
this.items.set(key, pointer);
this.K[pointer] = key;
this.V[pointer] = value;
this.forward[pointer] = this.head;
this.backward[this.head] = pointer;
this.head = pointer;
if (oldKey) {
return { evicted: true, key: oldKey, value: oldValue };
} else {
return null;
}
};
LRUMapWithDelete.prototype.delete = function(key) {
var pointer = this.items.get(key);
if (typeof pointer === "undefined") {
return false;
}
this.items.delete(key);
if (this.size === 1) {
this.size = 0;
this.head = 0;
this.tail = 0;
this.deletedSize = 0;
return true;
}
var previous = this.backward[pointer], next = this.forward[pointer];
if (this.head === pointer) {
this.head = next;
}
if (this.tail === pointer) {
this.tail = previous;
}
this.forward[previous] = next;
this.backward[next] = previous;
this.size--;
this.deleted[this.deletedSize++] = pointer;
return true;
};
LRUMapWithDelete.prototype.remove = function(key, missing = void 0) {
var pointer = this.items.get(key);
if (typeof pointer === "undefined") {
return missing;
}
var dead = this.V[pointer];
this.items.delete(key);
if (this.size === 1) {
this.size = 0;
this.head = 0;
this.tail = 0;
this.deletedSize = 0;
return dead;
}
var previous = this.backward[pointer], next = this.forward[pointer];
if (this.head === pointer) {
this.head = next;
}
if (this.tail === pointer) {
this.tail = previous;
}
this.forward[previous] = next;
this.backward[next] = previous;
this.size--;
this.deleted[this.deletedSize++] = pointer;
return dead;
};
LRUMapWithDelete.from = function(iterable, Keys, Values, capacity) {
if (arguments.length < 2) {
capacity = iterables.guessLength(iterable);
if (typeof capacity !== "number")
throw new Error("mnemonist/lru-map.from: could not guess iterable length. Please provide desired capacity as last argument.");
} else if (arguments.length === 2) {
capacity = Keys;
Keys = null;
Values = null;
}
var cache3 = new LRUMapWithDelete(Keys, Values, capacity);
forEach2(iterable, function(value, key) {
cache3.set(key, value);
});
return cache3;
};
module2.exports = LRUMapWithDelete;
}
});
// node_modules/mnemonist/multi-map.js
var require_multi_map = __commonJS({
"node_modules/mnemonist/multi-map.js"(exports2, module2) {
var Iterator = require_iterator();
var forEach2 = require_foreach();
function MultiMap(Container) {
this.Container = Container || Array;
this.items = /* @__PURE__ */ new Map();
this.clear();
Object.defineProperty(this.items, "constructor", {
value: MultiMap,
enumerable: false
});
}
MultiMap.prototype.clear = function() {
this.size = 0;
this.dimension = 0;
this.items.clear();
};
MultiMap.prototype.set = function(key, value) {
var container = this.items.get(key), sizeBefore;
if (!container) {
this.dimension++;
container = new this.Container();
this.items.set(key, container);
}
if (this.Container === Set) {
sizeBefore = container.size;
container.add(value);
if (sizeBefore < container.size)
this.size++;
} else {
container.push(value);
this.size++;
}
return this;
};
MultiMap.prototype.delete = function(key) {
var container = this.items.get(key);
if (!container)
return false;
this.size -= this.Container === Set ? container.size : container.length;
this.dimension--;
this.items.delete(key);
return true;
};
MultiMap.prototype.remove = function(key, value) {
var container = this.items.get(key), wasDeleted, index;
if (!container)
return false;
if (this.Container === Set) {
wasDeleted = container.delete(value);
if (wasDeleted)
this.size--;
if (container.size === 0) {
this.items.delete(key);
this.dimension--;
}
return wasDeleted;
} else {
index = container.indexOf(value);
if (index === -1)
return false;
this.size--;
if (container.length === 1) {
this.items.delete(key);
this.dimension--;
return true;
}
container.splice(index, 1);
return true;
}
};
MultiMap.prototype.has = function(key) {
return this.items.has(key);
};
MultiMap.prototype.get = function(key) {
return this.items.get(key);
};
MultiMap.prototype.multiplicity = function(key) {
var container = this.items.get(key);
if (typeof container === "undefined")
return 0;
return this.Container === Set ? container.size : container.length;
};
MultiMap.prototype.count = MultiMap.prototype.multiplicity;
MultiMap.prototype.forEach = function(callback, scope) {
scope = arguments.length > 1 ? scope : this;
var key;
function inner(value) {
callback.call(scope, value, key);
}
this.items.forEach(function(container, k) {
key = k;
container.forEach(inner);
});
};
MultiMap.prototype.forEachAssociation = function(callback, scope) {
scope = arguments.length > 1 ? scope : this;
this.items.forEach(callback, scope);
};
MultiMap.prototype.keys = function() {
return this.items.keys();
};
MultiMap.prototype.values = function() {
var iterator = this.items.values(), inContainer = false, countainer, step, i3, l2;
if (this.Container === Set)
return new Iterator(function next() {
if (!inContainer) {
step = iterator.next();
if (step.done)
return { done: true };
inContainer = true;
countainer = step.value.values();
}
step = countainer.next();
if (step.done) {
inContainer = false;
return next();
}
return {
done: false,
value: step.value
};
});
return new Iterator(function next() {
if (!inContainer) {
step = iterator.next();
if (step.done)
return { done: true };
inContainer = true;
countainer = step.value;
i3 = 0;
l2 = countainer.length;
}
if (i3 >= l2) {
inContainer = false;
return next();
}
return {
done: false,
value: countainer[i3++]
};
});
};
MultiMap.prototype.entries = function() {
var iterator = this.items.entries(), inContainer = false, countainer, step, key, i3, l2;
if (this.Container === Set)
return new Iterator(function next() {
if (!inContainer) {
step = iterator.next();
if (step.done)
return { done: true };
inContainer = true;
key = step.value[0];
countainer = step.value[1].values();
}
step = countainer.next();
if (step.done) {
inContainer = false;
return next();
}
return {
done: false,
value: [key, step.value]
};
});
return new Iterator(function next() {
if (!inContainer) {
step = iterator.next();
if (step.done)
return { done: true };
inContainer = true;
key = step.value[0];
countainer = step.value[1];
i3 = 0;
l2 = countainer.length;
}
if (i3 >= l2) {
inContainer = false;
return next();
}
return {
done: false,
value: [key, countainer[i3++]]
};
});
};
MultiMap.prototype.containers = function() {
return this.items.values();
};
MultiMap.prototype.associations = function() {
return this.items.entries();
};
if (typeof Symbol !== "undefined")
MultiMap.prototype[Symbol.iterator] = MultiMap.prototype.entries;
MultiMap.prototype.inspect = function() {
return this.items;
};
if (typeof Symbol !== "undefined")
MultiMap.prototype[Symbol.for("nodejs.util.inspect.custom")] = MultiMap.prototype.inspect;
MultiMap.prototype.toJSON = function() {
return this.items;
};
MultiMap.from = function(iterable, Container) {
var map4 = new MultiMap(Container);
forEach2(iterable, function(value, key) {
map4.set(key, value);
});
return map4;
};
module2.exports = MultiMap;
}
});
// node_modules/node-fetch/node_modules/webidl-conversions/lib/index.js
var require_lib2 = __commonJS({
"node_modules/node-fetch/node_modules/webidl-conversions/lib/index.js"(exports2, module2) {
"use strict";
var conversions = {};
module2.exports = conversions;
function sign(x) {
return x < 0 ? -1 : 1;
}
function evenRound(x) {
if (x % 1 === 0.5 && (x & 1) === 0) {
return Math.floor(x);
} else {
return Math.round(x);
}
}
function createNumberConversion(bitLength, typeOpts) {
if (!typeOpts.unsigned) {
--bitLength;
}
const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);
const upperBound = Math.pow(2, bitLength) - 1;
const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);
const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);
return function(V2, opts) {
if (!opts) opts = {};
let x = +V2;
if (opts.enforceRange) {
if (!Number.isFinite(x)) {
throw new TypeError("Argument is not a finite number");
}
x = sign(x) * Math.floor(Math.abs(x));
if (x < lowerBound || x > upperBound) {
throw new TypeError("Argument is not in byte range");
}
return x;
}
if (!isNaN(x) && opts.clamp) {
x = evenRound(x);
if (x < lowerBound) x = lowerBound;
if (x > upperBound) x = upperBound;
return x;
}
if (!Number.isFinite(x) || x === 0) {
return 0;
}
x = sign(x) * Math.floor(Math.abs(x));
x = x % moduloVal;
if (!typeOpts.unsigned && x >= moduloBound) {
return x - moduloVal;
} else if (typeOpts.unsigned) {
if (x < 0) {
x += moduloVal;
} else if (x === -0) {
return 0;
}
}
return x;
};
}
conversions["void"] = function() {
return void 0;
};
conversions["boolean"] = function(val) {
return !!val;
};
conversions["byte"] = createNumberConversion(8, { unsigned: false });
conversions["octet"] = createNumberConversion(8, { unsigned: true });
conversions["short"] = createNumberConversion(16, { unsigned: false });
conversions["unsigned short"] = createNumberConversion(16, { unsigned: true });
conversions["long"] = createNumberConversion(32, { unsigned: false });
conversions["unsigned long"] = createNumberConversion(32, { unsigned: true });
conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });
conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });
conversions["double"] = function(V2) {
const x = +V2;
if (!Number.isFinite(x)) {
throw new TypeError("Argument is not a finite floating-point value");
}
return x;
};
conversions["unrestricted double"] = function(V2) {
const x = +V2;
if (isNaN(x)) {
throw new TypeError("Argument is NaN");
}
return x;
};
conversions["float"] = conversions["double"];
conversions["unrestricted float"] = conversions["unrestricted double"];
conversions["DOMString"] = function(V2, opts) {
if (!opts) opts = {};
if (opts.treatNullAsEmptyString && V2 === null) {
return "";
}
return String(V2);
};
conversions["ByteString"] = function(V2, opts) {
const x = String(V2);
let c4 = void 0;
for (let i3 = 0; (c4 = x.codePointAt(i3)) !== void 0; ++i3) {
if (c4 > 255) {
throw new TypeError("Argument is not a valid bytestring");
}
}
return x;
};
conversions["USVString"] = function(V2) {
const S = String(V2);
const n3 = S.length;
const U = [];
for (let i3 = 0; i3 < n3; ++i3) {
const c4 = S.charCodeAt(i3);
if (c4 < 55296 || c4 > 57343) {
U.push(String.fromCodePoint(c4));
} else if (56320 <= c4 && c4 <= 57343) {
U.push(String.fromCodePoint(65533));
} else {
if (i3 === n3 - 1) {
U.push(String.fromCodePoint(65533));
} else {
const d = S.charCodeAt(i3 + 1);
if (56320 <= d && d <= 57343) {
const a2 = c4 & 1023;
const b = d & 1023;
U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a2 + b));
++i3;
} else {
U.push(String.fromCodePoint(65533));
}
}
}
}
return U.join("");
};
conversions["Date"] = function(V2, opts) {
if (!(V2 instanceof Date)) {
throw new TypeError("Argument is not a Date object");
}
if (isNaN(V2)) {
return void 0;
}
return V2;
};
conversions["RegExp"] = function(V2, opts) {
if (!(V2 instanceof RegExp)) {
V2 = new RegExp(V2);
}
return V2;
};
}
});
// node_modules/node-fetch/node_modules/whatwg-url/lib/utils.js
var require_utils = __commonJS({
"node_modules/node-fetch/node_modules/whatwg-url/lib/utils.js"(exports2, module2) {
"use strict";
module2.exports.mixin = function mixin(target, source) {
const keys = Object.getOwnPropertyNames(source);
for (let i3 = 0; i3 < keys.length; ++i3) {
Object.defineProperty(target, keys[i3], Object.getOwnPropertyDescriptor(source, keys[i3]));
}
};
module2.exports.wrapperSymbol = Symbol("wrapper");
module2.exports.implSymbol = Symbol("impl");
module2.exports.wrapperForImpl = function(impl) {
return impl[module2.exports.wrapperSymbol];
};
module2.exports.implForWrapper = function(wrapper) {
return wrapper[module2.exports.implSymbol];
};
}
});
// node_modules/punycode/punycode.js
var require_punycode = __commonJS({
"node_modules/punycode/punycode.js"(exports2, module2) {
"use strict";
var maxInt = 2147483647;
var base = 36;
var tMin = 1;
var tMax = 26;
var skew = 38;
var damp = 700;
var initialBias = 72;
var initialN = 128;
var delimiter2 = "-";
var regexPunycode = /^xn--/;
var regexNonASCII = /[^\0-\x7F]/;
var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g;
var errors = {
"overflow": "Overflow: input needs wider integers to process",
"not-basic": "Illegal input >= 0x80 (not a basic code point)",
"invalid-input": "Invalid input"
};
var baseMinusTMin = base - tMin;
var floor = Math.floor;
var stringFromCharCode = String.fromCharCode;
function error40(type2) {
throw new RangeError(errors[type2]);
}
function map4(array2, callback) {
const result2 = [];
let length = array2.length;
while (length--) {
result2[length] = callback(array2[length]);
}
return result2;
}
function mapDomain(domain2, callback) {
const parts2 = domain2.split("@");
let result2 = "";
if (parts2.length > 1) {
result2 = parts2[0] + "@";
domain2 = parts2[1];
}
domain2 = domain2.replace(regexSeparators, ".");
const labels = domain2.split(".");
const encoded = map4(labels, callback).join(".");
return result2 + encoded;
}
function ucs2decode(string4) {
const output = [];
let counter = 0;
const length = string4.length;
while (counter < length) {
const value = string4.charCodeAt(counter++);
if (value >= 55296 && value <= 56319 && counter < length) {
const extra = string4.charCodeAt(counter++);
if ((extra & 64512) == 56320) {
output.push(((value & 1023) << 10) + (extra & 1023) + 65536);
} else {
output.push(value);
counter--;
}
} else {
output.push(value);
}
}
return output;
}
var ucs2encode = (codePoints) => String.fromCodePoint(...codePoints);
var basicToDigit = function(codePoint) {
if (codePoint >= 48 && codePoint < 58) {
return 26 + (codePoint - 48);
}
if (codePoint >= 65 && codePoint < 91) {
return codePoint - 65;
}
if (codePoint >= 97 && codePoint < 123) {
return codePoint - 97;
}
return base;
};
var digitToBasic = function(digit, flag) {
return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
};
var adapt = function(delta, numPoints, firstTime) {
let k = 0;
delta = firstTime ? floor(delta / damp) : delta >> 1;
delta += floor(delta / numPoints);
for (; delta > baseMinusTMin * tMax >> 1; k += base) {
delta = floor(delta / baseMinusTMin);
}
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
};
var decode = function(input) {
const output = [];
const inputLength = input.length;
let i3 = 0;
let n3 = initialN;
let bias = initialBias;
let basic = input.lastIndexOf(delimiter2);
if (basic < 0) {
basic = 0;
}
for (let j = 0; j < basic; ++j) {
if (input.charCodeAt(j) >= 128) {
error40("not-basic");
}
output.push(input.charCodeAt(j));
}
for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; ) {
const oldi = i3;
for (let w = 1, k = base; ; k += base) {
if (index >= inputLength) {
error40("invalid-input");
}
const digit = basicToDigit(input.charCodeAt(index++));
if (digit >= base) {
error40("invalid-input");
}
if (digit > floor((maxInt - i3) / w)) {
error40("overflow");
}
i3 += digit * w;
const t2 = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
if (digit < t2) {
break;
}
const baseMinusT = base - t2;
if (w > floor(maxInt / baseMinusT)) {
error40("overflow");
}
w *= baseMinusT;
}
const out2 = output.length + 1;
bias = adapt(i3 - oldi, out2, oldi == 0);
if (floor(i3 / out2) > maxInt - n3) {
error40("overflow");
}
n3 += floor(i3 / out2);
i3 %= out2;
output.splice(i3++, 0, n3);
}
return String.fromCodePoint(...output);
};
var encode = function(input) {
const output = [];
input = ucs2decode(input);
const inputLength = input.length;
let n3 = initialN;
let delta = 0;
let bias = initialBias;
for (const currentValue of input) {
if (currentValue < 128) {
output.push(stringFromCharCode(currentValue));
}
}
const basicLength = output.length;
let handledCPCount = basicLength;
if (basicLength) {
output.push(delimiter2);
}
while (handledCPCount < inputLength) {
let m = maxInt;
for (const currentValue of input) {
if (currentValue >= n3 && currentValue < m) {
m = currentValue;
}
}
const handledCPCountPlusOne = handledCPCount + 1;
if (m - n3 > floor((maxInt - delta) / handledCPCountPlusOne)) {
error40("overflow");
}
delta += (m - n3) * handledCPCountPlusOne;
n3 = m;
for (const currentValue of input) {
if (currentValue < n3 && ++delta > maxInt) {
error40("overflow");
}
if (currentValue === n3) {
let q = delta;
for (let k = base; ; k += base) {
const t2 = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
if (q < t2) {
break;
}
const qMinusT = q - t2;
const baseMinusT = base - t2;
output.push(
stringFromCharCode(digitToBasic(t2 + qMinusT % baseMinusT, 0))
);
q = floor(qMinusT / baseMinusT);
}
output.push(stringFromCharCode(digitToBasic(q, 0)));
bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
delta = 0;
++handledCPCount;
}
}
++delta;
++n3;
}
return output.join("");
};
var toUnicode = function(input) {
return mapDomain(input, function(string4) {
return regexPunycode.test(string4) ? decode(string4.slice(4).toLowerCase()) : string4;
});
};
var toASCII = function(input) {
return mapDomain(input, function(string4) {
return regexNonASCII.test(string4) ? "xn--" + encode(string4) : string4;
});
};
var punycode = {
/**
* A string representing the current Punycode.js version number.
* @memberOf punycode
* @type String
*/
"version": "2.3.1",
/**
* An object of methods to convert from JavaScript's internal character
* representation (UCS-2) to Unicode code points, and back.
* @see <https://mathiasbynens.be/notes/javascript-encoding>
* @memberOf punycode
* @type Object
*/
"ucs2": {
"decode": ucs2decode,
"encode": ucs2encode
},
"decode": decode,
"encode": encode,
"toASCII": toASCII,
"toUnicode": toUnicode
};
module2.exports = punycode;
}
});
// node_modules/node-fetch/node_modules/tr46/lib/mappingTable.json
var require_mappingTable = __commonJS({
"node_modules/node-fetch/node_modules/tr46/lib/mappingTable.json"(exports2, module2) {
module2.exports = [[[0, 44], "disallowed_STD3_valid"], [[45, 46], "valid"], [[47, 47], "disallowed_STD3_valid"], [[48, 57], "valid"], [[58, 64], "disallowed_STD3_valid"], [[65, 65], "mapped", [97]], [[66, 66], "mapped", [98]], [[67, 67], "mapped", [99]], [[68, 68], "mapped", [100]], [[69, 69], "mapped", [101]], [[70, 70], "mapped", [102]], [[71, 71], "mapped", [103]], [[72, 72], "mapped", [104]], [[73, 73], "mapped", [105]], [[74, 74], "mapped", [106]], [[75, 75], "mapped", [107]], [[76, 76], "mapped", [108]], [[77, 77], "mapped", [109]], [[78, 78], "mapped", [110]], [[79, 79], "mapped", [111]], [[80, 80], "mapped", [112]], [[81, 81], "mapped", [113]], [[82, 82], "mapped", [114]], [[83, 83], "mapped", [115]], [[84, 84], "mapped", [116]], [[85, 85], "mapped", [117]], [[86, 86], "mapped", [118]], [[87, 87], "mapped", [119]], [[88, 88], "mapped", [120]], [[89, 89], "mapped", [121]], [[90, 90], "mapped", [122]], [[91, 96], "disallowed_STD3_valid"], [[97, 122], "valid"], [[123, 127], "disallowed_STD3_valid"], [[128, 159], "disallowed"], [[160, 160], "disallowed_STD3_mapped", [32]], [[161, 167], "valid", [], "NV8"], [[168, 168], "disallowed_STD3_mapped", [32, 776]], [[169, 169], "valid", [], "NV8"], [[170, 170], "mapped", [97]], [[171, 172], "valid", [], "NV8"], [[173, 173], "ignored"], [[174, 174], "valid", [], "NV8"], [[175, 175], "disallowed_STD3_mapped", [32, 772]], [[176, 177], "valid", [], "NV8"], [[178, 178], "mapped", [50]], [[179, 179], "mapped", [51]], [[180, 180], "disallowed_STD3_mapped", [32, 769]], [[181, 181], "mapped", [956]], [[182, 182], "valid", [], "NV8"], [[183, 183], "valid"], [[184, 184], "disallowed_STD3_mapped", [32, 807]], [[185, 185], "mapped", [49]], [[186, 186], "mapped", [111]], [[187, 187], "valid", [], "NV8"], [[188, 188], "mapped", [49, 8260, 52]], [[189, 189], "mapped", [49, 8260, 50]], [[190, 190], "mapped", [51, 8260, 52]], [[191, 191], "valid", [], "NV8"], [[192, 192], "mapped", [224]], [[193, 193], "mapped", [225]], [[194, 194], "mapped", [226]], [[195, 195], "mapped", [227]], [[196, 196], "mapped", [228]], [[197, 197], "mapped", [229]], [[198, 198], "mapped", [230]], [[199, 199], "mapped", [231]], [[200, 200], "mapped", [232]], [[201, 201], "mapped", [233]], [[202, 202], "mapped", [234]], [[203, 203], "mapped", [235]], [[204, 204], "mapped", [236]], [[205, 205], "mapped", [237]], [[206, 206], "mapped", [238]], [[207, 207], "mapped", [239]], [[208, 208], "mapped", [240]], [[209, 209], "mapped", [241]], [[210, 210], "mapped", [242]], [[211, 211], "mapped", [243]], [[212, 212], "mapped", [244]], [[213, 213], "mapped", [245]], [[214, 214], "mapped", [246]], [[215, 215], "valid", [], "NV8"], [[216, 216], "mapped", [248]], [[217, 217], "mapped", [249]], [[218, 218], "mapped", [250]], [[219, 219], "mapped", [251]], [[220, 220], "mapped", [252]], [[221, 221], "mapped", [253]], [[222, 222], "mapped", [254]], [[223, 223], "deviation", [115, 115]], [[224, 246], "valid"], [[247, 247], "valid", [], "NV8"], [[248, 255], "valid"], [[256, 256], "mapped", [257]], [[257, 257], "valid"], [[258, 258], "mapped", [259]], [[259, 259], "valid"], [[260, 260], "mapped", [261]], [[261, 261], "valid"], [[262, 262], "mapped", [263]], [[263, 263], "valid"], [[264, 264], "mapped", [265]], [[265, 265], "valid"], [[266, 266], "mapped", [267]], [[267, 267], "valid"], [[268, 268], "mapped", [269]], [[269, 269], "valid"], [[270, 270], "mapped", [271]], [[271, 271], "valid"], [[272, 272], "mapped", [273]], [[273, 273], "valid"], [[274, 274], "mapped", [275]], [[275, 275], "valid"], [[276, 276], "mapped", [277]], [[277, 277], "valid"], [[278, 278], "mapped", [279]], [[279, 279], "valid"], [[280, 280], "mapped", [281]], [[281, 281], "valid"], [[282, 282], "mapped", [283]], [[283, 283], "valid"], [[284, 284], "mapped", [285]], [[285, 285], "valid"], [[286, 286], "mapped", [287]], [[287, 287], "valid"], [[288, 288], "mapped", [289]], [[289, 289], "valid"], [[290, 290], "mapped", [291]], [[291, 291], "valid"], [[292, 292], "mapped", [293]], [[293, 293], "valid"], [[294, 294], "mapped", [295]], [[295, 295], "valid"], [[296, 296], "mapped", [297]], [[297, 297], "valid"], [[298, 298], "mapped", [299]], [[299, 299], "valid"], [[300, 300], "mapped", [301]], [[301, 301], "valid"], [[302, 302], "mapped", [303]], [[303, 303], "valid"], [[304, 304], "mapped", [105, 775]], [[305, 305], "valid"], [[306, 307], "mapped", [105, 106]], [[308, 308], "mapped", [309]], [[309, 309], "valid"], [[310, 310], "mapped", [311]], [[311, 312], "valid"], [[313, 313], "mapped", [314]], [[314, 314], "valid"], [[315, 315], "mapped", [316]], [[316, 316], "valid"], [[317, 317], "mapped", [318]], [[318, 318], "valid"], [[319, 320], "mapped", [108, 183]], [[321, 321], "mapped", [322]], [[322, 322], "valid"], [[323, 323], "mapped", [324]], [[324, 324], "valid"], [[325, 325], "mapped", [326]], [[326, 326], "valid"], [[327, 327], "mapped", [328]], [[328, 328], "valid"], [[329, 329], "mapped", [700, 110]], [[330, 330], "mapped", [331]], [[331, 331], "valid"], [[332, 332], "mapped", [333]], [[333, 333], "valid"], [[334, 334], "mapped", [335]], [[335, 335], "valid"], [[336, 336], "mapped", [337]], [[337, 337], "valid"], [[338, 338], "mapped", [339]], [[339, 339], "valid"], [[340, 340], "mapped", [341]], [[341, 341], "valid"], [[342, 342], "mapped", [343]], [[343, 343], "valid"], [[344, 344], "mapped", [345]], [[345, 345], "valid"], [[346, 346], "mapped", [347]], [[347, 347], "valid"], [[348, 348], "mapped", [349]], [[349, 349], "valid"], [[350, 350], "mapped", [351]], [[351, 351], "valid"], [[352, 352], "mapped", [353]], [[353, 353], "valid"], [[354, 354], "mapped", [355]], [[355, 355], "valid"], [[356, 356], "mapped", [357]], [[357, 357], "valid"], [[358, 358], "mapped", [359]], [[359, 359], "valid"], [[360, 360], "mapped", [361]], [[361, 361], "valid"], [[362, 362], "mapped", [363]], [[363, 363], "valid"], [[364, 364], "mapped", [365]], [[365, 365], "valid"], [[366, 366], "mapped", [367]], [[367, 367], "valid"], [[368, 368], "mapped", [369]], [[369, 369], "valid"], [[370, 370], "mapped", [371]], [[371, 371], "valid"], [[372, 372], "mapped", [373]], [[373, 373], "valid"], [[374, 374], "mapped", [375]], [[375, 375], "valid"], [[376, 376], "mapped", [255]], [[377, 377], "mapped", [378]], [[378, 378], "valid"], [[379, 379], "mapped", [380]], [[380, 380], "valid"], [[381, 381], "mapped", [382]], [[382, 382], "valid"], [[383, 383], "mapped", [115]], [[384, 384], "valid"], [[385, 385], "mapped", [595]], [[386, 386], "mapped", [387]], [[387, 387], "valid"], [[388, 388], "mapped", [389]], [[389, 389], "valid"], [[390, 390], "mapped", [596]], [[391, 391], "mapped", [392]], [[392, 392], "valid"], [[393, 393], "mapped", [598]], [[394, 394], "mapped", [599]], [[395, 395], "mapped", [396]], [[396, 397], "valid"], [[398, 398], "mapped", [477]], [[399, 399], "mapped", [601]], [[400, 400], "mapped", [603]], [[401, 401], "mapped", [402]], [[402, 402], "valid"], [[403, 403], "mapped", [608]], [[404, 404], "mapped", [611]], [[405, 405], "valid"], [[406, 406], "mapped", [617]], [[407, 407], "mapped", [616]], [[408, 408], "mapped", [409]], [[409, 411], "valid"], [[412, 412], "mapped", [623]], [[413, 413], "mapped", [626]], [[414, 414], "valid"], [[415, 415], "mapped", [629]], [[416, 416], "mapped", [417]], [[417, 417], "valid"], [[418, 418], "mapped", [419]], [[419, 419], "valid"], [[420, 420], "mapped", [421]], [[421, 421], "valid"], [[422, 422], "mapped", [640]], [[423, 423], "mapped", [424]], [[424, 424], "valid"], [[425, 425], "mapped", [643]], [[426, 427], "valid"], [[428, 428], "mapped", [429]], [[429, 429], "valid"], [[430, 430], "mapped", [648]], [[431, 431], "mapped", [432]], [[432, 432], "valid"], [[433, 433], "mapped", [650]], [[434, 434], "mapped", [651]], [[435, 435], "mapped", [436]], [[436, 436], "valid"], [[437, 437], "mapped", [438]], [[438, 438], "valid"], [[439, 439], "mapped", [658]], [[440, 440], "mapped", [441]], [[441, 443], "valid"], [[444, 444], "mapped", [445]], [[445, 451], "valid"], [[452, 454], "mapped", [100, 382]], [[455, 457], "mapped", [108, 106]], [[458, 460], "mapped", [110, 106]], [[461, 461], "mapped", [462]], [[462, 462], "valid"], [[463, 463], "mapped", [464]], [[464, 464], "valid"], [[465, 465], "mapped", [466]], [[466, 466], "valid"], [[467, 467], "mapped", [468]], [[468, 468], "valid"], [[469, 469], "mapped", [470]], [[470, 470], "valid"], [[471, 471], "mapped", [472]], [[472, 472], "valid"], [[473, 473], "mapped", [474]], [[474, 474], "valid"], [[475, 475], "mapped", [476]], [[476, 477], "valid"], [[478, 478], "mapped", [479]], [[479, 479], "valid"], [[480, 480], "mapped", [481]], [[481, 481], "valid"], [[482, 482], "mapped", [483]], [[483, 483], "valid"], [[484, 484], "mapped", [485]], [[485, 485], "valid"], [[486, 486], "mapped", [487]], [[487, 487], "valid"], [[488, 488], "mapped", [489]], [[489, 489], "valid"], [[490, 490], "mapped", [491]], [[491, 491], "valid"], [[492, 492], "mapped", [493]], [[493, 493], "valid"], [[494, 494], "mapped", [495]], [[495, 496], "valid"], [[497, 499], "mapped", [100, 122]], [[500, 500], "mapped", [501]], [[501, 501], "valid"], [[502, 502], "mapped", [405]], [[503, 503], "mapped", [447]], [[504, 504], "mapped", [505]], [[505, 505], "valid"], [[506, 506], "mapped", [507]], [[507, 507], "valid"], [[508, 508], "mapped", [509]], [[509, 509], "valid"], [[510, 510], "mapped", [511]], [[511, 511], "valid"], [[512, 512], "mapped", [513]], [[513, 513], "valid"], [[514, 514], "mapped", [515]], [[515, 515], "valid"], [[516, 516], "mapped", [517]], [[517, 517], "valid"], [[518, 518], "mapped", [519]], [[519, 519], "valid"], [[520, 520], "mapped", [521]], [[521, 521], "valid"], [[522, 522], "mapped", [523]], [[523, 523], "valid"], [[524, 524], "mapped", [525]], [[525, 525], "valid"], [[526, 526], "mapped", [527]], [[527, 527], "valid"], [[528, 528], "mapped", [529]], [[529, 529], "valid"], [[530, 530], "mapped", [531]], [[531, 531], "valid"], [[532, 532], "mapped", [533]], [[533, 533], "valid"], [[534, 534], "mapped", [535]], [[535, 535], "valid"], [[536, 536], "mapped", [537]], [[537, 537], "valid"], [[538, 538], "mapped", [539]], [[539, 539], "valid"], [[540, 540], "mapped", [541]], [[541, 541], "valid"], [[542, 542], "mapped", [543]], [[543, 543], "valid"], [[544, 544], "mapped", [414]], [[545, 545], "valid"], [[546, 546], "mapped", [547]], [[547, 547], "valid"], [[548, 548], "mapped", [549]], [[549, 549], "valid"], [[550, 550], "mapped", [551]], [[551, 551], "valid"], [[552, 552], "mapped", [553]], [[553, 553], "valid"], [[554, 554], "mapped", [555]], [[555, 555], "valid"], [[556, 556], "mapped", [557]], [[557, 557], "valid"], [[558, 558], "mapped", [559]], [[559, 559], "valid"], [[560, 560], "mapped", [561]], [[561, 561], "valid"], [[562, 562], "mapped", [563]], [[563, 563], "valid"], [[564, 566], "valid"], [[567, 569], "valid"], [[570, 570], "mapped", [11365]], [[571, 571], "mapped", [572]], [[572, 572], "valid"], [[573, 573], "mapped", [410]], [[574, 574], "mapped", [11366]], [[575, 576], "valid"], [[577, 577], "mapped", [578]], [[578, 578], "valid"], [[579, 579], "mapped", [384]], [[580, 580], "mapped", [649]], [[581, 581], "mapped", [652]], [[582, 582], "mapped", [583]], [[583, 583], "valid"], [[584, 584], "mapped", [585]], [[585, 585], "valid"], [[586, 586], "mapped", [587]], [[587, 587], "valid"], [[588, 588], "mapped", [589]], [[589, 589], "valid"], [[590, 590], "mapped", [591]], [[591, 591], "valid"], [[592, 680], "valid"], [[681, 685], "valid"], [[686, 687], "valid"], [[688, 688], "mapped", [104]], [[689, 689], "mapped", [614]], [[690, 690], "mapped", [106]], [[691, 691], "mapped", [114]], [[692, 692], "mapped", [633]], [[693, 693], "mapped", [635]], [[694, 694], "mapped", [641]], [[695, 695], "mapped", [119]], [[696, 696], "mapped", [121]], [[697, 705], "valid"], [[706, 709], "valid", [], "NV8"], [[710, 721], "valid"], [[722, 727], "valid", [], "NV8"], [[728, 728], "disallowed_STD3_mapped", [32, 774]], [[729, 729], "disallowed_STD3_mapped", [32, 775]], [[730, 730], "disallowed_STD3_mapped", [32, 778]], [[731, 731], "disallowed_STD3_mapped", [32, 808]], [[732, 732], "disallowed_STD3_mapped", [32, 771]], [[733, 733], "disallowed_STD3_mapped", [32, 779]], [[734, 734], "valid", [], "NV8"], [[735, 735], "valid", [], "NV8"], [[736, 736], "mapped", [611]], [[737, 737], "mapped", [108]], [[738, 738], "mapped", [115]], [[739, 739], "mapped", [120]], [[740, 740], "mapped", [661]], [[741, 745], "valid", [], "NV8"], [[746, 747], "valid", [], "NV8"], [[748, 748], "valid"], [[749, 749], "valid", [], "NV8"], [[750, 750], "valid"], [[751, 767], "valid", [], "NV8"], [[768, 831], "valid"], [[832, 832], "mapped", [768]], [[833, 833], "mapped", [769]], [[834, 834], "valid"], [[835, 835], "mapped", [787]], [[836, 836], "mapped", [776, 769]], [[837, 837], "mapped", [953]], [[838, 846], "valid"], [[847, 847], "ignored"], [[848, 855], "valid"], [[856, 860], "valid"], [[861, 863], "valid"], [[864, 865], "valid"], [[866, 866], "valid"], [[867, 879], "valid"], [[880, 880], "mapped", [881]], [[881, 881], "valid"], [[882, 882], "mapped", [883]], [[883, 883], "valid"], [[884, 884], "mapped", [697]], [[885, 885], "valid"], [[886, 886], "mapped", [887]], [[887, 887], "valid"], [[888, 889], "disallowed"], [[890, 890], "disallowed_STD3_mapped", [32, 953]], [[891, 893], "valid"], [[894, 894], "disallowed_STD3_mapped", [59]], [[895, 895], "mapped", [1011]], [[896, 899], "disallowed"], [[900, 900], "disallowed_STD3_mapped", [32, 769]], [[901, 901], "disallowed_STD3_mapped", [32, 776, 769]], [[902, 902], "mapped", [940]], [[903, 903], "mapped", [183]], [[904, 904], "mapped", [941]], [[905, 905], "mapped", [942]], [[906, 906], "mapped", [943]], [[907, 907], "disallowed"], [[908, 908], "mapped", [972]], [[909, 909], "disallowed"], [[910, 910], "mapped", [973]], [[911, 911], "mapped", [974]], [[912, 912], "valid"], [[913, 913], "mapped", [945]], [[914, 914], "mapped", [946]], [[915, 915], "mapped", [947]], [[916, 916], "mapped", [948]], [[917, 917], "mapped", [949]], [[918, 918], "mapped", [950]], [[919, 919], "mapped", [951]], [[920, 920], "mapped", [952]], [[921, 921], "mapped", [953]], [[922, 922], "mapped", [954]], [[923, 923], "mapped", [955]], [[924, 924], "mapped", [956]], [[925, 925], "mapped", [957]], [[926, 926], "mapped", [958]], [[927, 927], "mapped", [959]], [[928, 928], "mapped", [960]], [[929, 929], "mapped", [961]], [[930, 930], "disallowed"], [[931, 931], "mapped", [963]], [[932, 932], "mapped", [964]], [[933, 933], "mapped", [965]], [[934, 934], "mapped", [966]], [[935, 935], "mapped", [967]], [[936, 936], "mapped", [968]], [[937, 937], "mapped", [969]], [[938, 938], "mapped", [970]], [[939, 939], "mapped", [971]], [[940, 961], "valid"], [[962, 962], "deviation", [963]], [[963, 974], "valid"], [[975, 975], "mapped", [983]], [[976, 976], "mapped", [946]], [[977, 977], "mapped", [952]], [[978, 978], "mapped", [965]], [[979, 979], "mapped", [973]], [[980, 980], "mapped", [971]], [[981, 981], "mapped", [966]], [[982, 982], "mapped", [960]], [[983, 983], "valid"], [[984, 984], "mapped", [985]], [[985, 985], "valid"], [[986, 986], "mapped", [987]], [[987, 987], "valid"], [[988, 988], "mapped", [989]], [[989, 989], "valid"], [[990, 990], "mapped", [991]], [[991, 991], "valid"], [[992, 992], "mapped", [993]], [[993, 993], "valid"], [[994, 994], "mapped", [995]], [[995, 995], "valid"], [[996, 996], "mapped", [997]], [[997, 997], "valid"], [[998, 998], "mapped", [999]], [[999, 999], "valid"], [[1e3, 1e3], "mapped", [1001]], [[1001, 1001], "valid"], [[1002, 1002], "mapped", [1003]], [[1003, 1003], "valid"], [[1004, 1004], "mapped", [1005]], [[1005, 1005], "valid"], [[1006, 1006], "mapped", [1007]], [[1007, 1007], "valid"], [[1008, 1008], "mapped", [954]], [[1009, 1009], "mapped", [961]], [[1010, 1010], "mapped", [963]], [[1011, 1011], "valid"], [[1012, 1012], "mapped", [952]], [[1013, 1013], "mapped", [949]], [[1014, 1014], "valid", [], "NV8"], [[1015, 1015], "mapped", [1016]], [[1016, 1016], "valid"], [[1017, 1017], "mapped", [963]], [[1018, 1018], "mapped", [1019]], [[1019, 1019], "valid"], [[1020, 1020], "valid"], [[1021, 1021], "mapped", [891]], [[1022, 1022], "mapped", [892]], [[1023, 1023], "mapped", [893]], [[1024, 1024], "mapped", [1104]], [[1025, 1025], "mapped", [1105]], [[1026, 1026], "mapped", [1106]], [[1027, 1027], "mapped", [1107]], [[1028, 1028], "mapped", [1108]], [[1029, 1029], "mapped", [1109]], [[1030, 1030], "mapped", [1110]], [[1031, 1031], "mapped", [1111]], [[1032, 1032], "mapped", [1112]], [[1033, 1033], "mapped", [1113]], [[1034, 1034], "mapped", [1114]], [[1035, 1035], "mapped", [1115]], [[1036, 1036], "mapped", [1116]], [[1037, 1037], "mapped", [1117]], [[1038, 1038], "mapped", [1118]], [[1039, 1039], "mapped", [1119]], [[1040, 1040], "mapped", [1072]], [[1041, 1041], "mapped", [1073]], [[1042, 1042], "mapped", [1074]], [[1043, 1043], "mapped", [1075]], [[1044, 1044], "mapped", [1076]], [[1045, 1045], "mapped", [1077]], [[1046, 1046], "mapped", [1078]], [[1047, 1047], "mapped", [1079]], [[1048, 1048], "mapped", [1080]], [[1049, 1049], "mapped", [1081]], [[1050, 1050], "mapped", [1082]], [[1051, 1051], "mapped", [1083]], [[1052, 1052], "mapped", [1084]], [[1053, 1053], "mapped", [1085]], [[1054, 1054], "mapped", [1086]], [[1055, 1055], "mapped", [1087]], [[1056, 1056], "mapped", [1088]], [[1057, 1057], "mapped", [1089]], [[1058, 1058], "mapped", [1090]], [[1059, 1059], "mapped", [1091]], [[1060, 1060], "mapped", [1092]], [[1061, 1061], "mapped", [1093]], [[1062, 1062], "mapped", [1094]], [[1063, 1063], "mapped", [1095]], [[1064, 1064], "mapped", [1096]], [[1065, 1065], "mapped", [1097]], [[1066, 1066], "mapped", [1098]], [[1067, 1067], "mapped", [1099]], [[1068, 1068], "mapped", [1100]], [[1069, 1069], "mapped", [1101]], [[1070, 1070], "mapped", [1102]], [[1071, 1071], "mapped", [1103]], [[1072, 1103], "valid"], [[1104, 1104], "valid"], [[1105, 1116], "valid"], [[1117, 1117], "valid"], [[1118, 1119], "valid"], [[1120, 1120], "mapped", [1121]], [[1121, 1121], "valid"], [[1122, 1122], "mapped", [1123]], [[1123, 1123], "valid"], [[1124, 1124], "mapped", [1125]], [[1125, 1125], "valid"], [[1126, 1126], "mapped", [1127]], [[1127, 1127], "valid"], [[1128, 1128], "mapped", [1129]], [[1129, 1129], "valid"], [[1130, 1130], "mapped", [1131]], [[1131, 1131], "valid"], [[1132, 1132], "mapped", [1133]], [[1133, 1133], "valid"], [[1134, 1134], "mapped", [1135]], [[1135, 1135], "valid"], [[1136, 1136], "mapped", [1137]], [[1137, 1137], "valid"], [[1138, 1138], "mapped", [1139]], [[1139, 1139], "valid"], [[1140, 1140], "mapped", [1141]], [[1141, 1141], "valid"], [[1142, 1142], "mapped", [1143]], [[1143, 1143], "valid"], [[1144, 1144], "mapped", [1145]], [[1145, 1145], "valid"], [[1146, 1146], "mapped", [1147]], [[1147, 1147], "valid"], [[1148, 1148], "mapped", [1149]], [[1149, 1149], "valid"], [[1150, 1150], "mapped", [1151]], [[1151, 1151], "valid"], [[1152, 1152], "mapped", [1153]], [[1153, 1153], "valid"], [[1154, 1154], "valid", [], "NV8"], [[1155, 1158], "valid"], [[1159, 1159], "valid"], [[1160, 1161], "valid", [], "NV8"], [[1162, 1162], "mapped", [1163]], [[1163, 1163], "valid"], [[1164, 1164], "mapped", [1165]], [[1165, 1165], "valid"], [[1166, 1166], "mapped", [1167]], [[1167, 1167], "valid"], [[1168, 1168], "mapped", [1169]], [[1169, 1169], "valid"], [[1170, 1170], "mapped", [1171]], [[1171, 1171], "valid"], [[1172, 1172], "mapped", [1173]], [[1173, 1173], "valid"], [[1174, 1174], "mapped", [1175]], [[1175, 1175], "valid"], [[1176, 1176], "mapped", [1177]], [[1177, 1177], "valid"], [[1178, 1178], "mapped", [1179]], [[1179, 1179], "valid"], [[1180, 1180], "mapped", [1181]], [[1181, 1181], "valid"], [[1182, 1182], "mapped", [1183]], [[1183, 1183], "valid"], [[1184, 1184], "mapped", [1185]], [[1185, 1185], "valid"], [[1186, 1186], "mapped", [1187]], [[1187, 1187], "valid"], [[1188, 1188], "mapped", [1189]], [[1189, 1189], "valid"], [[1190, 1190], "mapped", [1191]], [[1191, 1191], "valid"], [[1192, 1192], "mapped", [1193]], [[1193, 1193], "valid"], [[1194, 1194], "mapped", [1195]], [[1195, 1195], "valid"], [[1196, 1196], "mapped", [1197]], [[1197, 1197], "valid"], [[1198, 1198], "mapped", [1199]], [[1199, 1199], "valid"], [[1200, 1200], "mapped", [1201]], [[1201, 1201], "valid"], [[1202, 1202], "mapped", [1203]], [[1203, 1203], "valid"], [[1204, 1204], "mapped", [1205]], [[1205, 1205], "valid"], [[1206, 1206], "mapped", [1207]], [[1207, 1207], "valid"], [[1208, 1208], "mapped", [1209]], [[1209, 1209], "valid"], [[1210, 1210], "mapped", [1211]], [[1211, 1211], "valid"], [[1212, 1212], "mapped", [1213]], [[1213, 1213], "valid"], [[1214, 1214], "mapped", [1215]], [[1215, 1215], "valid"], [[1216, 1216], "disallowed"], [[1217, 1217], "mapped", [1218]], [[1218, 1218], "valid"], [[1219, 1219], "mapped", [1220]], [[1220, 1220], "valid"], [[1221, 1221], "mapped", [1222]], [[1222, 1222], "valid"], [[1223, 1223], "mapped", [1224]], [[1224, 1224], "valid"], [[1225, 1225], "mapped", [1226]], [[1226, 1226], "valid"], [[1227, 1227], "mapped", [1228]], [[1228, 1228], "valid"], [[1229, 1229], "mapped", [1230]], [[1230, 1230], "valid"], [[1231, 1231], "valid"], [[1232, 1232], "mapped", [1233]], [[1233, 1233], "valid"], [[1234, 1234], "mapped", [1235]], [[1235, 1235], "valid"], [[1236, 1236], "mapped", [1237]], [[1237, 1237], "valid"], [[1238, 1238], "mapped", [1239]], [[1239, 1239], "valid"], [[1240, 1240], "mapped", [1241]], [[1241, 1241], "valid"], [[1242, 1242], "mapped", [1243]], [[1243, 1243], "valid"], [[1244, 1244], "mapped", [1245]], [[1245, 1245], "valid"], [[1246, 1246], "mapped", [1247]], [[1247, 1247], "valid"], [[1248, 1248], "mapped", [1249]], [[1249, 1249], "valid"], [[1250, 1250], "mapped", [1251]], [[1251, 1251], "valid"], [[1252, 1252], "mapped", [1253]], [[1253, 1253], "valid"], [[1254, 1254], "mapped", [1255]], [[1255, 1255], "valid"], [[1256, 1256], "mapped", [1257]], [[1257, 1257], "valid"], [[1258, 1258], "mapped", [1259]], [[1259, 1259], "valid"], [[1260, 1260], "mapped", [1261]], [[1261, 1261], "valid"], [[1262, 1262], "mapped", [1263]], [[1263, 1263], "valid"], [[1264, 1264], "mapped", [1265]], [[1265, 1265], "valid"], [[1266, 1266], "mapped", [1267]], [[1267, 1267], "valid"], [[1268, 1268], "mapped", [1269]], [[1269, 1269], "valid"], [[1270, 1270], "mapped", [1271]], [[1271, 1271], "valid"], [[1272, 1272], "mapped", [1273]], [[1273, 1273], "valid"], [[1274, 1274], "mapped", [1275]], [[1275, 1275], "valid"], [[1276, 1276], "mapped", [1277]], [[1277, 1277], "valid"], [[1278, 1278], "mapped", [1279]], [[1279, 1279], "valid"], [[1280, 1280], "mapped", [1281]], [[1281, 1281], "valid"], [[1282, 1282], "mapped", [1283]], [[1283, 1283], "valid"], [[1284, 1284], "mapped", [1285]], [[1285, 1285], "valid"], [[1286, 1286], "mapped", [1287]], [[1287, 1287], "valid"], [[1288, 1288], "mapped", [1289]], [[1289, 1289], "valid"], [[1290, 1290], "mapped", [1291]], [[1291, 1291], "valid"], [[1292, 1292], "mapped", [1293]], [[1293, 1293], "valid"], [[1294, 1294], "mapped", [1295]], [[1295, 1295], "valid"], [[1296, 1296], "mapped", [1297]], [[1297, 1297], "valid"], [[1298, 1298], "mapped", [1299]], [[1299, 1299], "valid"], [[1300, 1300], "mapped", [1301]], [[1301, 1301], "valid"], [[1302, 1302], "mapped", [1303]], [[1303, 1303], "valid"], [[1304, 1304], "mapped", [1305]], [[1305, 1305], "valid"], [[1306, 1306], "mapped", [1307]], [[1307, 1307], "valid"], [[1308, 1308], "mapped", [1309]], [[1309, 1309], "valid"], [[1310, 1310], "mapped", [1311]], [[1311, 1311], "valid"], [[1312, 1312], "mapped", [1313]], [[1313, 1313], "valid"], [[1314, 1314], "mapped", [1315]], [[1315, 1315], "valid"], [[1316, 1316], "mapped", [1317]], [[1317, 1317], "valid"], [[1318, 1318], "mapped", [1319]], [[1319, 1319], "valid"], [[1320, 1320], "mapped", [1321]], [[1321, 1321], "valid"], [[1322, 1322], "mapped", [1323]], [[1323, 1323], "valid"], [[1324, 1324], "mapped", [1325]], [[1325, 1325], "valid"], [[1326, 1326], "mapped", [1327]], [[1327, 1327], "valid"], [[1328, 1328], "disallowed"], [[1329, 1329], "mapped", [1377]], [[1330, 1330], "mapped", [1378]], [[1331, 1331], "mapped", [1379]], [[1332, 1332], "mapped", [1380]], [[1333, 1333], "mapped", [1381]], [[1334, 1334], "mapped", [1382]], [[1335, 1335], "mapped", [1383]], [[1336, 1336], "mapped", [1384]], [[1337, 1337], "mapped", [1385]], [[1338, 1338], "mapped", [1386]], [[1339, 1339], "mapped", [1387]], [[1340, 1340], "mapped", [1388]], [[1341, 1341], "mapped", [1389]], [[1342, 1342], "mapped", [1390]], [[1343, 1343], "mapped", [1391]], [[1344, 1344], "mapped", [1392]], [[1345, 1345], "mapped", [1393]], [[1346, 1346], "mapped", [1394]], [[1347, 1347], "mapped", [1395]], [[1348, 1348], "mapped", [1396]], [[1349, 1349], "mapped", [1397]], [[1350, 1350], "mapped", [1398]], [[1351, 1351], "mapped", [1399]], [[1352, 1352], "mapped", [1400]], [[1353, 1353], "mapped", [1401]], [[1354, 1354], "mapped", [1402]], [[1355, 1355], "mapped", [1403]], [[1356, 1356], "mapped", [1404]], [[1357, 1357], "mapped", [1405]], [[1358, 1358], "mapped", [1406]], [[1359, 1359], "mapped", [1407]], [[1360, 1360], "mapped", [1408]], [[1361, 1361], "mapped", [1409]], [[1362, 1362], "mapped", [1410]], [[1363, 1363], "mapped", [1411]], [[1364, 1364], "mapped", [1412]], [[1365, 1365], "mapped", [1413]], [[1366, 1366], "mapped", [1414]], [[1367, 1368], "disallowed"], [[1369, 1369], "valid"], [[1370, 1375], "valid", [], "NV8"], [[1376, 1376], "disallowed"], [[1377, 1414], "valid"], [[1415, 1415], "mapped", [1381, 1410]], [[1416, 1416], "disallowed"], [[1417, 1417], "valid", [], "NV8"], [[1418, 1418], "valid", [], "NV8"], [[1419, 1420], "disallowed"], [[1421, 1422], "valid", [], "NV8"], [[1423, 1423], "valid", [], "NV8"], [[1424, 1424], "disallowed"], [[1425, 1441], "valid"], [[1442, 1442], "valid"], [[1443, 1455], "valid"], [[1456, 1465], "valid"], [[1466, 1466], "valid"], [[1467, 1469], "valid"], [[1470, 1470], "valid", [], "NV8"], [[1471, 1471], "valid"], [[1472, 1472], "valid", [], "NV8"], [[1473, 1474], "valid"], [[1475, 1475], "valid", [], "NV8"], [[1476, 1476], "valid"], [[1477, 1477], "valid"], [[1478, 1478], "valid", [], "NV8"], [[1479, 1479], "valid"], [[1480, 1487], "disallowed"], [[1488, 1514], "valid"], [[1515, 1519], "disallowed"], [[1520, 1524], "valid"], [[1525, 1535], "disallowed"], [[1536, 1539], "disallowed"], [[1540, 1540], "disallowed"], [[1541, 1541], "disallowed"], [[1542, 1546], "valid", [], "NV8"], [[1547, 1547], "valid", [], "NV8"], [[1548, 1548], "valid", [], "NV8"], [[1549, 1551], "valid", [], "NV8"], [[1552, 1557], "valid"], [[1558, 1562], "valid"], [[1563, 1563], "valid", [], "NV8"], [[1564, 1564], "disallowed"], [[1565, 1565], "disallowed"], [[1566, 1566], "valid", [], "NV8"], [[1567, 1567], "valid", [], "NV8"], [[1568, 1568], "valid"], [[1569, 1594], "valid"], [[1595, 1599], "valid"], [[1600, 1600], "valid", [], "NV8"], [[1601, 1618], "valid"], [[1619, 1621], "valid"], [[1622, 1624], "valid"], [[1625, 1630], "valid"], [[1631, 1631], "valid"], [[1632, 1641], "valid"], [[1642, 1645], "valid", [], "NV8"], [[1646, 1647], "valid"], [[1648, 1652], "valid"], [[1653, 1653], "mapped", [1575, 1652]], [[1654, 1654], "mapped", [1608, 1652]], [[1655, 1655], "mapped", [1735, 1652]], [[1656, 1656], "mapped", [1610, 1652]], [[1657, 1719], "valid"], [[1720, 1721], "valid"], [[1722, 1726], "valid"], [[1727, 1727], "valid"], [[1728, 1742], "valid"], [[1743, 1743], "valid"], [[1744, 1747], "valid"], [[1748, 1748], "valid", [], "NV8"], [[1749, 1756], "valid"], [[1757, 1757], "disallowed"], [[1758, 1758], "valid", [], "NV8"], [[1759, 1768], "valid"], [[1769, 1769], "valid", [], "NV8"], [[1770, 1773], "valid"], [[1774, 1775], "valid"], [[1776, 1785], "valid"], [[1786, 1790], "valid"], [[1791, 1791], "valid"], [[1792, 1805], "valid", [], "NV8"], [[1806, 1806], "disallowed"], [[1807, 1807], "disallowed"], [[1808, 1836], "valid"], [[1837, 1839], "valid"], [[1840, 1866], "valid"], [[1867, 1868], "disallowed"], [[1869, 1871], "valid"], [[1872, 1901], "valid"], [[1902, 1919], "valid"], [[1920, 1968], "valid"], [[1969, 1969], "valid"], [[1970, 1983], "disallowed"], [[1984, 2037], "valid"], [[2038, 2042], "valid", [], "NV8"], [[2043, 2047], "disallowed"], [[2048, 2093], "valid"], [[2094, 2095], "disallowed"], [[2096, 2110], "valid", [], "NV8"], [[2111, 2111], "disallowed"], [[2112, 2139], "valid"], [[2140, 2141], "disallowed"], [[2142, 2142], "valid", [], "NV8"], [[2143, 2207], "disallowed"], [[2208, 2208], "valid"], [[2209, 2209], "valid"], [[2210, 2220], "valid"], [[2221, 2226], "valid"], [[2227, 2228], "valid"], [[2229, 2274], "disallowed"], [[2275, 2275], "valid"], [[2276, 2302], "valid"], [[2303, 2303], "valid"], [[2304, 2304], "valid"], [[2305, 2307], "valid"], [[2308, 2308], "valid"], [[2309, 2361], "valid"], [[2362, 2363], "valid"], [[2364, 2381], "valid"], [[2382, 2382], "valid"], [[2383, 2383], "valid"], [[2384, 2388], "valid"], [[2389, 2389], "valid"], [[2390, 2391], "valid"], [[2392, 2392], "mapped", [2325, 2364]], [[2393, 2393], "mapped", [2326, 2364]], [[2394, 2394], "mapped", [2327, 2364]], [[2395, 2395], "mapped", [2332, 2364]], [[2396, 2396], "mapped", [2337, 2364]], [[2397, 2397], "mapped", [2338, 2364]], [[2398, 2398], "mapped", [2347, 2364]], [[2399, 2399], "mapped", [2351, 2364]], [[2400, 2403], "valid"], [[2404, 2405], "valid", [], "NV8"], [[2406, 2415], "valid"], [[2416, 2416], "valid", [], "NV8"], [[2417, 2418], "valid"], [[2419, 2423], "valid"], [[2424, 2424], "valid"], [[2425, 2426], "valid"], [[2427, 2428], "valid"], [[2429, 2429], "valid"], [[2430, 2431], "valid"], [[2432, 2432], "valid"], [[2433, 2435], "valid"], [[2436, 2436], "disallowed"], [[2437, 2444], "valid"], [[2445, 2446], "disallowed"], [[2447, 2448], "valid"], [[2449, 2450], "disallowed"], [[2451, 2472], "valid"], [[2473, 2473], "disallowed"], [[2474, 2480], "valid"], [[2481, 2481], "disallowed"], [[2482, 2482], "valid"], [[2483, 2485], "disallowed"], [[2486, 2489], "valid"], [[2490, 2491], "disallowed"], [[2492, 2492], "valid"], [[2493, 2493], "valid"], [[2494, 2500], "valid"], [[2501, 2502], "disallowed"], [[2503, 2504], "valid"], [[2505, 2506], "disallowed"], [[2507, 2509], "valid"], [[2510, 2510], "valid"], [[2511, 2518], "disallowed"], [[2519, 2519], "valid"], [[2520, 2523], "disallowed"], [[2524, 2524], "mapped", [2465, 2492]], [[2525, 2525], "mapped", [2466, 2492]], [[2526, 2526], "disallowed"], [[2527, 2527], "mapped", [2479, 2492]], [[2528, 2531], "valid"], [[2532, 2533], "disallowed"], [[2534, 2545], "valid"], [[2546, 2554], "valid", [], "NV8"], [[2555, 2555], "valid", [], "NV8"], [[2556, 2560], "disallowed"], [[2561, 2561], "valid"], [[2562, 2562], "valid"], [[2563, 2563], "valid"], [[2564, 2564], "disallowed"], [[2565, 2570], "valid"], [[2571, 2574], "disallowed"], [[2575, 2576], "valid"], [[2577, 2578], "disallowed"], [[2579, 2600], "valid"], [[2601, 2601], "disallowed"], [[2602, 2608], "valid"], [[2609, 2609], "disallowed"], [[2610, 2610], "valid"], [[2611, 2611], "mapped", [2610, 2620]], [[2612, 2612], "disallowed"], [[2613, 2613], "valid"], [[2614, 2614], "mapped", [2616, 2620]], [[2615, 2615], "disallowed"], [[2616, 2617], "valid"], [[2618, 2619], "disallowed"], [[2620, 2620], "valid"], [[2621, 2621], "disallowed"], [[2622, 2626], "valid"], [[2627, 2630], "disallowed"], [[2631, 2632], "valid"], [[2633, 2634], "disallowed"], [[2635, 2637], "valid"], [[2638, 2640], "disallowed"], [[2641, 2641], "valid"], [[2642, 2648], "disallowed"], [[2649, 2649], "mapped", [2582, 2620]], [[2650, 2650], "mapped", [2583, 2620]], [[2651, 2651], "mapped", [2588, 2620]], [[2652, 2652], "valid"], [[2653, 2653], "disallowed"], [[2654, 2654], "mapped", [2603, 2620]], [[2655, 2661], "disallowed"], [[2662, 2676], "valid"], [[2677, 2677], "valid"], [[2678, 2688], "disallowed"], [[2689, 2691], "valid"], [[2692, 2692], "disallowed"], [[2693, 2699], "valid"], [[2700, 2700], "valid"], [[2701, 2701], "valid"], [[2702, 2702], "disallowed"], [[2703, 2705], "valid"], [[2706, 2706], "disallowed"], [[2707, 2728], "valid"], [[2729, 2729], "disallowed"], [[2730, 2736], "valid"], [[2737, 2737], "disallowed"], [[2738, 2739], "valid"], [[2740, 2740], "disallowed"], [[2741, 2745], "valid"], [[2746, 2747], "disallowed"], [[2748, 2757], "valid"], [[2758, 2758], "disallowed"], [[2759, 2761], "valid"], [[2762, 2762], "disallowed"], [[2763, 2765], "valid"], [[2766, 2767], "disallowed"], [[2768, 2768], "valid"], [[2769, 2783], "disallowed"], [[2784, 2784], "valid"], [[2785, 2787], "valid"], [[2788, 2789], "disallowed"], [[2790, 2799], "valid"], [[2800, 2800], "valid", [], "NV8"], [[2801, 2801], "valid", [], "NV8"], [[2802, 2808], "disallowed"], [[2809, 2809], "valid"], [[2810, 2816], "disallowed"], [[2817, 2819], "valid"], [[2820, 2820], "disallowed"], [[2821, 2828], "valid"], [[2829, 2830], "disallowed"], [[2831, 2832], "valid"], [[2833, 2834], "disallowed"], [[2835, 2856], "valid"], [[2857, 2857], "disallowed"], [[2858, 2864], "valid"], [[2865, 2865], "disallowed"], [[2866, 2867], "valid"], [[2868, 2868], "disallowed"], [[2869, 2869], "valid"], [[2870, 2873], "valid"], [[2874, 2875], "disallowed"], [[2876, 2883], "valid"], [[2884, 2884], "valid"], [[2885, 2886], "disallowed"], [[2887, 2888], "valid"], [[2889, 2890], "disallowed"], [[2891, 2893], "valid"], [[2894, 2901], "disallowed"], [[2902, 2903], "valid"], [[2904, 2907], "disallowed"], [[2908, 2908], "mapped", [2849, 2876]], [[2909, 2909], "mapped", [2850, 2876]], [[2910, 2910], "disallowed"], [[2911, 2913], "valid"], [[2914, 2915], "valid"], [[2916, 2917], "disallowed"], [[2918, 2927], "valid"], [[2928, 2928], "valid", [], "NV8"], [[2929, 2929], "valid"], [[2930, 2935], "valid", [], "NV8"], [[2936, 2945], "disallowed"], [[2946, 2947], "valid"], [[2948, 2948], "disallowed"], [[2949, 2954], "valid"], [[2955, 2957], "disallowed"], [[2958, 2960], "valid"], [[2961, 2961], "disallowed"], [[2962, 2965], "valid"], [[2966, 2968], "disallowed"], [[2969, 2970], "valid"], [[2971, 2971], "disallowed"], [[2972, 2972], "valid"], [[2973, 2973], "disallowed"], [[2974, 2975], "valid"], [[2976, 2978], "disallowed"], [[2979, 2980], "valid"], [[2981, 2983], "disallowed"], [[2984, 2986], "valid"], [[2987, 2989], "disallowed"], [[2990, 2997], "valid"], [[2998, 2998], "valid"], [[2999, 3001], "valid"], [[3002, 3005], "disallowed"], [[3006, 3010], "valid"], [[3011, 3013], "disallowed"], [[3014, 3016], "valid"], [[3017, 3017], "disallowed"], [[3018, 3021], "valid"], [[3022, 3023], "disallowed"], [[3024, 3024], "valid"], [[3025, 3030], "disallowed"], [[3031, 3031], "valid"], [[3032, 3045], "disallowed"], [[3046, 3046], "valid"], [[3047, 3055], "valid"], [[3056, 3058], "valid", [], "NV8"], [[3059, 3066], "valid", [], "NV8"], [[3067, 3071], "disallowed"], [[3072, 3072], "valid"], [[3073, 3075], "valid"], [[3076, 3076], "disallowed"], [[3077, 3084], "valid"], [[3085, 3085], "disallowed"], [[3086, 3088], "valid"], [[3089, 3089], "disallowed"], [[3090, 3112], "valid"], [[3113, 3113], "disallowed"], [[3114, 3123], "valid"], [[3124, 3124], "valid"], [[3125, 3129], "valid"], [[3130, 3132], "disallowed"], [[3133, 3133], "valid"], [[3134, 3140], "valid"], [[3141, 3141], "disallowed"], [[3142, 3144], "valid"], [[3145, 3145], "disallowed"], [[3146, 3149], "valid"], [[3150, 3156], "disallowed"], [[3157, 3158], "valid"], [[3159, 3159], "disallowed"], [[3160, 3161], "valid"], [[3162, 3162], "valid"], [[3163, 3167], "disallowed"], [[3168, 3169], "valid"], [[3170, 3171], "valid"], [[3172, 3173], "disallowed"], [[3174, 3183], "valid"], [[3184, 3191], "disallowed"], [[3192, 3199], "valid", [], "NV8"], [[3200, 3200], "disallowed"], [[3201, 3201], "valid"], [[3202, 3203], "valid"], [[3204, 3204], "disallowed"], [[3205, 3212], "valid"], [[3213, 3213], "disallowed"], [[3214, 3216], "valid"], [[3217, 3217], "disallowed"], [[3218, 3240], "valid"], [[3241, 3241], "disallowed"], [[3242, 3251], "valid"], [[3252, 3252], "disallowed"], [[3253, 3257], "valid"], [[3258, 3259], "disallowed"], [[3260, 3261], "valid"], [[3262, 3268], "valid"], [[3269, 3269], "disallowed"], [[3270, 3272], "valid"], [[3273, 3273], "disallowed"], [[3274, 3277], "valid"], [[3278, 3284], "disallowed"], [[3285, 3286], "valid"], [[3287, 3293], "disallowed"], [[3294, 3294], "valid"], [[3295, 3295], "disallowed"], [[3296, 3297], "valid"], [[3298, 3299], "valid"], [[3300, 3301], "disallowed"], [[3302, 3311], "valid"], [[3312, 3312], "disallowed"], [[3313, 3314], "valid"], [[3315, 3328], "disallowed"], [[3329, 3329], "valid"], [[3330, 3331], "valid"], [[3332, 3332], "disallowed"], [[3333, 3340], "valid"], [[3341, 3341], "disallowed"], [[3342, 3344], "valid"], [[3345, 3345], "disallowed"], [[3346, 3368], "valid"], [[3369, 3369], "valid"], [[3370, 3385], "valid"], [[3386, 3386], "valid"], [[3387, 3388], "disallowed"], [[3389, 3389], "valid"], [[3390, 3395], "valid"], [[3396, 3396], "valid"], [[3397, 3397], "disallowed"], [[3398, 3400], "valid"], [[3401, 3401], "disallowed"], [[3402, 3405], "valid"], [[3406, 3406], "valid"], [[3407, 3414], "disallowed"], [[3415, 3415], "valid"], [[3416, 3422], "disallowed"], [[3423, 3423], "valid"], [[3424, 3425], "valid"], [[3426, 3427], "valid"], [[3428, 3429], "disallowed"], [[3430, 3439], "valid"], [[3440, 3445], "valid", [], "NV8"], [[3446, 3448], "disallowed"], [[3449, 3449], "valid", [], "NV8"], [[3450, 3455], "valid"], [[3456, 3457], "disallowed"], [[3458, 3459], "valid"], [[3460, 3460], "disallowed"], [[3461, 3478], "valid"], [[3479, 3481], "disallowed"], [[3482, 3505], "valid"], [[3506, 3506], "disallowed"], [[3507, 3515], "valid"], [[3516, 3516], "disallowed"], [[3517, 3517], "valid"], [[3518, 3519], "disallowed"], [[3520, 3526], "valid"], [[3527, 3529], "disallowed"], [[3530, 3530], "valid"], [[3531, 3534], "disallowed"], [[3535, 3540], "valid"], [[3541, 3541], "disallowed"], [[3542, 3542], "valid"], [[3543, 3543], "disallowed"], [[3544, 3551], "valid"], [[3552, 3557], "disallowed"], [[3558, 3567], "valid"], [[3568, 3569], "disallowed"], [[3570, 3571], "valid"], [[3572, 3572], "valid", [], "NV8"], [[3573, 3584], "disallowed"], [[3585, 3634], "valid"], [[3635, 3635], "mapped", [3661, 3634]], [[3636, 3642], "valid"], [[3643, 3646], "disallowed"], [[3647, 3647], "valid", [], "NV8"], [[3648, 3662], "valid"], [[3663, 3663], "valid", [], "NV8"], [[3664, 3673], "valid"], [[3674, 3675], "valid", [], "NV8"], [[3676, 3712], "disallowed"], [[3713, 3714], "valid"], [[3715, 3715], "disallowed"], [[3716, 3716], "valid"], [[3717, 3718], "disallowed"], [[3719, 3720], "valid"], [[3721, 3721], "disallowed"], [[3722, 3722], "valid"], [[3723, 3724], "disallowed"], [[3725, 3725], "valid"], [[3726, 3731], "disallowed"], [[3732, 3735], "valid"], [[3736, 3736], "disallowed"], [[3737, 3743], "valid"], [[3744, 3744], "disallowed"], [[3745, 3747], "valid"], [[3748, 3748], "disallowed"], [[3749, 3749], "valid"], [[3750, 3750], "disallowed"], [[3751, 3751], "valid"], [[3752, 3753], "disallowed"], [[3754, 3755], "valid"], [[3756, 3756], "disallowed"], [[3757, 3762], "valid"], [[3763, 3763], "mapped", [3789, 3762]], [[3764, 3769], "valid"], [[3770, 3770], "disallowed"], [[3771, 3773], "valid"], [[3774, 3775], "disallowed"], [[3776, 3780], "valid"], [[3781, 3781], "disallowed"], [[3782, 3782], "valid"], [[3783, 3783], "disallowed"], [[3784, 3789], "valid"], [[3790, 3791], "disallowed"], [[3792, 3801], "valid"], [[3802, 3803], "disallowed"], [[3804, 3804], "mapped", [3755, 3737]], [[3805, 3805], "mapped", [3755, 3745]], [[3806, 3807], "valid"], [[3808, 3839], "disallowed"], [[3840, 3840], "valid"], [[3841, 3850], "valid", [], "NV8"], [[3851, 3851], "valid"], [[3852, 3852], "mapped", [3851]], [[3853, 3863], "valid", [], "NV8"], [[3864, 3865], "valid"], [[3866, 3871], "valid", [], "NV8"], [[3872, 3881], "valid"], [[3882, 3892], "valid", [], "NV8"], [[3893, 3893], "valid"], [[3894, 3894], "valid", [], "NV8"], [[3895, 3895], "valid"], [[3896, 3896], "valid", [], "NV8"], [[3897, 3897], "valid"], [[3898, 3901], "valid", [], "NV8"], [[3902, 3906], "valid"], [[3907, 3907], "mapped", [3906, 4023]], [[3908, 3911], "valid"], [[3912, 3912], "disallowed"], [[3913, 3916], "valid"], [[3917, 3917], "mapped", [3916, 4023]], [[3918, 3921], "valid"], [[3922, 3922], "mapped", [3921, 4023]], [[3923, 3926], "valid"], [[3927, 3927], "mapped", [3926, 4023]], [[3928, 3931], "valid"], [[3932, 3932], "mapped", [3931, 4023]], [[3933, 3944], "valid"], [[3945, 3945], "mapped", [3904, 4021]], [[3946, 3946], "valid"], [[3947, 3948], "valid"], [[3949, 3952], "disallowed"], [[3953, 3954], "valid"], [[3955, 3955], "mapped", [3953, 3954]], [[3956, 3956], "valid"], [[3957, 3957], "mapped", [3953, 3956]], [[3958, 3958], "mapped", [4018, 3968]], [[3959, 3959], "mapped", [4018, 3953, 3968]], [[3960, 3960], "mapped", [4019, 3968]], [[3961, 3961], "mapped", [4019, 3953, 3968]], [[3962, 3968], "valid"], [[3969, 3969], "mapped", [3953, 3968]], [[3970, 3972], "valid"], [[3973, 3973], "valid", [], "NV8"], [[3974, 3979], "valid"], [[3980, 3983], "valid"], [[3984, 3986], "valid"], [[3987, 3987], "mapped", [3986, 4023]], [[3988, 3989], "valid"], [[3990, 3990], "valid"], [[3991, 3991], "valid"], [[3992, 3992], "disallowed"], [[3993, 3996], "valid"], [[3997, 3997], "mapped", [3996, 4023]], [[3998, 4001], "valid"], [[4002, 4002], "mapped", [4001, 4023]], [[4003, 4006], "valid"], [[4007, 4007], "mapped", [4006, 4023]], [[4008, 4011], "valid"], [[4012, 4012], "mapped", [4011, 4023]], [[4013, 4013], "valid"], [[4014, 4016], "valid"], [[4017, 4023], "valid"], [[4024, 4024], "valid"], [[4025, 4025], "mapped", [3984, 4021]], [[4026, 4028], "valid"], [[4029, 4029], "disallowed"], [[4030, 4037], "valid", [], "NV8"], [[4038, 4038], "valid"], [[4039, 4044], "valid", [], "NV8"], [[4045, 4045], "disallowed"], [[4046, 4046], "valid", [], "NV8"], [[4047, 4047], "valid", [], "NV8"], [[4048, 4049], "valid", [], "NV8"], [[4050, 4052], "valid", [], "NV8"], [[4053, 4056], "valid", [], "NV8"], [[4057, 4058], "valid", [], "NV8"], [[4059, 4095], "disallowed"], [[4096, 4129], "valid"], [[4130, 4130], "valid"], [[4131, 4135], "valid"], [[4136, 4136], "valid"], [[4137, 4138], "valid"], [[4139, 4139], "valid"], [[4140, 4146], "valid"], [[4147, 4149], "valid"], [[4150, 4153], "valid"], [[4154, 4159], "valid"], [[4160, 4169], "valid"], [[4170, 4175], "valid", [], "NV8"], [[4176, 4185], "valid"], [[4186, 4249], "valid"], [[4250, 4253], "valid"], [[4254, 4255], "valid", [], "NV8"], [[4256, 4293], "disallowed"], [[4294, 4294], "disallowed"], [[4295, 4295], "mapped", [11559]], [[4296, 4300], "disallowed"], [[4301, 4301], "mapped", [11565]], [[4302, 4303], "disallowed"], [[4304, 4342], "valid"], [[4343, 4344], "valid"], [[4345, 4346], "valid"], [[4347, 4347], "valid", [], "NV8"], [[4348, 4348], "mapped", [4316]], [[4349, 4351], "valid"], [[4352, 4441], "valid", [], "NV8"], [[4442, 4446], "valid", [], "NV8"], [[4447, 4448], "disallowed"], [[4449, 4514], "valid", [], "NV8"], [[4515, 4519], "valid", [], "NV8"], [[4520, 4601], "valid", [], "NV8"], [[4602, 4607], "valid", [], "NV8"], [[4608, 4614], "valid"], [[4615, 4615], "valid"], [[4616, 4678], "valid"], [[4679, 4679], "valid"], [[4680, 4680], "valid"], [[4681, 4681], "disallowed"], [[4682, 4685], "valid"], [[4686, 4687], "disallowed"], [[4688, 4694], "valid"], [[4695, 4695], "disallowed"], [[4696, 4696], "valid"], [[4697, 4697], "disallowed"], [[4698, 4701], "valid"], [[4702, 4703], "disallowed"], [[4704, 4742], "valid"], [[4743, 4743], "valid"], [[4744, 4744], "valid"], [[4745, 4745], "disallowed"], [[4746, 4749], "valid"], [[4750, 4751], "disallowed"], [[4752, 4782], "valid"], [[4783, 4783], "valid"], [[4784, 4784], "valid"], [[4785, 4785], "disallowed"], [[4786, 4789], "valid"], [[4790, 4791], "disallowed"], [[4792, 4798], "valid"], [[4799, 4799], "disallowed"], [[4800, 4800], "valid"], [[4801, 4801], "disallowed"], [[4802, 4805], "valid"], [[4806, 4807], "disallowed"], [[4808, 4814], "valid"], [[4815, 4815], "valid"], [[4816, 4822], "valid"], [[4823, 4823], "disallowed"], [[4824, 4846], "valid"], [[4847, 4847], "valid"], [[4848, 4878], "valid"], [[4879, 4879], "valid"], [[4880, 4880], "valid"], [[4881, 4881], "disallowed"], [[4882, 4885], "valid"], [[4886, 4887], "disallowed"], [[4888, 4894], "valid"], [[4895, 4895], "valid"], [[4896, 4934], "valid"], [[4935, 4935], "valid"], [[4936, 4954], "valid"], [[4955, 4956], "disallowed"], [[4957, 4958], "valid"], [[4959, 4959], "valid"], [[4960, 4960], "valid", [], "NV8"], [[4961, 4988], "valid", [], "NV8"], [[4989, 4991], "disallowed"], [[4992, 5007], "valid"], [[5008, 5017], "valid", [], "NV8"], [[5018, 5023], "disallowed"], [[5024, 5108], "valid"], [[5109, 5109], "valid"], [[5110, 5111], "disallowed"], [[5112, 5112], "mapped", [5104]], [[5113, 5113], "mapped", [5105]], [[5114, 5114], "mapped", [5106]], [[5115, 5115], "mapped", [5107]], [[5116, 5116], "mapped", [5108]], [[5117, 5117], "mapped", [5109]], [[5118, 5119], "disallowed"], [[5120, 5120], "valid", [], "NV8"], [[5121, 5740], "valid"], [[5741, 5742], "valid", [], "NV8"], [[5743, 5750], "valid"], [[5751, 5759], "valid"], [[5760, 5760], "disallowed"], [[5761, 5786], "valid"], [[5787, 5788], "valid", [], "NV8"], [[5789, 5791], "disallowed"], [[5792, 5866], "valid"], [[5867, 5872], "valid", [], "NV8"], [[5873, 5880], "valid"], [[5881, 5887], "disallowed"], [[5888, 5900], "valid"], [[5901, 5901], "disallowed"], [[5902, 5908], "valid"], [[5909, 5919], "disallowed"], [[5920, 5940], "valid"], [[5941, 5942], "valid", [], "NV8"], [[5943, 5951], "disallowed"], [[5952, 5971], "valid"], [[5972, 5983], "disallowed"], [[5984, 5996], "valid"], [[5997, 5997], "disallowed"], [[5998, 6e3], "valid"], [[6001, 6001], "disallowed"], [[6002, 6003], "valid"], [[6004, 6015], "disallowed"], [[6016, 6067], "valid"], [[6068, 6069], "disallowed"], [[6070, 6099], "valid"], [[6100, 6102], "valid", [], "NV8"], [[6103, 6103], "valid"], [[6104, 6107], "valid", [], "NV8"], [[6108, 6108], "valid"], [[6109, 6109], "valid"], [[6110, 6111], "disallowed"], [[6112, 6121], "valid"], [[6122, 6127], "disallowed"], [[6128, 6137], "valid", [], "NV8"], [[6138, 6143], "disallowed"], [[6144, 6149], "valid", [], "NV8"], [[6150, 6150], "disallowed"], [[6151, 6154], "valid", [], "NV8"], [[6155, 6157], "ignored"], [[6158, 6158], "disallowed"], [[6159, 6159], "disallowed"], [[6160, 6169], "valid"], [[6170, 6175], "disallowed"], [[6176, 6263], "valid"], [[6264, 6271], "disallowed"], [[6272, 6313], "valid"], [[6314, 6314], "valid"], [[6315, 6319], "disallowed"], [[6320, 6389], "valid"], [[6390, 6399], "disallowed"], [[6400, 6428], "valid"], [[6429, 6430], "valid"], [[6431, 6431], "disallowed"], [[6432, 6443], "valid"], [[6444, 6447], "disallowed"], [[6448, 6459], "valid"], [[6460, 6463], "disallowed"], [[6464, 6464], "valid", [], "NV8"], [[6465, 6467], "disallowed"], [[6468, 6469], "valid", [], "NV8"], [[6470, 6509], "valid"], [[6510, 6511], "disallowed"], [[6512, 6516], "valid"], [[6517, 6527], "disallowed"], [[6528, 6569], "valid"], [[6570, 6571], "valid"], [[6572, 6575], "disallowed"], [[6576, 6601], "valid"], [[6602, 6607], "disallowed"], [[6608, 6617], "valid"], [[6618, 6618], "valid", [], "XV8"], [[6619, 6621], "disallowed"], [[6622, 6623], "valid", [], "NV8"], [[6624, 6655], "valid", [], "NV8"], [[6656, 6683], "valid"], [[6684, 6685], "disallowed"], [[6686, 6687], "valid", [], "NV8"], [[6688, 6750], "valid"], [[6751, 6751], "disallowed"], [[6752, 6780], "valid"], [[6781, 6782], "disallowed"], [[6783, 6793], "valid"], [[6794, 6799], "disallowed"], [[6800, 6809], "valid"], [[6810, 6815], "disallowed"], [[6816, 6822], "valid", [], "NV8"], [[6823, 6823], "valid"], [[6824, 6829], "valid", [], "NV8"], [[6830, 6831], "disallowed"], [[6832, 6845], "valid"], [[6846, 6846], "valid", [], "NV8"], [[6847, 6911], "disallowed"], [[6912, 6987], "valid"], [[6988, 6991], "disallowed"], [[6992, 7001], "valid"], [[7002, 7018], "valid", [], "NV8"], [[7019, 7027], "valid"], [[7028, 7036], "valid", [], "NV8"], [[7037, 7039], "disallowed"], [[7040, 7082], "valid"], [[7083, 7085], "valid"], [[7086, 7097], "valid"], [[7098, 7103], "valid"], [[7104, 7155], "valid"], [[7156, 7163], "disallowed"], [[7164, 7167], "valid", [], "NV8"], [[7168, 7223], "valid"], [[7224, 7226], "disallowed"], [[7227, 7231], "valid", [], "NV8"], [[7232, 7241], "valid"], [[7242, 7244], "disallowed"], [[7245, 7293], "valid"], [[7294, 7295], "valid", [], "NV8"], [[7296, 7359], "disallowed"], [[7360, 7367], "valid", [], "NV8"], [[7368, 7375], "disallowed"], [[7376, 7378], "valid"], [[7379, 7379], "valid", [], "NV8"], [[7380, 7410], "valid"], [[7411, 7414], "valid"], [[7415, 7415], "disallowed"], [[7416, 7417], "valid"], [[7418, 7423], "disallowed"], [[7424, 7467], "valid"], [[7468, 7468], "mapped", [97]], [[7469, 7469], "mapped", [230]], [[7470, 7470], "mapped", [98]], [[7471, 7471], "valid"], [[7472, 7472], "mapped", [100]], [[7473, 7473], "mapped", [101]], [[7474, 7474], "mapped", [477]], [[7475, 7475], "mapped", [103]], [[7476, 7476], "mapped", [104]], [[7477, 7477], "mapped", [105]], [[7478, 7478], "mapped", [106]], [[7479, 7479], "mapped", [107]], [[7480, 7480], "mapped", [108]], [[7481, 7481], "mapped", [109]], [[7482, 7482], "mapped", [110]], [[7483, 7483], "valid"], [[7484, 7484], "mapped", [111]], [[7485, 7485], "mapped", [547]], [[7486, 7486], "mapped", [112]], [[7487, 7487], "mapped", [114]], [[7488, 7488], "mapped", [116]], [[7489, 7489], "mapped", [117]], [[7490, 7490], "mapped", [119]], [[7491, 7491], "mapped", [97]], [[7492, 7492], "mapped", [592]], [[7493, 7493], "mapped", [593]], [[7494, 7494], "mapped", [7426]], [[7495, 7495], "mapped", [98]], [[7496, 7496], "mapped", [100]], [[7497, 7497], "mapped", [101]], [[7498, 7498], "mapped", [601]], [[7499, 7499], "mapped", [603]], [[7500, 7500], "mapped", [604]], [[7501, 7501], "mapped", [103]], [[7502, 7502], "valid"], [[7503, 7503], "mapped", [107]], [[7504, 7504], "mapped", [109]], [[7505, 7505], "mapped", [331]], [[7506, 7506], "mapped", [111]], [[7507, 7507], "mapped", [596]], [[7508, 7508], "mapped", [7446]], [[7509, 7509], "mapped", [7447]], [[7510, 7510], "mapped", [112]], [[7511, 7511], "mapped", [116]], [[7512, 7512], "mapped", [117]], [[7513, 7513], "mapped", [7453]], [[7514, 7514], "mapped", [623]], [[7515, 7515], "mapped", [118]], [[7516, 7516], "mapped", [7461]], [[7517, 7517], "mapped", [946]], [[7518, 7518], "mapped", [947]], [[7519, 7519], "mapped", [948]], [[7520, 7520], "mapped", [966]], [[7521, 7521], "mapped", [967]], [[7522, 7522], "mapped", [105]], [[7523, 7523], "mapped", [114]], [[7524, 7524], "mapped", [117]], [[7525, 7525], "mapped", [118]], [[7526, 7526], "mapped", [946]], [[7527, 7527], "mapped", [947]], [[7528, 7528], "mapped", [961]], [[7529, 7529], "mapped", [966]], [[7530, 7530], "mapped", [967]], [[7531, 7531], "valid"], [[7532, 7543], "valid"], [[7544, 7544], "mapped", [1085]], [[7545, 7578], "valid"], [[7579, 7579], "mapped", [594]], [[7580, 7580], "mapped", [99]], [[7581, 7581], "mapped", [597]], [[7582, 7582], "mapped", [240]], [[7583, 7583], "mapped", [604]], [[7584, 7584], "mapped", [102]], [[7585, 7585], "mapped", [607]], [[7586, 7586], "mapped", [609]], [[7587, 7587], "mapped", [613]], [[7588, 7588], "mapped", [616]], [[7589, 7589], "mapped", [617]], [[7590, 7590], "mapped", [618]], [[7591, 7591], "mapped", [7547]], [[7592, 7592], "mapped", [669]], [[7593, 7593], "mapped", [621]], [[7594, 7594], "mapped", [7557]], [[7595, 7595], "mapped", [671]], [[7596, 7596], "mapped", [625]], [[7597, 7597], "mapped", [624]], [[7598, 7598], "mapped", [626]], [[7599, 7599], "mapped", [627]], [[7600, 7600], "mapped", [628]], [[7601, 7601], "mapped", [629]], [[7602, 7602], "mapped", [632]], [[7603, 7603], "mapped", [642]], [[7604, 7604], "mapped", [643]], [[7605, 7605], "mapped", [427]], [[7606, 7606], "mapped", [649]], [[7607, 7607], "mapped", [650]], [[7608, 7608], "mapped", [7452]], [[7609, 7609], "mapped", [651]], [[7610, 7610], "mapped", [652]], [[7611, 7611], "mapped", [122]], [[7612, 7612], "mapped", [656]], [[7613, 7613], "mapped", [657]], [[7614, 7614], "mapped", [658]], [[7615, 7615], "mapped", [952]], [[7616, 7619], "valid"], [[7620, 7626], "valid"], [[7627, 7654], "valid"], [[7655, 7669], "valid"], [[7670, 7675], "disallowed"], [[7676, 7676], "valid"], [[7677, 7677], "valid"], [[7678, 7679], "valid"], [[7680, 7680], "mapped", [7681]], [[7681, 7681], "valid"], [[7682, 7682], "mapped", [7683]], [[7683, 7683], "valid"], [[7684, 7684], "mapped", [7685]], [[7685, 7685], "valid"], [[7686, 7686], "mapped", [7687]], [[7687, 7687], "valid"], [[7688, 7688], "mapped", [7689]], [[7689, 7689], "valid"], [[7690, 7690], "mapped", [7691]], [[7691, 7691], "valid"], [[7692, 7692], "mapped", [7693]], [[7693, 7693], "valid"], [[7694, 7694], "mapped", [7695]], [[7695, 7695], "valid"], [[7696, 7696], "mapped", [7697]], [[7697, 7697], "valid"], [[7698, 7698], "mapped", [7699]], [[7699, 7699], "valid"], [[7700, 7700], "mapped", [7701]], [[7701, 7701], "valid"], [[7702, 7702], "mapped", [7703]], [[7703, 7703], "valid"], [[7704, 7704], "mapped", [7705]], [[7705, 7705], "valid"], [[7706, 7706], "mapped", [7707]], [[7707, 7707], "valid"], [[7708, 7708], "mapped", [7709]], [[7709, 7709], "valid"], [[7710, 7710], "mapped", [7711]], [[7711, 7711], "valid"], [[7712, 7712], "mapped", [7713]], [[7713, 7713], "valid"], [[7714, 7714], "mapped", [7715]], [[7715, 7715], "valid"], [[7716, 7716], "mapped", [7717]], [[7717, 7717], "valid"], [[7718, 7718], "mapped", [7719]], [[7719, 7719], "valid"], [[7720, 7720], "mapped", [7721]], [[7721, 7721], "valid"], [[7722, 7722], "mapped", [7723]], [[7723, 7723], "valid"], [[7724, 7724], "mapped", [7725]], [[7725, 7725], "valid"], [[7726, 7726], "mapped", [7727]], [[7727, 7727], "valid"], [[7728, 7728], "mapped", [7729]], [[7729, 7729], "valid"], [[7730, 7730], "mapped", [7731]], [[7731, 7731], "valid"], [[7732, 7732], "mapped", [7733]], [[7733, 7733], "valid"], [[7734, 7734], "mapped", [7735]], [[7735, 7735], "valid"], [[7736, 7736], "mapped", [7737]], [[7737, 7737], "valid"], [[7738, 7738], "mapped", [7739]], [[7739, 7739], "valid"], [[7740, 7740], "mapped", [7741]], [[7741, 7741], "valid"], [[7742, 7742], "mapped", [7743]], [[7743, 7743], "valid"], [[7744, 7744], "mapped", [7745]], [[7745, 7745], "valid"], [[7746, 7746], "mapped", [7747]], [[7747, 7747], "valid"], [[7748, 7748], "mapped", [7749]], [[7749, 7749], "valid"], [[7750, 7750], "mapped", [7751]], [[7751, 7751], "valid"], [[7752, 7752], "mapped", [7753]], [[7753, 7753], "valid"], [[7754, 7754], "mapped", [7755]], [[7755, 7755], "valid"], [[7756, 7756], "mapped", [7757]], [[7757, 7757], "valid"], [[7758, 7758], "mapped", [7759]], [[7759, 7759], "valid"], [[7760, 7760], "mapped", [7761]], [[7761, 7761], "valid"], [[7762, 7762], "mapped", [7763]], [[7763, 7763], "valid"], [[7764, 7764], "mapped", [7765]], [[7765, 7765], "valid"], [[7766, 7766], "mapped", [7767]], [[7767, 7767], "valid"], [[7768, 7768], "mapped", [7769]], [[7769, 7769], "valid"], [[7770, 7770], "mapped", [7771]], [[7771, 7771], "valid"], [[7772, 7772], "mapped", [7773]], [[7773, 7773], "valid"], [[7774, 7774], "mapped", [7775]], [[7775, 7775], "valid"], [[7776, 7776], "mapped", [7777]], [[7777, 7777], "valid"], [[7778, 7778], "mapped", [7779]], [[7779, 7779], "valid"], [[7780, 7780], "mapped", [7781]], [[7781, 7781], "valid"], [[7782, 7782], "mapped", [7783]], [[7783, 7783], "valid"], [[7784, 7784], "mapped", [7785]], [[7785, 7785], "valid"], [[7786, 7786], "mapped", [7787]], [[7787, 7787], "valid"], [[7788, 7788], "mapped", [7789]], [[7789, 7789], "valid"], [[7790, 7790], "mapped", [7791]], [[7791, 7791], "valid"], [[7792, 7792], "mapped", [7793]], [[7793, 7793], "valid"], [[7794, 7794], "mapped", [7795]], [[7795, 7795], "valid"], [[7796, 7796], "mapped", [7797]], [[7797, 7797], "valid"], [[7798, 7798], "mapped", [7799]], [[7799, 7799], "valid"], [[7800, 7800], "mapped", [7801]], [[7801, 7801], "valid"], [[7802, 7802], "mapped", [7803]], [[7803, 7803], "valid"], [[7804, 7804], "mapped", [7805]], [[7805, 7805], "valid"], [[7806, 7806], "mapped", [7807]], [[7807, 7807], "valid"], [[7808, 7808], "mapped", [7809]], [[7809, 7809], "valid"], [[7810, 7810], "mapped", [7811]], [[7811, 7811], "valid"], [[7812, 7812], "mapped", [7813]], [[7813, 7813], "valid"], [[7814, 7814], "mapped", [7815]], [[7815, 7815], "valid"], [[7816, 7816], "mapped", [7817]], [[7817, 7817], "valid"], [[7818, 7818], "mapped", [7819]], [[7819, 7819], "valid"], [[7820, 7820], "mapped", [7821]], [[7821, 7821], "valid"], [[7822, 7822], "mapped", [7823]], [[7823, 7823], "valid"], [[7824, 7824], "mapped", [7825]], [[7825, 7825], "valid"], [[7826, 7826], "mapped", [7827]], [[7827, 7827], "valid"], [[7828, 7828], "mapped", [7829]], [[7829, 7833], "valid"], [[7834, 7834], "mapped", [97, 702]], [[7835, 7835], "mapped", [7777]], [[7836, 7837], "valid"], [[7838, 7838], "mapped", [115, 115]], [[7839, 7839], "valid"], [[7840, 7840], "mapped", [7841]], [[7841, 7841], "valid"], [[7842, 7842], "mapped", [7843]], [[7843, 7843], "valid"], [[7844, 7844], "mapped", [7845]], [[7845, 7845], "valid"], [[7846, 7846], "mapped", [7847]], [[7847, 7847], "valid"], [[7848, 7848], "mapped", [7849]], [[7849, 7849], "valid"], [[7850, 7850], "mapped", [7851]], [[7851, 7851], "valid"], [[7852, 7852], "mapped", [7853]], [[7853, 7853], "valid"], [[7854, 7854], "mapped", [7855]], [[7855, 7855], "valid"], [[7856, 7856], "mapped", [7857]], [[7857, 7857], "valid"], [[7858, 7858], "mapped", [7859]], [[7859, 7859], "valid"], [[7860, 7860], "mapped", [7861]], [[7861, 7861], "valid"], [[7862, 7862], "mapped", [7863]], [[7863, 7863], "valid"], [[7864, 7864], "mapped", [7865]], [[7865, 7865], "valid"], [[7866, 7866], "mapped", [7867]], [[7867, 7867], "valid"], [[7868, 7868], "mapped", [7869]], [[7869, 7869], "valid"], [[7870, 7870], "mapped", [7871]], [[7871, 7871], "valid"], [[7872, 7872], "mapped", [7873]], [[7873, 7873], "valid"], [[7874, 7874], "mapped", [7875]], [[7875, 7875], "valid"], [[7876, 7876], "mapped", [7877]], [[7877, 7877], "valid"], [[7878, 7878], "mapped", [7879]], [[7879, 7879], "valid"], [[7880, 7880], "mapped", [7881]], [[7881, 7881], "valid"], [[7882, 7882], "mapped", [7883]], [[7883, 7883], "valid"], [[7884, 7884], "mapped", [7885]], [[7885, 7885], "valid"], [[7886, 7886], "mapped", [7887]], [[7887, 7887], "valid"], [[7888, 7888], "mapped", [7889]], [[7889, 7889], "valid"], [[7890, 7890], "mapped", [7891]], [[7891, 7891], "valid"], [[7892, 7892], "mapped", [7893]], [[7893, 7893], "valid"], [[7894, 7894], "mapped", [7895]], [[7895, 7895], "valid"], [[7896, 7896], "mapped", [7897]], [[7897, 7897], "valid"], [[7898, 7898], "mapped", [7899]], [[7899, 7899], "valid"], [[7900, 7900], "mapped", [7901]], [[7901, 7901], "valid"], [[7902, 7902], "mapped", [7903]], [[7903, 7903], "valid"], [[7904, 7904], "mapped", [7905]], [[7905, 7905], "valid"], [[7906, 7906], "mapped", [7907]], [[7907, 7907], "valid"], [[7908, 7908], "mapped", [7909]], [[7909, 7909], "valid"], [[7910, 7910], "mapped", [7911]], [[7911, 7911], "valid"], [[7912, 7912], "mapped", [7913]], [[7913, 7913], "valid"], [[7914, 7914], "mapped", [7915]], [[7915, 7915], "valid"], [[7916, 7916], "mapped", [7917]], [[7917, 7917], "valid"], [[7918, 7918], "mapped", [7919]], [[7919, 7919], "valid"], [[7920, 7920], "mapped", [7921]], [[7921, 7921], "valid"], [[7922, 7922], "mapped", [7923]], [[7923, 7923], "valid"], [[7924, 7924], "mapped", [7925]], [[7925, 7925], "valid"], [[7926, 7926], "mapped", [7927]], [[7927, 7927], "valid"], [[7928, 7928], "mapped", [7929]], [[7929, 7929], "valid"], [[7930, 7930], "mapped", [7931]], [[7931, 7931], "valid"], [[7932, 7932], "mapped", [7933]], [[7933, 7933], "valid"], [[7934, 7934], "mapped", [7935]], [[7935, 7935], "valid"], [[7936, 7943], "valid"], [[7944, 7944], "mapped", [7936]], [[7945, 7945], "mapped", [7937]], [[7946, 7946], "mapped", [7938]], [[7947, 7947], "mapped", [7939]], [[7948, 7948], "mapped", [7940]], [[7949, 7949], "mapped", [7941]], [[7950, 7950], "mapped", [7942]], [[7951, 7951], "mapped", [7943]], [[7952, 7957], "valid"], [[7958, 7959], "disallowed"], [[7960, 7960], "mapped", [7952]], [[7961, 7961], "mapped", [7953]], [[7962, 7962], "mapped", [7954]], [[7963, 7963], "mapped", [7955]], [[7964, 7964], "mapped", [7956]], [[7965, 7965], "mapped", [7957]], [[7966, 7967], "disallowed"], [[7968, 7975], "valid"], [[7976, 7976], "mapped", [7968]], [[7977, 7977], "mapped", [7969]], [[7978, 7978], "mapped", [7970]], [[7979, 7979], "mapped", [7971]], [[7980, 7980], "mapped", [7972]], [[7981, 7981], "mapped", [7973]], [[7982, 7982], "mapped", [7974]], [[7983, 7983], "mapped", [7975]], [[7984, 7991], "valid"], [[7992, 7992], "mapped", [7984]], [[7993, 7993], "mapped", [7985]], [[7994, 7994], "mapped", [7986]], [[7995, 7995], "mapped", [7987]], [[7996, 7996], "mapped", [7988]], [[7997, 7997], "mapped", [7989]], [[7998, 7998], "mapped", [7990]], [[7999, 7999], "mapped", [7991]], [[8e3, 8005], "valid"], [[8006, 8007], "disallowed"], [[8008, 8008], "mapped", [8e3]], [[8009, 8009], "mapped", [8001]], [[8010, 8010], "mapped", [8002]], [[8011, 8011], "mapped", [8003]], [[8012, 8012], "mapped", [8004]], [[8013, 8013], "mapped", [8005]], [[8014, 8015], "disallowed"], [[8016, 8023], "valid"], [[8024, 8024], "disallowed"], [[8025, 8025], "mapped", [8017]], [[8026, 8026], "disallowed"], [[8027, 8027], "mapped", [8019]], [[8028, 8028], "disallowed"], [[8029, 8029], "mapped", [8021]], [[8030, 8030], "disallowed"], [[8031, 8031], "mapped", [8023]], [[8032, 8039], "valid"], [[8040, 8040], "mapped", [8032]], [[8041, 8041], "mapped", [8033]], [[8042, 8042], "mapped", [8034]], [[8043, 8043], "mapped", [8035]], [[8044, 8044], "mapped", [8036]], [[8045, 8045], "mapped", [8037]], [[8046, 8046], "mapped", [8038]], [[8047, 8047], "mapped", [8039]], [[8048, 8048], "valid"], [[8049, 8049], "mapped", [940]], [[8050, 8050], "valid"], [[8051, 8051], "mapped", [941]], [[8052, 8052], "valid"], [[8053, 8053], "mapped", [942]], [[8054, 8054], "valid"], [[8055, 8055], "mapped", [943]], [[8056, 8056], "valid"], [[8057, 8057], "mapped", [972]], [[8058, 8058], "valid"], [[8059, 8059], "mapped", [973]], [[8060, 8060], "valid"], [[8061, 8061], "mapped", [974]], [[8062, 8063], "disallowed"], [[8064, 8064], "mapped", [7936, 953]], [[8065, 8065], "mapped", [7937, 953]], [[8066, 8066], "mapped", [7938, 953]], [[8067, 8067], "mapped", [7939, 953]], [[8068, 8068], "mapped", [7940, 953]], [[8069, 8069], "mapped", [7941, 953]], [[8070, 8070], "mapped", [7942, 953]], [[8071, 8071], "mapped", [7943, 953]], [[8072, 8072], "mapped", [7936, 953]], [[8073, 8073], "mapped", [7937, 953]], [[8074, 8074], "mapped", [7938, 953]], [[8075, 8075], "mapped", [7939, 953]], [[8076, 8076], "mapped", [7940, 953]], [[8077, 8077], "mapped", [7941, 953]], [[8078, 8078], "mapped", [7942, 953]], [[8079, 8079], "mapped", [7943, 953]], [[8080, 8080], "mapped", [7968, 953]], [[8081, 8081], "mapped", [7969, 953]], [[8082, 8082], "mapped", [7970, 953]], [[8083, 8083], "mapped", [7971, 953]], [[8084, 8084], "mapped", [7972, 953]], [[8085, 8085], "mapped", [7973, 953]], [[8086, 8086], "mapped", [7974, 953]], [[8087, 8087], "mapped", [7975, 953]], [[8088, 8088], "mapped", [7968, 953]], [[8089, 8089], "mapped", [7969, 953]], [[8090, 8090], "mapped", [7970, 953]], [[8091, 8091], "mapped", [7971, 953]], [[8092, 8092], "mapped", [7972, 953]], [[8093, 8093], "mapped", [7973, 953]], [[8094, 8094], "mapped", [7974, 953]], [[8095, 8095], "mapped", [7975, 953]], [[8096, 8096], "mapped", [8032, 953]], [[8097, 8097], "mapped", [8033, 953]], [[8098, 8098], "mapped", [8034, 953]], [[8099, 8099], "mapped", [8035, 953]], [[8100, 8100], "mapped", [8036, 953]], [[8101, 8101], "mapped", [8037, 953]], [[8102, 8102], "mapped", [8038, 953]], [[8103, 8103], "mapped", [8039, 953]], [[8104, 8104], "mapped", [8032, 953]], [[8105, 8105], "mapped", [8033, 953]], [[8106, 8106], "mapped", [8034, 953]], [[8107, 8107], "mapped", [8035, 953]], [[8108, 8108], "mapped", [8036, 953]], [[8109, 8109], "mapped", [8037, 953]], [[8110, 8110], "mapped", [8038, 953]], [[8111, 8111], "mapped", [8039, 953]], [[8112, 8113], "valid"], [[8114, 8114], "mapped", [8048, 953]], [[8115, 8115], "mapped", [945, 953]], [[8116, 8116], "mapped", [940, 953]], [[8117, 8117], "disallowed"], [[8118, 8118], "valid"], [[8119, 8119], "mapped", [8118, 953]], [[8120, 8120], "mapped", [8112]], [[8121, 8121], "mapped", [8113]], [[8122, 8122], "mapped", [8048]], [[8123, 8123], "mapped", [940]], [[8124, 8124], "mapped", [945, 953]], [[8125, 8125], "disallowed_STD3_mapped", [32, 787]], [[8126, 8126], "mapped", [953]], [[8127, 8127], "disallowed_STD3_mapped", [32, 787]], [[8128, 8128], "disallowed_STD3_mapped", [32, 834]], [[8129, 8129], "disallowed_STD3_mapped", [32, 776, 834]], [[8130, 8130], "mapped", [8052, 953]], [[8131, 8131], "mapped", [951, 953]], [[8132, 8132], "mapped", [942, 953]], [[8133, 8133], "disallowed"], [[8134, 8134], "valid"], [[8135, 8135], "mapped", [8134, 953]], [[8136, 8136], "mapped", [8050]], [[8137, 8137], "mapped", [941]], [[8138, 8138], "mapped", [8052]], [[8139, 8139], "mapped", [942]], [[8140, 8140], "mapped", [951, 953]], [[8141, 8141], "disallowed_STD3_mapped", [32, 787, 768]], [[8142, 8142], "disallowed_STD3_mapped", [32, 787, 769]], [[8143, 8143], "disallowed_STD3_mapped", [32, 787, 834]], [[8144, 8146], "valid"], [[8147, 8147], "mapped", [912]], [[8148, 8149], "disallowed"], [[8150, 8151], "valid"], [[8152, 8152], "mapped", [8144]], [[8153, 8153], "mapped", [8145]], [[8154, 8154], "mapped", [8054]], [[8155, 8155], "mapped", [943]], [[8156, 8156], "disallowed"], [[8157, 8157], "disallowed_STD3_mapped", [32, 788, 768]], [[8158, 8158], "disallowed_STD3_mapped", [32, 788, 769]], [[8159, 8159], "disallowed_STD3_mapped", [32, 788, 834]], [[8160, 8162], "valid"], [[8163, 8163], "mapped", [944]], [[8164, 8167], "valid"], [[8168, 8168], "mapped", [8160]], [[8169, 8169], "mapped", [8161]], [[8170, 8170], "mapped", [8058]], [[8171, 8171], "mapped", [973]], [[8172, 8172], "mapped", [8165]], [[8173, 8173], "disallowed_STD3_mapped", [32, 776, 768]], [[8174, 8174], "disallowed_STD3_mapped", [32, 776, 769]], [[8175, 8175], "disallowed_STD3_mapped", [96]], [[8176, 8177], "disallowed"], [[8178, 8178], "mapped", [8060, 953]], [[8179, 8179], "mapped", [969, 953]], [[8180, 8180], "mapped", [974, 953]], [[8181, 8181], "disallowed"], [[8182, 8182], "valid"], [[8183, 8183], "mapped", [8182, 953]], [[8184, 8184], "mapped", [8056]], [[8185, 8185], "mapped", [972]], [[8186, 8186], "mapped", [8060]], [[8187, 8187], "mapped", [974]], [[8188, 8188], "mapped", [969, 953]], [[8189, 8189], "disallowed_STD3_mapped", [32, 769]], [[8190, 8190], "disallowed_STD3_mapped", [32, 788]], [[8191, 8191], "disallowed"], [[8192, 8202], "disallowed_STD3_mapped", [32]], [[8203, 8203], "ignored"], [[8204, 8205], "deviation", []], [[8206, 8207], "disallowed"], [[8208, 8208], "valid", [], "NV8"], [[8209, 8209], "mapped", [8208]], [[8210, 8214], "valid", [], "NV8"], [[8215, 8215], "disallowed_STD3_mapped", [32, 819]], [[8216, 8227], "valid", [], "NV8"], [[8228, 8230], "disallowed"], [[8231, 8231], "valid", [], "NV8"], [[8232, 8238], "disallowed"], [[8239, 8239], "disallowed_STD3_mapped", [32]], [[8240, 8242], "valid", [], "NV8"], [[8243, 8243], "mapped", [8242, 8242]], [[8244, 8244], "mapped", [8242, 8242, 8242]], [[8245, 8245], "valid", [], "NV8"], [[8246, 8246], "mapped", [8245, 8245]], [[8247, 8247], "mapped", [8245, 8245, 8245]], [[8248, 8251], "valid", [], "NV8"], [[8252, 8252], "disallowed_STD3_mapped", [33, 33]], [[8253, 8253], "valid", [], "NV8"], [[8254, 8254], "disallowed_STD3_mapped", [32, 773]], [[8255, 8262], "valid", [], "NV8"], [[8263, 8263], "disallowed_STD3_mapped", [63, 63]], [[8264, 8264], "disallowed_STD3_mapped", [63, 33]], [[8265, 8265], "disallowed_STD3_mapped", [33, 63]], [[8266, 8269], "valid", [], "NV8"], [[8270, 8274], "valid", [], "NV8"], [[8275, 8276], "valid", [], "NV8"], [[8277, 8278], "valid", [], "NV8"], [[8279, 8279], "mapped", [8242, 8242, 8242, 8242]], [[8280, 8286], "valid", [], "NV8"], [[8287, 8287], "disallowed_STD3_mapped", [32]], [[8288, 8288], "ignored"], [[8289, 8291], "disallowed"], [[8292, 8292], "ignored"], [[8293, 8293], "disallowed"], [[8294, 8297], "disallowed"], [[8298, 8303], "disallowed"], [[8304, 8304], "mapped", [48]], [[8305, 8305], "mapped", [105]], [[8306, 8307], "disallowed"], [[8308, 8308], "mapped", [52]], [[8309, 8309], "mapped", [53]], [[8310, 8310], "mapped", [54]], [[8311, 8311], "mapped", [55]], [[8312, 8312], "mapped", [56]], [[8313, 8313], "mapped", [57]], [[8314, 8314], "disallowed_STD3_mapped", [43]], [[8315, 8315], "mapped", [8722]], [[8316, 8316], "disallowed_STD3_mapped", [61]], [[8317, 8317], "disallowed_STD3_mapped", [40]], [[8318, 8318], "disallowed_STD3_mapped", [41]], [[8319, 8319], "mapped", [110]], [[8320, 8320], "mapped", [48]], [[8321, 8321], "mapped", [49]], [[8322, 8322], "mapped", [50]], [[8323, 8323], "mapped", [51]], [[8324, 8324], "mapped", [52]], [[8325, 8325], "mapped", [53]], [[8326, 8326], "mapped", [54]], [[8327, 8327], "mapped", [55]], [[8328, 8328], "mapped", [56]], [[8329, 8329], "mapped", [57]], [[8330, 8330], "disallowed_STD3_mapped", [43]], [[8331, 8331], "mapped", [8722]], [[8332, 8332], "disallowed_STD3_mapped", [61]], [[8333, 8333], "disallowed_STD3_mapped", [40]], [[8334, 8334], "disallowed_STD3_mapped", [41]], [[8335, 8335], "disallowed"], [[8336, 8336], "mapped", [97]], [[8337, 8337], "mapped", [101]], [[8338, 8338], "mapped", [111]], [[8339, 8339], "mapped", [120]], [[8340, 8340], "mapped", [601]], [[8341, 8341], "mapped", [104]], [[8342, 8342], "mapped", [107]], [[8343, 8343], "mapped", [108]], [[8344, 8344], "mapped", [109]], [[8345, 8345], "mapped", [110]], [[8346, 8346], "mapped", [112]], [[8347, 8347], "mapped", [115]], [[8348, 8348], "mapped", [116]], [[8349, 8351], "disallowed"], [[8352, 8359], "valid", [], "NV8"], [[8360, 8360], "mapped", [114, 115]], [[8361, 8362], "valid", [], "NV8"], [[8363, 8363], "valid", [], "NV8"], [[8364, 8364], "valid", [], "NV8"], [[8365, 8367], "valid", [], "NV8"], [[8368, 8369], "valid", [], "NV8"], [[8370, 8373], "valid", [], "NV8"], [[8374, 8376], "valid", [], "NV8"], [[8377, 8377], "valid", [], "NV8"], [[8378, 8378], "valid", [], "NV8"], [[8379, 8381], "valid", [], "NV8"], [[8382, 8382], "valid", [], "NV8"], [[8383, 8399], "disallowed"], [[8400, 8417], "valid", [], "NV8"], [[8418, 8419], "valid", [], "NV8"], [[8420, 8426], "valid", [], "NV8"], [[8427, 8427], "valid", [], "NV8"], [[8428, 8431], "valid", [], "NV8"], [[8432, 8432], "valid", [], "NV8"], [[8433, 8447], "disallowed"], [[8448, 8448], "disallowed_STD3_mapped", [97, 47, 99]], [[8449, 8449], "disallowed_STD3_mapped", [97, 47, 115]], [[8450, 8450], "mapped", [99]], [[8451, 8451], "mapped", [176, 99]], [[8452, 8452], "valid", [], "NV8"], [[8453, 8453], "disallowed_STD3_mapped", [99, 47, 111]], [[8454, 8454], "disallowed_STD3_mapped", [99, 47, 117]], [[8455, 8455], "mapped", [603]], [[8456, 8456], "valid", [], "NV8"], [[8457, 8457], "mapped", [176, 102]], [[8458, 8458], "mapped", [103]], [[8459, 8462], "mapped", [104]], [[8463, 8463], "mapped", [295]], [[8464, 8465], "mapped", [105]], [[8466, 8467], "mapped", [108]], [[8468, 8468], "valid", [], "NV8"], [[8469, 8469], "mapped", [110]], [[8470, 8470], "mapped", [110, 111]], [[8471, 8472], "valid", [], "NV8"], [[8473, 8473], "mapped", [112]], [[8474, 8474], "mapped", [113]], [[8475, 8477], "mapped", [114]], [[8478, 8479], "valid", [], "NV8"], [[8480, 8480], "mapped", [115, 109]], [[8481, 8481], "mapped", [116, 101, 108]], [[8482, 8482], "mapped", [116, 109]], [[8483, 8483], "valid", [], "NV8"], [[8484, 8484], "mapped", [122]], [[8485, 8485], "valid", [], "NV8"], [[8486, 8486], "mapped", [969]], [[8487, 8487], "valid", [], "NV8"], [[8488, 8488], "mapped", [122]], [[8489, 8489], "valid", [], "NV8"], [[8490, 8490], "mapped", [107]], [[8491, 8491], "mapped", [229]], [[8492, 8492], "mapped", [98]], [[8493, 8493], "mapped", [99]], [[8494, 8494], "valid", [], "NV8"], [[8495, 8496], "mapped", [101]], [[8497, 8497], "mapped", [102]], [[8498, 8498], "disallowed"], [[8499, 8499], "mapped", [109]], [[8500, 8500], "mapped", [111]], [[8501, 8501], "mapped", [1488]], [[8502, 8502], "mapped", [1489]], [[8503, 8503], "mapped", [1490]], [[8504, 8504], "mapped", [1491]], [[8505, 8505], "mapped", [105]], [[8506, 8506], "valid", [], "NV8"], [[8507, 8507], "mapped", [102, 97, 120]], [[8508, 8508], "mapped", [960]], [[8509, 8510], "mapped", [947]], [[8511, 8511], "mapped", [960]], [[8512, 8512], "mapped", [8721]], [[8513, 8516], "valid", [], "NV8"], [[8517, 8518], "mapped", [100]], [[8519, 8519], "mapped", [101]], [[8520, 8520], "mapped", [105]], [[8521, 8521], "mapped", [106]], [[8522, 8523], "valid", [], "NV8"], [[8524, 8524], "valid", [], "NV8"], [[8525, 8525], "valid", [], "NV8"], [[8526, 8526], "valid"], [[8527, 8527], "valid", [], "NV8"], [[8528, 8528], "mapped", [49, 8260, 55]], [[8529, 8529], "mapped", [49, 8260, 57]], [[8530, 8530], "mapped", [49, 8260, 49, 48]], [[8531, 8531], "mapped", [49, 8260, 51]], [[8532, 8532], "mapped", [50, 8260, 51]], [[8533, 8533], "mapped", [49, 8260, 53]], [[8534, 8534], "mapped", [50, 8260, 53]], [[8535, 8535], "mapped", [51, 8260, 53]], [[8536, 8536], "mapped", [52, 8260, 53]], [[8537, 8537], "mapped", [49, 8260, 54]], [[8538, 8538], "mapped", [53, 8260, 54]], [[8539, 8539], "mapped", [49, 8260, 56]], [[8540, 8540], "mapped", [51, 8260, 56]], [[8541, 8541], "mapped", [53, 8260, 56]], [[8542, 8542], "mapped", [55, 8260, 56]], [[8543, 8543], "mapped", [49, 8260]], [[8544, 8544], "mapped", [105]], [[8545, 8545], "mapped", [105, 105]], [[8546, 8546], "mapped", [105, 105, 105]], [[8547, 8547], "mapped", [105, 118]], [[8548, 8548], "mapped", [118]], [[8549, 8549], "mapped", [118, 105]], [[8550, 8550], "mapped", [118, 105, 105]], [[8551, 8551], "mapped", [118, 105, 105, 105]], [[8552, 8552], "mapped", [105, 120]], [[8553, 8553], "mapped", [120]], [[8554, 8554], "mapped", [120, 105]], [[8555, 8555], "mapped", [120, 105, 105]], [[8556, 8556], "mapped", [108]], [[8557, 8557], "mapped", [99]], [[8558, 8558], "mapped", [100]], [[8559, 8559], "mapped", [109]], [[8560, 8560], "mapped", [105]], [[8561, 8561], "mapped", [105, 105]], [[8562, 8562], "mapped", [105, 105, 105]], [[8563, 8563], "mapped", [105, 118]], [[8564, 8564], "mapped", [118]], [[8565, 8565], "mapped", [118, 105]], [[8566, 8566], "mapped", [118, 105, 105]], [[8567, 8567], "mapped", [118, 105, 105, 105]], [[8568, 8568], "mapped", [105, 120]], [[8569, 8569], "mapped", [120]], [[8570, 8570], "mapped", [120, 105]], [[8571, 8571], "mapped", [120, 105, 105]], [[8572, 8572], "mapped", [108]], [[8573, 8573], "mapped", [99]], [[8574, 8574], "mapped", [100]], [[8575, 8575], "mapped", [109]], [[8576, 8578], "valid", [], "NV8"], [[8579, 8579], "disallowed"], [[8580, 8580], "valid"], [[8581, 8584], "valid", [], "NV8"], [[8585, 8585], "mapped", [48, 8260, 51]], [[8586, 8587], "valid", [], "NV8"], [[8588, 8591], "disallowed"], [[8592, 8682], "valid", [], "NV8"], [[8683, 8691], "valid", [], "NV8"], [[8692, 8703], "valid", [], "NV8"], [[8704, 8747], "valid", [], "NV8"], [[8748, 8748], "mapped", [8747, 8747]], [[8749, 8749], "mapped", [8747, 8747, 8747]], [[8750, 8750], "valid", [], "NV8"], [[8751, 8751], "mapped", [8750, 8750]], [[8752, 8752], "mapped", [8750, 8750, 8750]], [[8753, 8799], "valid", [], "NV8"], [[8800, 8800], "disallowed_STD3_valid"], [[8801, 8813], "valid", [], "NV8"], [[8814, 8815], "disallowed_STD3_valid"], [[8816, 8945], "valid", [], "NV8"], [[8946, 8959], "valid", [], "NV8"], [[8960, 8960], "valid", [], "NV8"], [[8961, 8961], "valid", [], "NV8"], [[8962, 9e3], "valid", [], "NV8"], [[9001, 9001], "mapped", [12296]], [[9002, 9002], "mapped", [12297]], [[9003, 9082], "valid", [], "NV8"], [[9083, 9083], "valid", [], "NV8"], [[9084, 9084], "valid", [], "NV8"], [[9085, 9114], "valid", [], "NV8"], [[9115, 9166], "valid", [], "NV8"], [[9167, 9168], "valid", [], "NV8"], [[9169, 9179], "valid", [], "NV8"], [[9180, 9191], "valid", [], "NV8"], [[9192, 9192], "valid", [], "NV8"], [[9193, 9203], "valid", [], "NV8"], [[9204, 9210], "valid", [], "NV8"], [[9211, 9215], "disallowed"], [[9216, 9252], "valid", [], "NV8"], [[9253, 9254], "valid", [], "NV8"], [[9255, 9279], "disallowed"], [[9280, 9290], "valid", [], "NV8"], [[9291, 9311], "disallowed"], [[9312, 9312], "mapped", [49]], [[9313, 9313], "mapped", [50]], [[9314, 9314], "mapped", [51]], [[9315, 9315], "mapped", [52]], [[9316, 9316], "mapped", [53]], [[9317, 9317], "mapped", [54]], [[9318, 9318], "mapped", [55]], [[9319, 9319], "mapped", [56]], [[9320, 9320], "mapped", [57]], [[9321, 9321], "mapped", [49, 48]], [[9322, 9322], "mapped", [49, 49]], [[9323, 9323], "mapped", [49, 50]], [[9324, 9324], "mapped", [49, 51]], [[9325, 9325], "mapped", [49, 52]], [[9326, 9326], "mapped", [49, 53]], [[9327, 9327], "mapped", [49, 54]], [[9328, 9328], "mapped", [49, 55]], [[9329, 9329], "mapped", [49, 56]], [[9330, 9330], "mapped", [49, 57]], [[9331, 9331], "mapped", [50, 48]], [[9332, 9332], "disallowed_STD3_mapped", [40, 49, 41]], [[9333, 9333], "disallowed_STD3_mapped", [40, 50, 41]], [[9334, 9334], "disallowed_STD3_mapped", [40, 51, 41]], [[9335, 9335], "disallowed_STD3_mapped", [40, 52, 41]], [[9336, 9336], "disallowed_STD3_mapped", [40, 53, 41]], [[9337, 9337], "disallowed_STD3_mapped", [40, 54, 41]], [[9338, 9338], "disallowed_STD3_mapped", [40, 55, 41]], [[9339, 9339], "disallowed_STD3_mapped", [40, 56, 41]], [[9340, 9340], "disallowed_STD3_mapped", [40, 57, 41]], [[9341, 9341], "disallowed_STD3_mapped", [40, 49, 48, 41]], [[9342, 9342], "disallowed_STD3_mapped", [40, 49, 49, 41]], [[9343, 9343], "disallowed_STD3_mapped", [40, 49, 50, 41]], [[9344, 9344], "disallowed_STD3_mapped", [40, 49, 51, 41]], [[9345, 9345], "disallowed_STD3_mapped", [40, 49, 52, 41]], [[9346, 9346], "disallowed_STD3_mapped", [40, 49, 53, 41]], [[9347, 9347], "disallowed_STD3_mapped", [40, 49, 54, 41]], [[9348, 9348], "disallowed_STD3_mapped", [40, 49, 55, 41]], [[9349, 9349], "disallowed_STD3_mapped", [40, 49, 56, 41]], [[9350, 9350], "disallowed_STD3_mapped", [40, 49, 57, 41]], [[9351, 9351], "disallowed_STD3_mapped", [40, 50, 48, 41]], [[9352, 9371], "disallowed"], [[9372, 9372], "disallowed_STD3_mapped", [40, 97, 41]], [[9373, 9373], "disallowed_STD3_mapped", [40, 98, 41]], [[9374, 9374], "disallowed_STD3_mapped", [40, 99, 41]], [[9375, 9375], "disallowed_STD3_mapped", [40, 100, 41]], [[9376, 9376], "disallowed_STD3_mapped", [40, 101, 41]], [[9377, 9377], "disallowed_STD3_mapped", [40, 102, 41]], [[9378, 9378], "disallowed_STD3_mapped", [40, 103, 41]], [[9379, 9379], "disallowed_STD3_mapped", [40, 104, 41]], [[9380, 9380], "disallowed_STD3_mapped", [40, 105, 41]], [[9381, 9381], "disallowed_STD3_mapped", [40, 106, 41]], [[9382, 9382], "disallowed_STD3_mapped", [40, 107, 41]], [[9383, 9383], "disallowed_STD3_mapped", [40, 108, 41]], [[9384, 9384], "disallowed_STD3_mapped", [40, 109, 41]], [[9385, 9385], "disallowed_STD3_mapped", [40, 110, 41]], [[9386, 9386], "disallowed_STD3_mapped", [40, 111, 41]], [[9387, 9387], "disallowed_STD3_mapped", [40, 112, 41]], [[9388, 9388], "disallowed_STD3_mapped", [40, 113, 41]], [[9389, 9389], "disallowed_STD3_mapped", [40, 114, 41]], [[9390, 9390], "disallowed_STD3_mapped", [40, 115, 41]], [[9391, 9391], "disallowed_STD3_mapped", [40, 116, 41]], [[9392, 9392], "disallowed_STD3_mapped", [40, 117, 41]], [[9393, 9393], "disallowed_STD3_mapped", [40, 118, 41]], [[9394, 9394], "disallowed_STD3_mapped", [40, 119, 41]], [[9395, 9395], "disallowed_STD3_mapped", [40, 120, 41]], [[9396, 9396], "disallowed_STD3_mapped", [40, 121, 41]], [[9397, 9397], "disallowed_STD3_mapped", [40, 122, 41]], [[9398, 9398], "mapped", [97]], [[9399, 9399], "mapped", [98]], [[9400, 9400], "mapped", [99]], [[9401, 9401], "mapped", [100]], [[9402, 9402], "mapped", [101]], [[9403, 9403], "mapped", [102]], [[9404, 9404], "mapped", [103]], [[9405, 9405], "mapped", [104]], [[9406, 9406], "mapped", [105]], [[9407, 9407], "mapped", [106]], [[9408, 9408], "mapped", [107]], [[9409, 9409], "mapped", [108]], [[9410, 9410], "mapped", [109]], [[9411, 9411], "mapped", [110]], [[9412, 9412], "mapped", [111]], [[9413, 9413], "mapped", [112]], [[9414, 9414], "mapped", [113]], [[9415, 9415], "mapped", [114]], [[9416, 9416], "mapped", [115]], [[9417, 9417], "mapped", [116]], [[9418, 9418], "mapped", [117]], [[9419, 9419], "mapped", [118]], [[9420, 9420], "mapped", [119]], [[9421, 9421], "mapped", [120]], [[9422, 9422], "mapped", [121]], [[9423, 9423], "mapped", [122]], [[9424, 9424], "mapped", [97]], [[9425, 9425], "mapped", [98]], [[9426, 9426], "mapped", [99]], [[9427, 9427], "mapped", [100]], [[9428, 9428], "mapped", [101]], [[9429, 9429], "mapped", [102]], [[9430, 9430], "mapped", [103]], [[9431, 9431], "mapped", [104]], [[9432, 9432], "mapped", [105]], [[9433, 9433], "mapped", [106]], [[9434, 9434], "mapped", [107]], [[9435, 9435], "mapped", [108]], [[9436, 9436], "mapped", [109]], [[9437, 9437], "mapped", [110]], [[9438, 9438], "mapped", [111]], [[9439, 9439], "mapped", [112]], [[9440, 9440], "mapped", [113]], [[9441, 9441], "mapped", [114]], [[9442, 9442], "mapped", [115]], [[9443, 9443], "mapped", [116]], [[9444, 9444], "mapped", [117]], [[9445, 9445], "mapped", [118]], [[9446, 9446], "mapped", [119]], [[9447, 9447], "mapped", [120]], [[9448, 9448], "mapped", [121]], [[9449, 9449], "mapped", [122]], [[9450, 9450], "mapped", [48]], [[9451, 9470], "valid", [], "NV8"], [[9471, 9471], "valid", [], "NV8"], [[9472, 9621], "valid", [], "NV8"], [[9622, 9631], "valid", [], "NV8"], [[9632, 9711], "valid", [], "NV8"], [[9712, 9719], "valid", [], "NV8"], [[9720, 9727], "valid", [], "NV8"], [[9728, 9747], "valid", [], "NV8"], [[9748, 9749], "valid", [], "NV8"], [[9750, 9751], "valid", [], "NV8"], [[9752, 9752], "valid", [], "NV8"], [[9753, 9753], "valid", [], "NV8"], [[9754, 9839], "valid", [], "NV8"], [[9840, 9841], "valid", [], "NV8"], [[9842, 9853], "valid", [], "NV8"], [[9854, 9855], "valid", [], "NV8"], [[9856, 9865], "valid", [], "NV8"], [[9866, 9873], "valid", [], "NV8"], [[9874, 9884], "valid", [], "NV8"], [[9885, 9885], "valid", [], "NV8"], [[9886, 9887], "valid", [], "NV8"], [[9888, 9889], "valid", [], "NV8"], [[9890, 9905], "valid", [], "NV8"], [[9906, 9906], "valid", [], "NV8"], [[9907, 9916], "valid", [], "NV8"], [[9917, 9919], "valid", [], "NV8"], [[9920, 9923], "valid", [], "NV8"], [[9924, 9933], "valid", [], "NV8"], [[9934, 9934], "valid", [], "NV8"], [[9935, 9953], "valid", [], "NV8"], [[9954, 9954], "valid", [], "NV8"], [[9955, 9955], "valid", [], "NV8"], [[9956, 9959], "valid", [], "NV8"], [[9960, 9983], "valid", [], "NV8"], [[9984, 9984], "valid", [], "NV8"], [[9985, 9988], "valid", [], "NV8"], [[9989, 9989], "valid", [], "NV8"], [[9990, 9993], "valid", [], "NV8"], [[9994, 9995], "valid", [], "NV8"], [[9996, 10023], "valid", [], "NV8"], [[10024, 10024], "valid", [], "NV8"], [[10025, 10059], "valid", [], "NV8"], [[10060, 10060], "valid", [], "NV8"], [[10061, 10061], "valid", [], "NV8"], [[10062, 10062], "valid", [], "NV8"], [[10063, 10066], "valid", [], "NV8"], [[10067, 10069], "valid", [], "NV8"], [[10070, 10070], "valid", [], "NV8"], [[10071, 10071], "valid", [], "NV8"], [[10072, 10078], "valid", [], "NV8"], [[10079, 10080], "valid", [], "NV8"], [[10081, 10087], "valid", [], "NV8"], [[10088, 10101], "valid", [], "NV8"], [[10102, 10132], "valid", [], "NV8"], [[10133, 10135], "valid", [], "NV8"], [[10136, 10159], "valid", [], "NV8"], [[10160, 10160], "valid", [], "NV8"], [[10161, 10174], "valid", [], "NV8"], [[10175, 10175], "valid", [], "NV8"], [[10176, 10182], "valid", [], "NV8"], [[10183, 10186], "valid", [], "NV8"], [[10187, 10187], "valid", [], "NV8"], [[10188, 10188], "valid", [], "NV8"], [[10189, 10189], "valid", [], "NV8"], [[10190, 10191], "valid", [], "NV8"], [[10192, 10219], "valid", [], "NV8"], [[10220, 10223], "valid", [], "NV8"], [[10224, 10239], "valid", [], "NV8"], [[10240, 10495], "valid", [], "NV8"], [[10496, 10763], "valid", [], "NV8"], [[10764, 10764], "mapped", [8747, 8747, 8747, 8747]], [[10765, 10867], "valid", [], "NV8"], [[10868, 10868], "disallowed_STD3_mapped", [58, 58, 61]], [[10869, 10869], "disallowed_STD3_mapped", [61, 61]], [[10870, 10870], "disallowed_STD3_mapped", [61, 61, 61]], [[10871, 10971], "valid", [], "NV8"], [[10972, 10972], "mapped", [10973, 824]], [[10973, 11007], "valid", [], "NV8"], [[11008, 11021], "valid", [], "NV8"], [[11022, 11027], "valid", [], "NV8"], [[11028, 11034], "valid", [], "NV8"], [[11035, 11039], "valid", [], "NV8"], [[11040, 11043], "valid", [], "NV8"], [[11044, 11084], "valid", [], "NV8"], [[11085, 11087], "valid", [], "NV8"], [[11088, 11092], "valid", [], "NV8"], [[11093, 11097], "valid", [], "NV8"], [[11098, 11123], "valid", [], "NV8"], [[11124, 11125], "disallowed"], [[11126, 11157], "valid", [], "NV8"], [[11158, 11159], "disallowed"], [[11160, 11193], "valid", [], "NV8"], [[11194, 11196], "disallowed"], [[11197, 11208], "valid", [], "NV8"], [[11209, 11209], "disallowed"], [[11210, 11217], "valid", [], "NV8"], [[11218, 11243], "disallowed"], [[11244, 11247], "valid", [], "NV8"], [[11248, 11263], "disallowed"], [[11264, 11264], "mapped", [11312]], [[11265, 11265], "mapped", [11313]], [[11266, 11266], "mapped", [11314]], [[11267, 11267], "mapped", [11315]], [[11268, 11268], "mapped", [11316]], [[11269, 11269], "mapped", [11317]], [[11270, 11270], "mapped", [11318]], [[11271, 11271], "mapped", [11319]], [[11272, 11272], "mapped", [11320]], [[11273, 11273], "mapped", [11321]], [[11274, 11274], "mapped", [11322]], [[11275, 11275], "mapped", [11323]], [[11276, 11276], "mapped", [11324]], [[11277, 11277], "mapped", [11325]], [[11278, 11278], "mapped", [11326]], [[11279, 11279], "mapped", [11327]], [[11280, 11280], "mapped", [11328]], [[11281, 11281], "mapped", [11329]], [[11282, 11282], "mapped", [11330]], [[11283, 11283], "mapped", [11331]], [[11284, 11284], "mapped", [11332]], [[11285, 11285], "mapped", [11333]], [[11286, 11286], "mapped", [11334]], [[11287, 11287], "mapped", [11335]], [[11288, 11288], "mapped", [11336]], [[11289, 11289], "mapped", [11337]], [[11290, 11290], "mapped", [11338]], [[11291, 11291], "mapped", [11339]], [[11292, 11292], "mapped", [11340]], [[11293, 11293], "mapped", [11341]], [[11294, 11294], "mapped", [11342]], [[11295, 11295], "mapped", [11343]], [[11296, 11296], "mapped", [11344]], [[11297, 11297], "mapped", [11345]], [[11298, 11298], "mapped", [11346]], [[11299, 11299], "mapped", [11347]], [[11300, 11300], "mapped", [11348]], [[11301, 11301], "mapped", [11349]], [[11302, 11302], "mapped", [11350]], [[11303, 11303], "mapped", [11351]], [[11304, 11304], "mapped", [11352]], [[11305, 11305], "mapped", [11353]], [[11306, 11306], "mapped", [11354]], [[11307, 11307], "mapped", [11355]], [[11308, 11308], "mapped", [11356]], [[11309, 11309], "mapped", [11357]], [[11310, 11310], "mapped", [11358]], [[11311, 11311], "disallowed"], [[11312, 11358], "valid"], [[11359, 11359], "disallowed"], [[11360, 11360], "mapped", [11361]], [[11361, 11361], "valid"], [[11362, 11362], "mapped", [619]], [[11363, 11363], "mapped", [7549]], [[11364, 11364], "mapped", [637]], [[11365, 11366], "valid"], [[11367, 11367], "mapped", [11368]], [[11368, 11368], "valid"], [[11369, 11369], "mapped", [11370]], [[11370, 11370], "valid"], [[11371, 11371], "mapped", [11372]], [[11372, 11372], "valid"], [[11373, 11373], "mapped", [593]], [[11374, 11374], "mapped", [625]], [[11375, 11375], "mapped", [592]], [[11376, 11376], "mapped", [594]], [[11377, 11377], "valid"], [[11378, 11378], "mapped", [11379]], [[11379, 11379], "valid"], [[11380, 11380], "valid"], [[11381, 11381], "mapped", [11382]], [[11382, 11383], "valid"], [[11384, 11387], "valid"], [[11388, 11388], "mapped", [106]], [[11389, 11389], "mapped", [118]], [[11390, 11390], "mapped", [575]], [[11391, 11391], "mapped", [576]], [[11392, 11392], "mapped", [11393]], [[11393, 11393], "valid"], [[11394, 11394], "mapped", [11395]], [[11395, 11395], "valid"], [[11396, 11396], "mapped", [11397]], [[11397, 11397], "valid"], [[11398, 11398], "mapped", [11399]], [[11399, 11399], "valid"], [[11400, 11400], "mapped", [11401]], [[11401, 11401], "valid"], [[11402, 11402], "mapped", [11403]], [[11403, 11403], "valid"], [[11404, 11404], "mapped", [11405]], [[11405, 11405], "valid"], [[11406, 11406], "mapped", [11407]], [[11407, 11407], "valid"], [[11408, 11408], "mapped", [11409]], [[11409, 11409], "valid"], [[11410, 11410], "mapped", [11411]], [[11411, 11411], "valid"], [[11412, 11412], "mapped", [11413]], [[11413, 11413], "valid"], [[11414, 11414], "mapped", [11415]], [[11415, 11415], "valid"], [[11416, 11416], "mapped", [11417]], [[11417, 11417], "valid"], [[11418, 11418], "mapped", [11419]], [[11419, 11419], "valid"], [[11420, 11420], "mapped", [11421]], [[11421, 11421], "valid"], [[11422, 11422], "mapped", [11423]], [[11423, 11423], "valid"], [[11424, 11424], "mapped", [11425]], [[11425, 11425], "valid"], [[11426, 11426], "mapped", [11427]], [[11427, 11427], "valid"], [[11428, 11428], "mapped", [11429]], [[11429, 11429], "valid"], [[11430, 11430], "mapped", [11431]], [[11431, 11431], "valid"], [[11432, 11432], "mapped", [11433]], [[11433, 11433], "valid"], [[11434, 11434], "mapped", [11435]], [[11435, 11435], "valid"], [[11436, 11436], "mapped", [11437]], [[11437, 11437], "valid"], [[11438, 11438], "mapped", [11439]], [[11439, 11439], "valid"], [[11440, 11440], "mapped", [11441]], [[11441, 11441], "valid"], [[11442, 11442], "mapped", [11443]], [[11443, 11443], "valid"], [[11444, 11444], "mapped", [11445]], [[11445, 11445], "valid"], [[11446, 11446], "mapped", [11447]], [[11447, 11447], "valid"], [[11448, 11448], "mapped", [11449]], [[11449, 11449], "valid"], [[11450, 11450], "mapped", [11451]], [[11451, 11451], "valid"], [[11452, 11452], "mapped", [11453]], [[11453, 11453], "valid"], [[11454, 11454], "mapped", [11455]], [[11455, 11455], "valid"], [[11456, 11456], "mapped", [11457]], [[11457, 11457], "valid"], [[11458, 11458], "mapped", [11459]], [[11459, 11459], "valid"], [[11460, 11460], "mapped", [11461]], [[11461, 11461], "valid"], [[11462, 11462], "mapped", [11463]], [[11463, 11463], "valid"], [[11464, 11464], "mapped", [11465]], [[11465, 11465], "valid"], [[11466, 11466], "mapped", [11467]], [[11467, 11467], "valid"], [[11468, 11468], "mapped", [11469]], [[11469, 11469], "valid"], [[11470, 11470], "mapped", [11471]], [[11471, 11471], "valid"], [[11472, 11472], "mapped", [11473]], [[11473, 11473], "valid"], [[11474, 11474], "mapped", [11475]], [[11475, 11475], "valid"], [[11476, 11476], "mapped", [11477]], [[11477, 11477], "valid"], [[11478, 11478], "mapped", [11479]], [[11479, 11479], "valid"], [[11480, 11480], "mapped", [11481]], [[11481, 11481], "valid"], [[11482, 11482], "mapped", [11483]], [[11483, 11483], "valid"], [[11484, 11484], "mapped", [11485]], [[11485, 11485], "valid"], [[11486, 11486], "mapped", [11487]], [[11487, 11487], "valid"], [[11488, 11488], "mapped", [11489]], [[11489, 11489], "valid"], [[11490, 11490], "mapped", [11491]], [[11491, 11492], "valid"], [[11493, 11498], "valid", [], "NV8"], [[11499, 11499], "mapped", [11500]], [[11500, 11500], "valid"], [[11501, 11501], "mapped", [11502]], [[11502, 11505], "valid"], [[11506, 11506], "mapped", [11507]], [[11507, 11507], "valid"], [[11508, 11512], "disallowed"], [[11513, 11519], "valid", [], "NV8"], [[11520, 11557], "valid"], [[11558, 11558], "disallowed"], [[11559, 11559], "valid"], [[11560, 11564], "disallowed"], [[11565, 11565], "valid"], [[11566, 11567], "disallowed"], [[11568, 11621], "valid"], [[11622, 11623], "valid"], [[11624, 11630], "disallowed"], [[11631, 11631], "mapped", [11617]], [[11632, 11632], "valid", [], "NV8"], [[11633, 11646], "disallowed"], [[11647, 11647], "valid"], [[11648, 11670], "valid"], [[11671, 11679], "disallowed"], [[11680, 11686], "valid"], [[11687, 11687], "disallowed"], [[11688, 11694], "valid"], [[11695, 11695], "disallowed"], [[11696, 11702], "valid"], [[11703, 11703], "disallowed"], [[11704, 11710], "valid"], [[11711, 11711], "disallowed"], [[11712, 11718], "valid"], [[11719, 11719], "disallowed"], [[11720, 11726], "valid"], [[11727, 11727], "disallowed"], [[11728, 11734], "valid"], [[11735, 11735], "disallowed"], [[11736, 11742], "valid"], [[11743, 11743], "disallowed"], [[11744, 11775], "valid"], [[11776, 11799], "valid", [], "NV8"], [[11800, 11803], "valid", [], "NV8"], [[11804, 11805], "valid", [], "NV8"], [[11806, 11822], "valid", [], "NV8"], [[11823, 11823], "valid"], [[11824, 11824], "valid", [], "NV8"], [[11825, 11825], "valid", [], "NV8"], [[11826, 11835], "valid", [], "NV8"], [[11836, 11842], "valid", [], "NV8"], [[11843, 11903], "disallowed"], [[11904, 11929], "valid", [], "NV8"], [[11930, 11930], "disallowed"], [[11931, 11934], "valid", [], "NV8"], [[11935, 11935], "mapped", [27597]], [[11936, 12018], "valid", [], "NV8"], [[12019, 12019], "mapped", [40863]], [[12020, 12031], "disallowed"], [[12032, 12032], "mapped", [19968]], [[12033, 12033], "mapped", [20008]], [[12034, 12034], "mapped", [20022]], [[12035, 12035], "mapped", [20031]], [[12036, 12036], "mapped", [20057]], [[12037, 12037], "mapped", [20101]], [[12038, 12038], "mapped", [20108]], [[12039, 12039], "mapped", [20128]], [[12040, 12040], "mapped", [20154]], [[12041, 12041], "mapped", [20799]], [[12042, 12042], "mapped", [20837]], [[12043, 12043], "mapped", [20843]], [[12044, 12044], "mapped", [20866]], [[12045, 12045], "mapped", [20886]], [[12046, 12046], "mapped", [20907]], [[12047, 12047], "mapped", [20960]], [[12048, 12048], "mapped", [20981]], [[12049, 12049], "mapped", [20992]], [[12050, 12050], "mapped", [21147]], [[12051, 12051], "mapped", [21241]], [[12052, 12052], "mapped", [21269]], [[12053, 12053], "mapped", [21274]], [[12054, 12054], "mapped", [21304]], [[12055, 12055], "mapped", [21313]], [[12056, 12056], "mapped", [21340]], [[12057, 12057], "mapped", [21353]], [[12058, 12058], "mapped", [21378]], [[12059, 12059], "mapped", [21430]], [[12060, 12060], "mapped", [21448]], [[12061, 12061], "mapped", [21475]], [[12062, 12062], "mapped", [22231]], [[12063, 12063], "mapped", [22303]], [[12064, 12064], "mapped", [22763]], [[12065, 12065], "mapped", [22786]], [[12066, 12066], "mapped", [22794]], [[12067, 12067], "mapped", [22805]], [[12068, 12068], "mapped", [22823]], [[12069, 12069], "mapped", [22899]], [[12070, 12070], "mapped", [23376]], [[12071, 12071], "mapped", [23424]], [[12072, 12072], "mapped", [23544]], [[12073, 12073], "mapped", [23567]], [[12074, 12074], "mapped", [23586]], [[12075, 12075], "mapped", [23608]], [[12076, 12076], "mapped", [23662]], [[12077, 12077], "mapped", [23665]], [[12078, 12078], "mapped", [24027]], [[12079, 12079], "mapped", [24037]], [[12080, 12080], "mapped", [24049]], [[12081, 12081], "mapped", [24062]], [[12082, 12082], "mapped", [24178]], [[12083, 12083], "mapped", [24186]], [[12084, 12084], "mapped", [24191]], [[12085, 12085], "mapped", [24308]], [[12086, 12086], "mapped", [24318]], [[12087, 12087], "mapped", [24331]], [[12088, 12088], "mapped", [24339]], [[12089, 12089], "mapped", [24400]], [[12090, 12090], "mapped", [24417]], [[12091, 12091], "mapped", [24435]], [[12092, 12092], "mapped", [24515]], [[12093, 12093], "mapped", [25096]], [[12094, 12094], "mapped", [25142]], [[12095, 12095], "mapped", [25163]], [[12096, 12096], "mapped", [25903]], [[12097, 12097], "mapped", [25908]], [[12098, 12098], "mapped", [25991]], [[12099, 12099], "mapped", [26007]], [[12100, 12100], "mapped", [26020]], [[12101, 12101], "mapped", [26041]], [[12102, 12102], "mapped", [26080]], [[12103, 12103], "mapped", [26085]], [[12104, 12104], "mapped", [26352]], [[12105, 12105], "mapped", [26376]], [[12106, 12106], "mapped", [26408]], [[12107, 12107], "mapped", [27424]], [[12108, 12108], "mapped", [27490]], [[12109, 12109], "mapped", [27513]], [[12110, 12110], "mapped", [27571]], [[12111, 12111], "mapped", [27595]], [[12112, 12112], "mapped", [27604]], [[12113, 12113], "mapped", [27611]], [[12114, 12114], "mapped", [27663]], [[12115, 12115], "mapped", [27668]], [[12116, 12116], "mapped", [27700]], [[12117, 12117], "mapped", [28779]], [[12118, 12118], "mapped", [29226]], [[12119, 12119], "mapped", [29238]], [[12120, 12120], "mapped", [29243]], [[12121, 12121], "mapped", [29247]], [[12122, 12122], "mapped", [29255]], [[12123, 12123], "mapped", [29273]], [[12124, 12124], "mapped", [29275]], [[12125, 12125], "mapped", [29356]], [[12126, 12126], "mapped", [29572]], [[12127, 12127], "mapped", [29577]], [[12128, 12128], "mapped", [29916]], [[12129, 12129], "mapped", [29926]], [[12130, 12130], "mapped", [29976]], [[12131, 12131], "mapped", [29983]], [[12132, 12132], "mapped", [29992]], [[12133, 12133], "mapped", [3e4]], [[12134, 12134], "mapped", [30091]], [[12135, 12135], "mapped", [30098]], [[12136, 12136], "mapped", [30326]], [[12137, 12137], "mapped", [30333]], [[12138, 12138], "mapped", [30382]], [[12139, 12139], "mapped", [30399]], [[12140, 12140], "mapped", [30446]], [[12141, 12141], "mapped", [30683]], [[12142, 12142], "mapped", [30690]], [[12143, 12143], "mapped", [30707]], [[12144, 12144], "mapped", [31034]], [[12145, 12145], "mapped", [31160]], [[12146, 12146], "mapped", [31166]], [[12147, 12147], "mapped", [31348]], [[12148, 12148], "mapped", [31435]], [[12149, 12149], "mapped", [31481]], [[12150, 12150], "mapped", [31859]], [[12151, 12151], "mapped", [31992]], [[12152, 12152], "mapped", [32566]], [[12153, 12153], "mapped", [32593]], [[12154, 12154], "mapped", [32650]], [[12155, 12155], "mapped", [32701]], [[12156, 12156], "mapped", [32769]], [[12157, 12157], "mapped", [32780]], [[12158, 12158], "mapped", [32786]], [[12159, 12159], "mapped", [32819]], [[12160, 12160], "mapped", [32895]], [[12161, 12161], "mapped", [32905]], [[12162, 12162], "mapped", [33251]], [[12163, 12163], "mapped", [33258]], [[12164, 12164], "mapped", [33267]], [[12165, 12165], "mapped", [33276]], [[12166, 12166], "mapped", [33292]], [[12167, 12167], "mapped", [33307]], [[12168, 12168], "mapped", [33311]], [[12169, 12169], "mapped", [33390]], [[12170, 12170], "mapped", [33394]], [[12171, 12171], "mapped", [33400]], [[12172, 12172], "mapped", [34381]], [[12173, 12173], "mapped", [34411]], [[12174, 12174], "mapped", [34880]], [[12175, 12175], "mapped", [34892]], [[12176, 12176], "mapped", [34915]], [[12177, 12177], "mapped", [35198]], [[12178, 12178], "mapped", [35211]], [[12179, 12179], "mapped", [35282]], [[12180, 12180], "mapped", [35328]], [[12181, 12181], "mapped", [35895]], [[12182, 12182], "mapped", [35910]], [[12183, 12183], "mapped", [35925]], [[12184, 12184], "mapped", [35960]], [[12185, 12185], "mapped", [35997]], [[12186, 12186], "mapped", [36196]], [[12187, 12187], "mapped", [36208]], [[12188, 12188], "mapped", [36275]], [[12189, 12189], "mapped", [36523]], [[12190, 12190], "mapped", [36554]], [[12191, 12191], "mapped", [36763]], [[12192, 12192], "mapped", [36784]], [[12193, 12193], "mapped", [36789]], [[12194, 12194], "mapped", [37009]], [[12195, 12195], "mapped", [37193]], [[12196, 12196], "mapped", [37318]], [[12197, 12197], "mapped", [37324]], [[12198, 12198], "mapped", [37329]], [[12199, 12199], "mapped", [38263]], [[12200, 12200], "mapped", [38272]], [[12201, 12201], "mapped", [38428]], [[12202, 12202], "mapped", [38582]], [[12203, 12203], "mapped", [38585]], [[12204, 12204], "mapped", [38632]], [[12205, 12205], "mapped", [38737]], [[12206, 12206], "mapped", [38750]], [[12207, 12207], "mapped", [38754]], [[12208, 12208], "mapped", [38761]], [[12209, 12209], "mapped", [38859]], [[12210, 12210], "mapped", [38893]], [[12211, 12211], "mapped", [38899]], [[12212, 12212], "mapped", [38913]], [[12213, 12213], "mapped", [39080]], [[12214, 12214], "mapped", [39131]], [[12215, 12215], "mapped", [39135]], [[12216, 12216], "mapped", [39318]], [[12217, 12217], "mapped", [39321]], [[12218, 12218], "mapped", [39340]], [[12219, 12219], "mapped", [39592]], [[12220, 12220], "mapped", [39640]], [[12221, 12221], "mapped", [39647]], [[12222, 12222], "mapped", [39717]], [[12223, 12223], "mapped", [39727]], [[12224, 12224], "mapped", [39730]], [[12225, 12225], "mapped", [39740]], [[12226, 12226], "mapped", [39770]], [[12227, 12227], "mapped", [40165]], [[12228, 12228], "mapped", [40565]], [[12229, 12229], "mapped", [40575]], [[12230, 12230], "mapped", [40613]], [[12231, 12231], "mapped", [40635]], [[12232, 12232], "mapped", [40643]], [[12233, 12233], "mapped", [40653]], [[12234, 12234], "mapped", [40657]], [[12235, 12235], "mapped", [40697]], [[12236, 12236], "mapped", [40701]], [[12237, 12237], "mapped", [40718]], [[12238, 12238], "mapped", [40723]], [[12239, 12239], "mapped", [40736]], [[12240, 12240], "mapped", [40763]], [[12241, 12241], "mapped", [40778]], [[12242, 12242], "mapped", [40786]], [[12243, 12243], "mapped", [40845]], [[12244, 12244], "mapped", [40860]], [[12245, 12245], "mapped", [40864]], [[12246, 12271], "disallowed"], [[12272, 12283], "disallowed"], [[12284, 12287], "disallowed"], [[12288, 12288], "disallowed_STD3_mapped", [32]], [[12289, 12289], "valid", [], "NV8"], [[12290, 12290], "mapped", [46]], [[12291, 12292], "valid", [], "NV8"], [[12293, 12295], "valid"], [[12296, 12329], "valid", [], "NV8"], [[12330, 12333], "valid"], [[12334, 12341], "valid", [], "NV8"], [[12342, 12342], "mapped", [12306]], [[12343, 12343], "valid", [], "NV8"], [[12344, 12344], "mapped", [21313]], [[12345, 12345], "mapped", [21316]], [[12346, 12346], "mapped", [21317]], [[12347, 12347], "valid", [], "NV8"], [[12348, 12348], "valid"], [[12349, 12349], "valid", [], "NV8"], [[12350, 12350], "valid", [], "NV8"], [[12351, 12351], "valid", [], "NV8"], [[12352, 12352], "disallowed"], [[12353, 12436], "valid"], [[12437, 12438], "valid"], [[12439, 12440], "disallowed"], [[12441, 12442], "valid"], [[12443, 12443], "disallowed_STD3_mapped", [32, 12441]], [[12444, 12444], "disallowed_STD3_mapped", [32, 12442]], [[12445, 12446], "valid"], [[12447, 12447], "mapped", [12424, 12426]], [[12448, 12448], "valid", [], "NV8"], [[12449, 12542], "valid"], [[12543, 12543], "mapped", [12467, 12488]], [[12544, 12548], "disallowed"], [[12549, 12588], "valid"], [[12589, 12589], "valid"], [[12590, 12592], "disallowed"], [[12593, 12593], "mapped", [4352]], [[12594, 12594], "mapped", [4353]], [[12595, 12595], "mapped", [4522]], [[12596, 12596], "mapped", [4354]], [[12597, 12597], "mapped", [4524]], [[12598, 12598], "mapped", [4525]], [[12599, 12599], "mapped", [4355]], [[12600, 12600], "mapped", [4356]], [[12601, 12601], "mapped", [4357]], [[12602, 12602], "mapped", [4528]], [[12603, 12603], "mapped", [4529]], [[12604, 12604], "mapped", [4530]], [[12605, 12605], "mapped", [4531]], [[12606, 12606], "mapped", [4532]], [[12607, 12607], "mapped", [4533]], [[12608, 12608], "mapped", [4378]], [[12609, 12609], "mapped", [4358]], [[12610, 12610], "mapped", [4359]], [[12611, 12611], "mapped", [4360]], [[12612, 12612], "mapped", [4385]], [[12613, 12613], "mapped", [4361]], [[12614, 12614], "mapped", [4362]], [[12615, 12615], "mapped", [4363]], [[12616, 12616], "mapped", [4364]], [[12617, 12617], "mapped", [4365]], [[12618, 12618], "mapped", [4366]], [[12619, 12619], "mapped", [4367]], [[12620, 12620], "mapped", [4368]], [[12621, 12621], "mapped", [4369]], [[12622, 12622], "mapped", [4370]], [[12623, 12623], "mapped", [4449]], [[12624, 12624], "mapped", [4450]], [[12625, 12625], "mapped", [4451]], [[12626, 12626], "mapped", [4452]], [[12627, 12627], "mapped", [4453]], [[12628, 12628], "mapped", [4454]], [[12629, 12629], "mapped", [4455]], [[12630, 12630], "mapped", [4456]], [[12631, 12631], "mapped", [4457]], [[12632, 12632], "mapped", [4458]], [[12633, 12633], "mapped", [4459]], [[12634, 12634], "mapped", [4460]], [[12635, 12635], "mapped", [4461]], [[12636, 12636], "mapped", [4462]], [[12637, 12637], "mapped", [4463]], [[12638, 12638], "mapped", [4464]], [[12639, 12639], "mapped", [4465]], [[12640, 12640], "mapped", [4466]], [[12641, 12641], "mapped", [4467]], [[12642, 12642], "mapped", [4468]], [[12643, 12643], "mapped", [4469]], [[12644, 12644], "disallowed"], [[12645, 12645], "mapped", [4372]], [[12646, 12646], "mapped", [4373]], [[12647, 12647], "mapped", [4551]], [[12648, 12648], "mapped", [4552]], [[12649, 12649], "mapped", [4556]], [[12650, 12650], "mapped", [4558]], [[12651, 12651], "mapped", [4563]], [[12652, 12652], "mapped", [4567]], [[12653, 12653], "mapped", [4569]], [[12654, 12654], "mapped", [4380]], [[12655, 12655], "mapped", [4573]], [[12656, 12656], "mapped", [4575]], [[12657, 12657], "mapped", [4381]], [[12658, 12658], "mapped", [4382]], [[12659, 12659], "mapped", [4384]], [[12660, 12660], "mapped", [4386]], [[12661, 12661], "mapped", [4387]], [[12662, 12662], "mapped", [4391]], [[12663, 12663], "mapped", [4393]], [[12664, 12664], "mapped", [4395]], [[12665, 12665], "mapped", [4396]], [[12666, 12666], "mapped", [4397]], [[12667, 12667], "mapped", [4398]], [[12668, 12668], "mapped", [4399]], [[12669, 12669], "mapped", [4402]], [[12670, 12670], "mapped", [4406]], [[12671, 12671], "mapped", [4416]], [[12672, 12672], "mapped", [4423]], [[12673, 12673], "mapped", [4428]], [[12674, 12674], "mapped", [4593]], [[12675, 12675], "mapped", [4594]], [[12676, 12676], "mapped", [4439]], [[12677, 12677], "mapped", [4440]], [[12678, 12678], "mapped", [4441]], [[12679, 12679], "mapped", [4484]], [[12680, 12680], "mapped", [4485]], [[12681, 12681], "mapped", [4488]], [[12682, 12682], "mapped", [4497]], [[12683, 12683], "mapped", [4498]], [[12684, 12684], "mapped", [4500]], [[12685, 12685], "mapped", [4510]], [[12686, 12686], "mapped", [4513]], [[12687, 12687], "disallowed"], [[12688, 12689], "valid", [], "NV8"], [[12690, 12690], "mapped", [19968]], [[12691, 12691], "mapped", [20108]], [[12692, 12692], "mapped", [19977]], [[12693, 12693], "mapped", [22235]], [[12694, 12694], "mapped", [19978]], [[12695, 12695], "mapped", [20013]], [[12696, 12696], "mapped", [19979]], [[12697, 12697], "mapped", [30002]], [[12698, 12698], "mapped", [20057]], [[12699, 12699], "mapped", [19993]], [[12700, 12700], "mapped", [19969]], [[12701, 12701], "mapped", [22825]], [[12702, 12702], "mapped", [22320]], [[12703, 12703], "mapped", [20154]], [[12704, 12727], "valid"], [[12728, 12730], "valid"], [[12731, 12735], "disallowed"], [[12736, 12751], "valid", [], "NV8"], [[12752, 12771], "valid", [], "NV8"], [[12772, 12783], "disallowed"], [[12784, 12799], "valid"], [[12800, 12800], "disallowed_STD3_mapped", [40, 4352, 41]], [[12801, 12801], "disallowed_STD3_mapped", [40, 4354, 41]], [[12802, 12802], "disallowed_STD3_mapped", [40, 4355, 41]], [[12803, 12803], "disallowed_STD3_mapped", [40, 4357, 41]], [[12804, 12804], "disallowed_STD3_mapped", [40, 4358, 41]], [[12805, 12805], "disallowed_STD3_mapped", [40, 4359, 41]], [[12806, 12806], "disallowed_STD3_mapped", [40, 4361, 41]], [[12807, 12807], "disallowed_STD3_mapped", [40, 4363, 41]], [[12808, 12808], "disallowed_STD3_mapped", [40, 4364, 41]], [[12809, 12809], "disallowed_STD3_mapped", [40, 4366, 41]], [[12810, 12810], "disallowed_STD3_mapped", [40, 4367, 41]], [[12811, 12811], "disallowed_STD3_mapped", [40, 4368, 41]], [[12812, 12812], "disallowed_STD3_mapped", [40, 4369, 41]], [[12813, 12813], "disallowed_STD3_mapped", [40, 4370, 41]], [[12814, 12814], "disallowed_STD3_mapped", [40, 44032, 41]], [[12815, 12815], "disallowed_STD3_mapped", [40, 45208, 41]], [[12816, 12816], "disallowed_STD3_mapped", [40, 45796, 41]], [[12817, 12817], "disallowed_STD3_mapped", [40, 46972, 41]], [[12818, 12818], "disallowed_STD3_mapped", [40, 47560, 41]], [[12819, 12819], "disallowed_STD3_mapped", [40, 48148, 41]], [[12820, 12820], "disallowed_STD3_mapped", [40, 49324, 41]], [[12821, 12821], "disallowed_STD3_mapped", [40, 50500, 41]], [[12822, 12822], "disallowed_STD3_mapped", [40, 51088, 41]], [[12823, 12823], "disallowed_STD3_mapped", [40, 52264, 41]], [[12824, 12824], "disallowed_STD3_mapped", [40, 52852, 41]], [[12825, 12825], "disallowed_STD3_mapped", [40, 53440, 41]], [[12826, 12826], "disallowed_STD3_mapped", [40, 54028, 41]], [[12827, 12827], "disallowed_STD3_mapped", [40, 54616, 41]], [[12828, 12828], "disallowed_STD3_mapped", [40, 51452, 41]], [[12829, 12829], "disallowed_STD3_mapped", [40, 50724, 51204, 41]], [[12830, 12830], "disallowed_STD3_mapped", [40, 50724, 54980, 41]], [[12831, 12831], "disallowed"], [[12832, 12832], "disallowed_STD3_mapped", [40, 19968, 41]], [[12833, 12833], "disallowed_STD3_mapped", [40, 20108, 41]], [[12834, 12834], "disallowed_STD3_mapped", [40, 19977, 41]], [[12835, 12835], "disallowed_STD3_mapped", [40, 22235, 41]], [[12836, 12836], "disallowed_STD3_mapped", [40, 20116, 41]], [[12837, 12837], "disallowed_STD3_mapped", [40, 20845, 41]], [[12838, 12838], "disallowed_STD3_mapped", [40, 19971, 41]], [[12839, 12839], "disallowed_STD3_mapped", [40, 20843, 41]], [[12840, 12840], "disallowed_STD3_mapped", [40, 20061, 41]], [[12841, 12841], "disallowed_STD3_mapped", [40, 21313, 41]], [[12842, 12842], "disallowed_STD3_mapped", [40, 26376, 41]], [[12843, 12843], "disallowed_STD3_mapped", [40, 28779, 41]], [[12844, 12844], "disallowed_STD3_mapped", [40, 27700, 41]], [[12845, 12845], "disallowed_STD3_mapped", [40, 26408, 41]], [[12846, 12846], "disallowed_STD3_mapped", [40, 37329, 41]], [[12847, 12847], "disallowed_STD3_mapped", [40, 22303, 41]], [[12848, 12848], "disallowed_STD3_mapped", [40, 26085, 41]], [[12849, 12849], "disallowed_STD3_mapped", [40, 26666, 41]], [[12850, 12850], "disallowed_STD3_mapped", [40, 26377, 41]], [[12851, 12851], "disallowed_STD3_mapped", [40, 31038, 41]], [[12852, 12852], "disallowed_STD3_mapped", [40, 21517, 41]], [[12853, 12853], "disallowed_STD3_mapped", [40, 29305, 41]], [[12854, 12854], "disallowed_STD3_mapped", [40, 36001, 41]], [[12855, 12855], "disallowed_STD3_mapped", [40, 31069, 41]], [[12856, 12856], "disallowed_STD3_mapped", [40, 21172, 41]], [[12857, 12857], "disallowed_STD3_mapped", [40, 20195, 41]], [[12858, 12858], "disallowed_STD3_mapped", [40, 21628, 41]], [[12859, 12859], "disallowed_STD3_mapped", [40, 23398, 41]], [[12860, 12860], "disallowed_STD3_mapped", [40, 30435, 41]], [[12861, 12861], "disallowed_STD3_mapped", [40, 20225, 41]], [[12862, 12862], "disallowed_STD3_mapped", [40, 36039, 41]], [[12863, 12863], "disallowed_STD3_mapped", [40, 21332, 41]], [[12864, 12864], "disallowed_STD3_mapped", [40, 31085, 41]], [[12865, 12865], "disallowed_STD3_mapped", [40, 20241, 41]], [[12866, 12866], "disallowed_STD3_mapped", [40, 33258, 41]], [[12867, 12867], "disallowed_STD3_mapped", [40, 33267, 41]], [[12868, 12868], "mapped", [21839]], [[12869, 12869], "mapped", [24188]], [[12870, 12870], "mapped", [25991]], [[12871, 12871], "mapped", [31631]], [[12872, 12879], "valid", [], "NV8"], [[12880, 12880], "mapped", [112, 116, 101]], [[12881, 12881], "mapped", [50, 49]], [[12882, 12882], "mapped", [50, 50]], [[12883, 12883], "mapped", [50, 51]], [[12884, 12884], "mapped", [50, 52]], [[12885, 12885], "mapped", [50, 53]], [[12886, 12886], "mapped", [50, 54]], [[12887, 12887], "mapped", [50, 55]], [[12888, 12888], "mapped", [50, 56]], [[12889, 12889], "mapped", [50, 57]], [[12890, 12890], "mapped", [51, 48]], [[12891, 12891], "mapped", [51, 49]], [[12892, 12892], "mapped", [51, 50]], [[12893, 12893], "mapped", [51, 51]], [[12894, 12894], "mapped", [51, 52]], [[12895, 12895], "mapped", [51, 53]], [[12896, 12896], "mapped", [4352]], [[12897, 12897], "mapped", [4354]], [[12898, 12898], "mapped", [4355]], [[12899, 12899], "mapped", [4357]], [[12900, 12900], "mapped", [4358]], [[12901, 12901], "mapped", [4359]], [[12902, 12902], "mapped", [4361]], [[12903, 12903], "mapped", [4363]], [[12904, 12904], "mapped", [4364]], [[12905, 12905], "mapped", [4366]], [[12906, 12906], "mapped", [4367]], [[12907, 12907], "mapped", [4368]], [[12908, 12908], "mapped", [4369]], [[12909, 12909], "mapped", [4370]], [[12910, 12910], "mapped", [44032]], [[12911, 12911], "mapped", [45208]], [[12912, 12912], "mapped", [45796]], [[12913, 12913], "mapped", [46972]], [[12914, 12914], "mapped", [47560]], [[12915, 12915], "mapped", [48148]], [[12916, 12916], "mapped", [49324]], [[12917, 12917], "mapped", [50500]], [[12918, 12918], "mapped", [51088]], [[12919, 12919], "mapped", [52264]], [[12920, 12920], "mapped", [52852]], [[12921, 12921], "mapped", [53440]], [[12922, 12922], "mapped", [54028]], [[12923, 12923], "mapped", [54616]], [[12924, 12924], "mapped", [52280, 44256]], [[12925, 12925], "mapped", [51452, 51032]], [[12926, 12926], "mapped", [50864]], [[12927, 12927], "valid", [], "NV8"], [[12928, 12928], "mapped", [19968]], [[12929, 12929], "mapped", [20108]], [[12930, 12930], "mapped", [19977]], [[12931, 12931], "mapped", [22235]], [[12932, 12932], "mapped", [20116]], [[12933, 12933], "mapped", [20845]], [[12934, 12934], "mapped", [19971]], [[12935, 12935], "mapped", [20843]], [[12936, 12936], "mapped", [20061]], [[12937, 12937], "mapped", [21313]], [[12938, 12938], "mapped", [26376]], [[12939, 12939], "mapped", [28779]], [[12940, 12940], "mapped", [27700]], [[12941, 12941], "mapped", [26408]], [[12942, 12942], "mapped", [37329]], [[12943, 12943], "mapped", [22303]], [[12944, 12944], "mapped", [26085]], [[12945, 12945], "mapped", [26666]], [[12946, 12946], "mapped", [26377]], [[12947, 12947], "mapped", [31038]], [[12948, 12948], "mapped", [21517]], [[12949, 12949], "mapped", [29305]], [[12950, 12950], "mapped", [36001]], [[12951, 12951], "mapped", [31069]], [[12952, 12952], "mapped", [21172]], [[12953, 12953], "mapped", [31192]], [[12954, 12954], "mapped", [30007]], [[12955, 12955], "mapped", [22899]], [[12956, 12956], "mapped", [36969]], [[12957, 12957], "mapped", [20778]], [[12958, 12958], "mapped", [21360]], [[12959, 12959], "mapped", [27880]], [[12960, 12960], "mapped", [38917]], [[12961, 12961], "mapped", [20241]], [[12962, 12962], "mapped", [20889]], [[12963, 12963], "mapped", [27491]], [[12964, 12964], "mapped", [19978]], [[12965, 12965], "mapped", [20013]], [[12966, 12966], "mapped", [19979]], [[12967, 12967], "mapped", [24038]], [[12968, 12968], "mapped", [21491]], [[12969, 12969], "mapped", [21307]], [[12970, 12970], "mapped", [23447]], [[12971, 12971], "mapped", [23398]], [[12972, 12972], "mapped", [30435]], [[12973, 12973], "mapped", [20225]], [[12974, 12974], "mapped", [36039]], [[12975, 12975], "mapped", [21332]], [[12976, 12976], "mapped", [22812]], [[12977, 12977], "mapped", [51, 54]], [[12978, 12978], "mapped", [51, 55]], [[12979, 12979], "mapped", [51, 56]], [[12980, 12980], "mapped", [51, 57]], [[12981, 12981], "mapped", [52, 48]], [[12982, 12982], "mapped", [52, 49]], [[12983, 12983], "mapped", [52, 50]], [[12984, 12984], "mapped", [52, 51]], [[12985, 12985], "mapped", [52, 52]], [[12986, 12986], "mapped", [52, 53]], [[12987, 12987], "mapped", [52, 54]], [[12988, 12988], "mapped", [52, 55]], [[12989, 12989], "mapped", [52, 56]], [[12990, 12990], "mapped", [52, 57]], [[12991, 12991], "mapped", [53, 48]], [[12992, 12992], "mapped", [49, 26376]], [[12993, 12993], "mapped", [50, 26376]], [[12994, 12994], "mapped", [51, 26376]], [[12995, 12995], "mapped", [52, 26376]], [[12996, 12996], "mapped", [53, 26376]], [[12997, 12997], "mapped", [54, 26376]], [[12998, 12998], "mapped", [55, 26376]], [[12999, 12999], "mapped", [56, 26376]], [[13e3, 13e3], "mapped", [57, 26376]], [[13001, 13001], "mapped", [49, 48, 26376]], [[13002, 13002], "mapped", [49, 49, 26376]], [[13003, 13003], "mapped", [49, 50, 26376]], [[13004, 13004], "mapped", [104, 103]], [[13005, 13005], "mapped", [101, 114, 103]], [[13006, 13006], "mapped", [101, 118]], [[13007, 13007], "mapped", [108, 116, 100]], [[13008, 13008], "mapped", [12450]], [[13009, 13009], "mapped", [12452]], [[13010, 13010], "mapped", [12454]], [[13011, 13011], "mapped", [12456]], [[13012, 13012], "mapped", [12458]], [[13013, 13013], "mapped", [12459]], [[13014, 13014], "mapped", [12461]], [[13015, 13015], "mapped", [12463]], [[13016, 13016], "mapped", [12465]], [[13017, 13017], "mapped", [12467]], [[13018, 13018], "mapped", [12469]], [[13019, 13019], "mapped", [12471]], [[13020, 13020], "mapped", [12473]], [[13021, 13021], "mapped", [12475]], [[13022, 13022], "mapped", [12477]], [[13023, 13023], "mapped", [12479]], [[13024, 13024], "mapped", [12481]], [[13025, 13025], "mapped", [12484]], [[13026, 13026], "mapped", [12486]], [[13027, 13027], "mapped", [12488]], [[13028, 13028], "mapped", [12490]], [[13029, 13029], "mapped", [12491]], [[13030, 13030], "mapped", [12492]], [[13031, 13031], "mapped", [12493]], [[13032, 13032], "mapped", [12494]], [[13033, 13033], "mapped", [12495]], [[13034, 13034], "mapped", [12498]], [[13035, 13035], "mapped", [12501]], [[13036, 13036], "mapped", [12504]], [[13037, 13037], "mapped", [12507]], [[13038, 13038], "mapped", [12510]], [[13039, 13039], "mapped", [12511]], [[13040, 13040], "mapped", [12512]], [[13041, 13041], "mapped", [12513]], [[13042, 13042], "mapped", [12514]], [[13043, 13043], "mapped", [12516]], [[13044, 13044], "mapped", [12518]], [[13045, 13045], "mapped", [12520]], [[13046, 13046], "mapped", [12521]], [[13047, 13047], "mapped", [12522]], [[13048, 13048], "mapped", [12523]], [[13049, 13049], "mapped", [12524]], [[13050, 13050], "mapped", [12525]], [[13051, 13051], "mapped", [12527]], [[13052, 13052], "mapped", [12528]], [[13053, 13053], "mapped", [12529]], [[13054, 13054], "mapped", [12530]], [[13055, 13055], "disallowed"], [[13056, 13056], "mapped", [12450, 12497, 12540, 12488]], [[13057, 13057], "mapped", [12450, 12523, 12501, 12449]], [[13058, 13058], "mapped", [12450, 12531, 12506, 12450]], [[13059, 13059], "mapped", [12450, 12540, 12523]], [[13060, 13060], "mapped", [12452, 12491, 12531, 12464]], [[13061, 13061], "mapped", [12452, 12531, 12481]], [[13062, 13062], "mapped", [12454, 12457, 12531]], [[13063, 13063], "mapped", [12456, 12473, 12463, 12540, 12489]], [[13064, 13064], "mapped", [12456, 12540, 12459, 12540]], [[13065, 13065], "mapped", [12458, 12531, 12473]], [[13066, 13066], "mapped", [12458, 12540, 12512]], [[13067, 13067], "mapped", [12459, 12452, 12522]], [[13068, 13068], "mapped", [12459, 12521, 12483, 12488]], [[13069, 13069], "mapped", [12459, 12525, 12522, 12540]], [[13070, 13070], "mapped", [12460, 12525, 12531]], [[13071, 13071], "mapped", [12460, 12531, 12510]], [[13072, 13072], "mapped", [12462, 12460]], [[13073, 13073], "mapped", [12462, 12491, 12540]], [[13074, 13074], "mapped", [12461, 12517, 12522, 12540]], [[13075, 13075], "mapped", [12462, 12523, 12480, 12540]], [[13076, 13076], "mapped", [12461, 12525]], [[13077, 13077], "mapped", [12461, 12525, 12464, 12521, 12512]], [[13078, 13078], "mapped", [12461, 12525, 12513, 12540, 12488, 12523]], [[13079, 13079], "mapped", [12461, 12525, 12527, 12483, 12488]], [[13080, 13080], "mapped", [12464, 12521, 12512]], [[13081, 13081], "mapped", [12464, 12521, 12512, 12488, 12531]], [[13082, 13082], "mapped", [12463, 12523, 12476, 12452, 12525]], [[13083, 13083], "mapped", [12463, 12525, 12540, 12493]], [[13084, 13084], "mapped", [12465, 12540, 12473]], [[13085, 13085], "mapped", [12467, 12523, 12490]], [[13086, 13086], "mapped", [12467, 12540, 12509]], [[13087, 13087], "mapped", [12469, 12452, 12463, 12523]], [[13088, 13088], "mapped", [12469, 12531, 12481, 12540, 12512]], [[13089, 13089], "mapped", [12471, 12522, 12531, 12464]], [[13090, 13090], "mapped", [12475, 12531, 12481]], [[13091, 13091], "mapped", [12475, 12531, 12488]], [[13092, 13092], "mapped", [12480, 12540, 12473]], [[13093, 13093], "mapped", [12487, 12471]], [[13094, 13094], "mapped", [12489, 12523]], [[13095, 13095], "mapped", [12488, 12531]], [[13096, 13096], "mapped", [12490, 12494]], [[13097, 13097], "mapped", [12494, 12483, 12488]], [[13098, 13098], "mapped", [12495, 12452, 12484]], [[13099, 13099], "mapped", [12497, 12540, 12475, 12531, 12488]], [[13100, 13100], "mapped", [12497, 12540, 12484]], [[13101, 13101], "mapped", [12496, 12540, 12524, 12523]], [[13102, 13102], "mapped", [12500, 12450, 12473, 12488, 12523]], [[13103, 13103], "mapped", [12500, 12463, 12523]], [[13104, 13104], "mapped", [12500, 12467]], [[13105, 13105], "mapped", [12499, 12523]], [[13106, 13106], "mapped", [12501, 12449, 12521, 12483, 12489]], [[13107, 13107], "mapped", [12501, 12451, 12540, 12488]], [[13108, 13108], "mapped", [12502, 12483, 12471, 12455, 12523]], [[13109, 13109], "mapped", [12501, 12521, 12531]], [[13110, 13110], "mapped", [12504, 12463, 12479, 12540, 12523]], [[13111, 13111], "mapped", [12506, 12477]], [[13112, 13112], "mapped", [12506, 12491, 12498]], [[13113, 13113], "mapped", [12504, 12523, 12484]], [[13114, 13114], "mapped", [12506, 12531, 12473]], [[13115, 13115], "mapped", [12506, 12540, 12472]], [[13116, 13116], "mapped", [12505, 12540, 12479]], [[13117, 13117], "mapped", [12509, 12452, 12531, 12488]], [[13118, 13118], "mapped", [12508, 12523, 12488]], [[13119, 13119], "mapped", [12507, 12531]], [[13120, 13120], "mapped", [12509, 12531, 12489]], [[13121, 13121], "mapped", [12507, 12540, 12523]], [[13122, 13122], "mapped", [12507, 12540, 12531]], [[13123, 13123], "mapped", [12510, 12452, 12463, 12525]], [[13124, 13124], "mapped", [12510, 12452, 12523]], [[13125, 13125], "mapped", [12510, 12483, 12495]], [[13126, 13126], "mapped", [12510, 12523, 12463]], [[13127, 13127], "mapped", [12510, 12531, 12471, 12519, 12531]], [[13128, 13128], "mapped", [12511, 12463, 12525, 12531]], [[13129, 13129], "mapped", [12511, 12522]], [[13130, 13130], "mapped", [12511, 12522, 12496, 12540, 12523]], [[13131, 13131], "mapped", [12513, 12460]], [[13132, 13132], "mapped", [12513, 12460, 12488, 12531]], [[13133, 13133], "mapped", [12513, 12540, 12488, 12523]], [[13134, 13134], "mapped", [12516, 12540, 12489]], [[13135, 13135], "mapped", [12516, 12540, 12523]], [[13136, 13136], "mapped", [12518, 12450, 12531]], [[13137, 13137], "mapped", [12522, 12483, 12488, 12523]], [[13138, 13138], "mapped", [12522, 12521]], [[13139, 13139], "mapped", [12523, 12500, 12540]], [[13140, 13140], "mapped", [12523, 12540, 12502, 12523]], [[13141, 13141], "mapped", [12524, 12512]], [[13142, 13142], "mapped", [12524, 12531, 12488, 12466, 12531]], [[13143, 13143], "mapped", [12527, 12483, 12488]], [[13144, 13144], "mapped", [48, 28857]], [[13145, 13145], "mapped", [49, 28857]], [[13146, 13146], "mapped", [50, 28857]], [[13147, 13147], "mapped", [51, 28857]], [[13148, 13148], "mapped", [52, 28857]], [[13149, 13149], "mapped", [53, 28857]], [[13150, 13150], "mapped", [54, 28857]], [[13151, 13151], "mapped", [55, 28857]], [[13152, 13152], "mapped", [56, 28857]], [[13153, 13153], "mapped", [57, 28857]], [[13154, 13154], "mapped", [49, 48, 28857]], [[13155, 13155], "mapped", [49, 49, 28857]], [[13156, 13156], "mapped", [49, 50, 28857]], [[13157, 13157], "mapped", [49, 51, 28857]], [[13158, 13158], "mapped", [49, 52, 28857]], [[13159, 13159], "mapped", [49, 53, 28857]], [[13160, 13160], "mapped", [49, 54, 28857]], [[13161, 13161], "mapped", [49, 55, 28857]], [[13162, 13162], "mapped", [49, 56, 28857]], [[13163, 13163], "mapped", [49, 57, 28857]], [[13164, 13164], "mapped", [50, 48, 28857]], [[13165, 13165], "mapped", [50, 49, 28857]], [[13166, 13166], "mapped", [50, 50, 28857]], [[13167, 13167], "mapped", [50, 51, 28857]], [[13168, 13168], "mapped", [50, 52, 28857]], [[13169, 13169], "mapped", [104, 112, 97]], [[13170, 13170], "mapped", [100, 97]], [[13171, 13171], "mapped", [97, 117]], [[13172, 13172], "mapped", [98, 97, 114]], [[13173, 13173], "mapped", [111, 118]], [[13174, 13174], "mapped", [112, 99]], [[13175, 13175], "mapped", [100, 109]], [[13176, 13176], "mapped", [100, 109, 50]], [[13177, 13177], "mapped", [100, 109, 51]], [[13178, 13178], "mapped", [105, 117]], [[13179, 13179], "mapped", [24179, 25104]], [[13180, 13180], "mapped", [26157, 21644]], [[13181, 13181], "mapped", [22823, 27491]], [[13182, 13182], "mapped", [26126, 27835]], [[13183, 13183], "mapped", [26666, 24335, 20250, 31038]], [[13184, 13184], "mapped", [112, 97]], [[13185, 13185], "mapped", [110, 97]], [[13186, 13186], "mapped", [956, 97]], [[13187, 13187], "mapped", [109, 97]], [[13188, 13188], "mapped", [107, 97]], [[13189, 13189], "mapped", [107, 98]], [[13190, 13190], "mapped", [109, 98]], [[13191, 13191], "mapped", [103, 98]], [[13192, 13192], "mapped", [99, 97, 108]], [[13193, 13193], "mapped", [107, 99, 97, 108]], [[13194, 13194], "mapped", [112, 102]], [[13195, 13195], "mapped", [110, 102]], [[13196, 13196], "mapped", [956, 102]], [[13197, 13197], "mapped", [956, 103]], [[13198, 13198], "mapped", [109, 103]], [[13199, 13199], "mapped", [107, 103]], [[13200, 13200], "mapped", [104, 122]], [[13201, 13201], "mapped", [107, 104, 122]], [[13202, 13202], "mapped", [109, 104, 122]], [[13203, 13203], "mapped", [103, 104, 122]], [[13204, 13204], "mapped", [116, 104, 122]], [[13205, 13205], "mapped", [956, 108]], [[13206, 13206], "mapped", [109, 108]], [[13207, 13207], "mapped", [100, 108]], [[13208, 13208], "mapped", [107, 108]], [[13209, 13209], "mapped", [102, 109]], [[13210, 13210], "mapped", [110, 109]], [[13211, 13211], "mapped", [956, 109]], [[13212, 13212], "mapped", [109, 109]], [[13213, 13213], "mapped", [99, 109]], [[13214, 13214], "mapped", [107, 109]], [[13215, 13215], "mapped", [109, 109, 50]], [[13216, 13216], "mapped", [99, 109, 50]], [[13217, 13217], "mapped", [109, 50]], [[13218, 13218], "mapped", [107, 109, 50]], [[13219, 13219], "mapped", [109, 109, 51]], [[13220, 13220], "mapped", [99, 109, 51]], [[13221, 13221], "mapped", [109, 51]], [[13222, 13222], "mapped", [107, 109, 51]], [[13223, 13223], "mapped", [109, 8725, 115]], [[13224, 13224], "mapped", [109, 8725, 115, 50]], [[13225, 13225], "mapped", [112, 97]], [[13226, 13226], "mapped", [107, 112, 97]], [[13227, 13227], "mapped", [109, 112, 97]], [[13228, 13228], "mapped", [103, 112, 97]], [[13229, 13229], "mapped", [114, 97, 100]], [[13230, 13230], "mapped", [114, 97, 100, 8725, 115]], [[13231, 13231], "mapped", [114, 97, 100, 8725, 115, 50]], [[13232, 13232], "mapped", [112, 115]], [[13233, 13233], "mapped", [110, 115]], [[13234, 13234], "mapped", [956, 115]], [[13235, 13235], "mapped", [109, 115]], [[13236, 13236], "mapped", [112, 118]], [[13237, 13237], "mapped", [110, 118]], [[13238, 13238], "mapped", [956, 118]], [[13239, 13239], "mapped", [109, 118]], [[13240, 13240], "mapped", [107, 118]], [[13241, 13241], "mapped", [109, 118]], [[13242, 13242], "mapped", [112, 119]], [[13243, 13243], "mapped", [110, 119]], [[13244, 13244], "mapped", [956, 119]], [[13245, 13245], "mapped", [109, 119]], [[13246, 13246], "mapped", [107, 119]], [[13247, 13247], "mapped", [109, 119]], [[13248, 13248], "mapped", [107, 969]], [[13249, 13249], "mapped", [109, 969]], [[13250, 13250], "disallowed"], [[13251, 13251], "mapped", [98, 113]], [[13252, 13252], "mapped", [99, 99]], [[13253, 13253], "mapped", [99, 100]], [[13254, 13254], "mapped", [99, 8725, 107, 103]], [[13255, 13255], "disallowed"], [[13256, 13256], "mapped", [100, 98]], [[13257, 13257], "mapped", [103, 121]], [[13258, 13258], "mapped", [104, 97]], [[13259, 13259], "mapped", [104, 112]], [[13260, 13260], "mapped", [105, 110]], [[13261, 13261], "mapped", [107, 107]], [[13262, 13262], "mapped", [107, 109]], [[13263, 13263], "mapped", [107, 116]], [[13264, 13264], "mapped", [108, 109]], [[13265, 13265], "mapped", [108, 110]], [[13266, 13266], "mapped", [108, 111, 103]], [[13267, 13267], "mapped", [108, 120]], [[13268, 13268], "mapped", [109, 98]], [[13269, 13269], "mapped", [109, 105, 108]], [[13270, 13270], "mapped", [109, 111, 108]], [[13271, 13271], "mapped", [112, 104]], [[13272, 13272], "disallowed"], [[13273, 13273], "mapped", [112, 112, 109]], [[13274, 13274], "mapped", [112, 114]], [[13275, 13275], "mapped", [115, 114]], [[13276, 13276], "mapped", [115, 118]], [[13277, 13277], "mapped", [119, 98]], [[13278, 13278], "mapped", [118, 8725, 109]], [[13279, 13279], "mapped", [97, 8725, 109]], [[13280, 13280], "mapped", [49, 26085]], [[13281, 13281], "mapped", [50, 26085]], [[13282, 13282], "mapped", [51, 26085]], [[13283, 13283], "mapped", [52, 26085]], [[13284, 13284], "mapped", [53, 26085]], [[13285, 13285], "mapped", [54, 26085]], [[13286, 13286], "mapped", [55, 26085]], [[13287, 13287], "mapped", [56, 26085]], [[13288, 13288], "mapped", [57, 26085]], [[13289, 13289], "mapped", [49, 48, 26085]], [[13290, 13290], "mapped", [49, 49, 26085]], [[13291, 13291], "mapped", [49, 50, 26085]], [[13292, 13292], "mapped", [49, 51, 26085]], [[13293, 13293], "mapped", [49, 52, 26085]], [[13294, 13294], "mapped", [49, 53, 26085]], [[13295, 13295], "mapped", [49, 54, 26085]], [[13296, 13296], "mapped", [49, 55, 26085]], [[13297, 13297], "mapped", [49, 56, 26085]], [[13298, 13298], "mapped", [49, 57, 26085]], [[13299, 13299], "mapped", [50, 48, 26085]], [[13300, 13300], "mapped", [50, 49, 26085]], [[13301, 13301], "mapped", [50, 50, 26085]], [[13302, 13302], "mapped", [50, 51, 26085]], [[13303, 13303], "mapped", [50, 52, 26085]], [[13304, 13304], "mapped", [50, 53, 26085]], [[13305, 13305], "mapped", [50, 54, 26085]], [[13306, 13306], "mapped", [50, 55, 26085]], [[13307, 13307], "mapped", [50, 56, 26085]], [[13308, 13308], "mapped", [50, 57, 26085]], [[13309, 13309], "mapped", [51, 48, 26085]], [[13310, 13310], "mapped", [51, 49, 26085]], [[13311, 13311], "mapped", [103, 97, 108]], [[13312, 19893], "valid"], [[19894, 19903], "disallowed"], [[19904, 19967], "valid", [], "NV8"], [[19968, 40869], "valid"], [[40870, 40891], "valid"], [[40892, 40899], "valid"], [[40900, 40907], "valid"], [[40908, 40908], "valid"], [[40909, 40917], "valid"], [[40918, 40959], "disallowed"], [[40960, 42124], "valid"], [[42125, 42127], "disallowed"], [[42128, 42145], "valid", [], "NV8"], [[42146, 42147], "valid", [], "NV8"], [[42148, 42163], "valid", [], "NV8"], [[42164, 42164], "valid", [], "NV8"], [[42165, 42176], "valid", [], "NV8"], [[42177, 42177], "valid", [], "NV8"], [[42178, 42180], "valid", [], "NV8"], [[42181, 42181], "valid", [], "NV8"], [[42182, 42182], "valid", [], "NV8"], [[42183, 42191], "disallowed"], [[42192, 42237], "valid"], [[42238, 42239], "valid", [], "NV8"], [[42240, 42508], "valid"], [[42509, 42511], "valid", [], "NV8"], [[42512, 42539], "valid"], [[42540, 42559], "disallowed"], [[42560, 42560], "mapped", [42561]], [[42561, 42561], "valid"], [[42562, 42562], "mapped", [42563]], [[42563, 42563], "valid"], [[42564, 42564], "mapped", [42565]], [[42565, 42565], "valid"], [[42566, 42566], "mapped", [42567]], [[42567, 42567], "valid"], [[42568, 42568], "mapped", [42569]], [[42569, 42569], "valid"], [[42570, 42570], "mapped", [42571]], [[42571, 42571], "valid"], [[42572, 42572], "mapped", [42573]], [[42573, 42573], "valid"], [[42574, 42574], "mapped", [42575]], [[42575, 42575], "valid"], [[42576, 42576], "mapped", [42577]], [[42577, 42577], "valid"], [[42578, 42578], "mapped", [42579]], [[42579, 42579], "valid"], [[42580, 42580], "mapped", [42581]], [[42581, 42581], "valid"], [[42582, 42582], "mapped", [42583]], [[42583, 42583], "valid"], [[42584, 42584], "mapped", [42585]], [[42585, 42585], "valid"], [[42586, 42586], "mapped", [42587]], [[42587, 42587], "valid"], [[42588, 42588], "mapped", [42589]], [[42589, 42589], "valid"], [[42590, 42590], "mapped", [42591]], [[42591, 42591], "valid"], [[42592, 42592], "mapped", [42593]], [[42593, 42593], "valid"], [[42594, 42594], "mapped", [42595]], [[42595, 42595], "valid"], [[42596, 42596], "mapped", [42597]], [[42597, 42597], "valid"], [[42598, 42598], "mapped", [42599]], [[42599, 42599], "valid"], [[42600, 42600], "mapped", [42601]], [[42601, 42601], "valid"], [[42602, 42602], "mapped", [42603]], [[42603, 42603], "valid"], [[42604, 42604], "mapped", [42605]], [[42605, 42607], "valid"], [[42608, 42611], "valid", [], "NV8"], [[42612, 42619], "valid"], [[42620, 42621], "valid"], [[42622, 42622], "valid", [], "NV8"], [[42623, 42623], "valid"], [[42624, 42624], "mapped", [42625]], [[42625, 42625], "valid"], [[42626, 42626], "mapped", [42627]], [[42627, 42627], "valid"], [[42628, 42628], "mapped", [42629]], [[42629, 42629], "valid"], [[42630, 42630], "mapped", [42631]], [[42631, 42631], "valid"], [[42632, 42632], "mapped", [42633]], [[42633, 42633], "valid"], [[42634, 42634], "mapped", [42635]], [[42635, 42635], "valid"], [[42636, 42636], "mapped", [42637]], [[42637, 42637], "valid"], [[42638, 42638], "mapped", [42639]], [[42639, 42639], "valid"], [[42640, 42640], "mapped", [42641]], [[42641, 42641], "valid"], [[42642, 42642], "mapped", [42643]], [[42643, 42643], "valid"], [[42644, 42644], "mapped", [42645]], [[42645, 42645], "valid"], [[42646, 42646], "mapped", [42647]], [[42647, 42647], "valid"], [[42648, 42648], "mapped", [42649]], [[42649, 42649], "valid"], [[42650, 42650], "mapped", [42651]], [[42651, 42651], "valid"], [[42652, 42652], "mapped", [1098]], [[42653, 42653], "mapped", [1100]], [[42654, 42654], "valid"], [[42655, 42655], "valid"], [[42656, 42725], "valid"], [[42726, 42735], "valid", [], "NV8"], [[42736, 42737], "valid"], [[42738, 42743], "valid", [], "NV8"], [[42744, 42751], "disallowed"], [[42752, 42774], "valid", [], "NV8"], [[42775, 42778], "valid"], [[42779, 42783], "valid"], [[42784, 42785], "valid", [], "NV8"], [[42786, 42786], "mapped", [42787]], [[42787, 42787], "valid"], [[42788, 42788], "mapped", [42789]], [[42789, 42789], "valid"], [[42790, 42790], "mapped", [42791]], [[42791, 42791], "valid"], [[42792, 42792], "mapped", [42793]], [[42793, 42793], "valid"], [[42794, 42794], "mapped", [42795]], [[42795, 42795], "valid"], [[42796, 42796], "mapped", [42797]], [[42797, 42797], "valid"], [[42798, 42798], "mapped", [42799]], [[42799, 42801], "valid"], [[42802, 42802], "mapped", [42803]], [[42803, 42803], "valid"], [[42804, 42804], "mapped", [42805]], [[42805, 42805], "valid"], [[42806, 42806], "mapped", [42807]], [[42807, 42807], "valid"], [[42808, 42808], "mapped", [42809]], [[42809, 42809], "valid"], [[42810, 42810], "mapped", [42811]], [[42811, 42811], "valid"], [[42812, 42812], "mapped", [42813]], [[42813, 42813], "valid"], [[42814, 42814], "mapped", [42815]], [[42815, 42815], "valid"], [[42816, 42816], "mapped", [42817]], [[42817, 42817], "valid"], [[42818, 42818], "mapped", [42819]], [[42819, 42819], "valid"], [[42820, 42820], "mapped", [42821]], [[42821, 42821], "valid"], [[42822, 42822], "mapped", [42823]], [[42823, 42823], "valid"], [[42824, 42824], "mapped", [42825]], [[42825, 42825], "valid"], [[42826, 42826], "mapped", [42827]], [[42827, 42827], "valid"], [[42828, 42828], "mapped", [42829]], [[42829, 42829], "valid"], [[42830, 42830], "mapped", [42831]], [[42831, 42831], "valid"], [[42832, 42832], "mapped", [42833]], [[42833, 42833], "valid"], [[42834, 42834], "mapped", [42835]], [[42835, 42835], "valid"], [[42836, 42836], "mapped", [42837]], [[42837, 42837], "valid"], [[42838, 42838], "mapped", [42839]], [[42839, 42839], "valid"], [[42840, 42840], "mapped", [42841]], [[42841, 42841], "valid"], [[42842, 42842], "mapped", [42843]], [[42843, 42843], "valid"], [[42844, 42844], "mapped", [42845]], [[42845, 42845], "valid"], [[42846, 42846], "mapped", [42847]], [[42847, 42847], "valid"], [[42848, 42848], "mapped", [42849]], [[42849, 42849], "valid"], [[42850, 42850], "mapped", [42851]], [[42851, 42851], "valid"], [[42852, 42852], "mapped", [42853]], [[42853, 42853], "valid"], [[42854, 42854], "mapped", [42855]], [[42855, 42855], "valid"], [[42856, 42856], "mapped", [42857]], [[42857, 42857], "valid"], [[42858, 42858], "mapped", [42859]], [[42859, 42859], "valid"], [[42860, 42860], "mapped", [42861]], [[42861, 42861], "valid"], [[42862, 42862], "mapped", [42863]], [[42863, 42863], "valid"], [[42864, 42864], "mapped", [42863]], [[42865, 42872], "valid"], [[42873, 42873], "mapped", [42874]], [[42874, 42874], "valid"], [[42875, 42875], "mapped", [42876]], [[42876, 42876], "valid"], [[42877, 42877], "mapped", [7545]], [[42878, 42878], "mapped", [42879]], [[42879, 42879], "valid"], [[42880, 42880], "mapped", [42881]], [[42881, 42881], "valid"], [[42882, 42882], "mapped", [42883]], [[42883, 42883], "valid"], [[42884, 42884], "mapped", [42885]], [[42885, 42885], "valid"], [[42886, 42886], "mapped", [42887]], [[42887, 42888], "valid"], [[42889, 42890], "valid", [], "NV8"], [[42891, 42891], "mapped", [42892]], [[42892, 42892], "valid"], [[42893, 42893], "mapped", [613]], [[42894, 42894], "valid"], [[42895, 42895], "valid"], [[42896, 42896], "mapped", [42897]], [[42897, 42897], "valid"], [[42898, 42898], "mapped", [42899]], [[42899, 42899], "valid"], [[42900, 42901], "valid"], [[42902, 42902], "mapped", [42903]], [[42903, 42903], "valid"], [[42904, 42904], "mapped", [42905]], [[42905, 42905], "valid"], [[42906, 42906], "mapped", [42907]], [[42907, 42907], "valid"], [[42908, 42908], "mapped", [42909]], [[42909, 42909], "valid"], [[42910, 42910], "mapped", [42911]], [[42911, 42911], "valid"], [[42912, 42912], "mapped", [42913]], [[42913, 42913], "valid"], [[42914, 42914], "mapped", [42915]], [[42915, 42915], "valid"], [[42916, 42916], "mapped", [42917]], [[42917, 42917], "valid"], [[42918, 42918], "mapped", [42919]], [[42919, 42919], "valid"], [[42920, 42920], "mapped", [42921]], [[42921, 42921], "valid"], [[42922, 42922], "mapped", [614]], [[42923, 42923], "mapped", [604]], [[42924, 42924], "mapped", [609]], [[42925, 42925], "mapped", [620]], [[42926, 42927], "disallowed"], [[42928, 42928], "mapped", [670]], [[42929, 42929], "mapped", [647]], [[42930, 42930], "mapped", [669]], [[42931, 42931], "mapped", [43859]], [[42932, 42932], "mapped", [42933]], [[42933, 42933], "valid"], [[42934, 42934], "mapped", [42935]], [[42935, 42935], "valid"], [[42936, 42998], "disallowed"], [[42999, 42999], "valid"], [[43e3, 43e3], "mapped", [295]], [[43001, 43001], "mapped", [339]], [[43002, 43002], "valid"], [[43003, 43007], "valid"], [[43008, 43047], "valid"], [[43048, 43051], "valid", [], "NV8"], [[43052, 43055], "disallowed"], [[43056, 43065], "valid", [], "NV8"], [[43066, 43071], "disallowed"], [[43072, 43123], "valid"], [[43124, 43127], "valid", [], "NV8"], [[43128, 43135], "disallowed"], [[43136, 43204], "valid"], [[43205, 43213], "disallowed"], [[43214, 43215], "valid", [], "NV8"], [[43216, 43225], "valid"], [[43226, 43231], "disallowed"], [[43232, 43255], "valid"], [[43256, 43258], "valid", [], "NV8"], [[43259, 43259], "valid"], [[43260, 43260], "valid", [], "NV8"], [[43261, 43261], "valid"], [[43262, 43263], "disallowed"], [[43264, 43309], "valid"], [[43310, 43311], "valid", [], "NV8"], [[43312, 43347], "valid"], [[43348, 43358], "disallowed"], [[43359, 43359], "valid", [], "NV8"], [[43360, 43388], "valid", [], "NV8"], [[43389, 43391], "disallowed"], [[43392, 43456], "valid"], [[43457, 43469], "valid", [], "NV8"], [[43470, 43470], "disallowed"], [[43471, 43481], "valid"], [[43482, 43485], "disallowed"], [[43486, 43487], "valid", [], "NV8"], [[43488, 43518], "valid"], [[43519, 43519], "disallowed"], [[43520, 43574], "valid"], [[43575, 43583], "disallowed"], [[43584, 43597], "valid"], [[43598, 43599], "disallowed"], [[43600, 43609], "valid"], [[43610, 43611], "disallowed"], [[43612, 43615], "valid", [], "NV8"], [[43616, 43638], "valid"], [[43639, 43641], "valid", [], "NV8"], [[43642, 43643], "valid"], [[43644, 43647], "valid"], [[43648, 43714], "valid"], [[43715, 43738], "disallowed"], [[43739, 43741], "valid"], [[43742, 43743], "valid", [], "NV8"], [[43744, 43759], "valid"], [[43760, 43761], "valid", [], "NV8"], [[43762, 43766], "valid"], [[43767, 43776], "disallowed"], [[43777, 43782], "valid"], [[43783, 43784], "disallowed"], [[43785, 43790], "valid"], [[43791, 43792], "disallowed"], [[43793, 43798], "valid"], [[43799, 43807], "disallowed"], [[43808, 43814], "valid"], [[43815, 43815], "disallowed"], [[43816, 43822], "valid"], [[43823, 43823], "disallowed"], [[43824, 43866], "valid"], [[43867, 43867], "valid", [], "NV8"], [[43868, 43868], "mapped", [42791]], [[43869, 43869], "mapped", [43831]], [[43870, 43870], "mapped", [619]], [[43871, 43871], "mapped", [43858]], [[43872, 43875], "valid"], [[43876, 43877], "valid"], [[43878, 43887], "disallowed"], [[43888, 43888], "mapped", [5024]], [[43889, 43889], "mapped", [5025]], [[43890, 43890], "mapped", [5026]], [[43891, 43891], "mapped", [5027]], [[43892, 43892], "mapped", [5028]], [[43893, 43893], "mapped", [5029]], [[43894, 43894], "mapped", [5030]], [[43895, 43895], "mapped", [5031]], [[43896, 43896], "mapped", [5032]], [[43897, 43897], "mapped", [5033]], [[43898, 43898], "mapped", [5034]], [[43899, 43899], "mapped", [5035]], [[43900, 43900], "mapped", [5036]], [[43901, 43901], "mapped", [5037]], [[43902, 43902], "mapped", [5038]], [[43903, 43903], "mapped", [5039]], [[43904, 43904], "mapped", [5040]], [[43905, 43905], "mapped", [5041]], [[43906, 43906], "mapped", [5042]], [[43907, 43907], "mapped", [5043]], [[43908, 43908], "mapped", [5044]], [[43909, 43909], "mapped", [5045]], [[43910, 43910], "mapped", [5046]], [[43911, 43911], "mapped", [5047]], [[43912, 43912], "mapped", [5048]], [[43913, 43913], "mapped", [5049]], [[43914, 43914], "mapped", [5050]], [[43915, 43915], "mapped", [5051]], [[43916, 43916], "mapped", [5052]], [[43917, 43917], "mapped", [5053]], [[43918, 43918], "mapped", [5054]], [[43919, 43919], "mapped", [5055]], [[43920, 43920], "mapped", [5056]], [[43921, 43921], "mapped", [5057]], [[43922, 43922], "mapped", [5058]], [[43923, 43923], "mapped", [5059]], [[43924, 43924], "mapped", [5060]], [[43925, 43925], "mapped", [5061]], [[43926, 43926], "mapped", [5062]], [[43927, 43927], "mapped", [5063]], [[43928, 43928], "mapped", [5064]], [[43929, 43929], "mapped", [5065]], [[43930, 43930], "mapped", [5066]], [[43931, 43931], "mapped", [5067]], [[43932, 43932], "mapped", [5068]], [[43933, 43933], "mapped", [5069]], [[43934, 43934], "mapped", [5070]], [[43935, 43935], "mapped", [5071]], [[43936, 43936], "mapped", [5072]], [[43937, 43937], "mapped", [5073]], [[43938, 43938], "mapped", [5074]], [[43939, 43939], "mapped", [5075]], [[43940, 43940], "mapped", [5076]], [[43941, 43941], "mapped", [5077]], [[43942, 43942], "mapped", [5078]], [[43943, 43943], "mapped", [5079]], [[43944, 43944], "mapped", [5080]], [[43945, 43945], "mapped", [5081]], [[43946, 43946], "mapped", [5082]], [[43947, 43947], "mapped", [5083]], [[43948, 43948], "mapped", [5084]], [[43949, 43949], "mapped", [5085]], [[43950, 43950], "mapped", [5086]], [[43951, 43951], "mapped", [5087]], [[43952, 43952], "mapped", [5088]], [[43953, 43953], "mapped", [5089]], [[43954, 43954], "mapped", [5090]], [[43955, 43955], "mapped", [5091]], [[43956, 43956], "mapped", [5092]], [[43957, 43957], "mapped", [5093]], [[43958, 43958], "mapped", [5094]], [[43959, 43959], "mapped", [5095]], [[43960, 43960], "mapped", [5096]], [[43961, 43961], "mapped", [5097]], [[43962, 43962], "mapped", [5098]], [[43963, 43963], "mapped", [5099]], [[43964, 43964], "mapped", [5100]], [[43965, 43965], "mapped", [5101]], [[43966, 43966], "mapped", [5102]], [[43967, 43967], "mapped", [5103]], [[43968, 44010], "valid"], [[44011, 44011], "valid", [], "NV8"], [[44012, 44013], "valid"], [[44014, 44015], "disallowed"], [[44016, 44025], "valid"], [[44026, 44031], "disallowed"], [[44032, 55203], "valid"], [[55204, 55215], "disallowed"], [[55216, 55238], "valid", [], "NV8"], [[55239, 55242], "disallowed"], [[55243, 55291], "valid", [], "NV8"], [[55292, 55295], "disallowed"], [[55296, 57343], "disallowed"], [[57344, 63743], "disallowed"], [[63744, 63744], "mapped", [35912]], [[63745, 63745], "mapped", [26356]], [[63746, 63746], "mapped", [36554]], [[63747, 63747], "mapped", [36040]], [[63748, 63748], "mapped", [28369]], [[63749, 63749], "mapped", [20018]], [[63750, 63750], "mapped", [21477]], [[63751, 63752], "mapped", [40860]], [[63753, 63753], "mapped", [22865]], [[63754, 63754], "mapped", [37329]], [[63755, 63755], "mapped", [21895]], [[63756, 63756], "mapped", [22856]], [[63757, 63757], "mapped", [25078]], [[63758, 63758], "mapped", [30313]], [[63759, 63759], "mapped", [32645]], [[63760, 63760], "mapped", [34367]], [[63761, 63761], "mapped", [34746]], [[63762, 63762], "mapped", [35064]], [[63763, 63763], "mapped", [37007]], [[63764, 63764], "mapped", [27138]], [[63765, 63765], "mapped", [27931]], [[63766, 63766], "mapped", [28889]], [[63767, 63767], "mapped", [29662]], [[63768, 63768], "mapped", [33853]], [[63769, 63769], "mapped", [37226]], [[63770, 63770], "mapped", [39409]], [[63771, 63771], "mapped", [20098]], [[63772, 63772], "mapped", [21365]], [[63773, 63773], "mapped", [27396]], [[63774, 63774], "mapped", [29211]], [[63775, 63775], "mapped", [34349]], [[63776, 63776], "mapped", [40478]], [[63777, 63777], "mapped", [23888]], [[63778, 63778], "mapped", [28651]], [[63779, 63779], "mapped", [34253]], [[63780, 63780], "mapped", [35172]], [[63781, 63781], "mapped", [25289]], [[63782, 63782], "mapped", [33240]], [[63783, 63783], "mapped", [34847]], [[63784, 63784], "mapped", [24266]], [[63785, 63785], "mapped", [26391]], [[63786, 63786], "mapped", [28010]], [[63787, 63787], "mapped", [29436]], [[63788, 63788], "mapped", [37070]], [[63789, 63789], "mapped", [20358]], [[63790, 63790], "mapped", [20919]], [[63791, 63791], "mapped", [21214]], [[63792, 63792], "mapped", [25796]], [[63793, 63793], "mapped", [27347]], [[63794, 63794], "mapped", [29200]], [[63795, 63795], "mapped", [30439]], [[63796, 63796], "mapped", [32769]], [[63797, 63797], "mapped", [34310]], [[63798, 63798], "mapped", [34396]], [[63799, 63799], "mapped", [36335]], [[63800, 63800], "mapped", [38706]], [[63801, 63801], "mapped", [39791]], [[63802, 63802], "mapped", [40442]], [[63803, 63803], "mapped", [30860]], [[63804, 63804], "mapped", [31103]], [[63805, 63805], "mapped", [32160]], [[63806, 63806], "mapped", [33737]], [[63807, 63807], "mapped", [37636]], [[63808, 63808], "mapped", [40575]], [[63809, 63809], "mapped", [35542]], [[63810, 63810], "mapped", [22751]], [[63811, 63811], "mapped", [24324]], [[63812, 63812], "mapped", [31840]], [[63813, 63813], "mapped", [32894]], [[63814, 63814], "mapped", [29282]], [[63815, 63815], "mapped", [30922]], [[63816, 63816], "mapped", [36034]], [[63817, 63817], "mapped", [38647]], [[63818, 63818], "mapped", [22744]], [[63819, 63819], "mapped", [23650]], [[63820, 63820], "mapped", [27155]], [[63821, 63821], "mapped", [28122]], [[63822, 63822], "mapped", [28431]], [[63823, 63823], "mapped", [32047]], [[63824, 63824], "mapped", [32311]], [[63825, 63825], "mapped", [38475]], [[63826, 63826], "mapped", [21202]], [[63827, 63827], "mapped", [32907]], [[63828, 63828], "mapped", [20956]], [[63829, 63829], "mapped", [20940]], [[63830, 63830], "mapped", [31260]], [[63831, 63831], "mapped", [32190]], [[63832, 63832], "mapped", [33777]], [[63833, 63833], "mapped", [38517]], [[63834, 63834], "mapped", [35712]], [[63835, 63835], "mapped", [25295]], [[63836, 63836], "mapped", [27138]], [[63837, 63837], "mapped", [35582]], [[63838, 63838], "mapped", [20025]], [[63839, 63839], "mapped", [23527]], [[63840, 63840], "mapped", [24594]], [[63841, 63841], "mapped", [29575]], [[63842, 63842], "mapped", [30064]], [[63843, 63843], "mapped", [21271]], [[63844, 63844], "mapped", [30971]], [[63845, 63845], "mapped", [20415]], [[63846, 63846], "mapped", [24489]], [[63847, 63847], "mapped", [19981]], [[63848, 63848], "mapped", [27852]], [[63849, 63849], "mapped", [25976]], [[63850, 63850], "mapped", [32034]], [[63851, 63851], "mapped", [21443]], [[63852, 63852], "mapped", [22622]], [[63853, 63853], "mapped", [30465]], [[63854, 63854], "mapped", [33865]], [[63855, 63855], "mapped", [35498]], [[63856, 63856], "mapped", [27578]], [[63857, 63857], "mapped", [36784]], [[63858, 63858], "mapped", [27784]], [[63859, 63859], "mapped", [25342]], [[63860, 63860], "mapped", [33509]], [[63861, 63861], "mapped", [25504]], [[63862, 63862], "mapped", [30053]], [[63863, 63863], "mapped", [20142]], [[63864, 63864], "mapped", [20841]], [[63865, 63865], "mapped", [20937]], [[63866, 63866], "mapped", [26753]], [[63867, 63867], "mapped", [31975]], [[63868, 63868], "mapped", [33391]], [[63869, 63869], "mapped", [35538]], [[63870, 63870], "mapped", [37327]], [[63871, 63871], "mapped", [21237]], [[63872, 63872], "mapped", [21570]], [[63873, 63873], "mapped", [22899]], [[63874, 63874], "mapped", [24300]], [[63875, 63875], "mapped", [26053]], [[63876, 63876], "mapped", [28670]], [[63877, 63877], "mapped", [31018]], [[63878, 63878], "mapped", [38317]], [[63879, 63879], "mapped", [39530]], [[63880, 63880], "mapped", [40599]], [[63881, 63881], "mapped", [40654]], [[63882, 63882], "mapped", [21147]], [[63883, 63883], "mapped", [26310]], [[63884, 63884], "mapped", [27511]], [[63885, 63885], "mapped", [36706]], [[63886, 63886], "mapped", [24180]], [[63887, 63887], "mapped", [24976]], [[63888, 63888], "mapped", [25088]], [[63889, 63889], "mapped", [25754]], [[63890, 63890], "mapped", [28451]], [[63891, 63891], "mapped", [29001]], [[63892, 63892], "mapped", [29833]], [[63893, 63893], "mapped", [31178]], [[63894, 63894], "mapped", [32244]], [[63895, 63895], "mapped", [32879]], [[63896, 63896], "mapped", [36646]], [[63897, 63897], "mapped", [34030]], [[63898, 63898], "mapped", [36899]], [[63899, 63899], "mapped", [37706]], [[63900, 63900], "mapped", [21015]], [[63901, 63901], "mapped", [21155]], [[63902, 63902], "mapped", [21693]], [[63903, 63903], "mapped", [28872]], [[63904, 63904], "mapped", [35010]], [[63905, 63905], "mapped", [35498]], [[63906, 63906], "mapped", [24265]], [[63907, 63907], "mapped", [24565]], [[63908, 63908], "mapped", [25467]], [[63909, 63909], "mapped", [27566]], [[63910, 63910], "mapped", [31806]], [[63911, 63911], "mapped", [29557]], [[63912, 63912], "mapped", [20196]], [[63913, 63913], "mapped", [22265]], [[63914, 63914], "mapped", [23527]], [[63915, 63915], "mapped", [23994]], [[63916, 63916], "mapped", [24604]], [[63917, 63917], "mapped", [29618]], [[63918, 63918], "mapped", [29801]], [[63919, 63919], "mapped", [32666]], [[63920, 63920], "mapped", [32838]], [[63921, 63921], "mapped", [37428]], [[63922, 63922], "mapped", [38646]], [[63923, 63923], "mapped", [38728]], [[63924, 63924], "mapped", [38936]], [[63925, 63925], "mapped", [20363]], [[63926, 63926], "mapped", [31150]], [[63927, 63927], "mapped", [37300]], [[63928, 63928], "mapped", [38584]], [[63929, 63929], "mapped", [24801]], [[63930, 63930], "mapped", [20102]], [[63931, 63931], "mapped", [20698]], [[63932, 63932], "mapped", [23534]], [[63933, 63933], "mapped", [23615]], [[63934, 63934], "mapped", [26009]], [[63935, 63935], "mapped", [27138]], [[63936, 63936], "mapped", [29134]], [[63937, 63937], "mapped", [30274]], [[63938, 63938], "mapped", [34044]], [[63939, 63939], "mapped", [36988]], [[63940, 63940], "mapped", [40845]], [[63941, 63941], "mapped", [26248]], [[63942, 63942], "mapped", [38446]], [[63943, 63943], "mapped", [21129]], [[63944, 63944], "mapped", [26491]], [[63945, 63945], "mapped", [26611]], [[63946, 63946], "mapped", [27969]], [[63947, 63947], "mapped", [28316]], [[63948, 63948], "mapped", [29705]], [[63949, 63949], "mapped", [30041]], [[63950, 63950], "mapped", [30827]], [[63951, 63951], "mapped", [32016]], [[63952, 63952], "mapped", [39006]], [[63953, 63953], "mapped", [20845]], [[63954, 63954], "mapped", [25134]], [[63955, 63955], "mapped", [38520]], [[63956, 63956], "mapped", [20523]], [[63957, 63957], "mapped", [23833]], [[63958, 63958], "mapped", [28138]], [[63959, 63959], "mapped", [36650]], [[63960, 63960], "mapped", [24459]], [[63961, 63961], "mapped", [24900]], [[63962, 63962], "mapped", [26647]], [[63963, 63963], "mapped", [29575]], [[63964, 63964], "mapped", [38534]], [[63965, 63965], "mapped", [21033]], [[63966, 63966], "mapped", [21519]], [[63967, 63967], "mapped", [23653]], [[63968, 63968], "mapped", [26131]], [[63969, 63969], "mapped", [26446]], [[63970, 63970], "mapped", [26792]], [[63971, 63971], "mapped", [27877]], [[63972, 63972], "mapped", [29702]], [[63973, 63973], "mapped", [30178]], [[63974, 63974], "mapped", [32633]], [[63975, 63975], "mapped", [35023]], [[63976, 63976], "mapped", [35041]], [[63977, 63977], "mapped", [37324]], [[63978, 63978], "mapped", [38626]], [[63979, 63979], "mapped", [21311]], [[63980, 63980], "mapped", [28346]], [[63981, 63981], "mapped", [21533]], [[63982, 63982], "mapped", [29136]], [[63983, 63983], "mapped", [29848]], [[63984, 63984], "mapped", [34298]], [[63985, 63985], "mapped", [38563]], [[63986, 63986], "mapped", [40023]], [[63987, 63987], "mapped", [40607]], [[63988, 63988], "mapped", [26519]], [[63989, 63989], "mapped", [28107]], [[63990, 63990], "mapped", [33256]], [[63991, 63991], "mapped", [31435]], [[63992, 63992], "mapped", [31520]], [[63993, 63993], "mapped", [31890]], [[63994, 63994], "mapped", [29376]], [[63995, 63995], "mapped", [28825]], [[63996, 63996], "mapped", [35672]], [[63997, 63997], "mapped", [20160]], [[63998, 63998], "mapped", [33590]], [[63999, 63999], "mapped", [21050]], [[64e3, 64e3], "mapped", [20999]], [[64001, 64001], "mapped", [24230]], [[64002, 64002], "mapped", [25299]], [[64003, 64003], "mapped", [31958]], [[64004, 64004], "mapped", [23429]], [[64005, 64005], "mapped", [27934]], [[64006, 64006], "mapped", [26292]], [[64007, 64007], "mapped", [36667]], [[64008, 64008], "mapped", [34892]], [[64009, 64009], "mapped", [38477]], [[64010, 64010], "mapped", [35211]], [[64011, 64011], "mapped", [24275]], [[64012, 64012], "mapped", [20800]], [[64013, 64013], "mapped", [21952]], [[64014, 64015], "valid"], [[64016, 64016], "mapped", [22618]], [[64017, 64017], "valid"], [[64018, 64018], "mapped", [26228]], [[64019, 64020], "valid"], [[64021, 64021], "mapped", [20958]], [[64022, 64022], "mapped", [29482]], [[64023, 64023], "mapped", [30410]], [[64024, 64024], "mapped", [31036]], [[64025, 64025], "mapped", [31070]], [[64026, 64026], "mapped", [31077]], [[64027, 64027], "mapped", [31119]], [[64028, 64028], "mapped", [38742]], [[64029, 64029], "mapped", [31934]], [[64030, 64030], "mapped", [32701]], [[64031, 64031], "valid"], [[64032, 64032], "mapped", [34322]], [[64033, 64033], "valid"], [[64034, 64034], "mapped", [35576]], [[64035, 64036], "valid"], [[64037, 64037], "mapped", [36920]], [[64038, 64038], "mapped", [37117]], [[64039, 64041], "valid"], [[64042, 64042], "mapped", [39151]], [[64043, 64043], "mapped", [39164]], [[64044, 64044], "mapped", [39208]], [[64045, 64045], "mapped", [40372]], [[64046, 64046], "mapped", [37086]], [[64047, 64047], "mapped", [38583]], [[64048, 64048], "mapped", [20398]], [[64049, 64049], "mapped", [20711]], [[64050, 64050], "mapped", [20813]], [[64051, 64051], "mapped", [21193]], [[64052, 64052], "mapped", [21220]], [[64053, 64053], "mapped", [21329]], [[64054, 64054], "mapped", [21917]], [[64055, 64055], "mapped", [22022]], [[64056, 64056], "mapped", [22120]], [[64057, 64057], "mapped", [22592]], [[64058, 64058], "mapped", [22696]], [[64059, 64059], "mapped", [23652]], [[64060, 64060], "mapped", [23662]], [[64061, 64061], "mapped", [24724]], [[64062, 64062], "mapped", [24936]], [[64063, 64063], "mapped", [24974]], [[64064, 64064], "mapped", [25074]], [[64065, 64065], "mapped", [25935]], [[64066, 64066], "mapped", [26082]], [[64067, 64067], "mapped", [26257]], [[64068, 64068], "mapped", [26757]], [[64069, 64069], "mapped", [28023]], [[64070, 64070], "mapped", [28186]], [[64071, 64071], "mapped", [28450]], [[64072, 64072], "mapped", [29038]], [[64073, 64073], "mapped", [29227]], [[64074, 64074], "mapped", [29730]], [[64075, 64075], "mapped", [30865]], [[64076, 64076], "mapped", [31038]], [[64077, 64077], "mapped", [31049]], [[64078, 64078], "mapped", [31048]], [[64079, 64079], "mapped", [31056]], [[64080, 64080], "mapped", [31062]], [[64081, 64081], "mapped", [31069]], [[64082, 64082], "mapped", [31117]], [[64083, 64083], "mapped", [31118]], [[64084, 64084], "mapped", [31296]], [[64085, 64085], "mapped", [31361]], [[64086, 64086], "mapped", [31680]], [[64087, 64087], "mapped", [32244]], [[64088, 64088], "mapped", [32265]], [[64089, 64089], "mapped", [32321]], [[64090, 64090], "mapped", [32626]], [[64091, 64091], "mapped", [32773]], [[64092, 64092], "mapped", [33261]], [[64093, 64094], "mapped", [33401]], [[64095, 64095], "mapped", [33879]], [[64096, 64096], "mapped", [35088]], [[64097, 64097], "mapped", [35222]], [[64098, 64098], "mapped", [35585]], [[64099, 64099], "mapped", [35641]], [[64100, 64100], "mapped", [36051]], [[64101, 64101], "mapped", [36104]], [[64102, 64102], "mapped", [36790]], [[64103, 64103], "mapped", [36920]], [[64104, 64104], "mapped", [38627]], [[64105, 64105], "mapped", [38911]], [[64106, 64106], "mapped", [38971]], [[64107, 64107], "mapped", [24693]], [[64108, 64108], "mapped", [148206]], [[64109, 64109], "mapped", [33304]], [[64110, 64111], "disallowed"], [[64112, 64112], "mapped", [20006]], [[64113, 64113], "mapped", [20917]], [[64114, 64114], "mapped", [20840]], [[64115, 64115], "mapped", [20352]], [[64116, 64116], "mapped", [20805]], [[64117, 64117], "mapped", [20864]], [[64118, 64118], "mapped", [21191]], [[64119, 64119], "mapped", [21242]], [[64120, 64120], "mapped", [21917]], [[64121, 64121], "mapped", [21845]], [[64122, 64122], "mapped", [21913]], [[64123, 64123], "mapped", [21986]], [[64124, 64124], "mapped", [22618]], [[64125, 64125], "mapped", [22707]], [[64126, 64126], "mapped", [22852]], [[64127, 64127], "mapped", [22868]], [[64128, 64128], "mapped", [23138]], [[64129, 64129], "mapped", [23336]], [[64130, 64130], "mapped", [24274]], [[64131, 64131], "mapped", [24281]], [[64132, 64132], "mapped", [24425]], [[64133, 64133], "mapped", [24493]], [[64134, 64134], "mapped", [24792]], [[64135, 64135], "mapped", [24910]], [[64136, 64136], "mapped", [24840]], [[64137, 64137], "mapped", [24974]], [[64138, 64138], "mapped", [24928]], [[64139, 64139], "mapped", [25074]], [[64140, 64140], "mapped", [25140]], [[64141, 64141], "mapped", [25540]], [[64142, 64142], "mapped", [25628]], [[64143, 64143], "mapped", [25682]], [[64144, 64144], "mapped", [25942]], [[64145, 64145], "mapped", [26228]], [[64146, 64146], "mapped", [26391]], [[64147, 64147], "mapped", [26395]], [[64148, 64148], "mapped", [26454]], [[64149, 64149], "mapped", [27513]], [[64150, 64150], "mapped", [27578]], [[64151, 64151], "mapped", [27969]], [[64152, 64152], "mapped", [28379]], [[64153, 64153], "mapped", [28363]], [[64154, 64154], "mapped", [28450]], [[64155, 64155], "mapped", [28702]], [[64156, 64156], "mapped", [29038]], [[64157, 64157], "mapped", [30631]], [[64158, 64158], "mapped", [29237]], [[64159, 64159], "mapped", [29359]], [[64160, 64160], "mapped", [29482]], [[64161, 64161], "mapped", [29809]], [[64162, 64162], "mapped", [29958]], [[64163, 64163], "mapped", [30011]], [[64164, 64164], "mapped", [30237]], [[64165, 64165], "mapped", [30239]], [[64166, 64166], "mapped", [30410]], [[64167, 64167], "mapped", [30427]], [[64168, 64168], "mapped", [30452]], [[64169, 64169], "mapped", [30538]], [[64170, 64170], "mapped", [30528]], [[64171, 64171], "mapped", [30924]], [[64172, 64172], "mapped", [31409]], [[64173, 64173], "mapped", [31680]], [[64174, 64174], "mapped", [31867]], [[64175, 64175], "mapped", [32091]], [[64176, 64176], "mapped", [32244]], [[64177, 64177], "mapped", [32574]], [[64178, 64178], "mapped", [32773]], [[64179, 64179], "mapped", [33618]], [[64180, 64180], "mapped", [33775]], [[64181, 64181], "mapped", [34681]], [[64182, 64182], "mapped", [35137]], [[64183, 64183], "mapped", [35206]], [[64184, 64184], "mapped", [35222]], [[64185, 64185], "mapped", [35519]], [[64186, 64186], "mapped", [35576]], [[64187, 64187], "mapped", [35531]], [[64188, 64188], "mapped", [35585]], [[64189, 64189], "mapped", [35582]], [[64190, 64190], "mapped", [35565]], [[64191, 64191], "mapped", [35641]], [[64192, 64192], "mapped", [35722]], [[64193, 64193], "mapped", [36104]], [[64194, 64194], "mapped", [36664]], [[64195, 64195], "mapped", [36978]], [[64196, 64196], "mapped", [37273]], [[64197, 64197], "mapped", [37494]], [[64198, 64198], "mapped", [38524]], [[64199, 64199], "mapped", [38627]], [[64200, 64200], "mapped", [38742]], [[64201, 64201], "mapped", [38875]], [[64202, 64202], "mapped", [38911]], [[64203, 64203], "mapped", [38923]], [[64204, 64204], "mapped", [38971]], [[64205, 64205], "mapped", [39698]], [[64206, 64206], "mapped", [40860]], [[64207, 64207], "mapped", [141386]], [[64208, 64208], "mapped", [141380]], [[64209, 64209], "mapped", [144341]], [[64210, 64210], "mapped", [15261]], [[64211, 64211], "mapped", [16408]], [[64212, 64212], "mapped", [16441]], [[64213, 64213], "mapped", [152137]], [[64214, 64214], "mapped", [154832]], [[64215, 64215], "mapped", [163539]], [[64216, 64216], "mapped", [40771]], [[64217, 64217], "mapped", [40846]], [[64218, 64255], "disallowed"], [[64256, 64256], "mapped", [102, 102]], [[64257, 64257], "mapped", [102, 105]], [[64258, 64258], "mapped", [102, 108]], [[64259, 64259], "mapped", [102, 102, 105]], [[64260, 64260], "mapped", [102, 102, 108]], [[64261, 64262], "mapped", [115, 116]], [[64263, 64274], "disallowed"], [[64275, 64275], "mapped", [1396, 1398]], [[64276, 64276], "mapped", [1396, 1381]], [[64277, 64277], "mapped", [1396, 1387]], [[64278, 64278], "mapped", [1406, 1398]], [[64279, 64279], "mapped", [1396, 1389]], [[64280, 64284], "disallowed"], [[64285, 64285], "mapped", [1497, 1460]], [[64286, 64286], "valid"], [[64287, 64287], "mapped", [1522, 1463]], [[64288, 64288], "mapped", [1506]], [[64289, 64289], "mapped", [1488]], [[64290, 64290], "mapped", [1491]], [[64291, 64291], "mapped", [1492]], [[64292, 64292], "mapped", [1499]], [[64293, 64293], "mapped", [1500]], [[64294, 64294], "mapped", [1501]], [[64295, 64295], "mapped", [1512]], [[64296, 64296], "mapped", [1514]], [[64297, 64297], "disallowed_STD3_mapped", [43]], [[64298, 64298], "mapped", [1513, 1473]], [[64299, 64299], "mapped", [1513, 1474]], [[64300, 64300], "mapped", [1513, 1468, 1473]], [[64301, 64301], "mapped", [1513, 1468, 1474]], [[64302, 64302], "mapped", [1488, 1463]], [[64303, 64303], "mapped", [1488, 1464]], [[64304, 64304], "mapped", [1488, 1468]], [[64305, 64305], "mapped", [1489, 1468]], [[64306, 64306], "mapped", [1490, 1468]], [[64307, 64307], "mapped", [1491, 1468]], [[64308, 64308], "mapped", [1492, 1468]], [[64309, 64309], "mapped", [1493, 1468]], [[64310, 64310], "mapped", [1494, 1468]], [[64311, 64311], "disallowed"], [[64312, 64312], "mapped", [1496, 1468]], [[64313, 64313], "mapped", [1497, 1468]], [[64314, 64314], "mapped", [1498, 1468]], [[64315, 64315], "mapped", [1499, 1468]], [[64316, 64316], "mapped", [1500, 1468]], [[64317, 64317], "disallowed"], [[64318, 64318], "mapped", [1502, 1468]], [[64319, 64319], "disallowed"], [[64320, 64320], "mapped", [1504, 1468]], [[64321, 64321], "mapped", [1505, 1468]], [[64322, 64322], "disallowed"], [[64323, 64323], "mapped", [1507, 1468]], [[64324, 64324], "mapped", [1508, 1468]], [[64325, 64325], "disallowed"], [[64326, 64326], "mapped", [1510, 1468]], [[64327, 64327], "mapped", [1511, 1468]], [[64328, 64328], "mapped", [1512, 1468]], [[64329, 64329], "mapped", [1513, 1468]], [[64330, 64330], "mapped", [1514, 1468]], [[64331, 64331], "mapped", [1493, 1465]], [[64332, 64332], "mapped", [1489, 1471]], [[64333, 64333], "mapped", [1499, 1471]], [[64334, 64334], "mapped", [1508, 1471]], [[64335, 64335], "mapped", [1488, 1500]], [[64336, 64337], "mapped", [1649]], [[64338, 64341], "mapped", [1659]], [[64342, 64345], "mapped", [1662]], [[64346, 64349], "mapped", [1664]], [[64350, 64353], "mapped", [1658]], [[64354, 64357], "mapped", [1663]], [[64358, 64361], "mapped", [1657]], [[64362, 64365], "mapped", [1700]], [[64366, 64369], "mapped", [1702]], [[64370, 64373], "mapped", [1668]], [[64374, 64377], "mapped", [1667]], [[64378, 64381], "mapped", [1670]], [[64382, 64385], "mapped", [1671]], [[64386, 64387], "mapped", [1677]], [[64388, 64389], "mapped", [1676]], [[64390, 64391], "mapped", [1678]], [[64392, 64393], "mapped", [1672]], [[64394, 64395], "mapped", [1688]], [[64396, 64397], "mapped", [1681]], [[64398, 64401], "mapped", [1705]], [[64402, 64405], "mapped", [1711]], [[64406, 64409], "mapped", [1715]], [[64410, 64413], "mapped", [1713]], [[64414, 64415], "mapped", [1722]], [[64416, 64419], "mapped", [1723]], [[64420, 64421], "mapped", [1728]], [[64422, 64425], "mapped", [1729]], [[64426, 64429], "mapped", [1726]], [[64430, 64431], "mapped", [1746]], [[64432, 64433], "mapped", [1747]], [[64434, 64449], "valid", [], "NV8"], [[64450, 64466], "disallowed"], [[64467, 64470], "mapped", [1709]], [[64471, 64472], "mapped", [1735]], [[64473, 64474], "mapped", [1734]], [[64475, 64476], "mapped", [1736]], [[64477, 64477], "mapped", [1735, 1652]], [[64478, 64479], "mapped", [1739]], [[64480, 64481], "mapped", [1733]], [[64482, 64483], "mapped", [1737]], [[64484, 64487], "mapped", [1744]], [[64488, 64489], "mapped", [1609]], [[64490, 64491], "mapped", [1574, 1575]], [[64492, 64493], "mapped", [1574, 1749]], [[64494, 64495], "mapped", [1574, 1608]], [[64496, 64497], "mapped", [1574, 1735]], [[64498, 64499], "mapped", [1574, 1734]], [[64500, 64501], "mapped", [1574, 1736]], [[64502, 64504], "mapped", [1574, 1744]], [[64505, 64507], "mapped", [1574, 1609]], [[64508, 64511], "mapped", [1740]], [[64512, 64512], "mapped", [1574, 1580]], [[64513, 64513], "mapped", [1574, 1581]], [[64514, 64514], "mapped", [1574, 1605]], [[64515, 64515], "mapped", [1574, 1609]], [[64516, 64516], "mapped", [1574, 1610]], [[64517, 64517], "mapped", [1576, 1580]], [[64518, 64518], "mapped", [1576, 1581]], [[64519, 64519], "mapped", [1576, 1582]], [[64520, 64520], "mapped", [1576, 1605]], [[64521, 64521], "mapped", [1576, 1609]], [[64522, 64522], "mapped", [1576, 1610]], [[64523, 64523], "mapped", [1578, 1580]], [[64524, 64524], "mapped", [1578, 1581]], [[64525, 64525], "mapped", [1578, 1582]], [[64526, 64526], "mapped", [1578, 1605]], [[64527, 64527], "mapped", [1578, 1609]], [[64528, 64528], "mapped", [1578, 1610]], [[64529, 64529], "mapped", [1579, 1580]], [[64530, 64530], "mapped", [1579, 1605]], [[64531, 64531], "mapped", [1579, 1609]], [[64532, 64532], "mapped", [1579, 1610]], [[64533, 64533], "mapped", [1580, 1581]], [[64534, 64534], "mapped", [1580, 1605]], [[64535, 64535], "mapped", [1581, 1580]], [[64536, 64536], "mapped", [1581, 1605]], [[64537, 64537], "mapped", [1582, 1580]], [[64538, 64538], "mapped", [1582, 1581]], [[64539, 64539], "mapped", [1582, 1605]], [[64540, 64540], "mapped", [1587, 1580]], [[64541, 64541], "mapped", [1587, 1581]], [[64542, 64542], "mapped", [1587, 1582]], [[64543, 64543], "mapped", [1587, 1605]], [[64544, 64544], "mapped", [1589, 1581]], [[64545, 64545], "mapped", [1589, 1605]], [[64546, 64546], "mapped", [1590, 1580]], [[64547, 64547], "mapped", [1590, 1581]], [[64548, 64548], "mapped", [1590, 1582]], [[64549, 64549], "mapped", [1590, 1605]], [[64550, 64550], "mapped", [1591, 1581]], [[64551, 64551], "mapped", [1591, 1605]], [[64552, 64552], "mapped", [1592, 1605]], [[64553, 64553], "mapped", [1593, 1580]], [[64554, 64554], "mapped", [1593, 1605]], [[64555, 64555], "mapped", [1594, 1580]], [[64556, 64556], "mapped", [1594, 1605]], [[64557, 64557], "mapped", [1601, 1580]], [[64558, 64558], "mapped", [1601, 1581]], [[64559, 64559], "mapped", [1601, 1582]], [[64560, 64560], "mapped", [1601, 1605]], [[64561, 64561], "mapped", [1601, 1609]], [[64562, 64562], "mapped", [1601, 1610]], [[64563, 64563], "mapped", [1602, 1581]], [[64564, 64564], "mapped", [1602, 1605]], [[64565, 64565], "mapped", [1602, 1609]], [[64566, 64566], "mapped", [1602, 1610]], [[64567, 64567], "mapped", [1603, 1575]], [[64568, 64568], "mapped", [1603, 1580]], [[64569, 64569], "mapped", [1603, 1581]], [[64570, 64570], "mapped", [1603, 1582]], [[64571, 64571], "mapped", [1603, 1604]], [[64572, 64572], "mapped", [1603, 1605]], [[64573, 64573], "mapped", [1603, 1609]], [[64574, 64574], "mapped", [1603, 1610]], [[64575, 64575], "mapped", [1604, 1580]], [[64576, 64576], "mapped", [1604, 1581]], [[64577, 64577], "mapped", [1604, 1582]], [[64578, 64578], "mapped", [1604, 1605]], [[64579, 64579], "mapped", [1604, 1609]], [[64580, 64580], "mapped", [1604, 1610]], [[64581, 64581], "mapped", [1605, 1580]], [[64582, 64582], "mapped", [1605, 1581]], [[64583, 64583], "mapped", [1605, 1582]], [[64584, 64584], "mapped", [1605, 1605]], [[64585, 64585], "mapped", [1605, 1609]], [[64586, 64586], "mapped", [1605, 1610]], [[64587, 64587], "mapped", [1606, 1580]], [[64588, 64588], "mapped", [1606, 1581]], [[64589, 64589], "mapped", [1606, 1582]], [[64590, 64590], "mapped", [1606, 1605]], [[64591, 64591], "mapped", [1606, 1609]], [[64592, 64592], "mapped", [1606, 1610]], [[64593, 64593], "mapped", [1607, 1580]], [[64594, 64594], "mapped", [1607, 1605]], [[64595, 64595], "mapped", [1607, 1609]], [[64596, 64596], "mapped", [1607, 1610]], [[64597, 64597], "mapped", [1610, 1580]], [[64598, 64598], "mapped", [1610, 1581]], [[64599, 64599], "mapped", [1610, 1582]], [[64600, 64600], "mapped", [1610, 1605]], [[64601, 64601], "mapped", [1610, 1609]], [[64602, 64602], "mapped", [1610, 1610]], [[64603, 64603], "mapped", [1584, 1648]], [[64604, 64604], "mapped", [1585, 1648]], [[64605, 64605], "mapped", [1609, 1648]], [[64606, 64606], "disallowed_STD3_mapped", [32, 1612, 1617]], [[64607, 64607], "disallowed_STD3_mapped", [32, 1613, 1617]], [[64608, 64608], "disallowed_STD3_mapped", [32, 1614, 1617]], [[64609, 64609], "disallowed_STD3_mapped", [32, 1615, 1617]], [[64610, 64610], "disallowed_STD3_mapped", [32, 1616, 1617]], [[64611, 64611], "disallowed_STD3_mapped", [32, 1617, 1648]], [[64612, 64612], "mapped", [1574, 1585]], [[64613, 64613], "mapped", [1574, 1586]], [[64614, 64614], "mapped", [1574, 1605]], [[64615, 64615], "mapped", [1574, 1606]], [[64616, 64616], "mapped", [1574, 1609]], [[64617, 64617], "mapped", [1574, 1610]], [[64618, 64618], "mapped", [1576, 1585]], [[64619, 64619], "mapped", [1576, 1586]], [[64620, 64620], "mapped", [1576, 1605]], [[64621, 64621], "mapped", [1576, 1606]], [[64622, 64622], "mapped", [1576, 1609]], [[64623, 64623], "mapped", [1576, 1610]], [[64624, 64624], "mapped", [1578, 1585]], [[64625, 64625], "mapped", [1578, 1586]], [[64626, 64626], "mapped", [1578, 1605]], [[64627, 64627], "mapped", [1578, 1606]], [[64628, 64628], "mapped", [1578, 1609]], [[64629, 64629], "mapped", [1578, 1610]], [[64630, 64630], "mapped", [1579, 1585]], [[64631, 64631], "mapped", [1579, 1586]], [[64632, 64632], "mapped", [1579, 1605]], [[64633, 64633], "mapped", [1579, 1606]], [[64634, 64634], "mapped", [1579, 1609]], [[64635, 64635], "mapped", [1579, 1610]], [[64636, 64636], "mapped", [1601, 1609]], [[64637, 64637], "mapped", [1601, 1610]], [[64638, 64638], "mapped", [1602, 1609]], [[64639, 64639], "mapped", [1602, 1610]], [[64640, 64640], "mapped", [1603, 1575]], [[64641, 64641], "mapped", [1603, 1604]], [[64642, 64642], "mapped", [1603, 1605]], [[64643, 64643], "mapped", [1603, 1609]], [[64644, 64644], "mapped", [1603, 1610]], [[64645, 64645], "mapped", [1604, 1605]], [[64646, 64646], "mapped", [1604, 1609]], [[64647, 64647], "mapped", [1604, 1610]], [[64648, 64648], "mapped", [1605, 1575]], [[64649, 64649], "mapped", [1605, 1605]], [[64650, 64650], "mapped", [1606, 1585]], [[64651, 64651], "mapped", [1606, 1586]], [[64652, 64652], "mapped", [1606, 1605]], [[64653, 64653], "mapped", [1606, 1606]], [[64654, 64654], "mapped", [1606, 1609]], [[64655, 64655], "mapped", [1606, 1610]], [[64656, 64656], "mapped", [1609, 1648]], [[64657, 64657], "mapped", [1610, 1585]], [[64658, 64658], "mapped", [1610, 1586]], [[64659, 64659], "mapped", [1610, 1605]], [[64660, 64660], "mapped", [1610, 1606]], [[64661, 64661], "mapped", [1610, 1609]], [[64662, 64662], "mapped", [1610, 1610]], [[64663, 64663], "mapped", [1574, 1580]], [[64664, 64664], "mapped", [1574, 1581]], [[64665, 64665], "mapped", [1574, 1582]], [[64666, 64666], "mapped", [1574, 1605]], [[64667, 64667], "mapped", [1574, 1607]], [[64668, 64668], "mapped", [1576, 1580]], [[64669, 64669], "mapped", [1576, 1581]], [[64670, 64670], "mapped", [1576, 1582]], [[64671, 64671], "mapped", [1576, 1605]], [[64672, 64672], "mapped", [1576, 1607]], [[64673, 64673], "mapped", [1578, 1580]], [[64674, 64674], "mapped", [1578, 1581]], [[64675, 64675], "mapped", [1578, 1582]], [[64676, 64676], "mapped", [1578, 1605]], [[64677, 64677], "mapped", [1578, 1607]], [[64678, 64678], "mapped", [1579, 1605]], [[64679, 64679], "mapped", [1580, 1581]], [[64680, 64680], "mapped", [1580, 1605]], [[64681, 64681], "mapped", [1581, 1580]], [[64682, 64682], "mapped", [1581, 1605]], [[64683, 64683], "mapped", [1582, 1580]], [[64684, 64684], "mapped", [1582, 1605]], [[64685, 64685], "mapped", [1587, 1580]], [[64686, 64686], "mapped", [1587, 1581]], [[64687, 64687], "mapped", [1587, 1582]], [[64688, 64688], "mapped", [1587, 1605]], [[64689, 64689], "mapped", [1589, 1581]], [[64690, 64690], "mapped", [1589, 1582]], [[64691, 64691], "mapped", [1589, 1605]], [[64692, 64692], "mapped", [1590, 1580]], [[64693, 64693], "mapped", [1590, 1581]], [[64694, 64694], "mapped", [1590, 1582]], [[64695, 64695], "mapped", [1590, 1605]], [[64696, 64696], "mapped", [1591, 1581]], [[64697, 64697], "mapped", [1592, 1605]], [[64698, 64698], "mapped", [1593, 1580]], [[64699, 64699], "mapped", [1593, 1605]], [[64700, 64700], "mapped", [1594, 1580]], [[64701, 64701], "mapped", [1594, 1605]], [[64702, 64702], "mapped", [1601, 1580]], [[64703, 64703], "mapped", [1601, 1581]], [[64704, 64704], "mapped", [1601, 1582]], [[64705, 64705], "mapped", [1601, 1605]], [[64706, 64706], "mapped", [1602, 1581]], [[64707, 64707], "mapped", [1602, 1605]], [[64708, 64708], "mapped", [1603, 1580]], [[64709, 64709], "mapped", [1603, 1581]], [[64710, 64710], "mapped", [1603, 1582]], [[64711, 64711], "mapped", [1603, 1604]], [[64712, 64712], "mapped", [1603, 1605]], [[64713, 64713], "mapped", [1604, 1580]], [[64714, 64714], "mapped", [1604, 1581]], [[64715, 64715], "mapped", [1604, 1582]], [[64716, 64716], "mapped", [1604, 1605]], [[64717, 64717], "mapped", [1604, 1607]], [[64718, 64718], "mapped", [1605, 1580]], [[64719, 64719], "mapped", [1605, 1581]], [[64720, 64720], "mapped", [1605, 1582]], [[64721, 64721], "mapped", [1605, 1605]], [[64722, 64722], "mapped", [1606, 1580]], [[64723, 64723], "mapped", [1606, 1581]], [[64724, 64724], "mapped", [1606, 1582]], [[64725, 64725], "mapped", [1606, 1605]], [[64726, 64726], "mapped", [1606, 1607]], [[64727, 64727], "mapped", [1607, 1580]], [[64728, 64728], "mapped", [1607, 1605]], [[64729, 64729], "mapped", [1607, 1648]], [[64730, 64730], "mapped", [1610, 1580]], [[64731, 64731], "mapped", [1610, 1581]], [[64732, 64732], "mapped", [1610, 1582]], [[64733, 64733], "mapped", [1610, 1605]], [[64734, 64734], "mapped", [1610, 1607]], [[64735, 64735], "mapped", [1574, 1605]], [[64736, 64736], "mapped", [1574, 1607]], [[64737, 64737], "mapped", [1576, 1605]], [[64738, 64738], "mapped", [1576, 1607]], [[64739, 64739], "mapped", [1578, 1605]], [[64740, 64740], "mapped", [1578, 1607]], [[64741, 64741], "mapped", [1579, 1605]], [[64742, 64742], "mapped", [1579, 1607]], [[64743, 64743], "mapped", [1587, 1605]], [[64744, 64744], "mapped", [1587, 1607]], [[64745, 64745], "mapped", [1588, 1605]], [[64746, 64746], "mapped", [1588, 1607]], [[64747, 64747], "mapped", [1603, 1604]], [[64748, 64748], "mapped", [1603, 1605]], [[64749, 64749], "mapped", [1604, 1605]], [[64750, 64750], "mapped", [1606, 1605]], [[64751, 64751], "mapped", [1606, 1607]], [[64752, 64752], "mapped", [1610, 1605]], [[64753, 64753], "mapped", [1610, 1607]], [[64754, 64754], "mapped", [1600, 1614, 1617]], [[64755, 64755], "mapped", [1600, 1615, 1617]], [[64756, 64756], "mapped", [1600, 1616, 1617]], [[64757, 64757], "mapped", [1591, 1609]], [[64758, 64758], "mapped", [1591, 1610]], [[64759, 64759], "mapped", [1593, 1609]], [[64760, 64760], "mapped", [1593, 1610]], [[64761, 64761], "mapped", [1594, 1609]], [[64762, 64762], "mapped", [1594, 1610]], [[64763, 64763], "mapped", [1587, 1609]], [[64764, 64764], "mapped", [1587, 1610]], [[64765, 64765], "mapped", [1588, 1609]], [[64766, 64766], "mapped", [1588, 1610]], [[64767, 64767], "mapped", [1581, 1609]], [[64768, 64768], "mapped", [1581, 1610]], [[64769, 64769], "mapped", [1580, 1609]], [[64770, 64770], "mapped", [1580, 1610]], [[64771, 64771], "mapped", [1582, 1609]], [[64772, 64772], "mapped", [1582, 1610]], [[64773, 64773], "mapped", [1589, 1609]], [[64774, 64774], "mapped", [1589, 1610]], [[64775, 64775], "mapped", [1590, 1609]], [[64776, 64776], "mapped", [1590, 1610]], [[64777, 64777], "mapped", [1588, 1580]], [[64778, 64778], "mapped", [1588, 1581]], [[64779, 64779], "mapped", [1588, 1582]], [[64780, 64780], "mapped", [1588, 1605]], [[64781, 64781], "mapped", [1588, 1585]], [[64782, 64782], "mapped", [1587, 1585]], [[64783, 64783], "mapped", [1589, 1585]], [[64784, 64784], "mapped", [1590, 1585]], [[64785, 64785], "mapped", [1591, 1609]], [[64786, 64786], "mapped", [1591, 1610]], [[64787, 64787], "mapped", [1593, 1609]], [[64788, 64788], "mapped", [1593, 1610]], [[64789, 64789], "mapped", [1594, 1609]], [[64790, 64790], "mapped", [1594, 1610]], [[64791, 64791], "mapped", [1587, 1609]], [[64792, 64792], "mapped", [1587, 1610]], [[64793, 64793], "mapped", [1588, 1609]], [[64794, 64794], "mapped", [1588, 1610]], [[64795, 64795], "mapped", [1581, 1609]], [[64796, 64796], "mapped", [1581, 1610]], [[64797, 64797], "mapped", [1580, 1609]], [[64798, 64798], "mapped", [1580, 1610]], [[64799, 64799], "mapped", [1582, 1609]], [[64800, 64800], "mapped", [1582, 1610]], [[64801, 64801], "mapped", [1589, 1609]], [[64802, 64802], "mapped", [1589, 1610]], [[64803, 64803], "mapped", [1590, 1609]], [[64804, 64804], "mapped", [1590, 1610]], [[64805, 64805], "mapped", [1588, 1580]], [[64806, 64806], "mapped", [1588, 1581]], [[64807, 64807], "mapped", [1588, 1582]], [[64808, 64808], "mapped", [1588, 1605]], [[64809, 64809], "mapped", [1588, 1585]], [[64810, 64810], "mapped", [1587, 1585]], [[64811, 64811], "mapped", [1589, 1585]], [[64812, 64812], "mapped", [1590, 1585]], [[64813, 64813], "mapped", [1588, 1580]], [[64814, 64814], "mapped", [1588, 1581]], [[64815, 64815], "mapped", [1588, 1582]], [[64816, 64816], "mapped", [1588, 1605]], [[64817, 64817], "mapped", [1587, 1607]], [[64818, 64818], "mapped", [1588, 1607]], [[64819, 64819], "mapped", [1591, 1605]], [[64820, 64820], "mapped", [1587, 1580]], [[64821, 64821], "mapped", [1587, 1581]], [[64822, 64822], "mapped", [1587, 1582]], [[64823, 64823], "mapped", [1588, 1580]], [[64824, 64824], "mapped", [1588, 1581]], [[64825, 64825], "mapped", [1588, 1582]], [[64826, 64826], "mapped", [1591, 1605]], [[64827, 64827], "mapped", [1592, 1605]], [[64828, 64829], "mapped", [1575, 1611]], [[64830, 64831], "valid", [], "NV8"], [[64832, 64847], "disallowed"], [[64848, 64848], "mapped", [1578, 1580, 1605]], [[64849, 64850], "mapped", [1578, 1581, 1580]], [[64851, 64851], "mapped", [1578, 1581, 1605]], [[64852, 64852], "mapped", [1578, 1582, 1605]], [[64853, 64853], "mapped", [1578, 1605, 1580]], [[64854, 64854], "mapped", [1578, 1605, 1581]], [[64855, 64855], "mapped", [1578, 1605, 1582]], [[64856, 64857], "mapped", [1580, 1605, 1581]], [[64858, 64858], "mapped", [1581, 1605, 1610]], [[64859, 64859], "mapped", [1581, 1605, 1609]], [[64860, 64860], "mapped", [1587, 1581, 1580]], [[64861, 64861], "mapped", [1587, 1580, 1581]], [[64862, 64862], "mapped", [1587, 1580, 1609]], [[64863, 64864], "mapped", [1587, 1605, 1581]], [[64865, 64865], "mapped", [1587, 1605, 1580]], [[64866, 64867], "mapped", [1587, 1605, 1605]], [[64868, 64869], "mapped", [1589, 1581, 1581]], [[64870, 64870], "mapped", [1589, 1605, 1605]], [[64871, 64872], "mapped", [1588, 1581, 1605]], [[64873, 64873], "mapped", [1588, 1580, 1610]], [[64874, 64875], "mapped", [1588, 1605, 1582]], [[64876, 64877], "mapped", [1588, 1605, 1605]], [[64878, 64878], "mapped", [1590, 1581, 1609]], [[64879, 64880], "mapped", [1590, 1582, 1605]], [[64881, 64882], "mapped", [1591, 1605, 1581]], [[64883, 64883], "mapped", [1591, 1605, 1605]], [[64884, 64884], "mapped", [1591, 1605, 1610]], [[64885, 64885], "mapped", [1593, 1580, 1605]], [[64886, 64887], "mapped", [1593, 1605, 1605]], [[64888, 64888], "mapped", [1593, 1605, 1609]], [[64889, 64889], "mapped", [1594, 1605, 1605]], [[64890, 64890], "mapped", [1594, 1605, 1610]], [[64891, 64891], "mapped", [1594, 1605, 1609]], [[64892, 64893], "mapped", [1601, 1582, 1605]], [[64894, 64894], "mapped", [1602, 1605, 1581]], [[64895, 64895], "mapped", [1602, 1605, 1605]], [[64896, 64896], "mapped", [1604, 1581, 1605]], [[64897, 64897], "mapped", [1604, 1581, 1610]], [[64898, 64898], "mapped", [1604, 1581, 1609]], [[64899, 64900], "mapped", [1604, 1580, 1580]], [[64901, 64902], "mapped", [1604, 1582, 1605]], [[64903, 64904], "mapped", [1604, 1605, 1581]], [[64905, 64905], "mapped", [1605, 1581, 1580]], [[64906, 64906], "mapped", [1605, 1581, 1605]], [[64907, 64907], "mapped", [1605, 1581, 1610]], [[64908, 64908], "mapped", [1605, 1580, 1581]], [[64909, 64909], "mapped", [1605, 1580, 1605]], [[64910, 64910], "mapped", [1605, 1582, 1580]], [[64911, 64911], "mapped", [1605, 1582, 1605]], [[64912, 64913], "disallowed"], [[64914, 64914], "mapped", [1605, 1580, 1582]], [[64915, 64915], "mapped", [1607, 1605, 1580]], [[64916, 64916], "mapped", [1607, 1605, 1605]], [[64917, 64917], "mapped", [1606, 1581, 1605]], [[64918, 64918], "mapped", [1606, 1581, 1609]], [[64919, 64920], "mapped", [1606, 1580, 1605]], [[64921, 64921], "mapped", [1606, 1580, 1609]], [[64922, 64922], "mapped", [1606, 1605, 1610]], [[64923, 64923], "mapped", [1606, 1605, 1609]], [[64924, 64925], "mapped", [1610, 1605, 1605]], [[64926, 64926], "mapped", [1576, 1582, 1610]], [[64927, 64927], "mapped", [1578, 1580, 1610]], [[64928, 64928], "mapped", [1578, 1580, 1609]], [[64929, 64929], "mapped", [1578, 1582, 1610]], [[64930, 64930], "mapped", [1578, 1582, 1609]], [[64931, 64931], "mapped", [1578, 1605, 1610]], [[64932, 64932], "mapped", [1578, 1605, 1609]], [[64933, 64933], "mapped", [1580, 1605, 1610]], [[64934, 64934], "mapped", [1580, 1581, 1609]], [[64935, 64935], "mapped", [1580, 1605, 1609]], [[64936, 64936], "mapped", [1587, 1582, 1609]], [[64937, 64937], "mapped", [1589, 1581, 1610]], [[64938, 64938], "mapped", [1588, 1581, 1610]], [[64939, 64939], "mapped", [1590, 1581, 1610]], [[64940, 64940], "mapped", [1604, 1580, 1610]], [[64941, 64941], "mapped", [1604, 1605, 1610]], [[64942, 64942], "mapped", [1610, 1581, 1610]], [[64943, 64943], "mapped", [1610, 1580, 1610]], [[64944, 64944], "mapped", [1610, 1605, 1610]], [[64945, 64945], "mapped", [1605, 1605, 1610]], [[64946, 64946], "mapped", [1602, 1605, 1610]], [[64947, 64947], "mapped", [1606, 1581, 1610]], [[64948, 64948], "mapped", [1602, 1605, 1581]], [[64949, 64949], "mapped", [1604, 1581, 1605]], [[64950, 64950], "mapped", [1593, 1605, 1610]], [[64951, 64951], "mapped", [1603, 1605, 1610]], [[64952, 64952], "mapped", [1606, 1580, 1581]], [[64953, 64953], "mapped", [1605, 1582, 1610]], [[64954, 64954], "mapped", [1604, 1580, 1605]], [[64955, 64955], "mapped", [1603, 1605, 1605]], [[64956, 64956], "mapped", [1604, 1580, 1605]], [[64957, 64957], "mapped", [1606, 1580, 1581]], [[64958, 64958], "mapped", [1580, 1581, 1610]], [[64959, 64959], "mapped", [1581, 1580, 1610]], [[64960, 64960], "mapped", [1605, 1580, 1610]], [[64961, 64961], "mapped", [1601, 1605, 1610]], [[64962, 64962], "mapped", [1576, 1581, 1610]], [[64963, 64963], "mapped", [1603, 1605, 1605]], [[64964, 64964], "mapped", [1593, 1580, 1605]], [[64965, 64965], "mapped", [1589, 1605, 1605]], [[64966, 64966], "mapped", [1587, 1582, 1610]], [[64967, 64967], "mapped", [1606, 1580, 1610]], [[64968, 64975], "disallowed"], [[64976, 65007], "disallowed"], [[65008, 65008], "mapped", [1589, 1604, 1746]], [[65009, 65009], "mapped", [1602, 1604, 1746]], [[65010, 65010], "mapped", [1575, 1604, 1604, 1607]], [[65011, 65011], "mapped", [1575, 1603, 1576, 1585]], [[65012, 65012], "mapped", [1605, 1581, 1605, 1583]], [[65013, 65013], "mapped", [1589, 1604, 1593, 1605]], [[65014, 65014], "mapped", [1585, 1587, 1608, 1604]], [[65015, 65015], "mapped", [1593, 1604, 1610, 1607]], [[65016, 65016], "mapped", [1608, 1587, 1604, 1605]], [[65017, 65017], "mapped", [1589, 1604, 1609]], [[65018, 65018], "disallowed_STD3_mapped", [1589, 1604, 1609, 32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 1604, 1605]], [[65019, 65019], "disallowed_STD3_mapped", [1580, 1604, 32, 1580, 1604, 1575, 1604, 1607]], [[65020, 65020], "mapped", [1585, 1740, 1575, 1604]], [[65021, 65021], "valid", [], "NV8"], [[65022, 65023], "disallowed"], [[65024, 65039], "ignored"], [[65040, 65040], "disallowed_STD3_mapped", [44]], [[65041, 65041], "mapped", [12289]], [[65042, 65042], "disallowed"], [[65043, 65043], "disallowed_STD3_mapped", [58]], [[65044, 65044], "disallowed_STD3_mapped", [59]], [[65045, 65045], "disallowed_STD3_mapped", [33]], [[65046, 65046], "disallowed_STD3_mapped", [63]], [[65047, 65047], "mapped", [12310]], [[65048, 65048], "mapped", [12311]], [[65049, 65049], "disallowed"], [[65050, 65055], "disallowed"], [[65056, 65059], "valid"], [[65060, 65062], "valid"], [[65063, 65069], "valid"], [[65070, 65071], "valid"], [[65072, 65072], "disallowed"], [[65073, 65073], "mapped", [8212]], [[65074, 65074], "mapped", [8211]], [[65075, 65076], "disallowed_STD3_mapped", [95]], [[65077, 65077], "disallowed_STD3_mapped", [40]], [[65078, 65078], "disallowed_STD3_mapped", [41]], [[65079, 65079], "disallowed_STD3_mapped", [123]], [[65080, 65080], "disallowed_STD3_mapped", [125]], [[65081, 65081], "mapped", [12308]], [[65082, 65082], "mapped", [12309]], [[65083, 65083], "mapped", [12304]], [[65084, 65084], "mapped", [12305]], [[65085, 65085], "mapped", [12298]], [[65086, 65086], "mapped", [12299]], [[65087, 65087], "mapped", [12296]], [[65088, 65088], "mapped", [12297]], [[65089, 65089], "mapped", [12300]], [[65090, 65090], "mapped", [12301]], [[65091, 65091], "mapped", [12302]], [[65092, 65092], "mapped", [12303]], [[65093, 65094], "valid", [], "NV8"], [[65095, 65095], "disallowed_STD3_mapped", [91]], [[65096, 65096], "disallowed_STD3_mapped", [93]], [[65097, 65100], "disallowed_STD3_mapped", [32, 773]], [[65101, 65103], "disallowed_STD3_mapped", [95]], [[65104, 65104], "disallowed_STD3_mapped", [44]], [[65105, 65105], "mapped", [12289]], [[65106, 65106], "disallowed"], [[65107, 65107], "disallowed"], [[65108, 65108], "disallowed_STD3_mapped", [59]], [[65109, 65109], "disallowed_STD3_mapped", [58]], [[65110, 65110], "disallowed_STD3_mapped", [63]], [[65111, 65111], "disallowed_STD3_mapped", [33]], [[65112, 65112], "mapped", [8212]], [[65113, 65113], "disallowed_STD3_mapped", [40]], [[65114, 65114], "disallowed_STD3_mapped", [41]], [[65115, 65115], "disallowed_STD3_mapped", [123]], [[65116, 65116], "disallowed_STD3_mapped", [125]], [[65117, 65117], "mapped", [12308]], [[65118, 65118], "mapped", [12309]], [[65119, 65119], "disallowed_STD3_mapped", [35]], [[65120, 65120], "disallowed_STD3_mapped", [38]], [[65121, 65121], "disallowed_STD3_mapped", [42]], [[65122, 65122], "disallowed_STD3_mapped", [43]], [[65123, 65123], "mapped", [45]], [[65124, 65124], "disallowed_STD3_mapped", [60]], [[65125, 65125], "disallowed_STD3_mapped", [62]], [[65126, 65126], "disallowed_STD3_mapped", [61]], [[65127, 65127], "disallowed"], [[65128, 65128], "disallowed_STD3_mapped", [92]], [[65129, 65129], "disallowed_STD3_mapped", [36]], [[65130, 65130], "disallowed_STD3_mapped", [37]], [[65131, 65131], "disallowed_STD3_mapped", [64]], [[65132, 65135], "disallowed"], [[65136, 65136], "disallowed_STD3_mapped", [32, 1611]], [[65137, 65137], "mapped", [1600, 1611]], [[65138, 65138], "disallowed_STD3_mapped", [32, 1612]], [[65139, 65139], "valid"], [[65140, 65140], "disallowed_STD3_mapped", [32, 1613]], [[65141, 65141], "disallowed"], [[65142, 65142], "disallowed_STD3_mapped", [32, 1614]], [[65143, 65143], "mapped", [1600, 1614]], [[65144, 65144], "disallowed_STD3_mapped", [32, 1615]], [[65145, 65145], "mapped", [1600, 1615]], [[65146, 65146], "disallowed_STD3_mapped", [32, 1616]], [[65147, 65147], "mapped", [1600, 1616]], [[65148, 65148], "disallowed_STD3_mapped", [32, 1617]], [[65149, 65149], "mapped", [1600, 1617]], [[65150, 65150], "disallowed_STD3_mapped", [32, 1618]], [[65151, 65151], "mapped", [1600, 1618]], [[65152, 65152], "mapped", [1569]], [[65153, 65154], "mapped", [1570]], [[65155, 65156], "mapped", [1571]], [[65157, 65158], "mapped", [1572]], [[65159, 65160], "mapped", [1573]], [[65161, 65164], "mapped", [1574]], [[65165, 65166], "mapped", [1575]], [[65167, 65170], "mapped", [1576]], [[65171, 65172], "mapped", [1577]], [[65173, 65176], "mapped", [1578]], [[65177, 65180], "mapped", [1579]], [[65181, 65184], "mapped", [1580]], [[65185, 65188], "mapped", [1581]], [[65189, 65192], "mapped", [1582]], [[65193, 65194], "mapped", [1583]], [[65195, 65196], "mapped", [1584]], [[65197, 65198], "mapped", [1585]], [[65199, 65200], "mapped", [1586]], [[65201, 65204], "mapped", [1587]], [[65205, 65208], "mapped", [1588]], [[65209, 65212], "mapped", [1589]], [[65213, 65216], "mapped", [1590]], [[65217, 65220], "mapped", [1591]], [[65221, 65224], "mapped", [1592]], [[65225, 65228], "mapped", [1593]], [[65229, 65232], "mapped", [1594]], [[65233, 65236], "mapped", [1601]], [[65237, 65240], "mapped", [1602]], [[65241, 65244], "mapped", [1603]], [[65245, 65248], "mapped", [1604]], [[65249, 65252], "mapped", [1605]], [[65253, 65256], "mapped", [1606]], [[65257, 65260], "mapped", [1607]], [[65261, 65262], "mapped", [1608]], [[65263, 65264], "mapped", [1609]], [[65265, 65268], "mapped", [1610]], [[65269, 65270], "mapped", [1604, 1570]], [[65271, 65272], "mapped", [1604, 1571]], [[65273, 65274], "mapped", [1604, 1573]], [[65275, 65276], "mapped", [1604, 1575]], [[65277, 65278], "disallowed"], [[65279, 65279], "ignored"], [[65280, 65280], "disallowed"], [[65281, 65281], "disallowed_STD3_mapped", [33]], [[65282, 65282], "disallowed_STD3_mapped", [34]], [[65283, 65283], "disallowed_STD3_mapped", [35]], [[65284, 65284], "disallowed_STD3_mapped", [36]], [[65285, 65285], "disallowed_STD3_mapped", [37]], [[65286, 65286], "disallowed_STD3_mapped", [38]], [[65287, 65287], "disallowed_STD3_mapped", [39]], [[65288, 65288], "disallowed_STD3_mapped", [40]], [[65289, 65289], "disallowed_STD3_mapped", [41]], [[65290, 65290], "disallowed_STD3_mapped", [42]], [[65291, 65291], "disallowed_STD3_mapped", [43]], [[65292, 65292], "disallowed_STD3_mapped", [44]], [[65293, 65293], "mapped", [45]], [[65294, 65294], "mapped", [46]], [[65295, 65295], "disallowed_STD3_mapped", [47]], [[65296, 65296], "mapped", [48]], [[65297, 65297], "mapped", [49]], [[65298, 65298], "mapped", [50]], [[65299, 65299], "mapped", [51]], [[65300, 65300], "mapped", [52]], [[65301, 65301], "mapped", [53]], [[65302, 65302], "mapped", [54]], [[65303, 65303], "mapped", [55]], [[65304, 65304], "mapped", [56]], [[65305, 65305], "mapped", [57]], [[65306, 65306], "disallowed_STD3_mapped", [58]], [[65307, 65307], "disallowed_STD3_mapped", [59]], [[65308, 65308], "disallowed_STD3_mapped", [60]], [[65309, 65309], "disallowed_STD3_mapped", [61]], [[65310, 65310], "disallowed_STD3_mapped", [62]], [[65311, 65311], "disallowed_STD3_mapped", [63]], [[65312, 65312], "disallowed_STD3_mapped", [64]], [[65313, 65313], "mapped", [97]], [[65314, 65314], "mapped", [98]], [[65315, 65315], "mapped", [99]], [[65316, 65316], "mapped", [100]], [[65317, 65317], "mapped", [101]], [[65318, 65318], "mapped", [102]], [[65319, 65319], "mapped", [103]], [[65320, 65320], "mapped", [104]], [[65321, 65321], "mapped", [105]], [[65322, 65322], "mapped", [106]], [[65323, 65323], "mapped", [107]], [[65324, 65324], "mapped", [108]], [[65325, 65325], "mapped", [109]], [[65326, 65326], "mapped", [110]], [[65327, 65327], "mapped", [111]], [[65328, 65328], "mapped", [112]], [[65329, 65329], "mapped", [113]], [[65330, 65330], "mapped", [114]], [[65331, 65331], "mapped", [115]], [[65332, 65332], "mapped", [116]], [[65333, 65333], "mapped", [117]], [[65334, 65334], "mapped", [118]], [[65335, 65335], "mapped", [119]], [[65336, 65336], "mapped", [120]], [[65337, 65337], "mapped", [121]], [[65338, 65338], "mapped", [122]], [[65339, 65339], "disallowed_STD3_mapped", [91]], [[65340, 65340], "disallowed_STD3_mapped", [92]], [[65341, 65341], "disallowed_STD3_mapped", [93]], [[65342, 65342], "disallowed_STD3_mapped", [94]], [[65343, 65343], "disallowed_STD3_mapped", [95]], [[65344, 65344], "disallowed_STD3_mapped", [96]], [[65345, 65345], "mapped", [97]], [[65346, 65346], "mapped", [98]], [[65347, 65347], "mapped", [99]], [[65348, 65348], "mapped", [100]], [[65349, 65349], "mapped", [101]], [[65350, 65350], "mapped", [102]], [[65351, 65351], "mapped", [103]], [[65352, 65352], "mapped", [104]], [[65353, 65353], "mapped", [105]], [[65354, 65354], "mapped", [106]], [[65355, 65355], "mapped", [107]], [[65356, 65356], "mapped", [108]], [[65357, 65357], "mapped", [109]], [[65358, 65358], "mapped", [110]], [[65359, 65359], "mapped", [111]], [[65360, 65360], "mapped", [112]], [[65361, 65361], "mapped", [113]], [[65362, 65362], "mapped", [114]], [[65363, 65363], "mapped", [115]], [[65364, 65364], "mapped", [116]], [[65365, 65365], "mapped", [117]], [[65366, 65366], "mapped", [118]], [[65367, 65367], "mapped", [119]], [[65368, 65368], "mapped", [120]], [[65369, 65369], "mapped", [121]], [[65370, 65370], "mapped", [122]], [[65371, 65371], "disallowed_STD3_mapped", [123]], [[65372, 65372], "disallowed_STD3_mapped", [124]], [[65373, 65373], "disallowed_STD3_mapped", [125]], [[65374, 65374], "disallowed_STD3_mapped", [126]], [[65375, 65375], "mapped", [10629]], [[65376, 65376], "mapped", [10630]], [[65377, 65377], "mapped", [46]], [[65378, 65378], "mapped", [12300]], [[65379, 65379], "mapped", [12301]], [[65380, 65380], "mapped", [12289]], [[65381, 65381], "mapped", [12539]], [[65382, 65382], "mapped", [12530]], [[65383, 65383], "mapped", [12449]], [[65384, 65384], "mapped", [12451]], [[65385, 65385], "mapped", [12453]], [[65386, 65386], "mapped", [12455]], [[65387, 65387], "mapped", [12457]], [[65388, 65388], "mapped", [12515]], [[65389, 65389], "mapped", [12517]], [[65390, 65390], "mapped", [12519]], [[65391, 65391], "mapped", [12483]], [[65392, 65392], "mapped", [12540]], [[65393, 65393], "mapped", [12450]], [[65394, 65394], "mapped", [12452]], [[65395, 65395], "mapped", [12454]], [[65396, 65396], "mapped", [12456]], [[65397, 65397], "mapped", [12458]], [[65398, 65398], "mapped", [12459]], [[65399, 65399], "mapped", [12461]], [[65400, 65400], "mapped", [12463]], [[65401, 65401], "mapped", [12465]], [[65402, 65402], "mapped", [12467]], [[65403, 65403], "mapped", [12469]], [[65404, 65404], "mapped", [12471]], [[65405, 65405], "mapped", [12473]], [[65406, 65406], "mapped", [12475]], [[65407, 65407], "mapped", [12477]], [[65408, 65408], "mapped", [12479]], [[65409, 65409], "mapped", [12481]], [[65410, 65410], "mapped", [12484]], [[65411, 65411], "mapped", [12486]], [[65412, 65412], "mapped", [12488]], [[65413, 65413], "mapped", [12490]], [[65414, 65414], "mapped", [12491]], [[65415, 65415], "mapped", [12492]], [[65416, 65416], "mapped", [12493]], [[65417, 65417], "mapped", [12494]], [[65418, 65418], "mapped", [12495]], [[65419, 65419], "mapped", [12498]], [[65420, 65420], "mapped", [12501]], [[65421, 65421], "mapped", [12504]], [[65422, 65422], "mapped", [12507]], [[65423, 65423], "mapped", [12510]], [[65424, 65424], "mapped", [12511]], [[65425, 65425], "mapped", [12512]], [[65426, 65426], "mapped", [12513]], [[65427, 65427], "mapped", [12514]], [[65428, 65428], "mapped", [12516]], [[65429, 65429], "mapped", [12518]], [[65430, 65430], "mapped", [12520]], [[65431, 65431], "mapped", [12521]], [[65432, 65432], "mapped", [12522]], [[65433, 65433], "mapped", [12523]], [[65434, 65434], "mapped", [12524]], [[65435, 65435], "mapped", [12525]], [[65436, 65436], "mapped", [12527]], [[65437, 65437], "mapped", [12531]], [[65438, 65438], "mapped", [12441]], [[65439, 65439], "mapped", [12442]], [[65440, 65440], "disallowed"], [[65441, 65441], "mapped", [4352]], [[65442, 65442], "mapped", [4353]], [[65443, 65443], "mapped", [4522]], [[65444, 65444], "mapped", [4354]], [[65445, 65445], "mapped", [4524]], [[65446, 65446], "mapped", [4525]], [[65447, 65447], "mapped", [4355]], [[65448, 65448], "mapped", [4356]], [[65449, 65449], "mapped", [4357]], [[65450, 65450], "mapped", [4528]], [[65451, 65451], "mapped", [4529]], [[65452, 65452], "mapped", [4530]], [[65453, 65453], "mapped", [4531]], [[65454, 65454], "mapped", [4532]], [[65455, 65455], "mapped", [4533]], [[65456, 65456], "mapped", [4378]], [[65457, 65457], "mapped", [4358]], [[65458, 65458], "mapped", [4359]], [[65459, 65459], "mapped", [4360]], [[65460, 65460], "mapped", [4385]], [[65461, 65461], "mapped", [4361]], [[65462, 65462], "mapped", [4362]], [[65463, 65463], "mapped", [4363]], [[65464, 65464], "mapped", [4364]], [[65465, 65465], "mapped", [4365]], [[65466, 65466], "mapped", [4366]], [[65467, 65467], "mapped", [4367]], [[65468, 65468], "mapped", [4368]], [[65469, 65469], "mapped", [4369]], [[65470, 65470], "mapped", [4370]], [[65471, 65473], "disallowed"], [[65474, 65474], "mapped", [4449]], [[65475, 65475], "mapped", [4450]], [[65476, 65476], "mapped", [4451]], [[65477, 65477], "mapped", [4452]], [[65478, 65478], "mapped", [4453]], [[65479, 65479], "mapped", [4454]], [[65480, 65481], "disallowed"], [[65482, 65482], "mapped", [4455]], [[65483, 65483], "mapped", [4456]], [[65484, 65484], "mapped", [4457]], [[65485, 65485], "mapped", [4458]], [[65486, 65486], "mapped", [4459]], [[65487, 65487], "mapped", [4460]], [[65488, 65489], "disallowed"], [[65490, 65490], "mapped", [4461]], [[65491, 65491], "mapped", [4462]], [[65492, 65492], "mapped", [4463]], [[65493, 65493], "mapped", [4464]], [[65494, 65494], "mapped", [4465]], [[65495, 65495], "mapped", [4466]], [[65496, 65497], "disallowed"], [[65498, 65498], "mapped", [4467]], [[65499, 65499], "mapped", [4468]], [[65500, 65500], "mapped", [4469]], [[65501, 65503], "disallowed"], [[65504, 65504], "mapped", [162]], [[65505, 65505], "mapped", [163]], [[65506, 65506], "mapped", [172]], [[65507, 65507], "disallowed_STD3_mapped", [32, 772]], [[65508, 65508], "mapped", [166]], [[65509, 65509], "mapped", [165]], [[65510, 65510], "mapped", [8361]], [[65511, 65511], "disallowed"], [[65512, 65512], "mapped", [9474]], [[65513, 65513], "mapped", [8592]], [[65514, 65514], "mapped", [8593]], [[65515, 65515], "mapped", [8594]], [[65516, 65516], "mapped", [8595]], [[65517, 65517], "mapped", [9632]], [[65518, 65518], "mapped", [9675]], [[65519, 65528], "disallowed"], [[65529, 65531], "disallowed"], [[65532, 65532], "disallowed"], [[65533, 65533], "disallowed"], [[65534, 65535], "disallowed"], [[65536, 65547], "valid"], [[65548, 65548], "disallowed"], [[65549, 65574], "valid"], [[65575, 65575], "disallowed"], [[65576, 65594], "valid"], [[65595, 65595], "disallowed"], [[65596, 65597], "valid"], [[65598, 65598], "disallowed"], [[65599, 65613], "valid"], [[65614, 65615], "disallowed"], [[65616, 65629], "valid"], [[65630, 65663], "disallowed"], [[65664, 65786], "valid"], [[65787, 65791], "disallowed"], [[65792, 65794], "valid", [], "NV8"], [[65795, 65798], "disallowed"], [[65799, 65843], "valid", [], "NV8"], [[65844, 65846], "disallowed"], [[65847, 65855], "valid", [], "NV8"], [[65856, 65930], "valid", [], "NV8"], [[65931, 65932], "valid", [], "NV8"], [[65933, 65935], "disallowed"], [[65936, 65947], "valid", [], "NV8"], [[65948, 65951], "disallowed"], [[65952, 65952], "valid", [], "NV8"], [[65953, 65999], "disallowed"], [[66e3, 66044], "valid", [], "NV8"], [[66045, 66045], "valid"], [[66046, 66175], "disallowed"], [[66176, 66204], "valid"], [[66205, 66207], "disallowed"], [[66208, 66256], "valid"], [[66257, 66271], "disallowed"], [[66272, 66272], "valid"], [[66273, 66299], "valid", [], "NV8"], [[66300, 66303], "disallowed"], [[66304, 66334], "valid"], [[66335, 66335], "valid"], [[66336, 66339], "valid", [], "NV8"], [[66340, 66351], "disallowed"], [[66352, 66368], "valid"], [[66369, 66369], "valid", [], "NV8"], [[66370, 66377], "valid"], [[66378, 66378], "valid", [], "NV8"], [[66379, 66383], "disallowed"], [[66384, 66426], "valid"], [[66427, 66431], "disallowed"], [[66432, 66461], "valid"], [[66462, 66462], "disallowed"], [[66463, 66463], "valid", [], "NV8"], [[66464, 66499], "valid"], [[66500, 66503], "disallowed"], [[66504, 66511], "valid"], [[66512, 66517], "valid", [], "NV8"], [[66518, 66559], "disallowed"], [[66560, 66560], "mapped", [66600]], [[66561, 66561], "mapped", [66601]], [[66562, 66562], "mapped", [66602]], [[66563, 66563], "mapped", [66603]], [[66564, 66564], "mapped", [66604]], [[66565, 66565], "mapped", [66605]], [[66566, 66566], "mapped", [66606]], [[66567, 66567], "mapped", [66607]], [[66568, 66568], "mapped", [66608]], [[66569, 66569], "mapped", [66609]], [[66570, 66570], "mapped", [66610]], [[66571, 66571], "mapped", [66611]], [[66572, 66572], "mapped", [66612]], [[66573, 66573], "mapped", [66613]], [[66574, 66574], "mapped", [66614]], [[66575, 66575], "mapped", [66615]], [[66576, 66576], "mapped", [66616]], [[66577, 66577], "mapped", [66617]], [[66578, 66578], "mapped", [66618]], [[66579, 66579], "mapped", [66619]], [[66580, 66580], "mapped", [66620]], [[66581, 66581], "mapped", [66621]], [[66582, 66582], "mapped", [66622]], [[66583, 66583], "mapped", [66623]], [[66584, 66584], "mapped", [66624]], [[66585, 66585], "mapped", [66625]], [[66586, 66586], "mapped", [66626]], [[66587, 66587], "mapped", [66627]], [[66588, 66588], "mapped", [66628]], [[66589, 66589], "mapped", [66629]], [[66590, 66590], "mapped", [66630]], [[66591, 66591], "mapped", [66631]], [[66592, 66592], "mapped", [66632]], [[66593, 66593], "mapped", [66633]], [[66594, 66594], "mapped", [66634]], [[66595, 66595], "mapped", [66635]], [[66596, 66596], "mapped", [66636]], [[66597, 66597], "mapped", [66637]], [[66598, 66598], "mapped", [66638]], [[66599, 66599], "mapped", [66639]], [[66600, 66637], "valid"], [[66638, 66717], "valid"], [[66718, 66719], "disallowed"], [[66720, 66729], "valid"], [[66730, 66815], "disallowed"], [[66816, 66855], "valid"], [[66856, 66863], "disallowed"], [[66864, 66915], "valid"], [[66916, 66926], "disallowed"], [[66927, 66927], "valid", [], "NV8"], [[66928, 67071], "disallowed"], [[67072, 67382], "valid"], [[67383, 67391], "disallowed"], [[67392, 67413], "valid"], [[67414, 67423], "disallowed"], [[67424, 67431], "valid"], [[67432, 67583], "disallowed"], [[67584, 67589], "valid"], [[67590, 67591], "disallowed"], [[67592, 67592], "valid"], [[67593, 67593], "disallowed"], [[67594, 67637], "valid"], [[67638, 67638], "disallowed"], [[67639, 67640], "valid"], [[67641, 67643], "disallowed"], [[67644, 67644], "valid"], [[67645, 67646], "disallowed"], [[67647, 67647], "valid"], [[67648, 67669], "valid"], [[67670, 67670], "disallowed"], [[67671, 67679], "valid", [], "NV8"], [[67680, 67702], "valid"], [[67703, 67711], "valid", [], "NV8"], [[67712, 67742], "valid"], [[67743, 67750], "disallowed"], [[67751, 67759], "valid", [], "NV8"], [[67760, 67807], "disallowed"], [[67808, 67826], "valid"], [[67827, 67827], "disallowed"], [[67828, 67829], "valid"], [[67830, 67834], "disallowed"], [[67835, 67839], "valid", [], "NV8"], [[67840, 67861], "valid"], [[67862, 67865], "valid", [], "NV8"], [[67866, 67867], "valid", [], "NV8"], [[67868, 67870], "disallowed"], [[67871, 67871], "valid", [], "NV8"], [[67872, 67897], "valid"], [[67898, 67902], "disallowed"], [[67903, 67903], "valid", [], "NV8"], [[67904, 67967], "disallowed"], [[67968, 68023], "valid"], [[68024, 68027], "disallowed"], [[68028, 68029], "valid", [], "NV8"], [[68030, 68031], "valid"], [[68032, 68047], "valid", [], "NV8"], [[68048, 68049], "disallowed"], [[68050, 68095], "valid", [], "NV8"], [[68096, 68099], "valid"], [[68100, 68100], "disallowed"], [[68101, 68102], "valid"], [[68103, 68107], "disallowed"], [[68108, 68115], "valid"], [[68116, 68116], "disallowed"], [[68117, 68119], "valid"], [[68120, 68120], "disallowed"], [[68121, 68147], "valid"], [[68148, 68151], "disallowed"], [[68152, 68154], "valid"], [[68155, 68158], "disallowed"], [[68159, 68159], "valid"], [[68160, 68167], "valid", [], "NV8"], [[68168, 68175], "disallowed"], [[68176, 68184], "valid", [], "NV8"], [[68185, 68191], "disallowed"], [[68192, 68220], "valid"], [[68221, 68223], "valid", [], "NV8"], [[68224, 68252], "valid"], [[68253, 68255], "valid", [], "NV8"], [[68256, 68287], "disallowed"], [[68288, 68295], "valid"], [[68296, 68296], "valid", [], "NV8"], [[68297, 68326], "valid"], [[68327, 68330], "disallowed"], [[68331, 68342], "valid", [], "NV8"], [[68343, 68351], "disallowed"], [[68352, 68405], "valid"], [[68406, 68408], "disallowed"], [[68409, 68415], "valid", [], "NV8"], [[68416, 68437], "valid"], [[68438, 68439], "disallowed"], [[68440, 68447], "valid", [], "NV8"], [[68448, 68466], "valid"], [[68467, 68471], "disallowed"], [[68472, 68479], "valid", [], "NV8"], [[68480, 68497], "valid"], [[68498, 68504], "disallowed"], [[68505, 68508], "valid", [], "NV8"], [[68509, 68520], "disallowed"], [[68521, 68527], "valid", [], "NV8"], [[68528, 68607], "disallowed"], [[68608, 68680], "valid"], [[68681, 68735], "disallowed"], [[68736, 68736], "mapped", [68800]], [[68737, 68737], "mapped", [68801]], [[68738, 68738], "mapped", [68802]], [[68739, 68739], "mapped", [68803]], [[68740, 68740], "mapped", [68804]], [[68741, 68741], "mapped", [68805]], [[68742, 68742], "mapped", [68806]], [[68743, 68743], "mapped", [68807]], [[68744, 68744], "mapped", [68808]], [[68745, 68745], "mapped", [68809]], [[68746, 68746], "mapped", [68810]], [[68747, 68747], "mapped", [68811]], [[68748, 68748], "mapped", [68812]], [[68749, 68749], "mapped", [68813]], [[68750, 68750], "mapped", [68814]], [[68751, 68751], "mapped", [68815]], [[68752, 68752], "mapped", [68816]], [[68753, 68753], "mapped", [68817]], [[68754, 68754], "mapped", [68818]], [[68755, 68755], "mapped", [68819]], [[68756, 68756], "mapped", [68820]], [[68757, 68757], "mapped", [68821]], [[68758, 68758], "mapped", [68822]], [[68759, 68759], "mapped", [68823]], [[68760, 68760], "mapped", [68824]], [[68761, 68761], "mapped", [68825]], [[68762, 68762], "mapped", [68826]], [[68763, 68763], "mapped", [68827]], [[68764, 68764], "mapped", [68828]], [[68765, 68765], "mapped", [68829]], [[68766, 68766], "mapped", [68830]], [[68767, 68767], "mapped", [68831]], [[68768, 68768], "mapped", [68832]], [[68769, 68769], "mapped", [68833]], [[68770, 68770], "mapped", [68834]], [[68771, 68771], "mapped", [68835]], [[68772, 68772], "mapped", [68836]], [[68773, 68773], "mapped", [68837]], [[68774, 68774], "mapped", [68838]], [[68775, 68775], "mapped", [68839]], [[68776, 68776], "mapped", [68840]], [[68777, 68777], "mapped", [68841]], [[68778, 68778], "mapped", [68842]], [[68779, 68779], "mapped", [68843]], [[68780, 68780], "mapped", [68844]], [[68781, 68781], "mapped", [68845]], [[68782, 68782], "mapped", [68846]], [[68783, 68783], "mapped", [68847]], [[68784, 68784], "mapped", [68848]], [[68785, 68785], "mapped", [68849]], [[68786, 68786], "mapped", [68850]], [[68787, 68799], "disallowed"], [[68800, 68850], "valid"], [[68851, 68857], "disallowed"], [[68858, 68863], "valid", [], "NV8"], [[68864, 69215], "disallowed"], [[69216, 69246], "valid", [], "NV8"], [[69247, 69631], "disallowed"], [[69632, 69702], "valid"], [[69703, 69709], "valid", [], "NV8"], [[69710, 69713], "disallowed"], [[69714, 69733], "valid", [], "NV8"], [[69734, 69743], "valid"], [[69744, 69758], "disallowed"], [[69759, 69759], "valid"], [[69760, 69818], "valid"], [[69819, 69820], "valid", [], "NV8"], [[69821, 69821], "disallowed"], [[69822, 69825], "valid", [], "NV8"], [[69826, 69839], "disallowed"], [[69840, 69864], "valid"], [[69865, 69871], "disallowed"], [[69872, 69881], "valid"], [[69882, 69887], "disallowed"], [[69888, 69940], "valid"], [[69941, 69941], "disallowed"], [[69942, 69951], "valid"], [[69952, 69955], "valid", [], "NV8"], [[69956, 69967], "disallowed"], [[69968, 70003], "valid"], [[70004, 70005], "valid", [], "NV8"], [[70006, 70006], "valid"], [[70007, 70015], "disallowed"], [[70016, 70084], "valid"], [[70085, 70088], "valid", [], "NV8"], [[70089, 70089], "valid", [], "NV8"], [[70090, 70092], "valid"], [[70093, 70093], "valid", [], "NV8"], [[70094, 70095], "disallowed"], [[70096, 70105], "valid"], [[70106, 70106], "valid"], [[70107, 70107], "valid", [], "NV8"], [[70108, 70108], "valid"], [[70109, 70111], "valid", [], "NV8"], [[70112, 70112], "disallowed"], [[70113, 70132], "valid", [], "NV8"], [[70133, 70143], "disallowed"], [[70144, 70161], "valid"], [[70162, 70162], "disallowed"], [[70163, 70199], "valid"], [[70200, 70205], "valid", [], "NV8"], [[70206, 70271], "disallowed"], [[70272, 70278], "valid"], [[70279, 70279], "disallowed"], [[70280, 70280], "valid"], [[70281, 70281], "disallowed"], [[70282, 70285], "valid"], [[70286, 70286], "disallowed"], [[70287, 70301], "valid"], [[70302, 70302], "disallowed"], [[70303, 70312], "valid"], [[70313, 70313], "valid", [], "NV8"], [[70314, 70319], "disallowed"], [[70320, 70378], "valid"], [[70379, 70383], "disallowed"], [[70384, 70393], "valid"], [[70394, 70399], "disallowed"], [[70400, 70400], "valid"], [[70401, 70403], "valid"], [[70404, 70404], "disallowed"], [[70405, 70412], "valid"], [[70413, 70414], "disallowed"], [[70415, 70416], "valid"], [[70417, 70418], "disallowed"], [[70419, 70440], "valid"], [[70441, 70441], "disallowed"], [[70442, 70448], "valid"], [[70449, 70449], "disallowed"], [[70450, 70451], "valid"], [[70452, 70452], "disallowed"], [[70453, 70457], "valid"], [[70458, 70459], "disallowed"], [[70460, 70468], "valid"], [[70469, 70470], "disallowed"], [[70471, 70472], "valid"], [[70473, 70474], "disallowed"], [[70475, 70477], "valid"], [[70478, 70479], "disallowed"], [[70480, 70480], "valid"], [[70481, 70486], "disallowed"], [[70487, 70487], "valid"], [[70488, 70492], "disallowed"], [[70493, 70499], "valid"], [[70500, 70501], "disallowed"], [[70502, 70508], "valid"], [[70509, 70511], "disallowed"], [[70512, 70516], "valid"], [[70517, 70783], "disallowed"], [[70784, 70853], "valid"], [[70854, 70854], "valid", [], "NV8"], [[70855, 70855], "valid"], [[70856, 70863], "disallowed"], [[70864, 70873], "valid"], [[70874, 71039], "disallowed"], [[71040, 71093], "valid"], [[71094, 71095], "disallowed"], [[71096, 71104], "valid"], [[71105, 71113], "valid", [], "NV8"], [[71114, 71127], "valid", [], "NV8"], [[71128, 71133], "valid"], [[71134, 71167], "disallowed"], [[71168, 71232], "valid"], [[71233, 71235], "valid", [], "NV8"], [[71236, 71236], "valid"], [[71237, 71247], "disallowed"], [[71248, 71257], "valid"], [[71258, 71295], "disallowed"], [[71296, 71351], "valid"], [[71352, 71359], "disallowed"], [[71360, 71369], "valid"], [[71370, 71423], "disallowed"], [[71424, 71449], "valid"], [[71450, 71452], "disallowed"], [[71453, 71467], "valid"], [[71468, 71471], "disallowed"], [[71472, 71481], "valid"], [[71482, 71487], "valid", [], "NV8"], [[71488, 71839], "disallowed"], [[71840, 71840], "mapped", [71872]], [[71841, 71841], "mapped", [71873]], [[71842, 71842], "mapped", [71874]], [[71843, 71843], "mapped", [71875]], [[71844, 71844], "mapped", [71876]], [[71845, 71845], "mapped", [71877]], [[71846, 71846], "mapped", [71878]], [[71847, 71847], "mapped", [71879]], [[71848, 71848], "mapped", [71880]], [[71849, 71849], "mapped", [71881]], [[71850, 71850], "mapped", [71882]], [[71851, 71851], "mapped", [71883]], [[71852, 71852], "mapped", [71884]], [[71853, 71853], "mapped", [71885]], [[71854, 71854], "mapped", [71886]], [[71855, 71855], "mapped", [71887]], [[71856, 71856], "mapped", [71888]], [[71857, 71857], "mapped", [71889]], [[71858, 71858], "mapped", [71890]], [[71859, 71859], "mapped", [71891]], [[71860, 71860], "mapped", [71892]], [[71861, 71861], "mapped", [71893]], [[71862, 71862], "mapped", [71894]], [[71863, 71863], "mapped", [71895]], [[71864, 71864], "mapped", [71896]], [[71865, 71865], "mapped", [71897]], [[71866, 71866], "mapped", [71898]], [[71867, 71867], "mapped", [71899]], [[71868, 71868], "mapped", [71900]], [[71869, 71869], "mapped", [71901]], [[71870, 71870], "mapped", [71902]], [[71871, 71871], "mapped", [71903]], [[71872, 71913], "valid"], [[71914, 71922], "valid", [], "NV8"], [[71923, 71934], "disallowed"], [[71935, 71935], "valid"], [[71936, 72383], "disallowed"], [[72384, 72440], "valid"], [[72441, 73727], "disallowed"], [[73728, 74606], "valid"], [[74607, 74648], "valid"], [[74649, 74649], "valid"], [[74650, 74751], "disallowed"], [[74752, 74850], "valid", [], "NV8"], [[74851, 74862], "valid", [], "NV8"], [[74863, 74863], "disallowed"], [[74864, 74867], "valid", [], "NV8"], [[74868, 74868], "valid", [], "NV8"], [[74869, 74879], "disallowed"], [[74880, 75075], "valid"], [[75076, 77823], "disallowed"], [[77824, 78894], "valid"], [[78895, 82943], "disallowed"], [[82944, 83526], "valid"], [[83527, 92159], "disallowed"], [[92160, 92728], "valid"], [[92729, 92735], "disallowed"], [[92736, 92766], "valid"], [[92767, 92767], "disallowed"], [[92768, 92777], "valid"], [[92778, 92781], "disallowed"], [[92782, 92783], "valid", [], "NV8"], [[92784, 92879], "disallowed"], [[92880, 92909], "valid"], [[92910, 92911], "disallowed"], [[92912, 92916], "valid"], [[92917, 92917], "valid", [], "NV8"], [[92918, 92927], "disallowed"], [[92928, 92982], "valid"], [[92983, 92991], "valid", [], "NV8"], [[92992, 92995], "valid"], [[92996, 92997], "valid", [], "NV8"], [[92998, 93007], "disallowed"], [[93008, 93017], "valid"], [[93018, 93018], "disallowed"], [[93019, 93025], "valid", [], "NV8"], [[93026, 93026], "disallowed"], [[93027, 93047], "valid"], [[93048, 93052], "disallowed"], [[93053, 93071], "valid"], [[93072, 93951], "disallowed"], [[93952, 94020], "valid"], [[94021, 94031], "disallowed"], [[94032, 94078], "valid"], [[94079, 94094], "disallowed"], [[94095, 94111], "valid"], [[94112, 110591], "disallowed"], [[110592, 110593], "valid"], [[110594, 113663], "disallowed"], [[113664, 113770], "valid"], [[113771, 113775], "disallowed"], [[113776, 113788], "valid"], [[113789, 113791], "disallowed"], [[113792, 113800], "valid"], [[113801, 113807], "disallowed"], [[113808, 113817], "valid"], [[113818, 113819], "disallowed"], [[113820, 113820], "valid", [], "NV8"], [[113821, 113822], "valid"], [[113823, 113823], "valid", [], "NV8"], [[113824, 113827], "ignored"], [[113828, 118783], "disallowed"], [[118784, 119029], "valid", [], "NV8"], [[119030, 119039], "disallowed"], [[119040, 119078], "valid", [], "NV8"], [[119079, 119080], "disallowed"], [[119081, 119081], "valid", [], "NV8"], [[119082, 119133], "valid", [], "NV8"], [[119134, 119134], "mapped", [119127, 119141]], [[119135, 119135], "mapped", [119128, 119141]], [[119136, 119136], "mapped", [119128, 119141, 119150]], [[119137, 119137], "mapped", [119128, 119141, 119151]], [[119138, 119138], "mapped", [119128, 119141, 119152]], [[119139, 119139], "mapped", [119128, 119141, 119153]], [[119140, 119140], "mapped", [119128, 119141, 119154]], [[119141, 119154], "valid", [], "NV8"], [[119155, 119162], "disallowed"], [[119163, 119226], "valid", [], "NV8"], [[119227, 119227], "mapped", [119225, 119141]], [[119228, 119228], "mapped", [119226, 119141]], [[119229, 119229], "mapped", [119225, 119141, 119150]], [[119230, 119230], "mapped", [119226, 119141, 119150]], [[119231, 119231], "mapped", [119225, 119141, 119151]], [[119232, 119232], "mapped", [119226, 119141, 119151]], [[119233, 119261], "valid", [], "NV8"], [[119262, 119272], "valid", [], "NV8"], [[119273, 119295], "disallowed"], [[119296, 119365], "valid", [], "NV8"], [[119366, 119551], "disallowed"], [[119552, 119638], "valid", [], "NV8"], [[119639, 119647], "disallowed"], [[119648, 119665], "valid", [], "NV8"], [[119666, 119807], "disallowed"], [[119808, 119808], "mapped", [97]], [[119809, 119809], "mapped", [98]], [[119810, 119810], "mapped", [99]], [[119811, 119811], "mapped", [100]], [[119812, 119812], "mapped", [101]], [[119813, 119813], "mapped", [102]], [[119814, 119814], "mapped", [103]], [[119815, 119815], "mapped", [104]], [[119816, 119816], "mapped", [105]], [[119817, 119817], "mapped", [106]], [[119818, 119818], "mapped", [107]], [[119819, 119819], "mapped", [108]], [[119820, 119820], "mapped", [109]], [[119821, 119821], "mapped", [110]], [[119822, 119822], "mapped", [111]], [[119823, 119823], "mapped", [112]], [[119824, 119824], "mapped", [113]], [[119825, 119825], "mapped", [114]], [[119826, 119826], "mapped", [115]], [[119827, 119827], "mapped", [116]], [[119828, 119828], "mapped", [117]], [[119829, 119829], "mapped", [118]], [[119830, 119830], "mapped", [119]], [[119831, 119831], "mapped", [120]], [[119832, 119832], "mapped", [121]], [[119833, 119833], "mapped", [122]], [[119834, 119834], "mapped", [97]], [[119835, 119835], "mapped", [98]], [[119836, 119836], "mapped", [99]], [[119837, 119837], "mapped", [100]], [[119838, 119838], "mapped", [101]], [[119839, 119839], "mapped", [102]], [[119840, 119840], "mapped", [103]], [[119841, 119841], "mapped", [104]], [[119842, 119842], "mapped", [105]], [[119843, 119843], "mapped", [106]], [[119844, 119844], "mapped", [107]], [[119845, 119845], "mapped", [108]], [[119846, 119846], "mapped", [109]], [[119847, 119847], "mapped", [110]], [[119848, 119848], "mapped", [111]], [[119849, 119849], "mapped", [112]], [[119850, 119850], "mapped", [113]], [[119851, 119851], "mapped", [114]], [[119852, 119852], "mapped", [115]], [[119853, 119853], "mapped", [116]], [[119854, 119854], "mapped", [117]], [[119855, 119855], "mapped", [118]], [[119856, 119856], "mapped", [119]], [[119857, 119857], "mapped", [120]], [[119858, 119858], "mapped", [121]], [[119859, 119859], "mapped", [122]], [[119860, 119860], "mapped", [97]], [[119861, 119861], "mapped", [98]], [[119862, 119862], "mapped", [99]], [[119863, 119863], "mapped", [100]], [[119864, 119864], "mapped", [101]], [[119865, 119865], "mapped", [102]], [[119866, 119866], "mapped", [103]], [[119867, 119867], "mapped", [104]], [[119868, 119868], "mapped", [105]], [[119869, 119869], "mapped", [106]], [[119870, 119870], "mapped", [107]], [[119871, 119871], "mapped", [108]], [[119872, 119872], "mapped", [109]], [[119873, 119873], "mapped", [110]], [[119874, 119874], "mapped", [111]], [[119875, 119875], "mapped", [112]], [[119876, 119876], "mapped", [113]], [[119877, 119877], "mapped", [114]], [[119878, 119878], "mapped", [115]], [[119879, 119879], "mapped", [116]], [[119880, 119880], "mapped", [117]], [[119881, 119881], "mapped", [118]], [[119882, 119882], "mapped", [119]], [[119883, 119883], "mapped", [120]], [[119884, 119884], "mapped", [121]], [[119885, 119885], "mapped", [122]], [[119886, 119886], "mapped", [97]], [[119887, 119887], "mapped", [98]], [[119888, 119888], "mapped", [99]], [[119889, 119889], "mapped", [100]], [[119890, 119890], "mapped", [101]], [[119891, 119891], "mapped", [102]], [[119892, 119892], "mapped", [103]], [[119893, 119893], "disallowed"], [[119894, 119894], "mapped", [105]], [[119895, 119895], "mapped", [106]], [[119896, 119896], "mapped", [107]], [[119897, 119897], "mapped", [108]], [[119898, 119898], "mapped", [109]], [[119899, 119899], "mapped", [110]], [[119900, 119900], "mapped", [111]], [[119901, 119901], "mapped", [112]], [[119902, 119902], "mapped", [113]], [[119903, 119903], "mapped", [114]], [[119904, 119904], "mapped", [115]], [[119905, 119905], "mapped", [116]], [[119906, 119906], "mapped", [117]], [[119907, 119907], "mapped", [118]], [[119908, 119908], "mapped", [119]], [[119909, 119909], "mapped", [120]], [[119910, 119910], "mapped", [121]], [[119911, 119911], "mapped", [122]], [[119912, 119912], "mapped", [97]], [[119913, 119913], "mapped", [98]], [[119914, 119914], "mapped", [99]], [[119915, 119915], "mapped", [100]], [[119916, 119916], "mapped", [101]], [[119917, 119917], "mapped", [102]], [[119918, 119918], "mapped", [103]], [[119919, 119919], "mapped", [104]], [[119920, 119920], "mapped", [105]], [[119921, 119921], "mapped", [106]], [[119922, 119922], "mapped", [107]], [[119923, 119923], "mapped", [108]], [[119924, 119924], "mapped", [109]], [[119925, 119925], "mapped", [110]], [[119926, 119926], "mapped", [111]], [[119927, 119927], "mapped", [112]], [[119928, 119928], "mapped", [113]], [[119929, 119929], "mapped", [114]], [[119930, 119930], "mapped", [115]], [[119931, 119931], "mapped", [116]], [[119932, 119932], "mapped", [117]], [[119933, 119933], "mapped", [118]], [[119934, 119934], "mapped", [119]], [[119935, 119935], "mapped", [120]], [[119936, 119936], "mapped", [121]], [[119937, 119937], "mapped", [122]], [[119938, 119938], "mapped", [97]], [[119939, 119939], "mapped", [98]], [[119940, 119940], "mapped", [99]], [[119941, 119941], "mapped", [100]], [[119942, 119942], "mapped", [101]], [[119943, 119943], "mapped", [102]], [[119944, 119944], "mapped", [103]], [[119945, 119945], "mapped", [104]], [[119946, 119946], "mapped", [105]], [[119947, 119947], "mapped", [106]], [[119948, 119948], "mapped", [107]], [[119949, 119949], "mapped", [108]], [[119950, 119950], "mapped", [109]], [[119951, 119951], "mapped", [110]], [[119952, 119952], "mapped", [111]], [[119953, 119953], "mapped", [112]], [[119954, 119954], "mapped", [113]], [[119955, 119955], "mapped", [114]], [[119956, 119956], "mapped", [115]], [[119957, 119957], "mapped", [116]], [[119958, 119958], "mapped", [117]], [[119959, 119959], "mapped", [118]], [[119960, 119960], "mapped", [119]], [[119961, 119961], "mapped", [120]], [[119962, 119962], "mapped", [121]], [[119963, 119963], "mapped", [122]], [[119964, 119964], "mapped", [97]], [[119965, 119965], "disallowed"], [[119966, 119966], "mapped", [99]], [[119967, 119967], "mapped", [100]], [[119968, 119969], "disallowed"], [[119970, 119970], "mapped", [103]], [[119971, 119972], "disallowed"], [[119973, 119973], "mapped", [106]], [[119974, 119974], "mapped", [107]], [[119975, 119976], "disallowed"], [[119977, 119977], "mapped", [110]], [[119978, 119978], "mapped", [111]], [[119979, 119979], "mapped", [112]], [[119980, 119980], "mapped", [113]], [[119981, 119981], "disallowed"], [[119982, 119982], "mapped", [115]], [[119983, 119983], "mapped", [116]], [[119984, 119984], "mapped", [117]], [[119985, 119985], "mapped", [118]], [[119986, 119986], "mapped", [119]], [[119987, 119987], "mapped", [120]], [[119988, 119988], "mapped", [121]], [[119989, 119989], "mapped", [122]], [[119990, 119990], "mapped", [97]], [[119991, 119991], "mapped", [98]], [[119992, 119992], "mapped", [99]], [[119993, 119993], "mapped", [100]], [[119994, 119994], "disallowed"], [[119995, 119995], "mapped", [102]], [[119996, 119996], "disallowed"], [[119997, 119997], "mapped", [104]], [[119998, 119998], "mapped", [105]], [[119999, 119999], "mapped", [106]], [[12e4, 12e4], "mapped", [107]], [[120001, 120001], "mapped", [108]], [[120002, 120002], "mapped", [109]], [[120003, 120003], "mapped", [110]], [[120004, 120004], "disallowed"], [[120005, 120005], "mapped", [112]], [[120006, 120006], "mapped", [113]], [[120007, 120007], "mapped", [114]], [[120008, 120008], "mapped", [115]], [[120009, 120009], "mapped", [116]], [[120010, 120010], "mapped", [117]], [[120011, 120011], "mapped", [118]], [[120012, 120012], "mapped", [119]], [[120013, 120013], "mapped", [120]], [[120014, 120014], "mapped", [121]], [[120015, 120015], "mapped", [122]], [[120016, 120016], "mapped", [97]], [[120017, 120017], "mapped", [98]], [[120018, 120018], "mapped", [99]], [[120019, 120019], "mapped", [100]], [[120020, 120020], "mapped", [101]], [[120021, 120021], "mapped", [102]], [[120022, 120022], "mapped", [103]], [[120023, 120023], "mapped", [104]], [[120024, 120024], "mapped", [105]], [[120025, 120025], "mapped", [106]], [[120026, 120026], "mapped", [107]], [[120027, 120027], "mapped", [108]], [[120028, 120028], "mapped", [109]], [[120029, 120029], "mapped", [110]], [[120030, 120030], "mapped", [111]], [[120031, 120031], "mapped", [112]], [[120032, 120032], "mapped", [113]], [[120033, 120033], "mapped", [114]], [[120034, 120034], "mapped", [115]], [[120035, 120035], "mapped", [116]], [[120036, 120036], "mapped", [117]], [[120037, 120037], "mapped", [118]], [[120038, 120038], "mapped", [119]], [[120039, 120039], "mapped", [120]], [[120040, 120040], "mapped", [121]], [[120041, 120041], "mapped", [122]], [[120042, 120042], "mapped", [97]], [[120043, 120043], "mapped", [98]], [[120044, 120044], "mapped", [99]], [[120045, 120045], "mapped", [100]], [[120046, 120046], "mapped", [101]], [[120047, 120047], "mapped", [102]], [[120048, 120048], "mapped", [103]], [[120049, 120049], "mapped", [104]], [[120050, 120050], "mapped", [105]], [[120051, 120051], "mapped", [106]], [[120052, 120052], "mapped", [107]], [[120053, 120053], "mapped", [108]], [[120054, 120054], "mapped", [109]], [[120055, 120055], "mapped", [110]], [[120056, 120056], "mapped", [111]], [[120057, 120057], "mapped", [112]], [[120058, 120058], "mapped", [113]], [[120059, 120059], "mapped", [114]], [[120060, 120060], "mapped", [115]], [[120061, 120061], "mapped", [116]], [[120062, 120062], "mapped", [117]], [[120063, 120063], "mapped", [118]], [[120064, 120064], "mapped", [119]], [[120065, 120065], "mapped", [120]], [[120066, 120066], "mapped", [121]], [[120067, 120067], "mapped", [122]], [[120068, 120068], "mapped", [97]], [[120069, 120069], "mapped", [98]], [[120070, 120070], "disallowed"], [[120071, 120071], "mapped", [100]], [[120072, 120072], "mapped", [101]], [[120073, 120073], "mapped", [102]], [[120074, 120074], "mapped", [103]], [[120075, 120076], "disallowed"], [[120077, 120077], "mapped", [106]], [[120078, 120078], "mapped", [107]], [[120079, 120079], "mapped", [108]], [[120080, 120080], "mapped", [109]], [[120081, 120081], "mapped", [110]], [[120082, 120082], "mapped", [111]], [[120083, 120083], "mapped", [112]], [[120084, 120084], "mapped", [113]], [[120085, 120085], "disallowed"], [[120086, 120086], "mapped", [115]], [[120087, 120087], "mapped", [116]], [[120088, 120088], "mapped", [117]], [[120089, 120089], "mapped", [118]], [[120090, 120090], "mapped", [119]], [[120091, 120091], "mapped", [120]], [[120092, 120092], "mapped", [121]], [[120093, 120093], "disallowed"], [[120094, 120094], "mapped", [97]], [[120095, 120095], "mapped", [98]], [[120096, 120096], "mapped", [99]], [[120097, 120097], "mapped", [100]], [[120098, 120098], "mapped", [101]], [[120099, 120099], "mapped", [102]], [[120100, 120100], "mapped", [103]], [[120101, 120101], "mapped", [104]], [[120102, 120102], "mapped", [105]], [[120103, 120103], "mapped", [106]], [[120104, 120104], "mapped", [107]], [[120105, 120105], "mapped", [108]], [[120106, 120106], "mapped", [109]], [[120107, 120107], "mapped", [110]], [[120108, 120108], "mapped", [111]], [[120109, 120109], "mapped", [112]], [[120110, 120110], "mapped", [113]], [[120111, 120111], "mapped", [114]], [[120112, 120112], "mapped", [115]], [[120113, 120113], "mapped", [116]], [[120114, 120114], "mapped", [117]], [[120115, 120115], "mapped", [118]], [[120116, 120116], "mapped", [119]], [[120117, 120117], "mapped", [120]], [[120118, 120118], "mapped", [121]], [[120119, 120119], "mapped", [122]], [[120120, 120120], "mapped", [97]], [[120121, 120121], "mapped", [98]], [[120122, 120122], "disallowed"], [[120123, 120123], "mapped", [100]], [[120124, 120124], "mapped", [101]], [[120125, 120125], "mapped", [102]], [[120126, 120126], "mapped", [103]], [[120127, 120127], "disallowed"], [[120128, 120128], "mapped", [105]], [[120129, 120129], "mapped", [106]], [[120130, 120130], "mapped", [107]], [[120131, 120131], "mapped", [108]], [[120132, 120132], "mapped", [109]], [[120133, 120133], "disallowed"], [[120134, 120134], "mapped", [111]], [[120135, 120137], "disallowed"], [[120138, 120138], "mapped", [115]], [[120139, 120139], "mapped", [116]], [[120140, 120140], "mapped", [117]], [[120141, 120141], "mapped", [118]], [[120142, 120142], "mapped", [119]], [[120143, 120143], "mapped", [120]], [[120144, 120144], "mapped", [121]], [[120145, 120145], "disallowed"], [[120146, 120146], "mapped", [97]], [[120147, 120147], "mapped", [98]], [[120148, 120148], "mapped", [99]], [[120149, 120149], "mapped", [100]], [[120150, 120150], "mapped", [101]], [[120151, 120151], "mapped", [102]], [[120152, 120152], "mapped", [103]], [[120153, 120153], "mapped", [104]], [[120154, 120154], "mapped", [105]], [[120155, 120155], "mapped", [106]], [[120156, 120156], "mapped", [107]], [[120157, 120157], "mapped", [108]], [[120158, 120158], "mapped", [109]], [[120159, 120159], "mapped", [110]], [[120160, 120160], "mapped", [111]], [[120161, 120161], "mapped", [112]], [[120162, 120162], "mapped", [113]], [[120163, 120163], "mapped", [114]], [[120164, 120164], "mapped", [115]], [[120165, 120165], "mapped", [116]], [[120166, 120166], "mapped", [117]], [[120167, 120167], "mapped", [118]], [[120168, 120168], "mapped", [119]], [[120169, 120169], "mapped", [120]], [[120170, 120170], "mapped", [121]], [[120171, 120171], "mapped", [122]], [[120172, 120172], "mapped", [97]], [[120173, 120173], "mapped", [98]], [[120174, 120174], "mapped", [99]], [[120175, 120175], "mapped", [100]], [[120176, 120176], "mapped", [101]], [[120177, 120177], "mapped", [102]], [[120178, 120178], "mapped", [103]], [[120179, 120179], "mapped", [104]], [[120180, 120180], "mapped", [105]], [[120181, 120181], "mapped", [106]], [[120182, 120182], "mapped", [107]], [[120183, 120183], "mapped", [108]], [[120184, 120184], "mapped", [109]], [[120185, 120185], "mapped", [110]], [[120186, 120186], "mapped", [111]], [[120187, 120187], "mapped", [112]], [[120188, 120188], "mapped", [113]], [[120189, 120189], "mapped", [114]], [[120190, 120190], "mapped", [115]], [[120191, 120191], "mapped", [116]], [[120192, 120192], "mapped", [117]], [[120193, 120193], "mapped", [118]], [[120194, 120194], "mapped", [119]], [[120195, 120195], "mapped", [120]], [[120196, 120196], "mapped", [121]], [[120197, 120197], "mapped", [122]], [[120198, 120198], "mapped", [97]], [[120199, 120199], "mapped", [98]], [[120200, 120200], "mapped", [99]], [[120201, 120201], "mapped", [100]], [[120202, 120202], "mapped", [101]], [[120203, 120203], "mapped", [102]], [[120204, 120204], "mapped", [103]], [[120205, 120205], "mapped", [104]], [[120206, 120206], "mapped", [105]], [[120207, 120207], "mapped", [106]], [[120208, 120208], "mapped", [107]], [[120209, 120209], "mapped", [108]], [[120210, 120210], "mapped", [109]], [[120211, 120211], "mapped", [110]], [[120212, 120212], "mapped", [111]], [[120213, 120213], "mapped", [112]], [[120214, 120214], "mapped", [113]], [[120215, 120215], "mapped", [114]], [[120216, 120216], "mapped", [115]], [[120217, 120217], "mapped", [116]], [[120218, 120218], "mapped", [117]], [[120219, 120219], "mapped", [118]], [[120220, 120220], "mapped", [119]], [[120221, 120221], "mapped", [120]], [[120222, 120222], "mapped", [121]], [[120223, 120223], "mapped", [122]], [[120224, 120224], "mapped", [97]], [[120225, 120225], "mapped", [98]], [[120226, 120226], "mapped", [99]], [[120227, 120227], "mapped", [100]], [[120228, 120228], "mapped", [101]], [[120229, 120229], "mapped", [102]], [[120230, 120230], "mapped", [103]], [[120231, 120231], "mapped", [104]], [[120232, 120232], "mapped", [105]], [[120233, 120233], "mapped", [106]], [[120234, 120234], "mapped", [107]], [[120235, 120235], "mapped", [108]], [[120236, 120236], "mapped", [109]], [[120237, 120237], "mapped", [110]], [[120238, 120238], "mapped", [111]], [[120239, 120239], "mapped", [112]], [[120240, 120240], "mapped", [113]], [[120241, 120241], "mapped", [114]], [[120242, 120242], "mapped", [115]], [[120243, 120243], "mapped", [116]], [[120244, 120244], "mapped", [117]], [[120245, 120245], "mapped", [118]], [[120246, 120246], "mapped", [119]], [[120247, 120247], "mapped", [120]], [[120248, 120248], "mapped", [121]], [[120249, 120249], "mapped", [122]], [[120250, 120250], "mapped", [97]], [[120251, 120251], "mapped", [98]], [[120252, 120252], "mapped", [99]], [[120253, 120253], "mapped", [100]], [[120254, 120254], "mapped", [101]], [[120255, 120255], "mapped", [102]], [[120256, 120256], "mapped", [103]], [[120257, 120257], "mapped", [104]], [[120258, 120258], "mapped", [105]], [[120259, 120259], "mapped", [106]], [[120260, 120260], "mapped", [107]], [[120261, 120261], "mapped", [108]], [[120262, 120262], "mapped", [109]], [[120263, 120263], "mapped", [110]], [[120264, 120264], "mapped", [111]], [[120265, 120265], "mapped", [112]], [[120266, 120266], "mapped", [113]], [[120267, 120267], "mapped", [114]], [[120268, 120268], "mapped", [115]], [[120269, 120269], "mapped", [116]], [[120270, 120270], "mapped", [117]], [[120271, 120271], "mapped", [118]], [[120272, 120272], "mapped", [119]], [[120273, 120273], "mapped", [120]], [[120274, 120274], "mapped", [121]], [[120275, 120275], "mapped", [122]], [[120276, 120276], "mapped", [97]], [[120277, 120277], "mapped", [98]], [[120278, 120278], "mapped", [99]], [[120279, 120279], "mapped", [100]], [[120280, 120280], "mapped", [101]], [[120281, 120281], "mapped", [102]], [[120282, 120282], "mapped", [103]], [[120283, 120283], "mapped", [104]], [[120284, 120284], "mapped", [105]], [[120285, 120285], "mapped", [106]], [[120286, 120286], "mapped", [107]], [[120287, 120287], "mapped", [108]], [[120288, 120288], "mapped", [109]], [[120289, 120289], "mapped", [110]], [[120290, 120290], "mapped", [111]], [[120291, 120291], "mapped", [112]], [[120292, 120292], "mapped", [113]], [[120293, 120293], "mapped", [114]], [[120294, 120294], "mapped", [115]], [[120295, 120295], "mapped", [116]], [[120296, 120296], "mapped", [117]], [[120297, 120297], "mapped", [118]], [[120298, 120298], "mapped", [119]], [[120299, 120299], "mapped", [120]], [[120300, 120300], "mapped", [121]], [[120301, 120301], "mapped", [122]], [[120302, 120302], "mapped", [97]], [[120303, 120303], "mapped", [98]], [[120304, 120304], "mapped", [99]], [[120305, 120305], "mapped", [100]], [[120306, 120306], "mapped", [101]], [[120307, 120307], "mapped", [102]], [[120308, 120308], "mapped", [103]], [[120309, 120309], "mapped", [104]], [[120310, 120310], "mapped", [105]], [[120311, 120311], "mapped", [106]], [[120312, 120312], "mapped", [107]], [[120313, 120313], "mapped", [108]], [[120314, 120314], "mapped", [109]], [[120315, 120315], "mapped", [110]], [[120316, 120316], "mapped", [111]], [[120317, 120317], "mapped", [112]], [[120318, 120318], "mapped", [113]], [[120319, 120319], "mapped", [114]], [[120320, 120320], "mapped", [115]], [[120321, 120321], "mapped", [116]], [[120322, 120322], "mapped", [117]], [[120323, 120323], "mapped", [118]], [[120324, 120324], "mapped", [119]], [[120325, 120325], "mapped", [120]], [[120326, 120326], "mapped", [121]], [[120327, 120327], "mapped", [122]], [[120328, 120328], "mapped", [97]], [[120329, 120329], "mapped", [98]], [[120330, 120330], "mapped", [99]], [[120331, 120331], "mapped", [100]], [[120332, 120332], "mapped", [101]], [[120333, 120333], "mapped", [102]], [[120334, 120334], "mapped", [103]], [[120335, 120335], "mapped", [104]], [[120336, 120336], "mapped", [105]], [[120337, 120337], "mapped", [106]], [[120338, 120338], "mapped", [107]], [[120339, 120339], "mapped", [108]], [[120340, 120340], "mapped", [109]], [[120341, 120341], "mapped", [110]], [[120342, 120342], "mapped", [111]], [[120343, 120343], "mapped", [112]], [[120344, 120344], "mapped", [113]], [[120345, 120345], "mapped", [114]], [[120346, 120346], "mapped", [115]], [[120347, 120347], "mapped", [116]], [[120348, 120348], "mapped", [117]], [[120349, 120349], "mapped", [118]], [[120350, 120350], "mapped", [119]], [[120351, 120351], "mapped", [120]], [[120352, 120352], "mapped", [121]], [[120353, 120353], "mapped", [122]], [[120354, 120354], "mapped", [97]], [[120355, 120355], "mapped", [98]], [[120356, 120356], "mapped", [99]], [[120357, 120357], "mapped", [100]], [[120358, 120358], "mapped", [101]], [[120359, 120359], "mapped", [102]], [[120360, 120360], "mapped", [103]], [[120361, 120361], "mapped", [104]], [[120362, 120362], "mapped", [105]], [[120363, 120363], "mapped", [106]], [[120364, 120364], "mapped", [107]], [[120365, 120365], "mapped", [108]], [[120366, 120366], "mapped", [109]], [[120367, 120367], "mapped", [110]], [[120368, 120368], "mapped", [111]], [[120369, 120369], "mapped", [112]], [[120370, 120370], "mapped", [113]], [[120371, 120371], "mapped", [114]], [[120372, 120372], "mapped", [115]], [[120373, 120373], "mapped", [116]], [[120374, 120374], "mapped", [117]], [[120375, 120375], "mapped", [118]], [[120376, 120376], "mapped", [119]], [[120377, 120377], "mapped", [120]], [[120378, 120378], "mapped", [121]], [[120379, 120379], "mapped", [122]], [[120380, 120380], "mapped", [97]], [[120381, 120381], "mapped", [98]], [[120382, 120382], "mapped", [99]], [[120383, 120383], "mapped", [100]], [[120384, 120384], "mapped", [101]], [[120385, 120385], "mapped", [102]], [[120386, 120386], "mapped", [103]], [[120387, 120387], "mapped", [104]], [[120388, 120388], "mapped", [105]], [[120389, 120389], "mapped", [106]], [[120390, 120390], "mapped", [107]], [[120391, 120391], "mapped", [108]], [[120392, 120392], "mapped", [109]], [[120393, 120393], "mapped", [110]], [[120394, 120394], "mapped", [111]], [[120395, 120395], "mapped", [112]], [[120396, 120396], "mapped", [113]], [[120397, 120397], "mapped", [114]], [[120398, 120398], "mapped", [115]], [[120399, 120399], "mapped", [116]], [[120400, 120400], "mapped", [117]], [[120401, 120401], "mapped", [118]], [[120402, 120402], "mapped", [119]], [[120403, 120403], "mapped", [120]], [[120404, 120404], "mapped", [121]], [[120405, 120405], "mapped", [122]], [[120406, 120406], "mapped", [97]], [[120407, 120407], "mapped", [98]], [[120408, 120408], "mapped", [99]], [[120409, 120409], "mapped", [100]], [[120410, 120410], "mapped", [101]], [[120411, 120411], "mapped", [102]], [[120412, 120412], "mapped", [103]], [[120413, 120413], "mapped", [104]], [[120414, 120414], "mapped", [105]], [[120415, 120415], "mapped", [106]], [[120416, 120416], "mapped", [107]], [[120417, 120417], "mapped", [108]], [[120418, 120418], "mapped", [109]], [[120419, 120419], "mapped", [110]], [[120420, 120420], "mapped", [111]], [[120421, 120421], "mapped", [112]], [[120422, 120422], "mapped", [113]], [[120423, 120423], "mapped", [114]], [[120424, 120424], "mapped", [115]], [[120425, 120425], "mapped", [116]], [[120426, 120426], "mapped", [117]], [[120427, 120427], "mapped", [118]], [[120428, 120428], "mapped", [119]], [[120429, 120429], "mapped", [120]], [[120430, 120430], "mapped", [121]], [[120431, 120431], "mapped", [122]], [[120432, 120432], "mapped", [97]], [[120433, 120433], "mapped", [98]], [[120434, 120434], "mapped", [99]], [[120435, 120435], "mapped", [100]], [[120436, 120436], "mapped", [101]], [[120437, 120437], "mapped", [102]], [[120438, 120438], "mapped", [103]], [[120439, 120439], "mapped", [104]], [[120440, 120440], "mapped", [105]], [[120441, 120441], "mapped", [106]], [[120442, 120442], "mapped", [107]], [[120443, 120443], "mapped", [108]], [[120444, 120444], "mapped", [109]], [[120445, 120445], "mapped", [110]], [[120446, 120446], "mapped", [111]], [[120447, 120447], "mapped", [112]], [[120448, 120448], "mapped", [113]], [[120449, 120449], "mapped", [114]], [[120450, 120450], "mapped", [115]], [[120451, 120451], "mapped", [116]], [[120452, 120452], "mapped", [117]], [[120453, 120453], "mapped", [118]], [[120454, 120454], "mapped", [119]], [[120455, 120455], "mapped", [120]], [[120456, 120456], "mapped", [121]], [[120457, 120457], "mapped", [122]], [[120458, 120458], "mapped", [97]], [[120459, 120459], "mapped", [98]], [[120460, 120460], "mapped", [99]], [[120461, 120461], "mapped", [100]], [[120462, 120462], "mapped", [101]], [[120463, 120463], "mapped", [102]], [[120464, 120464], "mapped", [103]], [[120465, 120465], "mapped", [104]], [[120466, 120466], "mapped", [105]], [[120467, 120467], "mapped", [106]], [[120468, 120468], "mapped", [107]], [[120469, 120469], "mapped", [108]], [[120470, 120470], "mapped", [109]], [[120471, 120471], "mapped", [110]], [[120472, 120472], "mapped", [111]], [[120473, 120473], "mapped", [112]], [[120474, 120474], "mapped", [113]], [[120475, 120475], "mapped", [114]], [[120476, 120476], "mapped", [115]], [[120477, 120477], "mapped", [116]], [[120478, 120478], "mapped", [117]], [[120479, 120479], "mapped", [118]], [[120480, 120480], "mapped", [119]], [[120481, 120481], "mapped", [120]], [[120482, 120482], "mapped", [121]], [[120483, 120483], "mapped", [122]], [[120484, 120484], "mapped", [305]], [[120485, 120485], "mapped", [567]], [[120486, 120487], "disallowed"], [[120488, 120488], "mapped", [945]], [[120489, 120489], "mapped", [946]], [[120490, 120490], "mapped", [947]], [[120491, 120491], "mapped", [948]], [[120492, 120492], "mapped", [949]], [[120493, 120493], "mapped", [950]], [[120494, 120494], "mapped", [951]], [[120495, 120495], "mapped", [952]], [[120496, 120496], "mapped", [953]], [[120497, 120497], "mapped", [954]], [[120498, 120498], "mapped", [955]], [[120499, 120499], "mapped", [956]], [[120500, 120500], "mapped", [957]], [[120501, 120501], "mapped", [958]], [[120502, 120502], "mapped", [959]], [[120503, 120503], "mapped", [960]], [[120504, 120504], "mapped", [961]], [[120505, 120505], "mapped", [952]], [[120506, 120506], "mapped", [963]], [[120507, 120507], "mapped", [964]], [[120508, 120508], "mapped", [965]], [[120509, 120509], "mapped", [966]], [[120510, 120510], "mapped", [967]], [[120511, 120511], "mapped", [968]], [[120512, 120512], "mapped", [969]], [[120513, 120513], "mapped", [8711]], [[120514, 120514], "mapped", [945]], [[120515, 120515], "mapped", [946]], [[120516, 120516], "mapped", [947]], [[120517, 120517], "mapped", [948]], [[120518, 120518], "mapped", [949]], [[120519, 120519], "mapped", [950]], [[120520, 120520], "mapped", [951]], [[120521, 120521], "mapped", [952]], [[120522, 120522], "mapped", [953]], [[120523, 120523], "mapped", [954]], [[120524, 120524], "mapped", [955]], [[120525, 120525], "mapped", [956]], [[120526, 120526], "mapped", [957]], [[120527, 120527], "mapped", [958]], [[120528, 120528], "mapped", [959]], [[120529, 120529], "mapped", [960]], [[120530, 120530], "mapped", [961]], [[120531, 120532], "mapped", [963]], [[120533, 120533], "mapped", [964]], [[120534, 120534], "mapped", [965]], [[120535, 120535], "mapped", [966]], [[120536, 120536], "mapped", [967]], [[120537, 120537], "mapped", [968]], [[120538, 120538], "mapped", [969]], [[120539, 120539], "mapped", [8706]], [[120540, 120540], "mapped", [949]], [[120541, 120541], "mapped", [952]], [[120542, 120542], "mapped", [954]], [[120543, 120543], "mapped", [966]], [[120544, 120544], "mapped", [961]], [[120545, 120545], "mapped", [960]], [[120546, 120546], "mapped", [945]], [[120547, 120547], "mapped", [946]], [[120548, 120548], "mapped", [947]], [[120549, 120549], "mapped", [948]], [[120550, 120550], "mapped", [949]], [[120551, 120551], "mapped", [950]], [[120552, 120552], "mapped", [951]], [[120553, 120553], "mapped", [952]], [[120554, 120554], "mapped", [953]], [[120555, 120555], "mapped", [954]], [[120556, 120556], "mapped", [955]], [[120557, 120557], "mapped", [956]], [[120558, 120558], "mapped", [957]], [[120559, 120559], "mapped", [958]], [[120560, 120560], "mapped", [959]], [[120561, 120561], "mapped", [960]], [[120562, 120562], "mapped", [961]], [[120563, 120563], "mapped", [952]], [[120564, 120564], "mapped", [963]], [[120565, 120565], "mapped", [964]], [[120566, 120566], "mapped", [965]], [[120567, 120567], "mapped", [966]], [[120568, 120568], "mapped", [967]], [[120569, 120569], "mapped", [968]], [[120570, 120570], "mapped", [969]], [[120571, 120571], "mapped", [8711]], [[120572, 120572], "mapped", [945]], [[120573, 120573], "mapped", [946]], [[120574, 120574], "mapped", [947]], [[120575, 120575], "mapped", [948]], [[120576, 120576], "mapped", [949]], [[120577, 120577], "mapped", [950]], [[120578, 120578], "mapped", [951]], [[120579, 120579], "mapped", [952]], [[120580, 120580], "mapped", [953]], [[120581, 120581], "mapped", [954]], [[120582, 120582], "mapped", [955]], [[120583, 120583], "mapped", [956]], [[120584, 120584], "mapped", [957]], [[120585, 120585], "mapped", [958]], [[120586, 120586], "mapped", [959]], [[120587, 120587], "mapped", [960]], [[120588, 120588], "mapped", [961]], [[120589, 120590], "mapped", [963]], [[120591, 120591], "mapped", [964]], [[120592, 120592], "mapped", [965]], [[120593, 120593], "mapped", [966]], [[120594, 120594], "mapped", [967]], [[120595, 120595], "mapped", [968]], [[120596, 120596], "mapped", [969]], [[120597, 120597], "mapped", [8706]], [[120598, 120598], "mapped", [949]], [[120599, 120599], "mapped", [952]], [[120600, 120600], "mapped", [954]], [[120601, 120601], "mapped", [966]], [[120602, 120602], "mapped", [961]], [[120603, 120603], "mapped", [960]], [[120604, 120604], "mapped", [945]], [[120605, 120605], "mapped", [946]], [[120606, 120606], "mapped", [947]], [[120607, 120607], "mapped", [948]], [[120608, 120608], "mapped", [949]], [[120609, 120609], "mapped", [950]], [[120610, 120610], "mapped", [951]], [[120611, 120611], "mapped", [952]], [[120612, 120612], "mapped", [953]], [[120613, 120613], "mapped", [954]], [[120614, 120614], "mapped", [955]], [[120615, 120615], "mapped", [956]], [[120616, 120616], "mapped", [957]], [[120617, 120617], "mapped", [958]], [[120618, 120618], "mapped", [959]], [[120619, 120619], "mapped", [960]], [[120620, 120620], "mapped", [961]], [[120621, 120621], "mapped", [952]], [[120622, 120622], "mapped", [963]], [[120623, 120623], "mapped", [964]], [[120624, 120624], "mapped", [965]], [[120625, 120625], "mapped", [966]], [[120626, 120626], "mapped", [967]], [[120627, 120627], "mapped", [968]], [[120628, 120628], "mapped", [969]], [[120629, 120629], "mapped", [8711]], [[120630, 120630], "mapped", [945]], [[120631, 120631], "mapped", [946]], [[120632, 120632], "mapped", [947]], [[120633, 120633], "mapped", [948]], [[120634, 120634], "mapped", [949]], [[120635, 120635], "mapped", [950]], [[120636, 120636], "mapped", [951]], [[120637, 120637], "mapped", [952]], [[120638, 120638], "mapped", [953]], [[120639, 120639], "mapped", [954]], [[120640, 120640], "mapped", [955]], [[120641, 120641], "mapped", [956]], [[120642, 120642], "mapped", [957]], [[120643, 120643], "mapped", [958]], [[120644, 120644], "mapped", [959]], [[120645, 120645], "mapped", [960]], [[120646, 120646], "mapped", [961]], [[120647, 120648], "mapped", [963]], [[120649, 120649], "mapped", [964]], [[120650, 120650], "mapped", [965]], [[120651, 120651], "mapped", [966]], [[120652, 120652], "mapped", [967]], [[120653, 120653], "mapped", [968]], [[120654, 120654], "mapped", [969]], [[120655, 120655], "mapped", [8706]], [[120656, 120656], "mapped", [949]], [[120657, 120657], "mapped", [952]], [[120658, 120658], "mapped", [954]], [[120659, 120659], "mapped", [966]], [[120660, 120660], "mapped", [961]], [[120661, 120661], "mapped", [960]], [[120662, 120662], "mapped", [945]], [[120663, 120663], "mapped", [946]], [[120664, 120664], "mapped", [947]], [[120665, 120665], "mapped", [948]], [[120666, 120666], "mapped", [949]], [[120667, 120667], "mapped", [950]], [[120668, 120668], "mapped", [951]], [[120669, 120669], "mapped", [952]], [[120670, 120670], "mapped", [953]], [[120671, 120671], "mapped", [954]], [[120672, 120672], "mapped", [955]], [[120673, 120673], "mapped", [956]], [[120674, 120674], "mapped", [957]], [[120675, 120675], "mapped", [958]], [[120676, 120676], "mapped", [959]], [[120677, 120677], "mapped", [960]], [[120678, 120678], "mapped", [961]], [[120679, 120679], "mapped", [952]], [[120680, 120680], "mapped", [963]], [[120681, 120681], "mapped", [964]], [[120682, 120682], "mapped", [965]], [[120683, 120683], "mapped", [966]], [[120684, 120684], "mapped", [967]], [[120685, 120685], "mapped", [968]], [[120686, 120686], "mapped", [969]], [[120687, 120687], "mapped", [8711]], [[120688, 120688], "mapped", [945]], [[120689, 120689], "mapped", [946]], [[120690, 120690], "mapped", [947]], [[120691, 120691], "mapped", [948]], [[120692, 120692], "mapped", [949]], [[120693, 120693], "mapped", [950]], [[120694, 120694], "mapped", [951]], [[120695, 120695], "mapped", [952]], [[120696, 120696], "mapped", [953]], [[120697, 120697], "mapped", [954]], [[120698, 120698], "mapped", [955]], [[120699, 120699], "mapped", [956]], [[120700, 120700], "mapped", [957]], [[120701, 120701], "mapped", [958]], [[120702, 120702], "mapped", [959]], [[120703, 120703], "mapped", [960]], [[120704, 120704], "mapped", [961]], [[120705, 120706], "mapped", [963]], [[120707, 120707], "mapped", [964]], [[120708, 120708], "mapped", [965]], [[120709, 120709], "mapped", [966]], [[120710, 120710], "mapped", [967]], [[120711, 120711], "mapped", [968]], [[120712, 120712], "mapped", [969]], [[120713, 120713], "mapped", [8706]], [[120714, 120714], "mapped", [949]], [[120715, 120715], "mapped", [952]], [[120716, 120716], "mapped", [954]], [[120717, 120717], "mapped", [966]], [[120718, 120718], "mapped", [961]], [[120719, 120719], "mapped", [960]], [[120720, 120720], "mapped", [945]], [[120721, 120721], "mapped", [946]], [[120722, 120722], "mapped", [947]], [[120723, 120723], "mapped", [948]], [[120724, 120724], "mapped", [949]], [[120725, 120725], "mapped", [950]], [[120726, 120726], "mapped", [951]], [[120727, 120727], "mapped", [952]], [[120728, 120728], "mapped", [953]], [[120729, 120729], "mapped", [954]], [[120730, 120730], "mapped", [955]], [[120731, 120731], "mapped", [956]], [[120732, 120732], "mapped", [957]], [[120733, 120733], "mapped", [958]], [[120734, 120734], "mapped", [959]], [[120735, 120735], "mapped", [960]], [[120736, 120736], "mapped", [961]], [[120737, 120737], "mapped", [952]], [[120738, 120738], "mapped", [963]], [[120739, 120739], "mapped", [964]], [[120740, 120740], "mapped", [965]], [[120741, 120741], "mapped", [966]], [[120742, 120742], "mapped", [967]], [[120743, 120743], "mapped", [968]], [[120744, 120744], "mapped", [969]], [[120745, 120745], "mapped", [8711]], [[120746, 120746], "mapped", [945]], [[120747, 120747], "mapped", [946]], [[120748, 120748], "mapped", [947]], [[120749, 120749], "mapped", [948]], [[120750, 120750], "mapped", [949]], [[120751, 120751], "mapped", [950]], [[120752, 120752], "mapped", [951]], [[120753, 120753], "mapped", [952]], [[120754, 120754], "mapped", [953]], [[120755, 120755], "mapped", [954]], [[120756, 120756], "mapped", [955]], [[120757, 120757], "mapped", [956]], [[120758, 120758], "mapped", [957]], [[120759, 120759], "mapped", [958]], [[120760, 120760], "mapped", [959]], [[120761, 120761], "mapped", [960]], [[120762, 120762], "mapped", [961]], [[120763, 120764], "mapped", [963]], [[120765, 120765], "mapped", [964]], [[120766, 120766], "mapped", [965]], [[120767, 120767], "mapped", [966]], [[120768, 120768], "mapped", [967]], [[120769, 120769], "mapped", [968]], [[120770, 120770], "mapped", [969]], [[120771, 120771], "mapped", [8706]], [[120772, 120772], "mapped", [949]], [[120773, 120773], "mapped", [952]], [[120774, 120774], "mapped", [954]], [[120775, 120775], "mapped", [966]], [[120776, 120776], "mapped", [961]], [[120777, 120777], "mapped", [960]], [[120778, 120779], "mapped", [989]], [[120780, 120781], "disallowed"], [[120782, 120782], "mapped", [48]], [[120783, 120783], "mapped", [49]], [[120784, 120784], "mapped", [50]], [[120785, 120785], "mapped", [51]], [[120786, 120786], "mapped", [52]], [[120787, 120787], "mapped", [53]], [[120788, 120788], "mapped", [54]], [[120789, 120789], "mapped", [55]], [[120790, 120790], "mapped", [56]], [[120791, 120791], "mapped", [57]], [[120792, 120792], "mapped", [48]], [[120793, 120793], "mapped", [49]], [[120794, 120794], "mapped", [50]], [[120795, 120795], "mapped", [51]], [[120796, 120796], "mapped", [52]], [[120797, 120797], "mapped", [53]], [[120798, 120798], "mapped", [54]], [[120799, 120799], "mapped", [55]], [[120800, 120800], "mapped", [56]], [[120801, 120801], "mapped", [57]], [[120802, 120802], "mapped", [48]], [[120803, 120803], "mapped", [49]], [[120804, 120804], "mapped", [50]], [[120805, 120805], "mapped", [51]], [[120806, 120806], "mapped", [52]], [[120807, 120807], "mapped", [53]], [[120808, 120808], "mapped", [54]], [[120809, 120809], "mapped", [55]], [[120810, 120810], "mapped", [56]], [[120811, 120811], "mapped", [57]], [[120812, 120812], "mapped", [48]], [[120813, 120813], "mapped", [49]], [[120814, 120814], "mapped", [50]], [[120815, 120815], "mapped", [51]], [[120816, 120816], "mapped", [52]], [[120817, 120817], "mapped", [53]], [[120818, 120818], "mapped", [54]], [[120819, 120819], "mapped", [55]], [[120820, 120820], "mapped", [56]], [[120821, 120821], "mapped", [57]], [[120822, 120822], "mapped", [48]], [[120823, 120823], "mapped", [49]], [[120824, 120824], "mapped", [50]], [[120825, 120825], "mapped", [51]], [[120826, 120826], "mapped", [52]], [[120827, 120827], "mapped", [53]], [[120828, 120828], "mapped", [54]], [[120829, 120829], "mapped", [55]], [[120830, 120830], "mapped", [56]], [[120831, 120831], "mapped", [57]], [[120832, 121343], "valid", [], "NV8"], [[121344, 121398], "valid"], [[121399, 121402], "valid", [], "NV8"], [[121403, 121452], "valid"], [[121453, 121460], "valid", [], "NV8"], [[121461, 121461], "valid"], [[121462, 121475], "valid", [], "NV8"], [[121476, 121476], "valid"], [[121477, 121483], "valid", [], "NV8"], [[121484, 121498], "disallowed"], [[121499, 121503], "valid"], [[121504, 121504], "disallowed"], [[121505, 121519], "valid"], [[121520, 124927], "disallowed"], [[124928, 125124], "valid"], [[125125, 125126], "disallowed"], [[125127, 125135], "valid", [], "NV8"], [[125136, 125142], "valid"], [[125143, 126463], "disallowed"], [[126464, 126464], "mapped", [1575]], [[126465, 126465], "mapped", [1576]], [[126466, 126466], "mapped", [1580]], [[126467, 126467], "mapped", [1583]], [[126468, 126468], "disallowed"], [[126469, 126469], "mapped", [1608]], [[126470, 126470], "mapped", [1586]], [[126471, 126471], "mapped", [1581]], [[126472, 126472], "mapped", [1591]], [[126473, 126473], "mapped", [1610]], [[126474, 126474], "mapped", [1603]], [[126475, 126475], "mapped", [1604]], [[126476, 126476], "mapped", [1605]], [[126477, 126477], "mapped", [1606]], [[126478, 126478], "mapped", [1587]], [[126479, 126479], "mapped", [1593]], [[126480, 126480], "mapped", [1601]], [[126481, 126481], "mapped", [1589]], [[126482, 126482], "mapped", [1602]], [[126483, 126483], "mapped", [1585]], [[126484, 126484], "mapped", [1588]], [[126485, 126485], "mapped", [1578]], [[126486, 126486], "mapped", [1579]], [[126487, 126487], "mapped", [1582]], [[126488, 126488], "mapped", [1584]], [[126489, 126489], "mapped", [1590]], [[126490, 126490], "mapped", [1592]], [[126491, 126491], "mapped", [1594]], [[126492, 126492], "mapped", [1646]], [[126493, 126493], "mapped", [1722]], [[126494, 126494], "mapped", [1697]], [[126495, 126495], "mapped", [1647]], [[126496, 126496], "disallowed"], [[126497, 126497], "mapped", [1576]], [[126498, 126498], "mapped", [1580]], [[126499, 126499], "disallowed"], [[126500, 126500], "mapped", [1607]], [[126501, 126502], "disallowed"], [[126503, 126503], "mapped", [1581]], [[126504, 126504], "disallowed"], [[126505, 126505], "mapped", [1610]], [[126506, 126506], "mapped", [1603]], [[126507, 126507], "mapped", [1604]], [[126508, 126508], "mapped", [1605]], [[126509, 126509], "mapped", [1606]], [[126510, 126510], "mapped", [1587]], [[126511, 126511], "mapped", [1593]], [[126512, 126512], "mapped", [1601]], [[126513, 126513], "mapped", [1589]], [[126514, 126514], "mapped", [1602]], [[126515, 126515], "disallowed"], [[126516, 126516], "mapped", [1588]], [[126517, 126517], "mapped", [1578]], [[126518, 126518], "mapped", [1579]], [[126519, 126519], "mapped", [1582]], [[126520, 126520], "disallowed"], [[126521, 126521], "mapped", [1590]], [[126522, 126522], "disallowed"], [[126523, 126523], "mapped", [1594]], [[126524, 126529], "disallowed"], [[126530, 126530], "mapped", [1580]], [[126531, 126534], "disallowed"], [[126535, 126535], "mapped", [1581]], [[126536, 126536], "disallowed"], [[126537, 126537], "mapped", [1610]], [[126538, 126538], "disallowed"], [[126539, 126539], "mapped", [1604]], [[126540, 126540], "disallowed"], [[126541, 126541], "mapped", [1606]], [[126542, 126542], "mapped", [1587]], [[126543, 126543], "mapped", [1593]], [[126544, 126544], "disallowed"], [[126545, 126545], "mapped", [1589]], [[126546, 126546], "mapped", [1602]], [[126547, 126547], "disallowed"], [[126548, 126548], "mapped", [1588]], [[126549, 126550], "disallowed"], [[126551, 126551], "mapped", [1582]], [[126552, 126552], "disallowed"], [[126553, 126553], "mapped", [1590]], [[126554, 126554], "disallowed"], [[126555, 126555], "mapped", [1594]], [[126556, 126556], "disallowed"], [[126557, 126557], "mapped", [1722]], [[126558, 126558], "disallowed"], [[126559, 126559], "mapped", [1647]], [[126560, 126560], "disallowed"], [[126561, 126561], "mapped", [1576]], [[126562, 126562], "mapped", [1580]], [[126563, 126563], "disallowed"], [[126564, 126564], "mapped", [1607]], [[126565, 126566], "disallowed"], [[126567, 126567], "mapped", [1581]], [[126568, 126568], "mapped", [1591]], [[126569, 126569], "mapped", [1610]], [[126570, 126570], "mapped", [1603]], [[126571, 126571], "disallowed"], [[126572, 126572], "mapped", [1605]], [[126573, 126573], "mapped", [1606]], [[126574, 126574], "mapped", [1587]], [[126575, 126575], "mapped", [1593]], [[126576, 126576], "mapped", [1601]], [[126577, 126577], "mapped", [1589]], [[126578, 126578], "mapped", [1602]], [[126579, 126579], "disallowed"], [[126580, 126580], "mapped", [1588]], [[126581, 126581], "mapped", [1578]], [[126582, 126582], "mapped", [1579]], [[126583, 126583], "mapped", [1582]], [[126584, 126584], "disallowed"], [[126585, 126585], "mapped", [1590]], [[126586, 126586], "mapped", [1592]], [[126587, 126587], "mapped", [1594]], [[126588, 126588], "mapped", [1646]], [[126589, 126589], "disallowed"], [[126590, 126590], "mapped", [1697]], [[126591, 126591], "disallowed"], [[126592, 126592], "mapped", [1575]], [[126593, 126593], "mapped", [1576]], [[126594, 126594], "mapped", [1580]], [[126595, 126595], "mapped", [1583]], [[126596, 126596], "mapped", [1607]], [[126597, 126597], "mapped", [1608]], [[126598, 126598], "mapped", [1586]], [[126599, 126599], "mapped", [1581]], [[126600, 126600], "mapped", [1591]], [[126601, 126601], "mapped", [1610]], [[126602, 126602], "disallowed"], [[126603, 126603], "mapped", [1604]], [[126604, 126604], "mapped", [1605]], [[126605, 126605], "mapped", [1606]], [[126606, 126606], "mapped", [1587]], [[126607, 126607], "mapped", [1593]], [[126608, 126608], "mapped", [1601]], [[126609, 126609], "mapped", [1589]], [[126610, 126610], "mapped", [1602]], [[126611, 126611], "mapped", [1585]], [[126612, 126612], "mapped", [1588]], [[126613, 126613], "mapped", [1578]], [[126614, 126614], "mapped", [1579]], [[126615, 126615], "mapped", [1582]], [[126616, 126616], "mapped", [1584]], [[126617, 126617], "mapped", [1590]], [[126618, 126618], "mapped", [1592]], [[126619, 126619], "mapped", [1594]], [[126620, 126624], "disallowed"], [[126625, 126625], "mapped", [1576]], [[126626, 126626], "mapped", [1580]], [[126627, 126627], "mapped", [1583]], [[126628, 126628], "disallowed"], [[126629, 126629], "mapped", [1608]], [[126630, 126630], "mapped", [1586]], [[126631, 126631], "mapped", [1581]], [[126632, 126632], "mapped", [1591]], [[126633, 126633], "mapped", [1610]], [[126634, 126634], "disallowed"], [[126635, 126635], "mapped", [1604]], [[126636, 126636], "mapped", [1605]], [[126637, 126637], "mapped", [1606]], [[126638, 126638], "mapped", [1587]], [[126639, 126639], "mapped", [1593]], [[126640, 126640], "mapped", [1601]], [[126641, 126641], "mapped", [1589]], [[126642, 126642], "mapped", [1602]], [[126643, 126643], "mapped", [1585]], [[126644, 126644], "mapped", [1588]], [[126645, 126645], "mapped", [1578]], [[126646, 126646], "mapped", [1579]], [[126647, 126647], "mapped", [1582]], [[126648, 126648], "mapped", [1584]], [[126649, 126649], "mapped", [1590]], [[126650, 126650], "mapped", [1592]], [[126651, 126651], "mapped", [1594]], [[126652, 126703], "disallowed"], [[126704, 126705], "valid", [], "NV8"], [[126706, 126975], "disallowed"], [[126976, 127019], "valid", [], "NV8"], [[127020, 127023], "disallowed"], [[127024, 127123], "valid", [], "NV8"], [[127124, 127135], "disallowed"], [[127136, 127150], "valid", [], "NV8"], [[127151, 127152], "disallowed"], [[127153, 127166], "valid", [], "NV8"], [[127167, 127167], "valid", [], "NV8"], [[127168, 127168], "disallowed"], [[127169, 127183], "valid", [], "NV8"], [[127184, 127184], "disallowed"], [[127185, 127199], "valid", [], "NV8"], [[127200, 127221], "valid", [], "NV8"], [[127222, 127231], "disallowed"], [[127232, 127232], "disallowed"], [[127233, 127233], "disallowed_STD3_mapped", [48, 44]], [[127234, 127234], "disallowed_STD3_mapped", [49, 44]], [[127235, 127235], "disallowed_STD3_mapped", [50, 44]], [[127236, 127236], "disallowed_STD3_mapped", [51, 44]], [[127237, 127237], "disallowed_STD3_mapped", [52, 44]], [[127238, 127238], "disallowed_STD3_mapped", [53, 44]], [[127239, 127239], "disallowed_STD3_mapped", [54, 44]], [[127240, 127240], "disallowed_STD3_mapped", [55, 44]], [[127241, 127241], "disallowed_STD3_mapped", [56, 44]], [[127242, 127242], "disallowed_STD3_mapped", [57, 44]], [[127243, 127244], "valid", [], "NV8"], [[127245, 127247], "disallowed"], [[127248, 127248], "disallowed_STD3_mapped", [40, 97, 41]], [[127249, 127249], "disallowed_STD3_mapped", [40, 98, 41]], [[127250, 127250], "disallowed_STD3_mapped", [40, 99, 41]], [[127251, 127251], "disallowed_STD3_mapped", [40, 100, 41]], [[127252, 127252], "disallowed_STD3_mapped", [40, 101, 41]], [[127253, 127253], "disallowed_STD3_mapped", [40, 102, 41]], [[127254, 127254], "disallowed_STD3_mapped", [40, 103, 41]], [[127255, 127255], "disallowed_STD3_mapped", [40, 104, 41]], [[127256, 127256], "disallowed_STD3_mapped", [40, 105, 41]], [[127257, 127257], "disallowed_STD3_mapped", [40, 106, 41]], [[127258, 127258], "disallowed_STD3_mapped", [40, 107, 41]], [[127259, 127259], "disallowed_STD3_mapped", [40, 108, 41]], [[127260, 127260], "disallowed_STD3_mapped", [40, 109, 41]], [[127261, 127261], "disallowed_STD3_mapped", [40, 110, 41]], [[127262, 127262], "disallowed_STD3_mapped", [40, 111, 41]], [[127263, 127263], "disallowed_STD3_mapped", [40, 112, 41]], [[127264, 127264], "disallowed_STD3_mapped", [40, 113, 41]], [[127265, 127265], "disallowed_STD3_mapped", [40, 114, 41]], [[127266, 127266], "disallowed_STD3_mapped", [40, 115, 41]], [[127267, 127267], "disallowed_STD3_mapped", [40, 116, 41]], [[127268, 127268], "disallowed_STD3_mapped", [40, 117, 41]], [[127269, 127269], "disallowed_STD3_mapped", [40, 118, 41]], [[127270, 127270], "disallowed_STD3_mapped", [40, 119, 41]], [[127271, 127271], "disallowed_STD3_mapped", [40, 120, 41]], [[127272, 127272], "disallowed_STD3_mapped", [40, 121, 41]], [[127273, 127273], "disallowed_STD3_mapped", [40, 122, 41]], [[127274, 127274], "mapped", [12308, 115, 12309]], [[127275, 127275], "mapped", [99]], [[127276, 127276], "mapped", [114]], [[127277, 127277], "mapped", [99, 100]], [[127278, 127278], "mapped", [119, 122]], [[127279, 127279], "disallowed"], [[127280, 127280], "mapped", [97]], [[127281, 127281], "mapped", [98]], [[127282, 127282], "mapped", [99]], [[127283, 127283], "mapped", [100]], [[127284, 127284], "mapped", [101]], [[127285, 127285], "mapped", [102]], [[127286, 127286], "mapped", [103]], [[127287, 127287], "mapped", [104]], [[127288, 127288], "mapped", [105]], [[127289, 127289], "mapped", [106]], [[127290, 127290], "mapped", [107]], [[127291, 127291], "mapped", [108]], [[127292, 127292], "mapped", [109]], [[127293, 127293], "mapped", [110]], [[127294, 127294], "mapped", [111]], [[127295, 127295], "mapped", [112]], [[127296, 127296], "mapped", [113]], [[127297, 127297], "mapped", [114]], [[127298, 127298], "mapped", [115]], [[127299, 127299], "mapped", [116]], [[127300, 127300], "mapped", [117]], [[127301, 127301], "mapped", [118]], [[127302, 127302], "mapped", [119]], [[127303, 127303], "mapped", [120]], [[127304, 127304], "mapped", [121]], [[127305, 127305], "mapped", [122]], [[127306, 127306], "mapped", [104, 118]], [[127307, 127307], "mapped", [109, 118]], [[127308, 127308], "mapped", [115, 100]], [[127309, 127309], "mapped", [115, 115]], [[127310, 127310], "mapped", [112, 112, 118]], [[127311, 127311], "mapped", [119, 99]], [[127312, 127318], "valid", [], "NV8"], [[127319, 127319], "valid", [], "NV8"], [[127320, 127326], "valid", [], "NV8"], [[127327, 127327], "valid", [], "NV8"], [[127328, 127337], "valid", [], "NV8"], [[127338, 127338], "mapped", [109, 99]], [[127339, 127339], "mapped", [109, 100]], [[127340, 127343], "disallowed"], [[127344, 127352], "valid", [], "NV8"], [[127353, 127353], "valid", [], "NV8"], [[127354, 127354], "valid", [], "NV8"], [[127355, 127356], "valid", [], "NV8"], [[127357, 127358], "valid", [], "NV8"], [[127359, 127359], "valid", [], "NV8"], [[127360, 127369], "valid", [], "NV8"], [[127370, 127373], "valid", [], "NV8"], [[127374, 127375], "valid", [], "NV8"], [[127376, 127376], "mapped", [100, 106]], [[127377, 127386], "valid", [], "NV8"], [[127387, 127461], "disallowed"], [[127462, 127487], "valid", [], "NV8"], [[127488, 127488], "mapped", [12411, 12363]], [[127489, 127489], "mapped", [12467, 12467]], [[127490, 127490], "mapped", [12469]], [[127491, 127503], "disallowed"], [[127504, 127504], "mapped", [25163]], [[127505, 127505], "mapped", [23383]], [[127506, 127506], "mapped", [21452]], [[127507, 127507], "mapped", [12487]], [[127508, 127508], "mapped", [20108]], [[127509, 127509], "mapped", [22810]], [[127510, 127510], "mapped", [35299]], [[127511, 127511], "mapped", [22825]], [[127512, 127512], "mapped", [20132]], [[127513, 127513], "mapped", [26144]], [[127514, 127514], "mapped", [28961]], [[127515, 127515], "mapped", [26009]], [[127516, 127516], "mapped", [21069]], [[127517, 127517], "mapped", [24460]], [[127518, 127518], "mapped", [20877]], [[127519, 127519], "mapped", [26032]], [[127520, 127520], "mapped", [21021]], [[127521, 127521], "mapped", [32066]], [[127522, 127522], "mapped", [29983]], [[127523, 127523], "mapped", [36009]], [[127524, 127524], "mapped", [22768]], [[127525, 127525], "mapped", [21561]], [[127526, 127526], "mapped", [28436]], [[127527, 127527], "mapped", [25237]], [[127528, 127528], "mapped", [25429]], [[127529, 127529], "mapped", [19968]], [[127530, 127530], "mapped", [19977]], [[127531, 127531], "mapped", [36938]], [[127532, 127532], "mapped", [24038]], [[127533, 127533], "mapped", [20013]], [[127534, 127534], "mapped", [21491]], [[127535, 127535], "mapped", [25351]], [[127536, 127536], "mapped", [36208]], [[127537, 127537], "mapped", [25171]], [[127538, 127538], "mapped", [31105]], [[127539, 127539], "mapped", [31354]], [[127540, 127540], "mapped", [21512]], [[127541, 127541], "mapped", [28288]], [[127542, 127542], "mapped", [26377]], [[127543, 127543], "mapped", [26376]], [[127544, 127544], "mapped", [30003]], [[127545, 127545], "mapped", [21106]], [[127546, 127546], "mapped", [21942]], [[127547, 127551], "disallowed"], [[127552, 127552], "mapped", [12308, 26412, 12309]], [[127553, 127553], "mapped", [12308, 19977, 12309]], [[127554, 127554], "mapped", [12308, 20108, 12309]], [[127555, 127555], "mapped", [12308, 23433, 12309]], [[127556, 127556], "mapped", [12308, 28857, 12309]], [[127557, 127557], "mapped", [12308, 25171, 12309]], [[127558, 127558], "mapped", [12308, 30423, 12309]], [[127559, 127559], "mapped", [12308, 21213, 12309]], [[127560, 127560], "mapped", [12308, 25943, 12309]], [[127561, 127567], "disallowed"], [[127568, 127568], "mapped", [24471]], [[127569, 127569], "mapped", [21487]], [[127570, 127743], "disallowed"], [[127744, 127776], "valid", [], "NV8"], [[127777, 127788], "valid", [], "NV8"], [[127789, 127791], "valid", [], "NV8"], [[127792, 127797], "valid", [], "NV8"], [[127798, 127798], "valid", [], "NV8"], [[127799, 127868], "valid", [], "NV8"], [[127869, 127869], "valid", [], "NV8"], [[127870, 127871], "valid", [], "NV8"], [[127872, 127891], "valid", [], "NV8"], [[127892, 127903], "valid", [], "NV8"], [[127904, 127940], "valid", [], "NV8"], [[127941, 127941], "valid", [], "NV8"], [[127942, 127946], "valid", [], "NV8"], [[127947, 127950], "valid", [], "NV8"], [[127951, 127955], "valid", [], "NV8"], [[127956, 127967], "valid", [], "NV8"], [[127968, 127984], "valid", [], "NV8"], [[127985, 127991], "valid", [], "NV8"], [[127992, 127999], "valid", [], "NV8"], [[128e3, 128062], "valid", [], "NV8"], [[128063, 128063], "valid", [], "NV8"], [[128064, 128064], "valid", [], "NV8"], [[128065, 128065], "valid", [], "NV8"], [[128066, 128247], "valid", [], "NV8"], [[128248, 128248], "valid", [], "NV8"], [[128249, 128252], "valid", [], "NV8"], [[128253, 128254], "valid", [], "NV8"], [[128255, 128255], "valid", [], "NV8"], [[128256, 128317], "valid", [], "NV8"], [[128318, 128319], "valid", [], "NV8"], [[128320, 128323], "valid", [], "NV8"], [[128324, 128330], "valid", [], "NV8"], [[128331, 128335], "valid", [], "NV8"], [[128336, 128359], "valid", [], "NV8"], [[128360, 128377], "valid", [], "NV8"], [[128378, 128378], "disallowed"], [[128379, 128419], "valid", [], "NV8"], [[128420, 128420], "disallowed"], [[128421, 128506], "valid", [], "NV8"], [[128507, 128511], "valid", [], "NV8"], [[128512, 128512], "valid", [], "NV8"], [[128513, 128528], "valid", [], "NV8"], [[128529, 128529], "valid", [], "NV8"], [[128530, 128532], "valid", [], "NV8"], [[128533, 128533], "valid", [], "NV8"], [[128534, 128534], "valid", [], "NV8"], [[128535, 128535], "valid", [], "NV8"], [[128536, 128536], "valid", [], "NV8"], [[128537, 128537], "valid", [], "NV8"], [[128538, 128538], "valid", [], "NV8"], [[128539, 128539], "valid", [], "NV8"], [[128540, 128542], "valid", [], "NV8"], [[128543, 128543], "valid", [], "NV8"], [[128544, 128549], "valid", [], "NV8"], [[128550, 128551], "valid", [], "NV8"], [[128552, 128555], "valid", [], "NV8"], [[128556, 128556], "valid", [], "NV8"], [[128557, 128557], "valid", [], "NV8"], [[128558, 128559], "valid", [], "NV8"], [[128560, 128563], "valid", [], "NV8"], [[128564, 128564], "valid", [], "NV8"], [[128565, 128576], "valid", [], "NV8"], [[128577, 128578], "valid", [], "NV8"], [[128579, 128580], "valid", [], "NV8"], [[128581, 128591], "valid", [], "NV8"], [[128592, 128639], "valid", [], "NV8"], [[128640, 128709], "valid", [], "NV8"], [[128710, 128719], "valid", [], "NV8"], [[128720, 128720], "valid", [], "NV8"], [[128721, 128735], "disallowed"], [[128736, 128748], "valid", [], "NV8"], [[128749, 128751], "disallowed"], [[128752, 128755], "valid", [], "NV8"], [[128756, 128767], "disallowed"], [[128768, 128883], "valid", [], "NV8"], [[128884, 128895], "disallowed"], [[128896, 128980], "valid", [], "NV8"], [[128981, 129023], "disallowed"], [[129024, 129035], "valid", [], "NV8"], [[129036, 129039], "disallowed"], [[129040, 129095], "valid", [], "NV8"], [[129096, 129103], "disallowed"], [[129104, 129113], "valid", [], "NV8"], [[129114, 129119], "disallowed"], [[129120, 129159], "valid", [], "NV8"], [[129160, 129167], "disallowed"], [[129168, 129197], "valid", [], "NV8"], [[129198, 129295], "disallowed"], [[129296, 129304], "valid", [], "NV8"], [[129305, 129407], "disallowed"], [[129408, 129412], "valid", [], "NV8"], [[129413, 129471], "disallowed"], [[129472, 129472], "valid", [], "NV8"], [[129473, 131069], "disallowed"], [[131070, 131071], "disallowed"], [[131072, 173782], "valid"], [[173783, 173823], "disallowed"], [[173824, 177972], "valid"], [[177973, 177983], "disallowed"], [[177984, 178205], "valid"], [[178206, 178207], "disallowed"], [[178208, 183969], "valid"], [[183970, 194559], "disallowed"], [[194560, 194560], "mapped", [20029]], [[194561, 194561], "mapped", [20024]], [[194562, 194562], "mapped", [20033]], [[194563, 194563], "mapped", [131362]], [[194564, 194564], "mapped", [20320]], [[194565, 194565], "mapped", [20398]], [[194566, 194566], "mapped", [20411]], [[194567, 194567], "mapped", [20482]], [[194568, 194568], "mapped", [20602]], [[194569, 194569], "mapped", [20633]], [[194570, 194570], "mapped", [20711]], [[194571, 194571], "mapped", [20687]], [[194572, 194572], "mapped", [13470]], [[194573, 194573], "mapped", [132666]], [[194574, 194574], "mapped", [20813]], [[194575, 194575], "mapped", [20820]], [[194576, 194576], "mapped", [20836]], [[194577, 194577], "mapped", [20855]], [[194578, 194578], "mapped", [132380]], [[194579, 194579], "mapped", [13497]], [[194580, 194580], "mapped", [20839]], [[194581, 194581], "mapped", [20877]], [[194582, 194582], "mapped", [132427]], [[194583, 194583], "mapped", [20887]], [[194584, 194584], "mapped", [20900]], [[194585, 194585], "mapped", [20172]], [[194586, 194586], "mapped", [20908]], [[194587, 194587], "mapped", [20917]], [[194588, 194588], "mapped", [168415]], [[194589, 194589], "mapped", [20981]], [[194590, 194590], "mapped", [20995]], [[194591, 194591], "mapped", [13535]], [[194592, 194592], "mapped", [21051]], [[194593, 194593], "mapped", [21062]], [[194594, 194594], "mapped", [21106]], [[194595, 194595], "mapped", [21111]], [[194596, 194596], "mapped", [13589]], [[194597, 194597], "mapped", [21191]], [[194598, 194598], "mapped", [21193]], [[194599, 194599], "mapped", [21220]], [[194600, 194600], "mapped", [21242]], [[194601, 194601], "mapped", [21253]], [[194602, 194602], "mapped", [21254]], [[194603, 194603], "mapped", [21271]], [[194604, 194604], "mapped", [21321]], [[194605, 194605], "mapped", [21329]], [[194606, 194606], "mapped", [21338]], [[194607, 194607], "mapped", [21363]], [[194608, 194608], "mapped", [21373]], [[194609, 194611], "mapped", [21375]], [[194612, 194612], "mapped", [133676]], [[194613, 194613], "mapped", [28784]], [[194614, 194614], "mapped", [21450]], [[194615, 194615], "mapped", [21471]], [[194616, 194616], "mapped", [133987]], [[194617, 194617], "mapped", [21483]], [[194618, 194618], "mapped", [21489]], [[194619, 194619], "mapped", [21510]], [[194620, 194620], "mapped", [21662]], [[194621, 194621], "mapped", [21560]], [[194622, 194622], "mapped", [21576]], [[194623, 194623], "mapped", [21608]], [[194624, 194624], "mapped", [21666]], [[194625, 194625], "mapped", [21750]], [[194626, 194626], "mapped", [21776]], [[194627, 194627], "mapped", [21843]], [[194628, 194628], "mapped", [21859]], [[194629, 194630], "mapped", [21892]], [[194631, 194631], "mapped", [21913]], [[194632, 194632], "mapped", [21931]], [[194633, 194633], "mapped", [21939]], [[194634, 194634], "mapped", [21954]], [[194635, 194635], "mapped", [22294]], [[194636, 194636], "mapped", [22022]], [[194637, 194637], "mapped", [22295]], [[194638, 194638], "mapped", [22097]], [[194639, 194639], "mapped", [22132]], [[194640, 194640], "mapped", [20999]], [[194641, 194641], "mapped", [22766]], [[194642, 194642], "mapped", [22478]], [[194643, 194643], "mapped", [22516]], [[194644, 194644], "mapped", [22541]], [[194645, 194645], "mapped", [22411]], [[194646, 194646], "mapped", [22578]], [[194647, 194647], "mapped", [22577]], [[194648, 194648], "mapped", [22700]], [[194649, 194649], "mapped", [136420]], [[194650, 194650], "mapped", [22770]], [[194651, 194651], "mapped", [22775]], [[194652, 194652], "mapped", [22790]], [[194653, 194653], "mapped", [22810]], [[194654, 194654], "mapped", [22818]], [[194655, 194655], "mapped", [22882]], [[194656, 194656], "mapped", [136872]], [[194657, 194657], "mapped", [136938]], [[194658, 194658], "mapped", [23020]], [[194659, 194659], "mapped", [23067]], [[194660, 194660], "mapped", [23079]], [[194661, 194661], "mapped", [23e3]], [[194662, 194662], "mapped", [23142]], [[194663, 194663], "mapped", [14062]], [[194664, 194664], "disallowed"], [[194665, 194665], "mapped", [23304]], [[194666, 194667], "mapped", [23358]], [[194668, 194668], "mapped", [137672]], [[194669, 194669], "mapped", [23491]], [[194670, 194670], "mapped", [23512]], [[194671, 194671], "mapped", [23527]], [[194672, 194672], "mapped", [23539]], [[194673, 194673], "mapped", [138008]], [[194674, 194674], "mapped", [23551]], [[194675, 194675], "mapped", [23558]], [[194676, 194676], "disallowed"], [[194677, 194677], "mapped", [23586]], [[194678, 194678], "mapped", [14209]], [[194679, 194679], "mapped", [23648]], [[194680, 194680], "mapped", [23662]], [[194681, 194681], "mapped", [23744]], [[194682, 194682], "mapped", [23693]], [[194683, 194683], "mapped", [138724]], [[194684, 194684], "mapped", [23875]], [[194685, 194685], "mapped", [138726]], [[194686, 194686], "mapped", [23918]], [[194687, 194687], "mapped", [23915]], [[194688, 194688], "mapped", [23932]], [[194689, 194689], "mapped", [24033]], [[194690, 194690], "mapped", [24034]], [[194691, 194691], "mapped", [14383]], [[194692, 194692], "mapped", [24061]], [[194693, 194693], "mapped", [24104]], [[194694, 194694], "mapped", [24125]], [[194695, 194695], "mapped", [24169]], [[194696, 194696], "mapped", [14434]], [[194697, 194697], "mapped", [139651]], [[194698, 194698], "mapped", [14460]], [[194699, 194699], "mapped", [24240]], [[194700, 194700], "mapped", [24243]], [[194701, 194701], "mapped", [24246]], [[194702, 194702], "mapped", [24266]], [[194703, 194703], "mapped", [172946]], [[194704, 194704], "mapped", [24318]], [[194705, 194706], "mapped", [140081]], [[194707, 194707], "mapped", [33281]], [[194708, 194709], "mapped", [24354]], [[194710, 194710], "mapped", [14535]], [[194711, 194711], "mapped", [144056]], [[194712, 194712], "mapped", [156122]], [[194713, 194713], "mapped", [24418]], [[194714, 194714], "mapped", [24427]], [[194715, 194715], "mapped", [14563]], [[194716, 194716], "mapped", [24474]], [[194717, 194717], "mapped", [24525]], [[194718, 194718], "mapped", [24535]], [[194719, 194719], "mapped", [24569]], [[194720, 194720], "mapped", [24705]], [[194721, 194721], "mapped", [14650]], [[194722, 194722], "mapped", [14620]], [[194723, 194723], "mapped", [24724]], [[194724, 194724], "mapped", [141012]], [[194725, 194725], "mapped", [24775]], [[194726, 194726], "mapped", [24904]], [[194727, 194727], "mapped", [24908]], [[194728, 194728], "mapped", [24910]], [[194729, 194729], "mapped", [24908]], [[194730, 194730], "mapped", [24954]], [[194731, 194731], "mapped", [24974]], [[194732, 194732], "mapped", [25010]], [[194733, 194733], "mapped", [24996]], [[194734, 194734], "mapped", [25007]], [[194735, 194735], "mapped", [25054]], [[194736, 194736], "mapped", [25074]], [[194737, 194737], "mapped", [25078]], [[194738, 194738], "mapped", [25104]], [[194739, 194739], "mapped", [25115]], [[194740, 194740], "mapped", [25181]], [[194741, 194741], "mapped", [25265]], [[194742, 194742], "mapped", [25300]], [[194743, 194743], "mapped", [25424]], [[194744, 194744], "mapped", [142092]], [[194745, 194745], "mapped", [25405]], [[194746, 194746], "mapped", [25340]], [[194747, 194747], "mapped", [25448]], [[194748, 194748], "mapped", [25475]], [[194749, 194749], "mapped", [25572]], [[194750, 194750], "mapped", [142321]], [[194751, 194751], "mapped", [25634]], [[194752, 194752], "mapped", [25541]], [[194753, 194753], "mapped", [25513]], [[194754, 194754], "mapped", [14894]], [[194755, 194755], "mapped", [25705]], [[194756, 194756], "mapped", [25726]], [[194757, 194757], "mapped", [25757]], [[194758, 194758], "mapped", [25719]], [[194759, 194759], "mapped", [14956]], [[194760, 194760], "mapped", [25935]], [[194761, 194761], "mapped", [25964]], [[194762, 194762], "mapped", [143370]], [[194763, 194763], "mapped", [26083]], [[194764, 194764], "mapped", [26360]], [[194765, 194765], "mapped", [26185]], [[194766, 194766], "mapped", [15129]], [[194767, 194767], "mapped", [26257]], [[194768, 194768], "mapped", [15112]], [[194769, 194769], "mapped", [15076]], [[194770, 194770], "mapped", [20882]], [[194771, 194771], "mapped", [20885]], [[194772, 194772], "mapped", [26368]], [[194773, 194773], "mapped", [26268]], [[194774, 194774], "mapped", [32941]], [[194775, 194775], "mapped", [17369]], [[194776, 194776], "mapped", [26391]], [[194777, 194777], "mapped", [26395]], [[194778, 194778], "mapped", [26401]], [[194779, 194779], "mapped", [26462]], [[194780, 194780], "mapped", [26451]], [[194781, 194781], "mapped", [144323]], [[194782, 194782], "mapped", [15177]], [[194783, 194783], "mapped", [26618]], [[194784, 194784], "mapped", [26501]], [[194785, 194785], "mapped", [26706]], [[194786, 194786], "mapped", [26757]], [[194787, 194787], "mapped", [144493]], [[194788, 194788], "mapped", [26766]], [[194789, 194789], "mapped", [26655]], [[194790, 194790], "mapped", [26900]], [[194791, 194791], "mapped", [15261]], [[194792, 194792], "mapped", [26946]], [[194793, 194793], "mapped", [27043]], [[194794, 194794], "mapped", [27114]], [[194795, 194795], "mapped", [27304]], [[194796, 194796], "mapped", [145059]], [[194797, 194797], "mapped", [27355]], [[194798, 194798], "mapped", [15384]], [[194799, 194799], "mapped", [27425]], [[194800, 194800], "mapped", [145575]], [[194801, 194801], "mapped", [27476]], [[194802, 194802], "mapped", [15438]], [[194803, 194803], "mapped", [27506]], [[194804, 194804], "mapped", [27551]], [[194805, 194805], "mapped", [27578]], [[194806, 194806], "mapped", [27579]], [[194807, 194807], "mapped", [146061]], [[194808, 194808], "mapped", [138507]], [[194809, 194809], "mapped", [146170]], [[194810, 194810], "mapped", [27726]], [[194811, 194811], "mapped", [146620]], [[194812, 194812], "mapped", [27839]], [[194813, 194813], "mapped", [27853]], [[194814, 194814], "mapped", [27751]], [[194815, 194815], "mapped", [27926]], [[194816, 194816], "mapped", [27966]], [[194817, 194817], "mapped", [28023]], [[194818, 194818], "mapped", [27969]], [[194819, 194819], "mapped", [28009]], [[194820, 194820], "mapped", [28024]], [[194821, 194821], "mapped", [28037]], [[194822, 194822], "mapped", [146718]], [[194823, 194823], "mapped", [27956]], [[194824, 194824], "mapped", [28207]], [[194825, 194825], "mapped", [28270]], [[194826, 194826], "mapped", [15667]], [[194827, 194827], "mapped", [28363]], [[194828, 194828], "mapped", [28359]], [[194829, 194829], "mapped", [147153]], [[194830, 194830], "mapped", [28153]], [[194831, 194831], "mapped", [28526]], [[194832, 194832], "mapped", [147294]], [[194833, 194833], "mapped", [147342]], [[194834, 194834], "mapped", [28614]], [[194835, 194835], "mapped", [28729]], [[194836, 194836], "mapped", [28702]], [[194837, 194837], "mapped", [28699]], [[194838, 194838], "mapped", [15766]], [[194839, 194839], "mapped", [28746]], [[194840, 194840], "mapped", [28797]], [[194841, 194841], "mapped", [28791]], [[194842, 194842], "mapped", [28845]], [[194843, 194843], "mapped", [132389]], [[194844, 194844], "mapped", [28997]], [[194845, 194845], "mapped", [148067]], [[194846, 194846], "mapped", [29084]], [[194847, 194847], "disallowed"], [[194848, 194848], "mapped", [29224]], [[194849, 194849], "mapped", [29237]], [[194850, 194850], "mapped", [29264]], [[194851, 194851], "mapped", [149e3]], [[194852, 194852], "mapped", [29312]], [[194853, 194853], "mapped", [29333]], [[194854, 194854], "mapped", [149301]], [[194855, 194855], "mapped", [149524]], [[194856, 194856], "mapped", [29562]], [[194857, 194857], "mapped", [29579]], [[194858, 194858], "mapped", [16044]], [[194859, 194859], "mapped", [29605]], [[194860, 194861], "mapped", [16056]], [[194862, 194862], "mapped", [29767]], [[194863, 194863], "mapped", [29788]], [[194864, 194864], "mapped", [29809]], [[194865, 194865], "mapped", [29829]], [[194866, 194866], "mapped", [29898]], [[194867, 194867], "mapped", [16155]], [[194868, 194868], "mapped", [29988]], [[194869, 194869], "mapped", [150582]], [[194870, 194870], "mapped", [30014]], [[194871, 194871], "mapped", [150674]], [[194872, 194872], "mapped", [30064]], [[194873, 194873], "mapped", [139679]], [[194874, 194874], "mapped", [30224]], [[194875, 194875], "mapped", [151457]], [[194876, 194876], "mapped", [151480]], [[194877, 194877], "mapped", [151620]], [[194878, 194878], "mapped", [16380]], [[194879, 194879], "mapped", [16392]], [[194880, 194880], "mapped", [30452]], [[194881, 194881], "mapped", [151795]], [[194882, 194882], "mapped", [151794]], [[194883, 194883], "mapped", [151833]], [[194884, 194884], "mapped", [151859]], [[194885, 194885], "mapped", [30494]], [[194886, 194887], "mapped", [30495]], [[194888, 194888], "mapped", [30538]], [[194889, 194889], "mapped", [16441]], [[194890, 194890], "mapped", [30603]], [[194891, 194891], "mapped", [16454]], [[194892, 194892], "mapped", [16534]], [[194893, 194893], "mapped", [152605]], [[194894, 194894], "mapped", [30798]], [[194895, 194895], "mapped", [30860]], [[194896, 194896], "mapped", [30924]], [[194897, 194897], "mapped", [16611]], [[194898, 194898], "mapped", [153126]], [[194899, 194899], "mapped", [31062]], [[194900, 194900], "mapped", [153242]], [[194901, 194901], "mapped", [153285]], [[194902, 194902], "mapped", [31119]], [[194903, 194903], "mapped", [31211]], [[194904, 194904], "mapped", [16687]], [[194905, 194905], "mapped", [31296]], [[194906, 194906], "mapped", [31306]], [[194907, 194907], "mapped", [31311]], [[194908, 194908], "mapped", [153980]], [[194909, 194910], "mapped", [154279]], [[194911, 194911], "disallowed"], [[194912, 194912], "mapped", [16898]], [[194913, 194913], "mapped", [154539]], [[194914, 194914], "mapped", [31686]], [[194915, 194915], "mapped", [31689]], [[194916, 194916], "mapped", [16935]], [[194917, 194917], "mapped", [154752]], [[194918, 194918], "mapped", [31954]], [[194919, 194919], "mapped", [17056]], [[194920, 194920], "mapped", [31976]], [[194921, 194921], "mapped", [31971]], [[194922, 194922], "mapped", [32e3]], [[194923, 194923], "mapped", [155526]], [[194924, 194924], "mapped", [32099]], [[194925, 194925], "mapped", [17153]], [[194926, 194926], "mapped", [32199]], [[194927, 194927], "mapped", [32258]], [[194928, 194928], "mapped", [32325]], [[194929, 194929], "mapped", [17204]], [[194930, 194930], "mapped", [156200]], [[194931, 194931], "mapped", [156231]], [[194932, 194932], "mapped", [17241]], [[194933, 194933], "mapped", [156377]], [[194934, 194934], "mapped", [32634]], [[194935, 194935], "mapped", [156478]], [[194936, 194936], "mapped", [32661]], [[194937, 194937], "mapped", [32762]], [[194938, 194938], "mapped", [32773]], [[194939, 194939], "mapped", [156890]], [[194940, 194940], "mapped", [156963]], [[194941, 194941], "mapped", [32864]], [[194942, 194942], "mapped", [157096]], [[194943, 194943], "mapped", [32880]], [[194944, 194944], "mapped", [144223]], [[194945, 194945], "mapped", [17365]], [[194946, 194946], "mapped", [32946]], [[194947, 194947], "mapped", [33027]], [[194948, 194948], "mapped", [17419]], [[194949, 194949], "mapped", [33086]], [[194950, 194950], "mapped", [23221]], [[194951, 194951], "mapped", [157607]], [[194952, 194952], "mapped", [157621]], [[194953, 194953], "mapped", [144275]], [[194954, 194954], "mapped", [144284]], [[194955, 194955], "mapped", [33281]], [[194956, 194956], "mapped", [33284]], [[194957, 194957], "mapped", [36766]], [[194958, 194958], "mapped", [17515]], [[194959, 194959], "mapped", [33425]], [[194960, 194960], "mapped", [33419]], [[194961, 194961], "mapped", [33437]], [[194962, 194962], "mapped", [21171]], [[194963, 194963], "mapped", [33457]], [[194964, 194964], "mapped", [33459]], [[194965, 194965], "mapped", [33469]], [[194966, 194966], "mapped", [33510]], [[194967, 194967], "mapped", [158524]], [[194968, 194968], "mapped", [33509]], [[194969, 194969], "mapped", [33565]], [[194970, 194970], "mapped", [33635]], [[194971, 194971], "mapped", [33709]], [[194972, 194972], "mapped", [33571]], [[194973, 194973], "mapped", [33725]], [[194974, 194974], "mapped", [33767]], [[194975, 194975], "mapped", [33879]], [[194976, 194976], "mapped", [33619]], [[194977, 194977], "mapped", [33738]], [[194978, 194978], "mapped", [33740]], [[194979, 194979], "mapped", [33756]], [[194980, 194980], "mapped", [158774]], [[194981, 194981], "mapped", [159083]], [[194982, 194982], "mapped", [158933]], [[194983, 194983], "mapped", [17707]], [[194984, 194984], "mapped", [34033]], [[194985, 194985], "mapped", [34035]], [[194986, 194986], "mapped", [34070]], [[194987, 194987], "mapped", [160714]], [[194988, 194988], "mapped", [34148]], [[194989, 194989], "mapped", [159532]], [[194990, 194990], "mapped", [17757]], [[194991, 194991], "mapped", [17761]], [[194992, 194992], "mapped", [159665]], [[194993, 194993], "mapped", [159954]], [[194994, 194994], "mapped", [17771]], [[194995, 194995], "mapped", [34384]], [[194996, 194996], "mapped", [34396]], [[194997, 194997], "mapped", [34407]], [[194998, 194998], "mapped", [34409]], [[194999, 194999], "mapped", [34473]], [[195e3, 195e3], "mapped", [34440]], [[195001, 195001], "mapped", [34574]], [[195002, 195002], "mapped", [34530]], [[195003, 195003], "mapped", [34681]], [[195004, 195004], "mapped", [34600]], [[195005, 195005], "mapped", [34667]], [[195006, 195006], "mapped", [34694]], [[195007, 195007], "disallowed"], [[195008, 195008], "mapped", [34785]], [[195009, 195009], "mapped", [34817]], [[195010, 195010], "mapped", [17913]], [[195011, 195011], "mapped", [34912]], [[195012, 195012], "mapped", [34915]], [[195013, 195013], "mapped", [161383]], [[195014, 195014], "mapped", [35031]], [[195015, 195015], "mapped", [35038]], [[195016, 195016], "mapped", [17973]], [[195017, 195017], "mapped", [35066]], [[195018, 195018], "mapped", [13499]], [[195019, 195019], "mapped", [161966]], [[195020, 195020], "mapped", [162150]], [[195021, 195021], "mapped", [18110]], [[195022, 195022], "mapped", [18119]], [[195023, 195023], "mapped", [35488]], [[195024, 195024], "mapped", [35565]], [[195025, 195025], "mapped", [35722]], [[195026, 195026], "mapped", [35925]], [[195027, 195027], "mapped", [162984]], [[195028, 195028], "mapped", [36011]], [[195029, 195029], "mapped", [36033]], [[195030, 195030], "mapped", [36123]], [[195031, 195031], "mapped", [36215]], [[195032, 195032], "mapped", [163631]], [[195033, 195033], "mapped", [133124]], [[195034, 195034], "mapped", [36299]], [[195035, 195035], "mapped", [36284]], [[195036, 195036], "mapped", [36336]], [[195037, 195037], "mapped", [133342]], [[195038, 195038], "mapped", [36564]], [[195039, 195039], "mapped", [36664]], [[195040, 195040], "mapped", [165330]], [[195041, 195041], "mapped", [165357]], [[195042, 195042], "mapped", [37012]], [[195043, 195043], "mapped", [37105]], [[195044, 195044], "mapped", [37137]], [[195045, 195045], "mapped", [165678]], [[195046, 195046], "mapped", [37147]], [[195047, 195047], "mapped", [37432]], [[195048, 195048], "mapped", [37591]], [[195049, 195049], "mapped", [37592]], [[195050, 195050], "mapped", [37500]], [[195051, 195051], "mapped", [37881]], [[195052, 195052], "mapped", [37909]], [[195053, 195053], "mapped", [166906]], [[195054, 195054], "mapped", [38283]], [[195055, 195055], "mapped", [18837]], [[195056, 195056], "mapped", [38327]], [[195057, 195057], "mapped", [167287]], [[195058, 195058], "mapped", [18918]], [[195059, 195059], "mapped", [38595]], [[195060, 195060], "mapped", [23986]], [[195061, 195061], "mapped", [38691]], [[195062, 195062], "mapped", [168261]], [[195063, 195063], "mapped", [168474]], [[195064, 195064], "mapped", [19054]], [[195065, 195065], "mapped", [19062]], [[195066, 195066], "mapped", [38880]], [[195067, 195067], "mapped", [168970]], [[195068, 195068], "mapped", [19122]], [[195069, 195069], "mapped", [169110]], [[195070, 195071], "mapped", [38923]], [[195072, 195072], "mapped", [38953]], [[195073, 195073], "mapped", [169398]], [[195074, 195074], "mapped", [39138]], [[195075, 195075], "mapped", [19251]], [[195076, 195076], "mapped", [39209]], [[195077, 195077], "mapped", [39335]], [[195078, 195078], "mapped", [39362]], [[195079, 195079], "mapped", [39422]], [[195080, 195080], "mapped", [19406]], [[195081, 195081], "mapped", [170800]], [[195082, 195082], "mapped", [39698]], [[195083, 195083], "mapped", [4e4]], [[195084, 195084], "mapped", [40189]], [[195085, 195085], "mapped", [19662]], [[195086, 195086], "mapped", [19693]], [[195087, 195087], "mapped", [40295]], [[195088, 195088], "mapped", [172238]], [[195089, 195089], "mapped", [19704]], [[195090, 195090], "mapped", [172293]], [[195091, 195091], "mapped", [172558]], [[195092, 195092], "mapped", [172689]], [[195093, 195093], "mapped", [40635]], [[195094, 195094], "mapped", [19798]], [[195095, 195095], "mapped", [40697]], [[195096, 195096], "mapped", [40702]], [[195097, 195097], "mapped", [40709]], [[195098, 195098], "mapped", [40719]], [[195099, 195099], "mapped", [40726]], [[195100, 195100], "mapped", [40763]], [[195101, 195101], "mapped", [173568]], [[195102, 196605], "disallowed"], [[196606, 196607], "disallowed"], [[196608, 262141], "disallowed"], [[262142, 262143], "disallowed"], [[262144, 327677], "disallowed"], [[327678, 327679], "disallowed"], [[327680, 393213], "disallowed"], [[393214, 393215], "disallowed"], [[393216, 458749], "disallowed"], [[458750, 458751], "disallowed"], [[458752, 524285], "disallowed"], [[524286, 524287], "disallowed"], [[524288, 589821], "disallowed"], [[589822, 589823], "disallowed"], [[589824, 655357], "disallowed"], [[655358, 655359], "disallowed"], [[655360, 720893], "disallowed"], [[720894, 720895], "disallowed"], [[720896, 786429], "disallowed"], [[786430, 786431], "disallowed"], [[786432, 851965], "disallowed"], [[851966, 851967], "disallowed"], [[851968, 917501], "disallowed"], [[917502, 917503], "disallowed"], [[917504, 917504], "disallowed"], [[917505, 917505], "disallowed"], [[917506, 917535], "disallowed"], [[917536, 917631], "disallowed"], [[917632, 917759], "disallowed"], [[917760, 917999], "ignored"], [[918e3, 983037], "disallowed"], [[983038, 983039], "disallowed"], [[983040, 1048573], "disallowed"], [[1048574, 1048575], "disallowed"], [[1048576, 1114109], "disallowed"], [[1114110, 1114111], "disallowed"]];
}
});
// node_modules/node-fetch/node_modules/tr46/index.js
var require_tr46 = __commonJS({
"node_modules/node-fetch/node_modules/tr46/index.js"(exports2, module2) {
"use strict";
var punycode = require_punycode();
var mappingTable = require_mappingTable();
var PROCESSING_OPTIONS = {
TRANSITIONAL: 0,
NONTRANSITIONAL: 1
};
function normalize5(str2) {
return str2.split("\0").map(function(s2) {
return s2.normalize("NFC");
}).join("\0");
}
function findStatus(val) {
var start2 = 0;
var end = mappingTable.length - 1;
while (start2 <= end) {
var mid = Math.floor((start2 + end) / 2);
var target = mappingTable[mid];
if (target[0][0] <= val && target[0][1] >= val) {
return target;
} else if (target[0][0] > val) {
end = mid - 1;
} else {
start2 = mid + 1;
}
}
return null;
}
var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
function countSymbols(string4) {
return string4.replace(regexAstralSymbols, "_").length;
}
function mapChars(domain_name, useSTD3, processing_option) {
var hasError2 = false;
var processed = "";
var len = countSymbols(domain_name);
for (var i3 = 0; i3 < len; ++i3) {
var codePoint = domain_name.codePointAt(i3);
var status2 = findStatus(codePoint);
switch (status2[1]) {
case "disallowed":
hasError2 = true;
processed += String.fromCodePoint(codePoint);
break;
case "ignored":
break;
case "mapped":
processed += String.fromCodePoint.apply(String, status2[2]);
break;
case "deviation":
if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {
processed += String.fromCodePoint.apply(String, status2[2]);
} else {
processed += String.fromCodePoint(codePoint);
}
break;
case "valid":
processed += String.fromCodePoint(codePoint);
break;
case "disallowed_STD3_mapped":
if (useSTD3) {
hasError2 = true;
processed += String.fromCodePoint(codePoint);
} else {
processed += String.fromCodePoint.apply(String, status2[2]);
}
break;
case "disallowed_STD3_valid":
if (useSTD3) {
hasError2 = true;
}
processed += String.fromCodePoint(codePoint);
break;
}
}
return {
string: processed,
error: hasError2
};
}
var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;
function validateLabel(label, processing_option) {
if (label.substr(0, 4) === "xn--") {
label = punycode.toUnicode(label);
processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;
}
var error40 = false;
if (normalize5(label) !== label || label[3] === "-" && label[4] === "-" || label[0] === "-" || label[label.length - 1] === "-" || label.indexOf(".") !== -1 || label.search(combiningMarksRegex) === 0) {
error40 = true;
}
var len = countSymbols(label);
for (var i3 = 0; i3 < len; ++i3) {
var status2 = findStatus(label.codePointAt(i3));
if (processing === PROCESSING_OPTIONS.TRANSITIONAL && status2[1] !== "valid" || processing === PROCESSING_OPTIONS.NONTRANSITIONAL && status2[1] !== "valid" && status2[1] !== "deviation") {
error40 = true;
break;
}
}
return {
label,
error: error40
};
}
function processing(domain_name, useSTD3, processing_option) {
var result2 = mapChars(domain_name, useSTD3, processing_option);
result2.string = normalize5(result2.string);
var labels = result2.string.split(".");
for (var i3 = 0; i3 < labels.length; ++i3) {
try {
var validation = validateLabel(labels[i3]);
labels[i3] = validation.label;
result2.error = result2.error || validation.error;
} catch (e2) {
result2.error = true;
}
}
return {
string: labels.join("."),
error: result2.error
};
}
module2.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {
var result2 = processing(domain_name, useSTD3, processing_option);
var labels = result2.string.split(".");
labels = labels.map(function(l2) {
try {
return punycode.toASCII(l2);
} catch (e2) {
result2.error = true;
return l2;
}
});
if (verifyDnsLength) {
var total = labels.slice(0, labels.length - 1).join(".").length;
if (total.length > 253 || total.length === 0) {
result2.error = true;
}
for (var i3 = 0; i3 < labels.length; ++i3) {
if (labels.length > 63 || labels.length === 0) {
result2.error = true;
break;
}
}
}
if (result2.error) return null;
return labels.join(".");
};
module2.exports.toUnicode = function(domain_name, useSTD3) {
var result2 = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);
return {
domain: result2.string,
error: result2.error
};
};
module2.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;
}
});
// node_modules/node-fetch/node_modules/whatwg-url/lib/url-state-machine.js
var require_url_state_machine = __commonJS({
"node_modules/node-fetch/node_modules/whatwg-url/lib/url-state-machine.js"(exports2, module2) {
"use strict";
var punycode = require_punycode();
var tr46 = require_tr46();
var specialSchemes = {
ftp: 21,
file: null,
gopher: 70,
http: 80,
https: 443,
ws: 80,
wss: 443
};
var failure = Symbol("failure");
function countSymbols(str2) {
return punycode.ucs2.decode(str2).length;
}
function at(input, idx) {
const c4 = input[idx];
return isNaN(c4) ? void 0 : String.fromCodePoint(c4);
}
function isASCIIDigit(c4) {
return c4 >= 48 && c4 <= 57;
}
function isASCIIAlpha2(c4) {
return c4 >= 65 && c4 <= 90 || c4 >= 97 && c4 <= 122;
}
function isASCIIAlphanumeric(c4) {
return isASCIIAlpha2(c4) || isASCIIDigit(c4);
}
function isASCIIHex(c4) {
return isASCIIDigit(c4) || c4 >= 65 && c4 <= 70 || c4 >= 97 && c4 <= 102;
}
function isSingleDot(buffer) {
return buffer === "." || buffer.toLowerCase() === "%2e";
}
function isDoubleDot(buffer) {
buffer = buffer.toLowerCase();
return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e";
}
function isWindowsDriveLetterCodePoints(cp1, cp2) {
return isASCIIAlpha2(cp1) && (cp2 === 58 || cp2 === 124);
}
function isWindowsDriveLetterString(string4) {
return string4.length === 2 && isASCIIAlpha2(string4.codePointAt(0)) && (string4[1] === ":" || string4[1] === "|");
}
function isNormalizedWindowsDriveLetterString(string4) {
return string4.length === 2 && isASCIIAlpha2(string4.codePointAt(0)) && string4[1] === ":";
}
function containsForbiddenHostCodePoint(string4) {
return string4.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1;
}
function containsForbiddenHostCodePointExcludingPercent(string4) {
return string4.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1;
}
function isSpecialScheme(scheme) {
return specialSchemes[scheme] !== void 0;
}
function isSpecial(url3) {
return isSpecialScheme(url3.scheme);
}
function defaultPort(scheme) {
return specialSchemes[scheme];
}
function percentEncode(c4) {
let hex = c4.toString(16).toUpperCase();
if (hex.length === 1) {
hex = "0" + hex;
}
return "%" + hex;
}
function utf8PercentEncode(c4) {
const buf = new Buffer(c4);
let str2 = "";
for (let i3 = 0; i3 < buf.length; ++i3) {
str2 += percentEncode(buf[i3]);
}
return str2;
}
function utf8PercentDecode(str2) {
const input = new Buffer(str2);
const output = [];
for (let i3 = 0; i3 < input.length; ++i3) {
if (input[i3] !== 37) {
output.push(input[i3]);
} else if (input[i3] === 37 && isASCIIHex(input[i3 + 1]) && isASCIIHex(input[i3 + 2])) {
output.push(parseInt(input.slice(i3 + 1, i3 + 3).toString(), 16));
i3 += 2;
} else {
output.push(input[i3]);
}
}
return new Buffer(output).toString();
}
function isC0ControlPercentEncode(c4) {
return c4 <= 31 || c4 > 126;
}
var extraPathPercentEncodeSet = /* @__PURE__ */ new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);
function isPathPercentEncode(c4) {
return isC0ControlPercentEncode(c4) || extraPathPercentEncodeSet.has(c4);
}
var extraUserinfoPercentEncodeSet = /* @__PURE__ */ new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);
function isUserinfoPercentEncode(c4) {
return isPathPercentEncode(c4) || extraUserinfoPercentEncodeSet.has(c4);
}
function percentEncodeChar(c4, encodeSetPredicate) {
const cStr = String.fromCodePoint(c4);
if (encodeSetPredicate(c4)) {
return utf8PercentEncode(cStr);
}
return cStr;
}
function parseIPv4Number(input) {
let R = 10;
if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") {
input = input.substring(2);
R = 16;
} else if (input.length >= 2 && input.charAt(0) === "0") {
input = input.substring(1);
R = 8;
}
if (input === "") {
return 0;
}
const regex2 = R === 10 ? /[^0-9]/ : R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/;
if (regex2.test(input)) {
return failure;
}
return parseInt(input, R);
}
function parseIPv4(input) {
const parts2 = input.split(".");
if (parts2[parts2.length - 1] === "") {
if (parts2.length > 1) {
parts2.pop();
}
}
if (parts2.length > 4) {
return input;
}
const numbers = [];
for (const part of parts2) {
if (part === "") {
return input;
}
const n3 = parseIPv4Number(part);
if (n3 === failure) {
return input;
}
numbers.push(n3);
}
for (let i3 = 0; i3 < numbers.length - 1; ++i3) {
if (numbers[i3] > 255) {
return failure;
}
}
if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {
return failure;
}
let ipv43 = numbers.pop();
let counter = 0;
for (const n3 of numbers) {
ipv43 += n3 * Math.pow(256, 3 - counter);
++counter;
}
return ipv43;
}
function serializeIPv4(address) {
let output = "";
let n3 = address;
for (let i3 = 1; i3 <= 4; ++i3) {
output = String(n3 % 256) + output;
if (i3 !== 4) {
output = "." + output;
}
n3 = Math.floor(n3 / 256);
}
return output;
}
function parseIPv6(input) {
const address = [0, 0, 0, 0, 0, 0, 0, 0];
let pieceIndex = 0;
let compress = null;
let pointer = 0;
input = punycode.ucs2.decode(input);
if (input[pointer] === 58) {
if (input[pointer + 1] !== 58) {
return failure;
}
pointer += 2;
++pieceIndex;
compress = pieceIndex;
}
while (pointer < input.length) {
if (pieceIndex === 8) {
return failure;
}
if (input[pointer] === 58) {
if (compress !== null) {
return failure;
}
++pointer;
++pieceIndex;
compress = pieceIndex;
continue;
}
let value = 0;
let length = 0;
while (length < 4 && isASCIIHex(input[pointer])) {
value = value * 16 + parseInt(at(input, pointer), 16);
++pointer;
++length;
}
if (input[pointer] === 46) {
if (length === 0) {
return failure;
}
pointer -= length;
if (pieceIndex > 6) {
return failure;
}
let numbersSeen = 0;
while (input[pointer] !== void 0) {
let ipv4Piece = null;
if (numbersSeen > 0) {
if (input[pointer] === 46 && numbersSeen < 4) {
++pointer;
} else {
return failure;
}
}
if (!isASCIIDigit(input[pointer])) {
return failure;
}
while (isASCIIDigit(input[pointer])) {
const number4 = parseInt(at(input, pointer));
if (ipv4Piece === null) {
ipv4Piece = number4;
} else if (ipv4Piece === 0) {
return failure;
} else {
ipv4Piece = ipv4Piece * 10 + number4;
}
if (ipv4Piece > 255) {
return failure;
}
++pointer;
}
address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
++numbersSeen;
if (numbersSeen === 2 || numbersSeen === 4) {
++pieceIndex;
}
}
if (numbersSeen !== 4) {
return failure;
}
break;
} else if (input[pointer] === 58) {
++pointer;
if (input[pointer] === void 0) {
return failure;
}
} else if (input[pointer] !== void 0) {
return failure;
}
address[pieceIndex] = value;
++pieceIndex;
}
if (compress !== null) {
let swaps = pieceIndex - compress;
pieceIndex = 7;
while (pieceIndex !== 0 && swaps > 0) {
const temp = address[compress + swaps - 1];
address[compress + swaps - 1] = address[pieceIndex];
address[pieceIndex] = temp;
--pieceIndex;
--swaps;
}
} else if (compress === null && pieceIndex !== 8) {
return failure;
}
return address;
}
function serializeIPv6(address) {
let output = "";
const seqResult = findLongestZeroSequence(address);
const compress = seqResult.idx;
let ignore0 = false;
for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {
if (ignore0 && address[pieceIndex] === 0) {
continue;
} else if (ignore0) {
ignore0 = false;
}
if (compress === pieceIndex) {
const separator = pieceIndex === 0 ? "::" : ":";
output += separator;
ignore0 = true;
continue;
}
output += address[pieceIndex].toString(16);
if (pieceIndex !== 7) {
output += ":";
}
}
return output;
}
function parseHost(input, isSpecialArg) {
if (input[0] === "[") {
if (input[input.length - 1] !== "]") {
return failure;
}
return parseIPv6(input.substring(1, input.length - 1));
}
if (!isSpecialArg) {
return parseOpaqueHost(input);
}
const domain2 = utf8PercentDecode(input);
const asciiDomain = tr46.toASCII(domain2, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);
if (asciiDomain === null) {
return failure;
}
if (containsForbiddenHostCodePoint(asciiDomain)) {
return failure;
}
const ipv4Host = parseIPv4(asciiDomain);
if (typeof ipv4Host === "number" || ipv4Host === failure) {
return ipv4Host;
}
return asciiDomain;
}
function parseOpaqueHost(input) {
if (containsForbiddenHostCodePointExcludingPercent(input)) {
return failure;
}
let output = "";
const decoded = punycode.ucs2.decode(input);
for (let i3 = 0; i3 < decoded.length; ++i3) {
output += percentEncodeChar(decoded[i3], isC0ControlPercentEncode);
}
return output;
}
function findLongestZeroSequence(arr) {
let maxIdx = null;
let maxLen = 1;
let currStart = null;
let currLen = 0;
for (let i3 = 0; i3 < arr.length; ++i3) {
if (arr[i3] !== 0) {
if (currLen > maxLen) {
maxIdx = currStart;
maxLen = currLen;
}
currStart = null;
currLen = 0;
} else {
if (currStart === null) {
currStart = i3;
}
++currLen;
}
}
if (currLen > maxLen) {
maxIdx = currStart;
maxLen = currLen;
}
return {
idx: maxIdx,
len: maxLen
};
}
function serializeHost(host) {
if (typeof host === "number") {
return serializeIPv4(host);
}
if (host instanceof Array) {
return "[" + serializeIPv6(host) + "]";
}
return host;
}
function trimControlChars(url3) {
return url3.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, "");
}
function trimTabAndNewline(url3) {
return url3.replace(/\u0009|\u000A|\u000D/g, "");
}
function shortenPath2(url3) {
const path101 = url3.path;
if (path101.length === 0) {
return;
}
if (url3.scheme === "file" && path101.length === 1 && isNormalizedWindowsDriveLetter(path101[0])) {
return;
}
path101.pop();
}
function includesCredentials(url3) {
return url3.username !== "" || url3.password !== "";
}
function cannotHaveAUsernamePasswordPort(url3) {
return url3.host === null || url3.host === "" || url3.cannotBeABaseURL || url3.scheme === "file";
}
function isNormalizedWindowsDriveLetter(string4) {
return /^[A-Za-z]:$/.test(string4);
}
function URLStateMachine(input, base, encodingOverride, url3, stateOverride) {
this.pointer = 0;
this.input = input;
this.base = base || null;
this.encodingOverride = encodingOverride || "utf-8";
this.stateOverride = stateOverride;
this.url = url3;
this.failure = false;
this.parseError = false;
if (!this.url) {
this.url = {
scheme: "",
username: "",
password: "",
host: null,
port: null,
path: [],
query: null,
fragment: null,
cannotBeABaseURL: false
};
const res2 = trimControlChars(this.input);
if (res2 !== this.input) {
this.parseError = true;
}
this.input = res2;
}
const res = trimTabAndNewline(this.input);
if (res !== this.input) {
this.parseError = true;
}
this.input = res;
this.state = stateOverride || "scheme start";
this.buffer = "";
this.atFlag = false;
this.arrFlag = false;
this.passwordTokenSeenFlag = false;
this.input = punycode.ucs2.decode(this.input);
for (; this.pointer <= this.input.length; ++this.pointer) {
const c4 = this.input[this.pointer];
const cStr = isNaN(c4) ? void 0 : String.fromCodePoint(c4);
const ret = this["parse " + this.state](c4, cStr);
if (!ret) {
break;
} else if (ret === failure) {
this.failure = true;
break;
}
}
}
URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c4, cStr) {
if (isASCIIAlpha2(c4)) {
this.buffer += cStr.toLowerCase();
this.state = "scheme";
} else if (!this.stateOverride) {
this.state = "no scheme";
--this.pointer;
} else {
this.parseError = true;
return failure;
}
return true;
};
URLStateMachine.prototype["parse scheme"] = function parseScheme(c4, cStr) {
if (isASCIIAlphanumeric(c4) || c4 === 43 || c4 === 45 || c4 === 46) {
this.buffer += cStr.toLowerCase();
} else if (c4 === 58) {
if (this.stateOverride) {
if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {
return false;
}
if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {
return false;
}
if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") {
return false;
}
if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) {
return false;
}
}
this.url.scheme = this.buffer;
this.buffer = "";
if (this.stateOverride) {
return false;
}
if (this.url.scheme === "file") {
if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {
this.parseError = true;
}
this.state = "file";
} else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {
this.state = "special relative or authority";
} else if (isSpecial(this.url)) {
this.state = "special authority slashes";
} else if (this.input[this.pointer + 1] === 47) {
this.state = "path or authority";
++this.pointer;
} else {
this.url.cannotBeABaseURL = true;
this.url.path.push("");
this.state = "cannot-be-a-base-URL path";
}
} else if (!this.stateOverride) {
this.buffer = "";
this.state = "no scheme";
this.pointer = -1;
} else {
this.parseError = true;
return failure;
}
return true;
};
URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c4) {
if (this.base === null || this.base.cannotBeABaseURL && c4 !== 35) {
return failure;
} else if (this.base.cannotBeABaseURL && c4 === 35) {
this.url.scheme = this.base.scheme;
this.url.path = this.base.path.slice();
this.url.query = this.base.query;
this.url.fragment = "";
this.url.cannotBeABaseURL = true;
this.state = "fragment";
} else if (this.base.scheme === "file") {
this.state = "file";
--this.pointer;
} else {
this.state = "relative";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c4) {
if (c4 === 47 && this.input[this.pointer + 1] === 47) {
this.state = "special authority ignore slashes";
++this.pointer;
} else {
this.parseError = true;
this.state = "relative";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c4) {
if (c4 === 47) {
this.state = "authority";
} else {
this.state = "path";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse relative"] = function parseRelative(c4) {
this.url.scheme = this.base.scheme;
if (isNaN(c4)) {
this.url.username = this.base.username;
this.url.password = this.base.password;
this.url.host = this.base.host;
this.url.port = this.base.port;
this.url.path = this.base.path.slice();
this.url.query = this.base.query;
} else if (c4 === 47) {
this.state = "relative slash";
} else if (c4 === 63) {
this.url.username = this.base.username;
this.url.password = this.base.password;
this.url.host = this.base.host;
this.url.port = this.base.port;
this.url.path = this.base.path.slice();
this.url.query = "";
this.state = "query";
} else if (c4 === 35) {
this.url.username = this.base.username;
this.url.password = this.base.password;
this.url.host = this.base.host;
this.url.port = this.base.port;
this.url.path = this.base.path.slice();
this.url.query = this.base.query;
this.url.fragment = "";
this.state = "fragment";
} else if (isSpecial(this.url) && c4 === 92) {
this.parseError = true;
this.state = "relative slash";
} else {
this.url.username = this.base.username;
this.url.password = this.base.password;
this.url.host = this.base.host;
this.url.port = this.base.port;
this.url.path = this.base.path.slice(0, this.base.path.length - 1);
this.state = "path";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c4) {
if (isSpecial(this.url) && (c4 === 47 || c4 === 92)) {
if (c4 === 92) {
this.parseError = true;
}
this.state = "special authority ignore slashes";
} else if (c4 === 47) {
this.state = "authority";
} else {
this.url.username = this.base.username;
this.url.password = this.base.password;
this.url.host = this.base.host;
this.url.port = this.base.port;
this.state = "path";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c4) {
if (c4 === 47 && this.input[this.pointer + 1] === 47) {
this.state = "special authority ignore slashes";
++this.pointer;
} else {
this.parseError = true;
this.state = "special authority ignore slashes";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c4) {
if (c4 !== 47 && c4 !== 92) {
this.state = "authority";
--this.pointer;
} else {
this.parseError = true;
}
return true;
};
URLStateMachine.prototype["parse authority"] = function parseAuthority(c4, cStr) {
if (c4 === 64) {
this.parseError = true;
if (this.atFlag) {
this.buffer = "%40" + this.buffer;
}
this.atFlag = true;
const len = countSymbols(this.buffer);
for (let pointer = 0; pointer < len; ++pointer) {
const codePoint = this.buffer.codePointAt(pointer);
if (codePoint === 58 && !this.passwordTokenSeenFlag) {
this.passwordTokenSeenFlag = true;
continue;
}
const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);
if (this.passwordTokenSeenFlag) {
this.url.password += encodedCodePoints;
} else {
this.url.username += encodedCodePoints;
}
}
this.buffer = "";
} else if (isNaN(c4) || c4 === 47 || c4 === 63 || c4 === 35 || isSpecial(this.url) && c4 === 92) {
if (this.atFlag && this.buffer === "") {
this.parseError = true;
return failure;
}
this.pointer -= countSymbols(this.buffer) + 1;
this.buffer = "";
this.state = "host";
} else {
this.buffer += cStr;
}
return true;
};
URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c4, cStr) {
if (this.stateOverride && this.url.scheme === "file") {
--this.pointer;
this.state = "file host";
} else if (c4 === 58 && !this.arrFlag) {
if (this.buffer === "") {
this.parseError = true;
return failure;
}
const host = parseHost(this.buffer, isSpecial(this.url));
if (host === failure) {
return failure;
}
this.url.host = host;
this.buffer = "";
this.state = "port";
if (this.stateOverride === "hostname") {
return false;
}
} else if (isNaN(c4) || c4 === 47 || c4 === 63 || c4 === 35 || isSpecial(this.url) && c4 === 92) {
--this.pointer;
if (isSpecial(this.url) && this.buffer === "") {
this.parseError = true;
return failure;
} else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) {
this.parseError = true;
return false;
}
const host = parseHost(this.buffer, isSpecial(this.url));
if (host === failure) {
return failure;
}
this.url.host = host;
this.buffer = "";
this.state = "path start";
if (this.stateOverride) {
return false;
}
} else {
if (c4 === 91) {
this.arrFlag = true;
} else if (c4 === 93) {
this.arrFlag = false;
}
this.buffer += cStr;
}
return true;
};
URLStateMachine.prototype["parse port"] = function parsePort(c4, cStr) {
if (isASCIIDigit(c4)) {
this.buffer += cStr;
} else if (isNaN(c4) || c4 === 47 || c4 === 63 || c4 === 35 || isSpecial(this.url) && c4 === 92 || this.stateOverride) {
if (this.buffer !== "") {
const port = parseInt(this.buffer);
if (port > Math.pow(2, 16) - 1) {
this.parseError = true;
return failure;
}
this.url.port = port === defaultPort(this.url.scheme) ? null : port;
this.buffer = "";
}
if (this.stateOverride) {
return false;
}
this.state = "path start";
--this.pointer;
} else {
this.parseError = true;
return failure;
}
return true;
};
var fileOtherwiseCodePoints = /* @__PURE__ */ new Set([47, 92, 63, 35]);
URLStateMachine.prototype["parse file"] = function parseFile(c4) {
this.url.scheme = "file";
if (c4 === 47 || c4 === 92) {
if (c4 === 92) {
this.parseError = true;
}
this.state = "file slash";
} else if (this.base !== null && this.base.scheme === "file") {
if (isNaN(c4)) {
this.url.host = this.base.host;
this.url.path = this.base.path.slice();
this.url.query = this.base.query;
} else if (c4 === 63) {
this.url.host = this.base.host;
this.url.path = this.base.path.slice();
this.url.query = "";
this.state = "query";
} else if (c4 === 35) {
this.url.host = this.base.host;
this.url.path = this.base.path.slice();
this.url.query = this.base.query;
this.url.fragment = "";
this.state = "fragment";
} else {
if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points
!isWindowsDriveLetterCodePoints(c4, this.input[this.pointer + 1]) || this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points
!fileOtherwiseCodePoints.has(this.input[this.pointer + 2])) {
this.url.host = this.base.host;
this.url.path = this.base.path.slice();
shortenPath2(this.url);
} else {
this.parseError = true;
}
this.state = "path";
--this.pointer;
}
} else {
this.state = "path";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c4) {
if (c4 === 47 || c4 === 92) {
if (c4 === 92) {
this.parseError = true;
}
this.state = "file host";
} else {
if (this.base !== null && this.base.scheme === "file") {
if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {
this.url.path.push(this.base.path[0]);
} else {
this.url.host = this.base.host;
}
}
this.state = "path";
--this.pointer;
}
return true;
};
URLStateMachine.prototype["parse file host"] = function parseFileHost(c4, cStr) {
if (isNaN(c4) || c4 === 47 || c4 === 92 || c4 === 63 || c4 === 35) {
--this.pointer;
if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {
this.parseError = true;
this.state = "path";
} else if (this.buffer === "") {
this.url.host = "";
if (this.stateOverride) {
return false;
}
this.state = "path start";
} else {
let host = parseHost(this.buffer, isSpecial(this.url));
if (host === failure) {
return failure;
}
if (host === "localhost") {
host = "";
}
this.url.host = host;
if (this.stateOverride) {
return false;
}
this.buffer = "";
this.state = "path start";
}
} else {
this.buffer += cStr;
}
return true;
};
URLStateMachine.prototype["parse path start"] = function parsePathStart(c4) {
if (isSpecial(this.url)) {
if (c4 === 92) {
this.parseError = true;
}
this.state = "path";
if (c4 !== 47 && c4 !== 92) {
--this.pointer;
}
} else if (!this.stateOverride && c4 === 63) {
this.url.query = "";
this.state = "query";
} else if (!this.stateOverride && c4 === 35) {
this.url.fragment = "";
this.state = "fragment";
} else if (c4 !== void 0) {
this.state = "path";
if (c4 !== 47) {
--this.pointer;
}
}
return true;
};
URLStateMachine.prototype["parse path"] = function parsePath(c4) {
if (isNaN(c4) || c4 === 47 || isSpecial(this.url) && c4 === 92 || !this.stateOverride && (c4 === 63 || c4 === 35)) {
if (isSpecial(this.url) && c4 === 92) {
this.parseError = true;
}
if (isDoubleDot(this.buffer)) {
shortenPath2(this.url);
if (c4 !== 47 && !(isSpecial(this.url) && c4 === 92)) {
this.url.path.push("");
}
} else if (isSingleDot(this.buffer) && c4 !== 47 && !(isSpecial(this.url) && c4 === 92)) {
this.url.path.push("");
} else if (!isSingleDot(this.buffer)) {
if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {
if (this.url.host !== "" && this.url.host !== null) {
this.parseError = true;
this.url.host = "";
}
this.buffer = this.buffer[0] + ":";
}
this.url.path.push(this.buffer);
}
this.buffer = "";
if (this.url.scheme === "file" && (c4 === void 0 || c4 === 63 || c4 === 35)) {
while (this.url.path.length > 1 && this.url.path[0] === "") {
this.parseError = true;
this.url.path.shift();
}
}
if (c4 === 63) {
this.url.query = "";
this.state = "query";
}
if (c4 === 35) {
this.url.fragment = "";
this.state = "fragment";
}
} else {
if (c4 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) {
this.parseError = true;
}
this.buffer += percentEncodeChar(c4, isPathPercentEncode);
}
return true;
};
URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c4) {
if (c4 === 63) {
this.url.query = "";
this.state = "query";
} else if (c4 === 35) {
this.url.fragment = "";
this.state = "fragment";
} else {
if (!isNaN(c4) && c4 !== 37) {
this.parseError = true;
}
if (c4 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) {
this.parseError = true;
}
if (!isNaN(c4)) {
this.url.path[0] = this.url.path[0] + percentEncodeChar(c4, isC0ControlPercentEncode);
}
}
return true;
};
URLStateMachine.prototype["parse query"] = function parseQuery(c4, cStr) {
if (isNaN(c4) || !this.stateOverride && c4 === 35) {
if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") {
this.encodingOverride = "utf-8";
}
const buffer = new Buffer(this.buffer);
for (let i3 = 0; i3 < buffer.length; ++i3) {
if (buffer[i3] < 33 || buffer[i3] > 126 || buffer[i3] === 34 || buffer[i3] === 35 || buffer[i3] === 60 || buffer[i3] === 62) {
this.url.query += percentEncode(buffer[i3]);
} else {
this.url.query += String.fromCodePoint(buffer[i3]);
}
}
this.buffer = "";
if (c4 === 35) {
this.url.fragment = "";
this.state = "fragment";
}
} else {
if (c4 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) {
this.parseError = true;
}
this.buffer += cStr;
}
return true;
};
URLStateMachine.prototype["parse fragment"] = function parseFragment(c4) {
if (isNaN(c4)) {
} else if (c4 === 0) {
this.parseError = true;
} else {
if (c4 === 37 && (!isASCIIHex(this.input[this.pointer + 1]) || !isASCIIHex(this.input[this.pointer + 2]))) {
this.parseError = true;
}
this.url.fragment += percentEncodeChar(c4, isC0ControlPercentEncode);
}
return true;
};
function serializeURL(url3, excludeFragment) {
let output = url3.scheme + ":";
if (url3.host !== null) {
output += "//";
if (url3.username !== "" || url3.password !== "") {
output += url3.username;
if (url3.password !== "") {
output += ":" + url3.password;
}
output += "@";
}
output += serializeHost(url3.host);
if (url3.port !== null) {
output += ":" + url3.port;
}
} else if (url3.host === null && url3.scheme === "file") {
output += "//";
}
if (url3.cannotBeABaseURL) {
output += url3.path[0];
} else {
for (const string4 of url3.path) {
output += "/" + string4;
}
}
if (url3.query !== null) {
output += "?" + url3.query;
}
if (!excludeFragment && url3.fragment !== null) {
output += "#" + url3.fragment;
}
return output;
}
function serializeOrigin(tuple2) {
let result2 = tuple2.scheme + "://";
result2 += serializeHost(tuple2.host);
if (tuple2.port !== null) {
result2 += ":" + tuple2.port;
}
return result2;
}
module2.exports.serializeURL = serializeURL;
module2.exports.serializeURLOrigin = function(url3) {
switch (url3.scheme) {
case "blob":
try {
return module2.exports.serializeURLOrigin(module2.exports.parseURL(url3.path[0]));
} catch (e2) {
return "null";
}
case "ftp":
case "gopher":
case "http":
case "https":
case "ws":
case "wss":
return serializeOrigin({
scheme: url3.scheme,
host: url3.host,
port: url3.port
});
case "file":
return "file://";
default:
return "null";
}
};
module2.exports.basicURLParse = function(input, options) {
if (options === void 0) {
options = {};
}
const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);
if (usm.failure) {
return "failure";
}
return usm.url;
};
module2.exports.setTheUsername = function(url3, username) {
url3.username = "";
const decoded = punycode.ucs2.decode(username);
for (let i3 = 0; i3 < decoded.length; ++i3) {
url3.username += percentEncodeChar(decoded[i3], isUserinfoPercentEncode);
}
};
module2.exports.setThePassword = function(url3, password) {
url3.password = "";
const decoded = punycode.ucs2.decode(password);
for (let i3 = 0; i3 < decoded.length; ++i3) {
url3.password += percentEncodeChar(decoded[i3], isUserinfoPercentEncode);
}
};
module2.exports.serializeHost = serializeHost;
module2.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;
module2.exports.serializeInteger = function(integer2) {
return String(integer2);
};
module2.exports.parseURL = function(input, options) {
if (options === void 0) {
options = {};
}
return module2.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });
};
}
});
// node_modules/node-fetch/node_modules/whatwg-url/lib/URL-impl.js
var require_URL_impl = __commonJS({
"node_modules/node-fetch/node_modules/whatwg-url/lib/URL-impl.js"(exports2) {
"use strict";
var usm = require_url_state_machine();
exports2.implementation = class URLImpl {
constructor(constructorArgs) {
const url3 = constructorArgs[0];
const base = constructorArgs[1];
let parsedBase = null;
if (base !== void 0) {
parsedBase = usm.basicURLParse(base);
if (parsedBase === "failure") {
throw new TypeError("Invalid base URL");
}
}
const parsedURL = usm.basicURLParse(url3, { baseURL: parsedBase });
if (parsedURL === "failure") {
throw new TypeError("Invalid URL");
}
this._url = parsedURL;
}
get href() {
return usm.serializeURL(this._url);
}
set href(v) {
const parsedURL = usm.basicURLParse(v);
if (parsedURL === "failure") {
throw new TypeError("Invalid URL");
}
this._url = parsedURL;
}
get origin() {
return usm.serializeURLOrigin(this._url);
}
get protocol() {
return this._url.scheme + ":";
}
set protocol(v) {
usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" });
}
get username() {
return this._url.username;
}
set username(v) {
if (usm.cannotHaveAUsernamePasswordPort(this._url)) {
return;
}
usm.setTheUsername(this._url, v);
}
get password() {
return this._url.password;
}
set password(v) {
if (usm.cannotHaveAUsernamePasswordPort(this._url)) {
return;
}
usm.setThePassword(this._url, v);
}
get host() {
const url3 = this._url;
if (url3.host === null) {
return "";
}
if (url3.port === null) {
return usm.serializeHost(url3.host);
}
return usm.serializeHost(url3.host) + ":" + usm.serializeInteger(url3.port);
}
set host(v) {
if (this._url.cannotBeABaseURL) {
return;
}
usm.basicURLParse(v, { url: this._url, stateOverride: "host" });
}
get hostname() {
if (this._url.host === null) {
return "";
}
return usm.serializeHost(this._url.host);
}
set hostname(v) {
if (this._url.cannotBeABaseURL) {
return;
}
usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" });
}
get port() {
if (this._url.port === null) {
return "";
}
return usm.serializeInteger(this._url.port);
}
set port(v) {
if (usm.cannotHaveAUsernamePasswordPort(this._url)) {
return;
}
if (v === "") {
this._url.port = null;
} else {
usm.basicURLParse(v, { url: this._url, stateOverride: "port" });
}
}
get pathname() {
if (this._url.cannotBeABaseURL) {
return this._url.path[0];
}
if (this._url.path.length === 0) {
return "";
}
return "/" + this._url.path.join("/");
}
set pathname(v) {
if (this._url.cannotBeABaseURL) {
return;
}
this._url.path = [];
usm.basicURLParse(v, { url: this._url, stateOverride: "path start" });
}
get search() {
if (this._url.query === null || this._url.query === "") {
return "";
}
return "?" + this._url.query;
}
set search(v) {
const url3 = this._url;
if (v === "") {
url3.query = null;
return;
}
const input = v[0] === "?" ? v.substring(1) : v;
url3.query = "";
usm.basicURLParse(input, { url: url3, stateOverride: "query" });
}
get hash() {
if (this._url.fragment === null || this._url.fragment === "") {
return "";
}
return "#" + this._url.fragment;
}
set hash(v) {
if (v === "") {
this._url.fragment = null;
return;
}
const input = v[0] === "#" ? v.substring(1) : v;
this._url.fragment = "";
usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" });
}
toJSON() {
return this.href;
}
};
}
});
// node_modules/node-fetch/node_modules/whatwg-url/lib/URL.js
var require_URL = __commonJS({
"node_modules/node-fetch/node_modules/whatwg-url/lib/URL.js"(exports2, module2) {
"use strict";
var conversions = require_lib2();
var utils = require_utils();
var Impl = require_URL_impl();
var impl = utils.implSymbol;
function URL8(url3) {
if (!this || this[impl] || !(this instanceof URL8)) {
throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");
}
if (arguments.length < 1) {
throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present.");
}
const args2 = [];
for (let i3 = 0; i3 < arguments.length && i3 < 2; ++i3) {
args2[i3] = arguments[i3];
}
args2[0] = conversions["USVString"](args2[0]);
if (args2[1] !== void 0) {
args2[1] = conversions["USVString"](args2[1]);
}
module2.exports.setup(this, args2);
}
URL8.prototype.toJSON = function toJSON() {
if (!this || !module2.exports.is(this)) {
throw new TypeError("Illegal invocation");
}
const args2 = [];
for (let i3 = 0; i3 < arguments.length && i3 < 0; ++i3) {
args2[i3] = arguments[i3];
}
return this[impl].toJSON.apply(this[impl], args2);
};
Object.defineProperty(URL8.prototype, "href", {
get() {
return this[impl].href;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].href = V2;
},
enumerable: true,
configurable: true
});
URL8.prototype.toString = function() {
if (!this || !module2.exports.is(this)) {
throw new TypeError("Illegal invocation");
}
return this.href;
};
Object.defineProperty(URL8.prototype, "origin", {
get() {
return this[impl].origin;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "protocol", {
get() {
return this[impl].protocol;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].protocol = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "username", {
get() {
return this[impl].username;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].username = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "password", {
get() {
return this[impl].password;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].password = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "host", {
get() {
return this[impl].host;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].host = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "hostname", {
get() {
return this[impl].hostname;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].hostname = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "port", {
get() {
return this[impl].port;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].port = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "pathname", {
get() {
return this[impl].pathname;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].pathname = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "search", {
get() {
return this[impl].search;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].search = V2;
},
enumerable: true,
configurable: true
});
Object.defineProperty(URL8.prototype, "hash", {
get() {
return this[impl].hash;
},
set(V2) {
V2 = conversions["USVString"](V2);
this[impl].hash = V2;
},
enumerable: true,
configurable: true
});
module2.exports = {
is(obj) {
return !!obj && obj[impl] instanceof Impl.implementation;
},
create(constructorArgs, privateData) {
let obj = Object.create(URL8.prototype);
this.setup(obj, constructorArgs, privateData);
return obj;
},
setup(obj, constructorArgs, privateData) {
if (!privateData) privateData = {};
privateData.wrapper = obj;
obj[impl] = new Impl.implementation(constructorArgs, privateData);
obj[impl][utils.wrapperSymbol] = obj;
},
interface: URL8,
expose: {
Window: { URL: URL8 },
Worker: { URL: URL8 }
}
};
}
});
// node_modules/node-fetch/node_modules/whatwg-url/lib/public-api.js
var require_public_api = __commonJS({
"node_modules/node-fetch/node_modules/whatwg-url/lib/public-api.js"(exports2) {
"use strict";
exports2.URL = require_URL().interface;
exports2.serializeURL = require_url_state_machine().serializeURL;
exports2.serializeURLOrigin = require_url_state_machine().serializeURLOrigin;
exports2.basicURLParse = require_url_state_machine().basicURLParse;
exports2.setTheUsername = require_url_state_machine().setTheUsername;
exports2.setThePassword = require_url_state_machine().setThePassword;
exports2.serializeHost = require_url_state_machine().serializeHost;
exports2.serializeInteger = require_url_state_machine().serializeInteger;
exports2.parseURL = require_url_state_machine().parseURL;
}
});
// node_modules/node-fetch/lib/index.js
var require_lib3 = __commonJS({
"node_modules/node-fetch/lib/index.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function _interopDefault(ex) {
return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex;
}
var Stream2 = _interopDefault(__require("stream"));
var http3 = _interopDefault(__require("http"));
var Url = _interopDefault(__require("url"));
var whatwgUrl = _interopDefault(require_public_api());
var https = _interopDefault(__require("https"));
var zlib2 = _interopDefault(__require("zlib"));
var Readable7 = Stream2.Readable;
var BUFFER2 = Symbol("buffer");
var TYPE2 = Symbol("type");
var Blob2 = class _Blob {
constructor() {
this[TYPE2] = "";
const blobParts = arguments[0];
const options = arguments[1];
const buffers = [];
let size = 0;
if (blobParts) {
const a2 = blobParts;
const length = Number(a2.length);
for (let i3 = 0; i3 < length; i3++) {
const element = a2[i3];
let buffer;
if (element instanceof Buffer) {
buffer = element;
} else if (ArrayBuffer.isView(element)) {
buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);
} else if (element instanceof ArrayBuffer) {
buffer = Buffer.from(element);
} else if (element instanceof _Blob) {
buffer = element[BUFFER2];
} else {
buffer = Buffer.from(typeof element === "string" ? element : String(element));
}
size += buffer.length;
buffers.push(buffer);
}
}
this[BUFFER2] = Buffer.concat(buffers);
let type2 = options && options.type !== void 0 && String(options.type).toLowerCase();
if (type2 && !/[^\u0020-\u007E]/.test(type2)) {
this[TYPE2] = type2;
}
}
get size() {
return this[BUFFER2].length;
}
get type() {
return this[TYPE2];
}
text() {
return Promise.resolve(this[BUFFER2].toString());
}
arrayBuffer() {
const buf = this[BUFFER2];
const ab2 = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
return Promise.resolve(ab2);
}
stream() {
const readable2 = new Readable7();
readable2._read = function() {
};
readable2.push(this[BUFFER2]);
readable2.push(null);
return readable2;
}
toString() {
return "[object Blob]";
}
slice() {
const size = this.size;
const start2 = arguments[0];
const end = arguments[1];
let relativeStart, relativeEnd;
if (start2 === void 0) {
relativeStart = 0;
} else if (start2 < 0) {
relativeStart = Math.max(size + start2, 0);
} else {
relativeStart = Math.min(start2, size);
}
if (end === void 0) {
relativeEnd = size;
} else if (end < 0) {
relativeEnd = Math.max(size + end, 0);
} else {
relativeEnd = Math.min(end, size);
}
const span = Math.max(relativeEnd - relativeStart, 0);
const buffer = this[BUFFER2];
const slicedBuffer = buffer.slice(relativeStart, relativeStart + span);
const blob = new _Blob([], { type: arguments[2] });
blob[BUFFER2] = slicedBuffer;
return blob;
}
};
Object.defineProperties(Blob2.prototype, {
size: { enumerable: true },
type: { enumerable: true },
slice: { enumerable: true }
});
Object.defineProperty(Blob2.prototype, Symbol.toStringTag, {
value: "Blob",
writable: false,
enumerable: false,
configurable: true
});
function FetchError2(message, type2, systemError) {
Error.call(this, message);
this.message = message;
this.type = type2;
if (systemError) {
this.code = this.errno = systemError.code;
}
Error.captureStackTrace(this, this.constructor);
}
FetchError2.prototype = Object.create(Error.prototype);
FetchError2.prototype.constructor = FetchError2;
FetchError2.prototype.name = "FetchError";
var convert2;
try {
convert2 = __require("encoding").convert;
} catch (e2) {
}
var INTERNALS = Symbol("Body internals");
var PassThrough3 = Stream2.PassThrough;
function Body(body2) {
var _this = this;
var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref$size = _ref.size;
let size = _ref$size === void 0 ? 0 : _ref$size;
var _ref$timeout = _ref.timeout;
let timeout = _ref$timeout === void 0 ? 0 : _ref$timeout;
if (body2 == null) {
body2 = null;
} else if (isURLSearchParams(body2)) {
body2 = Buffer.from(body2.toString());
} else if (isBlob(body2)) ;
else if (Buffer.isBuffer(body2)) ;
else if (Object.prototype.toString.call(body2) === "[object ArrayBuffer]") {
body2 = Buffer.from(body2);
} else if (ArrayBuffer.isView(body2)) {
body2 = Buffer.from(body2.buffer, body2.byteOffset, body2.byteLength);
} else if (body2 instanceof Stream2) ;
else {
body2 = Buffer.from(String(body2));
}
this[INTERNALS] = {
body: body2,
disturbed: false,
error: null
};
this.size = size;
this.timeout = timeout;
if (body2 instanceof Stream2) {
body2.on("error", function(err2) {
const error40 = err2.name === "AbortError" ? err2 : new FetchError2(`Invalid response body while trying to fetch ${_this.url}: ${err2.message}`, "system", err2);
_this[INTERNALS].error = error40;
});
}
}
Body.prototype = {
get body() {
return this[INTERNALS].body;
},
get bodyUsed() {
return this[INTERNALS].disturbed;
},
/**
* Decode response as ArrayBuffer
*
* @return Promise
*/
arrayBuffer() {
return consumeBody.call(this).then(function(buf) {
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
});
},
/**
* Return raw response as Blob
*
* @return Promise
*/
blob() {
let ct = this.headers && this.headers.get("content-type") || "";
return consumeBody.call(this).then(function(buf) {
return Object.assign(
// Prevent copying
new Blob2([], {
type: ct.toLowerCase()
}),
{
[BUFFER2]: buf
}
);
});
},
/**
* Decode response as json
*
* @return Promise
*/
json() {
var _this2 = this;
return consumeBody.call(this).then(function(buffer) {
try {
return JSON.parse(buffer.toString());
} catch (err2) {
return Body.Promise.reject(new FetchError2(`invalid json response body at ${_this2.url} reason: ${err2.message}`, "invalid-json"));
}
});
},
/**
* Decode response as text
*
* @return Promise
*/
text() {
return consumeBody.call(this).then(function(buffer) {
return buffer.toString();
});
},
/**
* Decode response as buffer (non-spec api)
*
* @return Promise
*/
buffer() {
return consumeBody.call(this);
},
/**
* Decode response as text, while automatically detecting the encoding and
* trying to decode to UTF-8 (non-spec api)
*
* @return Promise
*/
textConverted() {
var _this3 = this;
return consumeBody.call(this).then(function(buffer) {
return convertBody(buffer, _this3.headers);
});
}
};
Object.defineProperties(Body.prototype, {
body: { enumerable: true },
bodyUsed: { enumerable: true },
arrayBuffer: { enumerable: true },
blob: { enumerable: true },
json: { enumerable: true },
text: { enumerable: true }
});
Body.mixIn = function(proto) {
for (const name3 of Object.getOwnPropertyNames(Body.prototype)) {
if (!(name3 in proto)) {
const desc = Object.getOwnPropertyDescriptor(Body.prototype, name3);
Object.defineProperty(proto, name3, desc);
}
}
};
function consumeBody() {
var _this4 = this;
if (this[INTERNALS].disturbed) {
return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));
}
this[INTERNALS].disturbed = true;
if (this[INTERNALS].error) {
return Body.Promise.reject(this[INTERNALS].error);
}
let body2 = this.body;
if (body2 === null) {
return Body.Promise.resolve(Buffer.alloc(0));
}
if (isBlob(body2)) {
body2 = body2.stream();
}
if (Buffer.isBuffer(body2)) {
return Body.Promise.resolve(body2);
}
if (!(body2 instanceof Stream2)) {
return Body.Promise.resolve(Buffer.alloc(0));
}
let accum = [];
let accumBytes = 0;
let abort2 = false;
return new Body.Promise(function(resolve25, reject) {
let resTimeout;
if (_this4.timeout) {
resTimeout = setTimeout(function() {
abort2 = true;
reject(new FetchError2(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, "body-timeout"));
}, _this4.timeout);
}
body2.on("error", function(err2) {
if (err2.name === "AbortError") {
abort2 = true;
reject(err2);
} else {
reject(new FetchError2(`Invalid response body while trying to fetch ${_this4.url}: ${err2.message}`, "system", err2));
}
});
body2.on("data", function(chunk) {
if (abort2 || chunk === null) {
return;
}
if (_this4.size && accumBytes + chunk.length > _this4.size) {
abort2 = true;
reject(new FetchError2(`content size at ${_this4.url} over limit: ${_this4.size}`, "max-size"));
return;
}
accumBytes += chunk.length;
accum.push(chunk);
});
body2.on("end", function() {
if (abort2) {
return;
}
clearTimeout(resTimeout);
try {
resolve25(Buffer.concat(accum, accumBytes));
} catch (err2) {
reject(new FetchError2(`Could not create Buffer from response body for ${_this4.url}: ${err2.message}`, "system", err2));
}
});
});
}
function convertBody(buffer, headers) {
if (typeof convert2 !== "function") {
throw new Error("The package `encoding` must be installed to use the textConverted() function");
}
const ct = headers.get("content-type");
let charset = "utf-8";
let res, str2;
if (ct) {
res = /charset=([^;]*)/i.exec(ct);
}
str2 = buffer.slice(0, 1024).toString();
if (!res && str2) {
res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str2);
}
if (!res && str2) {
res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str2);
if (!res) {
res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str2);
if (res) {
res.pop();
}
}
if (res) {
res = /charset=(.*)/i.exec(res.pop());
}
}
if (!res && str2) {
res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str2);
}
if (res) {
charset = res.pop();
if (charset === "gb2312" || charset === "gbk") {
charset = "gb18030";
}
}
return convert2(buffer, "UTF-8", charset).toString();
}
function isURLSearchParams(obj) {
if (typeof obj !== "object" || typeof obj.append !== "function" || typeof obj.delete !== "function" || typeof obj.get !== "function" || typeof obj.getAll !== "function" || typeof obj.has !== "function" || typeof obj.set !== "function") {
return false;
}
return obj.constructor.name === "URLSearchParams" || Object.prototype.toString.call(obj) === "[object URLSearchParams]" || typeof obj.sort === "function";
}
function isBlob(obj) {
return typeof obj === "object" && typeof obj.arrayBuffer === "function" && typeof obj.type === "string" && typeof obj.stream === "function" && typeof obj.constructor === "function" && typeof obj.constructor.name === "string" && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);
}
function clone2(instance2) {
let p1, p2;
let body2 = instance2.body;
if (instance2.bodyUsed) {
throw new Error("cannot clone body after it is used");
}
if (body2 instanceof Stream2 && typeof body2.getBoundary !== "function") {
p1 = new PassThrough3();
p2 = new PassThrough3();
body2.pipe(p1);
body2.pipe(p2);
instance2[INTERNALS].body = p1;
body2 = p2;
}
return body2;
}
function extractContentType(body2) {
if (body2 === null) {
return null;
} else if (typeof body2 === "string") {
return "text/plain;charset=UTF-8";
} else if (isURLSearchParams(body2)) {
return "application/x-www-form-urlencoded;charset=UTF-8";
} else if (isBlob(body2)) {
return body2.type || null;
} else if (Buffer.isBuffer(body2)) {
return null;
} else if (Object.prototype.toString.call(body2) === "[object ArrayBuffer]") {
return null;
} else if (ArrayBuffer.isView(body2)) {
return null;
} else if (typeof body2.getBoundary === "function") {
return `multipart/form-data;boundary=${body2.getBoundary()}`;
} else if (body2 instanceof Stream2) {
return null;
} else {
return "text/plain;charset=UTF-8";
}
}
function getTotalBytes(instance2) {
const body2 = instance2.body;
if (body2 === null) {
return 0;
} else if (isBlob(body2)) {
return body2.size;
} else if (Buffer.isBuffer(body2)) {
return body2.length;
} else if (body2 && typeof body2.getLengthSync === "function") {
if (body2._lengthRetrievers && body2._lengthRetrievers.length == 0 || // 1.x
body2.hasKnownLength && body2.hasKnownLength()) {
return body2.getLengthSync();
}
return null;
} else {
return null;
}
}
function writeToStream(dest, instance2) {
const body2 = instance2.body;
if (body2 === null) {
dest.end();
} else if (isBlob(body2)) {
body2.stream().pipe(dest);
} else if (Buffer.isBuffer(body2)) {
dest.write(body2);
dest.end();
} else {
body2.pipe(dest);
}
}
Body.Promise = global.Promise;
var invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/;
var invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
function validateName(name3) {
name3 = `${name3}`;
if (invalidTokenRegex.test(name3) || name3 === "") {
throw new TypeError(`${name3} is not a legal HTTP header name`);
}
}
function validateValue(value) {
value = `${value}`;
if (invalidHeaderCharRegex.test(value)) {
throw new TypeError(`${value} is not a legal HTTP header value`);
}
}
function find(map4, name3) {
name3 = name3.toLowerCase();
for (const key in map4) {
if (key.toLowerCase() === name3) {
return key;
}
}
return void 0;
}
var MAP = Symbol("map");
var Headers2 = class _Headers {
/**
* Headers class
*
* @param Object headers Response headers
* @return Void
*/
constructor() {
let init2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0;
this[MAP] = /* @__PURE__ */ Object.create(null);
if (init2 instanceof _Headers) {
const rawHeaders = init2.raw();
const headerNames = Object.keys(rawHeaders);
for (const headerName of headerNames) {
for (const value of rawHeaders[headerName]) {
this.append(headerName, value);
}
}
return;
}
if (init2 == null) ;
else if (typeof init2 === "object") {
const method = init2[Symbol.iterator];
if (method != null) {
if (typeof method !== "function") {
throw new TypeError("Header pairs must be iterable");
}
const pairs2 = [];
for (const pair of init2) {
if (typeof pair !== "object" || typeof pair[Symbol.iterator] !== "function") {
throw new TypeError("Each header pair must be iterable");
}
pairs2.push(Array.from(pair));
}
for (const pair of pairs2) {
if (pair.length !== 2) {
throw new TypeError("Each header pair must be a name/value tuple");
}
this.append(pair[0], pair[1]);
}
} else {
for (const key of Object.keys(init2)) {
const value = init2[key];
this.append(key, value);
}
}
} else {
throw new TypeError("Provided initializer must be an object");
}
}
/**
* Return combined header value given name
*
* @param String name Header name
* @return Mixed
*/
get(name3) {
name3 = `${name3}`;
validateName(name3);
const key = find(this[MAP], name3);
if (key === void 0) {
return null;
}
return this[MAP][key].join(", ");
}
/**
* Iterate over all headers
*
* @param Function callback Executed for each item with parameters (value, name, thisArg)
* @param Boolean thisArg `this` context for callback function
* @return Void
*/
forEach(callback) {
let thisArg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0;
let pairs2 = getHeaders(this);
let i3 = 0;
while (i3 < pairs2.length) {
var _pairs$i = pairs2[i3];
const name3 = _pairs$i[0], value = _pairs$i[1];
callback.call(thisArg, value, name3, this);
pairs2 = getHeaders(this);
i3++;
}
}
/**
* Overwrite header values given name
*
* @param String name Header name
* @param String value Header value
* @return Void
*/
set(name3, value) {
name3 = `${name3}`;
value = `${value}`;
validateName(name3);
validateValue(value);
const key = find(this[MAP], name3);
this[MAP][key !== void 0 ? key : name3] = [value];
}
/**
* Append a value onto existing header
*
* @param String name Header name
* @param String value Header value
* @return Void
*/
append(name3, value) {
name3 = `${name3}`;
value = `${value}`;
validateName(name3);
validateValue(value);
const key = find(this[MAP], name3);
if (key !== void 0) {
this[MAP][key].push(value);
} else {
this[MAP][name3] = [value];
}
}
/**
* Check for header name existence
*
* @param String name Header name
* @return Boolean
*/
has(name3) {
name3 = `${name3}`;
validateName(name3);
return find(this[MAP], name3) !== void 0;
}
/**
* Delete all header values given name
*
* @param String name Header name
* @return Void
*/
delete(name3) {
name3 = `${name3}`;
validateName(name3);
const key = find(this[MAP], name3);
if (key !== void 0) {
delete this[MAP][key];
}
}
/**
* Return raw headers (non-spec api)
*
* @return Object
*/
raw() {
return this[MAP];
}
/**
* Get an iterator on keys.
*
* @return Iterator
*/
keys() {
return createHeadersIterator(this, "key");
}
/**
* Get an iterator on values.
*
* @return Iterator
*/
values() {
return createHeadersIterator(this, "value");
}
/**
* Get an iterator on entries.
*
* This is the default iterator of the Headers object.
*
* @return Iterator
*/
[Symbol.iterator]() {
return createHeadersIterator(this, "key+value");
}
};
Headers2.prototype.entries = Headers2.prototype[Symbol.iterator];
Object.defineProperty(Headers2.prototype, Symbol.toStringTag, {
value: "Headers",
writable: false,
enumerable: false,
configurable: true
});
Object.defineProperties(Headers2.prototype, {
get: { enumerable: true },
forEach: { enumerable: true },
set: { enumerable: true },
append: { enumerable: true },
has: { enumerable: true },
delete: { enumerable: true },
keys: { enumerable: true },
values: { enumerable: true },
entries: { enumerable: true }
});
function getHeaders(headers) {
let kind = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "key+value";
const keys = Object.keys(headers[MAP]).sort();
return keys.map(kind === "key" ? function(k) {
return k.toLowerCase();
} : kind === "value" ? function(k) {
return headers[MAP][k].join(", ");
} : function(k) {
return [k.toLowerCase(), headers[MAP][k].join(", ")];
});
}
var INTERNAL2 = Symbol("internal");
function createHeadersIterator(target, kind) {
const iterator = Object.create(HeadersIteratorPrototype);
iterator[INTERNAL2] = {
target,
kind,
index: 0
};
return iterator;
}
var HeadersIteratorPrototype = Object.setPrototypeOf({
next() {
if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {
throw new TypeError("Value of `this` is not a HeadersIterator");
}
var _INTERNAL = this[INTERNAL2];
const target = _INTERNAL.target, kind = _INTERNAL.kind, index = _INTERNAL.index;
const values = getHeaders(target, kind);
const len = values.length;
if (index >= len) {
return {
value: void 0,
done: true
};
}
this[INTERNAL2].index = index + 1;
return {
value: values[index],
done: false
};
}
}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));
Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {
value: "HeadersIterator",
writable: false,
enumerable: false,
configurable: true
});
function exportNodeCompatibleHeaders(headers) {
const obj = Object.assign({ __proto__: null }, headers[MAP]);
const hostHeaderKey = find(headers[MAP], "Host");
if (hostHeaderKey !== void 0) {
obj[hostHeaderKey] = obj[hostHeaderKey][0];
}
return obj;
}
function createHeadersLenient(obj) {
const headers = new Headers2();
for (const name3 of Object.keys(obj)) {
if (invalidTokenRegex.test(name3)) {
continue;
}
if (Array.isArray(obj[name3])) {
for (const val of obj[name3]) {
if (invalidHeaderCharRegex.test(val)) {
continue;
}
if (headers[MAP][name3] === void 0) {
headers[MAP][name3] = [val];
} else {
headers[MAP][name3].push(val);
}
}
} else if (!invalidHeaderCharRegex.test(obj[name3])) {
headers[MAP][name3] = [obj[name3]];
}
}
return headers;
}
var INTERNALS$1 = Symbol("Response internals");
var STATUS_CODES = http3.STATUS_CODES;
var Response2 = class _Response {
constructor() {
let body2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
Body.call(this, body2, opts);
const status2 = opts.status || 200;
const headers = new Headers2(opts.headers);
if (body2 != null && !headers.has("Content-Type")) {
const contentType = extractContentType(body2);
if (contentType) {
headers.append("Content-Type", contentType);
}
}
this[INTERNALS$1] = {
url: opts.url,
status: status2,
statusText: opts.statusText || STATUS_CODES[status2],
headers,
counter: opts.counter
};
}
get url() {
return this[INTERNALS$1].url || "";
}
get status() {
return this[INTERNALS$1].status;
}
/**
* Convenience property representing if the request ended normally
*/
get ok() {
return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;
}
get redirected() {
return this[INTERNALS$1].counter > 0;
}
get statusText() {
return this[INTERNALS$1].statusText;
}
get headers() {
return this[INTERNALS$1].headers;
}
/**
* Clone this response
*
* @return Response
*/
clone() {
return new _Response(clone2(this), {
url: this.url,
status: this.status,
statusText: this.statusText,
headers: this.headers,
ok: this.ok,
redirected: this.redirected
});
}
};
Body.mixIn(Response2.prototype);
Object.defineProperties(Response2.prototype, {
url: { enumerable: true },
status: { enumerable: true },
ok: { enumerable: true },
redirected: { enumerable: true },
statusText: { enumerable: true },
headers: { enumerable: true },
clone: { enumerable: true }
});
Object.defineProperty(Response2.prototype, Symbol.toStringTag, {
value: "Response",
writable: false,
enumerable: false,
configurable: true
});
var INTERNALS$2 = Symbol("Request internals");
var URL8 = Url.URL || whatwgUrl.URL;
var parse_url = Url.parse;
var format_url = Url.format;
function parseURL(urlStr) {
if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) {
urlStr = new URL8(urlStr).toString();
}
return parse_url(urlStr);
}
var streamDestructionSupported = "destroy" in Stream2.Readable.prototype;
function isRequest(input) {
return typeof input === "object" && typeof input[INTERNALS$2] === "object";
}
function isAbortSignal(signal) {
const proto = signal && typeof signal === "object" && Object.getPrototypeOf(signal);
return !!(proto && proto.constructor.name === "AbortSignal");
}
var Request = class _Request {
constructor(input) {
let init2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
let parsedURL;
if (!isRequest(input)) {
if (input && input.href) {
parsedURL = parseURL(input.href);
} else {
parsedURL = parseURL(`${input}`);
}
input = {};
} else {
parsedURL = parseURL(input.url);
}
let method = init2.method || input.method || "GET";
method = method.toUpperCase();
if ((init2.body != null || isRequest(input) && input.body !== null) && (method === "GET" || method === "HEAD")) {
throw new TypeError("Request with GET/HEAD method cannot have body");
}
let inputBody = init2.body != null ? init2.body : isRequest(input) && input.body !== null ? clone2(input) : null;
Body.call(this, inputBody, {
timeout: init2.timeout || input.timeout || 0,
size: init2.size || input.size || 0
});
const headers = new Headers2(init2.headers || input.headers || {});
if (inputBody != null && !headers.has("Content-Type")) {
const contentType = extractContentType(inputBody);
if (contentType) {
headers.append("Content-Type", contentType);
}
}
let signal = isRequest(input) ? input.signal : null;
if ("signal" in init2) signal = init2.signal;
if (signal != null && !isAbortSignal(signal)) {
throw new TypeError("Expected signal to be an instanceof AbortSignal");
}
this[INTERNALS$2] = {
method,
redirect: init2.redirect || input.redirect || "follow",
headers,
parsedURL,
signal
};
this.follow = init2.follow !== void 0 ? init2.follow : input.follow !== void 0 ? input.follow : 20;
this.compress = init2.compress !== void 0 ? init2.compress : input.compress !== void 0 ? input.compress : true;
this.counter = init2.counter || input.counter || 0;
this.agent = init2.agent || input.agent;
}
get method() {
return this[INTERNALS$2].method;
}
get url() {
return format_url(this[INTERNALS$2].parsedURL);
}
get headers() {
return this[INTERNALS$2].headers;
}
get redirect() {
return this[INTERNALS$2].redirect;
}
get signal() {
return this[INTERNALS$2].signal;
}
/**
* Clone this request
*
* @return Request
*/
clone() {
return new _Request(this);
}
};
Body.mixIn(Request.prototype);
Object.defineProperty(Request.prototype, Symbol.toStringTag, {
value: "Request",
writable: false,
enumerable: false,
configurable: true
});
Object.defineProperties(Request.prototype, {
method: { enumerable: true },
url: { enumerable: true },
headers: { enumerable: true },
redirect: { enumerable: true },
clone: { enumerable: true },
signal: { enumerable: true }
});
function getNodeRequestOptions(request) {
const parsedURL = request[INTERNALS$2].parsedURL;
const headers = new Headers2(request[INTERNALS$2].headers);
if (!headers.has("Accept")) {
headers.set("Accept", "*/*");
}
if (!parsedURL.protocol || !parsedURL.hostname) {
throw new TypeError("Only absolute URLs are supported");
}
if (!/^https?:$/.test(parsedURL.protocol)) {
throw new TypeError("Only HTTP(S) protocols are supported");
}
if (request.signal && request.body instanceof Stream2.Readable && !streamDestructionSupported) {
throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");
}
let contentLengthValue = null;
if (request.body == null && /^(POST|PUT)$/i.test(request.method)) {
contentLengthValue = "0";
}
if (request.body != null) {
const totalBytes = getTotalBytes(request);
if (typeof totalBytes === "number") {
contentLengthValue = String(totalBytes);
}
}
if (contentLengthValue) {
headers.set("Content-Length", contentLengthValue);
}
if (!headers.has("User-Agent")) {
headers.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)");
}
if (request.compress && !headers.has("Accept-Encoding")) {
headers.set("Accept-Encoding", "gzip,deflate");
}
let agent = request.agent;
if (typeof agent === "function") {
agent = agent(parsedURL);
}
return Object.assign({}, parsedURL, {
method: request.method,
headers: exportNodeCompatibleHeaders(headers),
agent
});
}
function AbortError2(message) {
Error.call(this, message);
this.type = "aborted";
this.message = message;
Error.captureStackTrace(this, this.constructor);
}
AbortError2.prototype = Object.create(Error.prototype);
AbortError2.prototype.constructor = AbortError2;
AbortError2.prototype.name = "AbortError";
var URL$1 = Url.URL || whatwgUrl.URL;
var PassThrough$1 = Stream2.PassThrough;
var isDomainOrSubdomain = function isDomainOrSubdomain2(destination, original) {
const orig = new URL$1(original).hostname;
const dest = new URL$1(destination).hostname;
return orig === dest || orig[orig.length - dest.length - 1] === "." && orig.endsWith(dest);
};
var isSameProtocol = function isSameProtocol2(destination, original) {
const orig = new URL$1(original).protocol;
const dest = new URL$1(destination).protocol;
return orig === dest;
};
function fetch2(url3, opts) {
if (!fetch2.Promise) {
throw new Error("native promise missing, set fetch.Promise to your favorite alternative");
}
Body.Promise = fetch2.Promise;
return new fetch2.Promise(function(resolve25, reject) {
const request = new Request(url3, opts);
const options = getNodeRequestOptions(request);
const send = (options.protocol === "https:" ? https : http3).request;
const signal = request.signal;
let response = null;
const abort2 = function abort3() {
let error40 = new AbortError2("The user aborted a request.");
reject(error40);
if (request.body && request.body instanceof Stream2.Readable) {
destroyStream(request.body, error40);
}
if (!response || !response.body) return;
response.body.emit("error", error40);
};
if (signal && signal.aborted) {
abort2();
return;
}
const abortAndFinalize = function abortAndFinalize2() {
abort2();
finalize();
};
const req = send(options);
let reqTimeout;
if (signal) {
signal.addEventListener("abort", abortAndFinalize);
}
function finalize() {
req.abort();
if (signal) signal.removeEventListener("abort", abortAndFinalize);
clearTimeout(reqTimeout);
}
if (request.timeout) {
req.once("socket", function(socket) {
reqTimeout = setTimeout(function() {
reject(new FetchError2(`network timeout at: ${request.url}`, "request-timeout"));
finalize();
}, request.timeout);
});
}
req.on("error", function(err2) {
reject(new FetchError2(`request to ${request.url} failed, reason: ${err2.message}`, "system", err2));
if (response && response.body) {
destroyStream(response.body, err2);
}
finalize();
});
fixResponseChunkedTransferBadEnding(req, function(err2) {
if (signal && signal.aborted) {
return;
}
if (response && response.body) {
destroyStream(response.body, err2);
}
});
if (parseInt(process.version.substring(1)) < 14) {
req.on("socket", function(s2) {
s2.addListener("close", function(hadError) {
const hasDataListener = s2.listenerCount("data") > 0;
if (response && hasDataListener && !hadError && !(signal && signal.aborted)) {
const err2 = new Error("Premature close");
err2.code = "ERR_STREAM_PREMATURE_CLOSE";
response.body.emit("error", err2);
}
});
});
}
req.on("response", function(res) {
clearTimeout(reqTimeout);
const headers = createHeadersLenient(res.headers);
if (fetch2.isRedirect(res.statusCode)) {
const location = headers.get("Location");
let locationURL = null;
try {
locationURL = location === null ? null : new URL$1(location, request.url).toString();
} catch (err2) {
if (request.redirect !== "manual") {
reject(new FetchError2(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect"));
finalize();
return;
}
}
switch (request.redirect) {
case "error":
reject(new FetchError2(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, "no-redirect"));
finalize();
return;
case "manual":
if (locationURL !== null) {
try {
headers.set("Location", locationURL);
} catch (err2) {
reject(err2);
}
}
break;
case "follow":
if (locationURL === null) {
break;
}
if (request.counter >= request.follow) {
reject(new FetchError2(`maximum redirect reached at: ${request.url}`, "max-redirect"));
finalize();
return;
}
const requestOpts = {
headers: new Headers2(request.headers),
follow: request.follow,
counter: request.counter + 1,
agent: request.agent,
compress: request.compress,
method: request.method,
body: request.body,
signal: request.signal,
timeout: request.timeout,
size: request.size
};
if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {
for (const name3 of ["authorization", "www-authenticate", "cookie", "cookie2"]) {
requestOpts.headers.delete(name3);
}
}
if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {
reject(new FetchError2("Cannot follow redirect with body being a readable stream", "unsupported-redirect"));
finalize();
return;
}
if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === "POST") {
requestOpts.method = "GET";
requestOpts.body = void 0;
requestOpts.headers.delete("content-length");
}
resolve25(fetch2(new Request(locationURL, requestOpts)));
finalize();
return;
}
}
res.once("end", function() {
if (signal) signal.removeEventListener("abort", abortAndFinalize);
});
let body2 = res.pipe(new PassThrough$1());
const response_options = {
url: request.url,
status: res.statusCode,
statusText: res.statusMessage,
headers,
size: request.size,
timeout: request.timeout,
counter: request.counter
};
const codings = headers.get("Content-Encoding");
if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) {
response = new Response2(body2, response_options);
resolve25(response);
return;
}
const zlibOptions = {
flush: zlib2.Z_SYNC_FLUSH,
finishFlush: zlib2.Z_SYNC_FLUSH
};
if (codings == "gzip" || codings == "x-gzip") {
body2 = body2.pipe(zlib2.createGunzip(zlibOptions));
response = new Response2(body2, response_options);
resolve25(response);
return;
}
if (codings == "deflate" || codings == "x-deflate") {
const raw = res.pipe(new PassThrough$1());
raw.once("data", function(chunk) {
if ((chunk[0] & 15) === 8) {
body2 = body2.pipe(zlib2.createInflate());
} else {
body2 = body2.pipe(zlib2.createInflateRaw());
}
response = new Response2(body2, response_options);
resolve25(response);
});
raw.on("end", function() {
if (!response) {
response = new Response2(body2, response_options);
resolve25(response);
}
});
return;
}
if (codings == "br" && typeof zlib2.createBrotliDecompress === "function") {
body2 = body2.pipe(zlib2.createBrotliDecompress());
response = new Response2(body2, response_options);
resolve25(response);
return;
}
response = new Response2(body2, response_options);
resolve25(response);
});
writeToStream(req, request);
});
}
function fixResponseChunkedTransferBadEnding(request, errorCallback) {
let socket;
request.on("socket", function(s2) {
socket = s2;
});
request.on("response", function(response) {
const headers = response.headers;
if (headers["transfer-encoding"] === "chunked" && !headers["content-length"]) {
response.once("close", function(hadError) {
const hasDataListener = socket && socket.listenerCount("data") > 0;
if (hasDataListener && !hadError) {
const err2 = new Error("Premature close");
err2.code = "ERR_STREAM_PREMATURE_CLOSE";
errorCallback(err2);
}
});
}
});
}
function destroyStream(stream2, err2) {
if (stream2.destroy) {
stream2.destroy(err2);
} else {
stream2.emit("error", err2);
stream2.end();
}
}
fetch2.isRedirect = function(code) {
return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;
};
fetch2.Promise = global.Promise;
module2.exports = exports2 = fetch2;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.default = exports2;
exports2.Headers = Headers2;
exports2.Request = Request;
exports2.Response = Response2;
exports2.FetchError = FetchError2;
exports2.AbortError = AbortError2;
}
});
// node_modules/is-stream/index.js
var require_is_stream = __commonJS({
"node_modules/is-stream/index.js"(exports2, module2) {
"use strict";
var isStream4 = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
isStream4.writable = (stream2) => isStream4(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
isStream4.readable = (stream2) => isStream4(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
isStream4.duplex = (stream2) => isStream4.writable(stream2) && isStream4.readable(stream2);
isStream4.transform = (stream2) => isStream4.duplex(stream2) && typeof stream2._transform === "function";
module2.exports = isStream4;
}
});
// node_modules/gaxios/package.json
var require_package = __commonJS({
"node_modules/gaxios/package.json"(exports2, module2) {
module2.exports = {
name: "gaxios",
version: "6.7.1",
description: "A simple common HTTP client specifically for Google APIs and services.",
main: "build/src/index.js",
types: "build/src/index.d.ts",
files: [
"build/src"
],
scripts: {
lint: "gts check",
test: "c8 mocha build/test",
"presystem-test": "npm run compile",
"system-test": "mocha build/system-test --timeout 80000",
compile: "tsc -p .",
fix: "gts fix",
prepare: "npm run compile",
pretest: "npm run compile",
webpack: "webpack",
"prebrowser-test": "npm run compile",
"browser-test": "node build/browser-test/browser-test-runner.js",
docs: "compodoc src/",
"docs-test": "linkinator docs",
"predocs-test": "npm run docs",
"samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
prelint: "cd samples; npm link ../; npm install",
clean: "gts clean",
precompile: "gts clean"
},
repository: "googleapis/gaxios",
keywords: [
"google"
],
engines: {
node: ">=14"
},
author: "Google, LLC",
license: "Apache-2.0",
devDependencies: {
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@compodoc/compodoc": "1.1.19",
"@types/cors": "^2.8.6",
"@types/express": "^4.16.1",
"@types/extend": "^3.0.1",
"@types/mocha": "^9.0.0",
"@types/multiparty": "0.0.36",
"@types/mv": "^2.1.0",
"@types/ncp": "^2.0.1",
"@types/node": "^20.0.0",
"@types/node-fetch": "^2.5.7",
"@types/sinon": "^17.0.0",
"@types/tmp": "0.2.6",
"@types/uuid": "^10.0.0",
"abort-controller": "^3.0.0",
assert: "^2.0.0",
browserify: "^17.0.0",
c8: "^8.0.0",
cheerio: "1.0.0-rc.10",
cors: "^2.8.5",
execa: "^5.0.0",
express: "^4.16.4",
"form-data": "^4.0.0",
gts: "^5.0.0",
"is-docker": "^2.0.0",
karma: "^6.0.0",
"karma-chrome-launcher": "^3.0.0",
"karma-coverage": "^2.0.0",
"karma-firefox-launcher": "^2.0.0",
"karma-mocha": "^2.0.0",
"karma-remap-coverage": "^0.1.5",
"karma-sourcemap-loader": "^0.4.0",
"karma-webpack": "5.0.0",
linkinator: "^3.0.0",
mocha: "^8.0.0",
multiparty: "^4.2.1",
mv: "^2.1.1",
ncp: "^2.0.0",
nock: "^13.0.0",
"null-loader": "^4.0.0",
puppeteer: "^19.0.0",
sinon: "^18.0.0",
"stream-browserify": "^3.0.0",
tmp: "0.2.3",
"ts-loader": "^8.0.0",
typescript: "^5.1.6",
webpack: "^5.35.0",
"webpack-cli": "^4.0.0"
},
dependencies: {
extend: "^3.0.2",
"https-proxy-agent": "^7.0.1",
"is-stream": "^2.0.0",
"node-fetch": "^2.6.9",
uuid: "^9.0.1"
}
};
}
});
// node_modules/gaxios/build/src/util.js
var require_util = __commonJS({
"node_modules/gaxios/build/src/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.pkg = void 0;
exports2.pkg = require_package();
}
});
// node_modules/gaxios/build/src/common.js
var require_common = __commonJS({
"node_modules/gaxios/build/src/common.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
var _a4;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GaxiosError = exports2.GAXIOS_ERROR_SYMBOL = void 0;
exports2.defaultErrorRedactor = defaultErrorRedactor;
var url_1 = __require("url");
var util_1 = require_util();
var extend_12 = __importDefault(require_extend());
exports2.GAXIOS_ERROR_SYMBOL = Symbol.for(`${util_1.pkg.name}-gaxios-error`);
var GaxiosError = class _GaxiosError extends Error {
/**
* Support `instanceof` operator for `GaxiosError` across builds/duplicated files.
*
* @see {@link GAXIOS_ERROR_SYMBOL}
* @see {@link GaxiosError[GAXIOS_ERROR_SYMBOL]}
*/
static [(_a4 = exports2.GAXIOS_ERROR_SYMBOL, Symbol.hasInstance)](instance2) {
if (instance2 && typeof instance2 === "object" && exports2.GAXIOS_ERROR_SYMBOL in instance2 && instance2[exports2.GAXIOS_ERROR_SYMBOL] === util_1.pkg.version) {
return true;
}
return Function.prototype[Symbol.hasInstance].call(_GaxiosError, instance2);
}
constructor(message, config2, response, error40) {
var _b;
super(message);
this.config = config2;
this.response = response;
this.error = error40;
this[_a4] = util_1.pkg.version;
this.config = (0, extend_12.default)(true, {}, config2);
if (this.response) {
this.response.config = (0, extend_12.default)(true, {}, this.response.config);
}
if (this.response) {
try {
this.response.data = translateData(this.config.responseType, (_b = this.response) === null || _b === void 0 ? void 0 : _b.data);
} catch (_c) {
}
this.status = this.response.status;
}
if (error40 && "code" in error40 && error40.code) {
this.code = error40.code;
}
if (config2.errorRedactor) {
config2.errorRedactor({
config: this.config,
response: this.response
});
}
}
};
exports2.GaxiosError = GaxiosError;
function translateData(responseType, data) {
switch (responseType) {
case "stream":
return data;
case "json":
return JSON.parse(JSON.stringify(data));
case "arraybuffer":
return JSON.parse(Buffer.from(data).toString("utf8"));
case "blob":
return JSON.parse(data.text());
default:
return data;
}
}
function defaultErrorRedactor(data) {
const REDACT = "<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";
function redactHeaders(headers) {
if (!headers)
return;
for (const key of Object.keys(headers)) {
if (/^authentication$/i.test(key)) {
headers[key] = REDACT;
}
if (/^authorization$/i.test(key)) {
headers[key] = REDACT;
}
if (/secret/i.test(key)) {
headers[key] = REDACT;
}
}
}
function redactString(obj, key) {
if (typeof obj === "object" && obj !== null && typeof obj[key] === "string") {
const text = obj[key];
if (/grant_type=/i.test(text) || /assertion=/i.test(text) || /secret/i.test(text)) {
obj[key] = REDACT;
}
}
}
function redactObject(obj) {
if (typeof obj === "object" && obj !== null) {
if ("grant_type" in obj) {
obj["grant_type"] = REDACT;
}
if ("assertion" in obj) {
obj["assertion"] = REDACT;
}
if ("client_secret" in obj) {
obj["client_secret"] = REDACT;
}
}
}
if (data.config) {
redactHeaders(data.config.headers);
redactString(data.config, "data");
redactObject(data.config.data);
redactString(data.config, "body");
redactObject(data.config.body);
try {
const url3 = new url_1.URL("", data.config.url);
if (url3.searchParams.has("token")) {
url3.searchParams.set("token", REDACT);
}
if (url3.searchParams.has("client_secret")) {
url3.searchParams.set("client_secret", REDACT);
}
data.config.url = url3.toString();
} catch (_b) {
}
}
if (data.response) {
defaultErrorRedactor({ config: data.response.config });
redactHeaders(data.response.headers);
redactString(data.response, "data");
redactObject(data.response.data);
}
return data;
}
}
});
// node_modules/gaxios/build/src/retry.js
var require_retry = __commonJS({
"node_modules/gaxios/build/src/retry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getRetryConfig = getRetryConfig;
async function getRetryConfig(err2) {
let config2 = getConfig(err2);
if (!err2 || !err2.config || !config2 && !err2.config.retry) {
return { shouldRetry: false };
}
config2 = config2 || {};
config2.currentRetryAttempt = config2.currentRetryAttempt || 0;
config2.retry = config2.retry === void 0 || config2.retry === null ? 3 : config2.retry;
config2.httpMethodsToRetry = config2.httpMethodsToRetry || [
"GET",
"HEAD",
"PUT",
"OPTIONS",
"DELETE"
];
config2.noResponseRetries = config2.noResponseRetries === void 0 || config2.noResponseRetries === null ? 2 : config2.noResponseRetries;
config2.retryDelayMultiplier = config2.retryDelayMultiplier ? config2.retryDelayMultiplier : 2;
config2.timeOfFirstRequest = config2.timeOfFirstRequest ? config2.timeOfFirstRequest : Date.now();
config2.totalTimeout = config2.totalTimeout ? config2.totalTimeout : Number.MAX_SAFE_INTEGER;
config2.maxRetryDelay = config2.maxRetryDelay ? config2.maxRetryDelay : Number.MAX_SAFE_INTEGER;
const retryRanges = [
// https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
// 1xx - Retry (Informational, request still processing)
// 2xx - Do not retry (Success)
// 3xx - Do not retry (Redirect)
// 4xx - Do not retry (Client errors)
// 408 - Retry ("Request Timeout")
// 429 - Retry ("Too Many Requests")
// 5xx - Retry (Server errors)
[100, 199],
[408, 408],
[429, 429],
[500, 599]
];
config2.statusCodesToRetry = config2.statusCodesToRetry || retryRanges;
err2.config.retryConfig = config2;
const shouldRetryFn = config2.shouldRetry || shouldRetryRequest;
if (!await shouldRetryFn(err2)) {
return { shouldRetry: false, config: err2.config };
}
const delay3 = getNextRetryDelay(config2);
err2.config.retryConfig.currentRetryAttempt += 1;
const backoff = config2.retryBackoff ? config2.retryBackoff(err2, delay3) : new Promise((resolve25) => {
setTimeout(resolve25, delay3);
});
if (config2.onRetryAttempt) {
config2.onRetryAttempt(err2);
}
await backoff;
return { shouldRetry: true, config: err2.config };
}
function shouldRetryRequest(err2) {
var _a4;
const config2 = getConfig(err2);
if (err2.name === "AbortError" || ((_a4 = err2.error) === null || _a4 === void 0 ? void 0 : _a4.name) === "AbortError") {
return false;
}
if (!config2 || config2.retry === 0) {
return false;
}
if (!err2.response && (config2.currentRetryAttempt || 0) >= config2.noResponseRetries) {
return false;
}
if (!err2.config.method || config2.httpMethodsToRetry.indexOf(err2.config.method.toUpperCase()) < 0) {
return false;
}
if (err2.response && err2.response.status) {
let isInRange = false;
for (const [min, max] of config2.statusCodesToRetry) {
const status2 = err2.response.status;
if (status2 >= min && status2 <= max) {
isInRange = true;
break;
}
}
if (!isInRange) {
return false;
}
}
config2.currentRetryAttempt = config2.currentRetryAttempt || 0;
if (config2.currentRetryAttempt >= config2.retry) {
return false;
}
return true;
}
function getConfig(err2) {
if (err2 && err2.config && err2.config.retryConfig) {
return err2.config.retryConfig;
}
return;
}
function getNextRetryDelay(config2) {
var _a4;
const retryDelay = config2.currentRetryAttempt ? 0 : (_a4 = config2.retryDelay) !== null && _a4 !== void 0 ? _a4 : 100;
const calculatedDelay = retryDelay + (Math.pow(config2.retryDelayMultiplier, config2.currentRetryAttempt) - 1) / 2 * 1e3;
const maxAllowableDelay = config2.totalTimeout - (Date.now() - config2.timeOfFirstRequest);
return Math.min(calculatedDelay, maxAllowableDelay, config2.maxRetryDelay);
}
}
});
// node_modules/uuid/dist/esm-node/rng.js
import crypto2 from "crypto";
function rng() {
if (poolPtr > rnds8Pool.length - 16) {
crypto2.randomFillSync(rnds8Pool);
poolPtr = 0;
}
return rnds8Pool.slice(poolPtr, poolPtr += 16);
}
var rnds8Pool, poolPtr;
var init_rng = __esm({
"node_modules/uuid/dist/esm-node/rng.js"() {
rnds8Pool = new Uint8Array(256);
poolPtr = rnds8Pool.length;
}
});
// node_modules/uuid/dist/esm-node/regex.js
var regex_default;
var init_regex = __esm({
"node_modules/uuid/dist/esm-node/regex.js"() {
regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
}
});
// node_modules/uuid/dist/esm-node/validate.js
function validate(uuid3) {
return typeof uuid3 === "string" && regex_default.test(uuid3);
}
var validate_default;
var init_validate = __esm({
"node_modules/uuid/dist/esm-node/validate.js"() {
init_regex();
validate_default = validate;
}
});
// node_modules/uuid/dist/esm-node/stringify.js
function unsafeStringify(arr, offset = 0) {
return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
}
function stringify(arr, offset = 0) {
const uuid3 = unsafeStringify(arr, offset);
if (!validate_default(uuid3)) {
throw TypeError("Stringified UUID is invalid");
}
return uuid3;
}
var byteToHex, stringify_default;
var init_stringify = __esm({
"node_modules/uuid/dist/esm-node/stringify.js"() {
init_validate();
byteToHex = [];
for (let i3 = 0; i3 < 256; ++i3) {
byteToHex.push((i3 + 256).toString(16).slice(1));
}
stringify_default = stringify;
}
});
// node_modules/uuid/dist/esm-node/v1.js
function v1(options, buf, offset) {
let i3 = buf && offset || 0;
const b = buf || new Array(16);
options = options || {};
let node = options.node || _nodeId;
let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq;
if (node == null || clockseq == null) {
const seedBytes = options.random || (options.rng || rng)();
if (node == null) {
node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
}
if (clockseq == null) {
clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383;
}
}
let msecs = options.msecs !== void 0 ? options.msecs : Date.now();
let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1;
const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;
if (dt < 0 && options.clockseq === void 0) {
clockseq = clockseq + 1 & 16383;
}
if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) {
nsecs = 0;
}
if (nsecs >= 1e4) {
throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
}
_lastMSecs = msecs;
_lastNSecs = nsecs;
_clockseq = clockseq;
msecs += 122192928e5;
const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;
b[i3++] = tl >>> 24 & 255;
b[i3++] = tl >>> 16 & 255;
b[i3++] = tl >>> 8 & 255;
b[i3++] = tl & 255;
const tmh = msecs / 4294967296 * 1e4 & 268435455;
b[i3++] = tmh >>> 8 & 255;
b[i3++] = tmh & 255;
b[i3++] = tmh >>> 24 & 15 | 16;
b[i3++] = tmh >>> 16 & 255;
b[i3++] = clockseq >>> 8 | 128;
b[i3++] = clockseq & 255;
for (let n3 = 0; n3 < 6; ++n3) {
b[i3 + n3] = node[n3];
}
return buf || unsafeStringify(b);
}
var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default;
var init_v1 = __esm({
"node_modules/uuid/dist/esm-node/v1.js"() {
init_rng();
init_stringify();
_lastMSecs = 0;
_lastNSecs = 0;
v1_default = v1;
}
});
// node_modules/uuid/dist/esm-node/parse.js
function parse(uuid3) {
if (!validate_default(uuid3)) {
throw TypeError("Invalid UUID");
}
let v;
const arr = new Uint8Array(16);
arr[0] = (v = parseInt(uuid3.slice(0, 8), 16)) >>> 24;
arr[1] = v >>> 16 & 255;
arr[2] = v >>> 8 & 255;
arr[3] = v & 255;
arr[4] = (v = parseInt(uuid3.slice(9, 13), 16)) >>> 8;
arr[5] = v & 255;
arr[6] = (v = parseInt(uuid3.slice(14, 18), 16)) >>> 8;
arr[7] = v & 255;
arr[8] = (v = parseInt(uuid3.slice(19, 23), 16)) >>> 8;
arr[9] = v & 255;
arr[10] = (v = parseInt(uuid3.slice(24, 36), 16)) / 1099511627776 & 255;
arr[11] = v / 4294967296 & 255;
arr[12] = v >>> 24 & 255;
arr[13] = v >>> 16 & 255;
arr[14] = v >>> 8 & 255;
arr[15] = v & 255;
return arr;
}
var parse_default;
var init_parse = __esm({
"node_modules/uuid/dist/esm-node/parse.js"() {
init_validate();
parse_default = parse;
}
});
// node_modules/uuid/dist/esm-node/v35.js
function stringToBytes(str2) {
str2 = unescape(encodeURIComponent(str2));
const bytes = [];
for (let i3 = 0; i3 < str2.length; ++i3) {
bytes.push(str2.charCodeAt(i3));
}
return bytes;
}
function v35(name3, version4, hashfunc) {
function generateUUID(value, namespace, buf, offset) {
var _namespace;
if (typeof value === "string") {
value = stringToBytes(value);
}
if (typeof namespace === "string") {
namespace = parse_default(namespace);
}
if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {
throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
}
let bytes = new Uint8Array(16 + value.length);
bytes.set(namespace);
bytes.set(value, namespace.length);
bytes = hashfunc(bytes);
bytes[6] = bytes[6] & 15 | version4;
bytes[8] = bytes[8] & 63 | 128;
if (buf) {
offset = offset || 0;
for (let i3 = 0; i3 < 16; ++i3) {
buf[offset + i3] = bytes[i3];
}
return buf;
}
return unsafeStringify(bytes);
}
try {
generateUUID.name = name3;
} catch (err2) {
}
generateUUID.DNS = DNS;
generateUUID.URL = URL2;
return generateUUID;
}
var DNS, URL2;
var init_v35 = __esm({
"node_modules/uuid/dist/esm-node/v35.js"() {
init_stringify();
init_parse();
DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
}
});
// node_modules/uuid/dist/esm-node/md5.js
import crypto3 from "crypto";
function md5(bytes) {
if (Array.isArray(bytes)) {
bytes = Buffer.from(bytes);
} else if (typeof bytes === "string") {
bytes = Buffer.from(bytes, "utf8");
}
return crypto3.createHash("md5").update(bytes).digest();
}
var md5_default;
var init_md5 = __esm({
"node_modules/uuid/dist/esm-node/md5.js"() {
md5_default = md5;
}
});
// node_modules/uuid/dist/esm-node/v3.js
var v3, v3_default;
var init_v3 = __esm({
"node_modules/uuid/dist/esm-node/v3.js"() {
init_v35();
init_md5();
v3 = v35("v3", 48, md5_default);
v3_default = v3;
}
});
// node_modules/uuid/dist/esm-node/native.js
import crypto4 from "crypto";
var native_default;
var init_native = __esm({
"node_modules/uuid/dist/esm-node/native.js"() {
native_default = {
randomUUID: crypto4.randomUUID
};
}
});
// node_modules/uuid/dist/esm-node/v4.js
function v4(options, buf, offset) {
if (native_default.randomUUID && !buf && !options) {
return native_default.randomUUID();
}
options = options || {};
const rnds = options.random || (options.rng || rng)();
rnds[6] = rnds[6] & 15 | 64;
rnds[8] = rnds[8] & 63 | 128;
if (buf) {
offset = offset || 0;
for (let i3 = 0; i3 < 16; ++i3) {
buf[offset + i3] = rnds[i3];
}
return buf;
}
return unsafeStringify(rnds);
}
var v4_default;
var init_v4 = __esm({
"node_modules/uuid/dist/esm-node/v4.js"() {
init_native();
init_rng();
init_stringify();
v4_default = v4;
}
});
// node_modules/uuid/dist/esm-node/sha1.js
import crypto5 from "crypto";
function sha1(bytes) {
if (Array.isArray(bytes)) {
bytes = Buffer.from(bytes);
} else if (typeof bytes === "string") {
bytes = Buffer.from(bytes, "utf8");
}
return crypto5.createHash("sha1").update(bytes).digest();
}
var sha1_default;
var init_sha1 = __esm({
"node_modules/uuid/dist/esm-node/sha1.js"() {
sha1_default = sha1;
}
});
// node_modules/uuid/dist/esm-node/v5.js
var v5, v5_default;
var init_v5 = __esm({
"node_modules/uuid/dist/esm-node/v5.js"() {
init_v35();
init_sha1();
v5 = v35("v5", 80, sha1_default);
v5_default = v5;
}
});
// node_modules/uuid/dist/esm-node/nil.js
var nil_default;
var init_nil = __esm({
"node_modules/uuid/dist/esm-node/nil.js"() {
nil_default = "00000000-0000-0000-0000-000000000000";
}
});
// node_modules/uuid/dist/esm-node/version.js
function version(uuid3) {
if (!validate_default(uuid3)) {
throw TypeError("Invalid UUID");
}
return parseInt(uuid3.slice(14, 15), 16);
}
var version_default;
var init_version = __esm({
"node_modules/uuid/dist/esm-node/version.js"() {
init_validate();
version_default = version;
}
});
// node_modules/uuid/dist/esm-node/index.js
var esm_node_exports = {};
__export(esm_node_exports, {
NIL: () => nil_default,
parse: () => parse_default,
stringify: () => stringify_default,
v1: () => v1_default,
v3: () => v3_default,
v4: () => v4_default,
v5: () => v5_default,
validate: () => validate_default,
version: () => version_default
});
var init_esm_node = __esm({
"node_modules/uuid/dist/esm-node/index.js"() {
init_v1();
init_v3();
init_v4();
init_v5();
init_nil();
init_version();
init_validate();
init_stringify();
init_parse();
}
});
// node_modules/gaxios/build/src/interceptor.js
var require_interceptor = __commonJS({
"node_modules/gaxios/build/src/interceptor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GaxiosInterceptorManager = void 0;
var GaxiosInterceptorManager = class extends Set {
};
exports2.GaxiosInterceptorManager = GaxiosInterceptorManager;
}
});
// node_modules/gaxios/build/src/gaxios.js
var require_gaxios = __commonJS({
"node_modules/gaxios/build/src/gaxios.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o3, v) {
Object.defineProperty(o3, "default", { enumerable: true, value: v });
} : function(o3, v) {
o3["default"] = v;
});
var __importStar = exports2 && exports2.__importStar || function(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k in mod2) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod2, k)) __createBinding(result2, mod2, k);
}
__setModuleDefault(result2, mod2);
return result2;
};
var __classPrivateFieldGet2 = exports2 && exports2.__classPrivateFieldGet || function(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = exports2 && exports2.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
};
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
var _Gaxios_instances;
var _a4;
var _Gaxios_urlMayUseProxy;
var _Gaxios_applyRequestInterceptors;
var _Gaxios_applyResponseInterceptors;
var _Gaxios_prepareRequest;
var _Gaxios_proxyAgent;
var _Gaxios_getProxyAgent;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Gaxios = void 0;
var extend_12 = __importDefault(require_extend());
var https_1 = __require("https");
var node_fetch_1 = __importDefault(require_lib3());
var querystring_1 = __importDefault(__require("querystring"));
var is_stream_1 = __importDefault(require_is_stream());
var url_1 = __require("url");
var common_1 = require_common();
var retry_1 = require_retry();
var stream_1 = __require("stream");
var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports));
var interceptor_1 = require_interceptor();
var fetch2 = hasFetch() ? window.fetch : node_fetch_1.default;
function hasWindow() {
return typeof window !== "undefined" && !!window;
}
function hasFetch() {
return hasWindow() && !!window.fetch;
}
function hasBuffer() {
return typeof Buffer !== "undefined";
}
function hasHeader(options, header) {
return !!getHeader(options, header);
}
function getHeader(options, header) {
header = header.toLowerCase();
for (const key of Object.keys((options === null || options === void 0 ? void 0 : options.headers) || {})) {
if (header === key.toLowerCase()) {
return options.headers[key];
}
}
return void 0;
}
var Gaxios = class {
/**
* The Gaxios class is responsible for making HTTP requests.
* @param defaults The default set of options to be used for this instance.
*/
constructor(defaults2) {
_Gaxios_instances.add(this);
this.agentCache = /* @__PURE__ */ new Map();
this.defaults = defaults2 || {};
this.interceptors = {
request: new interceptor_1.GaxiosInterceptorManager(),
response: new interceptor_1.GaxiosInterceptorManager()
};
}
/**
* Perform an HTTP request with the given options.
* @param opts Set of HTTP options that will be used for this HTTP request.
*/
async request(opts = {}) {
opts = await __classPrivateFieldGet2(this, _Gaxios_instances, "m", _Gaxios_prepareRequest).call(this, opts);
opts = await __classPrivateFieldGet2(this, _Gaxios_instances, "m", _Gaxios_applyRequestInterceptors).call(this, opts);
return __classPrivateFieldGet2(this, _Gaxios_instances, "m", _Gaxios_applyResponseInterceptors).call(this, this._request(opts));
}
async _defaultAdapter(opts) {
const fetchImpl = opts.fetchImplementation || fetch2;
const res = await fetchImpl(opts.url, opts);
const data = await this.getResponseData(opts, res);
return this.translateResponse(opts, res, data);
}
/**
* Internal, retryable version of the `request` method.
* @param opts Set of HTTP options that will be used for this HTTP request.
*/
async _request(opts = {}) {
var _b;
try {
let translatedResponse;
if (opts.adapter) {
translatedResponse = await opts.adapter(opts, this._defaultAdapter.bind(this));
} else {
translatedResponse = await this._defaultAdapter(opts);
}
if (!opts.validateStatus(translatedResponse.status)) {
if (opts.responseType === "stream") {
let response = "";
await new Promise((resolve25) => {
(translatedResponse === null || translatedResponse === void 0 ? void 0 : translatedResponse.data).on("data", (chunk) => {
response += chunk;
});
(translatedResponse === null || translatedResponse === void 0 ? void 0 : translatedResponse.data).on("end", resolve25);
});
translatedResponse.data = response;
}
throw new common_1.GaxiosError(`Request failed with status code ${translatedResponse.status}`, opts, translatedResponse);
}
return translatedResponse;
} catch (e2) {
const err2 = e2 instanceof common_1.GaxiosError ? e2 : new common_1.GaxiosError(e2.message, opts, void 0, e2);
const { shouldRetry, config: config2 } = await (0, retry_1.getRetryConfig)(err2);
if (shouldRetry && config2) {
err2.config.retryConfig.currentRetryAttempt = config2.retryConfig.currentRetryAttempt;
opts.retryConfig = (_b = err2.config) === null || _b === void 0 ? void 0 : _b.retryConfig;
return this._request(opts);
}
throw err2;
}
}
async getResponseData(opts, res) {
switch (opts.responseType) {
case "stream":
return res.body;
case "json": {
let data = await res.text();
try {
data = JSON.parse(data);
} catch (_b) {
}
return data;
}
case "arraybuffer":
return res.arrayBuffer();
case "blob":
return res.blob();
case "text":
return res.text();
default:
return this.getResponseDataFromContentType(res);
}
}
/**
* By default, throw for any non-2xx status code
* @param status status code from the HTTP response
*/
validateStatus(status2) {
return status2 >= 200 && status2 < 300;
}
/**
* Encode a set of key/value pars into a querystring format (?foo=bar&baz=boo)
* @param params key value pars to encode
*/
paramsSerializer(params) {
return querystring_1.default.stringify(params);
}
translateResponse(opts, res, data) {
const headers = {};
res.headers.forEach((value, key) => {
headers[key] = value;
});
return {
config: opts,
data,
headers,
status: res.status,
statusText: res.statusText,
// XMLHttpRequestLike
request: {
responseURL: res.url
}
};
}
/**
* Attempts to parse a response by looking at the Content-Type header.
* @param {FetchResponse} response the HTTP response.
* @returns {Promise<any>} a promise that resolves to the response data.
*/
async getResponseDataFromContentType(response) {
let contentType = response.headers.get("Content-Type");
if (contentType === null) {
return response.text();
}
contentType = contentType.toLowerCase();
if (contentType.includes("application/json")) {
let data = await response.text();
try {
data = JSON.parse(data);
} catch (_b) {
}
return data;
} else if (contentType.match(/^text\//)) {
return response.text();
} else {
return response.blob();
}
}
/**
* Creates an async generator that yields the pieces of a multipart/related request body.
* This implementation follows the spec: https://www.ietf.org/rfc/rfc2387.txt. However, recursive
* multipart/related requests are not currently supported.
*
* @param {GaxioMultipartOptions[]} multipartOptions the pieces to turn into a multipart/related body.
* @param {string} boundary the boundary string to be placed between each part.
*/
async *getMultipartRequest(multipartOptions, boundary) {
const finale = `--${boundary}--`;
for (const currentPart of multipartOptions) {
const partContentType = currentPart.headers["Content-Type"] || "application/octet-stream";
const preamble = `--${boundary}\r
Content-Type: ${partContentType}\r
\r
`;
yield preamble;
if (typeof currentPart.content === "string") {
yield currentPart.content;
} else {
yield* currentPart.content;
}
yield "\r\n";
}
yield finale;
}
};
exports2.Gaxios = Gaxios;
_a4 = Gaxios, _Gaxios_instances = /* @__PURE__ */ new WeakSet(), _Gaxios_urlMayUseProxy = function _Gaxios_urlMayUseProxy2(url3, noProxy = []) {
var _b, _c;
const candidate = new url_1.URL(url3);
const noProxyList = [...noProxy];
const noProxyEnvList = ((_c = (_b = process.env.NO_PROXY) !== null && _b !== void 0 ? _b : process.env.no_proxy) === null || _c === void 0 ? void 0 : _c.split(",")) || [];
for (const rule of noProxyEnvList) {
noProxyList.push(rule.trim());
}
for (const rule of noProxyList) {
if (rule instanceof RegExp) {
if (rule.test(candidate.toString())) {
return false;
}
} else if (rule instanceof url_1.URL) {
if (rule.origin === candidate.origin) {
return false;
}
} else if (rule.startsWith("*.") || rule.startsWith(".")) {
const cleanedRule = rule.replace(/^\*\./, ".");
if (candidate.hostname.endsWith(cleanedRule)) {
return false;
}
} else if (rule === candidate.origin || rule === candidate.hostname || rule === candidate.href) {
return false;
}
}
return true;
}, _Gaxios_applyRequestInterceptors = /**
* Applies the request interceptors. The request interceptors are applied after the
* call to prepareRequest is completed.
*
* @param {GaxiosOptions} options The current set of options.
*
* @returns {Promise<GaxiosOptions>} Promise that resolves to the set of options or response after interceptors are applied.
*/
async function _Gaxios_applyRequestInterceptors2(options) {
let promiseChain = Promise.resolve(options);
for (const interceptor of this.interceptors.request.values()) {
if (interceptor) {
promiseChain = promiseChain.then(interceptor.resolved, interceptor.rejected);
}
}
return promiseChain;
}, _Gaxios_applyResponseInterceptors = /**
* Applies the response interceptors. The response interceptors are applied after the
* call to request is made.
*
* @param {GaxiosOptions} options The current set of options.
*
* @returns {Promise<GaxiosOptions>} Promise that resolves to the set of options or response after interceptors are applied.
*/
async function _Gaxios_applyResponseInterceptors2(response) {
let promiseChain = Promise.resolve(response);
for (const interceptor of this.interceptors.response.values()) {
if (interceptor) {
promiseChain = promiseChain.then(interceptor.resolved, interceptor.rejected);
}
}
return promiseChain;
}, _Gaxios_prepareRequest = /**
* Validates the options, merges them with defaults, and prepare request.
*
* @param options The original options passed from the client.
* @returns Prepared options, ready to make a request
*/
async function _Gaxios_prepareRequest2(options) {
var _b, _c, _d, _e;
const opts = (0, extend_12.default)(true, {}, this.defaults, options);
if (!opts.url) {
throw new Error("URL is required.");
}
const baseUrl = opts.baseUrl || opts.baseURL;
if (baseUrl) {
opts.url = baseUrl.toString() + opts.url;
}
opts.paramsSerializer = opts.paramsSerializer || this.paramsSerializer;
if (opts.params && Object.keys(opts.params).length > 0) {
let additionalQueryParams = opts.paramsSerializer(opts.params);
if (additionalQueryParams.startsWith("?")) {
additionalQueryParams = additionalQueryParams.slice(1);
}
const prefix = opts.url.toString().includes("?") ? "&" : "?";
opts.url = opts.url + prefix + additionalQueryParams;
}
if (typeof options.maxContentLength === "number") {
opts.size = options.maxContentLength;
}
if (typeof options.maxRedirects === "number") {
opts.follow = options.maxRedirects;
}
opts.headers = opts.headers || {};
if (opts.multipart === void 0 && opts.data) {
const isFormData = typeof FormData === "undefined" ? false : (opts === null || opts === void 0 ? void 0 : opts.data) instanceof FormData;
if (is_stream_1.default.readable(opts.data)) {
opts.body = opts.data;
} else if (hasBuffer() && Buffer.isBuffer(opts.data)) {
opts.body = opts.data;
if (!hasHeader(opts, "Content-Type")) {
opts.headers["Content-Type"] = "application/json";
}
} else if (typeof opts.data === "object") {
if (!isFormData) {
if (getHeader(opts, "content-type") === "application/x-www-form-urlencoded") {
opts.body = opts.paramsSerializer(opts.data);
} else {
if (!hasHeader(opts, "Content-Type")) {
opts.headers["Content-Type"] = "application/json";
}
opts.body = JSON.stringify(opts.data);
}
}
} else {
opts.body = opts.data;
}
} else if (opts.multipart && opts.multipart.length > 0) {
const boundary = (0, uuid_1.v4)();
opts.headers["Content-Type"] = `multipart/related; boundary=${boundary}`;
const bodyStream = new stream_1.PassThrough();
opts.body = bodyStream;
(0, stream_1.pipeline)(this.getMultipartRequest(opts.multipart, boundary), bodyStream, () => {
});
}
opts.validateStatus = opts.validateStatus || this.validateStatus;
opts.responseType = opts.responseType || "unknown";
if (!opts.headers["Accept"] && opts.responseType === "json") {
opts.headers["Accept"] = "application/json";
}
opts.method = opts.method || "GET";
const proxy2 = opts.proxy || ((_b = process === null || process === void 0 ? void 0 : process.env) === null || _b === void 0 ? void 0 : _b.HTTPS_PROXY) || ((_c = process === null || process === void 0 ? void 0 : process.env) === null || _c === void 0 ? void 0 : _c.https_proxy) || ((_d = process === null || process === void 0 ? void 0 : process.env) === null || _d === void 0 ? void 0 : _d.HTTP_PROXY) || ((_e = process === null || process === void 0 ? void 0 : process.env) === null || _e === void 0 ? void 0 : _e.http_proxy);
const urlMayUseProxy = __classPrivateFieldGet2(this, _Gaxios_instances, "m", _Gaxios_urlMayUseProxy).call(this, opts.url, opts.noProxy);
if (opts.agent) {
} else if (proxy2 && urlMayUseProxy) {
const HttpsProxyAgent2 = await __classPrivateFieldGet2(_a4, _a4, "m", _Gaxios_getProxyAgent).call(_a4);
if (this.agentCache.has(proxy2)) {
opts.agent = this.agentCache.get(proxy2);
} else {
opts.agent = new HttpsProxyAgent2(proxy2, {
cert: opts.cert,
key: opts.key
});
this.agentCache.set(proxy2, opts.agent);
}
} else if (opts.cert && opts.key) {
if (this.agentCache.has(opts.key)) {
opts.agent = this.agentCache.get(opts.key);
} else {
opts.agent = new https_1.Agent({
cert: opts.cert,
key: opts.key
});
this.agentCache.set(opts.key, opts.agent);
}
}
if (typeof opts.errorRedactor !== "function" && opts.errorRedactor !== false) {
opts.errorRedactor = common_1.defaultErrorRedactor;
}
return opts;
}, _Gaxios_getProxyAgent = async function _Gaxios_getProxyAgent2() {
__classPrivateFieldSet(this, _a4, __classPrivateFieldGet2(this, _a4, "f", _Gaxios_proxyAgent) || (await Promise.resolve().then(() => __importStar(require_dist2()))).HttpsProxyAgent, "f", _Gaxios_proxyAgent);
return __classPrivateFieldGet2(this, _a4, "f", _Gaxios_proxyAgent);
};
_Gaxios_proxyAgent = { value: void 0 };
}
});
// node_modules/gaxios/build/src/index.js
var require_src2 = __commonJS({
"node_modules/gaxios/build/src/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.instance = exports2.Gaxios = exports2.GaxiosError = void 0;
exports2.request = request;
var gaxios_1 = require_gaxios();
Object.defineProperty(exports2, "Gaxios", { enumerable: true, get: function() {
return gaxios_1.Gaxios;
} });
var common_1 = require_common();
Object.defineProperty(exports2, "GaxiosError", { enumerable: true, get: function() {
return common_1.GaxiosError;
} });
__exportStar(require_interceptor(), exports2);
exports2.instance = new gaxios_1.Gaxios();
async function request(opts) {
return exports2.instance.request(opts);
}
}
});
// node_modules/gcp-metadata/build/src/gcp-residency.js
var require_gcp_residency = __commonJS({
"node_modules/gcp-metadata/build/src/gcp-residency.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GCE_LINUX_BIOS_PATHS = void 0;
exports2.isGoogleCloudServerless = isGoogleCloudServerless;
exports2.isGoogleComputeEngineLinux = isGoogleComputeEngineLinux;
exports2.isGoogleComputeEngineMACAddress = isGoogleComputeEngineMACAddress;
exports2.isGoogleComputeEngine = isGoogleComputeEngine;
exports2.detectGCPResidency = detectGCPResidency;
var fs_1 = __require("fs");
var os_1 = __require("os");
exports2.GCE_LINUX_BIOS_PATHS = {
BIOS_DATE: "/sys/class/dmi/id/bios_date",
BIOS_VENDOR: "/sys/class/dmi/id/bios_vendor"
};
var GCE_MAC_ADDRESS_REGEX = /^42:01/;
function isGoogleCloudServerless() {
const isGFEnvironment = process.env.CLOUD_RUN_JOB || process.env.FUNCTION_NAME || process.env.K_SERVICE;
return !!isGFEnvironment;
}
function isGoogleComputeEngineLinux() {
if ((0, os_1.platform)() !== "linux")
return false;
try {
(0, fs_1.statSync)(exports2.GCE_LINUX_BIOS_PATHS.BIOS_DATE);
const biosVendor = (0, fs_1.readFileSync)(exports2.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR, "utf8");
return /Google/.test(biosVendor);
} catch (_a4) {
return false;
}
}
function isGoogleComputeEngineMACAddress() {
const interfaces = (0, os_1.networkInterfaces)();
for (const item of Object.values(interfaces)) {
if (!item)
continue;
for (const { mac } of item) {
if (GCE_MAC_ADDRESS_REGEX.test(mac)) {
return true;
}
}
}
return false;
}
function isGoogleComputeEngine() {
return isGoogleComputeEngineLinux() || isGoogleComputeEngineMACAddress();
}
function detectGCPResidency() {
return isGoogleCloudServerless() || isGoogleComputeEngine();
}
}
});
// node_modules/google-logging-utils/build/src/colours.js
var require_colours = __commonJS({
"node_modules/google-logging-utils/build/src/colours.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Colours = void 0;
var Colours = class _Colours {
/**
* @param stream The stream (e.g. process.stderr)
* @returns true if the stream should have colourization enabled
*/
static isEnabled(stream2) {
return stream2.isTTY && (typeof stream2.getColorDepth === "function" ? stream2.getColorDepth() > 2 : true);
}
static refresh() {
_Colours.enabled = _Colours.isEnabled(process.stderr);
if (!this.enabled) {
_Colours.reset = "";
_Colours.bright = "";
_Colours.dim = "";
_Colours.red = "";
_Colours.green = "";
_Colours.yellow = "";
_Colours.blue = "";
_Colours.magenta = "";
_Colours.cyan = "";
_Colours.white = "";
_Colours.grey = "";
} else {
_Colours.reset = "\x1B[0m";
_Colours.bright = "\x1B[1m";
_Colours.dim = "\x1B[2m";
_Colours.red = "\x1B[31m";
_Colours.green = "\x1B[32m";
_Colours.yellow = "\x1B[33m";
_Colours.blue = "\x1B[34m";
_Colours.magenta = "\x1B[35m";
_Colours.cyan = "\x1B[36m";
_Colours.white = "\x1B[37m";
_Colours.grey = "\x1B[90m";
}
}
};
exports2.Colours = Colours;
Colours.enabled = false;
Colours.reset = "";
Colours.bright = "";
Colours.dim = "";
Colours.red = "";
Colours.green = "";
Colours.yellow = "";
Colours.blue = "";
Colours.magenta = "";
Colours.cyan = "";
Colours.white = "";
Colours.grey = "";
Colours.refresh();
}
});
// node_modules/google-logging-utils/build/src/logging-utils.js
var require_logging_utils = __commonJS({
"node_modules/google-logging-utils/build/src/logging-utils.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o3, v) {
Object.defineProperty(o3, "default", { enumerable: true, value: v });
} : function(o3, v) {
o3["default"] = v;
});
var __importStar = exports2 && exports2.__importStar || function(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k in mod2) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod2, k)) __createBinding(result2, mod2, k);
}
__setModuleDefault(result2, mod2);
return result2;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.env = exports2.DebugLogBackendBase = exports2.placeholder = exports2.AdhocDebugLogger = exports2.LogSeverity = void 0;
exports2.getNodeBackend = getNodeBackend;
exports2.getDebugBackend = getDebugBackend;
exports2.getStructuredBackend = getStructuredBackend;
exports2.setBackend = setBackend;
exports2.log = log;
var node_events_1 = __require("node:events");
var process25 = __importStar(__require("node:process"));
var util2 = __importStar(__require("node:util"));
var colours_1 = require_colours();
var LogSeverity;
(function(LogSeverity2) {
LogSeverity2["DEFAULT"] = "DEFAULT";
LogSeverity2["DEBUG"] = "DEBUG";
LogSeverity2["INFO"] = "INFO";
LogSeverity2["WARNING"] = "WARNING";
LogSeverity2["ERROR"] = "ERROR";
})(LogSeverity || (exports2.LogSeverity = LogSeverity = {}));
var AdhocDebugLogger = class extends node_events_1.EventEmitter {
/**
* @param upstream The backend will pass a function that will be
* called whenever our logger function is invoked.
*/
constructor(namespace, upstream) {
super();
this.namespace = namespace;
this.upstream = upstream;
this.func = Object.assign(this.invoke.bind(this), {
// Also add an instance pointer back to us.
instance: this,
// And pull over the EventEmitter functionality.
on: (event, listener) => this.on(event, listener)
});
this.func.debug = (...args2) => this.invokeSeverity(LogSeverity.DEBUG, ...args2);
this.func.info = (...args2) => this.invokeSeverity(LogSeverity.INFO, ...args2);
this.func.warn = (...args2) => this.invokeSeverity(LogSeverity.WARNING, ...args2);
this.func.error = (...args2) => this.invokeSeverity(LogSeverity.ERROR, ...args2);
this.func.sublog = (namespace2) => log(namespace2, this.func);
}
invoke(fields, ...args2) {
if (this.upstream) {
this.upstream(fields, ...args2);
}
this.emit("log", fields, args2);
}
invokeSeverity(severity, ...args2) {
this.invoke({ severity }, ...args2);
}
};
exports2.AdhocDebugLogger = AdhocDebugLogger;
exports2.placeholder = new AdhocDebugLogger("", () => {
}).func;
var DebugLogBackendBase = class {
constructor() {
var _a4;
this.cached = /* @__PURE__ */ new Map();
this.filters = [];
this.filtersSet = false;
let nodeFlag = (_a4 = process25.env[exports2.env.nodeEnables]) !== null && _a4 !== void 0 ? _a4 : "*";
if (nodeFlag === "all") {
nodeFlag = "*";
}
this.filters = nodeFlag.split(",");
}
log(namespace, fields, ...args2) {
try {
if (!this.filtersSet) {
this.setFilters();
this.filtersSet = true;
}
let logger3 = this.cached.get(namespace);
if (!logger3) {
logger3 = this.makeLogger(namespace);
this.cached.set(namespace, logger3);
}
logger3(fields, ...args2);
} catch (e2) {
console.error(e2);
}
}
};
exports2.DebugLogBackendBase = DebugLogBackendBase;
var NodeBackend = class extends DebugLogBackendBase {
constructor() {
super(...arguments);
this.enabledRegexp = /.*/g;
}
isEnabled(namespace) {
return this.enabledRegexp.test(namespace);
}
makeLogger(namespace) {
if (!this.enabledRegexp.test(namespace)) {
return () => {
};
}
return (fields, ...args2) => {
var _a4;
const nscolour = `${colours_1.Colours.green}${namespace}${colours_1.Colours.reset}`;
const pid = `${colours_1.Colours.yellow}${process25.pid}${colours_1.Colours.reset}`;
let level;
switch (fields.severity) {
case LogSeverity.ERROR:
level = `${colours_1.Colours.red}${fields.severity}${colours_1.Colours.reset}`;
break;
case LogSeverity.INFO:
level = `${colours_1.Colours.magenta}${fields.severity}${colours_1.Colours.reset}`;
break;
case LogSeverity.WARNING:
level = `${colours_1.Colours.yellow}${fields.severity}${colours_1.Colours.reset}`;
break;
default:
level = (_a4 = fields.severity) !== null && _a4 !== void 0 ? _a4 : LogSeverity.DEFAULT;
break;
}
const msg = util2.formatWithOptions({ colors: colours_1.Colours.enabled }, ...args2);
const filteredFields = Object.assign({}, fields);
delete filteredFields.severity;
const fieldsJson = Object.getOwnPropertyNames(filteredFields).length ? JSON.stringify(filteredFields) : "";
const fieldsColour = fieldsJson ? `${colours_1.Colours.grey}${fieldsJson}${colours_1.Colours.reset}` : "";
console.error("%s [%s|%s] %s%s", pid, nscolour, level, msg, fieldsJson ? ` ${fieldsColour}` : "");
};
}
// Regexp patterns below are from here:
// https://github.com/nodejs/node/blob/c0aebed4b3395bd65d54b18d1fd00f071002ac20/lib/internal/util/debuglog.js#L36
setFilters() {
const totalFilters = this.filters.join(",");
const regexp = totalFilters.replace(/[|\\{}()[\]^$+?.]/g, "\\$&").replace(/\*/g, ".*").replace(/,/g, "$|^");
this.enabledRegexp = new RegExp(`^${regexp}$`, "i");
}
};
function getNodeBackend() {
return new NodeBackend();
}
var DebugBackend = class extends DebugLogBackendBase {
constructor(pkg2) {
super();
this.debugPkg = pkg2;
}
makeLogger(namespace) {
const debugLogger2 = this.debugPkg(namespace);
return (fields, ...args2) => {
debugLogger2(args2[0], ...args2.slice(1));
};
}
setFilters() {
var _a4;
const existingFilters = (_a4 = process25.env["NODE_DEBUG"]) !== null && _a4 !== void 0 ? _a4 : "";
process25.env["NODE_DEBUG"] = `${existingFilters}${existingFilters ? "," : ""}${this.filters.join(",")}`;
}
};
function getDebugBackend(debugPkg) {
return new DebugBackend(debugPkg);
}
var StructuredBackend = class extends DebugLogBackendBase {
constructor(upstream) {
var _a4;
super();
this.upstream = (_a4 = upstream) !== null && _a4 !== void 0 ? _a4 : new NodeBackend();
}
makeLogger(namespace) {
const debugLogger2 = this.upstream.makeLogger(namespace);
return (fields, ...args2) => {
var _a4;
const severity = (_a4 = fields.severity) !== null && _a4 !== void 0 ? _a4 : LogSeverity.INFO;
const json3 = Object.assign({
severity,
message: util2.format(...args2)
}, fields);
const jsonString = JSON.stringify(json3);
debugLogger2(fields, jsonString);
};
}
setFilters() {
this.upstream.setFilters();
}
};
function getStructuredBackend(upstream) {
return new StructuredBackend(upstream);
}
exports2.env = {
/**
* Filter wildcards specific to the Node syntax, and similar to the built-in
* utils.debuglog() environment variable. If missing, disables logging.
*/
nodeEnables: "GOOGLE_SDK_NODE_LOGGING"
};
var loggerCache = /* @__PURE__ */ new Map();
var cachedBackend = void 0;
function setBackend(backend) {
cachedBackend = backend;
loggerCache.clear();
}
function log(namespace, parent) {
const enablesFlag = process25.env[exports2.env.nodeEnables];
if (!enablesFlag) {
return exports2.placeholder;
}
if (!namespace) {
return exports2.placeholder;
}
if (parent) {
namespace = `${parent.instance.namespace}:${namespace}`;
}
const existing = loggerCache.get(namespace);
if (existing) {
return existing.func;
}
if (cachedBackend === null) {
return exports2.placeholder;
} else if (cachedBackend === void 0) {
cachedBackend = getNodeBackend();
}
const logger3 = (() => {
let previousBackend = void 0;
const newLogger = new AdhocDebugLogger(namespace, (fields, ...args2) => {
if (previousBackend !== cachedBackend) {
if (cachedBackend === null) {
return;
} else if (cachedBackend === void 0) {
cachedBackend = getNodeBackend();
}
previousBackend = cachedBackend;
}
cachedBackend === null || cachedBackend === void 0 ? void 0 : cachedBackend.log(namespace, fields, ...args2);
});
return newLogger;
})();
loggerCache.set(namespace, logger3);
return logger3.func;
}
}
});
// node_modules/google-logging-utils/build/src/index.js
var require_src3 = __commonJS({
"node_modules/google-logging-utils/build/src/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_logging_utils(), exports2);
}
});
// node_modules/gcp-metadata/build/src/index.js
var require_src4 = __commonJS({
"node_modules/gcp-metadata/build/src/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.gcpResidencyCache = exports2.METADATA_SERVER_DETECTION = exports2.HEADERS = exports2.HEADER_VALUE = exports2.HEADER_NAME = exports2.SECONDARY_HOST_ADDRESS = exports2.HOST_ADDRESS = exports2.BASE_PATH = void 0;
exports2.instance = instance2;
exports2.project = project;
exports2.universe = universe;
exports2.bulk = bulk;
exports2.isAvailable = isAvailable;
exports2.resetIsAvailableCache = resetIsAvailableCache;
exports2.getGCPResidency = getGCPResidency;
exports2.setGCPResidency = setGCPResidency;
exports2.requestTimeout = requestTimeout;
var gaxios_1 = require_src2();
var jsonBigint = require_json_bigint();
var gcp_residency_1 = require_gcp_residency();
var logger3 = require_src3();
exports2.BASE_PATH = "/computeMetadata/v1";
exports2.HOST_ADDRESS = "http://169.254.169.254";
exports2.SECONDARY_HOST_ADDRESS = "http://metadata.google.internal.";
exports2.HEADER_NAME = "Metadata-Flavor";
exports2.HEADER_VALUE = "Google";
exports2.HEADERS = Object.freeze({ [exports2.HEADER_NAME]: exports2.HEADER_VALUE });
var log = logger3.log("gcp metadata");
exports2.METADATA_SERVER_DETECTION = Object.freeze({
"assume-present": "don't try to ping the metadata server, but assume it's present",
none: "don't try to ping the metadata server, but don't try to use it either",
"bios-only": "treat the result of a BIOS probe as canonical (don't fall back to pinging)",
"ping-only": "skip the BIOS probe, and go straight to pinging"
});
function getBaseUrl(baseUrl) {
if (!baseUrl) {
baseUrl = process.env.GCE_METADATA_IP || process.env.GCE_METADATA_HOST || exports2.HOST_ADDRESS;
}
if (!/^https?:\/\//.test(baseUrl)) {
baseUrl = `http://${baseUrl}`;
}
return new URL(exports2.BASE_PATH, baseUrl).href;
}
function validate3(options) {
Object.keys(options).forEach((key) => {
switch (key) {
case "params":
case "property":
case "headers":
break;
case "qs":
throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");
default:
throw new Error(`'${key}' is not a valid configuration option.`);
}
});
}
async function metadataAccessor(type2, options = {}, noResponseRetries = 3, fastFail = false) {
let metadataKey = "";
let params = {};
let headers = {};
if (typeof type2 === "object") {
const metadataAccessor2 = type2;
metadataKey = metadataAccessor2.metadataKey;
params = metadataAccessor2.params || params;
headers = metadataAccessor2.headers || headers;
noResponseRetries = metadataAccessor2.noResponseRetries || noResponseRetries;
fastFail = metadataAccessor2.fastFail || fastFail;
} else {
metadataKey = type2;
}
if (typeof options === "string") {
metadataKey += `/${options}`;
} else {
validate3(options);
if (options.property) {
metadataKey += `/${options.property}`;
}
headers = options.headers || headers;
params = options.params || params;
}
const requestMethod = fastFail ? fastFailMetadataRequest : gaxios_1.request;
const req = {
url: `${getBaseUrl()}/${metadataKey}`,
headers: { ...exports2.HEADERS, ...headers },
retryConfig: { noResponseRetries },
params,
responseType: "text",
timeout: requestTimeout()
};
log.info("instance request %j", req);
const res = await requestMethod(req);
log.info("instance metadata is %s", res.data);
if (res.headers[exports2.HEADER_NAME.toLowerCase()] !== exports2.HEADER_VALUE) {
throw new Error(`Invalid response from metadata service: incorrect ${exports2.HEADER_NAME} header. Expected '${exports2.HEADER_VALUE}', got ${res.headers[exports2.HEADER_NAME.toLowerCase()] ? `'${res.headers[exports2.HEADER_NAME.toLowerCase()]}'` : "no header"}`);
}
if (typeof res.data === "string") {
try {
return jsonBigint.parse(res.data);
} catch (_a4) {
}
}
return res.data;
}
async function fastFailMetadataRequest(options) {
var _a4;
const secondaryOptions = {
...options,
url: (_a4 = options.url) === null || _a4 === void 0 ? void 0 : _a4.toString().replace(getBaseUrl(), getBaseUrl(exports2.SECONDARY_HOST_ADDRESS))
};
let responded = false;
const r1 = (0, gaxios_1.request)(options).then((res) => {
responded = true;
return res;
}).catch((err2) => {
if (responded) {
return r2;
} else {
responded = true;
throw err2;
}
});
const r2 = (0, gaxios_1.request)(secondaryOptions).then((res) => {
responded = true;
return res;
}).catch((err2) => {
if (responded) {
return r1;
} else {
responded = true;
throw err2;
}
});
return Promise.race([r1, r2]);
}
function instance2(options) {
return metadataAccessor("instance", options);
}
function project(options) {
return metadataAccessor("project", options);
}
function universe(options) {
return metadataAccessor("universe", options);
}
async function bulk(properties) {
const r2 = {};
await Promise.all(properties.map((item) => {
return (async () => {
const res = await metadataAccessor(item);
const key = item.metadataKey;
r2[key] = res;
})();
}));
return r2;
}
function detectGCPAvailableRetries() {
return process.env.DETECT_GCP_RETRIES ? Number(process.env.DETECT_GCP_RETRIES) : 0;
}
var cachedIsAvailableResponse;
async function isAvailable() {
if (process.env.METADATA_SERVER_DETECTION) {
const value = process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();
if (!(value in exports2.METADATA_SERVER_DETECTION)) {
throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${value}\`, but it should be \`${Object.keys(exports2.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);
}
switch (value) {
case "assume-present":
return true;
case "none":
return false;
case "bios-only":
return getGCPResidency();
case "ping-only":
}
}
try {
if (cachedIsAvailableResponse === void 0) {
cachedIsAvailableResponse = metadataAccessor(
"instance",
void 0,
detectGCPAvailableRetries(),
// If the default HOST_ADDRESS has been overridden, we should not
// make an effort to try SECONDARY_HOST_ADDRESS (as we are likely in
// a non-GCP environment):
!(process.env.GCE_METADATA_IP || process.env.GCE_METADATA_HOST)
);
}
await cachedIsAvailableResponse;
return true;
} catch (e2) {
const err2 = e2;
if (process.env.DEBUG_AUTH) {
console.info(err2);
}
if (err2.type === "request-timeout") {
return false;
}
if (err2.response && err2.response.status === 404) {
return false;
} else {
if (!(err2.response && err2.response.status === 404) && // A warning is emitted if we see an unexpected err.code, or err.code
// is not populated:
(!err2.code || ![
"EHOSTDOWN",
"EHOSTUNREACH",
"ENETUNREACH",
"ENOENT",
"ENOTFOUND",
"ECONNREFUSED"
].includes(err2.code))) {
let code = "UNKNOWN";
if (err2.code)
code = err2.code;
process.emitWarning(`received unexpected error = ${err2.message} code = ${code}`, "MetadataLookupWarning");
}
return false;
}
}
}
function resetIsAvailableCache() {
cachedIsAvailableResponse = void 0;
}
exports2.gcpResidencyCache = null;
function getGCPResidency() {
if (exports2.gcpResidencyCache === null) {
setGCPResidency();
}
return exports2.gcpResidencyCache;
}
function setGCPResidency(value = null) {
exports2.gcpResidencyCache = value !== null ? value : (0, gcp_residency_1.detectGCPResidency)();
}
function requestTimeout() {
return getGCPResidency() ? 0 : 3e3;
}
__exportStar(require_gcp_residency(), exports2);
}
});
// node_modules/google-auth-library/build/src/crypto/browser/crypto.js
var require_crypto = __commonJS({
"node_modules/google-auth-library/build/src/crypto/browser/crypto.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BrowserCrypto = void 0;
var base64js = require_base64_js();
var crypto_1 = require_crypto3();
var BrowserCrypto = class _BrowserCrypto {
constructor() {
if (typeof window === "undefined" || window.crypto === void 0 || window.crypto.subtle === void 0) {
throw new Error("SubtleCrypto not found. Make sure it's an https:// website.");
}
}
async sha256DigestBase64(str2) {
const inputBuffer = new TextEncoder().encode(str2);
const outputBuffer = await window.crypto.subtle.digest("SHA-256", inputBuffer);
return base64js.fromByteArray(new Uint8Array(outputBuffer));
}
randomBytesBase64(count2) {
const array2 = new Uint8Array(count2);
window.crypto.getRandomValues(array2);
return base64js.fromByteArray(array2);
}
static padBase64(base643) {
while (base643.length % 4 !== 0) {
base643 += "=";
}
return base643;
}
async verify(pubkey, data, signature) {
const algo = {
name: "RSASSA-PKCS1-v1_5",
hash: { name: "SHA-256" }
};
const dataArray = new TextEncoder().encode(data);
const signatureArray = base64js.toByteArray(_BrowserCrypto.padBase64(signature));
const cryptoKey = await window.crypto.subtle.importKey("jwk", pubkey, algo, true, ["verify"]);
const result2 = await window.crypto.subtle.verify(algo, cryptoKey, signatureArray, dataArray);
return result2;
}
async sign(privateKey, data) {
const algo = {
name: "RSASSA-PKCS1-v1_5",
hash: { name: "SHA-256" }
};
const dataArray = new TextEncoder().encode(data);
const cryptoKey = await window.crypto.subtle.importKey("jwk", privateKey, algo, true, ["sign"]);
const result2 = await window.crypto.subtle.sign(algo, cryptoKey, dataArray);
return base64js.fromByteArray(new Uint8Array(result2));
}
decodeBase64StringUtf8(base643) {
const uint8array = base64js.toByteArray(_BrowserCrypto.padBase64(base643));
const result2 = new TextDecoder().decode(uint8array);
return result2;
}
encodeBase64StringUtf8(text) {
const uint8array = new TextEncoder().encode(text);
const result2 = base64js.fromByteArray(uint8array);
return result2;
}
/**
* Computes the SHA-256 hash of the provided string.
* @param str The plain text string to hash.
* @return A promise that resolves with the SHA-256 hash of the provided
* string in hexadecimal encoding.
*/
async sha256DigestHex(str2) {
const inputBuffer = new TextEncoder().encode(str2);
const outputBuffer = await window.crypto.subtle.digest("SHA-256", inputBuffer);
return (0, crypto_1.fromArrayBufferToHex)(outputBuffer);
}
/**
* Computes the HMAC hash of a message using the provided crypto key and the
* SHA-256 algorithm.
* @param key The secret crypto key in utf-8 or ArrayBuffer format.
* @param msg The plain text message.
* @return A promise that resolves with the HMAC-SHA256 hash in ArrayBuffer
* format.
*/
async signWithHmacSha256(key, msg) {
const rawKey = typeof key === "string" ? key : String.fromCharCode(...new Uint16Array(key));
const enc = new TextEncoder();
const cryptoKey = await window.crypto.subtle.importKey("raw", enc.encode(rawKey), {
name: "HMAC",
hash: {
name: "SHA-256"
}
}, false, ["sign"]);
return window.crypto.subtle.sign("HMAC", cryptoKey, enc.encode(msg));
}
};
exports2.BrowserCrypto = BrowserCrypto;
}
});
// node_modules/google-auth-library/build/src/crypto/node/crypto.js
var require_crypto2 = __commonJS({
"node_modules/google-auth-library/build/src/crypto/node/crypto.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NodeCrypto = void 0;
var crypto22 = __require("crypto");
var NodeCrypto = class {
async sha256DigestBase64(str2) {
return crypto22.createHash("sha256").update(str2).digest("base64");
}
randomBytesBase64(count2) {
return crypto22.randomBytes(count2).toString("base64");
}
async verify(pubkey, data, signature) {
const verifier = crypto22.createVerify("RSA-SHA256");
verifier.update(data);
verifier.end();
return verifier.verify(pubkey, signature, "base64");
}
async sign(privateKey, data) {
const signer = crypto22.createSign("RSA-SHA256");
signer.update(data);
signer.end();
return signer.sign(privateKey, "base64");
}
decodeBase64StringUtf8(base643) {
return Buffer.from(base643, "base64").toString("utf-8");
}
encodeBase64StringUtf8(text) {
return Buffer.from(text, "utf-8").toString("base64");
}
/**
* Computes the SHA-256 hash of the provided string.
* @param str The plain text string to hash.
* @return A promise that resolves with the SHA-256 hash of the provided
* string in hexadecimal encoding.
*/
async sha256DigestHex(str2) {
return crypto22.createHash("sha256").update(str2).digest("hex");
}
/**
* Computes the HMAC hash of a message using the provided crypto key and the
* SHA-256 algorithm.
* @param key The secret crypto key in utf-8 or ArrayBuffer format.
* @param msg The plain text message.
* @return A promise that resolves with the HMAC-SHA256 hash in ArrayBuffer
* format.
*/
async signWithHmacSha256(key, msg) {
const cryptoKey = typeof key === "string" ? key : toBuffer(key);
return toArrayBuffer(crypto22.createHmac("sha256", cryptoKey).update(msg).digest());
}
};
exports2.NodeCrypto = NodeCrypto;
function toArrayBuffer(buffer) {
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
}
function toBuffer(arrayBuffer) {
return Buffer.from(arrayBuffer);
}
}
});
// node_modules/google-auth-library/build/src/crypto/crypto.js
var require_crypto3 = __commonJS({
"node_modules/google-auth-library/build/src/crypto/crypto.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createCrypto = createCrypto;
exports2.hasBrowserCrypto = hasBrowserCrypto;
exports2.fromArrayBufferToHex = fromArrayBufferToHex;
var crypto_1 = require_crypto();
var crypto_2 = require_crypto2();
function createCrypto() {
if (hasBrowserCrypto()) {
return new crypto_1.BrowserCrypto();
}
return new crypto_2.NodeCrypto();
}
function hasBrowserCrypto() {
return typeof window !== "undefined" && typeof window.crypto !== "undefined" && typeof window.crypto.subtle !== "undefined";
}
function fromArrayBufferToHex(arrayBuffer) {
const byteArray = Array.from(new Uint8Array(arrayBuffer));
return byteArray.map((byte) => {
return byte.toString(16).padStart(2, "0");
}).join("");
}
}
});
// node_modules/google-auth-library/build/src/options.js
var require_options = __commonJS({
"node_modules/google-auth-library/build/src/options.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validate = validate3;
function validate3(options) {
const vpairs = [
{ invalid: "uri", expected: "url" },
{ invalid: "json", expected: "data" },
{ invalid: "qs", expected: "params" }
];
for (const pair of vpairs) {
if (options[pair.invalid]) {
const e2 = `'${pair.invalid}' is not a valid configuration option. Please use '${pair.expected}' instead. This library is using Axios for requests. Please see https://github.com/axios/axios to learn more about the valid request options.`;
throw new Error(e2);
}
}
}
}
});
// node_modules/google-auth-library/package.json
var require_package2 = __commonJS({
"node_modules/google-auth-library/package.json"(exports2, module2) {
module2.exports = {
name: "google-auth-library",
version: "9.15.1",
author: "Google Inc.",
description: "Google APIs Authentication Client Library for Node.js",
engines: {
node: ">=14"
},
main: "./build/src/index.js",
types: "./build/src/index.d.ts",
repository: "googleapis/google-auth-library-nodejs.git",
keywords: [
"google",
"api",
"google apis",
"client",
"client library"
],
dependencies: {
"base64-js": "^1.3.0",
"ecdsa-sig-formatter": "^1.0.11",
gaxios: "^6.1.1",
"gcp-metadata": "^6.1.0",
gtoken: "^7.0.0",
jws: "^4.0.0"
},
devDependencies: {
"@types/base64-js": "^1.2.5",
"@types/chai": "^4.1.7",
"@types/jws": "^3.1.0",
"@types/mocha": "^9.0.0",
"@types/mv": "^2.1.0",
"@types/ncp": "^2.0.1",
"@types/node": "^20.4.2",
"@types/sinon": "^17.0.0",
"assert-rejects": "^1.0.0",
c8: "^8.0.0",
chai: "^4.2.0",
cheerio: "1.0.0-rc.12",
codecov: "^3.0.2",
"engine.io": "6.6.2",
gts: "^5.0.0",
"is-docker": "^2.0.0",
jsdoc: "^4.0.0",
"jsdoc-fresh": "^3.0.0",
"jsdoc-region-tag": "^3.0.0",
karma: "^6.0.0",
"karma-chrome-launcher": "^3.0.0",
"karma-coverage": "^2.0.0",
"karma-firefox-launcher": "^2.0.0",
"karma-mocha": "^2.0.0",
"karma-sourcemap-loader": "^0.4.0",
"karma-webpack": "5.0.0",
keypair: "^1.0.4",
linkinator: "^4.0.0",
mocha: "^9.2.2",
mv: "^2.1.1",
ncp: "^2.0.0",
nock: "^13.0.0",
"null-loader": "^4.0.0",
pdfmake: "0.2.12",
puppeteer: "^21.0.0",
sinon: "^18.0.0",
"ts-loader": "^8.0.0",
typescript: "^5.1.6",
webpack: "^5.21.2",
"webpack-cli": "^4.0.0"
},
files: [
"build/src",
"!build/src/**/*.map"
],
scripts: {
test: "c8 mocha build/test",
clean: "gts clean",
prepare: "npm run compile",
lint: "gts check",
compile: "tsc -p .",
fix: "gts fix",
pretest: "npm run compile -- --sourceMap",
docs: "jsdoc -c .jsdoc.json",
"samples-setup": "cd samples/ && npm link ../ && npm run setup && cd ../",
"samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
"system-test": "mocha build/system-test --timeout 60000",
"presystem-test": "npm run compile -- --sourceMap",
webpack: "webpack",
"browser-test": "karma start",
"docs-test": "linkinator docs",
"predocs-test": "npm run docs",
prelint: "cd samples; npm link ../; npm install",
precompile: "gts clean"
},
license: "Apache-2.0"
};
}
});
// node_modules/google-auth-library/build/src/transporters.js
var require_transporters = __commonJS({
"node_modules/google-auth-library/build/src/transporters.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DefaultTransporter = void 0;
var gaxios_1 = require_src2();
var options_1 = require_options();
var pkg2 = require_package2();
var PRODUCT_NAME = "google-api-nodejs-client";
var DefaultTransporter = class _DefaultTransporter {
constructor() {
this.instance = new gaxios_1.Gaxios();
}
/**
* Configures request options before making a request.
* @param opts GaxiosOptions options.
* @return Configured options.
*/
configure(opts = {}) {
opts.headers = opts.headers || {};
if (typeof window === "undefined") {
const uaValue = opts.headers["User-Agent"];
if (!uaValue) {
opts.headers["User-Agent"] = _DefaultTransporter.USER_AGENT;
} else if (!uaValue.includes(`${PRODUCT_NAME}/`)) {
opts.headers["User-Agent"] = `${uaValue} ${_DefaultTransporter.USER_AGENT}`;
}
if (!opts.headers["x-goog-api-client"]) {
const nodeVersion = process.version.replace(/^v/, "");
opts.headers["x-goog-api-client"] = `gl-node/${nodeVersion}`;
}
}
return opts;
}
/**
* Makes a request using Gaxios with given options.
* @param opts GaxiosOptions options.
* @param callback optional callback that contains GaxiosResponse object.
* @return GaxiosPromise, assuming no callback is passed.
*/
request(opts) {
opts = this.configure(opts);
(0, options_1.validate)(opts);
return this.instance.request(opts).catch((e2) => {
throw this.processError(e2);
});
}
get defaults() {
return this.instance.defaults;
}
set defaults(opts) {
this.instance.defaults = opts;
}
/**
* Changes the error to include details from the body.
*/
processError(e2) {
const res = e2.response;
const err2 = e2;
const body2 = res ? res.data : null;
if (res && body2 && body2.error && res.status !== 200) {
if (typeof body2.error === "string") {
err2.message = body2.error;
err2.status = res.status;
} else if (Array.isArray(body2.error.errors)) {
err2.message = body2.error.errors.map((err22) => err22.message).join("\n");
err2.code = body2.error.code;
err2.errors = body2.error.errors;
} else {
err2.message = body2.error.message;
err2.code = body2.error.code;
}
} else if (res && res.status >= 400) {
err2.message = body2;
err2.status = res.status;
}
return err2;
}
};
exports2.DefaultTransporter = DefaultTransporter;
DefaultTransporter.USER_AGENT = `${PRODUCT_NAME}/${pkg2.version}`;
}
});
// node_modules/google-auth-library/build/src/util.js
var require_util2 = __commonJS({
"node_modules/google-auth-library/build/src/util.js"(exports2) {
"use strict";
var __classPrivateFieldGet2 = exports2 && exports2.__classPrivateFieldGet || function(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _LRUCache_instances;
var _LRUCache_cache;
var _LRUCache_moveToEnd;
var _LRUCache_evict;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LRUCache = void 0;
exports2.snakeToCamel = snakeToCamel;
exports2.originalOrCamelOptions = originalOrCamelOptions;
function snakeToCamel(str2) {
return str2.replace(/([_][^_])/g, (match2) => match2.slice(1).toUpperCase());
}
function originalOrCamelOptions(obj) {
function get2(key) {
var _a4;
const o3 = obj || {};
return (_a4 = o3[key]) !== null && _a4 !== void 0 ? _a4 : o3[snakeToCamel(key)];
}
return { get: get2 };
}
var LRUCache2 = class {
constructor(options) {
_LRUCache_instances.add(this);
_LRUCache_cache.set(this, /* @__PURE__ */ new Map());
this.capacity = options.capacity;
this.maxAge = options.maxAge;
}
/**
* Add an item to the cache.
*
* @param key the key to upsert
* @param value the value of the key
*/
set(key, value) {
__classPrivateFieldGet2(this, _LRUCache_instances, "m", _LRUCache_moveToEnd).call(this, key, value);
__classPrivateFieldGet2(this, _LRUCache_instances, "m", _LRUCache_evict).call(this);
}
/**
* Get an item from the cache.
*
* @param key the key to retrieve
*/
get(key) {
const item = __classPrivateFieldGet2(this, _LRUCache_cache, "f").get(key);
if (!item)
return;
__classPrivateFieldGet2(this, _LRUCache_instances, "m", _LRUCache_moveToEnd).call(this, key, item.value);
__classPrivateFieldGet2(this, _LRUCache_instances, "m", _LRUCache_evict).call(this);
return item.value;
}
};
exports2.LRUCache = LRUCache2;
_LRUCache_cache = /* @__PURE__ */ new WeakMap(), _LRUCache_instances = /* @__PURE__ */ new WeakSet(), _LRUCache_moveToEnd = function _LRUCache_moveToEnd2(key, value) {
__classPrivateFieldGet2(this, _LRUCache_cache, "f").delete(key);
__classPrivateFieldGet2(this, _LRUCache_cache, "f").set(key, {
value,
lastAccessed: Date.now()
});
}, _LRUCache_evict = function _LRUCache_evict2() {
const cutoffDate = this.maxAge ? Date.now() - this.maxAge : 0;
let oldestItem = __classPrivateFieldGet2(this, _LRUCache_cache, "f").entries().next();
while (!oldestItem.done && (__classPrivateFieldGet2(this, _LRUCache_cache, "f").size > this.capacity || // too many
oldestItem.value[1].lastAccessed < cutoffDate)) {
__classPrivateFieldGet2(this, _LRUCache_cache, "f").delete(oldestItem.value[0]);
oldestItem = __classPrivateFieldGet2(this, _LRUCache_cache, "f").entries().next();
}
};
}
});
// node_modules/google-auth-library/build/src/auth/authclient.js
var require_authclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/authclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AuthClient = exports2.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS = exports2.DEFAULT_UNIVERSE = void 0;
var events_1 = __require("events");
var gaxios_1 = require_src2();
var transporters_1 = require_transporters();
var util_1 = require_util2();
exports2.DEFAULT_UNIVERSE = "googleapis.com";
exports2.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS = 5 * 60 * 1e3;
var AuthClient = class extends events_1.EventEmitter {
constructor(opts = {}) {
var _a4, _b, _c, _d, _e;
super();
this.credentials = {};
this.eagerRefreshThresholdMillis = exports2.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;
this.forceRefreshOnFailure = false;
this.universeDomain = exports2.DEFAULT_UNIVERSE;
const options = (0, util_1.originalOrCamelOptions)(opts);
this.apiKey = opts.apiKey;
this.projectId = (_a4 = options.get("project_id")) !== null && _a4 !== void 0 ? _a4 : null;
this.quotaProjectId = options.get("quota_project_id");
this.credentials = (_b = options.get("credentials")) !== null && _b !== void 0 ? _b : {};
this.universeDomain = (_c = options.get("universe_domain")) !== null && _c !== void 0 ? _c : exports2.DEFAULT_UNIVERSE;
this.transporter = (_d = opts.transporter) !== null && _d !== void 0 ? _d : new transporters_1.DefaultTransporter();
if (opts.transporterOptions) {
this.transporter.defaults = opts.transporterOptions;
}
if (opts.eagerRefreshThresholdMillis) {
this.eagerRefreshThresholdMillis = opts.eagerRefreshThresholdMillis;
}
this.forceRefreshOnFailure = (_e = opts.forceRefreshOnFailure) !== null && _e !== void 0 ? _e : false;
}
/**
* Return the {@link Gaxios `Gaxios`} instance from the {@link AuthClient.transporter}.
*
* @expiremental
*/
get gaxios() {
if (this.transporter instanceof gaxios_1.Gaxios) {
return this.transporter;
} else if (this.transporter instanceof transporters_1.DefaultTransporter) {
return this.transporter.instance;
} else if ("instance" in this.transporter && this.transporter.instance instanceof gaxios_1.Gaxios) {
return this.transporter.instance;
}
return null;
}
/**
* Sets the auth credentials.
*/
setCredentials(credentials3) {
this.credentials = credentials3;
}
/**
* Append additional headers, e.g., x-goog-user-project, shared across the
* classes inheriting AuthClient. This method should be used by any method
* that overrides getRequestMetadataAsync(), which is a shared helper for
* setting request information in both gRPC and HTTP API calls.
*
* @param headers object to append additional headers to.
*/
addSharedMetadataHeaders(headers) {
if (!headers["x-goog-user-project"] && // don't override a value the user sets.
this.quotaProjectId) {
headers["x-goog-user-project"] = this.quotaProjectId;
}
return headers;
}
/**
* Retry config for Auth-related requests.
*
* @remarks
*
* This is not a part of the default {@link AuthClient.transporter transporter/gaxios}
* config as some downstream APIs would prefer if customers explicitly enable retries,
* such as GCS.
*/
static get RETRY_CONFIG() {
return {
retry: true,
retryConfig: {
httpMethodsToRetry: ["GET", "PUT", "POST", "HEAD", "OPTIONS", "DELETE"]
}
};
}
};
exports2.AuthClient = AuthClient;
}
});
// node_modules/google-auth-library/build/src/auth/loginticket.js
var require_loginticket = __commonJS({
"node_modules/google-auth-library/build/src/auth/loginticket.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LoginTicket = void 0;
var LoginTicket = class {
/**
* Create a simple class to extract user ID from an ID Token
*
* @param {string} env Envelope of the jwt
* @param {TokenPayload} pay Payload of the jwt
* @constructor
*/
constructor(env2, pay) {
this.envelope = env2;
this.payload = pay;
}
getEnvelope() {
return this.envelope;
}
getPayload() {
return this.payload;
}
/**
* Create a simple class to extract user ID from an ID Token
*
* @return The user ID
*/
getUserId() {
const payload = this.getPayload();
if (payload && payload.sub) {
return payload.sub;
}
return null;
}
/**
* Returns attributes from the login ticket. This can contain
* various information about the user session.
*
* @return The envelope and payload
*/
getAttributes() {
return { envelope: this.getEnvelope(), payload: this.getPayload() };
}
};
exports2.LoginTicket = LoginTicket;
}
});
// node_modules/google-auth-library/build/src/auth/oauth2client.js
var require_oauth2client = __commonJS({
"node_modules/google-auth-library/build/src/auth/oauth2client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OAuth2Client = exports2.ClientAuthentication = exports2.CertificateFormat = exports2.CodeChallengeMethod = void 0;
var gaxios_1 = require_src2();
var querystring = __require("querystring");
var stream2 = __require("stream");
var formatEcdsa = require_ecdsa_sig_formatter();
var crypto_1 = require_crypto3();
var authclient_1 = require_authclient();
var loginticket_1 = require_loginticket();
var CodeChallengeMethod2;
(function(CodeChallengeMethod3) {
CodeChallengeMethod3["Plain"] = "plain";
CodeChallengeMethod3["S256"] = "S256";
})(CodeChallengeMethod2 || (exports2.CodeChallengeMethod = CodeChallengeMethod2 = {}));
var CertificateFormat;
(function(CertificateFormat2) {
CertificateFormat2["PEM"] = "PEM";
CertificateFormat2["JWK"] = "JWK";
})(CertificateFormat || (exports2.CertificateFormat = CertificateFormat = {}));
var ClientAuthentication;
(function(ClientAuthentication2) {
ClientAuthentication2["ClientSecretPost"] = "ClientSecretPost";
ClientAuthentication2["ClientSecretBasic"] = "ClientSecretBasic";
ClientAuthentication2["None"] = "None";
})(ClientAuthentication || (exports2.ClientAuthentication = ClientAuthentication = {}));
var OAuth2Client2 = class _OAuth2Client extends authclient_1.AuthClient {
constructor(optionsOrClientId, clientSecret, redirectUri) {
const opts = optionsOrClientId && typeof optionsOrClientId === "object" ? optionsOrClientId : { clientId: optionsOrClientId, clientSecret, redirectUri };
super(opts);
this.certificateCache = {};
this.certificateExpiry = null;
this.certificateCacheFormat = CertificateFormat.PEM;
this.refreshTokenPromises = /* @__PURE__ */ new Map();
this._clientId = opts.clientId;
this._clientSecret = opts.clientSecret;
this.redirectUri = opts.redirectUri;
this.endpoints = {
tokenInfoUrl: "https://oauth2.googleapis.com/tokeninfo",
oauth2AuthBaseUrl: "https://accounts.google.com/o/oauth2/v2/auth",
oauth2TokenUrl: "https://oauth2.googleapis.com/token",
oauth2RevokeUrl: "https://oauth2.googleapis.com/revoke",
oauth2FederatedSignonPemCertsUrl: "https://www.googleapis.com/oauth2/v1/certs",
oauth2FederatedSignonJwkCertsUrl: "https://www.googleapis.com/oauth2/v3/certs",
oauth2IapPublicKeyUrl: "https://www.gstatic.com/iap/verify/public_key",
...opts.endpoints
};
this.clientAuthentication = opts.clientAuthentication || ClientAuthentication.ClientSecretPost;
this.issuers = opts.issuers || [
"accounts.google.com",
"https://accounts.google.com",
this.universeDomain
];
}
/**
* Generates URL for consent page landing.
* @param opts Options.
* @return URL to consent page.
*/
generateAuthUrl(opts = {}) {
if (opts.code_challenge_method && !opts.code_challenge) {
throw new Error("If a code_challenge_method is provided, code_challenge must be included.");
}
opts.response_type = opts.response_type || "code";
opts.client_id = opts.client_id || this._clientId;
opts.redirect_uri = opts.redirect_uri || this.redirectUri;
if (Array.isArray(opts.scope)) {
opts.scope = opts.scope.join(" ");
}
const rootUrl = this.endpoints.oauth2AuthBaseUrl.toString();
return rootUrl + "?" + querystring.stringify(opts);
}
generateCodeVerifier() {
throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.");
}
/**
* Convenience method to automatically generate a code_verifier, and its
* resulting SHA256. If used, this must be paired with a S256
* code_challenge_method.
*
* For a full example see:
* https://github.com/googleapis/google-auth-library-nodejs/blob/main/samples/oauth2-codeVerifier.js
*/
async generateCodeVerifierAsync() {
const crypto22 = (0, crypto_1.createCrypto)();
const randomString2 = crypto22.randomBytesBase64(96);
const codeVerifier = randomString2.replace(/\+/g, "~").replace(/=/g, "_").replace(/\//g, "-");
const unencodedCodeChallenge = await crypto22.sha256DigestBase64(codeVerifier);
const codeChallenge = unencodedCodeChallenge.split("=")[0].replace(/\+/g, "-").replace(/\//g, "_");
return { codeVerifier, codeChallenge };
}
getToken(codeOrOptions, callback) {
const options = typeof codeOrOptions === "string" ? { code: codeOrOptions } : codeOrOptions;
if (callback) {
this.getTokenAsync(options).then((r2) => callback(null, r2.tokens, r2.res), (e2) => callback(e2, null, e2.response));
} else {
return this.getTokenAsync(options);
}
}
async getTokenAsync(options) {
const url3 = this.endpoints.oauth2TokenUrl.toString();
const headers = {
"Content-Type": "application/x-www-form-urlencoded"
};
const values = {
client_id: options.client_id || this._clientId,
code_verifier: options.codeVerifier,
code: options.code,
grant_type: "authorization_code",
redirect_uri: options.redirect_uri || this.redirectUri
};
if (this.clientAuthentication === ClientAuthentication.ClientSecretBasic) {
const basic = Buffer.from(`${this._clientId}:${this._clientSecret}`);
headers["Authorization"] = `Basic ${basic.toString("base64")}`;
}
if (this.clientAuthentication === ClientAuthentication.ClientSecretPost) {
values.client_secret = this._clientSecret;
}
const res = await this.transporter.request({
..._OAuth2Client.RETRY_CONFIG,
method: "POST",
url: url3,
data: querystring.stringify(values),
headers
});
const tokens = res.data;
if (res.data && res.data.expires_in) {
tokens.expiry_date = (/* @__PURE__ */ new Date()).getTime() + res.data.expires_in * 1e3;
delete tokens.expires_in;
}
this.emit("tokens", tokens);
return { tokens, res };
}
/**
* Refreshes the access token.
* @param refresh_token Existing refresh token.
* @private
*/
async refreshToken(refreshToken) {
if (!refreshToken) {
return this.refreshTokenNoCache(refreshToken);
}
if (this.refreshTokenPromises.has(refreshToken)) {
return this.refreshTokenPromises.get(refreshToken);
}
const p = this.refreshTokenNoCache(refreshToken).then((r2) => {
this.refreshTokenPromises.delete(refreshToken);
return r2;
}, (e2) => {
this.refreshTokenPromises.delete(refreshToken);
throw e2;
});
this.refreshTokenPromises.set(refreshToken, p);
return p;
}
async refreshTokenNoCache(refreshToken) {
var _a4;
if (!refreshToken) {
throw new Error("No refresh token is set.");
}
const url3 = this.endpoints.oauth2TokenUrl.toString();
const data = {
refresh_token: refreshToken,
client_id: this._clientId,
client_secret: this._clientSecret,
grant_type: "refresh_token"
};
let res;
try {
res = await this.transporter.request({
..._OAuth2Client.RETRY_CONFIG,
method: "POST",
url: url3,
data: querystring.stringify(data),
headers: { "Content-Type": "application/x-www-form-urlencoded" }
});
} catch (e2) {
if (e2 instanceof gaxios_1.GaxiosError && e2.message === "invalid_grant" && ((_a4 = e2.response) === null || _a4 === void 0 ? void 0 : _a4.data) && /ReAuth/i.test(e2.response.data.error_description)) {
e2.message = JSON.stringify(e2.response.data);
}
throw e2;
}
const tokens = res.data;
if (res.data && res.data.expires_in) {
tokens.expiry_date = (/* @__PURE__ */ new Date()).getTime() + res.data.expires_in * 1e3;
delete tokens.expires_in;
}
this.emit("tokens", tokens);
return { tokens, res };
}
refreshAccessToken(callback) {
if (callback) {
this.refreshAccessTokenAsync().then((r2) => callback(null, r2.credentials, r2.res), callback);
} else {
return this.refreshAccessTokenAsync();
}
}
async refreshAccessTokenAsync() {
const r2 = await this.refreshToken(this.credentials.refresh_token);
const tokens = r2.tokens;
tokens.refresh_token = this.credentials.refresh_token;
this.credentials = tokens;
return { credentials: this.credentials, res: r2.res };
}
getAccessToken(callback) {
if (callback) {
this.getAccessTokenAsync().then((r2) => callback(null, r2.token, r2.res), callback);
} else {
return this.getAccessTokenAsync();
}
}
async getAccessTokenAsync() {
const shouldRefresh = !this.credentials.access_token || this.isTokenExpiring();
if (shouldRefresh) {
if (!this.credentials.refresh_token) {
if (this.refreshHandler) {
const refreshedAccessToken = await this.processAndValidateRefreshHandler();
if (refreshedAccessToken === null || refreshedAccessToken === void 0 ? void 0 : refreshedAccessToken.access_token) {
this.setCredentials(refreshedAccessToken);
return { token: this.credentials.access_token };
}
} else {
throw new Error("No refresh token or refresh handler callback is set.");
}
}
const r2 = await this.refreshAccessTokenAsync();
if (!r2.credentials || r2.credentials && !r2.credentials.access_token) {
throw new Error("Could not refresh access token.");
}
return { token: r2.credentials.access_token, res: r2.res };
} else {
return { token: this.credentials.access_token };
}
}
/**
* The main authentication interface. It takes an optional url which when
* present is the endpoint being accessed, and returns a Promise which
* resolves with authorization header fields.
*
* In OAuth2Client, the result has the form:
* { Authorization: 'Bearer <access_token_value>' }
* @param url The optional url being authorized
*/
async getRequestHeaders(url3) {
const headers = (await this.getRequestMetadataAsync(url3)).headers;
return headers;
}
async getRequestMetadataAsync(url3) {
const thisCreds = this.credentials;
if (!thisCreds.access_token && !thisCreds.refresh_token && !this.apiKey && !this.refreshHandler) {
throw new Error("No access, refresh token, API key or refresh handler callback is set.");
}
if (thisCreds.access_token && !this.isTokenExpiring()) {
thisCreds.token_type = thisCreds.token_type || "Bearer";
const headers2 = {
Authorization: thisCreds.token_type + " " + thisCreds.access_token
};
return { headers: this.addSharedMetadataHeaders(headers2) };
}
if (this.refreshHandler) {
const refreshedAccessToken = await this.processAndValidateRefreshHandler();
if (refreshedAccessToken === null || refreshedAccessToken === void 0 ? void 0 : refreshedAccessToken.access_token) {
this.setCredentials(refreshedAccessToken);
const headers2 = {
Authorization: "Bearer " + this.credentials.access_token
};
return { headers: this.addSharedMetadataHeaders(headers2) };
}
}
if (this.apiKey) {
return { headers: { "X-Goog-Api-Key": this.apiKey } };
}
let r2 = null;
let tokens = null;
try {
r2 = await this.refreshToken(thisCreds.refresh_token);
tokens = r2.tokens;
} catch (err2) {
const e2 = err2;
if (e2.response && (e2.response.status === 403 || e2.response.status === 404)) {
e2.message = `Could not refresh access token: ${e2.message}`;
}
throw e2;
}
const credentials3 = this.credentials;
credentials3.token_type = credentials3.token_type || "Bearer";
tokens.refresh_token = credentials3.refresh_token;
this.credentials = tokens;
const headers = {
Authorization: credentials3.token_type + " " + tokens.access_token
};
return { headers: this.addSharedMetadataHeaders(headers), res: r2.res };
}
/**
* Generates an URL to revoke the given token.
* @param token The existing token to be revoked.
*
* @deprecated use instance method {@link OAuth2Client.getRevokeTokenURL}
*/
static getRevokeTokenUrl(token2) {
return new _OAuth2Client().getRevokeTokenURL(token2).toString();
}
/**
* Generates a URL to revoke the given token.
*
* @param token The existing token to be revoked.
*/
getRevokeTokenURL(token2) {
const url3 = new URL(this.endpoints.oauth2RevokeUrl);
url3.searchParams.append("token", token2);
return url3;
}
revokeToken(token2, callback) {
const opts = {
..._OAuth2Client.RETRY_CONFIG,
url: this.getRevokeTokenURL(token2).toString(),
method: "POST"
};
if (callback) {
this.transporter.request(opts).then((r2) => callback(null, r2), callback);
} else {
return this.transporter.request(opts);
}
}
revokeCredentials(callback) {
if (callback) {
this.revokeCredentialsAsync().then((res) => callback(null, res), callback);
} else {
return this.revokeCredentialsAsync();
}
}
async revokeCredentialsAsync() {
const token2 = this.credentials.access_token;
this.credentials = {};
if (token2) {
return this.revokeToken(token2);
} else {
throw new Error("No access token to revoke.");
}
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
async requestAsync(opts, reAuthRetried = false) {
let r2;
try {
const r3 = await this.getRequestMetadataAsync(opts.url);
opts.headers = opts.headers || {};
if (r3.headers && r3.headers["x-goog-user-project"]) {
opts.headers["x-goog-user-project"] = r3.headers["x-goog-user-project"];
}
if (r3.headers && r3.headers.Authorization) {
opts.headers.Authorization = r3.headers.Authorization;
}
if (this.apiKey) {
opts.headers["X-Goog-Api-Key"] = this.apiKey;
}
r2 = await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const mayRequireRefresh = this.credentials && this.credentials.access_token && this.credentials.refresh_token && (!this.credentials.expiry_date || this.forceRefreshOnFailure);
const mayRequireRefreshWithNoRefreshToken = this.credentials && this.credentials.access_token && !this.credentials.refresh_token && (!this.credentials.expiry_date || this.forceRefreshOnFailure) && this.refreshHandler;
const isReadableStream4 = res.config.data instanceof stream2.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream4 && mayRequireRefresh) {
await this.refreshAccessTokenAsync();
return this.requestAsync(opts, true);
} else if (!reAuthRetried && isAuthErr && !isReadableStream4 && mayRequireRefreshWithNoRefreshToken) {
const refreshedAccessToken = await this.processAndValidateRefreshHandler();
if (refreshedAccessToken === null || refreshedAccessToken === void 0 ? void 0 : refreshedAccessToken.access_token) {
this.setCredentials(refreshedAccessToken);
}
return this.requestAsync(opts, true);
}
}
throw e2;
}
return r2;
}
verifyIdToken(options, callback) {
if (callback && typeof callback !== "function") {
throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");
}
if (callback) {
this.verifyIdTokenAsync(options).then((r2) => callback(null, r2), callback);
} else {
return this.verifyIdTokenAsync(options);
}
}
async verifyIdTokenAsync(options) {
if (!options.idToken) {
throw new Error("The verifyIdToken method requires an ID Token");
}
const response = await this.getFederatedSignonCertsAsync();
const login = await this.verifySignedJwtWithCertsAsync(options.idToken, response.certs, options.audience, this.issuers, options.maxExpiry);
return login;
}
/**
* Obtains information about the provisioned access token. Especially useful
* if you want to check the scopes that were provisioned to a given token.
*
* @param accessToken Required. The Access Token for which you want to get
* user info.
*/
async getTokenInfo(accessToken) {
const { data } = await this.transporter.request({
..._OAuth2Client.RETRY_CONFIG,
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
Authorization: `Bearer ${accessToken}`
},
url: this.endpoints.tokenInfoUrl.toString()
});
const info2 = Object.assign({
expiry_date: (/* @__PURE__ */ new Date()).getTime() + data.expires_in * 1e3,
scopes: data.scope.split(" ")
}, data);
delete info2.expires_in;
delete info2.scope;
return info2;
}
getFederatedSignonCerts(callback) {
if (callback) {
this.getFederatedSignonCertsAsync().then((r2) => callback(null, r2.certs, r2.res), callback);
} else {
return this.getFederatedSignonCertsAsync();
}
}
async getFederatedSignonCertsAsync() {
const nowTime = (/* @__PURE__ */ new Date()).getTime();
const format2 = (0, crypto_1.hasBrowserCrypto)() ? CertificateFormat.JWK : CertificateFormat.PEM;
if (this.certificateExpiry && nowTime < this.certificateExpiry.getTime() && this.certificateCacheFormat === format2) {
return { certs: this.certificateCache, format: format2 };
}
let res;
let url3;
switch (format2) {
case CertificateFormat.PEM:
url3 = this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();
break;
case CertificateFormat.JWK:
url3 = this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();
break;
default:
throw new Error(`Unsupported certificate format ${format2}`);
}
try {
res = await this.transporter.request({
..._OAuth2Client.RETRY_CONFIG,
url: url3
});
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Failed to retrieve verification certificates: ${e2.message}`;
}
throw e2;
}
const cacheControl = res ? res.headers["cache-control"] : void 0;
let cacheAge = -1;
if (cacheControl) {
const pattern = new RegExp("max-age=([0-9]*)");
const regexResult = pattern.exec(cacheControl);
if (regexResult && regexResult.length === 2) {
cacheAge = Number(regexResult[1]) * 1e3;
}
}
let certificates = {};
switch (format2) {
case CertificateFormat.PEM:
certificates = res.data;
break;
case CertificateFormat.JWK:
for (const key of res.data.keys) {
certificates[key.kid] = key;
}
break;
default:
throw new Error(`Unsupported certificate format ${format2}`);
}
const now = /* @__PURE__ */ new Date();
this.certificateExpiry = cacheAge === -1 ? null : new Date(now.getTime() + cacheAge);
this.certificateCache = certificates;
this.certificateCacheFormat = format2;
return { certs: certificates, format: format2, res };
}
getIapPublicKeys(callback) {
if (callback) {
this.getIapPublicKeysAsync().then((r2) => callback(null, r2.pubkeys, r2.res), callback);
} else {
return this.getIapPublicKeysAsync();
}
}
async getIapPublicKeysAsync() {
let res;
const url3 = this.endpoints.oauth2IapPublicKeyUrl.toString();
try {
res = await this.transporter.request({
..._OAuth2Client.RETRY_CONFIG,
url: url3
});
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Failed to retrieve verification certificates: ${e2.message}`;
}
throw e2;
}
return { pubkeys: res.data, res };
}
verifySignedJwtWithCerts() {
throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.");
}
/**
* Verify the id token is signed with the correct certificate
* and is from the correct audience.
* @param jwt The jwt to verify (The ID Token in this case).
* @param certs The array of certs to test the jwt against.
* @param requiredAudience The audience to test the jwt against.
* @param issuers The allowed issuers of the jwt (Optional).
* @param maxExpiry The max expiry the certificate can be (Optional).
* @return Returns a promise resolving to LoginTicket on verification.
*/
async verifySignedJwtWithCertsAsync(jwt2, certs, requiredAudience, issuers, maxExpiry) {
const crypto22 = (0, crypto_1.createCrypto)();
if (!maxExpiry) {
maxExpiry = _OAuth2Client.DEFAULT_MAX_TOKEN_LIFETIME_SECS_;
}
const segments = jwt2.split(".");
if (segments.length !== 3) {
throw new Error("Wrong number of segments in token: " + jwt2);
}
const signed = segments[0] + "." + segments[1];
let signature = segments[2];
let envelope;
let payload;
try {
envelope = JSON.parse(crypto22.decodeBase64StringUtf8(segments[0]));
} catch (err2) {
if (err2 instanceof Error) {
err2.message = `Can't parse token envelope: ${segments[0]}': ${err2.message}`;
}
throw err2;
}
if (!envelope) {
throw new Error("Can't parse token envelope: " + segments[0]);
}
try {
payload = JSON.parse(crypto22.decodeBase64StringUtf8(segments[1]));
} catch (err2) {
if (err2 instanceof Error) {
err2.message = `Can't parse token payload '${segments[0]}`;
}
throw err2;
}
if (!payload) {
throw new Error("Can't parse token payload: " + segments[1]);
}
if (!Object.prototype.hasOwnProperty.call(certs, envelope.kid)) {
throw new Error("No pem found for envelope: " + JSON.stringify(envelope));
}
const cert = certs[envelope.kid];
if (envelope.alg === "ES256") {
signature = formatEcdsa.joseToDer(signature, "ES256").toString("base64");
}
const verified = await crypto22.verify(cert, signed, signature);
if (!verified) {
throw new Error("Invalid token signature: " + jwt2);
}
if (!payload.iat) {
throw new Error("No issue time in token: " + JSON.stringify(payload));
}
if (!payload.exp) {
throw new Error("No expiration time in token: " + JSON.stringify(payload));
}
const iat = Number(payload.iat);
if (isNaN(iat))
throw new Error("iat field using invalid format");
const exp = Number(payload.exp);
if (isNaN(exp))
throw new Error("exp field using invalid format");
const now = (/* @__PURE__ */ new Date()).getTime() / 1e3;
if (exp >= now + maxExpiry) {
throw new Error("Expiration time too far in future: " + JSON.stringify(payload));
}
const earliest = iat - _OAuth2Client.CLOCK_SKEW_SECS_;
const latest = exp + _OAuth2Client.CLOCK_SKEW_SECS_;
if (now < earliest) {
throw new Error("Token used too early, " + now + " < " + earliest + ": " + JSON.stringify(payload));
}
if (now > latest) {
throw new Error("Token used too late, " + now + " > " + latest + ": " + JSON.stringify(payload));
}
if (issuers && issuers.indexOf(payload.iss) < 0) {
throw new Error("Invalid issuer, expected one of [" + issuers + "], but got " + payload.iss);
}
if (typeof requiredAudience !== "undefined" && requiredAudience !== null) {
const aud = payload.aud;
let audVerified = false;
if (requiredAudience.constructor === Array) {
audVerified = requiredAudience.indexOf(aud) > -1;
} else {
audVerified = aud === requiredAudience;
}
if (!audVerified) {
throw new Error("Wrong recipient, payload audience != requiredAudience");
}
}
return new loginticket_1.LoginTicket(envelope, payload);
}
/**
* Returns a promise that resolves with AccessTokenResponse type if
* refreshHandler is defined.
* If not, nothing is returned.
*/
async processAndValidateRefreshHandler() {
if (this.refreshHandler) {
const accessTokenResponse = await this.refreshHandler();
if (!accessTokenResponse.access_token) {
throw new Error("No access token is returned by the refreshHandler callback.");
}
return accessTokenResponse;
}
return;
}
/**
* Returns true if a token is expired or will expire within
* eagerRefreshThresholdMillismilliseconds.
* If there is no expiry time, assumes the token is not expired or expiring.
*/
isTokenExpiring() {
const expiryDate = this.credentials.expiry_date;
return expiryDate ? expiryDate <= (/* @__PURE__ */ new Date()).getTime() + this.eagerRefreshThresholdMillis : false;
}
};
exports2.OAuth2Client = OAuth2Client2;
OAuth2Client2.GOOGLE_TOKEN_INFO_URL = "https://oauth2.googleapis.com/tokeninfo";
OAuth2Client2.CLOCK_SKEW_SECS_ = 300;
OAuth2Client2.DEFAULT_MAX_TOKEN_LIFETIME_SECS_ = 86400;
}
});
// node_modules/google-auth-library/build/src/auth/computeclient.js
var require_computeclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/computeclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Compute = void 0;
var gaxios_1 = require_src2();
var gcpMetadata = require_src4();
var oauth2client_1 = require_oauth2client();
var Compute2 = class extends oauth2client_1.OAuth2Client {
/**
* Google Compute Engine service account credentials.
*
* Retrieve access token from the metadata server.
* See: https://cloud.google.com/compute/docs/access/authenticate-workloads#applications
*/
constructor(options = {}) {
super(options);
this.credentials = { expiry_date: 1, refresh_token: "compute-placeholder" };
this.serviceAccountEmail = options.serviceAccountEmail || "default";
this.scopes = Array.isArray(options.scopes) ? options.scopes : options.scopes ? [options.scopes] : [];
}
/**
* Refreshes the access token.
* @param refreshToken Unused parameter
*/
async refreshTokenNoCache(refreshToken) {
const tokenPath = `service-accounts/${this.serviceAccountEmail}/token`;
let data;
try {
const instanceOptions = {
property: tokenPath
};
if (this.scopes.length > 0) {
instanceOptions.params = {
scopes: this.scopes.join(",")
};
}
data = await gcpMetadata.instance(instanceOptions);
} catch (e2) {
if (e2 instanceof gaxios_1.GaxiosError) {
e2.message = `Could not refresh access token: ${e2.message}`;
this.wrapError(e2);
}
throw e2;
}
const tokens = data;
if (data && data.expires_in) {
tokens.expiry_date = (/* @__PURE__ */ new Date()).getTime() + data.expires_in * 1e3;
delete tokens.expires_in;
}
this.emit("tokens", tokens);
return { tokens, res: null };
}
/**
* Fetches an ID token.
* @param targetAudience the audience for the fetched ID token.
*/
async fetchIdToken(targetAudience) {
const idTokenPath = `service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${targetAudience}`;
let idToken;
try {
const instanceOptions = {
property: idTokenPath
};
idToken = await gcpMetadata.instance(instanceOptions);
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Could not fetch ID token: ${e2.message}`;
}
throw e2;
}
return idToken;
}
wrapError(e2) {
const res = e2.response;
if (res && res.status) {
e2.status = res.status;
if (res.status === 403) {
e2.message = "A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: " + e2.message;
} else if (res.status === 404) {
e2.message = "A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: " + e2.message;
}
}
}
};
exports2.Compute = Compute2;
}
});
// node_modules/google-auth-library/build/src/auth/idtokenclient.js
var require_idtokenclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/idtokenclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.IdTokenClient = void 0;
var oauth2client_1 = require_oauth2client();
var IdTokenClient = class extends oauth2client_1.OAuth2Client {
/**
* Google ID Token client
*
* Retrieve ID token from the metadata server.
* See: https://cloud.google.com/docs/authentication/get-id-token#metadata-server
*/
constructor(options) {
super(options);
this.targetAudience = options.targetAudience;
this.idTokenProvider = options.idTokenProvider;
}
async getRequestMetadataAsync(url3) {
if (!this.credentials.id_token || !this.credentials.expiry_date || this.isTokenExpiring()) {
const idToken = await this.idTokenProvider.fetchIdToken(this.targetAudience);
this.credentials = {
id_token: idToken,
expiry_date: this.getIdTokenExpiryDate(idToken)
};
}
const headers = {
Authorization: "Bearer " + this.credentials.id_token
};
return { headers };
}
getIdTokenExpiryDate(idToken) {
const payloadB64 = idToken.split(".")[1];
if (payloadB64) {
const payload = JSON.parse(Buffer.from(payloadB64, "base64").toString("ascii"));
return payload.exp * 1e3;
}
}
};
exports2.IdTokenClient = IdTokenClient;
}
});
// node_modules/google-auth-library/build/src/auth/envDetect.js
var require_envDetect = __commonJS({
"node_modules/google-auth-library/build/src/auth/envDetect.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GCPEnv = void 0;
exports2.clear = clear;
exports2.getEnv = getEnv2;
var gcpMetadata = require_src4();
var GCPEnv;
(function(GCPEnv2) {
GCPEnv2["APP_ENGINE"] = "APP_ENGINE";
GCPEnv2["KUBERNETES_ENGINE"] = "KUBERNETES_ENGINE";
GCPEnv2["CLOUD_FUNCTIONS"] = "CLOUD_FUNCTIONS";
GCPEnv2["COMPUTE_ENGINE"] = "COMPUTE_ENGINE";
GCPEnv2["CLOUD_RUN"] = "CLOUD_RUN";
GCPEnv2["NONE"] = "NONE";
})(GCPEnv || (exports2.GCPEnv = GCPEnv = {}));
var envPromise;
function clear() {
envPromise = void 0;
}
async function getEnv2() {
if (envPromise) {
return envPromise;
}
envPromise = getEnvMemoized();
return envPromise;
}
async function getEnvMemoized() {
let env2 = GCPEnv.NONE;
if (isAppEngine()) {
env2 = GCPEnv.APP_ENGINE;
} else if (isCloudFunction()) {
env2 = GCPEnv.CLOUD_FUNCTIONS;
} else if (await isComputeEngine()) {
if (await isKubernetesEngine()) {
env2 = GCPEnv.KUBERNETES_ENGINE;
} else if (isCloudRun()) {
env2 = GCPEnv.CLOUD_RUN;
} else {
env2 = GCPEnv.COMPUTE_ENGINE;
}
} else {
env2 = GCPEnv.NONE;
}
return env2;
}
function isAppEngine() {
return !!(process.env.GAE_SERVICE || process.env.GAE_MODULE_NAME);
}
function isCloudFunction() {
return !!(process.env.FUNCTION_NAME || process.env.FUNCTION_TARGET);
}
function isCloudRun() {
return !!process.env.K_CONFIGURATION;
}
async function isKubernetesEngine() {
try {
await gcpMetadata.instance("attributes/cluster-name");
return true;
} catch (e2) {
return false;
}
}
async function isComputeEngine() {
return gcpMetadata.isAvailable();
}
}
});
// node_modules/gtoken/build/src/index.js
var require_src5 = __commonJS({
"node_modules/gtoken/build/src/index.js"(exports2) {
"use strict";
var __classPrivateFieldGet2 = exports2 && exports2.__classPrivateFieldGet || function(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = exports2 && exports2.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
};
var _GoogleToken_instances;
var _GoogleToken_inFlightRequest;
var _GoogleToken_getTokenAsync;
var _GoogleToken_getTokenAsyncInner;
var _GoogleToken_ensureEmail;
var _GoogleToken_revokeTokenAsync;
var _GoogleToken_configure;
var _GoogleToken_requestToken;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GoogleToken = void 0;
var fs84 = __require("fs");
var gaxios_1 = require_src2();
var jws = require_jws();
var path101 = __require("path");
var util_1 = __require("util");
var readFile12 = fs84.readFile ? (0, util_1.promisify)(fs84.readFile) : async () => {
throw new ErrorWithCode("use key rather than keyFile.", "MISSING_CREDENTIALS");
};
var GOOGLE_TOKEN_URL = "https://www.googleapis.com/oauth2/v4/token";
var GOOGLE_REVOKE_TOKEN_URL = "https://accounts.google.com/o/oauth2/revoke?token=";
var ErrorWithCode = class extends Error {
constructor(message, code) {
super(message);
this.code = code;
}
};
var GoogleToken = class {
get accessToken() {
return this.rawToken ? this.rawToken.access_token : void 0;
}
get idToken() {
return this.rawToken ? this.rawToken.id_token : void 0;
}
get tokenType() {
return this.rawToken ? this.rawToken.token_type : void 0;
}
get refreshToken() {
return this.rawToken ? this.rawToken.refresh_token : void 0;
}
/**
* Create a GoogleToken.
*
* @param options Configuration object.
*/
constructor(options) {
_GoogleToken_instances.add(this);
this.transporter = {
request: (opts) => (0, gaxios_1.request)(opts)
};
_GoogleToken_inFlightRequest.set(this, void 0);
__classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_configure).call(this, options);
}
/**
* Returns whether the token has expired.
*
* @return true if the token has expired, false otherwise.
*/
hasExpired() {
const now = (/* @__PURE__ */ new Date()).getTime();
if (this.rawToken && this.expiresAt) {
return now >= this.expiresAt;
} else {
return true;
}
}
/**
* Returns whether the token will expire within eagerRefreshThresholdMillis
*
* @return true if the token will be expired within eagerRefreshThresholdMillis, false otherwise.
*/
isTokenExpiring() {
var _a4;
const now = (/* @__PURE__ */ new Date()).getTime();
const eagerRefreshThresholdMillis = (_a4 = this.eagerRefreshThresholdMillis) !== null && _a4 !== void 0 ? _a4 : 0;
if (this.rawToken && this.expiresAt) {
return this.expiresAt <= now + eagerRefreshThresholdMillis;
} else {
return true;
}
}
getToken(callback, opts = {}) {
if (typeof callback === "object") {
opts = callback;
callback = void 0;
}
opts = Object.assign({
forceRefresh: false
}, opts);
if (callback) {
const cb = callback;
__classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_getTokenAsync).call(this, opts).then((t2) => cb(null, t2), callback);
return;
}
return __classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_getTokenAsync).call(this, opts);
}
/**
* Given a keyFile, extract the key and client email if available
* @param keyFile Path to a json, pem, or p12 file that contains the key.
* @returns an object with privateKey and clientEmail properties
*/
async getCredentials(keyFile) {
const ext2 = path101.extname(keyFile);
switch (ext2) {
case ".json": {
const key = await readFile12(keyFile, "utf8");
const body2 = JSON.parse(key);
const privateKey = body2.private_key;
const clientEmail = body2.client_email;
if (!privateKey || !clientEmail) {
throw new ErrorWithCode("private_key and client_email are required.", "MISSING_CREDENTIALS");
}
return { privateKey, clientEmail };
}
case ".der":
case ".crt":
case ".pem": {
const privateKey = await readFile12(keyFile, "utf8");
return { privateKey };
}
case ".p12":
case ".pfx": {
throw new ErrorWithCode("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.", "UNKNOWN_CERTIFICATE_TYPE");
}
default:
throw new ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.", "UNKNOWN_CERTIFICATE_TYPE");
}
}
revokeToken(callback) {
if (callback) {
__classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_revokeTokenAsync).call(this).then(() => callback(), callback);
return;
}
return __classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_revokeTokenAsync).call(this);
}
};
exports2.GoogleToken = GoogleToken;
_GoogleToken_inFlightRequest = /* @__PURE__ */ new WeakMap(), _GoogleToken_instances = /* @__PURE__ */ new WeakSet(), _GoogleToken_getTokenAsync = async function _GoogleToken_getTokenAsync2(opts) {
if (__classPrivateFieldGet2(this, _GoogleToken_inFlightRequest, "f") && !opts.forceRefresh) {
return __classPrivateFieldGet2(this, _GoogleToken_inFlightRequest, "f");
}
try {
return await __classPrivateFieldSet(this, _GoogleToken_inFlightRequest, __classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_getTokenAsyncInner).call(this, opts), "f");
} finally {
__classPrivateFieldSet(this, _GoogleToken_inFlightRequest, void 0, "f");
}
}, _GoogleToken_getTokenAsyncInner = async function _GoogleToken_getTokenAsyncInner2(opts) {
if (this.isTokenExpiring() === false && opts.forceRefresh === false) {
return Promise.resolve(this.rawToken);
}
if (!this.key && !this.keyFile) {
throw new Error("No key or keyFile set.");
}
if (!this.key && this.keyFile) {
const creds = await this.getCredentials(this.keyFile);
this.key = creds.privateKey;
this.iss = creds.clientEmail || this.iss;
if (!creds.clientEmail) {
__classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_ensureEmail).call(this);
}
}
return __classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_requestToken).call(this);
}, _GoogleToken_ensureEmail = function _GoogleToken_ensureEmail2() {
if (!this.iss) {
throw new ErrorWithCode("email is required.", "MISSING_CREDENTIALS");
}
}, _GoogleToken_revokeTokenAsync = async function _GoogleToken_revokeTokenAsync2() {
if (!this.accessToken) {
throw new Error("No token to revoke.");
}
const url3 = GOOGLE_REVOKE_TOKEN_URL + this.accessToken;
await this.transporter.request({
url: url3,
retry: true
});
__classPrivateFieldGet2(this, _GoogleToken_instances, "m", _GoogleToken_configure).call(this, {
email: this.iss,
sub: this.sub,
key: this.key,
keyFile: this.keyFile,
scope: this.scope,
additionalClaims: this.additionalClaims
});
}, _GoogleToken_configure = function _GoogleToken_configure2(options = {}) {
this.keyFile = options.keyFile;
this.key = options.key;
this.rawToken = void 0;
this.iss = options.email || options.iss;
this.sub = options.sub;
this.additionalClaims = options.additionalClaims;
if (typeof options.scope === "object") {
this.scope = options.scope.join(" ");
} else {
this.scope = options.scope;
}
this.eagerRefreshThresholdMillis = options.eagerRefreshThresholdMillis;
if (options.transporter) {
this.transporter = options.transporter;
}
}, _GoogleToken_requestToken = /**
* Request the token from Google.
*/
async function _GoogleToken_requestToken2() {
var _a4, _b;
const iat = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
const additionalClaims = this.additionalClaims || {};
const payload = Object.assign({
iss: this.iss,
scope: this.scope,
aud: GOOGLE_TOKEN_URL,
exp: iat + 3600,
iat,
sub: this.sub
}, additionalClaims);
const signedJWT = jws.sign({
header: { alg: "RS256" },
payload,
secret: this.key
});
try {
const r2 = await this.transporter.request({
method: "POST",
url: GOOGLE_TOKEN_URL,
data: {
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
assertion: signedJWT
},
headers: { "Content-Type": "application/x-www-form-urlencoded" },
responseType: "json",
retryConfig: {
httpMethodsToRetry: ["POST"]
}
});
this.rawToken = r2.data;
this.expiresAt = r2.data.expires_in === null || r2.data.expires_in === void 0 ? void 0 : (iat + r2.data.expires_in) * 1e3;
return this.rawToken;
} catch (e2) {
this.rawToken = void 0;
this.tokenExpires = void 0;
const body2 = e2.response && ((_a4 = e2.response) === null || _a4 === void 0 ? void 0 : _a4.data) ? (_b = e2.response) === null || _b === void 0 ? void 0 : _b.data : {};
if (body2.error) {
const desc = body2.error_description ? `: ${body2.error_description}` : "";
e2.message = `${body2.error}${desc}`;
}
throw e2;
}
};
}
});
// node_modules/google-auth-library/build/src/auth/jwtaccess.js
var require_jwtaccess = __commonJS({
"node_modules/google-auth-library/build/src/auth/jwtaccess.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JWTAccess = void 0;
var jws = require_jws();
var util_1 = require_util2();
var DEFAULT_HEADER = {
alg: "RS256",
typ: "JWT"
};
var JWTAccess = class _JWTAccess {
/**
* JWTAccess service account credentials.
*
* Create a new access token by using the credential to create a new JWT token
* that's recognized as the access token.
*
* @param email the service account email address.
* @param key the private key that will be used to sign the token.
* @param keyId the ID of the private key used to sign the token.
*/
constructor(email3, key, keyId, eagerRefreshThresholdMillis) {
this.cache = new util_1.LRUCache({
capacity: 500,
maxAge: 60 * 60 * 1e3
});
this.email = email3;
this.key = key;
this.keyId = keyId;
this.eagerRefreshThresholdMillis = eagerRefreshThresholdMillis !== null && eagerRefreshThresholdMillis !== void 0 ? eagerRefreshThresholdMillis : 5 * 60 * 1e3;
}
/**
* Ensures that we're caching a key appropriately, giving precedence to scopes vs. url
*
* @param url The URI being authorized.
* @param scopes The scope or scopes being authorized
* @returns A string that returns the cached key.
*/
getCachedKey(url3, scopes) {
let cacheKey = url3;
if (scopes && Array.isArray(scopes) && scopes.length) {
cacheKey = url3 ? `${url3}_${scopes.join("_")}` : `${scopes.join("_")}`;
} else if (typeof scopes === "string") {
cacheKey = url3 ? `${url3}_${scopes}` : scopes;
}
if (!cacheKey) {
throw Error("Scopes or url must be provided");
}
return cacheKey;
}
/**
* Get a non-expired access token, after refreshing if necessary.
*
* @param url The URI being authorized.
* @param additionalClaims An object with a set of additional claims to
* include in the payload.
* @returns An object that includes the authorization header.
*/
getRequestHeaders(url3, additionalClaims, scopes) {
const key = this.getCachedKey(url3, scopes);
const cachedToken = this.cache.get(key);
const now = Date.now();
if (cachedToken && cachedToken.expiration - now > this.eagerRefreshThresholdMillis) {
return cachedToken.headers;
}
const iat = Math.floor(Date.now() / 1e3);
const exp = _JWTAccess.getExpirationTime(iat);
let defaultClaims;
if (Array.isArray(scopes)) {
scopes = scopes.join(" ");
}
if (scopes) {
defaultClaims = {
iss: this.email,
sub: this.email,
scope: scopes,
exp,
iat
};
} else {
defaultClaims = {
iss: this.email,
sub: this.email,
aud: url3,
exp,
iat
};
}
if (additionalClaims) {
for (const claim in defaultClaims) {
if (additionalClaims[claim]) {
throw new Error(`The '${claim}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`);
}
}
}
const header = this.keyId ? { ...DEFAULT_HEADER, kid: this.keyId } : DEFAULT_HEADER;
const payload = Object.assign(defaultClaims, additionalClaims);
const signedJWT = jws.sign({ header, payload, secret: this.key });
const headers = { Authorization: `Bearer ${signedJWT}` };
this.cache.set(key, {
expiration: exp * 1e3,
headers
});
return headers;
}
/**
* Returns an expiration time for the JWT token.
*
* @param iat The issued at time for the JWT.
* @returns An expiration time for the JWT.
*/
static getExpirationTime(iat) {
const exp = iat + 3600;
return exp;
}
/**
* Create a JWTAccess credentials instance using the given input options.
* @param json The input object.
*/
fromJSON(json3) {
if (!json3) {
throw new Error("Must pass in a JSON object containing the service account auth settings.");
}
if (!json3.client_email) {
throw new Error("The incoming JSON object does not contain a client_email field");
}
if (!json3.private_key) {
throw new Error("The incoming JSON object does not contain a private_key field");
}
this.email = json3.client_email;
this.key = json3.private_key;
this.keyId = json3.private_key_id;
this.projectId = json3.project_id;
}
fromStream(inputStream, callback) {
if (callback) {
this.fromStreamAsync(inputStream).then(() => callback(), callback);
} else {
return this.fromStreamAsync(inputStream);
}
}
fromStreamAsync(inputStream) {
return new Promise((resolve25, reject) => {
if (!inputStream) {
reject(new Error("Must pass in a stream containing the service account auth settings."));
}
let s2 = "";
inputStream.setEncoding("utf8").on("data", (chunk) => s2 += chunk).on("error", reject).on("end", () => {
try {
const data = JSON.parse(s2);
this.fromJSON(data);
resolve25();
} catch (err2) {
reject(err2);
}
});
});
}
};
exports2.JWTAccess = JWTAccess;
}
});
// node_modules/google-auth-library/build/src/auth/jwtclient.js
var require_jwtclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/jwtclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JWT = void 0;
var gtoken_1 = require_src5();
var jwtaccess_1 = require_jwtaccess();
var oauth2client_1 = require_oauth2client();
var authclient_1 = require_authclient();
var JWT = class _JWT extends oauth2client_1.OAuth2Client {
constructor(optionsOrEmail, keyFile, key, scopes, subject, keyId) {
const opts = optionsOrEmail && typeof optionsOrEmail === "object" ? optionsOrEmail : { email: optionsOrEmail, keyFile, key, keyId, scopes, subject };
super(opts);
this.email = opts.email;
this.keyFile = opts.keyFile;
this.key = opts.key;
this.keyId = opts.keyId;
this.scopes = opts.scopes;
this.subject = opts.subject;
this.additionalClaims = opts.additionalClaims;
this.credentials = { refresh_token: "jwt-placeholder", expiry_date: 1 };
}
/**
* Creates a copy of the credential with the specified scopes.
* @param scopes List of requested scopes or a single scope.
* @return The cloned instance.
*/
createScoped(scopes) {
const jwt2 = new _JWT(this);
jwt2.scopes = scopes;
return jwt2;
}
/**
* Obtains the metadata to be sent with the request.
*
* @param url the URI being authorized.
*/
async getRequestMetadataAsync(url3) {
url3 = this.defaultServicePath ? `https://${this.defaultServicePath}/` : url3;
const useSelfSignedJWT = !this.hasUserScopes() && url3 || this.useJWTAccessWithScope && this.hasAnyScopes() || this.universeDomain !== authclient_1.DEFAULT_UNIVERSE;
if (this.subject && this.universeDomain !== authclient_1.DEFAULT_UNIVERSE) {
throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${authclient_1.DEFAULT_UNIVERSE}`);
}
if (!this.apiKey && useSelfSignedJWT) {
if (this.additionalClaims && this.additionalClaims.target_audience) {
const { tokens } = await this.refreshToken();
return {
headers: this.addSharedMetadataHeaders({
Authorization: `Bearer ${tokens.id_token}`
})
};
} else {
if (!this.access) {
this.access = new jwtaccess_1.JWTAccess(this.email, this.key, this.keyId, this.eagerRefreshThresholdMillis);
}
let scopes;
if (this.hasUserScopes()) {
scopes = this.scopes;
} else if (!url3) {
scopes = this.defaultScopes;
}
const useScopes = this.useJWTAccessWithScope || this.universeDomain !== authclient_1.DEFAULT_UNIVERSE;
const headers = await this.access.getRequestHeaders(
url3 !== null && url3 !== void 0 ? url3 : void 0,
this.additionalClaims,
// Scopes take precedent over audience for signing,
// so we only provide them if `useJWTAccessWithScope` is on or
// if we are in a non-default universe
useScopes ? scopes : void 0
);
return { headers: this.addSharedMetadataHeaders(headers) };
}
} else if (this.hasAnyScopes() || this.apiKey) {
return super.getRequestMetadataAsync(url3);
} else {
return { headers: {} };
}
}
/**
* Fetches an ID token.
* @param targetAudience the audience for the fetched ID token.
*/
async fetchIdToken(targetAudience) {
const gtoken = new gtoken_1.GoogleToken({
iss: this.email,
sub: this.subject,
scope: this.scopes || this.defaultScopes,
keyFile: this.keyFile,
key: this.key,
additionalClaims: { target_audience: targetAudience },
transporter: this.transporter
});
await gtoken.getToken({
forceRefresh: true
});
if (!gtoken.idToken) {
throw new Error("Unknown error: Failed to fetch ID token");
}
return gtoken.idToken;
}
/**
* Determine if there are currently scopes available.
*/
hasUserScopes() {
if (!this.scopes) {
return false;
}
return this.scopes.length > 0;
}
/**
* Are there any default or user scopes defined.
*/
hasAnyScopes() {
if (this.scopes && this.scopes.length > 0)
return true;
if (this.defaultScopes && this.defaultScopes.length > 0)
return true;
return false;
}
authorize(callback) {
if (callback) {
this.authorizeAsync().then((r2) => callback(null, r2), callback);
} else {
return this.authorizeAsync();
}
}
async authorizeAsync() {
const result2 = await this.refreshToken();
if (!result2) {
throw new Error("No result returned");
}
this.credentials = result2.tokens;
this.credentials.refresh_token = "jwt-placeholder";
this.key = this.gtoken.key;
this.email = this.gtoken.iss;
return result2.tokens;
}
/**
* Refreshes the access token.
* @param refreshToken ignored
* @private
*/
async refreshTokenNoCache(refreshToken) {
const gtoken = this.createGToken();
const token2 = await gtoken.getToken({
forceRefresh: this.isTokenExpiring()
});
const tokens = {
access_token: token2.access_token,
token_type: "Bearer",
expiry_date: gtoken.expiresAt,
id_token: gtoken.idToken
};
this.emit("tokens", tokens);
return { res: null, tokens };
}
/**
* Create a gToken if it doesn't already exist.
*/
createGToken() {
if (!this.gtoken) {
this.gtoken = new gtoken_1.GoogleToken({
iss: this.email,
sub: this.subject,
scope: this.scopes || this.defaultScopes,
keyFile: this.keyFile,
key: this.key,
additionalClaims: this.additionalClaims,
transporter: this.transporter
});
}
return this.gtoken;
}
/**
* Create a JWT credentials instance using the given input options.
* @param json The input object.
*
* @remarks
*
* **Important**: If you accept a credential configuration (credential JSON/File/Stream) from an external source for authentication to Google Cloud, you must validate it before providing it to any Google API or library. Providing an unvalidated credential configuration to Google APIs can compromise the security of your systems and data. For more information, refer to {@link https://cloud.google.com/docs/authentication/external/externally-sourced-credentials Validate credential configurations from external sources}.
*/
fromJSON(json3) {
if (!json3) {
throw new Error("Must pass in a JSON object containing the service account auth settings.");
}
if (!json3.client_email) {
throw new Error("The incoming JSON object does not contain a client_email field");
}
if (!json3.private_key) {
throw new Error("The incoming JSON object does not contain a private_key field");
}
this.email = json3.client_email;
this.key = json3.private_key;
this.keyId = json3.private_key_id;
this.projectId = json3.project_id;
this.quotaProjectId = json3.quota_project_id;
this.universeDomain = json3.universe_domain || this.universeDomain;
}
fromStream(inputStream, callback) {
if (callback) {
this.fromStreamAsync(inputStream).then(() => callback(), callback);
} else {
return this.fromStreamAsync(inputStream);
}
}
fromStreamAsync(inputStream) {
return new Promise((resolve25, reject) => {
if (!inputStream) {
throw new Error("Must pass in a stream containing the service account auth settings.");
}
let s2 = "";
inputStream.setEncoding("utf8").on("error", reject).on("data", (chunk) => s2 += chunk).on("end", () => {
try {
const data = JSON.parse(s2);
this.fromJSON(data);
resolve25();
} catch (e2) {
reject(e2);
}
});
});
}
/**
* Creates a JWT credentials instance using an API Key for authentication.
* @param apiKey The API Key in string form.
*/
fromAPIKey(apiKey) {
if (typeof apiKey !== "string") {
throw new Error("Must provide an API Key string.");
}
this.apiKey = apiKey;
}
/**
* Using the key or keyFile on the JWT client, obtain an object that contains
* the key and the client email.
*/
async getCredentials() {
if (this.key) {
return { private_key: this.key, client_email: this.email };
} else if (this.keyFile) {
const gtoken = this.createGToken();
const creds = await gtoken.getCredentials(this.keyFile);
return { private_key: creds.privateKey, client_email: creds.clientEmail };
}
throw new Error("A key or a keyFile must be provided to getCredentials.");
}
};
exports2.JWT = JWT;
}
});
// node_modules/google-auth-library/build/src/auth/refreshclient.js
var require_refreshclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/refreshclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.UserRefreshClient = exports2.USER_REFRESH_ACCOUNT_TYPE = void 0;
var oauth2client_1 = require_oauth2client();
var querystring_1 = __require("querystring");
exports2.USER_REFRESH_ACCOUNT_TYPE = "authorized_user";
var UserRefreshClient = class _UserRefreshClient extends oauth2client_1.OAuth2Client {
constructor(optionsOrClientId, clientSecret, refreshToken, eagerRefreshThresholdMillis, forceRefreshOnFailure) {
const opts = optionsOrClientId && typeof optionsOrClientId === "object" ? optionsOrClientId : {
clientId: optionsOrClientId,
clientSecret,
refreshToken,
eagerRefreshThresholdMillis,
forceRefreshOnFailure
};
super(opts);
this._refreshToken = opts.refreshToken;
this.credentials.refresh_token = opts.refreshToken;
}
/**
* Refreshes the access token.
* @param refreshToken An ignored refreshToken..
* @param callback Optional callback.
*/
async refreshTokenNoCache(refreshToken) {
return super.refreshTokenNoCache(this._refreshToken);
}
async fetchIdToken(targetAudience) {
const res = await this.transporter.request({
..._UserRefreshClient.RETRY_CONFIG,
url: this.endpoints.oauth2TokenUrl,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
method: "POST",
data: (0, querystring_1.stringify)({
client_id: this._clientId,
client_secret: this._clientSecret,
grant_type: "refresh_token",
refresh_token: this._refreshToken,
target_audience: targetAudience
})
});
return res.data.id_token;
}
/**
* Create a UserRefreshClient credentials instance using the given input
* options.
* @param json The input object.
*/
fromJSON(json3) {
if (!json3) {
throw new Error("Must pass in a JSON object containing the user refresh token");
}
if (json3.type !== "authorized_user") {
throw new Error('The incoming JSON object does not have the "authorized_user" type');
}
if (!json3.client_id) {
throw new Error("The incoming JSON object does not contain a client_id field");
}
if (!json3.client_secret) {
throw new Error("The incoming JSON object does not contain a client_secret field");
}
if (!json3.refresh_token) {
throw new Error("The incoming JSON object does not contain a refresh_token field");
}
this._clientId = json3.client_id;
this._clientSecret = json3.client_secret;
this._refreshToken = json3.refresh_token;
this.credentials.refresh_token = json3.refresh_token;
this.quotaProjectId = json3.quota_project_id;
this.universeDomain = json3.universe_domain || this.universeDomain;
}
fromStream(inputStream, callback) {
if (callback) {
this.fromStreamAsync(inputStream).then(() => callback(), callback);
} else {
return this.fromStreamAsync(inputStream);
}
}
async fromStreamAsync(inputStream) {
return new Promise((resolve25, reject) => {
if (!inputStream) {
return reject(new Error("Must pass in a stream containing the user refresh token."));
}
let s2 = "";
inputStream.setEncoding("utf8").on("error", reject).on("data", (chunk) => s2 += chunk).on("end", () => {
try {
const data = JSON.parse(s2);
this.fromJSON(data);
return resolve25();
} catch (err2) {
return reject(err2);
}
});
});
}
/**
* Create a UserRefreshClient credentials instance using the given input
* options.
* @param json The input object.
*/
static fromJSON(json3) {
const client = new _UserRefreshClient();
client.fromJSON(json3);
return client;
}
};
exports2.UserRefreshClient = UserRefreshClient;
}
});
// node_modules/google-auth-library/build/src/auth/impersonated.js
var require_impersonated = __commonJS({
"node_modules/google-auth-library/build/src/auth/impersonated.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Impersonated = exports2.IMPERSONATED_ACCOUNT_TYPE = void 0;
var oauth2client_1 = require_oauth2client();
var gaxios_1 = require_src2();
var util_1 = require_util2();
exports2.IMPERSONATED_ACCOUNT_TYPE = "impersonated_service_account";
var Impersonated = class _Impersonated extends oauth2client_1.OAuth2Client {
/**
* Impersonated service account credentials.
*
* Create a new access token by impersonating another service account.
*
* Impersonated Credentials allowing credentials issued to a user or
* service account to impersonate another. The source project using
* Impersonated Credentials must enable the "IAMCredentials" API.
* Also, the target service account must grant the orginating principal
* the "Service Account Token Creator" IAM role.
*
* @param {object} options - The configuration object.
* @param {object} [options.sourceClient] the source credential used as to
* acquire the impersonated credentials.
* @param {string} [options.targetPrincipal] the service account to
* impersonate.
* @param {string[]} [options.delegates] the chained list of delegates
* required to grant the final access_token. If set, the sequence of
* identities must have "Service Account Token Creator" capability granted to
* the preceding identity. For example, if set to [serviceAccountB,
* serviceAccountC], the sourceCredential must have the Token Creator role on
* serviceAccountB. serviceAccountB must have the Token Creator on
* serviceAccountC. Finally, C must have Token Creator on target_principal.
* If left unset, sourceCredential must have that role on targetPrincipal.
* @param {string[]} [options.targetScopes] scopes to request during the
* authorization grant.
* @param {number} [options.lifetime] number of seconds the delegated
* credential should be valid for up to 3600 seconds by default, or 43,200
* seconds by extending the token's lifetime, see:
* https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials#sa-credentials-oauth
* @param {string} [options.endpoint] api endpoint override.
*/
constructor(options = {}) {
var _a4, _b, _c, _d, _e, _f;
super(options);
this.credentials = {
expiry_date: 1,
refresh_token: "impersonated-placeholder"
};
this.sourceClient = (_a4 = options.sourceClient) !== null && _a4 !== void 0 ? _a4 : new oauth2client_1.OAuth2Client();
this.targetPrincipal = (_b = options.targetPrincipal) !== null && _b !== void 0 ? _b : "";
this.delegates = (_c = options.delegates) !== null && _c !== void 0 ? _c : [];
this.targetScopes = (_d = options.targetScopes) !== null && _d !== void 0 ? _d : [];
this.lifetime = (_e = options.lifetime) !== null && _e !== void 0 ? _e : 3600;
const usingExplicitUniverseDomain = !!(0, util_1.originalOrCamelOptions)(options).get("universe_domain");
if (!usingExplicitUniverseDomain) {
this.universeDomain = this.sourceClient.universeDomain;
} else if (this.sourceClient.universeDomain !== this.universeDomain) {
throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);
}
this.endpoint = (_f = options.endpoint) !== null && _f !== void 0 ? _f : `https://iamcredentials.${this.universeDomain}`;
}
/**
* Signs some bytes.
*
* {@link https://cloud.google.com/iam/docs/reference/credentials/rest/v1/projects.serviceAccounts/signBlob Reference Documentation}
* @param blobToSign String to sign.
*
* @returns A {@link SignBlobResponse} denoting the keyID and signedBlob in base64 string
*/
async sign(blobToSign) {
await this.sourceClient.getAccessToken();
const name3 = `projects/-/serviceAccounts/${this.targetPrincipal}`;
const u2 = `${this.endpoint}/v1/${name3}:signBlob`;
const body2 = {
delegates: this.delegates,
payload: Buffer.from(blobToSign).toString("base64")
};
const res = await this.sourceClient.request({
..._Impersonated.RETRY_CONFIG,
url: u2,
data: body2,
method: "POST"
});
return res.data;
}
/** The service account email to be impersonated. */
getTargetPrincipal() {
return this.targetPrincipal;
}
/**
* Refreshes the access token.
*/
async refreshToken() {
var _a4, _b, _c, _d, _e, _f;
try {
await this.sourceClient.getAccessToken();
const name3 = "projects/-/serviceAccounts/" + this.targetPrincipal;
const u2 = `${this.endpoint}/v1/${name3}:generateAccessToken`;
const body2 = {
delegates: this.delegates,
scope: this.targetScopes,
lifetime: this.lifetime + "s"
};
const res = await this.sourceClient.request({
..._Impersonated.RETRY_CONFIG,
url: u2,
data: body2,
method: "POST"
});
const tokenResponse = res.data;
this.credentials.access_token = tokenResponse.accessToken;
this.credentials.expiry_date = Date.parse(tokenResponse.expireTime);
return {
tokens: this.credentials,
res
};
} catch (error40) {
if (!(error40 instanceof Error))
throw error40;
let status2 = 0;
let message = "";
if (error40 instanceof gaxios_1.GaxiosError) {
status2 = (_c = (_b = (_a4 = error40 === null || error40 === void 0 ? void 0 : error40.response) === null || _a4 === void 0 ? void 0 : _a4.data) === null || _b === void 0 ? void 0 : _b.error) === null || _c === void 0 ? void 0 : _c.status;
message = (_f = (_e = (_d = error40 === null || error40 === void 0 ? void 0 : error40.response) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.error) === null || _f === void 0 ? void 0 : _f.message;
}
if (status2 && message) {
error40.message = `${status2}: unable to impersonate: ${message}`;
throw error40;
} else {
error40.message = `unable to impersonate: ${error40}`;
throw error40;
}
}
}
/**
* Generates an OpenID Connect ID token for a service account.
*
* {@link https://cloud.google.com/iam/docs/reference/credentials/rest/v1/projects.serviceAccounts/generateIdToken Reference Documentation}
*
* @param targetAudience the audience for the fetched ID token.
* @param options the for the request
* @return an OpenID Connect ID token
*/
async fetchIdToken(targetAudience, options) {
var _a4, _b;
await this.sourceClient.getAccessToken();
const name3 = `projects/-/serviceAccounts/${this.targetPrincipal}`;
const u2 = `${this.endpoint}/v1/${name3}:generateIdToken`;
const body2 = {
delegates: this.delegates,
audience: targetAudience,
includeEmail: (_a4 = options === null || options === void 0 ? void 0 : options.includeEmail) !== null && _a4 !== void 0 ? _a4 : true,
useEmailAzp: (_b = options === null || options === void 0 ? void 0 : options.includeEmail) !== null && _b !== void 0 ? _b : true
};
const res = await this.sourceClient.request({
..._Impersonated.RETRY_CONFIG,
url: u2,
data: body2,
method: "POST"
});
return res.data.token;
}
};
exports2.Impersonated = Impersonated;
}
});
// node_modules/google-auth-library/build/src/auth/oauth2common.js
var require_oauth2common = __commonJS({
"node_modules/google-auth-library/build/src/auth/oauth2common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OAuthClientAuthHandler = void 0;
exports2.getErrorFromOAuthErrorResponse = getErrorFromOAuthErrorResponse;
var querystring = __require("querystring");
var crypto_1 = require_crypto3();
var METHODS_SUPPORTING_REQUEST_BODY = ["PUT", "POST", "PATCH"];
var OAuthClientAuthHandler = class {
/**
* Instantiates an OAuth client authentication handler.
* @param clientAuthentication The client auth credentials.
*/
constructor(clientAuthentication) {
this.clientAuthentication = clientAuthentication;
this.crypto = (0, crypto_1.createCrypto)();
}
/**
* Applies client authentication on the OAuth request's headers or POST
* body but does not process the request.
* @param opts The GaxiosOptions whose headers or data are to be modified
* depending on the client authentication mechanism to be used.
* @param bearerToken The optional bearer token to use for authentication.
* When this is used, no client authentication credentials are needed.
*/
applyClientAuthenticationOptions(opts, bearerToken) {
this.injectAuthenticatedHeaders(opts, bearerToken);
if (!bearerToken) {
this.injectAuthenticatedRequestBody(opts);
}
}
/**
* Applies client authentication on the request's header if either
* basic authentication or bearer token authentication is selected.
*
* @param opts The GaxiosOptions whose headers or data are to be modified
* depending on the client authentication mechanism to be used.
* @param bearerToken The optional bearer token to use for authentication.
* When this is used, no client authentication credentials are needed.
*/
injectAuthenticatedHeaders(opts, bearerToken) {
var _a4;
if (bearerToken) {
opts.headers = opts.headers || {};
Object.assign(opts.headers, {
Authorization: `Bearer ${bearerToken}}`
});
} else if (((_a4 = this.clientAuthentication) === null || _a4 === void 0 ? void 0 : _a4.confidentialClientType) === "basic") {
opts.headers = opts.headers || {};
const clientId = this.clientAuthentication.clientId;
const clientSecret = this.clientAuthentication.clientSecret || "";
const base64EncodedCreds = this.crypto.encodeBase64StringUtf8(`${clientId}:${clientSecret}`);
Object.assign(opts.headers, {
Authorization: `Basic ${base64EncodedCreds}`
});
}
}
/**
* Applies client authentication on the request's body if request-body
* client authentication is selected.
*
* @param opts The GaxiosOptions whose headers or data are to be modified
* depending on the client authentication mechanism to be used.
*/
injectAuthenticatedRequestBody(opts) {
var _a4;
if (((_a4 = this.clientAuthentication) === null || _a4 === void 0 ? void 0 : _a4.confidentialClientType) === "request-body") {
const method = (opts.method || "GET").toUpperCase();
if (METHODS_SUPPORTING_REQUEST_BODY.indexOf(method) !== -1) {
let contentType;
const headers = opts.headers || {};
for (const key in headers) {
if (key.toLowerCase() === "content-type" && headers[key]) {
contentType = headers[key].toLowerCase();
break;
}
}
if (contentType === "application/x-www-form-urlencoded") {
opts.data = opts.data || "";
const data = querystring.parse(opts.data);
Object.assign(data, {
client_id: this.clientAuthentication.clientId,
client_secret: this.clientAuthentication.clientSecret || ""
});
opts.data = querystring.stringify(data);
} else if (contentType === "application/json") {
opts.data = opts.data || {};
Object.assign(opts.data, {
client_id: this.clientAuthentication.clientId,
client_secret: this.clientAuthentication.clientSecret || ""
});
} else {
throw new Error(`${contentType} content-types are not supported with ${this.clientAuthentication.confidentialClientType} client authentication`);
}
} else {
throw new Error(`${method} HTTP method does not support ${this.clientAuthentication.confidentialClientType} client authentication`);
}
}
}
/**
* Retry config for Auth-related requests.
*
* @remarks
*
* This is not a part of the default {@link AuthClient.transporter transporter/gaxios}
* config as some downstream APIs would prefer if customers explicitly enable retries,
* such as GCS.
*/
static get RETRY_CONFIG() {
return {
retry: true,
retryConfig: {
httpMethodsToRetry: ["GET", "PUT", "POST", "HEAD", "OPTIONS", "DELETE"]
}
};
}
};
exports2.OAuthClientAuthHandler = OAuthClientAuthHandler;
function getErrorFromOAuthErrorResponse(resp, err2) {
const errorCode = resp.error;
const errorDescription = resp.error_description;
const errorUri = resp.error_uri;
let message = `Error code ${errorCode}`;
if (typeof errorDescription !== "undefined") {
message += `: ${errorDescription}`;
}
if (typeof errorUri !== "undefined") {
message += ` - ${errorUri}`;
}
const newError = new Error(message);
if (err2) {
const keys = Object.keys(err2);
if (err2.stack) {
keys.push("stack");
}
keys.forEach((key) => {
if (key !== "message") {
Object.defineProperty(newError, key, {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
value: err2[key],
writable: false,
enumerable: true
});
}
});
}
return newError;
}
}
});
// node_modules/google-auth-library/build/src/auth/stscredentials.js
var require_stscredentials = __commonJS({
"node_modules/google-auth-library/build/src/auth/stscredentials.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StsCredentials = void 0;
var gaxios_1 = require_src2();
var querystring = __require("querystring");
var transporters_1 = require_transporters();
var oauth2common_1 = require_oauth2common();
var StsCredentials = class _StsCredentials extends oauth2common_1.OAuthClientAuthHandler {
/**
* Initializes an STS credentials instance.
* @param tokenExchangeEndpoint The token exchange endpoint.
* @param clientAuthentication The client authentication credentials if
* available.
*/
constructor(tokenExchangeEndpoint, clientAuthentication) {
super(clientAuthentication);
this.tokenExchangeEndpoint = tokenExchangeEndpoint;
this.transporter = new transporters_1.DefaultTransporter();
}
/**
* Exchanges the provided token for another type of token based on the
* rfc8693 spec.
* @param stsCredentialsOptions The token exchange options used to populate
* the token exchange request.
* @param additionalHeaders Optional additional headers to pass along the
* request.
* @param options Optional additional GCP-specific non-spec defined options
* to send with the request.
* Example: `&options=${encodeUriComponent(JSON.stringified(options))}`
* @return A promise that resolves with the token exchange response containing
* the requested token and its expiration time.
*/
async exchangeToken(stsCredentialsOptions, additionalHeaders, options) {
var _a4, _b, _c;
const values = {
grant_type: stsCredentialsOptions.grantType,
resource: stsCredentialsOptions.resource,
audience: stsCredentialsOptions.audience,
scope: (_a4 = stsCredentialsOptions.scope) === null || _a4 === void 0 ? void 0 : _a4.join(" "),
requested_token_type: stsCredentialsOptions.requestedTokenType,
subject_token: stsCredentialsOptions.subjectToken,
subject_token_type: stsCredentialsOptions.subjectTokenType,
actor_token: (_b = stsCredentialsOptions.actingParty) === null || _b === void 0 ? void 0 : _b.actorToken,
actor_token_type: (_c = stsCredentialsOptions.actingParty) === null || _c === void 0 ? void 0 : _c.actorTokenType,
// Non-standard GCP-specific options.
options: options && JSON.stringify(options)
};
Object.keys(values).forEach((key) => {
if (typeof values[key] === "undefined") {
delete values[key];
}
});
const headers = {
"Content-Type": "application/x-www-form-urlencoded"
};
Object.assign(headers, additionalHeaders || {});
const opts = {
..._StsCredentials.RETRY_CONFIG,
url: this.tokenExchangeEndpoint.toString(),
method: "POST",
headers,
data: querystring.stringify(values),
responseType: "json"
};
this.applyClientAuthenticationOptions(opts);
try {
const response = await this.transporter.request(opts);
const stsSuccessfulResponse = response.data;
stsSuccessfulResponse.res = response;
return stsSuccessfulResponse;
} catch (error40) {
if (error40 instanceof gaxios_1.GaxiosError && error40.response) {
throw (0, oauth2common_1.getErrorFromOAuthErrorResponse)(
error40.response.data,
// Preserve other fields from the original error.
error40
);
}
throw error40;
}
}
};
exports2.StsCredentials = StsCredentials;
}
});
// node_modules/google-auth-library/build/src/auth/baseexternalclient.js
var require_baseexternalclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/baseexternalclient.js"(exports2) {
"use strict";
var __classPrivateFieldGet2 = exports2 && exports2.__classPrivateFieldGet || function(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = exports2 && exports2.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
};
var _BaseExternalAccountClient_instances;
var _BaseExternalAccountClient_pendingAccessToken;
var _BaseExternalAccountClient_internalRefreshAccessTokenAsync;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BaseExternalAccountClient = exports2.DEFAULT_UNIVERSE = exports2.CLOUD_RESOURCE_MANAGER = exports2.EXTERNAL_ACCOUNT_TYPE = exports2.EXPIRATION_TIME_OFFSET = void 0;
var stream2 = __require("stream");
var authclient_1 = require_authclient();
var sts = require_stscredentials();
var util_1 = require_util2();
var STS_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:token-exchange";
var STS_REQUEST_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:access_token";
var DEFAULT_OAUTH_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
var DEFAULT_TOKEN_LIFESPAN = 3600;
exports2.EXPIRATION_TIME_OFFSET = 5 * 60 * 1e3;
exports2.EXTERNAL_ACCOUNT_TYPE = "external_account";
exports2.CLOUD_RESOURCE_MANAGER = "https://cloudresourcemanager.googleapis.com/v1/projects/";
var WORKFORCE_AUDIENCE_PATTERN = "//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+";
var DEFAULT_TOKEN_URL = "https://sts.{universeDomain}/v1/token";
var pkg2 = require_package2();
var authclient_2 = require_authclient();
Object.defineProperty(exports2, "DEFAULT_UNIVERSE", { enumerable: true, get: function() {
return authclient_2.DEFAULT_UNIVERSE;
} });
var BaseExternalAccountClient = class _BaseExternalAccountClient extends authclient_1.AuthClient {
/**
* Instantiate a BaseExternalAccountClient instance using the provided JSON
* object loaded from an external account credentials file.
* @param options The external account options object typically loaded
* from the external account JSON credential file. The camelCased options
* are aliases for the snake_cased options.
* @param additionalOptions **DEPRECATED, all options are available in the
* `options` parameter.** Optional additional behavior customization options.
* These currently customize expiration threshold time and whether to retry
* on 401/403 API request errors.
*/
constructor(options, additionalOptions) {
var _a4;
super({ ...options, ...additionalOptions });
_BaseExternalAccountClient_instances.add(this);
_BaseExternalAccountClient_pendingAccessToken.set(this, null);
const opts = (0, util_1.originalOrCamelOptions)(options);
const type2 = opts.get("type");
if (type2 && type2 !== exports2.EXTERNAL_ACCOUNT_TYPE) {
throw new Error(`Expected "${exports2.EXTERNAL_ACCOUNT_TYPE}" type but received "${options.type}"`);
}
const clientId = opts.get("client_id");
const clientSecret = opts.get("client_secret");
const tokenUrl = (_a4 = opts.get("token_url")) !== null && _a4 !== void 0 ? _a4 : DEFAULT_TOKEN_URL.replace("{universeDomain}", this.universeDomain);
const subjectTokenType = opts.get("subject_token_type");
const workforcePoolUserProject = opts.get("workforce_pool_user_project");
const serviceAccountImpersonationUrl = opts.get("service_account_impersonation_url");
const serviceAccountImpersonation = opts.get("service_account_impersonation");
const serviceAccountImpersonationLifetime = (0, util_1.originalOrCamelOptions)(serviceAccountImpersonation).get("token_lifetime_seconds");
this.cloudResourceManagerURL = new URL(opts.get("cloud_resource_manager_url") || `https://cloudresourcemanager.${this.universeDomain}/v1/projects/`);
if (clientId) {
this.clientAuth = {
confidentialClientType: "basic",
clientId,
clientSecret
};
}
this.stsCredential = new sts.StsCredentials(tokenUrl, this.clientAuth);
this.scopes = opts.get("scopes") || [DEFAULT_OAUTH_SCOPE];
this.cachedAccessToken = null;
this.audience = opts.get("audience");
this.subjectTokenType = subjectTokenType;
this.workforcePoolUserProject = workforcePoolUserProject;
const workforceAudiencePattern = new RegExp(WORKFORCE_AUDIENCE_PATTERN);
if (this.workforcePoolUserProject && !this.audience.match(workforceAudiencePattern)) {
throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");
}
this.serviceAccountImpersonationUrl = serviceAccountImpersonationUrl;
this.serviceAccountImpersonationLifetime = serviceAccountImpersonationLifetime;
if (this.serviceAccountImpersonationLifetime) {
this.configLifetimeRequested = true;
} else {
this.configLifetimeRequested = false;
this.serviceAccountImpersonationLifetime = DEFAULT_TOKEN_LIFESPAN;
}
this.projectNumber = this.getProjectNumber(this.audience);
this.supplierContext = {
audience: this.audience,
subjectTokenType: this.subjectTokenType,
transporter: this.transporter
};
}
/** The service account email to be impersonated, if available. */
getServiceAccountEmail() {
var _a4;
if (this.serviceAccountImpersonationUrl) {
if (this.serviceAccountImpersonationUrl.length > 256) {
throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);
}
const re = /serviceAccounts\/(?<email>[^:]+):generateAccessToken$/;
const result2 = re.exec(this.serviceAccountImpersonationUrl);
return ((_a4 = result2 === null || result2 === void 0 ? void 0 : result2.groups) === null || _a4 === void 0 ? void 0 : _a4.email) || null;
}
return null;
}
/**
* Provides a mechanism to inject GCP access tokens directly.
* When the provided credential expires, a new credential, using the
* external account options, is retrieved.
* @param credentials The Credentials object to set on the current client.
*/
setCredentials(credentials3) {
super.setCredentials(credentials3);
this.cachedAccessToken = credentials3;
}
/**
* @return A promise that resolves with the current GCP access token
* response. If the current credential is expired, a new one is retrieved.
*/
async getAccessToken() {
if (!this.cachedAccessToken || this.isExpired(this.cachedAccessToken)) {
await this.refreshAccessTokenAsync();
}
return {
token: this.cachedAccessToken.access_token,
res: this.cachedAccessToken.res
};
}
/**
* The main authentication interface. It takes an optional url which when
* present is the endpoint being accessed, and returns a Promise which
* resolves with authorization header fields.
*
* The result has the form:
* { Authorization: 'Bearer <access_token_value>' }
*/
async getRequestHeaders() {
const accessTokenResponse = await this.getAccessToken();
const headers = {
Authorization: `Bearer ${accessTokenResponse.token}`
};
return this.addSharedMetadataHeaders(headers);
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
/**
* @return A promise that resolves with the project ID corresponding to the
* current workload identity pool or current workforce pool if
* determinable. For workforce pool credential, it returns the project ID
* corresponding to the workforcePoolUserProject.
* This is introduced to match the current pattern of using the Auth
* library:
* const projectId = await auth.getProjectId();
* const url = `https://dns.googleapis.com/dns/v1/projects/${projectId}`;
* const res = await client.request({ url });
* The resource may not have permission
* (resourcemanager.projects.get) to call this API or the required
* scopes may not be selected:
* https://cloud.google.com/resource-manager/reference/rest/v1/projects/get#authorization-scopes
*/
async getProjectId() {
const projectNumber = this.projectNumber || this.workforcePoolUserProject;
if (this.projectId) {
return this.projectId;
} else if (projectNumber) {
const headers = await this.getRequestHeaders();
const response = await this.transporter.request({
..._BaseExternalAccountClient.RETRY_CONFIG,
headers,
url: `${this.cloudResourceManagerURL.toString()}${projectNumber}`,
responseType: "json"
});
this.projectId = response.data.projectId;
return this.projectId;
}
return null;
}
/**
* Authenticates the provided HTTP request, processes it and resolves with the
* returned response.
* @param opts The HTTP request options.
* @param reAuthRetried Whether the current attempt is a retry after a failed attempt due to an auth failure.
* @return A promise that resolves with the successful response.
*/
async requestAsync(opts, reAuthRetried = false) {
let response;
try {
const requestHeaders = await this.getRequestHeaders();
opts.headers = opts.headers || {};
if (requestHeaders && requestHeaders["x-goog-user-project"]) {
opts.headers["x-goog-user-project"] = requestHeaders["x-goog-user-project"];
}
if (requestHeaders && requestHeaders.Authorization) {
opts.headers.Authorization = requestHeaders.Authorization;
}
response = await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const isReadableStream4 = res.config.data instanceof stream2.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream4 && this.forceRefreshOnFailure) {
await this.refreshAccessTokenAsync();
return await this.requestAsync(opts, true);
}
}
throw e2;
}
return response;
}
/**
* Forces token refresh, even if unexpired tokens are currently cached.
* External credentials are exchanged for GCP access tokens via the token
* exchange endpoint and other settings provided in the client options
* object.
* If the service_account_impersonation_url is provided, an additional
* step to exchange the external account GCP access token for a service
* account impersonated token is performed.
* @return A promise that resolves with the fresh GCP access tokens.
*/
async refreshAccessTokenAsync() {
__classPrivateFieldSet(this, _BaseExternalAccountClient_pendingAccessToken, __classPrivateFieldGet2(this, _BaseExternalAccountClient_pendingAccessToken, "f") || __classPrivateFieldGet2(this, _BaseExternalAccountClient_instances, "m", _BaseExternalAccountClient_internalRefreshAccessTokenAsync).call(this), "f");
try {
return await __classPrivateFieldGet2(this, _BaseExternalAccountClient_pendingAccessToken, "f");
} finally {
__classPrivateFieldSet(this, _BaseExternalAccountClient_pendingAccessToken, null, "f");
}
}
/**
* Returns the workload identity pool project number if it is determinable
* from the audience resource name.
* @param audience The STS audience used to determine the project number.
* @return The project number associated with the workload identity pool, if
* this can be determined from the STS audience field. Otherwise, null is
* returned.
*/
getProjectNumber(audience) {
const match2 = audience.match(/\/projects\/([^/]+)/);
if (!match2) {
return null;
}
return match2[1];
}
/**
* Exchanges an external account GCP access token for a service
* account impersonated access token using iamcredentials
* GenerateAccessToken API.
* @param token The access token to exchange for a service account access
* token.
* @return A promise that resolves with the service account impersonated
* credentials response.
*/
async getImpersonatedAccessToken(token2) {
const opts = {
..._BaseExternalAccountClient.RETRY_CONFIG,
url: this.serviceAccountImpersonationUrl,
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${token2}`
},
data: {
scope: this.getScopesArray(),
lifetime: this.serviceAccountImpersonationLifetime + "s"
},
responseType: "json"
};
const response = await this.transporter.request(opts);
const successResponse = response.data;
return {
access_token: successResponse.accessToken,
// Convert from ISO format to timestamp.
expiry_date: new Date(successResponse.expireTime).getTime(),
res: response
};
}
/**
* Returns whether the provided credentials are expired or not.
* If there is no expiry time, assumes the token is not expired or expiring.
* @param accessToken The credentials to check for expiration.
* @return Whether the credentials are expired or not.
*/
isExpired(accessToken) {
const now = (/* @__PURE__ */ new Date()).getTime();
return accessToken.expiry_date ? now >= accessToken.expiry_date - this.eagerRefreshThresholdMillis : false;
}
/**
* @return The list of scopes for the requested GCP access token.
*/
getScopesArray() {
if (typeof this.scopes === "string") {
return [this.scopes];
}
return this.scopes || [DEFAULT_OAUTH_SCOPE];
}
getMetricsHeaderValue() {
const nodeVersion = process.version.replace(/^v/, "");
const saImpersonation = this.serviceAccountImpersonationUrl !== void 0;
const credentialSourceType = this.credentialSourceType ? this.credentialSourceType : "unknown";
return `gl-node/${nodeVersion} auth/${pkg2.version} google-byoid-sdk source/${credentialSourceType} sa-impersonation/${saImpersonation} config-lifetime/${this.configLifetimeRequested}`;
}
};
exports2.BaseExternalAccountClient = BaseExternalAccountClient;
_BaseExternalAccountClient_pendingAccessToken = /* @__PURE__ */ new WeakMap(), _BaseExternalAccountClient_instances = /* @__PURE__ */ new WeakSet(), _BaseExternalAccountClient_internalRefreshAccessTokenAsync = async function _BaseExternalAccountClient_internalRefreshAccessTokenAsync2() {
const subjectToken = await this.retrieveSubjectToken();
const stsCredentialsOptions = {
grantType: STS_GRANT_TYPE,
audience: this.audience,
requestedTokenType: STS_REQUEST_TOKEN_TYPE,
subjectToken,
subjectTokenType: this.subjectTokenType,
// generateAccessToken requires the provided access token to have
// scopes:
// https://www.googleapis.com/auth/iam or
// https://www.googleapis.com/auth/cloud-platform
// The new service account access token scopes will match the user
// provided ones.
scope: this.serviceAccountImpersonationUrl ? [DEFAULT_OAUTH_SCOPE] : this.getScopesArray()
};
const additionalOptions = !this.clientAuth && this.workforcePoolUserProject ? { userProject: this.workforcePoolUserProject } : void 0;
const additionalHeaders = {
"x-goog-api-client": this.getMetricsHeaderValue()
};
const stsResponse = await this.stsCredential.exchangeToken(stsCredentialsOptions, additionalHeaders, additionalOptions);
if (this.serviceAccountImpersonationUrl) {
this.cachedAccessToken = await this.getImpersonatedAccessToken(stsResponse.access_token);
} else if (stsResponse.expires_in) {
this.cachedAccessToken = {
access_token: stsResponse.access_token,
expiry_date: (/* @__PURE__ */ new Date()).getTime() + stsResponse.expires_in * 1e3,
res: stsResponse.res
};
} else {
this.cachedAccessToken = {
access_token: stsResponse.access_token,
res: stsResponse.res
};
}
this.credentials = {};
Object.assign(this.credentials, this.cachedAccessToken);
delete this.credentials.res;
this.emit("tokens", {
refresh_token: null,
expiry_date: this.cachedAccessToken.expiry_date,
access_token: this.cachedAccessToken.access_token,
token_type: "Bearer",
id_token: null
});
return this.cachedAccessToken;
};
}
});
// node_modules/google-auth-library/build/src/auth/filesubjecttokensupplier.js
var require_filesubjecttokensupplier = __commonJS({
"node_modules/google-auth-library/build/src/auth/filesubjecttokensupplier.js"(exports2) {
"use strict";
var _a4;
var _b;
var _c;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.FileSubjectTokenSupplier = void 0;
var util_1 = __require("util");
var fs84 = __require("fs");
var readFile12 = (0, util_1.promisify)((_a4 = fs84.readFile) !== null && _a4 !== void 0 ? _a4 : () => {
});
var realpath5 = (0, util_1.promisify)((_b = fs84.realpath) !== null && _b !== void 0 ? _b : () => {
});
var lstat5 = (0, util_1.promisify)((_c = fs84.lstat) !== null && _c !== void 0 ? _c : () => {
});
var FileSubjectTokenSupplier = class {
/**
* Instantiates a new file based subject token supplier.
* @param opts The file subject token supplier options to build the supplier
* with.
*/
constructor(opts) {
this.filePath = opts.filePath;
this.formatType = opts.formatType;
this.subjectTokenFieldName = opts.subjectTokenFieldName;
}
/**
* Returns the subject token stored at the file specified in the constructor.
* @param context {@link ExternalAccountSupplierContext} from the calling
* {@link IdentityPoolClient}, contains the requested audience and subject
* token type for the external account identity. Not used.
*/
async getSubjectToken(context2) {
let parsedFilePath = this.filePath;
try {
parsedFilePath = await realpath5(parsedFilePath);
if (!(await lstat5(parsedFilePath)).isFile()) {
throw new Error();
}
} catch (err2) {
if (err2 instanceof Error) {
err2.message = `The file at ${parsedFilePath} does not exist, or it is not a file. ${err2.message}`;
}
throw err2;
}
let subjectToken;
const rawText = await readFile12(parsedFilePath, { encoding: "utf8" });
if (this.formatType === "text") {
subjectToken = rawText;
} else if (this.formatType === "json" && this.subjectTokenFieldName) {
const json3 = JSON.parse(rawText);
subjectToken = json3[this.subjectTokenFieldName];
}
if (!subjectToken) {
throw new Error("Unable to parse the subject_token from the credential_source file");
}
return subjectToken;
}
};
exports2.FileSubjectTokenSupplier = FileSubjectTokenSupplier;
}
});
// node_modules/google-auth-library/build/src/auth/urlsubjecttokensupplier.js
var require_urlsubjecttokensupplier = __commonJS({
"node_modules/google-auth-library/build/src/auth/urlsubjecttokensupplier.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.UrlSubjectTokenSupplier = void 0;
var UrlSubjectTokenSupplier = class {
/**
* Instantiates a URL subject token supplier.
* @param opts The URL subject token supplier options to build the supplier with.
*/
constructor(opts) {
this.url = opts.url;
this.formatType = opts.formatType;
this.subjectTokenFieldName = opts.subjectTokenFieldName;
this.headers = opts.headers;
this.additionalGaxiosOptions = opts.additionalGaxiosOptions;
}
/**
* Sends a GET request to the URL provided in the constructor and resolves
* with the returned external subject token.
* @param context {@link ExternalAccountSupplierContext} from the calling
* {@link IdentityPoolClient}, contains the requested audience and subject
* token type for the external account identity. Not used.
*/
async getSubjectToken(context2) {
const opts = {
...this.additionalGaxiosOptions,
url: this.url,
method: "GET",
headers: this.headers,
responseType: this.formatType
};
let subjectToken;
if (this.formatType === "text") {
const response = await context2.transporter.request(opts);
subjectToken = response.data;
} else if (this.formatType === "json" && this.subjectTokenFieldName) {
const response = await context2.transporter.request(opts);
subjectToken = response.data[this.subjectTokenFieldName];
}
if (!subjectToken) {
throw new Error("Unable to parse the subject_token from the credential_source URL");
}
return subjectToken;
}
};
exports2.UrlSubjectTokenSupplier = UrlSubjectTokenSupplier;
}
});
// node_modules/google-auth-library/build/src/auth/identitypoolclient.js
var require_identitypoolclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/identitypoolclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.IdentityPoolClient = void 0;
var baseexternalclient_1 = require_baseexternalclient();
var util_1 = require_util2();
var filesubjecttokensupplier_1 = require_filesubjecttokensupplier();
var urlsubjecttokensupplier_1 = require_urlsubjecttokensupplier();
var IdentityPoolClient = class _IdentityPoolClient extends baseexternalclient_1.BaseExternalAccountClient {
/**
* Instantiate an IdentityPoolClient instance using the provided JSON
* object loaded from an external account credentials file.
* An error is thrown if the credential is not a valid file-sourced or
* url-sourced credential or a workforce pool user project is provided
* with a non workforce audience.
* @param options The external account options object typically loaded
* from the external account JSON credential file. The camelCased options
* are aliases for the snake_cased options.
* @param additionalOptions **DEPRECATED, all options are available in the
* `options` parameter.** Optional additional behavior customization options.
* These currently customize expiration threshold time and whether to retry
* on 401/403 API request errors.
*/
constructor(options, additionalOptions) {
super(options, additionalOptions);
const opts = (0, util_1.originalOrCamelOptions)(options);
const credentialSource = opts.get("credential_source");
const subjectTokenSupplier = opts.get("subject_token_supplier");
if (!credentialSource && !subjectTokenSupplier) {
throw new Error("A credential source or subject token supplier must be specified.");
}
if (credentialSource && subjectTokenSupplier) {
throw new Error("Only one of credential source or subject token supplier can be specified.");
}
if (subjectTokenSupplier) {
this.subjectTokenSupplier = subjectTokenSupplier;
this.credentialSourceType = "programmatic";
} else {
const credentialSourceOpts = (0, util_1.originalOrCamelOptions)(credentialSource);
const formatOpts = (0, util_1.originalOrCamelOptions)(credentialSourceOpts.get("format"));
const formatType = formatOpts.get("type") || "text";
const formatSubjectTokenFieldName = formatOpts.get("subject_token_field_name");
if (formatType !== "json" && formatType !== "text") {
throw new Error(`Invalid credential_source format "${formatType}"`);
}
if (formatType === "json" && !formatSubjectTokenFieldName) {
throw new Error("Missing subject_token_field_name for JSON credential_source format");
}
const file2 = credentialSourceOpts.get("file");
const url3 = credentialSourceOpts.get("url");
const headers = credentialSourceOpts.get("headers");
if (file2 && url3) {
throw new Error('No valid Identity Pool "credential_source" provided, must be either file or url.');
} else if (file2 && !url3) {
this.credentialSourceType = "file";
this.subjectTokenSupplier = new filesubjecttokensupplier_1.FileSubjectTokenSupplier({
filePath: file2,
formatType,
subjectTokenFieldName: formatSubjectTokenFieldName
});
} else if (!file2 && url3) {
this.credentialSourceType = "url";
this.subjectTokenSupplier = new urlsubjecttokensupplier_1.UrlSubjectTokenSupplier({
url: url3,
formatType,
subjectTokenFieldName: formatSubjectTokenFieldName,
headers,
additionalGaxiosOptions: _IdentityPoolClient.RETRY_CONFIG
});
} else {
throw new Error('No valid Identity Pool "credential_source" provided, must be either file or url.');
}
}
}
/**
* Triggered when a external subject token is needed to be exchanged for a GCP
* access token via GCP STS endpoint. Gets a subject token by calling
* the configured {@link SubjectTokenSupplier}
* @return A promise that resolves with the external subject token.
*/
async retrieveSubjectToken() {
return this.subjectTokenSupplier.getSubjectToken(this.supplierContext);
}
};
exports2.IdentityPoolClient = IdentityPoolClient;
}
});
// node_modules/google-auth-library/build/src/auth/awsrequestsigner.js
var require_awsrequestsigner = __commonJS({
"node_modules/google-auth-library/build/src/auth/awsrequestsigner.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AwsRequestSigner = void 0;
var crypto_1 = require_crypto3();
var AWS_ALGORITHM = "AWS4-HMAC-SHA256";
var AWS_REQUEST_TYPE = "aws4_request";
var AwsRequestSigner = class {
/**
* Instantiates an AWS API request signer used to send authenticated signed
* requests to AWS APIs based on the AWS Signature Version 4 signing process.
* This also provides a mechanism to generate the signed request without
* sending it.
* @param getCredentials A mechanism to retrieve AWS security credentials
* when needed.
* @param region The AWS region to use.
*/
constructor(getCredentials, region) {
this.getCredentials = getCredentials;
this.region = region;
this.crypto = (0, crypto_1.createCrypto)();
}
/**
* Generates the signed request for the provided HTTP request for calling
* an AWS API. This follows the steps described at:
* https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html
* @param amzOptions The AWS request options that need to be signed.
* @return A promise that resolves with the GaxiosOptions containing the
* signed HTTP request parameters.
*/
async getRequestOptions(amzOptions) {
if (!amzOptions.url) {
throw new Error('"url" is required in "amzOptions"');
}
const requestPayloadData = typeof amzOptions.data === "object" ? JSON.stringify(amzOptions.data) : amzOptions.data;
const url3 = amzOptions.url;
const method = amzOptions.method || "GET";
const requestPayload = amzOptions.body || requestPayloadData;
const additionalAmzHeaders = amzOptions.headers;
const awsSecurityCredentials = await this.getCredentials();
const uri = new URL(url3);
const headerMap = await generateAuthenticationHeaderMap({
crypto: this.crypto,
host: uri.host,
canonicalUri: uri.pathname,
canonicalQuerystring: uri.search.substr(1),
method,
region: this.region,
securityCredentials: awsSecurityCredentials,
requestPayload,
additionalAmzHeaders
});
const headers = Object.assign(
// Add x-amz-date if available.
headerMap.amzDate ? { "x-amz-date": headerMap.amzDate } : {},
{
Authorization: headerMap.authorizationHeader,
host: uri.host
},
additionalAmzHeaders || {}
);
if (awsSecurityCredentials.token) {
Object.assign(headers, {
"x-amz-security-token": awsSecurityCredentials.token
});
}
const awsSignedReq = {
url: url3,
method,
headers
};
if (typeof requestPayload !== "undefined") {
awsSignedReq.body = requestPayload;
}
return awsSignedReq;
}
};
exports2.AwsRequestSigner = AwsRequestSigner;
async function sign(crypto22, key, msg) {
return await crypto22.signWithHmacSha256(key, msg);
}
async function getSigningKey(crypto22, key, dateStamp, region, serviceName) {
const kDate = await sign(crypto22, `AWS4${key}`, dateStamp);
const kRegion = await sign(crypto22, kDate, region);
const kService = await sign(crypto22, kRegion, serviceName);
const kSigning = await sign(crypto22, kService, "aws4_request");
return kSigning;
}
async function generateAuthenticationHeaderMap(options) {
const additionalAmzHeaders = options.additionalAmzHeaders || {};
const requestPayload = options.requestPayload || "";
const serviceName = options.host.split(".")[0];
const now = /* @__PURE__ */ new Date();
const amzDate = now.toISOString().replace(/[-:]/g, "").replace(/\.[0-9]+/, "");
const dateStamp = now.toISOString().replace(/[-]/g, "").replace(/T.*/, "");
const reformattedAdditionalAmzHeaders = {};
Object.keys(additionalAmzHeaders).forEach((key) => {
reformattedAdditionalAmzHeaders[key.toLowerCase()] = additionalAmzHeaders[key];
});
if (options.securityCredentials.token) {
reformattedAdditionalAmzHeaders["x-amz-security-token"] = options.securityCredentials.token;
}
const amzHeaders = Object.assign(
{
host: options.host
},
// Previously the date was not fixed with x-amz- and could be provided manually.
// https://github.com/boto/botocore/blob/879f8440a4e9ace5d3cf145ce8b3d5e5ffb892ef/tests/unit/auth/aws4_testsuite/get-header-value-trim.req
reformattedAdditionalAmzHeaders.date ? {} : { "x-amz-date": amzDate },
reformattedAdditionalAmzHeaders
);
let canonicalHeaders = "";
const signedHeadersList = Object.keys(amzHeaders).sort();
signedHeadersList.forEach((key) => {
canonicalHeaders += `${key}:${amzHeaders[key]}
`;
});
const signedHeaders = signedHeadersList.join(";");
const payloadHash = await options.crypto.sha256DigestHex(requestPayload);
const canonicalRequest = `${options.method}
${options.canonicalUri}
${options.canonicalQuerystring}
${canonicalHeaders}
${signedHeaders}
${payloadHash}`;
const credentialScope = `${dateStamp}/${options.region}/${serviceName}/${AWS_REQUEST_TYPE}`;
const stringToSign = `${AWS_ALGORITHM}
${amzDate}
${credentialScope}
` + await options.crypto.sha256DigestHex(canonicalRequest);
const signingKey = await getSigningKey(options.crypto, options.securityCredentials.secretAccessKey, dateStamp, options.region, serviceName);
const signature = await sign(options.crypto, signingKey, stringToSign);
const authorizationHeader = `${AWS_ALGORITHM} Credential=${options.securityCredentials.accessKeyId}/${credentialScope}, SignedHeaders=${signedHeaders}, Signature=${(0, crypto_1.fromArrayBufferToHex)(signature)}`;
return {
// Do not return x-amz-date if date is available.
amzDate: reformattedAdditionalAmzHeaders.date ? void 0 : amzDate,
authorizationHeader,
canonicalQuerystring: options.canonicalQuerystring
};
}
}
});
// node_modules/google-auth-library/build/src/auth/defaultawssecuritycredentialssupplier.js
var require_defaultawssecuritycredentialssupplier = __commonJS({
"node_modules/google-auth-library/build/src/auth/defaultawssecuritycredentialssupplier.js"(exports2) {
"use strict";
var __classPrivateFieldGet2 = exports2 && exports2.__classPrivateFieldGet || function(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _DefaultAwsSecurityCredentialsSupplier_instances;
var _DefaultAwsSecurityCredentialsSupplier_getImdsV2SessionToken;
var _DefaultAwsSecurityCredentialsSupplier_getAwsRoleName;
var _DefaultAwsSecurityCredentialsSupplier_retrieveAwsSecurityCredentials;
var _DefaultAwsSecurityCredentialsSupplier_regionFromEnv_get;
var _DefaultAwsSecurityCredentialsSupplier_securityCredentialsFromEnv_get;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DefaultAwsSecurityCredentialsSupplier = void 0;
var DefaultAwsSecurityCredentialsSupplier = class {
/**
* Instantiates a new DefaultAwsSecurityCredentialsSupplier using information
* from the credential_source stored in the ADC file.
* @param opts The default aws security credentials supplier options object to
* build the supplier with.
*/
constructor(opts) {
_DefaultAwsSecurityCredentialsSupplier_instances.add(this);
this.regionUrl = opts.regionUrl;
this.securityCredentialsUrl = opts.securityCredentialsUrl;
this.imdsV2SessionTokenUrl = opts.imdsV2SessionTokenUrl;
this.additionalGaxiosOptions = opts.additionalGaxiosOptions;
}
/**
* Returns the active AWS region. This first checks to see if the region
* is available as an environment variable. If it is not, then the supplier
* will call the region URL.
* @param context {@link ExternalAccountSupplierContext} from the calling
* {@link AwsClient}, contains the requested audience and subject token type
* for the external account identity.
* @return A promise that resolves with the AWS region string.
*/
async getAwsRegion(context2) {
if (__classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "a", _DefaultAwsSecurityCredentialsSupplier_regionFromEnv_get)) {
return __classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "a", _DefaultAwsSecurityCredentialsSupplier_regionFromEnv_get);
}
const metadataHeaders = {};
if (!__classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "a", _DefaultAwsSecurityCredentialsSupplier_regionFromEnv_get) && this.imdsV2SessionTokenUrl) {
metadataHeaders["x-aws-ec2-metadata-token"] = await __classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "m", _DefaultAwsSecurityCredentialsSupplier_getImdsV2SessionToken).call(this, context2.transporter);
}
if (!this.regionUrl) {
throw new Error('Unable to determine AWS region due to missing "options.credential_source.region_url"');
}
const opts = {
...this.additionalGaxiosOptions,
url: this.regionUrl,
method: "GET",
responseType: "text",
headers: metadataHeaders
};
const response = await context2.transporter.request(opts);
return response.data.substr(0, response.data.length - 1);
}
/**
* Returns AWS security credentials. This first checks to see if the credentials
* is available as environment variables. If it is not, then the supplier
* will call the security credentials URL.
* @param context {@link ExternalAccountSupplierContext} from the calling
* {@link AwsClient}, contains the requested audience and subject token type
* for the external account identity.
* @return A promise that resolves with the AWS security credentials.
*/
async getAwsSecurityCredentials(context2) {
if (__classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "a", _DefaultAwsSecurityCredentialsSupplier_securityCredentialsFromEnv_get)) {
return __classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "a", _DefaultAwsSecurityCredentialsSupplier_securityCredentialsFromEnv_get);
}
const metadataHeaders = {};
if (this.imdsV2SessionTokenUrl) {
metadataHeaders["x-aws-ec2-metadata-token"] = await __classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "m", _DefaultAwsSecurityCredentialsSupplier_getImdsV2SessionToken).call(this, context2.transporter);
}
const roleName = await __classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "m", _DefaultAwsSecurityCredentialsSupplier_getAwsRoleName).call(this, metadataHeaders, context2.transporter);
const awsCreds = await __classPrivateFieldGet2(this, _DefaultAwsSecurityCredentialsSupplier_instances, "m", _DefaultAwsSecurityCredentialsSupplier_retrieveAwsSecurityCredentials).call(this, roleName, metadataHeaders, context2.transporter);
return {
accessKeyId: awsCreds.AccessKeyId,
secretAccessKey: awsCreds.SecretAccessKey,
token: awsCreds.Token
};
}
};
exports2.DefaultAwsSecurityCredentialsSupplier = DefaultAwsSecurityCredentialsSupplier;
_DefaultAwsSecurityCredentialsSupplier_instances = /* @__PURE__ */ new WeakSet(), _DefaultAwsSecurityCredentialsSupplier_getImdsV2SessionToken = /**
* @param transporter The transporter to use for requests.
* @return A promise that resolves with the IMDSv2 Session Token.
*/
async function _DefaultAwsSecurityCredentialsSupplier_getImdsV2SessionToken2(transporter) {
const opts = {
...this.additionalGaxiosOptions,
url: this.imdsV2SessionTokenUrl,
method: "PUT",
responseType: "text",
headers: { "x-aws-ec2-metadata-token-ttl-seconds": "300" }
};
const response = await transporter.request(opts);
return response.data;
}, _DefaultAwsSecurityCredentialsSupplier_getAwsRoleName = /**
* @param headers The headers to be used in the metadata request.
* @param transporter The transporter to use for requests.
* @return A promise that resolves with the assigned role to the current
* AWS VM. This is needed for calling the security-credentials endpoint.
*/
async function _DefaultAwsSecurityCredentialsSupplier_getAwsRoleName2(headers, transporter) {
if (!this.securityCredentialsUrl) {
throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');
}
const opts = {
...this.additionalGaxiosOptions,
url: this.securityCredentialsUrl,
method: "GET",
responseType: "text",
headers
};
const response = await transporter.request(opts);
return response.data;
}, _DefaultAwsSecurityCredentialsSupplier_retrieveAwsSecurityCredentials = /**
* Retrieves the temporary AWS credentials by calling the security-credentials
* endpoint as specified in the `credential_source` object.
* @param roleName The role attached to the current VM.
* @param headers The headers to be used in the metadata request.
* @param transporter The transporter to use for requests.
* @return A promise that resolves with the temporary AWS credentials
* needed for creating the GetCallerIdentity signed request.
*/
async function _DefaultAwsSecurityCredentialsSupplier_retrieveAwsSecurityCredentials2(roleName, headers, transporter) {
const response = await transporter.request({
...this.additionalGaxiosOptions,
url: `${this.securityCredentialsUrl}/${roleName}`,
responseType: "json",
headers
});
return response.data;
}, _DefaultAwsSecurityCredentialsSupplier_regionFromEnv_get = function _DefaultAwsSecurityCredentialsSupplier_regionFromEnv_get2() {
return process.env["AWS_REGION"] || process.env["AWS_DEFAULT_REGION"] || null;
}, _DefaultAwsSecurityCredentialsSupplier_securityCredentialsFromEnv_get = function _DefaultAwsSecurityCredentialsSupplier_securityCredentialsFromEnv_get2() {
if (process.env["AWS_ACCESS_KEY_ID"] && process.env["AWS_SECRET_ACCESS_KEY"]) {
return {
accessKeyId: process.env["AWS_ACCESS_KEY_ID"],
secretAccessKey: process.env["AWS_SECRET_ACCESS_KEY"],
token: process.env["AWS_SESSION_TOKEN"]
};
}
return null;
};
}
});
// node_modules/google-auth-library/build/src/auth/awsclient.js
var require_awsclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/awsclient.js"(exports2) {
"use strict";
var __classPrivateFieldGet2 = exports2 && exports2.__classPrivateFieldGet || function(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _a4;
var _AwsClient_DEFAULT_AWS_REGIONAL_CREDENTIAL_VERIFICATION_URL;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AwsClient = void 0;
var awsrequestsigner_1 = require_awsrequestsigner();
var baseexternalclient_1 = require_baseexternalclient();
var defaultawssecuritycredentialssupplier_1 = require_defaultawssecuritycredentialssupplier();
var util_1 = require_util2();
var AwsClient = class extends baseexternalclient_1.BaseExternalAccountClient {
/**
* Instantiates an AwsClient instance using the provided JSON
* object loaded from an external account credentials file.
* An error is thrown if the credential is not a valid AWS credential.
* @param options The external account options object typically loaded
* from the external account JSON credential file.
* @param additionalOptions **DEPRECATED, all options are available in the
* `options` parameter.** Optional additional behavior customization options.
* These currently customize expiration threshold time and whether to retry
* on 401/403 API request errors.
*/
constructor(options, additionalOptions) {
super(options, additionalOptions);
const opts = (0, util_1.originalOrCamelOptions)(options);
const credentialSource = opts.get("credential_source");
const awsSecurityCredentialsSupplier = opts.get("aws_security_credentials_supplier");
if (!credentialSource && !awsSecurityCredentialsSupplier) {
throw new Error("A credential source or AWS security credentials supplier must be specified.");
}
if (credentialSource && awsSecurityCredentialsSupplier) {
throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");
}
if (awsSecurityCredentialsSupplier) {
this.awsSecurityCredentialsSupplier = awsSecurityCredentialsSupplier;
this.regionalCredVerificationUrl = __classPrivateFieldGet2(_a4, _a4, "f", _AwsClient_DEFAULT_AWS_REGIONAL_CREDENTIAL_VERIFICATION_URL);
this.credentialSourceType = "programmatic";
} else {
const credentialSourceOpts = (0, util_1.originalOrCamelOptions)(credentialSource);
this.environmentId = credentialSourceOpts.get("environment_id");
const regionUrl = credentialSourceOpts.get("region_url");
const securityCredentialsUrl = credentialSourceOpts.get("url");
const imdsV2SessionTokenUrl = credentialSourceOpts.get("imdsv2_session_token_url");
this.awsSecurityCredentialsSupplier = new defaultawssecuritycredentialssupplier_1.DefaultAwsSecurityCredentialsSupplier({
regionUrl,
securityCredentialsUrl,
imdsV2SessionTokenUrl
});
this.regionalCredVerificationUrl = credentialSourceOpts.get("regional_cred_verification_url");
this.credentialSourceType = "aws";
this.validateEnvironmentId();
}
this.awsRequestSigner = null;
this.region = "";
}
validateEnvironmentId() {
var _b;
const match2 = (_b = this.environmentId) === null || _b === void 0 ? void 0 : _b.match(/^(aws)(\d+)$/);
if (!match2 || !this.regionalCredVerificationUrl) {
throw new Error('No valid AWS "credential_source" provided');
} else if (parseInt(match2[2], 10) !== 1) {
throw new Error(`aws version "${match2[2]}" is not supported in the current build.`);
}
}
/**
* Triggered when an external subject token is needed to be exchanged for a
* GCP access token via GCP STS endpoint. This will call the
* {@link AwsSecurityCredentialsSupplier} to retrieve an AWS region and AWS
* Security Credentials, then use them to create a signed AWS STS request that
* can be exchanged for a GCP access token.
* @return A promise that resolves with the external subject token.
*/
async retrieveSubjectToken() {
if (!this.awsRequestSigner) {
this.region = await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext);
this.awsRequestSigner = new awsrequestsigner_1.AwsRequestSigner(async () => {
return this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext);
}, this.region);
}
const options = await this.awsRequestSigner.getRequestOptions({
..._a4.RETRY_CONFIG,
url: this.regionalCredVerificationUrl.replace("{region}", this.region),
method: "POST"
});
const reformattedHeader = [];
const extendedHeaders = Object.assign({
// The full, canonical resource name of the workload identity pool
// provider, with or without the HTTPS prefix.
// Including this header as part of the signature is recommended to
// ensure data integrity.
"x-goog-cloud-target-resource": this.audience
}, options.headers);
for (const key in extendedHeaders) {
reformattedHeader.push({
key,
value: extendedHeaders[key]
});
}
return encodeURIComponent(JSON.stringify({
url: options.url,
method: options.method,
headers: reformattedHeader
}));
}
};
exports2.AwsClient = AwsClient;
_a4 = AwsClient;
_AwsClient_DEFAULT_AWS_REGIONAL_CREDENTIAL_VERIFICATION_URL = { value: "https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15" };
AwsClient.AWS_EC2_METADATA_IPV4_ADDRESS = "169.254.169.254";
AwsClient.AWS_EC2_METADATA_IPV6_ADDRESS = "fd00:ec2::254";
}
});
// node_modules/google-auth-library/build/src/auth/executable-response.js
var require_executable_response = __commonJS({
"node_modules/google-auth-library/build/src/auth/executable-response.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InvalidSubjectTokenError = exports2.InvalidMessageFieldError = exports2.InvalidCodeFieldError = exports2.InvalidTokenTypeFieldError = exports2.InvalidExpirationTimeFieldError = exports2.InvalidSuccessFieldError = exports2.InvalidVersionFieldError = exports2.ExecutableResponseError = exports2.ExecutableResponse = void 0;
var SAML_SUBJECT_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:saml2";
var OIDC_SUBJECT_TOKEN_TYPE1 = "urn:ietf:params:oauth:token-type:id_token";
var OIDC_SUBJECT_TOKEN_TYPE2 = "urn:ietf:params:oauth:token-type:jwt";
var ExecutableResponse = class {
/**
* Instantiates an ExecutableResponse instance using the provided JSON object
* from the output of the executable.
* @param responseJson Response from a 3rd party executable, loaded from a
* run of the executable or a cached output file.
*/
constructor(responseJson) {
if (!responseJson.version) {
throw new InvalidVersionFieldError("Executable response must contain a 'version' field.");
}
if (responseJson.success === void 0) {
throw new InvalidSuccessFieldError("Executable response must contain a 'success' field.");
}
this.version = responseJson.version;
this.success = responseJson.success;
if (this.success) {
this.expirationTime = responseJson.expiration_time;
this.tokenType = responseJson.token_type;
if (this.tokenType !== SAML_SUBJECT_TOKEN_TYPE && this.tokenType !== OIDC_SUBJECT_TOKEN_TYPE1 && this.tokenType !== OIDC_SUBJECT_TOKEN_TYPE2) {
throw new InvalidTokenTypeFieldError(`Executable response must contain a 'token_type' field when successful and it must be one of ${OIDC_SUBJECT_TOKEN_TYPE1}, ${OIDC_SUBJECT_TOKEN_TYPE2}, or ${SAML_SUBJECT_TOKEN_TYPE}.`);
}
if (this.tokenType === SAML_SUBJECT_TOKEN_TYPE) {
if (!responseJson.saml_response) {
throw new InvalidSubjectTokenError(`Executable response must contain a 'saml_response' field when token_type=${SAML_SUBJECT_TOKEN_TYPE}.`);
}
this.subjectToken = responseJson.saml_response;
} else {
if (!responseJson.id_token) {
throw new InvalidSubjectTokenError(`Executable response must contain a 'id_token' field when token_type=${OIDC_SUBJECT_TOKEN_TYPE1} or ${OIDC_SUBJECT_TOKEN_TYPE2}.`);
}
this.subjectToken = responseJson.id_token;
}
} else {
if (!responseJson.code) {
throw new InvalidCodeFieldError("Executable response must contain a 'code' field when unsuccessful.");
}
if (!responseJson.message) {
throw new InvalidMessageFieldError("Executable response must contain a 'message' field when unsuccessful.");
}
this.errorCode = responseJson.code;
this.errorMessage = responseJson.message;
}
}
/**
* @return A boolean representing if the response has a valid token. Returns
* true when the response was successful and the token is not expired.
*/
isValid() {
return !this.isExpired() && this.success;
}
/**
* @return A boolean representing if the response is expired. Returns true if the
* provided timeout has passed.
*/
isExpired() {
return this.expirationTime !== void 0 && this.expirationTime < Math.round(Date.now() / 1e3);
}
};
exports2.ExecutableResponse = ExecutableResponse;
var ExecutableResponseError = class extends Error {
constructor(message) {
super(message);
Object.setPrototypeOf(this, new.target.prototype);
}
};
exports2.ExecutableResponseError = ExecutableResponseError;
var InvalidVersionFieldError = class extends ExecutableResponseError {
};
exports2.InvalidVersionFieldError = InvalidVersionFieldError;
var InvalidSuccessFieldError = class extends ExecutableResponseError {
};
exports2.InvalidSuccessFieldError = InvalidSuccessFieldError;
var InvalidExpirationTimeFieldError = class extends ExecutableResponseError {
};
exports2.InvalidExpirationTimeFieldError = InvalidExpirationTimeFieldError;
var InvalidTokenTypeFieldError = class extends ExecutableResponseError {
};
exports2.InvalidTokenTypeFieldError = InvalidTokenTypeFieldError;
var InvalidCodeFieldError = class extends ExecutableResponseError {
};
exports2.InvalidCodeFieldError = InvalidCodeFieldError;
var InvalidMessageFieldError = class extends ExecutableResponseError {
};
exports2.InvalidMessageFieldError = InvalidMessageFieldError;
var InvalidSubjectTokenError = class extends ExecutableResponseError {
};
exports2.InvalidSubjectTokenError = InvalidSubjectTokenError;
}
});
// node_modules/google-auth-library/build/src/auth/pluggable-auth-handler.js
var require_pluggable_auth_handler = __commonJS({
"node_modules/google-auth-library/build/src/auth/pluggable-auth-handler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PluggableAuthHandler = void 0;
var pluggable_auth_client_1 = require_pluggable_auth_client();
var executable_response_1 = require_executable_response();
var childProcess2 = __require("child_process");
var fs84 = __require("fs");
var PluggableAuthHandler = class _PluggableAuthHandler {
/**
* Instantiates a PluggableAuthHandler instance using the provided
* PluggableAuthHandlerOptions object.
*/
constructor(options) {
if (!options.command) {
throw new Error("No command provided.");
}
this.commandComponents = _PluggableAuthHandler.parseCommand(options.command);
this.timeoutMillis = options.timeoutMillis;
if (!this.timeoutMillis) {
throw new Error("No timeoutMillis provided.");
}
this.outputFile = options.outputFile;
}
/**
* Calls user provided executable to get a 3rd party subject token and
* returns the response.
* @param envMap a Map of additional Environment Variables required for
* the executable.
* @return A promise that resolves with the executable response.
*/
retrieveResponseFromExecutable(envMap) {
return new Promise((resolve25, reject) => {
const child = childProcess2.spawn(this.commandComponents[0], this.commandComponents.slice(1), {
env: { ...process.env, ...Object.fromEntries(envMap) }
});
let output = "";
child.stdout.on("data", (data) => {
output += data;
});
child.stderr.on("data", (err2) => {
output += err2;
});
const timeout = setTimeout(() => {
child.removeAllListeners();
child.kill();
return reject(new Error("The executable failed to finish within the timeout specified."));
}, this.timeoutMillis);
child.on("close", (code) => {
clearTimeout(timeout);
if (code === 0) {
try {
const responseJson = JSON.parse(output);
const response = new executable_response_1.ExecutableResponse(responseJson);
return resolve25(response);
} catch (error40) {
if (error40 instanceof executable_response_1.ExecutableResponseError) {
return reject(error40);
}
return reject(new executable_response_1.ExecutableResponseError(`The executable returned an invalid response: ${output}`));
}
} else {
return reject(new pluggable_auth_client_1.ExecutableError(output, code.toString()));
}
});
});
}
/**
* Checks user provided output file for response from previous run of
* executable and return the response if it exists, is formatted correctly, and is not expired.
*/
async retrieveCachedResponse() {
if (!this.outputFile || this.outputFile.length === 0) {
return void 0;
}
let filePath;
try {
filePath = await fs84.promises.realpath(this.outputFile);
} catch (_a4) {
return void 0;
}
if (!(await fs84.promises.lstat(filePath)).isFile()) {
return void 0;
}
const responseString = await fs84.promises.readFile(filePath, {
encoding: "utf8"
});
if (responseString === "") {
return void 0;
}
try {
const responseJson = JSON.parse(responseString);
const response = new executable_response_1.ExecutableResponse(responseJson);
if (response.isValid()) {
return new executable_response_1.ExecutableResponse(responseJson);
}
return void 0;
} catch (error40) {
if (error40 instanceof executable_response_1.ExecutableResponseError) {
throw error40;
}
throw new executable_response_1.ExecutableResponseError(`The output file contained an invalid response: ${responseString}`);
}
}
/**
* Parses given command string into component array, splitting on spaces unless
* spaces are between quotation marks.
*/
static parseCommand(command) {
const components = command.match(/(?:[^\s"]+|"[^"]*")+/g);
if (!components) {
throw new Error(`Provided command: "${command}" could not be parsed.`);
}
for (let i3 = 0; i3 < components.length; i3++) {
if (components[i3][0] === '"' && components[i3].slice(-1) === '"') {
components[i3] = components[i3].slice(1, -1);
}
}
return components;
}
};
exports2.PluggableAuthHandler = PluggableAuthHandler;
}
});
// node_modules/google-auth-library/build/src/auth/pluggable-auth-client.js
var require_pluggable_auth_client = __commonJS({
"node_modules/google-auth-library/build/src/auth/pluggable-auth-client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PluggableAuthClient = exports2.ExecutableError = void 0;
var baseexternalclient_1 = require_baseexternalclient();
var executable_response_1 = require_executable_response();
var pluggable_auth_handler_1 = require_pluggable_auth_handler();
var ExecutableError = class extends Error {
constructor(message, code) {
super(`The executable failed with exit code: ${code} and error message: ${message}.`);
this.code = code;
Object.setPrototypeOf(this, new.target.prototype);
}
};
exports2.ExecutableError = ExecutableError;
var DEFAULT_EXECUTABLE_TIMEOUT_MILLIS = 30 * 1e3;
var MINIMUM_EXECUTABLE_TIMEOUT_MILLIS = 5 * 1e3;
var MAXIMUM_EXECUTABLE_TIMEOUT_MILLIS = 120 * 1e3;
var GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES = "GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES";
var MAXIMUM_EXECUTABLE_VERSION = 1;
var PluggableAuthClient = class extends baseexternalclient_1.BaseExternalAccountClient {
/**
* Instantiates a PluggableAuthClient instance using the provided JSON
* object loaded from an external account credentials file.
* An error is thrown if the credential is not a valid pluggable auth credential.
* @param options The external account options object typically loaded from
* the external account JSON credential file.
* @param additionalOptions **DEPRECATED, all options are available in the
* `options` parameter.** Optional additional behavior customization options.
* These currently customize expiration threshold time and whether to retry
* on 401/403 API request errors.
*/
constructor(options, additionalOptions) {
super(options, additionalOptions);
if (!options.credential_source.executable) {
throw new Error('No valid Pluggable Auth "credential_source" provided.');
}
this.command = options.credential_source.executable.command;
if (!this.command) {
throw new Error('No valid Pluggable Auth "credential_source" provided.');
}
if (options.credential_source.executable.timeout_millis === void 0) {
this.timeoutMillis = DEFAULT_EXECUTABLE_TIMEOUT_MILLIS;
} else {
this.timeoutMillis = options.credential_source.executable.timeout_millis;
if (this.timeoutMillis < MINIMUM_EXECUTABLE_TIMEOUT_MILLIS || this.timeoutMillis > MAXIMUM_EXECUTABLE_TIMEOUT_MILLIS) {
throw new Error(`Timeout must be between ${MINIMUM_EXECUTABLE_TIMEOUT_MILLIS} and ${MAXIMUM_EXECUTABLE_TIMEOUT_MILLIS} milliseconds.`);
}
}
this.outputFile = options.credential_source.executable.output_file;
this.handler = new pluggable_auth_handler_1.PluggableAuthHandler({
command: this.command,
timeoutMillis: this.timeoutMillis,
outputFile: this.outputFile
});
this.credentialSourceType = "executable";
}
/**
* Triggered when an external subject token is needed to be exchanged for a
* GCP access token via GCP STS endpoint.
* This uses the `options.credential_source` object to figure out how
* to retrieve the token using the current environment. In this case,
* this calls a user provided executable which returns the subject token.
* The logic is summarized as:
* 1. Validated that the executable is allowed to run. The
* GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment must be set to
* 1 for security reasons.
* 2. If an output file is specified by the user, check the file location
* for a response. If the file exists and contains a valid response,
* return the subject token from the file.
* 3. Call the provided executable and return response.
* @return A promise that resolves with the external subject token.
*/
async retrieveSubjectToken() {
if (process.env[GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES] !== "1") {
throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");
}
let executableResponse = void 0;
if (this.outputFile) {
executableResponse = await this.handler.retrieveCachedResponse();
}
if (!executableResponse) {
const envMap = /* @__PURE__ */ new Map();
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE", this.audience);
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE", this.subjectTokenType);
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE", "0");
if (this.outputFile) {
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE", this.outputFile);
}
const serviceAccountEmail = this.getServiceAccountEmail();
if (serviceAccountEmail) {
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL", serviceAccountEmail);
}
executableResponse = await this.handler.retrieveResponseFromExecutable(envMap);
}
if (executableResponse.version > MAXIMUM_EXECUTABLE_VERSION) {
throw new Error(`Version of executable is not currently supported, maximum supported version is ${MAXIMUM_EXECUTABLE_VERSION}.`);
}
if (!executableResponse.success) {
throw new ExecutableError(executableResponse.errorMessage, executableResponse.errorCode);
}
if (this.outputFile) {
if (!executableResponse.expirationTime) {
throw new executable_response_1.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");
}
}
if (executableResponse.isExpired()) {
throw new Error("Executable response is expired.");
}
return executableResponse.subjectToken;
}
};
exports2.PluggableAuthClient = PluggableAuthClient;
}
});
// node_modules/google-auth-library/build/src/auth/externalclient.js
var require_externalclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/externalclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ExternalAccountClient = void 0;
var baseexternalclient_1 = require_baseexternalclient();
var identitypoolclient_1 = require_identitypoolclient();
var awsclient_1 = require_awsclient();
var pluggable_auth_client_1 = require_pluggable_auth_client();
var ExternalAccountClient = class {
constructor() {
throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()");
}
/**
* This static method will instantiate the
* corresponding type of external account credential depending on the
* underlying credential source.
* @param options The external account options object typically loaded
* from the external account JSON credential file.
* @param additionalOptions **DEPRECATED, all options are available in the
* `options` parameter.** Optional additional behavior customization options.
* These currently customize expiration threshold time and whether to retry
* on 401/403 API request errors.
* @return A BaseExternalAccountClient instance or null if the options
* provided do not correspond to an external account credential.
*/
static fromJSON(options, additionalOptions) {
var _a4, _b;
if (options && options.type === baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE) {
if ((_a4 = options.credential_source) === null || _a4 === void 0 ? void 0 : _a4.environment_id) {
return new awsclient_1.AwsClient(options, additionalOptions);
} else if ((_b = options.credential_source) === null || _b === void 0 ? void 0 : _b.executable) {
return new pluggable_auth_client_1.PluggableAuthClient(options, additionalOptions);
} else {
return new identitypoolclient_1.IdentityPoolClient(options, additionalOptions);
}
} else {
return null;
}
}
};
exports2.ExternalAccountClient = ExternalAccountClient;
}
});
// node_modules/google-auth-library/build/src/auth/externalAccountAuthorizedUserClient.js
var require_externalAccountAuthorizedUserClient = __commonJS({
"node_modules/google-auth-library/build/src/auth/externalAccountAuthorizedUserClient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ExternalAccountAuthorizedUserClient = exports2.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE = void 0;
var authclient_1 = require_authclient();
var oauth2common_1 = require_oauth2common();
var gaxios_1 = require_src2();
var stream2 = __require("stream");
var baseexternalclient_1 = require_baseexternalclient();
exports2.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE = "external_account_authorized_user";
var DEFAULT_TOKEN_URL = "https://sts.{universeDomain}/v1/oauthtoken";
var ExternalAccountAuthorizedUserHandler = class _ExternalAccountAuthorizedUserHandler extends oauth2common_1.OAuthClientAuthHandler {
/**
* Initializes an ExternalAccountAuthorizedUserHandler instance.
* @param url The URL of the token refresh endpoint.
* @param transporter The transporter to use for the refresh request.
* @param clientAuthentication The client authentication credentials to use
* for the refresh request.
*/
constructor(url3, transporter, clientAuthentication) {
super(clientAuthentication);
this.url = url3;
this.transporter = transporter;
}
/**
* Requests a new access token from the token_url endpoint using the provided
* refresh token.
* @param refreshToken The refresh token to use to generate a new access token.
* @param additionalHeaders Optional additional headers to pass along the
* request.
* @return A promise that resolves with the token refresh response containing
* the requested access token and its expiration time.
*/
async refreshToken(refreshToken, additionalHeaders) {
const values = new URLSearchParams({
grant_type: "refresh_token",
refresh_token: refreshToken
});
const headers = {
"Content-Type": "application/x-www-form-urlencoded",
...additionalHeaders
};
const opts = {
..._ExternalAccountAuthorizedUserHandler.RETRY_CONFIG,
url: this.url,
method: "POST",
headers,
data: values.toString(),
responseType: "json"
};
this.applyClientAuthenticationOptions(opts);
try {
const response = await this.transporter.request(opts);
const tokenRefreshResponse = response.data;
tokenRefreshResponse.res = response;
return tokenRefreshResponse;
} catch (error40) {
if (error40 instanceof gaxios_1.GaxiosError && error40.response) {
throw (0, oauth2common_1.getErrorFromOAuthErrorResponse)(
error40.response.data,
// Preserve other fields from the original error.
error40
);
}
throw error40;
}
}
};
var ExternalAccountAuthorizedUserClient = class extends authclient_1.AuthClient {
/**
* Instantiates an ExternalAccountAuthorizedUserClient instances using the
* provided JSON object loaded from a credentials files.
* An error is throws if the credential is not valid.
* @param options The external account authorized user option object typically
* from the external accoutn authorized user JSON credential file.
* @param additionalOptions **DEPRECATED, all options are available in the
* `options` parameter.** Optional additional behavior customization options.
* These currently customize expiration threshold time and whether to retry
* on 401/403 API request errors.
*/
constructor(options, additionalOptions) {
var _a4;
super({ ...options, ...additionalOptions });
if (options.universe_domain) {
this.universeDomain = options.universe_domain;
}
this.refreshToken = options.refresh_token;
const clientAuth = {
confidentialClientType: "basic",
clientId: options.client_id,
clientSecret: options.client_secret
};
this.externalAccountAuthorizedUserHandler = new ExternalAccountAuthorizedUserHandler((_a4 = options.token_url) !== null && _a4 !== void 0 ? _a4 : DEFAULT_TOKEN_URL.replace("{universeDomain}", this.universeDomain), this.transporter, clientAuth);
this.cachedAccessToken = null;
this.quotaProjectId = options.quota_project_id;
if (typeof (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.eagerRefreshThresholdMillis) !== "number") {
this.eagerRefreshThresholdMillis = baseexternalclient_1.EXPIRATION_TIME_OFFSET;
} else {
this.eagerRefreshThresholdMillis = additionalOptions.eagerRefreshThresholdMillis;
}
this.forceRefreshOnFailure = !!(additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.forceRefreshOnFailure);
}
async getAccessToken() {
if (!this.cachedAccessToken || this.isExpired(this.cachedAccessToken)) {
await this.refreshAccessTokenAsync();
}
return {
token: this.cachedAccessToken.access_token,
res: this.cachedAccessToken.res
};
}
async getRequestHeaders() {
const accessTokenResponse = await this.getAccessToken();
const headers = {
Authorization: `Bearer ${accessTokenResponse.token}`
};
return this.addSharedMetadataHeaders(headers);
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
/**
* Authenticates the provided HTTP request, processes it and resolves with the
* returned response.
* @param opts The HTTP request options.
* @param reAuthRetried Whether the current attempt is a retry after a failed attempt due to an auth failure.
* @return A promise that resolves with the successful response.
*/
async requestAsync(opts, reAuthRetried = false) {
let response;
try {
const requestHeaders = await this.getRequestHeaders();
opts.headers = opts.headers || {};
if (requestHeaders && requestHeaders["x-goog-user-project"]) {
opts.headers["x-goog-user-project"] = requestHeaders["x-goog-user-project"];
}
if (requestHeaders && requestHeaders.Authorization) {
opts.headers.Authorization = requestHeaders.Authorization;
}
response = await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const isReadableStream4 = res.config.data instanceof stream2.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream4 && this.forceRefreshOnFailure) {
await this.refreshAccessTokenAsync();
return await this.requestAsync(opts, true);
}
}
throw e2;
}
return response;
}
/**
* Forces token refresh, even if unexpired tokens are currently cached.
* @return A promise that resolves with the refreshed credential.
*/
async refreshAccessTokenAsync() {
const refreshResponse = await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);
this.cachedAccessToken = {
access_token: refreshResponse.access_token,
expiry_date: (/* @__PURE__ */ new Date()).getTime() + refreshResponse.expires_in * 1e3,
res: refreshResponse.res
};
if (refreshResponse.refresh_token !== void 0) {
this.refreshToken = refreshResponse.refresh_token;
}
return this.cachedAccessToken;
}
/**
* Returns whether the provided credentials are expired or not.
* If there is no expiry time, assumes the token is not expired or expiring.
* @param credentials The credentials to check for expiration.
* @return Whether the credentials are expired or not.
*/
isExpired(credentials3) {
const now = (/* @__PURE__ */ new Date()).getTime();
return credentials3.expiry_date ? now >= credentials3.expiry_date - this.eagerRefreshThresholdMillis : false;
}
};
exports2.ExternalAccountAuthorizedUserClient = ExternalAccountAuthorizedUserClient;
}
});
// node_modules/google-auth-library/build/src/auth/googleauth.js
var require_googleauth = __commonJS({
"node_modules/google-auth-library/build/src/auth/googleauth.js"(exports2) {
"use strict";
var __classPrivateFieldGet2 = exports2 && exports2.__classPrivateFieldGet || function(receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = exports2 && exports2.__classPrivateFieldSet || function(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
};
var _GoogleAuth_instances;
var _GoogleAuth_pendingAuthClient;
var _GoogleAuth_prepareAndCacheClient;
var _GoogleAuth_determineClient;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GoogleAuth = exports2.GoogleAuthExceptionMessages = exports2.CLOUD_SDK_CLIENT_ID = void 0;
var child_process_1 = __require("child_process");
var fs84 = __require("fs");
var gcpMetadata = require_src4();
var os30 = __require("os");
var path101 = __require("path");
var crypto_1 = require_crypto3();
var transporters_1 = require_transporters();
var computeclient_1 = require_computeclient();
var idtokenclient_1 = require_idtokenclient();
var envDetect_1 = require_envDetect();
var jwtclient_1 = require_jwtclient();
var refreshclient_1 = require_refreshclient();
var impersonated_1 = require_impersonated();
var externalclient_1 = require_externalclient();
var baseexternalclient_1 = require_baseexternalclient();
var authclient_1 = require_authclient();
var externalAccountAuthorizedUserClient_1 = require_externalAccountAuthorizedUserClient();
var util_1 = require_util2();
exports2.CLOUD_SDK_CLIENT_ID = "764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com";
exports2.GoogleAuthExceptionMessages = {
API_KEY_WITH_CREDENTIALS: "API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",
NO_PROJECT_ID_FOUND: "Unable to detect a Project Id in the current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",
NO_CREDENTIALS_FOUND: "Unable to find credentials in current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",
NO_ADC_FOUND: "Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",
NO_UNIVERSE_DOMAIN_FOUND: "Unable to detect a Universe Domain in the current environment.\nTo learn more about Universe Domain retrieval, visit: \nhttps://cloud.google.com/compute/docs/metadata/predefined-metadata-keys"
};
var GoogleAuth5 = class {
// Note: this properly is only public to satisfy unit tests.
// https://github.com/Microsoft/TypeScript/issues/5228
get isGCE() {
return this.checkIsGCE;
}
/**
* Configuration is resolved in the following order of precedence:
* - {@link GoogleAuthOptions.credentials `credentials`}
* - {@link GoogleAuthOptions.keyFilename `keyFilename`}
* - {@link GoogleAuthOptions.keyFile `keyFile`}
*
* {@link GoogleAuthOptions.clientOptions `clientOptions`} are passed to the
* {@link AuthClient `AuthClient`s}.
*
* @param opts
*/
constructor(opts = {}) {
_GoogleAuth_instances.add(this);
this.checkIsGCE = void 0;
this.jsonContent = null;
this.cachedCredential = null;
_GoogleAuth_pendingAuthClient.set(this, null);
this.clientOptions = {};
this._cachedProjectId = opts.projectId || null;
this.cachedCredential = opts.authClient || null;
this.keyFilename = opts.keyFilename || opts.keyFile;
this.scopes = opts.scopes;
this.clientOptions = opts.clientOptions || {};
this.jsonContent = opts.credentials || null;
this.apiKey = opts.apiKey || this.clientOptions.apiKey || null;
if (this.apiKey && (this.jsonContent || this.clientOptions.credentials)) {
throw new RangeError(exports2.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);
}
if (opts.universeDomain) {
this.clientOptions.universeDomain = opts.universeDomain;
}
}
// GAPIC client libraries should always use self-signed JWTs. The following
// variables are set on the JWT client in order to indicate the type of library,
// and sign the JWT with the correct audience and scopes (if not supplied).
setGapicJWTValues(client) {
client.defaultServicePath = this.defaultServicePath;
client.useJWTAccessWithScope = this.useJWTAccessWithScope;
client.defaultScopes = this.defaultScopes;
}
getProjectId(callback) {
if (callback) {
this.getProjectIdAsync().then((r2) => callback(null, r2), callback);
} else {
return this.getProjectIdAsync();
}
}
/**
* A temporary method for internal `getProjectId` usages where `null` is
* acceptable. In a future major release, `getProjectId` should return `null`
* (as the `Promise<string | null>` base signature describes) and this private
* method should be removed.
*
* @returns Promise that resolves with project id (or `null`)
*/
async getProjectIdOptional() {
try {
return await this.getProjectId();
} catch (e2) {
if (e2 instanceof Error && e2.message === exports2.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND) {
return null;
} else {
throw e2;
}
}
}
/**
* A private method for finding and caching a projectId.
*
* Supports environments in order of precedence:
* - GCLOUD_PROJECT or GOOGLE_CLOUD_PROJECT environment variable
* - GOOGLE_APPLICATION_CREDENTIALS JSON file
* - Cloud SDK: `gcloud config config-helper --format json`
* - GCE project ID from metadata server
*
* @returns projectId
*/
async findAndCacheProjectId() {
let projectId = null;
projectId || (projectId = await this.getProductionProjectId());
projectId || (projectId = await this.getFileProjectId());
projectId || (projectId = await this.getDefaultServiceProjectId());
projectId || (projectId = await this.getGCEProjectId());
projectId || (projectId = await this.getExternalAccountClientProjectId());
if (projectId) {
this._cachedProjectId = projectId;
return projectId;
} else {
throw new Error(exports2.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND);
}
}
async getProjectIdAsync() {
if (this._cachedProjectId) {
return this._cachedProjectId;
}
if (!this._findProjectIdPromise) {
this._findProjectIdPromise = this.findAndCacheProjectId();
}
return this._findProjectIdPromise;
}
/**
* Retrieves a universe domain from the metadata server via
* {@link gcpMetadata.universe}.
*
* @returns a universe domain
*/
async getUniverseDomainFromMetadataServer() {
var _a4;
let universeDomain;
try {
universeDomain = await gcpMetadata.universe("universe-domain");
universeDomain || (universeDomain = authclient_1.DEFAULT_UNIVERSE);
} catch (e2) {
if (e2 && ((_a4 = e2 === null || e2 === void 0 ? void 0 : e2.response) === null || _a4 === void 0 ? void 0 : _a4.status) === 404) {
universeDomain = authclient_1.DEFAULT_UNIVERSE;
} else {
throw e2;
}
}
return universeDomain;
}
/**
* Retrieves, caches, and returns the universe domain in the following order
* of precedence:
* - The universe domain in {@link GoogleAuth.clientOptions}
* - An existing or ADC {@link AuthClient}'s universe domain
* - {@link gcpMetadata.universe}, if {@link Compute} client
*
* @returns The universe domain
*/
async getUniverseDomain() {
let universeDomain = (0, util_1.originalOrCamelOptions)(this.clientOptions).get("universe_domain");
try {
universeDomain !== null && universeDomain !== void 0 ? universeDomain : universeDomain = (await this.getClient()).universeDomain;
} catch (_a4) {
universeDomain !== null && universeDomain !== void 0 ? universeDomain : universeDomain = authclient_1.DEFAULT_UNIVERSE;
}
return universeDomain;
}
/**
* @returns Any scopes (user-specified or default scopes specified by the
* client library) that need to be set on the current Auth client.
*/
getAnyScopes() {
return this.scopes || this.defaultScopes;
}
getApplicationDefault(optionsOrCallback = {}, callback) {
let options;
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
} else {
options = optionsOrCallback;
}
if (callback) {
this.getApplicationDefaultAsync(options).then((r2) => callback(null, r2.credential, r2.projectId), callback);
} else {
return this.getApplicationDefaultAsync(options);
}
}
async getApplicationDefaultAsync(options = {}) {
if (this.cachedCredential) {
return await __classPrivateFieldGet2(this, _GoogleAuth_instances, "m", _GoogleAuth_prepareAndCacheClient).call(this, this.cachedCredential, null);
}
let credential;
credential = await this._tryGetApplicationCredentialsFromEnvironmentVariable(options);
if (credential) {
if (credential instanceof jwtclient_1.JWT) {
credential.scopes = this.scopes;
} else if (credential instanceof baseexternalclient_1.BaseExternalAccountClient) {
credential.scopes = this.getAnyScopes();
}
return await __classPrivateFieldGet2(this, _GoogleAuth_instances, "m", _GoogleAuth_prepareAndCacheClient).call(this, credential);
}
credential = await this._tryGetApplicationCredentialsFromWellKnownFile(options);
if (credential) {
if (credential instanceof jwtclient_1.JWT) {
credential.scopes = this.scopes;
} else if (credential instanceof baseexternalclient_1.BaseExternalAccountClient) {
credential.scopes = this.getAnyScopes();
}
return await __classPrivateFieldGet2(this, _GoogleAuth_instances, "m", _GoogleAuth_prepareAndCacheClient).call(this, credential);
}
if (await this._checkIsGCE()) {
options.scopes = this.getAnyScopes();
return await __classPrivateFieldGet2(this, _GoogleAuth_instances, "m", _GoogleAuth_prepareAndCacheClient).call(this, new computeclient_1.Compute(options));
}
throw new Error(exports2.GoogleAuthExceptionMessages.NO_ADC_FOUND);
}
/**
* Determines whether the auth layer is running on Google Compute Engine.
* Checks for GCP Residency, then fallback to checking if metadata server
* is available.
*
* @returns A promise that resolves with the boolean.
* @api private
*/
async _checkIsGCE() {
if (this.checkIsGCE === void 0) {
this.checkIsGCE = gcpMetadata.getGCPResidency() || await gcpMetadata.isAvailable();
}
return this.checkIsGCE;
}
/**
* Attempts to load default credentials from the environment variable path..
* @returns Promise that resolves with the OAuth2Client or null.
* @api private
*/
async _tryGetApplicationCredentialsFromEnvironmentVariable(options) {
const credentialsPath = process.env["GOOGLE_APPLICATION_CREDENTIALS"] || process.env["google_application_credentials"];
if (!credentialsPath || credentialsPath.length === 0) {
return null;
}
try {
return this._getApplicationCredentialsFromFilePath(credentialsPath, options);
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${e2.message}`;
}
throw e2;
}
}
/**
* Attempts to load default credentials from a well-known file location
* @return Promise that resolves with the OAuth2Client or null.
* @api private
*/
async _tryGetApplicationCredentialsFromWellKnownFile(options) {
let location = null;
if (this._isWindows()) {
location = process.env["APPDATA"];
} else {
const home = process.env["HOME"];
if (home) {
location = path101.join(home, ".config");
}
}
if (location) {
location = path101.join(location, "gcloud", "application_default_credentials.json");
if (!fs84.existsSync(location)) {
location = null;
}
}
if (!location) {
return null;
}
const client = await this._getApplicationCredentialsFromFilePath(location, options);
return client;
}
/**
* Attempts to load default credentials from a file at the given path..
* @param filePath The path to the file to read.
* @returns Promise that resolves with the OAuth2Client
* @api private
*/
async _getApplicationCredentialsFromFilePath(filePath, options = {}) {
if (!filePath || filePath.length === 0) {
throw new Error("The file path is invalid.");
}
try {
filePath = fs84.realpathSync(filePath);
if (!fs84.lstatSync(filePath).isFile()) {
throw new Error();
}
} catch (err2) {
if (err2 instanceof Error) {
err2.message = `The file at ${filePath} does not exist, or it is not a file. ${err2.message}`;
}
throw err2;
}
const readStream = fs84.createReadStream(filePath);
return this.fromStream(readStream, options);
}
/**
* Create a credentials instance using a given impersonated input options.
* @param json The impersonated input object.
* @returns JWT or UserRefresh Client with data
*/
fromImpersonatedJSON(json3) {
var _a4, _b, _c, _d;
if (!json3) {
throw new Error("Must pass in a JSON object containing an impersonated refresh token");
}
if (json3.type !== impersonated_1.IMPERSONATED_ACCOUNT_TYPE) {
throw new Error(`The incoming JSON object does not have the "${impersonated_1.IMPERSONATED_ACCOUNT_TYPE}" type`);
}
if (!json3.source_credentials) {
throw new Error("The incoming JSON object does not contain a source_credentials field");
}
if (!json3.service_account_impersonation_url) {
throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");
}
const sourceClient = this.fromJSON(json3.source_credentials);
if (((_a4 = json3.service_account_impersonation_url) === null || _a4 === void 0 ? void 0 : _a4.length) > 256) {
throw new RangeError(`Target principal is too long: ${json3.service_account_impersonation_url}`);
}
const targetPrincipal = (_c = (_b = /(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(json3.service_account_impersonation_url)) === null || _b === void 0 ? void 0 : _b.groups) === null || _c === void 0 ? void 0 : _c.target;
if (!targetPrincipal) {
throw new RangeError(`Cannot extract target principal from ${json3.service_account_impersonation_url}`);
}
const targetScopes = (_d = this.getAnyScopes()) !== null && _d !== void 0 ? _d : [];
return new impersonated_1.Impersonated({
...json3,
sourceClient,
targetPrincipal,
targetScopes: Array.isArray(targetScopes) ? targetScopes : [targetScopes]
});
}
/**
* Create a credentials instance using the given input options.
* This client is not cached.
*
* **Important**: If you accept a credential configuration (credential JSON/File/Stream) from an external source for authentication to Google Cloud, you must validate it before providing it to any Google API or library. Providing an unvalidated credential configuration to Google APIs can compromise the security of your systems and data. For more information, refer to {@link https://cloud.google.com/docs/authentication/external/externally-sourced-credentials Validate credential configurations from external sources}.
*
* @param json The input object.
* @param options The JWT or UserRefresh options for the client
* @returns JWT or UserRefresh Client with data
*/
fromJSON(json3, options = {}) {
let client;
const preferredUniverseDomain = (0, util_1.originalOrCamelOptions)(options).get("universe_domain");
if (json3.type === refreshclient_1.USER_REFRESH_ACCOUNT_TYPE) {
client = new refreshclient_1.UserRefreshClient(options);
client.fromJSON(json3);
} else if (json3.type === impersonated_1.IMPERSONATED_ACCOUNT_TYPE) {
client = this.fromImpersonatedJSON(json3);
} else if (json3.type === baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE) {
client = externalclient_1.ExternalAccountClient.fromJSON(json3, options);
client.scopes = this.getAnyScopes();
} else if (json3.type === externalAccountAuthorizedUserClient_1.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE) {
client = new externalAccountAuthorizedUserClient_1.ExternalAccountAuthorizedUserClient(json3, options);
} else {
options.scopes = this.scopes;
client = new jwtclient_1.JWT(options);
this.setGapicJWTValues(client);
client.fromJSON(json3);
}
if (preferredUniverseDomain) {
client.universeDomain = preferredUniverseDomain;
}
return client;
}
/**
* Return a JWT or UserRefreshClient from JavaScript object, caching both the
* object used to instantiate and the client.
* @param json The input object.
* @param options The JWT or UserRefresh options for the client
* @returns JWT or UserRefresh Client with data
*/
_cacheClientFromJSON(json3, options) {
const client = this.fromJSON(json3, options);
this.jsonContent = json3;
this.cachedCredential = client;
return client;
}
fromStream(inputStream, optionsOrCallback = {}, callback) {
let options = {};
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
} else {
options = optionsOrCallback;
}
if (callback) {
this.fromStreamAsync(inputStream, options).then((r2) => callback(null, r2), callback);
} else {
return this.fromStreamAsync(inputStream, options);
}
}
fromStreamAsync(inputStream, options) {
return new Promise((resolve25, reject) => {
if (!inputStream) {
throw new Error("Must pass in a stream containing the Google auth settings.");
}
const chunks = [];
inputStream.setEncoding("utf8").on("error", reject).on("data", (chunk) => chunks.push(chunk)).on("end", () => {
try {
try {
const data = JSON.parse(chunks.join(""));
const r2 = this._cacheClientFromJSON(data, options);
return resolve25(r2);
} catch (err2) {
if (!this.keyFilename)
throw err2;
const client = new jwtclient_1.JWT({
...this.clientOptions,
keyFile: this.keyFilename
});
this.cachedCredential = client;
this.setGapicJWTValues(client);
return resolve25(client);
}
} catch (err2) {
return reject(err2);
}
});
});
}
/**
* Create a credentials instance using the given API key string.
* The created client is not cached. In order to create and cache it use the {@link GoogleAuth.getClient `getClient`} method after first providing an {@link GoogleAuth.apiKey `apiKey`}.
*
* @param apiKey The API key string
* @param options An optional options object.
* @returns A JWT loaded from the key
*/
fromAPIKey(apiKey, options = {}) {
return new jwtclient_1.JWT({ ...options, apiKey });
}
/**
* Determines whether the current operating system is Windows.
* @api private
*/
_isWindows() {
const sys = os30.platform();
if (sys && sys.length >= 3) {
if (sys.substring(0, 3).toLowerCase() === "win") {
return true;
}
}
return false;
}
/**
* Run the Google Cloud SDK command that prints the default project ID
*/
async getDefaultServiceProjectId() {
return new Promise((resolve25) => {
(0, child_process_1.exec)("gcloud config config-helper --format json", (err2, stdout) => {
if (!err2 && stdout) {
try {
const projectId = JSON.parse(stdout).configuration.properties.core.project;
resolve25(projectId);
return;
} catch (e2) {
}
}
resolve25(null);
});
});
}
/**
* Loads the project id from environment variables.
* @api private
*/
getProductionProjectId() {
return process.env["GCLOUD_PROJECT"] || process.env["GOOGLE_CLOUD_PROJECT"] || process.env["gcloud_project"] || process.env["google_cloud_project"];
}
/**
* Loads the project id from the GOOGLE_APPLICATION_CREDENTIALS json file.
* @api private
*/
async getFileProjectId() {
if (this.cachedCredential) {
return this.cachedCredential.projectId;
}
if (this.keyFilename) {
const creds = await this.getClient();
if (creds && creds.projectId) {
return creds.projectId;
}
}
const r2 = await this._tryGetApplicationCredentialsFromEnvironmentVariable();
if (r2) {
return r2.projectId;
} else {
return null;
}
}
/**
* Gets the project ID from external account client if available.
*/
async getExternalAccountClientProjectId() {
if (!this.jsonContent || this.jsonContent.type !== baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE) {
return null;
}
const creds = await this.getClient();
return await creds.getProjectId();
}
/**
* Gets the Compute Engine project ID if it can be inferred.
*/
async getGCEProjectId() {
try {
const r2 = await gcpMetadata.project("project-id");
return r2;
} catch (e2) {
return null;
}
}
getCredentials(callback) {
if (callback) {
this.getCredentialsAsync().then((r2) => callback(null, r2), callback);
} else {
return this.getCredentialsAsync();
}
}
async getCredentialsAsync() {
const client = await this.getClient();
if (client instanceof impersonated_1.Impersonated) {
return { client_email: client.getTargetPrincipal() };
}
if (client instanceof baseexternalclient_1.BaseExternalAccountClient) {
const serviceAccountEmail = client.getServiceAccountEmail();
if (serviceAccountEmail) {
return {
client_email: serviceAccountEmail,
universe_domain: client.universeDomain
};
}
}
if (this.jsonContent) {
return {
client_email: this.jsonContent.client_email,
private_key: this.jsonContent.private_key,
universe_domain: this.jsonContent.universe_domain
};
}
if (await this._checkIsGCE()) {
const [client_email, universe_domain] = await Promise.all([
gcpMetadata.instance("service-accounts/default/email"),
this.getUniverseDomain()
]);
return { client_email, universe_domain };
}
throw new Error(exports2.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND);
}
/**
* Automatically obtain an {@link AuthClient `AuthClient`} based on the
* provided configuration. If no options were passed, use Application
* Default Credentials.
*/
async getClient() {
if (this.cachedCredential) {
return this.cachedCredential;
}
__classPrivateFieldSet(this, _GoogleAuth_pendingAuthClient, __classPrivateFieldGet2(this, _GoogleAuth_pendingAuthClient, "f") || __classPrivateFieldGet2(this, _GoogleAuth_instances, "m", _GoogleAuth_determineClient).call(this), "f");
try {
return await __classPrivateFieldGet2(this, _GoogleAuth_pendingAuthClient, "f");
} finally {
__classPrivateFieldSet(this, _GoogleAuth_pendingAuthClient, null, "f");
}
}
/**
* Creates a client which will fetch an ID token for authorization.
* @param targetAudience the audience for the fetched ID token.
* @returns IdTokenClient for making HTTP calls authenticated with ID tokens.
*/
async getIdTokenClient(targetAudience) {
const client = await this.getClient();
if (!("fetchIdToken" in client)) {
throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");
}
return new idtokenclient_1.IdTokenClient({ targetAudience, idTokenProvider: client });
}
/**
* Automatically obtain application default credentials, and return
* an access token for making requests.
*/
async getAccessToken() {
const client = await this.getClient();
return (await client.getAccessToken()).token;
}
/**
* Obtain the HTTP headers that will provide authorization for a given
* request.
*/
async getRequestHeaders(url3) {
const client = await this.getClient();
return client.getRequestHeaders(url3);
}
/**
* Obtain credentials for a request, then attach the appropriate headers to
* the request options.
* @param opts Axios or Request options on which to attach the headers
*/
async authorizeRequest(opts) {
opts = opts || {};
const url3 = opts.url || opts.uri;
const client = await this.getClient();
const headers = await client.getRequestHeaders(url3);
opts.headers = Object.assign(opts.headers || {}, headers);
return opts;
}
/**
* Automatically obtain application default credentials, and make an
* HTTP request using the given options.
* @param opts Axios request options for the HTTP request.
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async request(opts) {
const client = await this.getClient();
return client.request(opts);
}
/**
* Determine the compute environment in which the code is running.
*/
getEnv() {
return (0, envDetect_1.getEnv)();
}
/**
* Sign the given data with the current private key, or go out
* to the IAM API to sign it.
* @param data The data to be signed.
* @param endpoint A custom endpoint to use.
*
* @example
* ```
* sign('data', 'https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/');
* ```
*/
async sign(data, endpoint) {
const client = await this.getClient();
const universe = await this.getUniverseDomain();
endpoint = endpoint || `https://iamcredentials.${universe}/v1/projects/-/serviceAccounts/`;
if (client instanceof impersonated_1.Impersonated) {
const signed = await client.sign(data);
return signed.signedBlob;
}
const crypto22 = (0, crypto_1.createCrypto)();
if (client instanceof jwtclient_1.JWT && client.key) {
const sign = await crypto22.sign(client.key, data);
return sign;
}
const creds = await this.getCredentials();
if (!creds.client_email) {
throw new Error("Cannot sign data without `client_email`.");
}
return this.signBlob(crypto22, creds.client_email, data, endpoint);
}
async signBlob(crypto22, emailOrUniqueId, data, endpoint) {
const url3 = new URL(endpoint + `${emailOrUniqueId}:signBlob`);
const res = await this.request({
method: "POST",
url: url3.href,
data: {
payload: crypto22.encodeBase64StringUtf8(data)
},
retry: true,
retryConfig: {
httpMethodsToRetry: ["POST"]
}
});
return res.data.signedBlob;
}
};
exports2.GoogleAuth = GoogleAuth5;
_GoogleAuth_pendingAuthClient = /* @__PURE__ */ new WeakMap(), _GoogleAuth_instances = /* @__PURE__ */ new WeakSet(), _GoogleAuth_prepareAndCacheClient = async function _GoogleAuth_prepareAndCacheClient2(credential, quotaProjectIdOverride = process.env["GOOGLE_CLOUD_QUOTA_PROJECT"] || null) {
const projectId = await this.getProjectIdOptional();
if (quotaProjectIdOverride) {
credential.quotaProjectId = quotaProjectIdOverride;
}
this.cachedCredential = credential;
return { credential, projectId };
}, _GoogleAuth_determineClient = async function _GoogleAuth_determineClient2() {
if (this.jsonContent) {
return this._cacheClientFromJSON(this.jsonContent, this.clientOptions);
} else if (this.keyFilename) {
const filePath = path101.resolve(this.keyFilename);
const stream2 = fs84.createReadStream(filePath);
return await this.fromStreamAsync(stream2, this.clientOptions);
} else if (this.apiKey) {
const client = await this.fromAPIKey(this.apiKey, this.clientOptions);
client.scopes = this.scopes;
const { credential } = await __classPrivateFieldGet2(this, _GoogleAuth_instances, "m", _GoogleAuth_prepareAndCacheClient).call(this, client);
return credential;
} else {
const { credential } = await this.getApplicationDefaultAsync(this.clientOptions);
return credential;
}
};
GoogleAuth5.DefaultTransporter = transporters_1.DefaultTransporter;
}
});
// node_modules/google-auth-library/build/src/auth/iam.js
var require_iam = __commonJS({
"node_modules/google-auth-library/build/src/auth/iam.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.IAMAuth = void 0;
var IAMAuth = class {
/**
* IAM credentials.
*
* @param selector the iam authority selector
* @param token the token
* @constructor
*/
constructor(selector, token2) {
this.selector = selector;
this.token = token2;
this.selector = selector;
this.token = token2;
}
/**
* Acquire the HTTP headers required to make an authenticated request.
*/
getRequestHeaders() {
return {
"x-goog-iam-authority-selector": this.selector,
"x-goog-iam-authorization-token": this.token
};
}
};
exports2.IAMAuth = IAMAuth;
}
});
// node_modules/google-auth-library/build/src/auth/downscopedclient.js
var require_downscopedclient = __commonJS({
"node_modules/google-auth-library/build/src/auth/downscopedclient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DownscopedClient = exports2.EXPIRATION_TIME_OFFSET = exports2.MAX_ACCESS_BOUNDARY_RULES_COUNT = void 0;
var stream2 = __require("stream");
var authclient_1 = require_authclient();
var sts = require_stscredentials();
var STS_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:token-exchange";
var STS_REQUEST_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:access_token";
var STS_SUBJECT_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:access_token";
exports2.MAX_ACCESS_BOUNDARY_RULES_COUNT = 10;
exports2.EXPIRATION_TIME_OFFSET = 5 * 60 * 1e3;
var DownscopedClient = class extends authclient_1.AuthClient {
/**
* Instantiates a downscoped client object using the provided source
* AuthClient and credential access boundary rules.
* To downscope permissions of a source AuthClient, a Credential Access
* Boundary that specifies which resources the new credential can access, as
* well as an upper bound on the permissions that are available on each
* resource, has to be defined. A downscoped client can then be instantiated
* using the source AuthClient and the Credential Access Boundary.
* @param authClient The source AuthClient to be downscoped based on the
* provided Credential Access Boundary rules.
* @param credentialAccessBoundary The Credential Access Boundary which
* contains a list of access boundary rules. Each rule contains information
* on the resource that the rule applies to, the upper bound of the
* permissions that are available on that resource and an optional
* condition to further restrict permissions.
* @param additionalOptions **DEPRECATED, set this in the provided `authClient`.**
* Optional additional behavior customization options.
* @param quotaProjectId **DEPRECATED, set this in the provided `authClient`.**
* Optional quota project id for setting up in the x-goog-user-project header.
*/
constructor(authClient, credentialAccessBoundary, additionalOptions, quotaProjectId) {
super({ ...additionalOptions, quotaProjectId });
this.authClient = authClient;
this.credentialAccessBoundary = credentialAccessBoundary;
if (credentialAccessBoundary.accessBoundary.accessBoundaryRules.length === 0) {
throw new Error("At least one access boundary rule needs to be defined.");
} else if (credentialAccessBoundary.accessBoundary.accessBoundaryRules.length > exports2.MAX_ACCESS_BOUNDARY_RULES_COUNT) {
throw new Error(`The provided access boundary has more than ${exports2.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);
}
for (const rule of credentialAccessBoundary.accessBoundary.accessBoundaryRules) {
if (rule.availablePermissions.length === 0) {
throw new Error("At least one permission should be defined in access boundary rules.");
}
}
this.stsCredential = new sts.StsCredentials(`https://sts.${this.universeDomain}/v1/token`);
this.cachedDownscopedAccessToken = null;
}
/**
* Provides a mechanism to inject Downscoped access tokens directly.
* The expiry_date field is required to facilitate determination of the token
* expiration which would make it easier for the token consumer to handle.
* @param credentials The Credentials object to set on the current client.
*/
setCredentials(credentials3) {
if (!credentials3.expiry_date) {
throw new Error("The access token expiry_date field is missing in the provided credentials.");
}
super.setCredentials(credentials3);
this.cachedDownscopedAccessToken = credentials3;
}
async getAccessToken() {
if (!this.cachedDownscopedAccessToken || this.isExpired(this.cachedDownscopedAccessToken)) {
await this.refreshAccessTokenAsync();
}
return {
token: this.cachedDownscopedAccessToken.access_token,
expirationTime: this.cachedDownscopedAccessToken.expiry_date,
res: this.cachedDownscopedAccessToken.res
};
}
/**
* The main authentication interface. It takes an optional url which when
* present is the endpoint being accessed, and returns a Promise which
* resolves with authorization header fields.
*
* The result has the form:
* { Authorization: 'Bearer <access_token_value>' }
*/
async getRequestHeaders() {
const accessTokenResponse = await this.getAccessToken();
const headers = {
Authorization: `Bearer ${accessTokenResponse.token}`
};
return this.addSharedMetadataHeaders(headers);
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
/**
* Authenticates the provided HTTP request, processes it and resolves with the
* returned response.
* @param opts The HTTP request options.
* @param reAuthRetried Whether the current attempt is a retry after a failed attempt due to an auth failure
* @return A promise that resolves with the successful response.
*/
async requestAsync(opts, reAuthRetried = false) {
let response;
try {
const requestHeaders = await this.getRequestHeaders();
opts.headers = opts.headers || {};
if (requestHeaders && requestHeaders["x-goog-user-project"]) {
opts.headers["x-goog-user-project"] = requestHeaders["x-goog-user-project"];
}
if (requestHeaders && requestHeaders.Authorization) {
opts.headers.Authorization = requestHeaders.Authorization;
}
response = await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const isReadableStream4 = res.config.data instanceof stream2.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream4 && this.forceRefreshOnFailure) {
await this.refreshAccessTokenAsync();
return await this.requestAsync(opts, true);
}
}
throw e2;
}
return response;
}
/**
* Forces token refresh, even if unexpired tokens are currently cached.
* GCP access tokens are retrieved from authclient object/source credential.
* Then GCP access tokens are exchanged for downscoped access tokens via the
* token exchange endpoint.
* @return A promise that resolves with the fresh downscoped access token.
*/
async refreshAccessTokenAsync() {
var _a4;
const subjectToken = (await this.authClient.getAccessToken()).token;
const stsCredentialsOptions = {
grantType: STS_GRANT_TYPE,
requestedTokenType: STS_REQUEST_TOKEN_TYPE,
subjectToken,
subjectTokenType: STS_SUBJECT_TOKEN_TYPE
};
const stsResponse = await this.stsCredential.exchangeToken(stsCredentialsOptions, void 0, this.credentialAccessBoundary);
const sourceCredExpireDate = ((_a4 = this.authClient.credentials) === null || _a4 === void 0 ? void 0 : _a4.expiry_date) || null;
const expiryDate = stsResponse.expires_in ? (/* @__PURE__ */ new Date()).getTime() + stsResponse.expires_in * 1e3 : sourceCredExpireDate;
this.cachedDownscopedAccessToken = {
access_token: stsResponse.access_token,
expiry_date: expiryDate,
res: stsResponse.res
};
this.credentials = {};
Object.assign(this.credentials, this.cachedDownscopedAccessToken);
delete this.credentials.res;
this.emit("tokens", {
refresh_token: null,
expiry_date: this.cachedDownscopedAccessToken.expiry_date,
access_token: this.cachedDownscopedAccessToken.access_token,
token_type: "Bearer",
id_token: null
});
return this.cachedDownscopedAccessToken;
}
/**
* Returns whether the provided credentials are expired or not.
* If there is no expiry time, assumes the token is not expired or expiring.
* @param downscopedAccessToken The credentials to check for expiration.
* @return Whether the credentials are expired or not.
*/
isExpired(downscopedAccessToken) {
const now = (/* @__PURE__ */ new Date()).getTime();
return downscopedAccessToken.expiry_date ? now >= downscopedAccessToken.expiry_date - this.eagerRefreshThresholdMillis : false;
}
};
exports2.DownscopedClient = DownscopedClient;
}
});
// node_modules/google-auth-library/build/src/auth/passthrough.js
var require_passthrough = __commonJS({
"node_modules/google-auth-library/build/src/auth/passthrough.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PassThroughClient = void 0;
var authclient_1 = require_authclient();
var PassThroughClient = class extends authclient_1.AuthClient {
/**
* Creates a request without any authentication headers or checks.
*
* @remarks
*
* In testing environments it may be useful to change the provided
* {@link AuthClient.transporter} for any desired request overrides/handling.
*
* @param opts
* @returns The response of the request.
*/
async request(opts) {
return this.transporter.request(opts);
}
/**
* A required method of the base class.
* Always will return an empty object.
*
* @returns {}
*/
async getAccessToken() {
return {};
}
/**
* A required method of the base class.
* Always will return an empty object.
*
* @returns {}
*/
async getRequestHeaders() {
return {};
}
};
exports2.PassThroughClient = PassThroughClient;
var a2 = new PassThroughClient();
a2.getAccessToken();
}
});
// node_modules/google-auth-library/build/src/index.js
var require_src6 = __commonJS({
"node_modules/google-auth-library/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GoogleAuth = exports2.auth = exports2.DefaultTransporter = exports2.PassThroughClient = exports2.ExecutableError = exports2.PluggableAuthClient = exports2.DownscopedClient = exports2.BaseExternalAccountClient = exports2.ExternalAccountClient = exports2.IdentityPoolClient = exports2.AwsRequestSigner = exports2.AwsClient = exports2.UserRefreshClient = exports2.LoginTicket = exports2.ClientAuthentication = exports2.OAuth2Client = exports2.CodeChallengeMethod = exports2.Impersonated = exports2.JWT = exports2.JWTAccess = exports2.IdTokenClient = exports2.IAMAuth = exports2.GCPEnv = exports2.Compute = exports2.DEFAULT_UNIVERSE = exports2.AuthClient = exports2.gaxios = exports2.gcpMetadata = void 0;
var googleauth_1 = require_googleauth();
Object.defineProperty(exports2, "GoogleAuth", { enumerable: true, get: function() {
return googleauth_1.GoogleAuth;
} });
exports2.gcpMetadata = require_src4();
exports2.gaxios = require_src2();
var authclient_1 = require_authclient();
Object.defineProperty(exports2, "AuthClient", { enumerable: true, get: function() {
return authclient_1.AuthClient;
} });
Object.defineProperty(exports2, "DEFAULT_UNIVERSE", { enumerable: true, get: function() {
return authclient_1.DEFAULT_UNIVERSE;
} });
var computeclient_1 = require_computeclient();
Object.defineProperty(exports2, "Compute", { enumerable: true, get: function() {
return computeclient_1.Compute;
} });
var envDetect_1 = require_envDetect();
Object.defineProperty(exports2, "GCPEnv", { enumerable: true, get: function() {
return envDetect_1.GCPEnv;
} });
var iam_1 = require_iam();
Object.defineProperty(exports2, "IAMAuth", { enumerable: true, get: function() {
return iam_1.IAMAuth;
} });
var idtokenclient_1 = require_idtokenclient();
Object.defineProperty(exports2, "IdTokenClient", { enumerable: true, get: function() {
return idtokenclient_1.IdTokenClient;
} });
var jwtaccess_1 = require_jwtaccess();
Object.defineProperty(exports2, "JWTAccess", { enumerable: true, get: function() {
return jwtaccess_1.JWTAccess;
} });
var jwtclient_1 = require_jwtclient();
Object.defineProperty(exports2, "JWT", { enumerable: true, get: function() {
return jwtclient_1.JWT;
} });
var impersonated_1 = require_impersonated();
Object.defineProperty(exports2, "Impersonated", { enumerable: true, get: function() {
return impersonated_1.Impersonated;
} });
var oauth2client_1 = require_oauth2client();
Object.defineProperty(exports2, "CodeChallengeMethod", { enumerable: true, get: function() {
return oauth2client_1.CodeChallengeMethod;
} });
Object.defineProperty(exports2, "OAuth2Client", { enumerable: true, get: function() {
return oauth2client_1.OAuth2Client;
} });
Object.defineProperty(exports2, "ClientAuthentication", { enumerable: true, get: function() {
return oauth2client_1.ClientAuthentication;
} });
var loginticket_1 = require_loginticket();
Object.defineProperty(exports2, "LoginTicket", { enumerable: true, get: function() {
return loginticket_1.LoginTicket;
} });
var refreshclient_1 = require_refreshclient();
Object.defineProperty(exports2, "UserRefreshClient", { enumerable: true, get: function() {
return refreshclient_1.UserRefreshClient;
} });
var awsclient_1 = require_awsclient();
Object.defineProperty(exports2, "AwsClient", { enumerable: true, get: function() {
return awsclient_1.AwsClient;
} });
var awsrequestsigner_1 = require_awsrequestsigner();
Object.defineProperty(exports2, "AwsRequestSigner", { enumerable: true, get: function() {
return awsrequestsigner_1.AwsRequestSigner;
} });
var identitypoolclient_1 = require_identitypoolclient();
Object.defineProperty(exports2, "IdentityPoolClient", { enumerable: true, get: function() {
return identitypoolclient_1.IdentityPoolClient;
} });
var externalclient_1 = require_externalclient();
Object.defineProperty(exports2, "ExternalAccountClient", { enumerable: true, get: function() {
return externalclient_1.ExternalAccountClient;
} });
var baseexternalclient_1 = require_baseexternalclient();
Object.defineProperty(exports2, "BaseExternalAccountClient", { enumerable: true, get: function() {
return baseexternalclient_1.BaseExternalAccountClient;
} });
var downscopedclient_1 = require_downscopedclient();
Object.defineProperty(exports2, "DownscopedClient", { enumerable: true, get: function() {
return downscopedclient_1.DownscopedClient;
} });
var pluggable_auth_client_1 = require_pluggable_auth_client();
Object.defineProperty(exports2, "PluggableAuthClient", { enumerable: true, get: function() {
return pluggable_auth_client_1.PluggableAuthClient;
} });
Object.defineProperty(exports2, "ExecutableError", { enumerable: true, get: function() {
return pluggable_auth_client_1.ExecutableError;
} });
var passthrough_1 = require_passthrough();
Object.defineProperty(exports2, "PassThroughClient", { enumerable: true, get: function() {
return passthrough_1.PassThroughClient;
} });
var transporters_1 = require_transporters();
Object.defineProperty(exports2, "DefaultTransporter", { enumerable: true, get: function() {
return transporters_1.DefaultTransporter;
} });
var auth2 = new googleauth_1.GoogleAuth();
exports2.auth = auth2;
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/internal/utils.js
// @__NO_SIDE_EFFECTS__
function createConstMap(values) {
let res = {};
const len = values.length;
for (let lp = 0; lp < len; lp++) {
const val = values[lp];
if (val) {
res[String(val).toUpperCase().replace(/[-.]/g, "_")] = val;
}
}
return res;
}
var init_utils = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/internal/utils.js"() {
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js
var TMP_AWS_LAMBDA_INVOKED_ARN, TMP_DB_SYSTEM, TMP_DB_CONNECTION_STRING, TMP_DB_USER, TMP_DB_JDBC_DRIVER_CLASSNAME, TMP_DB_NAME, TMP_DB_STATEMENT, TMP_DB_OPERATION, TMP_DB_MSSQL_INSTANCE_NAME, TMP_DB_CASSANDRA_KEYSPACE, TMP_DB_CASSANDRA_PAGE_SIZE, TMP_DB_CASSANDRA_CONSISTENCY_LEVEL, TMP_DB_CASSANDRA_TABLE, TMP_DB_CASSANDRA_IDEMPOTENCE, TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, TMP_DB_CASSANDRA_COORDINATOR_ID, TMP_DB_CASSANDRA_COORDINATOR_DC, TMP_DB_HBASE_NAMESPACE, TMP_DB_REDIS_DATABASE_INDEX, TMP_DB_MONGODB_COLLECTION, TMP_DB_SQL_TABLE, TMP_EXCEPTION_TYPE, TMP_EXCEPTION_MESSAGE, TMP_EXCEPTION_STACKTRACE, TMP_EXCEPTION_ESCAPED, TMP_FAAS_TRIGGER, TMP_FAAS_EXECUTION, TMP_FAAS_DOCUMENT_COLLECTION, TMP_FAAS_DOCUMENT_OPERATION, TMP_FAAS_DOCUMENT_TIME, TMP_FAAS_DOCUMENT_NAME, TMP_FAAS_TIME, TMP_FAAS_CRON, TMP_FAAS_COLDSTART, TMP_FAAS_INVOKED_NAME, TMP_FAAS_INVOKED_PROVIDER, TMP_FAAS_INVOKED_REGION, TMP_NET_TRANSPORT, TMP_NET_PEER_IP, TMP_NET_PEER_PORT, TMP_NET_PEER_NAME, TMP_NET_HOST_IP, TMP_NET_HOST_PORT, TMP_NET_HOST_NAME, TMP_NET_HOST_CONNECTION_TYPE, TMP_NET_HOST_CONNECTION_SUBTYPE, TMP_NET_HOST_CARRIER_NAME, TMP_NET_HOST_CARRIER_MCC, TMP_NET_HOST_CARRIER_MNC, TMP_NET_HOST_CARRIER_ICC, TMP_PEER_SERVICE, TMP_ENDUSER_ID, TMP_ENDUSER_ROLE, TMP_ENDUSER_SCOPE, TMP_THREAD_ID, TMP_THREAD_NAME, TMP_CODE_FUNCTION, TMP_CODE_NAMESPACE, TMP_CODE_FILEPATH, TMP_CODE_LINENO, TMP_HTTP_METHOD, TMP_HTTP_URL, TMP_HTTP_TARGET, TMP_HTTP_HOST, TMP_HTTP_SCHEME, TMP_HTTP_STATUS_CODE, TMP_HTTP_FLAVOR, TMP_HTTP_USER_AGENT, TMP_HTTP_REQUEST_CONTENT_LENGTH, TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED, TMP_HTTP_RESPONSE_CONTENT_LENGTH, TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, TMP_HTTP_SERVER_NAME, TMP_HTTP_ROUTE, TMP_HTTP_CLIENT_IP, TMP_AWS_DYNAMODB_TABLE_NAMES, TMP_AWS_DYNAMODB_CONSUMED_CAPACITY, TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS, TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY, TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY, TMP_AWS_DYNAMODB_CONSISTENT_READ, TMP_AWS_DYNAMODB_PROJECTION, TMP_AWS_DYNAMODB_LIMIT, TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET, TMP_AWS_DYNAMODB_INDEX_NAME, TMP_AWS_DYNAMODB_SELECT, TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES, TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES, TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE, TMP_AWS_DYNAMODB_TABLE_COUNT, TMP_AWS_DYNAMODB_SCAN_FORWARD, TMP_AWS_DYNAMODB_SEGMENT, TMP_AWS_DYNAMODB_TOTAL_SEGMENTS, TMP_AWS_DYNAMODB_COUNT, TMP_AWS_DYNAMODB_SCANNED_COUNT, TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS, TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES, TMP_MESSAGING_SYSTEM, TMP_MESSAGING_DESTINATION, TMP_MESSAGING_DESTINATION_KIND, TMP_MESSAGING_TEMP_DESTINATION, TMP_MESSAGING_PROTOCOL, TMP_MESSAGING_PROTOCOL_VERSION, TMP_MESSAGING_URL, TMP_MESSAGING_MESSAGE_ID, TMP_MESSAGING_CONVERSATION_ID, TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES, TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES, TMP_MESSAGING_OPERATION, TMP_MESSAGING_CONSUMER_ID, TMP_MESSAGING_RABBITMQ_ROUTING_KEY, TMP_MESSAGING_KAFKA_MESSAGE_KEY, TMP_MESSAGING_KAFKA_CONSUMER_GROUP, TMP_MESSAGING_KAFKA_CLIENT_ID, TMP_MESSAGING_KAFKA_PARTITION, TMP_MESSAGING_KAFKA_TOMBSTONE, TMP_RPC_SYSTEM, TMP_RPC_SERVICE, TMP_RPC_METHOD, TMP_RPC_GRPC_STATUS_CODE, TMP_RPC_JSONRPC_VERSION, TMP_RPC_JSONRPC_REQUEST_ID, TMP_RPC_JSONRPC_ERROR_CODE, TMP_RPC_JSONRPC_ERROR_MESSAGE, TMP_MESSAGE_TYPE, TMP_MESSAGE_ID, TMP_MESSAGE_COMPRESSED_SIZE, TMP_MESSAGE_UNCOMPRESSED_SIZE, SEMATTRS_AWS_LAMBDA_INVOKED_ARN, SEMATTRS_DB_SYSTEM, SEMATTRS_DB_CONNECTION_STRING, SEMATTRS_DB_USER, SEMATTRS_DB_JDBC_DRIVER_CLASSNAME, SEMATTRS_DB_NAME, SEMATTRS_DB_STATEMENT, SEMATTRS_DB_OPERATION, SEMATTRS_DB_MSSQL_INSTANCE_NAME, SEMATTRS_DB_CASSANDRA_KEYSPACE, SEMATTRS_DB_CASSANDRA_PAGE_SIZE, SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL, SEMATTRS_DB_CASSANDRA_TABLE, SEMATTRS_DB_CASSANDRA_IDEMPOTENCE, SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, SEMATTRS_DB_CASSANDRA_COORDINATOR_ID, SEMATTRS_DB_CASSANDRA_COORDINATOR_DC, SEMATTRS_DB_HBASE_NAMESPACE, SEMATTRS_DB_REDIS_DATABASE_INDEX, SEMATTRS_DB_MONGODB_COLLECTION, SEMATTRS_DB_SQL_TABLE, SEMATTRS_EXCEPTION_TYPE, SEMATTRS_EXCEPTION_MESSAGE, SEMATTRS_EXCEPTION_STACKTRACE, SEMATTRS_EXCEPTION_ESCAPED, SEMATTRS_FAAS_TRIGGER, SEMATTRS_FAAS_EXECUTION, SEMATTRS_FAAS_DOCUMENT_COLLECTION, SEMATTRS_FAAS_DOCUMENT_OPERATION, SEMATTRS_FAAS_DOCUMENT_TIME, SEMATTRS_FAAS_DOCUMENT_NAME, SEMATTRS_FAAS_TIME, SEMATTRS_FAAS_CRON, SEMATTRS_FAAS_COLDSTART, SEMATTRS_FAAS_INVOKED_NAME, SEMATTRS_FAAS_INVOKED_PROVIDER, SEMATTRS_FAAS_INVOKED_REGION, SEMATTRS_NET_TRANSPORT, SEMATTRS_NET_PEER_IP, SEMATTRS_NET_PEER_PORT, SEMATTRS_NET_PEER_NAME, SEMATTRS_NET_HOST_IP, SEMATTRS_NET_HOST_PORT, SEMATTRS_NET_HOST_NAME, SEMATTRS_NET_HOST_CONNECTION_TYPE, SEMATTRS_NET_HOST_CONNECTION_SUBTYPE, SEMATTRS_NET_HOST_CARRIER_NAME, SEMATTRS_NET_HOST_CARRIER_MCC, SEMATTRS_NET_HOST_CARRIER_MNC, SEMATTRS_NET_HOST_CARRIER_ICC, SEMATTRS_PEER_SERVICE, SEMATTRS_ENDUSER_ID, SEMATTRS_ENDUSER_ROLE, SEMATTRS_ENDUSER_SCOPE, SEMATTRS_THREAD_ID, SEMATTRS_THREAD_NAME, SEMATTRS_CODE_FUNCTION, SEMATTRS_CODE_NAMESPACE, SEMATTRS_CODE_FILEPATH, SEMATTRS_CODE_LINENO, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_TARGET, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_FLAVOR, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH, SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED, SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH, SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_AWS_DYNAMODB_TABLE_NAMES, SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY, SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS, SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY, SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY, SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ, SEMATTRS_AWS_DYNAMODB_PROJECTION, SEMATTRS_AWS_DYNAMODB_LIMIT, SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET, SEMATTRS_AWS_DYNAMODB_INDEX_NAME, SEMATTRS_AWS_DYNAMODB_SELECT, SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES, SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES, SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE, SEMATTRS_AWS_DYNAMODB_TABLE_COUNT, SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD, SEMATTRS_AWS_DYNAMODB_SEGMENT, SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS, SEMATTRS_AWS_DYNAMODB_COUNT, SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT, SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS, SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES, SEMATTRS_MESSAGING_SYSTEM, SEMATTRS_MESSAGING_DESTINATION, SEMATTRS_MESSAGING_DESTINATION_KIND, SEMATTRS_MESSAGING_TEMP_DESTINATION, SEMATTRS_MESSAGING_PROTOCOL, SEMATTRS_MESSAGING_PROTOCOL_VERSION, SEMATTRS_MESSAGING_URL, SEMATTRS_MESSAGING_MESSAGE_ID, SEMATTRS_MESSAGING_CONVERSATION_ID, SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES, SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES, SEMATTRS_MESSAGING_OPERATION, SEMATTRS_MESSAGING_CONSUMER_ID, SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY, SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY, SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP, SEMATTRS_MESSAGING_KAFKA_CLIENT_ID, SEMATTRS_MESSAGING_KAFKA_PARTITION, SEMATTRS_MESSAGING_KAFKA_TOMBSTONE, SEMATTRS_RPC_SYSTEM, SEMATTRS_RPC_SERVICE, SEMATTRS_RPC_METHOD, SEMATTRS_RPC_GRPC_STATUS_CODE, SEMATTRS_RPC_JSONRPC_VERSION, SEMATTRS_RPC_JSONRPC_REQUEST_ID, SEMATTRS_RPC_JSONRPC_ERROR_CODE, SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE, SEMATTRS_MESSAGE_TYPE, SEMATTRS_MESSAGE_ID, SEMATTRS_MESSAGE_COMPRESSED_SIZE, SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE, SemanticAttributes, TMP_DBSYSTEMVALUES_OTHER_SQL, TMP_DBSYSTEMVALUES_MSSQL, TMP_DBSYSTEMVALUES_MYSQL, TMP_DBSYSTEMVALUES_ORACLE, TMP_DBSYSTEMVALUES_DB2, TMP_DBSYSTEMVALUES_POSTGRESQL, TMP_DBSYSTEMVALUES_REDSHIFT, TMP_DBSYSTEMVALUES_HIVE, TMP_DBSYSTEMVALUES_CLOUDSCAPE, TMP_DBSYSTEMVALUES_HSQLDB, TMP_DBSYSTEMVALUES_PROGRESS, TMP_DBSYSTEMVALUES_MAXDB, TMP_DBSYSTEMVALUES_HANADB, TMP_DBSYSTEMVALUES_INGRES, TMP_DBSYSTEMVALUES_FIRSTSQL, TMP_DBSYSTEMVALUES_EDB, TMP_DBSYSTEMVALUES_CACHE, TMP_DBSYSTEMVALUES_ADABAS, TMP_DBSYSTEMVALUES_FIREBIRD, TMP_DBSYSTEMVALUES_DERBY, TMP_DBSYSTEMVALUES_FILEMAKER, TMP_DBSYSTEMVALUES_INFORMIX, TMP_DBSYSTEMVALUES_INSTANTDB, TMP_DBSYSTEMVALUES_INTERBASE, TMP_DBSYSTEMVALUES_MARIADB, TMP_DBSYSTEMVALUES_NETEZZA, TMP_DBSYSTEMVALUES_PERVASIVE, TMP_DBSYSTEMVALUES_POINTBASE, TMP_DBSYSTEMVALUES_SQLITE, TMP_DBSYSTEMVALUES_SYBASE, TMP_DBSYSTEMVALUES_TERADATA, TMP_DBSYSTEMVALUES_VERTICA, TMP_DBSYSTEMVALUES_H2, TMP_DBSYSTEMVALUES_COLDFUSION, TMP_DBSYSTEMVALUES_CASSANDRA, TMP_DBSYSTEMVALUES_HBASE, TMP_DBSYSTEMVALUES_MONGODB, TMP_DBSYSTEMVALUES_REDIS, TMP_DBSYSTEMVALUES_COUCHBASE, TMP_DBSYSTEMVALUES_COUCHDB, TMP_DBSYSTEMVALUES_COSMOSDB, TMP_DBSYSTEMVALUES_DYNAMODB, TMP_DBSYSTEMVALUES_NEO4J, TMP_DBSYSTEMVALUES_GEODE, TMP_DBSYSTEMVALUES_ELASTICSEARCH, TMP_DBSYSTEMVALUES_MEMCACHED, TMP_DBSYSTEMVALUES_COCKROACHDB, DBSYSTEMVALUES_OTHER_SQL, DBSYSTEMVALUES_MSSQL, DBSYSTEMVALUES_MYSQL, DBSYSTEMVALUES_ORACLE, DBSYSTEMVALUES_DB2, DBSYSTEMVALUES_POSTGRESQL, DBSYSTEMVALUES_REDSHIFT, DBSYSTEMVALUES_HIVE, DBSYSTEMVALUES_CLOUDSCAPE, DBSYSTEMVALUES_HSQLDB, DBSYSTEMVALUES_PROGRESS, DBSYSTEMVALUES_MAXDB, DBSYSTEMVALUES_HANADB, DBSYSTEMVALUES_INGRES, DBSYSTEMVALUES_FIRSTSQL, DBSYSTEMVALUES_EDB, DBSYSTEMVALUES_CACHE, DBSYSTEMVALUES_ADABAS, DBSYSTEMVALUES_FIREBIRD, DBSYSTEMVALUES_DERBY, DBSYSTEMVALUES_FILEMAKER, DBSYSTEMVALUES_INFORMIX, DBSYSTEMVALUES_INSTANTDB, DBSYSTEMVALUES_INTERBASE, DBSYSTEMVALUES_MARIADB, DBSYSTEMVALUES_NETEZZA, DBSYSTEMVALUES_PERVASIVE, DBSYSTEMVALUES_POINTBASE, DBSYSTEMVALUES_SQLITE, DBSYSTEMVALUES_SYBASE, DBSYSTEMVALUES_TERADATA, DBSYSTEMVALUES_VERTICA, DBSYSTEMVALUES_H2, DBSYSTEMVALUES_COLDFUSION, DBSYSTEMVALUES_CASSANDRA, DBSYSTEMVALUES_HBASE, DBSYSTEMVALUES_MONGODB, DBSYSTEMVALUES_REDIS, DBSYSTEMVALUES_COUCHBASE, DBSYSTEMVALUES_COUCHDB, DBSYSTEMVALUES_COSMOSDB, DBSYSTEMVALUES_DYNAMODB, DBSYSTEMVALUES_NEO4J, DBSYSTEMVALUES_GEODE, DBSYSTEMVALUES_ELASTICSEARCH, DBSYSTEMVALUES_MEMCACHED, DBSYSTEMVALUES_COCKROACHDB, DbSystemValues, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL, TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL, DBCASSANDRACONSISTENCYLEVELVALUES_ALL, DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_ONE, DBCASSANDRACONSISTENCYLEVELVALUES_TWO, DBCASSANDRACONSISTENCYLEVELVALUES_THREE, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE, DBCASSANDRACONSISTENCYLEVELVALUES_ANY, DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL, DbCassandraConsistencyLevelValues, TMP_FAASTRIGGERVALUES_DATASOURCE, TMP_FAASTRIGGERVALUES_HTTP, TMP_FAASTRIGGERVALUES_PUBSUB, TMP_FAASTRIGGERVALUES_TIMER, TMP_FAASTRIGGERVALUES_OTHER, FAASTRIGGERVALUES_DATASOURCE, FAASTRIGGERVALUES_HTTP, FAASTRIGGERVALUES_PUBSUB, FAASTRIGGERVALUES_TIMER, FAASTRIGGERVALUES_OTHER, FaasTriggerValues, TMP_FAASDOCUMENTOPERATIONVALUES_INSERT, TMP_FAASDOCUMENTOPERATIONVALUES_EDIT, TMP_FAASDOCUMENTOPERATIONVALUES_DELETE, FAASDOCUMENTOPERATIONVALUES_INSERT, FAASDOCUMENTOPERATIONVALUES_EDIT, FAASDOCUMENTOPERATIONVALUES_DELETE, FaasDocumentOperationValues, TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD, TMP_FAASINVOKEDPROVIDERVALUES_AWS, TMP_FAASINVOKEDPROVIDERVALUES_AZURE, TMP_FAASINVOKEDPROVIDERVALUES_GCP, FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD, FAASINVOKEDPROVIDERVALUES_AWS, FAASINVOKEDPROVIDERVALUES_AZURE, FAASINVOKEDPROVIDERVALUES_GCP, FaasInvokedProviderValues, TMP_NETTRANSPORTVALUES_IP_TCP, TMP_NETTRANSPORTVALUES_IP_UDP, TMP_NETTRANSPORTVALUES_IP, TMP_NETTRANSPORTVALUES_UNIX, TMP_NETTRANSPORTVALUES_PIPE, TMP_NETTRANSPORTVALUES_INPROC, TMP_NETTRANSPORTVALUES_OTHER, NETTRANSPORTVALUES_IP_TCP, NETTRANSPORTVALUES_IP_UDP, NETTRANSPORTVALUES_IP, NETTRANSPORTVALUES_UNIX, NETTRANSPORTVALUES_PIPE, NETTRANSPORTVALUES_INPROC, NETTRANSPORTVALUES_OTHER, NetTransportValues, TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI, TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED, TMP_NETHOSTCONNECTIONTYPEVALUES_CELL, TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE, TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN, NETHOSTCONNECTIONTYPEVALUES_WIFI, NETHOSTCONNECTIONTYPEVALUES_WIRED, NETHOSTCONNECTIONTYPEVALUES_CELL, NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE, NETHOSTCONNECTIONTYPEVALUES_UNKNOWN, NetHostConnectionTypeValues, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA, TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA, NETHOSTCONNECTIONSUBTYPEVALUES_GPRS, NETHOSTCONNECTIONSUBTYPEVALUES_EDGE, NETHOSTCONNECTIONSUBTYPEVALUES_UMTS, NETHOSTCONNECTIONSUBTYPEVALUES_CDMA, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A, NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT, NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA, NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA, NETHOSTCONNECTIONSUBTYPEVALUES_HSPA, NETHOSTCONNECTIONSUBTYPEVALUES_IDEN, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B, NETHOSTCONNECTIONSUBTYPEVALUES_LTE, NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD, NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP, NETHOSTCONNECTIONSUBTYPEVALUES_GSM, NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA, NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN, NETHOSTCONNECTIONSUBTYPEVALUES_NR, NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA, NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA, NetHostConnectionSubtypeValues, TMP_HTTPFLAVORVALUES_HTTP_1_0, TMP_HTTPFLAVORVALUES_HTTP_1_1, TMP_HTTPFLAVORVALUES_HTTP_2_0, TMP_HTTPFLAVORVALUES_SPDY, TMP_HTTPFLAVORVALUES_QUIC, HTTPFLAVORVALUES_HTTP_1_0, HTTPFLAVORVALUES_HTTP_1_1, HTTPFLAVORVALUES_HTTP_2_0, HTTPFLAVORVALUES_SPDY, HTTPFLAVORVALUES_QUIC, HttpFlavorValues, TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE, TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC, MESSAGINGDESTINATIONKINDVALUES_QUEUE, MESSAGINGDESTINATIONKINDVALUES_TOPIC, MessagingDestinationKindValues, TMP_MESSAGINGOPERATIONVALUES_RECEIVE, TMP_MESSAGINGOPERATIONVALUES_PROCESS, MESSAGINGOPERATIONVALUES_RECEIVE, MESSAGINGOPERATIONVALUES_PROCESS, MessagingOperationValues, TMP_RPCGRPCSTATUSCODEVALUES_OK, TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED, TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN, TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT, TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED, TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND, TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS, TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED, TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED, TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION, TMP_RPCGRPCSTATUSCODEVALUES_ABORTED, TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE, TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED, TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL, TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE, TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS, TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED, RPCGRPCSTATUSCODEVALUES_OK, RPCGRPCSTATUSCODEVALUES_CANCELLED, RPCGRPCSTATUSCODEVALUES_UNKNOWN, RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT, RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED, RPCGRPCSTATUSCODEVALUES_NOT_FOUND, RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS, RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED, RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED, RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION, RPCGRPCSTATUSCODEVALUES_ABORTED, RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE, RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED, RPCGRPCSTATUSCODEVALUES_INTERNAL, RPCGRPCSTATUSCODEVALUES_UNAVAILABLE, RPCGRPCSTATUSCODEVALUES_DATA_LOSS, RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED, RpcGrpcStatusCodeValues, TMP_MESSAGETYPEVALUES_SENT, TMP_MESSAGETYPEVALUES_RECEIVED, MESSAGETYPEVALUES_SENT, MESSAGETYPEVALUES_RECEIVED, MessageTypeValues;
var init_SemanticAttributes = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js"() {
init_utils();
TMP_AWS_LAMBDA_INVOKED_ARN = "aws.lambda.invoked_arn";
TMP_DB_SYSTEM = "db.system";
TMP_DB_CONNECTION_STRING = "db.connection_string";
TMP_DB_USER = "db.user";
TMP_DB_JDBC_DRIVER_CLASSNAME = "db.jdbc.driver_classname";
TMP_DB_NAME = "db.name";
TMP_DB_STATEMENT = "db.statement";
TMP_DB_OPERATION = "db.operation";
TMP_DB_MSSQL_INSTANCE_NAME = "db.mssql.instance_name";
TMP_DB_CASSANDRA_KEYSPACE = "db.cassandra.keyspace";
TMP_DB_CASSANDRA_PAGE_SIZE = "db.cassandra.page_size";
TMP_DB_CASSANDRA_CONSISTENCY_LEVEL = "db.cassandra.consistency_level";
TMP_DB_CASSANDRA_TABLE = "db.cassandra.table";
TMP_DB_CASSANDRA_IDEMPOTENCE = "db.cassandra.idempotence";
TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = "db.cassandra.speculative_execution_count";
TMP_DB_CASSANDRA_COORDINATOR_ID = "db.cassandra.coordinator.id";
TMP_DB_CASSANDRA_COORDINATOR_DC = "db.cassandra.coordinator.dc";
TMP_DB_HBASE_NAMESPACE = "db.hbase.namespace";
TMP_DB_REDIS_DATABASE_INDEX = "db.redis.database_index";
TMP_DB_MONGODB_COLLECTION = "db.mongodb.collection";
TMP_DB_SQL_TABLE = "db.sql.table";
TMP_EXCEPTION_TYPE = "exception.type";
TMP_EXCEPTION_MESSAGE = "exception.message";
TMP_EXCEPTION_STACKTRACE = "exception.stacktrace";
TMP_EXCEPTION_ESCAPED = "exception.escaped";
TMP_FAAS_TRIGGER = "faas.trigger";
TMP_FAAS_EXECUTION = "faas.execution";
TMP_FAAS_DOCUMENT_COLLECTION = "faas.document.collection";
TMP_FAAS_DOCUMENT_OPERATION = "faas.document.operation";
TMP_FAAS_DOCUMENT_TIME = "faas.document.time";
TMP_FAAS_DOCUMENT_NAME = "faas.document.name";
TMP_FAAS_TIME = "faas.time";
TMP_FAAS_CRON = "faas.cron";
TMP_FAAS_COLDSTART = "faas.coldstart";
TMP_FAAS_INVOKED_NAME = "faas.invoked_name";
TMP_FAAS_INVOKED_PROVIDER = "faas.invoked_provider";
TMP_FAAS_INVOKED_REGION = "faas.invoked_region";
TMP_NET_TRANSPORT = "net.transport";
TMP_NET_PEER_IP = "net.peer.ip";
TMP_NET_PEER_PORT = "net.peer.port";
TMP_NET_PEER_NAME = "net.peer.name";
TMP_NET_HOST_IP = "net.host.ip";
TMP_NET_HOST_PORT = "net.host.port";
TMP_NET_HOST_NAME = "net.host.name";
TMP_NET_HOST_CONNECTION_TYPE = "net.host.connection.type";
TMP_NET_HOST_CONNECTION_SUBTYPE = "net.host.connection.subtype";
TMP_NET_HOST_CARRIER_NAME = "net.host.carrier.name";
TMP_NET_HOST_CARRIER_MCC = "net.host.carrier.mcc";
TMP_NET_HOST_CARRIER_MNC = "net.host.carrier.mnc";
TMP_NET_HOST_CARRIER_ICC = "net.host.carrier.icc";
TMP_PEER_SERVICE = "peer.service";
TMP_ENDUSER_ID = "enduser.id";
TMP_ENDUSER_ROLE = "enduser.role";
TMP_ENDUSER_SCOPE = "enduser.scope";
TMP_THREAD_ID = "thread.id";
TMP_THREAD_NAME = "thread.name";
TMP_CODE_FUNCTION = "code.function";
TMP_CODE_NAMESPACE = "code.namespace";
TMP_CODE_FILEPATH = "code.filepath";
TMP_CODE_LINENO = "code.lineno";
TMP_HTTP_METHOD = "http.method";
TMP_HTTP_URL = "http.url";
TMP_HTTP_TARGET = "http.target";
TMP_HTTP_HOST = "http.host";
TMP_HTTP_SCHEME = "http.scheme";
TMP_HTTP_STATUS_CODE = "http.status_code";
TMP_HTTP_FLAVOR = "http.flavor";
TMP_HTTP_USER_AGENT = "http.user_agent";
TMP_HTTP_REQUEST_CONTENT_LENGTH = "http.request_content_length";
TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = "http.request_content_length_uncompressed";
TMP_HTTP_RESPONSE_CONTENT_LENGTH = "http.response_content_length";
TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = "http.response_content_length_uncompressed";
TMP_HTTP_SERVER_NAME = "http.server_name";
TMP_HTTP_ROUTE = "http.route";
TMP_HTTP_CLIENT_IP = "http.client_ip";
TMP_AWS_DYNAMODB_TABLE_NAMES = "aws.dynamodb.table_names";
TMP_AWS_DYNAMODB_CONSUMED_CAPACITY = "aws.dynamodb.consumed_capacity";
TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = "aws.dynamodb.item_collection_metrics";
TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = "aws.dynamodb.provisioned_read_capacity";
TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = "aws.dynamodb.provisioned_write_capacity";
TMP_AWS_DYNAMODB_CONSISTENT_READ = "aws.dynamodb.consistent_read";
TMP_AWS_DYNAMODB_PROJECTION = "aws.dynamodb.projection";
TMP_AWS_DYNAMODB_LIMIT = "aws.dynamodb.limit";
TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET = "aws.dynamodb.attributes_to_get";
TMP_AWS_DYNAMODB_INDEX_NAME = "aws.dynamodb.index_name";
TMP_AWS_DYNAMODB_SELECT = "aws.dynamodb.select";
TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = "aws.dynamodb.global_secondary_indexes";
TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = "aws.dynamodb.local_secondary_indexes";
TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = "aws.dynamodb.exclusive_start_table";
TMP_AWS_DYNAMODB_TABLE_COUNT = "aws.dynamodb.table_count";
TMP_AWS_DYNAMODB_SCAN_FORWARD = "aws.dynamodb.scan_forward";
TMP_AWS_DYNAMODB_SEGMENT = "aws.dynamodb.segment";
TMP_AWS_DYNAMODB_TOTAL_SEGMENTS = "aws.dynamodb.total_segments";
TMP_AWS_DYNAMODB_COUNT = "aws.dynamodb.count";
TMP_AWS_DYNAMODB_SCANNED_COUNT = "aws.dynamodb.scanned_count";
TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = "aws.dynamodb.attribute_definitions";
TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = "aws.dynamodb.global_secondary_index_updates";
TMP_MESSAGING_SYSTEM = "messaging.system";
TMP_MESSAGING_DESTINATION = "messaging.destination";
TMP_MESSAGING_DESTINATION_KIND = "messaging.destination_kind";
TMP_MESSAGING_TEMP_DESTINATION = "messaging.temp_destination";
TMP_MESSAGING_PROTOCOL = "messaging.protocol";
TMP_MESSAGING_PROTOCOL_VERSION = "messaging.protocol_version";
TMP_MESSAGING_URL = "messaging.url";
TMP_MESSAGING_MESSAGE_ID = "messaging.message_id";
TMP_MESSAGING_CONVERSATION_ID = "messaging.conversation_id";
TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = "messaging.message_payload_size_bytes";
TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = "messaging.message_payload_compressed_size_bytes";
TMP_MESSAGING_OPERATION = "messaging.operation";
TMP_MESSAGING_CONSUMER_ID = "messaging.consumer_id";
TMP_MESSAGING_RABBITMQ_ROUTING_KEY = "messaging.rabbitmq.routing_key";
TMP_MESSAGING_KAFKA_MESSAGE_KEY = "messaging.kafka.message_key";
TMP_MESSAGING_KAFKA_CONSUMER_GROUP = "messaging.kafka.consumer_group";
TMP_MESSAGING_KAFKA_CLIENT_ID = "messaging.kafka.client_id";
TMP_MESSAGING_KAFKA_PARTITION = "messaging.kafka.partition";
TMP_MESSAGING_KAFKA_TOMBSTONE = "messaging.kafka.tombstone";
TMP_RPC_SYSTEM = "rpc.system";
TMP_RPC_SERVICE = "rpc.service";
TMP_RPC_METHOD = "rpc.method";
TMP_RPC_GRPC_STATUS_CODE = "rpc.grpc.status_code";
TMP_RPC_JSONRPC_VERSION = "rpc.jsonrpc.version";
TMP_RPC_JSONRPC_REQUEST_ID = "rpc.jsonrpc.request_id";
TMP_RPC_JSONRPC_ERROR_CODE = "rpc.jsonrpc.error_code";
TMP_RPC_JSONRPC_ERROR_MESSAGE = "rpc.jsonrpc.error_message";
TMP_MESSAGE_TYPE = "message.type";
TMP_MESSAGE_ID = "message.id";
TMP_MESSAGE_COMPRESSED_SIZE = "message.compressed_size";
TMP_MESSAGE_UNCOMPRESSED_SIZE = "message.uncompressed_size";
SEMATTRS_AWS_LAMBDA_INVOKED_ARN = TMP_AWS_LAMBDA_INVOKED_ARN;
SEMATTRS_DB_SYSTEM = TMP_DB_SYSTEM;
SEMATTRS_DB_CONNECTION_STRING = TMP_DB_CONNECTION_STRING;
SEMATTRS_DB_USER = TMP_DB_USER;
SEMATTRS_DB_JDBC_DRIVER_CLASSNAME = TMP_DB_JDBC_DRIVER_CLASSNAME;
SEMATTRS_DB_NAME = TMP_DB_NAME;
SEMATTRS_DB_STATEMENT = TMP_DB_STATEMENT;
SEMATTRS_DB_OPERATION = TMP_DB_OPERATION;
SEMATTRS_DB_MSSQL_INSTANCE_NAME = TMP_DB_MSSQL_INSTANCE_NAME;
SEMATTRS_DB_CASSANDRA_KEYSPACE = TMP_DB_CASSANDRA_KEYSPACE;
SEMATTRS_DB_CASSANDRA_PAGE_SIZE = TMP_DB_CASSANDRA_PAGE_SIZE;
SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL = TMP_DB_CASSANDRA_CONSISTENCY_LEVEL;
SEMATTRS_DB_CASSANDRA_TABLE = TMP_DB_CASSANDRA_TABLE;
SEMATTRS_DB_CASSANDRA_IDEMPOTENCE = TMP_DB_CASSANDRA_IDEMPOTENCE;
SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT;
SEMATTRS_DB_CASSANDRA_COORDINATOR_ID = TMP_DB_CASSANDRA_COORDINATOR_ID;
SEMATTRS_DB_CASSANDRA_COORDINATOR_DC = TMP_DB_CASSANDRA_COORDINATOR_DC;
SEMATTRS_DB_HBASE_NAMESPACE = TMP_DB_HBASE_NAMESPACE;
SEMATTRS_DB_REDIS_DATABASE_INDEX = TMP_DB_REDIS_DATABASE_INDEX;
SEMATTRS_DB_MONGODB_COLLECTION = TMP_DB_MONGODB_COLLECTION;
SEMATTRS_DB_SQL_TABLE = TMP_DB_SQL_TABLE;
SEMATTRS_EXCEPTION_TYPE = TMP_EXCEPTION_TYPE;
SEMATTRS_EXCEPTION_MESSAGE = TMP_EXCEPTION_MESSAGE;
SEMATTRS_EXCEPTION_STACKTRACE = TMP_EXCEPTION_STACKTRACE;
SEMATTRS_EXCEPTION_ESCAPED = TMP_EXCEPTION_ESCAPED;
SEMATTRS_FAAS_TRIGGER = TMP_FAAS_TRIGGER;
SEMATTRS_FAAS_EXECUTION = TMP_FAAS_EXECUTION;
SEMATTRS_FAAS_DOCUMENT_COLLECTION = TMP_FAAS_DOCUMENT_COLLECTION;
SEMATTRS_FAAS_DOCUMENT_OPERATION = TMP_FAAS_DOCUMENT_OPERATION;
SEMATTRS_FAAS_DOCUMENT_TIME = TMP_FAAS_DOCUMENT_TIME;
SEMATTRS_FAAS_DOCUMENT_NAME = TMP_FAAS_DOCUMENT_NAME;
SEMATTRS_FAAS_TIME = TMP_FAAS_TIME;
SEMATTRS_FAAS_CRON = TMP_FAAS_CRON;
SEMATTRS_FAAS_COLDSTART = TMP_FAAS_COLDSTART;
SEMATTRS_FAAS_INVOKED_NAME = TMP_FAAS_INVOKED_NAME;
SEMATTRS_FAAS_INVOKED_PROVIDER = TMP_FAAS_INVOKED_PROVIDER;
SEMATTRS_FAAS_INVOKED_REGION = TMP_FAAS_INVOKED_REGION;
SEMATTRS_NET_TRANSPORT = TMP_NET_TRANSPORT;
SEMATTRS_NET_PEER_IP = TMP_NET_PEER_IP;
SEMATTRS_NET_PEER_PORT = TMP_NET_PEER_PORT;
SEMATTRS_NET_PEER_NAME = TMP_NET_PEER_NAME;
SEMATTRS_NET_HOST_IP = TMP_NET_HOST_IP;
SEMATTRS_NET_HOST_PORT = TMP_NET_HOST_PORT;
SEMATTRS_NET_HOST_NAME = TMP_NET_HOST_NAME;
SEMATTRS_NET_HOST_CONNECTION_TYPE = TMP_NET_HOST_CONNECTION_TYPE;
SEMATTRS_NET_HOST_CONNECTION_SUBTYPE = TMP_NET_HOST_CONNECTION_SUBTYPE;
SEMATTRS_NET_HOST_CARRIER_NAME = TMP_NET_HOST_CARRIER_NAME;
SEMATTRS_NET_HOST_CARRIER_MCC = TMP_NET_HOST_CARRIER_MCC;
SEMATTRS_NET_HOST_CARRIER_MNC = TMP_NET_HOST_CARRIER_MNC;
SEMATTRS_NET_HOST_CARRIER_ICC = TMP_NET_HOST_CARRIER_ICC;
SEMATTRS_PEER_SERVICE = TMP_PEER_SERVICE;
SEMATTRS_ENDUSER_ID = TMP_ENDUSER_ID;
SEMATTRS_ENDUSER_ROLE = TMP_ENDUSER_ROLE;
SEMATTRS_ENDUSER_SCOPE = TMP_ENDUSER_SCOPE;
SEMATTRS_THREAD_ID = TMP_THREAD_ID;
SEMATTRS_THREAD_NAME = TMP_THREAD_NAME;
SEMATTRS_CODE_FUNCTION = TMP_CODE_FUNCTION;
SEMATTRS_CODE_NAMESPACE = TMP_CODE_NAMESPACE;
SEMATTRS_CODE_FILEPATH = TMP_CODE_FILEPATH;
SEMATTRS_CODE_LINENO = TMP_CODE_LINENO;
SEMATTRS_HTTP_METHOD = TMP_HTTP_METHOD;
SEMATTRS_HTTP_URL = TMP_HTTP_URL;
SEMATTRS_HTTP_TARGET = TMP_HTTP_TARGET;
SEMATTRS_HTTP_HOST = TMP_HTTP_HOST;
SEMATTRS_HTTP_SCHEME = TMP_HTTP_SCHEME;
SEMATTRS_HTTP_STATUS_CODE = TMP_HTTP_STATUS_CODE;
SEMATTRS_HTTP_FLAVOR = TMP_HTTP_FLAVOR;
SEMATTRS_HTTP_USER_AGENT = TMP_HTTP_USER_AGENT;
SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH = TMP_HTTP_REQUEST_CONTENT_LENGTH;
SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED;
SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH = TMP_HTTP_RESPONSE_CONTENT_LENGTH;
SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED;
SEMATTRS_HTTP_SERVER_NAME = TMP_HTTP_SERVER_NAME;
SEMATTRS_HTTP_ROUTE = TMP_HTTP_ROUTE;
SEMATTRS_HTTP_CLIENT_IP = TMP_HTTP_CLIENT_IP;
SEMATTRS_AWS_DYNAMODB_TABLE_NAMES = TMP_AWS_DYNAMODB_TABLE_NAMES;
SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY = TMP_AWS_DYNAMODB_CONSUMED_CAPACITY;
SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS;
SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY;
SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY;
SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ = TMP_AWS_DYNAMODB_CONSISTENT_READ;
SEMATTRS_AWS_DYNAMODB_PROJECTION = TMP_AWS_DYNAMODB_PROJECTION;
SEMATTRS_AWS_DYNAMODB_LIMIT = TMP_AWS_DYNAMODB_LIMIT;
SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET = TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET;
SEMATTRS_AWS_DYNAMODB_INDEX_NAME = TMP_AWS_DYNAMODB_INDEX_NAME;
SEMATTRS_AWS_DYNAMODB_SELECT = TMP_AWS_DYNAMODB_SELECT;
SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES;
SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES;
SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE;
SEMATTRS_AWS_DYNAMODB_TABLE_COUNT = TMP_AWS_DYNAMODB_TABLE_COUNT;
SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD = TMP_AWS_DYNAMODB_SCAN_FORWARD;
SEMATTRS_AWS_DYNAMODB_SEGMENT = TMP_AWS_DYNAMODB_SEGMENT;
SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS = TMP_AWS_DYNAMODB_TOTAL_SEGMENTS;
SEMATTRS_AWS_DYNAMODB_COUNT = TMP_AWS_DYNAMODB_COUNT;
SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT = TMP_AWS_DYNAMODB_SCANNED_COUNT;
SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS;
SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES;
SEMATTRS_MESSAGING_SYSTEM = TMP_MESSAGING_SYSTEM;
SEMATTRS_MESSAGING_DESTINATION = TMP_MESSAGING_DESTINATION;
SEMATTRS_MESSAGING_DESTINATION_KIND = TMP_MESSAGING_DESTINATION_KIND;
SEMATTRS_MESSAGING_TEMP_DESTINATION = TMP_MESSAGING_TEMP_DESTINATION;
SEMATTRS_MESSAGING_PROTOCOL = TMP_MESSAGING_PROTOCOL;
SEMATTRS_MESSAGING_PROTOCOL_VERSION = TMP_MESSAGING_PROTOCOL_VERSION;
SEMATTRS_MESSAGING_URL = TMP_MESSAGING_URL;
SEMATTRS_MESSAGING_MESSAGE_ID = TMP_MESSAGING_MESSAGE_ID;
SEMATTRS_MESSAGING_CONVERSATION_ID = TMP_MESSAGING_CONVERSATION_ID;
SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES;
SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES;
SEMATTRS_MESSAGING_OPERATION = TMP_MESSAGING_OPERATION;
SEMATTRS_MESSAGING_CONSUMER_ID = TMP_MESSAGING_CONSUMER_ID;
SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY = TMP_MESSAGING_RABBITMQ_ROUTING_KEY;
SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY = TMP_MESSAGING_KAFKA_MESSAGE_KEY;
SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP = TMP_MESSAGING_KAFKA_CONSUMER_GROUP;
SEMATTRS_MESSAGING_KAFKA_CLIENT_ID = TMP_MESSAGING_KAFKA_CLIENT_ID;
SEMATTRS_MESSAGING_KAFKA_PARTITION = TMP_MESSAGING_KAFKA_PARTITION;
SEMATTRS_MESSAGING_KAFKA_TOMBSTONE = TMP_MESSAGING_KAFKA_TOMBSTONE;
SEMATTRS_RPC_SYSTEM = TMP_RPC_SYSTEM;
SEMATTRS_RPC_SERVICE = TMP_RPC_SERVICE;
SEMATTRS_RPC_METHOD = TMP_RPC_METHOD;
SEMATTRS_RPC_GRPC_STATUS_CODE = TMP_RPC_GRPC_STATUS_CODE;
SEMATTRS_RPC_JSONRPC_VERSION = TMP_RPC_JSONRPC_VERSION;
SEMATTRS_RPC_JSONRPC_REQUEST_ID = TMP_RPC_JSONRPC_REQUEST_ID;
SEMATTRS_RPC_JSONRPC_ERROR_CODE = TMP_RPC_JSONRPC_ERROR_CODE;
SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE = TMP_RPC_JSONRPC_ERROR_MESSAGE;
SEMATTRS_MESSAGE_TYPE = TMP_MESSAGE_TYPE;
SEMATTRS_MESSAGE_ID = TMP_MESSAGE_ID;
SEMATTRS_MESSAGE_COMPRESSED_SIZE = TMP_MESSAGE_COMPRESSED_SIZE;
SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE = TMP_MESSAGE_UNCOMPRESSED_SIZE;
SemanticAttributes = /* @__PURE__ */ createConstMap([
TMP_AWS_LAMBDA_INVOKED_ARN,
TMP_DB_SYSTEM,
TMP_DB_CONNECTION_STRING,
TMP_DB_USER,
TMP_DB_JDBC_DRIVER_CLASSNAME,
TMP_DB_NAME,
TMP_DB_STATEMENT,
TMP_DB_OPERATION,
TMP_DB_MSSQL_INSTANCE_NAME,
TMP_DB_CASSANDRA_KEYSPACE,
TMP_DB_CASSANDRA_PAGE_SIZE,
TMP_DB_CASSANDRA_CONSISTENCY_LEVEL,
TMP_DB_CASSANDRA_TABLE,
TMP_DB_CASSANDRA_IDEMPOTENCE,
TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT,
TMP_DB_CASSANDRA_COORDINATOR_ID,
TMP_DB_CASSANDRA_COORDINATOR_DC,
TMP_DB_HBASE_NAMESPACE,
TMP_DB_REDIS_DATABASE_INDEX,
TMP_DB_MONGODB_COLLECTION,
TMP_DB_SQL_TABLE,
TMP_EXCEPTION_TYPE,
TMP_EXCEPTION_MESSAGE,
TMP_EXCEPTION_STACKTRACE,
TMP_EXCEPTION_ESCAPED,
TMP_FAAS_TRIGGER,
TMP_FAAS_EXECUTION,
TMP_FAAS_DOCUMENT_COLLECTION,
TMP_FAAS_DOCUMENT_OPERATION,
TMP_FAAS_DOCUMENT_TIME,
TMP_FAAS_DOCUMENT_NAME,
TMP_FAAS_TIME,
TMP_FAAS_CRON,
TMP_FAAS_COLDSTART,
TMP_FAAS_INVOKED_NAME,
TMP_FAAS_INVOKED_PROVIDER,
TMP_FAAS_INVOKED_REGION,
TMP_NET_TRANSPORT,
TMP_NET_PEER_IP,
TMP_NET_PEER_PORT,
TMP_NET_PEER_NAME,
TMP_NET_HOST_IP,
TMP_NET_HOST_PORT,
TMP_NET_HOST_NAME,
TMP_NET_HOST_CONNECTION_TYPE,
TMP_NET_HOST_CONNECTION_SUBTYPE,
TMP_NET_HOST_CARRIER_NAME,
TMP_NET_HOST_CARRIER_MCC,
TMP_NET_HOST_CARRIER_MNC,
TMP_NET_HOST_CARRIER_ICC,
TMP_PEER_SERVICE,
TMP_ENDUSER_ID,
TMP_ENDUSER_ROLE,
TMP_ENDUSER_SCOPE,
TMP_THREAD_ID,
TMP_THREAD_NAME,
TMP_CODE_FUNCTION,
TMP_CODE_NAMESPACE,
TMP_CODE_FILEPATH,
TMP_CODE_LINENO,
TMP_HTTP_METHOD,
TMP_HTTP_URL,
TMP_HTTP_TARGET,
TMP_HTTP_HOST,
TMP_HTTP_SCHEME,
TMP_HTTP_STATUS_CODE,
TMP_HTTP_FLAVOR,
TMP_HTTP_USER_AGENT,
TMP_HTTP_REQUEST_CONTENT_LENGTH,
TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED,
TMP_HTTP_RESPONSE_CONTENT_LENGTH,
TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED,
TMP_HTTP_SERVER_NAME,
TMP_HTTP_ROUTE,
TMP_HTTP_CLIENT_IP,
TMP_AWS_DYNAMODB_TABLE_NAMES,
TMP_AWS_DYNAMODB_CONSUMED_CAPACITY,
TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS,
TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY,
TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY,
TMP_AWS_DYNAMODB_CONSISTENT_READ,
TMP_AWS_DYNAMODB_PROJECTION,
TMP_AWS_DYNAMODB_LIMIT,
TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET,
TMP_AWS_DYNAMODB_INDEX_NAME,
TMP_AWS_DYNAMODB_SELECT,
TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES,
TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES,
TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE,
TMP_AWS_DYNAMODB_TABLE_COUNT,
TMP_AWS_DYNAMODB_SCAN_FORWARD,
TMP_AWS_DYNAMODB_SEGMENT,
TMP_AWS_DYNAMODB_TOTAL_SEGMENTS,
TMP_AWS_DYNAMODB_COUNT,
TMP_AWS_DYNAMODB_SCANNED_COUNT,
TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS,
TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES,
TMP_MESSAGING_SYSTEM,
TMP_MESSAGING_DESTINATION,
TMP_MESSAGING_DESTINATION_KIND,
TMP_MESSAGING_TEMP_DESTINATION,
TMP_MESSAGING_PROTOCOL,
TMP_MESSAGING_PROTOCOL_VERSION,
TMP_MESSAGING_URL,
TMP_MESSAGING_MESSAGE_ID,
TMP_MESSAGING_CONVERSATION_ID,
TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES,
TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES,
TMP_MESSAGING_OPERATION,
TMP_MESSAGING_CONSUMER_ID,
TMP_MESSAGING_RABBITMQ_ROUTING_KEY,
TMP_MESSAGING_KAFKA_MESSAGE_KEY,
TMP_MESSAGING_KAFKA_CONSUMER_GROUP,
TMP_MESSAGING_KAFKA_CLIENT_ID,
TMP_MESSAGING_KAFKA_PARTITION,
TMP_MESSAGING_KAFKA_TOMBSTONE,
TMP_RPC_SYSTEM,
TMP_RPC_SERVICE,
TMP_RPC_METHOD,
TMP_RPC_GRPC_STATUS_CODE,
TMP_RPC_JSONRPC_VERSION,
TMP_RPC_JSONRPC_REQUEST_ID,
TMP_RPC_JSONRPC_ERROR_CODE,
TMP_RPC_JSONRPC_ERROR_MESSAGE,
TMP_MESSAGE_TYPE,
TMP_MESSAGE_ID,
TMP_MESSAGE_COMPRESSED_SIZE,
TMP_MESSAGE_UNCOMPRESSED_SIZE
]);
TMP_DBSYSTEMVALUES_OTHER_SQL = "other_sql";
TMP_DBSYSTEMVALUES_MSSQL = "mssql";
TMP_DBSYSTEMVALUES_MYSQL = "mysql";
TMP_DBSYSTEMVALUES_ORACLE = "oracle";
TMP_DBSYSTEMVALUES_DB2 = "db2";
TMP_DBSYSTEMVALUES_POSTGRESQL = "postgresql";
TMP_DBSYSTEMVALUES_REDSHIFT = "redshift";
TMP_DBSYSTEMVALUES_HIVE = "hive";
TMP_DBSYSTEMVALUES_CLOUDSCAPE = "cloudscape";
TMP_DBSYSTEMVALUES_HSQLDB = "hsqldb";
TMP_DBSYSTEMVALUES_PROGRESS = "progress";
TMP_DBSYSTEMVALUES_MAXDB = "maxdb";
TMP_DBSYSTEMVALUES_HANADB = "hanadb";
TMP_DBSYSTEMVALUES_INGRES = "ingres";
TMP_DBSYSTEMVALUES_FIRSTSQL = "firstsql";
TMP_DBSYSTEMVALUES_EDB = "edb";
TMP_DBSYSTEMVALUES_CACHE = "cache";
TMP_DBSYSTEMVALUES_ADABAS = "adabas";
TMP_DBSYSTEMVALUES_FIREBIRD = "firebird";
TMP_DBSYSTEMVALUES_DERBY = "derby";
TMP_DBSYSTEMVALUES_FILEMAKER = "filemaker";
TMP_DBSYSTEMVALUES_INFORMIX = "informix";
TMP_DBSYSTEMVALUES_INSTANTDB = "instantdb";
TMP_DBSYSTEMVALUES_INTERBASE = "interbase";
TMP_DBSYSTEMVALUES_MARIADB = "mariadb";
TMP_DBSYSTEMVALUES_NETEZZA = "netezza";
TMP_DBSYSTEMVALUES_PERVASIVE = "pervasive";
TMP_DBSYSTEMVALUES_POINTBASE = "pointbase";
TMP_DBSYSTEMVALUES_SQLITE = "sqlite";
TMP_DBSYSTEMVALUES_SYBASE = "sybase";
TMP_DBSYSTEMVALUES_TERADATA = "teradata";
TMP_DBSYSTEMVALUES_VERTICA = "vertica";
TMP_DBSYSTEMVALUES_H2 = "h2";
TMP_DBSYSTEMVALUES_COLDFUSION = "coldfusion";
TMP_DBSYSTEMVALUES_CASSANDRA = "cassandra";
TMP_DBSYSTEMVALUES_HBASE = "hbase";
TMP_DBSYSTEMVALUES_MONGODB = "mongodb";
TMP_DBSYSTEMVALUES_REDIS = "redis";
TMP_DBSYSTEMVALUES_COUCHBASE = "couchbase";
TMP_DBSYSTEMVALUES_COUCHDB = "couchdb";
TMP_DBSYSTEMVALUES_COSMOSDB = "cosmosdb";
TMP_DBSYSTEMVALUES_DYNAMODB = "dynamodb";
TMP_DBSYSTEMVALUES_NEO4J = "neo4j";
TMP_DBSYSTEMVALUES_GEODE = "geode";
TMP_DBSYSTEMVALUES_ELASTICSEARCH = "elasticsearch";
TMP_DBSYSTEMVALUES_MEMCACHED = "memcached";
TMP_DBSYSTEMVALUES_COCKROACHDB = "cockroachdb";
DBSYSTEMVALUES_OTHER_SQL = TMP_DBSYSTEMVALUES_OTHER_SQL;
DBSYSTEMVALUES_MSSQL = TMP_DBSYSTEMVALUES_MSSQL;
DBSYSTEMVALUES_MYSQL = TMP_DBSYSTEMVALUES_MYSQL;
DBSYSTEMVALUES_ORACLE = TMP_DBSYSTEMVALUES_ORACLE;
DBSYSTEMVALUES_DB2 = TMP_DBSYSTEMVALUES_DB2;
DBSYSTEMVALUES_POSTGRESQL = TMP_DBSYSTEMVALUES_POSTGRESQL;
DBSYSTEMVALUES_REDSHIFT = TMP_DBSYSTEMVALUES_REDSHIFT;
DBSYSTEMVALUES_HIVE = TMP_DBSYSTEMVALUES_HIVE;
DBSYSTEMVALUES_CLOUDSCAPE = TMP_DBSYSTEMVALUES_CLOUDSCAPE;
DBSYSTEMVALUES_HSQLDB = TMP_DBSYSTEMVALUES_HSQLDB;
DBSYSTEMVALUES_PROGRESS = TMP_DBSYSTEMVALUES_PROGRESS;
DBSYSTEMVALUES_MAXDB = TMP_DBSYSTEMVALUES_MAXDB;
DBSYSTEMVALUES_HANADB = TMP_DBSYSTEMVALUES_HANADB;
DBSYSTEMVALUES_INGRES = TMP_DBSYSTEMVALUES_INGRES;
DBSYSTEMVALUES_FIRSTSQL = TMP_DBSYSTEMVALUES_FIRSTSQL;
DBSYSTEMVALUES_EDB = TMP_DBSYSTEMVALUES_EDB;
DBSYSTEMVALUES_CACHE = TMP_DBSYSTEMVALUES_CACHE;
DBSYSTEMVALUES_ADABAS = TMP_DBSYSTEMVALUES_ADABAS;
DBSYSTEMVALUES_FIREBIRD = TMP_DBSYSTEMVALUES_FIREBIRD;
DBSYSTEMVALUES_DERBY = TMP_DBSYSTEMVALUES_DERBY;
DBSYSTEMVALUES_FILEMAKER = TMP_DBSYSTEMVALUES_FILEMAKER;
DBSYSTEMVALUES_INFORMIX = TMP_DBSYSTEMVALUES_INFORMIX;
DBSYSTEMVALUES_INSTANTDB = TMP_DBSYSTEMVALUES_INSTANTDB;
DBSYSTEMVALUES_INTERBASE = TMP_DBSYSTEMVALUES_INTERBASE;
DBSYSTEMVALUES_MARIADB = TMP_DBSYSTEMVALUES_MARIADB;
DBSYSTEMVALUES_NETEZZA = TMP_DBSYSTEMVALUES_NETEZZA;
DBSYSTEMVALUES_PERVASIVE = TMP_DBSYSTEMVALUES_PERVASIVE;
DBSYSTEMVALUES_POINTBASE = TMP_DBSYSTEMVALUES_POINTBASE;
DBSYSTEMVALUES_SQLITE = TMP_DBSYSTEMVALUES_SQLITE;
DBSYSTEMVALUES_SYBASE = TMP_DBSYSTEMVALUES_SYBASE;
DBSYSTEMVALUES_TERADATA = TMP_DBSYSTEMVALUES_TERADATA;
DBSYSTEMVALUES_VERTICA = TMP_DBSYSTEMVALUES_VERTICA;
DBSYSTEMVALUES_H2 = TMP_DBSYSTEMVALUES_H2;
DBSYSTEMVALUES_COLDFUSION = TMP_DBSYSTEMVALUES_COLDFUSION;
DBSYSTEMVALUES_CASSANDRA = TMP_DBSYSTEMVALUES_CASSANDRA;
DBSYSTEMVALUES_HBASE = TMP_DBSYSTEMVALUES_HBASE;
DBSYSTEMVALUES_MONGODB = TMP_DBSYSTEMVALUES_MONGODB;
DBSYSTEMVALUES_REDIS = TMP_DBSYSTEMVALUES_REDIS;
DBSYSTEMVALUES_COUCHBASE = TMP_DBSYSTEMVALUES_COUCHBASE;
DBSYSTEMVALUES_COUCHDB = TMP_DBSYSTEMVALUES_COUCHDB;
DBSYSTEMVALUES_COSMOSDB = TMP_DBSYSTEMVALUES_COSMOSDB;
DBSYSTEMVALUES_DYNAMODB = TMP_DBSYSTEMVALUES_DYNAMODB;
DBSYSTEMVALUES_NEO4J = TMP_DBSYSTEMVALUES_NEO4J;
DBSYSTEMVALUES_GEODE = TMP_DBSYSTEMVALUES_GEODE;
DBSYSTEMVALUES_ELASTICSEARCH = TMP_DBSYSTEMVALUES_ELASTICSEARCH;
DBSYSTEMVALUES_MEMCACHED = TMP_DBSYSTEMVALUES_MEMCACHED;
DBSYSTEMVALUES_COCKROACHDB = TMP_DBSYSTEMVALUES_COCKROACHDB;
DbSystemValues = /* @__PURE__ */ createConstMap([
TMP_DBSYSTEMVALUES_OTHER_SQL,
TMP_DBSYSTEMVALUES_MSSQL,
TMP_DBSYSTEMVALUES_MYSQL,
TMP_DBSYSTEMVALUES_ORACLE,
TMP_DBSYSTEMVALUES_DB2,
TMP_DBSYSTEMVALUES_POSTGRESQL,
TMP_DBSYSTEMVALUES_REDSHIFT,
TMP_DBSYSTEMVALUES_HIVE,
TMP_DBSYSTEMVALUES_CLOUDSCAPE,
TMP_DBSYSTEMVALUES_HSQLDB,
TMP_DBSYSTEMVALUES_PROGRESS,
TMP_DBSYSTEMVALUES_MAXDB,
TMP_DBSYSTEMVALUES_HANADB,
TMP_DBSYSTEMVALUES_INGRES,
TMP_DBSYSTEMVALUES_FIRSTSQL,
TMP_DBSYSTEMVALUES_EDB,
TMP_DBSYSTEMVALUES_CACHE,
TMP_DBSYSTEMVALUES_ADABAS,
TMP_DBSYSTEMVALUES_FIREBIRD,
TMP_DBSYSTEMVALUES_DERBY,
TMP_DBSYSTEMVALUES_FILEMAKER,
TMP_DBSYSTEMVALUES_INFORMIX,
TMP_DBSYSTEMVALUES_INSTANTDB,
TMP_DBSYSTEMVALUES_INTERBASE,
TMP_DBSYSTEMVALUES_MARIADB,
TMP_DBSYSTEMVALUES_NETEZZA,
TMP_DBSYSTEMVALUES_PERVASIVE,
TMP_DBSYSTEMVALUES_POINTBASE,
TMP_DBSYSTEMVALUES_SQLITE,
TMP_DBSYSTEMVALUES_SYBASE,
TMP_DBSYSTEMVALUES_TERADATA,
TMP_DBSYSTEMVALUES_VERTICA,
TMP_DBSYSTEMVALUES_H2,
TMP_DBSYSTEMVALUES_COLDFUSION,
TMP_DBSYSTEMVALUES_CASSANDRA,
TMP_DBSYSTEMVALUES_HBASE,
TMP_DBSYSTEMVALUES_MONGODB,
TMP_DBSYSTEMVALUES_REDIS,
TMP_DBSYSTEMVALUES_COUCHBASE,
TMP_DBSYSTEMVALUES_COUCHDB,
TMP_DBSYSTEMVALUES_COSMOSDB,
TMP_DBSYSTEMVALUES_DYNAMODB,
TMP_DBSYSTEMVALUES_NEO4J,
TMP_DBSYSTEMVALUES_GEODE,
TMP_DBSYSTEMVALUES_ELASTICSEARCH,
TMP_DBSYSTEMVALUES_MEMCACHED,
TMP_DBSYSTEMVALUES_COCKROACHDB
]);
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL = "all";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = "each_quorum";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = "quorum";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = "local_quorum";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE = "one";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO = "two";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE = "three";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = "local_one";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY = "any";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = "serial";
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = "local_serial";
DBCASSANDRACONSISTENCYLEVELVALUES_ALL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL;
DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM;
DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM;
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM;
DBCASSANDRACONSISTENCYLEVELVALUES_ONE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE;
DBCASSANDRACONSISTENCYLEVELVALUES_TWO = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO;
DBCASSANDRACONSISTENCYLEVELVALUES_THREE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE;
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE;
DBCASSANDRACONSISTENCYLEVELVALUES_ANY = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY;
DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL;
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL;
DbCassandraConsistencyLevelValues = /* @__PURE__ */ createConstMap([
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL
]);
TMP_FAASTRIGGERVALUES_DATASOURCE = "datasource";
TMP_FAASTRIGGERVALUES_HTTP = "http";
TMP_FAASTRIGGERVALUES_PUBSUB = "pubsub";
TMP_FAASTRIGGERVALUES_TIMER = "timer";
TMP_FAASTRIGGERVALUES_OTHER = "other";
FAASTRIGGERVALUES_DATASOURCE = TMP_FAASTRIGGERVALUES_DATASOURCE;
FAASTRIGGERVALUES_HTTP = TMP_FAASTRIGGERVALUES_HTTP;
FAASTRIGGERVALUES_PUBSUB = TMP_FAASTRIGGERVALUES_PUBSUB;
FAASTRIGGERVALUES_TIMER = TMP_FAASTRIGGERVALUES_TIMER;
FAASTRIGGERVALUES_OTHER = TMP_FAASTRIGGERVALUES_OTHER;
FaasTriggerValues = /* @__PURE__ */ createConstMap([
TMP_FAASTRIGGERVALUES_DATASOURCE,
TMP_FAASTRIGGERVALUES_HTTP,
TMP_FAASTRIGGERVALUES_PUBSUB,
TMP_FAASTRIGGERVALUES_TIMER,
TMP_FAASTRIGGERVALUES_OTHER
]);
TMP_FAASDOCUMENTOPERATIONVALUES_INSERT = "insert";
TMP_FAASDOCUMENTOPERATIONVALUES_EDIT = "edit";
TMP_FAASDOCUMENTOPERATIONVALUES_DELETE = "delete";
FAASDOCUMENTOPERATIONVALUES_INSERT = TMP_FAASDOCUMENTOPERATIONVALUES_INSERT;
FAASDOCUMENTOPERATIONVALUES_EDIT = TMP_FAASDOCUMENTOPERATIONVALUES_EDIT;
FAASDOCUMENTOPERATIONVALUES_DELETE = TMP_FAASDOCUMENTOPERATIONVALUES_DELETE;
FaasDocumentOperationValues = /* @__PURE__ */ createConstMap([
TMP_FAASDOCUMENTOPERATIONVALUES_INSERT,
TMP_FAASDOCUMENTOPERATIONVALUES_EDIT,
TMP_FAASDOCUMENTOPERATIONVALUES_DELETE
]);
TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = "alibaba_cloud";
TMP_FAASINVOKEDPROVIDERVALUES_AWS = "aws";
TMP_FAASINVOKEDPROVIDERVALUES_AZURE = "azure";
TMP_FAASINVOKEDPROVIDERVALUES_GCP = "gcp";
FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD;
FAASINVOKEDPROVIDERVALUES_AWS = TMP_FAASINVOKEDPROVIDERVALUES_AWS;
FAASINVOKEDPROVIDERVALUES_AZURE = TMP_FAASINVOKEDPROVIDERVALUES_AZURE;
FAASINVOKEDPROVIDERVALUES_GCP = TMP_FAASINVOKEDPROVIDERVALUES_GCP;
FaasInvokedProviderValues = /* @__PURE__ */ createConstMap([
TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD,
TMP_FAASINVOKEDPROVIDERVALUES_AWS,
TMP_FAASINVOKEDPROVIDERVALUES_AZURE,
TMP_FAASINVOKEDPROVIDERVALUES_GCP
]);
TMP_NETTRANSPORTVALUES_IP_TCP = "ip_tcp";
TMP_NETTRANSPORTVALUES_IP_UDP = "ip_udp";
TMP_NETTRANSPORTVALUES_IP = "ip";
TMP_NETTRANSPORTVALUES_UNIX = "unix";
TMP_NETTRANSPORTVALUES_PIPE = "pipe";
TMP_NETTRANSPORTVALUES_INPROC = "inproc";
TMP_NETTRANSPORTVALUES_OTHER = "other";
NETTRANSPORTVALUES_IP_TCP = TMP_NETTRANSPORTVALUES_IP_TCP;
NETTRANSPORTVALUES_IP_UDP = TMP_NETTRANSPORTVALUES_IP_UDP;
NETTRANSPORTVALUES_IP = TMP_NETTRANSPORTVALUES_IP;
NETTRANSPORTVALUES_UNIX = TMP_NETTRANSPORTVALUES_UNIX;
NETTRANSPORTVALUES_PIPE = TMP_NETTRANSPORTVALUES_PIPE;
NETTRANSPORTVALUES_INPROC = TMP_NETTRANSPORTVALUES_INPROC;
NETTRANSPORTVALUES_OTHER = TMP_NETTRANSPORTVALUES_OTHER;
NetTransportValues = /* @__PURE__ */ createConstMap([
TMP_NETTRANSPORTVALUES_IP_TCP,
TMP_NETTRANSPORTVALUES_IP_UDP,
TMP_NETTRANSPORTVALUES_IP,
TMP_NETTRANSPORTVALUES_UNIX,
TMP_NETTRANSPORTVALUES_PIPE,
TMP_NETTRANSPORTVALUES_INPROC,
TMP_NETTRANSPORTVALUES_OTHER
]);
TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI = "wifi";
TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED = "wired";
TMP_NETHOSTCONNECTIONTYPEVALUES_CELL = "cell";
TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = "unavailable";
TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = "unknown";
NETHOSTCONNECTIONTYPEVALUES_WIFI = TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI;
NETHOSTCONNECTIONTYPEVALUES_WIRED = TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED;
NETHOSTCONNECTIONTYPEVALUES_CELL = TMP_NETHOSTCONNECTIONTYPEVALUES_CELL;
NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE;
NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN;
NetHostConnectionTypeValues = /* @__PURE__ */ createConstMap([
TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI,
TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED,
TMP_NETHOSTCONNECTIONTYPEVALUES_CELL,
TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE,
TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN
]);
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = "gprs";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = "edge";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = "umts";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = "cdma";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = "evdo_0";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = "evdo_a";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = "cdma2000_1xrtt";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = "hsdpa";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = "hsupa";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = "hspa";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = "iden";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = "evdo_b";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE = "lte";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = "ehrpd";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = "hspap";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM = "gsm";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = "td_scdma";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = "iwlan";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR = "nr";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = "nrnsa";
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = "lte_ca";
NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS;
NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE;
NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS;
NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA;
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0;
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A;
NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT;
NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA;
NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA;
NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA;
NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN;
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B;
NETHOSTCONNECTIONSUBTYPEVALUES_LTE = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE;
NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD;
NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP;
NETHOSTCONNECTIONSUBTYPEVALUES_GSM = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM;
NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA;
NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN;
NETHOSTCONNECTIONSUBTYPEVALUES_NR = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR;
NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA;
NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA;
NetHostConnectionSubtypeValues = /* @__PURE__ */ createConstMap([
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA
]);
TMP_HTTPFLAVORVALUES_HTTP_1_0 = "1.0";
TMP_HTTPFLAVORVALUES_HTTP_1_1 = "1.1";
TMP_HTTPFLAVORVALUES_HTTP_2_0 = "2.0";
TMP_HTTPFLAVORVALUES_SPDY = "SPDY";
TMP_HTTPFLAVORVALUES_QUIC = "QUIC";
HTTPFLAVORVALUES_HTTP_1_0 = TMP_HTTPFLAVORVALUES_HTTP_1_0;
HTTPFLAVORVALUES_HTTP_1_1 = TMP_HTTPFLAVORVALUES_HTTP_1_1;
HTTPFLAVORVALUES_HTTP_2_0 = TMP_HTTPFLAVORVALUES_HTTP_2_0;
HTTPFLAVORVALUES_SPDY = TMP_HTTPFLAVORVALUES_SPDY;
HTTPFLAVORVALUES_QUIC = TMP_HTTPFLAVORVALUES_QUIC;
HttpFlavorValues = {
HTTP_1_0: TMP_HTTPFLAVORVALUES_HTTP_1_0,
HTTP_1_1: TMP_HTTPFLAVORVALUES_HTTP_1_1,
HTTP_2_0: TMP_HTTPFLAVORVALUES_HTTP_2_0,
SPDY: TMP_HTTPFLAVORVALUES_SPDY,
QUIC: TMP_HTTPFLAVORVALUES_QUIC
};
TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE = "queue";
TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC = "topic";
MESSAGINGDESTINATIONKINDVALUES_QUEUE = TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE;
MESSAGINGDESTINATIONKINDVALUES_TOPIC = TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC;
MessagingDestinationKindValues = /* @__PURE__ */ createConstMap([
TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE,
TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC
]);
TMP_MESSAGINGOPERATIONVALUES_RECEIVE = "receive";
TMP_MESSAGINGOPERATIONVALUES_PROCESS = "process";
MESSAGINGOPERATIONVALUES_RECEIVE = TMP_MESSAGINGOPERATIONVALUES_RECEIVE;
MESSAGINGOPERATIONVALUES_PROCESS = TMP_MESSAGINGOPERATIONVALUES_PROCESS;
MessagingOperationValues = /* @__PURE__ */ createConstMap([
TMP_MESSAGINGOPERATIONVALUES_RECEIVE,
TMP_MESSAGINGOPERATIONVALUES_PROCESS
]);
TMP_RPCGRPCSTATUSCODEVALUES_OK = 0;
TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED = 1;
TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN = 2;
TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = 3;
TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = 4;
TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND = 5;
TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = 6;
TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = 7;
TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = 8;
TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = 9;
TMP_RPCGRPCSTATUSCODEVALUES_ABORTED = 10;
TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = 11;
TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = 12;
TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL = 13;
TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = 14;
TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS = 15;
TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = 16;
RPCGRPCSTATUSCODEVALUES_OK = TMP_RPCGRPCSTATUSCODEVALUES_OK;
RPCGRPCSTATUSCODEVALUES_CANCELLED = TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED;
RPCGRPCSTATUSCODEVALUES_UNKNOWN = TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN;
RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT;
RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED;
RPCGRPCSTATUSCODEVALUES_NOT_FOUND = TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND;
RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS;
RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED;
RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED;
RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION;
RPCGRPCSTATUSCODEVALUES_ABORTED = TMP_RPCGRPCSTATUSCODEVALUES_ABORTED;
RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE;
RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED;
RPCGRPCSTATUSCODEVALUES_INTERNAL = TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL;
RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE;
RPCGRPCSTATUSCODEVALUES_DATA_LOSS = TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS;
RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED;
RpcGrpcStatusCodeValues = {
OK: TMP_RPCGRPCSTATUSCODEVALUES_OK,
CANCELLED: TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED,
UNKNOWN: TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN,
INVALID_ARGUMENT: TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT,
DEADLINE_EXCEEDED: TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED,
NOT_FOUND: TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND,
ALREADY_EXISTS: TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS,
PERMISSION_DENIED: TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED,
RESOURCE_EXHAUSTED: TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED,
FAILED_PRECONDITION: TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION,
ABORTED: TMP_RPCGRPCSTATUSCODEVALUES_ABORTED,
OUT_OF_RANGE: TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE,
UNIMPLEMENTED: TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED,
INTERNAL: TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL,
UNAVAILABLE: TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE,
DATA_LOSS: TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS,
UNAUTHENTICATED: TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED
};
TMP_MESSAGETYPEVALUES_SENT = "SENT";
TMP_MESSAGETYPEVALUES_RECEIVED = "RECEIVED";
MESSAGETYPEVALUES_SENT = TMP_MESSAGETYPEVALUES_SENT;
MESSAGETYPEVALUES_RECEIVED = TMP_MESSAGETYPEVALUES_RECEIVED;
MessageTypeValues = /* @__PURE__ */ createConstMap([
TMP_MESSAGETYPEVALUES_SENT,
TMP_MESSAGETYPEVALUES_RECEIVED
]);
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js
var init_trace = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js"() {
init_SemanticAttributes();
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js
var TMP_CLOUD_PROVIDER, TMP_CLOUD_ACCOUNT_ID, TMP_CLOUD_REGION, TMP_CLOUD_AVAILABILITY_ZONE, TMP_CLOUD_PLATFORM, TMP_AWS_ECS_CONTAINER_ARN, TMP_AWS_ECS_CLUSTER_ARN, TMP_AWS_ECS_LAUNCHTYPE, TMP_AWS_ECS_TASK_ARN, TMP_AWS_ECS_TASK_FAMILY, TMP_AWS_ECS_TASK_REVISION, TMP_AWS_EKS_CLUSTER_ARN, TMP_AWS_LOG_GROUP_NAMES, TMP_AWS_LOG_GROUP_ARNS, TMP_AWS_LOG_STREAM_NAMES, TMP_AWS_LOG_STREAM_ARNS, TMP_CONTAINER_NAME, TMP_CONTAINER_ID, TMP_CONTAINER_RUNTIME, TMP_CONTAINER_IMAGE_NAME, TMP_CONTAINER_IMAGE_TAG, TMP_DEPLOYMENT_ENVIRONMENT, TMP_DEVICE_ID, TMP_DEVICE_MODEL_IDENTIFIER, TMP_DEVICE_MODEL_NAME, TMP_FAAS_NAME, TMP_FAAS_ID, TMP_FAAS_VERSION, TMP_FAAS_INSTANCE, TMP_FAAS_MAX_MEMORY, TMP_HOST_ID, TMP_HOST_NAME, TMP_HOST_TYPE, TMP_HOST_ARCH, TMP_HOST_IMAGE_NAME, TMP_HOST_IMAGE_ID, TMP_HOST_IMAGE_VERSION, TMP_K8S_CLUSTER_NAME, TMP_K8S_NODE_NAME, TMP_K8S_NODE_UID, TMP_K8S_NAMESPACE_NAME, TMP_K8S_POD_UID, TMP_K8S_POD_NAME, TMP_K8S_CONTAINER_NAME, TMP_K8S_REPLICASET_UID, TMP_K8S_REPLICASET_NAME, TMP_K8S_DEPLOYMENT_UID, TMP_K8S_DEPLOYMENT_NAME, TMP_K8S_STATEFULSET_UID, TMP_K8S_STATEFULSET_NAME, TMP_K8S_DAEMONSET_UID, TMP_K8S_DAEMONSET_NAME, TMP_K8S_JOB_UID, TMP_K8S_JOB_NAME, TMP_K8S_CRONJOB_UID, TMP_K8S_CRONJOB_NAME, TMP_OS_TYPE, TMP_OS_DESCRIPTION, TMP_OS_NAME, TMP_OS_VERSION, TMP_PROCESS_PID, TMP_PROCESS_EXECUTABLE_NAME, TMP_PROCESS_EXECUTABLE_PATH, TMP_PROCESS_COMMAND, TMP_PROCESS_COMMAND_LINE, TMP_PROCESS_COMMAND_ARGS, TMP_PROCESS_OWNER, TMP_PROCESS_RUNTIME_NAME, TMP_PROCESS_RUNTIME_VERSION, TMP_PROCESS_RUNTIME_DESCRIPTION, TMP_SERVICE_NAME, TMP_SERVICE_NAMESPACE, TMP_SERVICE_INSTANCE_ID, TMP_SERVICE_VERSION, TMP_TELEMETRY_SDK_NAME, TMP_TELEMETRY_SDK_LANGUAGE, TMP_TELEMETRY_SDK_VERSION, TMP_TELEMETRY_AUTO_VERSION, TMP_WEBENGINE_NAME, TMP_WEBENGINE_VERSION, TMP_WEBENGINE_DESCRIPTION, SEMRESATTRS_CLOUD_PROVIDER, SEMRESATTRS_CLOUD_ACCOUNT_ID, SEMRESATTRS_CLOUD_REGION, SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, SEMRESATTRS_CLOUD_PLATFORM, SEMRESATTRS_AWS_ECS_CONTAINER_ARN, SEMRESATTRS_AWS_ECS_CLUSTER_ARN, SEMRESATTRS_AWS_ECS_LAUNCHTYPE, SEMRESATTRS_AWS_ECS_TASK_ARN, SEMRESATTRS_AWS_ECS_TASK_FAMILY, SEMRESATTRS_AWS_ECS_TASK_REVISION, SEMRESATTRS_AWS_EKS_CLUSTER_ARN, SEMRESATTRS_AWS_LOG_GROUP_NAMES, SEMRESATTRS_AWS_LOG_GROUP_ARNS, SEMRESATTRS_AWS_LOG_STREAM_NAMES, SEMRESATTRS_AWS_LOG_STREAM_ARNS, SEMRESATTRS_CONTAINER_NAME, SEMRESATTRS_CONTAINER_ID, SEMRESATTRS_CONTAINER_RUNTIME, SEMRESATTRS_CONTAINER_IMAGE_NAME, SEMRESATTRS_CONTAINER_IMAGE_TAG, SEMRESATTRS_DEPLOYMENT_ENVIRONMENT, SEMRESATTRS_DEVICE_ID, SEMRESATTRS_DEVICE_MODEL_IDENTIFIER, SEMRESATTRS_DEVICE_MODEL_NAME, SEMRESATTRS_FAAS_NAME, SEMRESATTRS_FAAS_ID, SEMRESATTRS_FAAS_VERSION, SEMRESATTRS_FAAS_INSTANCE, SEMRESATTRS_FAAS_MAX_MEMORY, SEMRESATTRS_HOST_ID, SEMRESATTRS_HOST_NAME, SEMRESATTRS_HOST_TYPE, SEMRESATTRS_HOST_ARCH, SEMRESATTRS_HOST_IMAGE_NAME, SEMRESATTRS_HOST_IMAGE_ID, SEMRESATTRS_HOST_IMAGE_VERSION, SEMRESATTRS_K8S_CLUSTER_NAME, SEMRESATTRS_K8S_NODE_NAME, SEMRESATTRS_K8S_NODE_UID, SEMRESATTRS_K8S_NAMESPACE_NAME, SEMRESATTRS_K8S_POD_UID, SEMRESATTRS_K8S_POD_NAME, SEMRESATTRS_K8S_CONTAINER_NAME, SEMRESATTRS_K8S_REPLICASET_UID, SEMRESATTRS_K8S_REPLICASET_NAME, SEMRESATTRS_K8S_DEPLOYMENT_UID, SEMRESATTRS_K8S_DEPLOYMENT_NAME, SEMRESATTRS_K8S_STATEFULSET_UID, SEMRESATTRS_K8S_STATEFULSET_NAME, SEMRESATTRS_K8S_DAEMONSET_UID, SEMRESATTRS_K8S_DAEMONSET_NAME, SEMRESATTRS_K8S_JOB_UID, SEMRESATTRS_K8S_JOB_NAME, SEMRESATTRS_K8S_CRONJOB_UID, SEMRESATTRS_K8S_CRONJOB_NAME, SEMRESATTRS_OS_TYPE, SEMRESATTRS_OS_DESCRIPTION, SEMRESATTRS_OS_NAME, SEMRESATTRS_OS_VERSION, SEMRESATTRS_PROCESS_PID, SEMRESATTRS_PROCESS_EXECUTABLE_NAME, SEMRESATTRS_PROCESS_EXECUTABLE_PATH, SEMRESATTRS_PROCESS_COMMAND, SEMRESATTRS_PROCESS_COMMAND_LINE, SEMRESATTRS_PROCESS_COMMAND_ARGS, SEMRESATTRS_PROCESS_OWNER, SEMRESATTRS_PROCESS_RUNTIME_NAME, SEMRESATTRS_PROCESS_RUNTIME_VERSION, SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION, SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_NAMESPACE, SEMRESATTRS_SERVICE_INSTANCE_ID, SEMRESATTRS_SERVICE_VERSION, SEMRESATTRS_TELEMETRY_SDK_NAME, SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, SEMRESATTRS_TELEMETRY_SDK_VERSION, SEMRESATTRS_TELEMETRY_AUTO_VERSION, SEMRESATTRS_WEBENGINE_NAME, SEMRESATTRS_WEBENGINE_VERSION, SEMRESATTRS_WEBENGINE_DESCRIPTION, SemanticResourceAttributes, TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD, TMP_CLOUDPROVIDERVALUES_AWS, TMP_CLOUDPROVIDERVALUES_AZURE, TMP_CLOUDPROVIDERVALUES_GCP, CLOUDPROVIDERVALUES_ALIBABA_CLOUD, CLOUDPROVIDERVALUES_AWS, CLOUDPROVIDERVALUES_AZURE, CLOUDPROVIDERVALUES_GCP, CloudProviderValues, TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS, TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC, TMP_CLOUDPLATFORMVALUES_AWS_EC2, TMP_CLOUDPLATFORMVALUES_AWS_ECS, TMP_CLOUDPLATFORMVALUES_AWS_EKS, TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA, TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK, TMP_CLOUDPLATFORMVALUES_AZURE_VM, TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES, TMP_CLOUDPLATFORMVALUES_AZURE_AKS, TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS, TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE, TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE, TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN, TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE, TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS, TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE, CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS, CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC, CLOUDPLATFORMVALUES_AWS_EC2, CLOUDPLATFORMVALUES_AWS_ECS, CLOUDPLATFORMVALUES_AWS_EKS, CLOUDPLATFORMVALUES_AWS_LAMBDA, CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK, CLOUDPLATFORMVALUES_AZURE_VM, CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES, CLOUDPLATFORMVALUES_AZURE_AKS, CLOUDPLATFORMVALUES_AZURE_FUNCTIONS, CLOUDPLATFORMVALUES_AZURE_APP_SERVICE, CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE, CLOUDPLATFORMVALUES_GCP_CLOUD_RUN, CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE, CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS, CLOUDPLATFORMVALUES_GCP_APP_ENGINE, CloudPlatformValues, TMP_AWSECSLAUNCHTYPEVALUES_EC2, TMP_AWSECSLAUNCHTYPEVALUES_FARGATE, AWSECSLAUNCHTYPEVALUES_EC2, AWSECSLAUNCHTYPEVALUES_FARGATE, AwsEcsLaunchtypeValues, TMP_HOSTARCHVALUES_AMD64, TMP_HOSTARCHVALUES_ARM32, TMP_HOSTARCHVALUES_ARM64, TMP_HOSTARCHVALUES_IA64, TMP_HOSTARCHVALUES_PPC32, TMP_HOSTARCHVALUES_PPC64, TMP_HOSTARCHVALUES_X86, HOSTARCHVALUES_AMD64, HOSTARCHVALUES_ARM32, HOSTARCHVALUES_ARM64, HOSTARCHVALUES_IA64, HOSTARCHVALUES_PPC32, HOSTARCHVALUES_PPC64, HOSTARCHVALUES_X86, HostArchValues, TMP_OSTYPEVALUES_WINDOWS, TMP_OSTYPEVALUES_LINUX, TMP_OSTYPEVALUES_DARWIN, TMP_OSTYPEVALUES_FREEBSD, TMP_OSTYPEVALUES_NETBSD, TMP_OSTYPEVALUES_OPENBSD, TMP_OSTYPEVALUES_DRAGONFLYBSD, TMP_OSTYPEVALUES_HPUX, TMP_OSTYPEVALUES_AIX, TMP_OSTYPEVALUES_SOLARIS, TMP_OSTYPEVALUES_Z_OS, OSTYPEVALUES_WINDOWS, OSTYPEVALUES_LINUX, OSTYPEVALUES_DARWIN, OSTYPEVALUES_FREEBSD, OSTYPEVALUES_NETBSD, OSTYPEVALUES_OPENBSD, OSTYPEVALUES_DRAGONFLYBSD, OSTYPEVALUES_HPUX, OSTYPEVALUES_AIX, OSTYPEVALUES_SOLARIS, OSTYPEVALUES_Z_OS, OsTypeValues, TMP_TELEMETRYSDKLANGUAGEVALUES_CPP, TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET, TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG, TMP_TELEMETRYSDKLANGUAGEVALUES_GO, TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA, TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS, TMP_TELEMETRYSDKLANGUAGEVALUES_PHP, TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON, TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY, TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS, TELEMETRYSDKLANGUAGEVALUES_CPP, TELEMETRYSDKLANGUAGEVALUES_DOTNET, TELEMETRYSDKLANGUAGEVALUES_ERLANG, TELEMETRYSDKLANGUAGEVALUES_GO, TELEMETRYSDKLANGUAGEVALUES_JAVA, TELEMETRYSDKLANGUAGEVALUES_NODEJS, TELEMETRYSDKLANGUAGEVALUES_PHP, TELEMETRYSDKLANGUAGEVALUES_PYTHON, TELEMETRYSDKLANGUAGEVALUES_RUBY, TELEMETRYSDKLANGUAGEVALUES_WEBJS, TelemetrySdkLanguageValues;
var init_SemanticResourceAttributes = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js"() {
init_utils();
TMP_CLOUD_PROVIDER = "cloud.provider";
TMP_CLOUD_ACCOUNT_ID = "cloud.account.id";
TMP_CLOUD_REGION = "cloud.region";
TMP_CLOUD_AVAILABILITY_ZONE = "cloud.availability_zone";
TMP_CLOUD_PLATFORM = "cloud.platform";
TMP_AWS_ECS_CONTAINER_ARN = "aws.ecs.container.arn";
TMP_AWS_ECS_CLUSTER_ARN = "aws.ecs.cluster.arn";
TMP_AWS_ECS_LAUNCHTYPE = "aws.ecs.launchtype";
TMP_AWS_ECS_TASK_ARN = "aws.ecs.task.arn";
TMP_AWS_ECS_TASK_FAMILY = "aws.ecs.task.family";
TMP_AWS_ECS_TASK_REVISION = "aws.ecs.task.revision";
TMP_AWS_EKS_CLUSTER_ARN = "aws.eks.cluster.arn";
TMP_AWS_LOG_GROUP_NAMES = "aws.log.group.names";
TMP_AWS_LOG_GROUP_ARNS = "aws.log.group.arns";
TMP_AWS_LOG_STREAM_NAMES = "aws.log.stream.names";
TMP_AWS_LOG_STREAM_ARNS = "aws.log.stream.arns";
TMP_CONTAINER_NAME = "container.name";
TMP_CONTAINER_ID = "container.id";
TMP_CONTAINER_RUNTIME = "container.runtime";
TMP_CONTAINER_IMAGE_NAME = "container.image.name";
TMP_CONTAINER_IMAGE_TAG = "container.image.tag";
TMP_DEPLOYMENT_ENVIRONMENT = "deployment.environment";
TMP_DEVICE_ID = "device.id";
TMP_DEVICE_MODEL_IDENTIFIER = "device.model.identifier";
TMP_DEVICE_MODEL_NAME = "device.model.name";
TMP_FAAS_NAME = "faas.name";
TMP_FAAS_ID = "faas.id";
TMP_FAAS_VERSION = "faas.version";
TMP_FAAS_INSTANCE = "faas.instance";
TMP_FAAS_MAX_MEMORY = "faas.max_memory";
TMP_HOST_ID = "host.id";
TMP_HOST_NAME = "host.name";
TMP_HOST_TYPE = "host.type";
TMP_HOST_ARCH = "host.arch";
TMP_HOST_IMAGE_NAME = "host.image.name";
TMP_HOST_IMAGE_ID = "host.image.id";
TMP_HOST_IMAGE_VERSION = "host.image.version";
TMP_K8S_CLUSTER_NAME = "k8s.cluster.name";
TMP_K8S_NODE_NAME = "k8s.node.name";
TMP_K8S_NODE_UID = "k8s.node.uid";
TMP_K8S_NAMESPACE_NAME = "k8s.namespace.name";
TMP_K8S_POD_UID = "k8s.pod.uid";
TMP_K8S_POD_NAME = "k8s.pod.name";
TMP_K8S_CONTAINER_NAME = "k8s.container.name";
TMP_K8S_REPLICASET_UID = "k8s.replicaset.uid";
TMP_K8S_REPLICASET_NAME = "k8s.replicaset.name";
TMP_K8S_DEPLOYMENT_UID = "k8s.deployment.uid";
TMP_K8S_DEPLOYMENT_NAME = "k8s.deployment.name";
TMP_K8S_STATEFULSET_UID = "k8s.statefulset.uid";
TMP_K8S_STATEFULSET_NAME = "k8s.statefulset.name";
TMP_K8S_DAEMONSET_UID = "k8s.daemonset.uid";
TMP_K8S_DAEMONSET_NAME = "k8s.daemonset.name";
TMP_K8S_JOB_UID = "k8s.job.uid";
TMP_K8S_JOB_NAME = "k8s.job.name";
TMP_K8S_CRONJOB_UID = "k8s.cronjob.uid";
TMP_K8S_CRONJOB_NAME = "k8s.cronjob.name";
TMP_OS_TYPE = "os.type";
TMP_OS_DESCRIPTION = "os.description";
TMP_OS_NAME = "os.name";
TMP_OS_VERSION = "os.version";
TMP_PROCESS_PID = "process.pid";
TMP_PROCESS_EXECUTABLE_NAME = "process.executable.name";
TMP_PROCESS_EXECUTABLE_PATH = "process.executable.path";
TMP_PROCESS_COMMAND = "process.command";
TMP_PROCESS_COMMAND_LINE = "process.command_line";
TMP_PROCESS_COMMAND_ARGS = "process.command_args";
TMP_PROCESS_OWNER = "process.owner";
TMP_PROCESS_RUNTIME_NAME = "process.runtime.name";
TMP_PROCESS_RUNTIME_VERSION = "process.runtime.version";
TMP_PROCESS_RUNTIME_DESCRIPTION = "process.runtime.description";
TMP_SERVICE_NAME = "service.name";
TMP_SERVICE_NAMESPACE = "service.namespace";
TMP_SERVICE_INSTANCE_ID = "service.instance.id";
TMP_SERVICE_VERSION = "service.version";
TMP_TELEMETRY_SDK_NAME = "telemetry.sdk.name";
TMP_TELEMETRY_SDK_LANGUAGE = "telemetry.sdk.language";
TMP_TELEMETRY_SDK_VERSION = "telemetry.sdk.version";
TMP_TELEMETRY_AUTO_VERSION = "telemetry.auto.version";
TMP_WEBENGINE_NAME = "webengine.name";
TMP_WEBENGINE_VERSION = "webengine.version";
TMP_WEBENGINE_DESCRIPTION = "webengine.description";
SEMRESATTRS_CLOUD_PROVIDER = TMP_CLOUD_PROVIDER;
SEMRESATTRS_CLOUD_ACCOUNT_ID = TMP_CLOUD_ACCOUNT_ID;
SEMRESATTRS_CLOUD_REGION = TMP_CLOUD_REGION;
SEMRESATTRS_CLOUD_AVAILABILITY_ZONE = TMP_CLOUD_AVAILABILITY_ZONE;
SEMRESATTRS_CLOUD_PLATFORM = TMP_CLOUD_PLATFORM;
SEMRESATTRS_AWS_ECS_CONTAINER_ARN = TMP_AWS_ECS_CONTAINER_ARN;
SEMRESATTRS_AWS_ECS_CLUSTER_ARN = TMP_AWS_ECS_CLUSTER_ARN;
SEMRESATTRS_AWS_ECS_LAUNCHTYPE = TMP_AWS_ECS_LAUNCHTYPE;
SEMRESATTRS_AWS_ECS_TASK_ARN = TMP_AWS_ECS_TASK_ARN;
SEMRESATTRS_AWS_ECS_TASK_FAMILY = TMP_AWS_ECS_TASK_FAMILY;
SEMRESATTRS_AWS_ECS_TASK_REVISION = TMP_AWS_ECS_TASK_REVISION;
SEMRESATTRS_AWS_EKS_CLUSTER_ARN = TMP_AWS_EKS_CLUSTER_ARN;
SEMRESATTRS_AWS_LOG_GROUP_NAMES = TMP_AWS_LOG_GROUP_NAMES;
SEMRESATTRS_AWS_LOG_GROUP_ARNS = TMP_AWS_LOG_GROUP_ARNS;
SEMRESATTRS_AWS_LOG_STREAM_NAMES = TMP_AWS_LOG_STREAM_NAMES;
SEMRESATTRS_AWS_LOG_STREAM_ARNS = TMP_AWS_LOG_STREAM_ARNS;
SEMRESATTRS_CONTAINER_NAME = TMP_CONTAINER_NAME;
SEMRESATTRS_CONTAINER_ID = TMP_CONTAINER_ID;
SEMRESATTRS_CONTAINER_RUNTIME = TMP_CONTAINER_RUNTIME;
SEMRESATTRS_CONTAINER_IMAGE_NAME = TMP_CONTAINER_IMAGE_NAME;
SEMRESATTRS_CONTAINER_IMAGE_TAG = TMP_CONTAINER_IMAGE_TAG;
SEMRESATTRS_DEPLOYMENT_ENVIRONMENT = TMP_DEPLOYMENT_ENVIRONMENT;
SEMRESATTRS_DEVICE_ID = TMP_DEVICE_ID;
SEMRESATTRS_DEVICE_MODEL_IDENTIFIER = TMP_DEVICE_MODEL_IDENTIFIER;
SEMRESATTRS_DEVICE_MODEL_NAME = TMP_DEVICE_MODEL_NAME;
SEMRESATTRS_FAAS_NAME = TMP_FAAS_NAME;
SEMRESATTRS_FAAS_ID = TMP_FAAS_ID;
SEMRESATTRS_FAAS_VERSION = TMP_FAAS_VERSION;
SEMRESATTRS_FAAS_INSTANCE = TMP_FAAS_INSTANCE;
SEMRESATTRS_FAAS_MAX_MEMORY = TMP_FAAS_MAX_MEMORY;
SEMRESATTRS_HOST_ID = TMP_HOST_ID;
SEMRESATTRS_HOST_NAME = TMP_HOST_NAME;
SEMRESATTRS_HOST_TYPE = TMP_HOST_TYPE;
SEMRESATTRS_HOST_ARCH = TMP_HOST_ARCH;
SEMRESATTRS_HOST_IMAGE_NAME = TMP_HOST_IMAGE_NAME;
SEMRESATTRS_HOST_IMAGE_ID = TMP_HOST_IMAGE_ID;
SEMRESATTRS_HOST_IMAGE_VERSION = TMP_HOST_IMAGE_VERSION;
SEMRESATTRS_K8S_CLUSTER_NAME = TMP_K8S_CLUSTER_NAME;
SEMRESATTRS_K8S_NODE_NAME = TMP_K8S_NODE_NAME;
SEMRESATTRS_K8S_NODE_UID = TMP_K8S_NODE_UID;
SEMRESATTRS_K8S_NAMESPACE_NAME = TMP_K8S_NAMESPACE_NAME;
SEMRESATTRS_K8S_POD_UID = TMP_K8S_POD_UID;
SEMRESATTRS_K8S_POD_NAME = TMP_K8S_POD_NAME;
SEMRESATTRS_K8S_CONTAINER_NAME = TMP_K8S_CONTAINER_NAME;
SEMRESATTRS_K8S_REPLICASET_UID = TMP_K8S_REPLICASET_UID;
SEMRESATTRS_K8S_REPLICASET_NAME = TMP_K8S_REPLICASET_NAME;
SEMRESATTRS_K8S_DEPLOYMENT_UID = TMP_K8S_DEPLOYMENT_UID;
SEMRESATTRS_K8S_DEPLOYMENT_NAME = TMP_K8S_DEPLOYMENT_NAME;
SEMRESATTRS_K8S_STATEFULSET_UID = TMP_K8S_STATEFULSET_UID;
SEMRESATTRS_K8S_STATEFULSET_NAME = TMP_K8S_STATEFULSET_NAME;
SEMRESATTRS_K8S_DAEMONSET_UID = TMP_K8S_DAEMONSET_UID;
SEMRESATTRS_K8S_DAEMONSET_NAME = TMP_K8S_DAEMONSET_NAME;
SEMRESATTRS_K8S_JOB_UID = TMP_K8S_JOB_UID;
SEMRESATTRS_K8S_JOB_NAME = TMP_K8S_JOB_NAME;
SEMRESATTRS_K8S_CRONJOB_UID = TMP_K8S_CRONJOB_UID;
SEMRESATTRS_K8S_CRONJOB_NAME = TMP_K8S_CRONJOB_NAME;
SEMRESATTRS_OS_TYPE = TMP_OS_TYPE;
SEMRESATTRS_OS_DESCRIPTION = TMP_OS_DESCRIPTION;
SEMRESATTRS_OS_NAME = TMP_OS_NAME;
SEMRESATTRS_OS_VERSION = TMP_OS_VERSION;
SEMRESATTRS_PROCESS_PID = TMP_PROCESS_PID;
SEMRESATTRS_PROCESS_EXECUTABLE_NAME = TMP_PROCESS_EXECUTABLE_NAME;
SEMRESATTRS_PROCESS_EXECUTABLE_PATH = TMP_PROCESS_EXECUTABLE_PATH;
SEMRESATTRS_PROCESS_COMMAND = TMP_PROCESS_COMMAND;
SEMRESATTRS_PROCESS_COMMAND_LINE = TMP_PROCESS_COMMAND_LINE;
SEMRESATTRS_PROCESS_COMMAND_ARGS = TMP_PROCESS_COMMAND_ARGS;
SEMRESATTRS_PROCESS_OWNER = TMP_PROCESS_OWNER;
SEMRESATTRS_PROCESS_RUNTIME_NAME = TMP_PROCESS_RUNTIME_NAME;
SEMRESATTRS_PROCESS_RUNTIME_VERSION = TMP_PROCESS_RUNTIME_VERSION;
SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION = TMP_PROCESS_RUNTIME_DESCRIPTION;
SEMRESATTRS_SERVICE_NAME = TMP_SERVICE_NAME;
SEMRESATTRS_SERVICE_NAMESPACE = TMP_SERVICE_NAMESPACE;
SEMRESATTRS_SERVICE_INSTANCE_ID = TMP_SERVICE_INSTANCE_ID;
SEMRESATTRS_SERVICE_VERSION = TMP_SERVICE_VERSION;
SEMRESATTRS_TELEMETRY_SDK_NAME = TMP_TELEMETRY_SDK_NAME;
SEMRESATTRS_TELEMETRY_SDK_LANGUAGE = TMP_TELEMETRY_SDK_LANGUAGE;
SEMRESATTRS_TELEMETRY_SDK_VERSION = TMP_TELEMETRY_SDK_VERSION;
SEMRESATTRS_TELEMETRY_AUTO_VERSION = TMP_TELEMETRY_AUTO_VERSION;
SEMRESATTRS_WEBENGINE_NAME = TMP_WEBENGINE_NAME;
SEMRESATTRS_WEBENGINE_VERSION = TMP_WEBENGINE_VERSION;
SEMRESATTRS_WEBENGINE_DESCRIPTION = TMP_WEBENGINE_DESCRIPTION;
SemanticResourceAttributes = /* @__PURE__ */ createConstMap([
TMP_CLOUD_PROVIDER,
TMP_CLOUD_ACCOUNT_ID,
TMP_CLOUD_REGION,
TMP_CLOUD_AVAILABILITY_ZONE,
TMP_CLOUD_PLATFORM,
TMP_AWS_ECS_CONTAINER_ARN,
TMP_AWS_ECS_CLUSTER_ARN,
TMP_AWS_ECS_LAUNCHTYPE,
TMP_AWS_ECS_TASK_ARN,
TMP_AWS_ECS_TASK_FAMILY,
TMP_AWS_ECS_TASK_REVISION,
TMP_AWS_EKS_CLUSTER_ARN,
TMP_AWS_LOG_GROUP_NAMES,
TMP_AWS_LOG_GROUP_ARNS,
TMP_AWS_LOG_STREAM_NAMES,
TMP_AWS_LOG_STREAM_ARNS,
TMP_CONTAINER_NAME,
TMP_CONTAINER_ID,
TMP_CONTAINER_RUNTIME,
TMP_CONTAINER_IMAGE_NAME,
TMP_CONTAINER_IMAGE_TAG,
TMP_DEPLOYMENT_ENVIRONMENT,
TMP_DEVICE_ID,
TMP_DEVICE_MODEL_IDENTIFIER,
TMP_DEVICE_MODEL_NAME,
TMP_FAAS_NAME,
TMP_FAAS_ID,
TMP_FAAS_VERSION,
TMP_FAAS_INSTANCE,
TMP_FAAS_MAX_MEMORY,
TMP_HOST_ID,
TMP_HOST_NAME,
TMP_HOST_TYPE,
TMP_HOST_ARCH,
TMP_HOST_IMAGE_NAME,
TMP_HOST_IMAGE_ID,
TMP_HOST_IMAGE_VERSION,
TMP_K8S_CLUSTER_NAME,
TMP_K8S_NODE_NAME,
TMP_K8S_NODE_UID,
TMP_K8S_NAMESPACE_NAME,
TMP_K8S_POD_UID,
TMP_K8S_POD_NAME,
TMP_K8S_CONTAINER_NAME,
TMP_K8S_REPLICASET_UID,
TMP_K8S_REPLICASET_NAME,
TMP_K8S_DEPLOYMENT_UID,
TMP_K8S_DEPLOYMENT_NAME,
TMP_K8S_STATEFULSET_UID,
TMP_K8S_STATEFULSET_NAME,
TMP_K8S_DAEMONSET_UID,
TMP_K8S_DAEMONSET_NAME,
TMP_K8S_JOB_UID,
TMP_K8S_JOB_NAME,
TMP_K8S_CRONJOB_UID,
TMP_K8S_CRONJOB_NAME,
TMP_OS_TYPE,
TMP_OS_DESCRIPTION,
TMP_OS_NAME,
TMP_OS_VERSION,
TMP_PROCESS_PID,
TMP_PROCESS_EXECUTABLE_NAME,
TMP_PROCESS_EXECUTABLE_PATH,
TMP_PROCESS_COMMAND,
TMP_PROCESS_COMMAND_LINE,
TMP_PROCESS_COMMAND_ARGS,
TMP_PROCESS_OWNER,
TMP_PROCESS_RUNTIME_NAME,
TMP_PROCESS_RUNTIME_VERSION,
TMP_PROCESS_RUNTIME_DESCRIPTION,
TMP_SERVICE_NAME,
TMP_SERVICE_NAMESPACE,
TMP_SERVICE_INSTANCE_ID,
TMP_SERVICE_VERSION,
TMP_TELEMETRY_SDK_NAME,
TMP_TELEMETRY_SDK_LANGUAGE,
TMP_TELEMETRY_SDK_VERSION,
TMP_TELEMETRY_AUTO_VERSION,
TMP_WEBENGINE_NAME,
TMP_WEBENGINE_VERSION,
TMP_WEBENGINE_DESCRIPTION
]);
TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD = "alibaba_cloud";
TMP_CLOUDPROVIDERVALUES_AWS = "aws";
TMP_CLOUDPROVIDERVALUES_AZURE = "azure";
TMP_CLOUDPROVIDERVALUES_GCP = "gcp";
CLOUDPROVIDERVALUES_ALIBABA_CLOUD = TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD;
CLOUDPROVIDERVALUES_AWS = TMP_CLOUDPROVIDERVALUES_AWS;
CLOUDPROVIDERVALUES_AZURE = TMP_CLOUDPROVIDERVALUES_AZURE;
CLOUDPROVIDERVALUES_GCP = TMP_CLOUDPROVIDERVALUES_GCP;
CloudProviderValues = /* @__PURE__ */ createConstMap([
TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD,
TMP_CLOUDPROVIDERVALUES_AWS,
TMP_CLOUDPROVIDERVALUES_AZURE,
TMP_CLOUDPROVIDERVALUES_GCP
]);
TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs";
TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = "alibaba_cloud_fc";
TMP_CLOUDPLATFORMVALUES_AWS_EC2 = "aws_ec2";
TMP_CLOUDPLATFORMVALUES_AWS_ECS = "aws_ecs";
TMP_CLOUDPLATFORMVALUES_AWS_EKS = "aws_eks";
TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA = "aws_lambda";
TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = "aws_elastic_beanstalk";
TMP_CLOUDPLATFORMVALUES_AZURE_VM = "azure_vm";
TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = "azure_container_instances";
TMP_CLOUDPLATFORMVALUES_AZURE_AKS = "azure_aks";
TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = "azure_functions";
TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = "azure_app_service";
TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = "gcp_compute_engine";
TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = "gcp_cloud_run";
TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = "gcp_kubernetes_engine";
TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = "gcp_cloud_functions";
TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE = "gcp_app_engine";
CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS;
CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC;
CLOUDPLATFORMVALUES_AWS_EC2 = TMP_CLOUDPLATFORMVALUES_AWS_EC2;
CLOUDPLATFORMVALUES_AWS_ECS = TMP_CLOUDPLATFORMVALUES_AWS_ECS;
CLOUDPLATFORMVALUES_AWS_EKS = TMP_CLOUDPLATFORMVALUES_AWS_EKS;
CLOUDPLATFORMVALUES_AWS_LAMBDA = TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA;
CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK;
CLOUDPLATFORMVALUES_AZURE_VM = TMP_CLOUDPLATFORMVALUES_AZURE_VM;
CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES;
CLOUDPLATFORMVALUES_AZURE_AKS = TMP_CLOUDPLATFORMVALUES_AZURE_AKS;
CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS;
CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE;
CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE;
CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN;
CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE;
CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS;
CLOUDPLATFORMVALUES_GCP_APP_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE;
CloudPlatformValues = /* @__PURE__ */ createConstMap([
TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS,
TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC,
TMP_CLOUDPLATFORMVALUES_AWS_EC2,
TMP_CLOUDPLATFORMVALUES_AWS_ECS,
TMP_CLOUDPLATFORMVALUES_AWS_EKS,
TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA,
TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
TMP_CLOUDPLATFORMVALUES_AZURE_VM,
TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES,
TMP_CLOUDPLATFORMVALUES_AZURE_AKS,
TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS,
TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE,
TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE,
TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN,
TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE,
TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS,
TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE
]);
TMP_AWSECSLAUNCHTYPEVALUES_EC2 = "ec2";
TMP_AWSECSLAUNCHTYPEVALUES_FARGATE = "fargate";
AWSECSLAUNCHTYPEVALUES_EC2 = TMP_AWSECSLAUNCHTYPEVALUES_EC2;
AWSECSLAUNCHTYPEVALUES_FARGATE = TMP_AWSECSLAUNCHTYPEVALUES_FARGATE;
AwsEcsLaunchtypeValues = /* @__PURE__ */ createConstMap([
TMP_AWSECSLAUNCHTYPEVALUES_EC2,
TMP_AWSECSLAUNCHTYPEVALUES_FARGATE
]);
TMP_HOSTARCHVALUES_AMD64 = "amd64";
TMP_HOSTARCHVALUES_ARM32 = "arm32";
TMP_HOSTARCHVALUES_ARM64 = "arm64";
TMP_HOSTARCHVALUES_IA64 = "ia64";
TMP_HOSTARCHVALUES_PPC32 = "ppc32";
TMP_HOSTARCHVALUES_PPC64 = "ppc64";
TMP_HOSTARCHVALUES_X86 = "x86";
HOSTARCHVALUES_AMD64 = TMP_HOSTARCHVALUES_AMD64;
HOSTARCHVALUES_ARM32 = TMP_HOSTARCHVALUES_ARM32;
HOSTARCHVALUES_ARM64 = TMP_HOSTARCHVALUES_ARM64;
HOSTARCHVALUES_IA64 = TMP_HOSTARCHVALUES_IA64;
HOSTARCHVALUES_PPC32 = TMP_HOSTARCHVALUES_PPC32;
HOSTARCHVALUES_PPC64 = TMP_HOSTARCHVALUES_PPC64;
HOSTARCHVALUES_X86 = TMP_HOSTARCHVALUES_X86;
HostArchValues = /* @__PURE__ */ createConstMap([
TMP_HOSTARCHVALUES_AMD64,
TMP_HOSTARCHVALUES_ARM32,
TMP_HOSTARCHVALUES_ARM64,
TMP_HOSTARCHVALUES_IA64,
TMP_HOSTARCHVALUES_PPC32,
TMP_HOSTARCHVALUES_PPC64,
TMP_HOSTARCHVALUES_X86
]);
TMP_OSTYPEVALUES_WINDOWS = "windows";
TMP_OSTYPEVALUES_LINUX = "linux";
TMP_OSTYPEVALUES_DARWIN = "darwin";
TMP_OSTYPEVALUES_FREEBSD = "freebsd";
TMP_OSTYPEVALUES_NETBSD = "netbsd";
TMP_OSTYPEVALUES_OPENBSD = "openbsd";
TMP_OSTYPEVALUES_DRAGONFLYBSD = "dragonflybsd";
TMP_OSTYPEVALUES_HPUX = "hpux";
TMP_OSTYPEVALUES_AIX = "aix";
TMP_OSTYPEVALUES_SOLARIS = "solaris";
TMP_OSTYPEVALUES_Z_OS = "z_os";
OSTYPEVALUES_WINDOWS = TMP_OSTYPEVALUES_WINDOWS;
OSTYPEVALUES_LINUX = TMP_OSTYPEVALUES_LINUX;
OSTYPEVALUES_DARWIN = TMP_OSTYPEVALUES_DARWIN;
OSTYPEVALUES_FREEBSD = TMP_OSTYPEVALUES_FREEBSD;
OSTYPEVALUES_NETBSD = TMP_OSTYPEVALUES_NETBSD;
OSTYPEVALUES_OPENBSD = TMP_OSTYPEVALUES_OPENBSD;
OSTYPEVALUES_DRAGONFLYBSD = TMP_OSTYPEVALUES_DRAGONFLYBSD;
OSTYPEVALUES_HPUX = TMP_OSTYPEVALUES_HPUX;
OSTYPEVALUES_AIX = TMP_OSTYPEVALUES_AIX;
OSTYPEVALUES_SOLARIS = TMP_OSTYPEVALUES_SOLARIS;
OSTYPEVALUES_Z_OS = TMP_OSTYPEVALUES_Z_OS;
OsTypeValues = /* @__PURE__ */ createConstMap([
TMP_OSTYPEVALUES_WINDOWS,
TMP_OSTYPEVALUES_LINUX,
TMP_OSTYPEVALUES_DARWIN,
TMP_OSTYPEVALUES_FREEBSD,
TMP_OSTYPEVALUES_NETBSD,
TMP_OSTYPEVALUES_OPENBSD,
TMP_OSTYPEVALUES_DRAGONFLYBSD,
TMP_OSTYPEVALUES_HPUX,
TMP_OSTYPEVALUES_AIX,
TMP_OSTYPEVALUES_SOLARIS,
TMP_OSTYPEVALUES_Z_OS
]);
TMP_TELEMETRYSDKLANGUAGEVALUES_CPP = "cpp";
TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET = "dotnet";
TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG = "erlang";
TMP_TELEMETRYSDKLANGUAGEVALUES_GO = "go";
TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA = "java";
TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS = "nodejs";
TMP_TELEMETRYSDKLANGUAGEVALUES_PHP = "php";
TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON = "python";
TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY = "ruby";
TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS = "webjs";
TELEMETRYSDKLANGUAGEVALUES_CPP = TMP_TELEMETRYSDKLANGUAGEVALUES_CPP;
TELEMETRYSDKLANGUAGEVALUES_DOTNET = TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET;
TELEMETRYSDKLANGUAGEVALUES_ERLANG = TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG;
TELEMETRYSDKLANGUAGEVALUES_GO = TMP_TELEMETRYSDKLANGUAGEVALUES_GO;
TELEMETRYSDKLANGUAGEVALUES_JAVA = TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA;
TELEMETRYSDKLANGUAGEVALUES_NODEJS = TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS;
TELEMETRYSDKLANGUAGEVALUES_PHP = TMP_TELEMETRYSDKLANGUAGEVALUES_PHP;
TELEMETRYSDKLANGUAGEVALUES_PYTHON = TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON;
TELEMETRYSDKLANGUAGEVALUES_RUBY = TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY;
TELEMETRYSDKLANGUAGEVALUES_WEBJS = TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS;
TelemetrySdkLanguageValues = /* @__PURE__ */ createConstMap([
TMP_TELEMETRYSDKLANGUAGEVALUES_CPP,
TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET,
TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG,
TMP_TELEMETRYSDKLANGUAGEVALUES_GO,
TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA,
TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS,
TMP_TELEMETRYSDKLANGUAGEVALUES_PHP,
TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON,
TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY,
TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS
]);
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js
var init_resource = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js"() {
init_SemanticResourceAttributes();
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js
var ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT, ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED, ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED, ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED, ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED, ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE, ATTR_ASPNETCORE_RATE_LIMITING_POLICY, ATTR_ASPNETCORE_RATE_LIMITING_RESULT, ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED, ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER, ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER, ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED, ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED, ATTR_ASPNETCORE_ROUTING_IS_FALLBACK, ATTR_ASPNETCORE_ROUTING_MATCH_STATUS, ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE, ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS, ATTR_ASPNETCORE_USER_IS_AUTHENTICATED, ATTR_CLIENT_ADDRESS, ATTR_CLIENT_PORT, ATTR_CODE_COLUMN_NUMBER, ATTR_CODE_FILE_PATH, ATTR_CODE_FUNCTION_NAME, ATTR_CODE_LINE_NUMBER, ATTR_CODE_STACKTRACE, ATTR_DB_COLLECTION_NAME, ATTR_DB_NAMESPACE, ATTR_DB_OPERATION_BATCH_SIZE, ATTR_DB_OPERATION_NAME, ATTR_DB_QUERY_SUMMARY, ATTR_DB_QUERY_TEXT, ATTR_DB_RESPONSE_STATUS_CODE, ATTR_DB_STORED_PROCEDURE_NAME, ATTR_DB_SYSTEM_NAME, DB_SYSTEM_NAME_VALUE_MARIADB, DB_SYSTEM_NAME_VALUE_MICROSOFT_SQL_SERVER, DB_SYSTEM_NAME_VALUE_MYSQL, DB_SYSTEM_NAME_VALUE_POSTGRESQL, ATTR_DOTNET_GC_HEAP_GENERATION, DOTNET_GC_HEAP_GENERATION_VALUE_GEN0, DOTNET_GC_HEAP_GENERATION_VALUE_GEN1, DOTNET_GC_HEAP_GENERATION_VALUE_GEN2, DOTNET_GC_HEAP_GENERATION_VALUE_LOH, DOTNET_GC_HEAP_GENERATION_VALUE_POH, ATTR_ERROR_TYPE, ERROR_TYPE_VALUE_OTHER, ATTR_EXCEPTION_ESCAPED, ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE, ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, HTTP_REQUEST_METHOD_VALUE_OTHER, HTTP_REQUEST_METHOD_VALUE_CONNECT, HTTP_REQUEST_METHOD_VALUE_DELETE, HTTP_REQUEST_METHOD_VALUE_GET, HTTP_REQUEST_METHOD_VALUE_HEAD, HTTP_REQUEST_METHOD_VALUE_OPTIONS, HTTP_REQUEST_METHOD_VALUE_PATCH, HTTP_REQUEST_METHOD_VALUE_POST, HTTP_REQUEST_METHOD_VALUE_PUT, HTTP_REQUEST_METHOD_VALUE_TRACE, ATTR_HTTP_REQUEST_METHOD_ORIGINAL, ATTR_HTTP_REQUEST_RESEND_COUNT, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_HTTP_ROUTE, ATTR_JVM_GC_ACTION, ATTR_JVM_GC_NAME, ATTR_JVM_MEMORY_POOL_NAME, ATTR_JVM_MEMORY_TYPE, JVM_MEMORY_TYPE_VALUE_HEAP, JVM_MEMORY_TYPE_VALUE_NON_HEAP, ATTR_JVM_THREAD_DAEMON, ATTR_JVM_THREAD_STATE, JVM_THREAD_STATE_VALUE_BLOCKED, JVM_THREAD_STATE_VALUE_NEW, JVM_THREAD_STATE_VALUE_RUNNABLE, JVM_THREAD_STATE_VALUE_TERMINATED, JVM_THREAD_STATE_VALUE_TIMED_WAITING, JVM_THREAD_STATE_VALUE_WAITING, ATTR_NETWORK_LOCAL_ADDRESS, ATTR_NETWORK_LOCAL_PORT, ATTR_NETWORK_PEER_ADDRESS, ATTR_NETWORK_PEER_PORT, ATTR_NETWORK_PROTOCOL_NAME, ATTR_NETWORK_PROTOCOL_VERSION, ATTR_NETWORK_TRANSPORT, NETWORK_TRANSPORT_VALUE_PIPE, NETWORK_TRANSPORT_VALUE_QUIC, NETWORK_TRANSPORT_VALUE_TCP, NETWORK_TRANSPORT_VALUE_UDP, NETWORK_TRANSPORT_VALUE_UNIX, ATTR_NETWORK_TYPE, NETWORK_TYPE_VALUE_IPV4, NETWORK_TYPE_VALUE_IPV6, ATTR_OTEL_SCOPE_NAME, ATTR_OTEL_SCOPE_VERSION, ATTR_OTEL_STATUS_CODE, OTEL_STATUS_CODE_VALUE_ERROR, OTEL_STATUS_CODE_VALUE_OK, ATTR_OTEL_STATUS_DESCRIPTION, ATTR_SERVER_ADDRESS, ATTR_SERVER_PORT, ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, ATTR_SIGNALR_CONNECTION_STATUS, SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN, SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE, SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT, ATTR_SIGNALR_TRANSPORT, SIGNALR_TRANSPORT_VALUE_LONG_POLLING, SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS, SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS, ATTR_TELEMETRY_SDK_LANGUAGE, TELEMETRY_SDK_LANGUAGE_VALUE_CPP, TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET, TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG, TELEMETRY_SDK_LANGUAGE_VALUE_GO, TELEMETRY_SDK_LANGUAGE_VALUE_JAVA, TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS, TELEMETRY_SDK_LANGUAGE_VALUE_PHP, TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON, TELEMETRY_SDK_LANGUAGE_VALUE_RUBY, TELEMETRY_SDK_LANGUAGE_VALUE_RUST, TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT, TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS, ATTR_TELEMETRY_SDK_NAME, ATTR_TELEMETRY_SDK_VERSION, ATTR_URL_FRAGMENT, ATTR_URL_FULL, ATTR_URL_PATH, ATTR_URL_QUERY, ATTR_URL_SCHEME, ATTR_USER_AGENT_ORIGINAL;
var init_stable_attributes = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js"() {
ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT = "aspnetcore.diagnostics.exception.result";
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED = "aborted";
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED = "handled";
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED = "skipped";
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED = "unhandled";
ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE = "aspnetcore.diagnostics.handler.type";
ATTR_ASPNETCORE_RATE_LIMITING_POLICY = "aspnetcore.rate_limiting.policy";
ATTR_ASPNETCORE_RATE_LIMITING_RESULT = "aspnetcore.rate_limiting.result";
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED = "acquired";
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER = "endpoint_limiter";
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER = "global_limiter";
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED = "request_canceled";
ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED = "aspnetcore.request.is_unhandled";
ATTR_ASPNETCORE_ROUTING_IS_FALLBACK = "aspnetcore.routing.is_fallback";
ATTR_ASPNETCORE_ROUTING_MATCH_STATUS = "aspnetcore.routing.match_status";
ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE = "failure";
ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS = "success";
ATTR_ASPNETCORE_USER_IS_AUTHENTICATED = "aspnetcore.user.is_authenticated";
ATTR_CLIENT_ADDRESS = "client.address";
ATTR_CLIENT_PORT = "client.port";
ATTR_CODE_COLUMN_NUMBER = "code.column.number";
ATTR_CODE_FILE_PATH = "code.file.path";
ATTR_CODE_FUNCTION_NAME = "code.function.name";
ATTR_CODE_LINE_NUMBER = "code.line.number";
ATTR_CODE_STACKTRACE = "code.stacktrace";
ATTR_DB_COLLECTION_NAME = "db.collection.name";
ATTR_DB_NAMESPACE = "db.namespace";
ATTR_DB_OPERATION_BATCH_SIZE = "db.operation.batch.size";
ATTR_DB_OPERATION_NAME = "db.operation.name";
ATTR_DB_QUERY_SUMMARY = "db.query.summary";
ATTR_DB_QUERY_TEXT = "db.query.text";
ATTR_DB_RESPONSE_STATUS_CODE = "db.response.status_code";
ATTR_DB_STORED_PROCEDURE_NAME = "db.stored_procedure.name";
ATTR_DB_SYSTEM_NAME = "db.system.name";
DB_SYSTEM_NAME_VALUE_MARIADB = "mariadb";
DB_SYSTEM_NAME_VALUE_MICROSOFT_SQL_SERVER = "microsoft.sql_server";
DB_SYSTEM_NAME_VALUE_MYSQL = "mysql";
DB_SYSTEM_NAME_VALUE_POSTGRESQL = "postgresql";
ATTR_DOTNET_GC_HEAP_GENERATION = "dotnet.gc.heap.generation";
DOTNET_GC_HEAP_GENERATION_VALUE_GEN0 = "gen0";
DOTNET_GC_HEAP_GENERATION_VALUE_GEN1 = "gen1";
DOTNET_GC_HEAP_GENERATION_VALUE_GEN2 = "gen2";
DOTNET_GC_HEAP_GENERATION_VALUE_LOH = "loh";
DOTNET_GC_HEAP_GENERATION_VALUE_POH = "poh";
ATTR_ERROR_TYPE = "error.type";
ERROR_TYPE_VALUE_OTHER = "_OTHER";
ATTR_EXCEPTION_ESCAPED = "exception.escaped";
ATTR_EXCEPTION_MESSAGE = "exception.message";
ATTR_EXCEPTION_STACKTRACE = "exception.stacktrace";
ATTR_EXCEPTION_TYPE = "exception.type";
ATTR_HTTP_REQUEST_HEADER = (key) => `http.request.header.${key}`;
ATTR_HTTP_REQUEST_METHOD = "http.request.method";
HTTP_REQUEST_METHOD_VALUE_OTHER = "_OTHER";
HTTP_REQUEST_METHOD_VALUE_CONNECT = "CONNECT";
HTTP_REQUEST_METHOD_VALUE_DELETE = "DELETE";
HTTP_REQUEST_METHOD_VALUE_GET = "GET";
HTTP_REQUEST_METHOD_VALUE_HEAD = "HEAD";
HTTP_REQUEST_METHOD_VALUE_OPTIONS = "OPTIONS";
HTTP_REQUEST_METHOD_VALUE_PATCH = "PATCH";
HTTP_REQUEST_METHOD_VALUE_POST = "POST";
HTTP_REQUEST_METHOD_VALUE_PUT = "PUT";
HTTP_REQUEST_METHOD_VALUE_TRACE = "TRACE";
ATTR_HTTP_REQUEST_METHOD_ORIGINAL = "http.request.method_original";
ATTR_HTTP_REQUEST_RESEND_COUNT = "http.request.resend_count";
ATTR_HTTP_RESPONSE_HEADER = (key) => `http.response.header.${key}`;
ATTR_HTTP_RESPONSE_STATUS_CODE = "http.response.status_code";
ATTR_HTTP_ROUTE = "http.route";
ATTR_JVM_GC_ACTION = "jvm.gc.action";
ATTR_JVM_GC_NAME = "jvm.gc.name";
ATTR_JVM_MEMORY_POOL_NAME = "jvm.memory.pool.name";
ATTR_JVM_MEMORY_TYPE = "jvm.memory.type";
JVM_MEMORY_TYPE_VALUE_HEAP = "heap";
JVM_MEMORY_TYPE_VALUE_NON_HEAP = "non_heap";
ATTR_JVM_THREAD_DAEMON = "jvm.thread.daemon";
ATTR_JVM_THREAD_STATE = "jvm.thread.state";
JVM_THREAD_STATE_VALUE_BLOCKED = "blocked";
JVM_THREAD_STATE_VALUE_NEW = "new";
JVM_THREAD_STATE_VALUE_RUNNABLE = "runnable";
JVM_THREAD_STATE_VALUE_TERMINATED = "terminated";
JVM_THREAD_STATE_VALUE_TIMED_WAITING = "timed_waiting";
JVM_THREAD_STATE_VALUE_WAITING = "waiting";
ATTR_NETWORK_LOCAL_ADDRESS = "network.local.address";
ATTR_NETWORK_LOCAL_PORT = "network.local.port";
ATTR_NETWORK_PEER_ADDRESS = "network.peer.address";
ATTR_NETWORK_PEER_PORT = "network.peer.port";
ATTR_NETWORK_PROTOCOL_NAME = "network.protocol.name";
ATTR_NETWORK_PROTOCOL_VERSION = "network.protocol.version";
ATTR_NETWORK_TRANSPORT = "network.transport";
NETWORK_TRANSPORT_VALUE_PIPE = "pipe";
NETWORK_TRANSPORT_VALUE_QUIC = "quic";
NETWORK_TRANSPORT_VALUE_TCP = "tcp";
NETWORK_TRANSPORT_VALUE_UDP = "udp";
NETWORK_TRANSPORT_VALUE_UNIX = "unix";
ATTR_NETWORK_TYPE = "network.type";
NETWORK_TYPE_VALUE_IPV4 = "ipv4";
NETWORK_TYPE_VALUE_IPV6 = "ipv6";
ATTR_OTEL_SCOPE_NAME = "otel.scope.name";
ATTR_OTEL_SCOPE_VERSION = "otel.scope.version";
ATTR_OTEL_STATUS_CODE = "otel.status_code";
OTEL_STATUS_CODE_VALUE_ERROR = "ERROR";
OTEL_STATUS_CODE_VALUE_OK = "OK";
ATTR_OTEL_STATUS_DESCRIPTION = "otel.status_description";
ATTR_SERVER_ADDRESS = "server.address";
ATTR_SERVER_PORT = "server.port";
ATTR_SERVICE_NAME = "service.name";
ATTR_SERVICE_VERSION = "service.version";
ATTR_SIGNALR_CONNECTION_STATUS = "signalr.connection.status";
SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN = "app_shutdown";
SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE = "normal_closure";
SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT = "timeout";
ATTR_SIGNALR_TRANSPORT = "signalr.transport";
SIGNALR_TRANSPORT_VALUE_LONG_POLLING = "long_polling";
SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS = "server_sent_events";
SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS = "web_sockets";
ATTR_TELEMETRY_SDK_LANGUAGE = "telemetry.sdk.language";
TELEMETRY_SDK_LANGUAGE_VALUE_CPP = "cpp";
TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET = "dotnet";
TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG = "erlang";
TELEMETRY_SDK_LANGUAGE_VALUE_GO = "go";
TELEMETRY_SDK_LANGUAGE_VALUE_JAVA = "java";
TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS = "nodejs";
TELEMETRY_SDK_LANGUAGE_VALUE_PHP = "php";
TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON = "python";
TELEMETRY_SDK_LANGUAGE_VALUE_RUBY = "ruby";
TELEMETRY_SDK_LANGUAGE_VALUE_RUST = "rust";
TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT = "swift";
TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS = "webjs";
ATTR_TELEMETRY_SDK_NAME = "telemetry.sdk.name";
ATTR_TELEMETRY_SDK_VERSION = "telemetry.sdk.version";
ATTR_URL_FRAGMENT = "url.fragment";
ATTR_URL_FULL = "url.full";
ATTR_URL_PATH = "url.path";
ATTR_URL_QUERY = "url.query";
ATTR_URL_SCHEME = "url.scheme";
ATTR_USER_AGENT_ORIGINAL = "user_agent.original";
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js
var METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS, METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES, METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS, METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE, METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION, METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS, METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS, METRIC_DB_CLIENT_OPERATION_DURATION, METRIC_DOTNET_ASSEMBLY_COUNT, METRIC_DOTNET_EXCEPTIONS, METRIC_DOTNET_GC_COLLECTIONS, METRIC_DOTNET_GC_HEAP_TOTAL_ALLOCATED, METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE, METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_SIZE, METRIC_DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE, METRIC_DOTNET_GC_PAUSE_TIME, METRIC_DOTNET_JIT_COMPILATION_TIME, METRIC_DOTNET_JIT_COMPILED_IL_SIZE, METRIC_DOTNET_JIT_COMPILED_METHODS, METRIC_DOTNET_MONITOR_LOCK_CONTENTIONS, METRIC_DOTNET_PROCESS_CPU_COUNT, METRIC_DOTNET_PROCESS_CPU_TIME, METRIC_DOTNET_PROCESS_MEMORY_WORKING_SET, METRIC_DOTNET_THREAD_POOL_QUEUE_LENGTH, METRIC_DOTNET_THREAD_POOL_THREAD_COUNT, METRIC_DOTNET_THREAD_POOL_WORK_ITEM_COUNT, METRIC_DOTNET_TIMER_COUNT, METRIC_HTTP_CLIENT_REQUEST_DURATION, METRIC_HTTP_SERVER_REQUEST_DURATION, METRIC_JVM_CLASS_COUNT, METRIC_JVM_CLASS_LOADED, METRIC_JVM_CLASS_UNLOADED, METRIC_JVM_CPU_COUNT, METRIC_JVM_CPU_RECENT_UTILIZATION, METRIC_JVM_CPU_TIME, METRIC_JVM_GC_DURATION, METRIC_JVM_MEMORY_COMMITTED, METRIC_JVM_MEMORY_LIMIT, METRIC_JVM_MEMORY_USED, METRIC_JVM_MEMORY_USED_AFTER_LAST_GC, METRIC_JVM_THREAD_COUNT, METRIC_KESTREL_ACTIVE_CONNECTIONS, METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES, METRIC_KESTREL_CONNECTION_DURATION, METRIC_KESTREL_QUEUED_CONNECTIONS, METRIC_KESTREL_QUEUED_REQUESTS, METRIC_KESTREL_REJECTED_CONNECTIONS, METRIC_KESTREL_TLS_HANDSHAKE_DURATION, METRIC_KESTREL_UPGRADED_CONNECTIONS, METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS, METRIC_SIGNALR_SERVER_CONNECTION_DURATION;
var init_stable_metrics = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js"() {
METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS = "aspnetcore.diagnostics.exceptions";
METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES = "aspnetcore.rate_limiting.active_request_leases";
METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS = "aspnetcore.rate_limiting.queued_requests";
METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE = "aspnetcore.rate_limiting.request.time_in_queue";
METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION = "aspnetcore.rate_limiting.request_lease.duration";
METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS = "aspnetcore.rate_limiting.requests";
METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS = "aspnetcore.routing.match_attempts";
METRIC_DB_CLIENT_OPERATION_DURATION = "db.client.operation.duration";
METRIC_DOTNET_ASSEMBLY_COUNT = "dotnet.assembly.count";
METRIC_DOTNET_EXCEPTIONS = "dotnet.exceptions";
METRIC_DOTNET_GC_COLLECTIONS = "dotnet.gc.collections";
METRIC_DOTNET_GC_HEAP_TOTAL_ALLOCATED = "dotnet.gc.heap.total_allocated";
METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE = "dotnet.gc.last_collection.heap.fragmentation.size";
METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_SIZE = "dotnet.gc.last_collection.heap.size";
METRIC_DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE = "dotnet.gc.last_collection.memory.committed_size";
METRIC_DOTNET_GC_PAUSE_TIME = "dotnet.gc.pause.time";
METRIC_DOTNET_JIT_COMPILATION_TIME = "dotnet.jit.compilation.time";
METRIC_DOTNET_JIT_COMPILED_IL_SIZE = "dotnet.jit.compiled_il.size";
METRIC_DOTNET_JIT_COMPILED_METHODS = "dotnet.jit.compiled_methods";
METRIC_DOTNET_MONITOR_LOCK_CONTENTIONS = "dotnet.monitor.lock_contentions";
METRIC_DOTNET_PROCESS_CPU_COUNT = "dotnet.process.cpu.count";
METRIC_DOTNET_PROCESS_CPU_TIME = "dotnet.process.cpu.time";
METRIC_DOTNET_PROCESS_MEMORY_WORKING_SET = "dotnet.process.memory.working_set";
METRIC_DOTNET_THREAD_POOL_QUEUE_LENGTH = "dotnet.thread_pool.queue.length";
METRIC_DOTNET_THREAD_POOL_THREAD_COUNT = "dotnet.thread_pool.thread.count";
METRIC_DOTNET_THREAD_POOL_WORK_ITEM_COUNT = "dotnet.thread_pool.work_item.count";
METRIC_DOTNET_TIMER_COUNT = "dotnet.timer.count";
METRIC_HTTP_CLIENT_REQUEST_DURATION = "http.client.request.duration";
METRIC_HTTP_SERVER_REQUEST_DURATION = "http.server.request.duration";
METRIC_JVM_CLASS_COUNT = "jvm.class.count";
METRIC_JVM_CLASS_LOADED = "jvm.class.loaded";
METRIC_JVM_CLASS_UNLOADED = "jvm.class.unloaded";
METRIC_JVM_CPU_COUNT = "jvm.cpu.count";
METRIC_JVM_CPU_RECENT_UTILIZATION = "jvm.cpu.recent_utilization";
METRIC_JVM_CPU_TIME = "jvm.cpu.time";
METRIC_JVM_GC_DURATION = "jvm.gc.duration";
METRIC_JVM_MEMORY_COMMITTED = "jvm.memory.committed";
METRIC_JVM_MEMORY_LIMIT = "jvm.memory.limit";
METRIC_JVM_MEMORY_USED = "jvm.memory.used";
METRIC_JVM_MEMORY_USED_AFTER_LAST_GC = "jvm.memory.used_after_last_gc";
METRIC_JVM_THREAD_COUNT = "jvm.thread.count";
METRIC_KESTREL_ACTIVE_CONNECTIONS = "kestrel.active_connections";
METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES = "kestrel.active_tls_handshakes";
METRIC_KESTREL_CONNECTION_DURATION = "kestrel.connection.duration";
METRIC_KESTREL_QUEUED_CONNECTIONS = "kestrel.queued_connections";
METRIC_KESTREL_QUEUED_REQUESTS = "kestrel.queued_requests";
METRIC_KESTREL_REJECTED_CONNECTIONS = "kestrel.rejected_connections";
METRIC_KESTREL_TLS_HANDSHAKE_DURATION = "kestrel.tls_handshake.duration";
METRIC_KESTREL_UPGRADED_CONNECTIONS = "kestrel.upgraded_connections";
METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS = "signalr.server.active_connections";
METRIC_SIGNALR_SERVER_CONNECTION_DURATION = "signalr.server.connection.duration";
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js
var EVENT_EXCEPTION;
var init_stable_events = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js"() {
EVENT_EXCEPTION = "exception";
}
});
// node_modules/@opentelemetry/semantic-conventions/build/esm/index.js
var esm_exports2 = {};
__export(esm_exports2, {
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED: () => ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED,
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED: () => ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED,
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED: () => ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED,
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED: () => ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED,
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED: () => ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED,
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER: () => ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER,
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER: () => ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER,
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED: () => ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED,
ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE: () => ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE,
ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS: () => ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS,
ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT: () => ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT,
ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE: () => ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE,
ATTR_ASPNETCORE_RATE_LIMITING_POLICY: () => ATTR_ASPNETCORE_RATE_LIMITING_POLICY,
ATTR_ASPNETCORE_RATE_LIMITING_RESULT: () => ATTR_ASPNETCORE_RATE_LIMITING_RESULT,
ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED: () => ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED,
ATTR_ASPNETCORE_ROUTING_IS_FALLBACK: () => ATTR_ASPNETCORE_ROUTING_IS_FALLBACK,
ATTR_ASPNETCORE_ROUTING_MATCH_STATUS: () => ATTR_ASPNETCORE_ROUTING_MATCH_STATUS,
ATTR_ASPNETCORE_USER_IS_AUTHENTICATED: () => ATTR_ASPNETCORE_USER_IS_AUTHENTICATED,
ATTR_CLIENT_ADDRESS: () => ATTR_CLIENT_ADDRESS,
ATTR_CLIENT_PORT: () => ATTR_CLIENT_PORT,
ATTR_CODE_COLUMN_NUMBER: () => ATTR_CODE_COLUMN_NUMBER,
ATTR_CODE_FILE_PATH: () => ATTR_CODE_FILE_PATH,
ATTR_CODE_FUNCTION_NAME: () => ATTR_CODE_FUNCTION_NAME,
ATTR_CODE_LINE_NUMBER: () => ATTR_CODE_LINE_NUMBER,
ATTR_CODE_STACKTRACE: () => ATTR_CODE_STACKTRACE,
ATTR_DB_COLLECTION_NAME: () => ATTR_DB_COLLECTION_NAME,
ATTR_DB_NAMESPACE: () => ATTR_DB_NAMESPACE,
ATTR_DB_OPERATION_BATCH_SIZE: () => ATTR_DB_OPERATION_BATCH_SIZE,
ATTR_DB_OPERATION_NAME: () => ATTR_DB_OPERATION_NAME,
ATTR_DB_QUERY_SUMMARY: () => ATTR_DB_QUERY_SUMMARY,
ATTR_DB_QUERY_TEXT: () => ATTR_DB_QUERY_TEXT,
ATTR_DB_RESPONSE_STATUS_CODE: () => ATTR_DB_RESPONSE_STATUS_CODE,
ATTR_DB_STORED_PROCEDURE_NAME: () => ATTR_DB_STORED_PROCEDURE_NAME,
ATTR_DB_SYSTEM_NAME: () => ATTR_DB_SYSTEM_NAME,
ATTR_DOTNET_GC_HEAP_GENERATION: () => ATTR_DOTNET_GC_HEAP_GENERATION,
ATTR_ERROR_TYPE: () => ATTR_ERROR_TYPE,
ATTR_EXCEPTION_ESCAPED: () => ATTR_EXCEPTION_ESCAPED,
ATTR_EXCEPTION_MESSAGE: () => ATTR_EXCEPTION_MESSAGE,
ATTR_EXCEPTION_STACKTRACE: () => ATTR_EXCEPTION_STACKTRACE,
ATTR_EXCEPTION_TYPE: () => ATTR_EXCEPTION_TYPE,
ATTR_HTTP_REQUEST_HEADER: () => ATTR_HTTP_REQUEST_HEADER,
ATTR_HTTP_REQUEST_METHOD: () => ATTR_HTTP_REQUEST_METHOD,
ATTR_HTTP_REQUEST_METHOD_ORIGINAL: () => ATTR_HTTP_REQUEST_METHOD_ORIGINAL,
ATTR_HTTP_REQUEST_RESEND_COUNT: () => ATTR_HTTP_REQUEST_RESEND_COUNT,
ATTR_HTTP_RESPONSE_HEADER: () => ATTR_HTTP_RESPONSE_HEADER,
ATTR_HTTP_RESPONSE_STATUS_CODE: () => ATTR_HTTP_RESPONSE_STATUS_CODE,
ATTR_HTTP_ROUTE: () => ATTR_HTTP_ROUTE,
ATTR_JVM_GC_ACTION: () => ATTR_JVM_GC_ACTION,
ATTR_JVM_GC_NAME: () => ATTR_JVM_GC_NAME,
ATTR_JVM_MEMORY_POOL_NAME: () => ATTR_JVM_MEMORY_POOL_NAME,
ATTR_JVM_MEMORY_TYPE: () => ATTR_JVM_MEMORY_TYPE,
ATTR_JVM_THREAD_DAEMON: () => ATTR_JVM_THREAD_DAEMON,
ATTR_JVM_THREAD_STATE: () => ATTR_JVM_THREAD_STATE,
ATTR_NETWORK_LOCAL_ADDRESS: () => ATTR_NETWORK_LOCAL_ADDRESS,
ATTR_NETWORK_LOCAL_PORT: () => ATTR_NETWORK_LOCAL_PORT,
ATTR_NETWORK_PEER_ADDRESS: () => ATTR_NETWORK_PEER_ADDRESS,
ATTR_NETWORK_PEER_PORT: () => ATTR_NETWORK_PEER_PORT,
ATTR_NETWORK_PROTOCOL_NAME: () => ATTR_NETWORK_PROTOCOL_NAME,
ATTR_NETWORK_PROTOCOL_VERSION: () => ATTR_NETWORK_PROTOCOL_VERSION,
ATTR_NETWORK_TRANSPORT: () => ATTR_NETWORK_TRANSPORT,
ATTR_NETWORK_TYPE: () => ATTR_NETWORK_TYPE,
ATTR_OTEL_SCOPE_NAME: () => ATTR_OTEL_SCOPE_NAME,
ATTR_OTEL_SCOPE_VERSION: () => ATTR_OTEL_SCOPE_VERSION,
ATTR_OTEL_STATUS_CODE: () => ATTR_OTEL_STATUS_CODE,
ATTR_OTEL_STATUS_DESCRIPTION: () => ATTR_OTEL_STATUS_DESCRIPTION,
ATTR_SERVER_ADDRESS: () => ATTR_SERVER_ADDRESS,
ATTR_SERVER_PORT: () => ATTR_SERVER_PORT,
ATTR_SERVICE_NAME: () => ATTR_SERVICE_NAME,
ATTR_SERVICE_VERSION: () => ATTR_SERVICE_VERSION,
ATTR_SIGNALR_CONNECTION_STATUS: () => ATTR_SIGNALR_CONNECTION_STATUS,
ATTR_SIGNALR_TRANSPORT: () => ATTR_SIGNALR_TRANSPORT,
ATTR_TELEMETRY_SDK_LANGUAGE: () => ATTR_TELEMETRY_SDK_LANGUAGE,
ATTR_TELEMETRY_SDK_NAME: () => ATTR_TELEMETRY_SDK_NAME,
ATTR_TELEMETRY_SDK_VERSION: () => ATTR_TELEMETRY_SDK_VERSION,
ATTR_URL_FRAGMENT: () => ATTR_URL_FRAGMENT,
ATTR_URL_FULL: () => ATTR_URL_FULL,
ATTR_URL_PATH: () => ATTR_URL_PATH,
ATTR_URL_QUERY: () => ATTR_URL_QUERY,
ATTR_URL_SCHEME: () => ATTR_URL_SCHEME,
ATTR_USER_AGENT_ORIGINAL: () => ATTR_USER_AGENT_ORIGINAL,
AWSECSLAUNCHTYPEVALUES_EC2: () => AWSECSLAUNCHTYPEVALUES_EC2,
AWSECSLAUNCHTYPEVALUES_FARGATE: () => AWSECSLAUNCHTYPEVALUES_FARGATE,
AwsEcsLaunchtypeValues: () => AwsEcsLaunchtypeValues,
CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS: () => CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS,
CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC: () => CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC,
CLOUDPLATFORMVALUES_AWS_EC2: () => CLOUDPLATFORMVALUES_AWS_EC2,
CLOUDPLATFORMVALUES_AWS_ECS: () => CLOUDPLATFORMVALUES_AWS_ECS,
CLOUDPLATFORMVALUES_AWS_EKS: () => CLOUDPLATFORMVALUES_AWS_EKS,
CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK: () => CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
CLOUDPLATFORMVALUES_AWS_LAMBDA: () => CLOUDPLATFORMVALUES_AWS_LAMBDA,
CLOUDPLATFORMVALUES_AZURE_AKS: () => CLOUDPLATFORMVALUES_AZURE_AKS,
CLOUDPLATFORMVALUES_AZURE_APP_SERVICE: () => CLOUDPLATFORMVALUES_AZURE_APP_SERVICE,
CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES: () => CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES,
CLOUDPLATFORMVALUES_AZURE_FUNCTIONS: () => CLOUDPLATFORMVALUES_AZURE_FUNCTIONS,
CLOUDPLATFORMVALUES_AZURE_VM: () => CLOUDPLATFORMVALUES_AZURE_VM,
CLOUDPLATFORMVALUES_GCP_APP_ENGINE: () => CLOUDPLATFORMVALUES_GCP_APP_ENGINE,
CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS: () => CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS,
CLOUDPLATFORMVALUES_GCP_CLOUD_RUN: () => CLOUDPLATFORMVALUES_GCP_CLOUD_RUN,
CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE: () => CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE,
CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE: () => CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE,
CLOUDPROVIDERVALUES_ALIBABA_CLOUD: () => CLOUDPROVIDERVALUES_ALIBABA_CLOUD,
CLOUDPROVIDERVALUES_AWS: () => CLOUDPROVIDERVALUES_AWS,
CLOUDPROVIDERVALUES_AZURE: () => CLOUDPROVIDERVALUES_AZURE,
CLOUDPROVIDERVALUES_GCP: () => CLOUDPROVIDERVALUES_GCP,
CloudPlatformValues: () => CloudPlatformValues,
CloudProviderValues: () => CloudProviderValues,
DBCASSANDRACONSISTENCYLEVELVALUES_ALL: () => DBCASSANDRACONSISTENCYLEVELVALUES_ALL,
DBCASSANDRACONSISTENCYLEVELVALUES_ANY: () => DBCASSANDRACONSISTENCYLEVELVALUES_ANY,
DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM: () => DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM,
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE: () => DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE,
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM: () => DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM,
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL: () => DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL,
DBCASSANDRACONSISTENCYLEVELVALUES_ONE: () => DBCASSANDRACONSISTENCYLEVELVALUES_ONE,
DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM: () => DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM,
DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL: () => DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL,
DBCASSANDRACONSISTENCYLEVELVALUES_THREE: () => DBCASSANDRACONSISTENCYLEVELVALUES_THREE,
DBCASSANDRACONSISTENCYLEVELVALUES_TWO: () => DBCASSANDRACONSISTENCYLEVELVALUES_TWO,
DBSYSTEMVALUES_ADABAS: () => DBSYSTEMVALUES_ADABAS,
DBSYSTEMVALUES_CACHE: () => DBSYSTEMVALUES_CACHE,
DBSYSTEMVALUES_CASSANDRA: () => DBSYSTEMVALUES_CASSANDRA,
DBSYSTEMVALUES_CLOUDSCAPE: () => DBSYSTEMVALUES_CLOUDSCAPE,
DBSYSTEMVALUES_COCKROACHDB: () => DBSYSTEMVALUES_COCKROACHDB,
DBSYSTEMVALUES_COLDFUSION: () => DBSYSTEMVALUES_COLDFUSION,
DBSYSTEMVALUES_COSMOSDB: () => DBSYSTEMVALUES_COSMOSDB,
DBSYSTEMVALUES_COUCHBASE: () => DBSYSTEMVALUES_COUCHBASE,
DBSYSTEMVALUES_COUCHDB: () => DBSYSTEMVALUES_COUCHDB,
DBSYSTEMVALUES_DB2: () => DBSYSTEMVALUES_DB2,
DBSYSTEMVALUES_DERBY: () => DBSYSTEMVALUES_DERBY,
DBSYSTEMVALUES_DYNAMODB: () => DBSYSTEMVALUES_DYNAMODB,
DBSYSTEMVALUES_EDB: () => DBSYSTEMVALUES_EDB,
DBSYSTEMVALUES_ELASTICSEARCH: () => DBSYSTEMVALUES_ELASTICSEARCH,
DBSYSTEMVALUES_FILEMAKER: () => DBSYSTEMVALUES_FILEMAKER,
DBSYSTEMVALUES_FIREBIRD: () => DBSYSTEMVALUES_FIREBIRD,
DBSYSTEMVALUES_FIRSTSQL: () => DBSYSTEMVALUES_FIRSTSQL,
DBSYSTEMVALUES_GEODE: () => DBSYSTEMVALUES_GEODE,
DBSYSTEMVALUES_H2: () => DBSYSTEMVALUES_H2,
DBSYSTEMVALUES_HANADB: () => DBSYSTEMVALUES_HANADB,
DBSYSTEMVALUES_HBASE: () => DBSYSTEMVALUES_HBASE,
DBSYSTEMVALUES_HIVE: () => DBSYSTEMVALUES_HIVE,
DBSYSTEMVALUES_HSQLDB: () => DBSYSTEMVALUES_HSQLDB,
DBSYSTEMVALUES_INFORMIX: () => DBSYSTEMVALUES_INFORMIX,
DBSYSTEMVALUES_INGRES: () => DBSYSTEMVALUES_INGRES,
DBSYSTEMVALUES_INSTANTDB: () => DBSYSTEMVALUES_INSTANTDB,
DBSYSTEMVALUES_INTERBASE: () => DBSYSTEMVALUES_INTERBASE,
DBSYSTEMVALUES_MARIADB: () => DBSYSTEMVALUES_MARIADB,
DBSYSTEMVALUES_MAXDB: () => DBSYSTEMVALUES_MAXDB,
DBSYSTEMVALUES_MEMCACHED: () => DBSYSTEMVALUES_MEMCACHED,
DBSYSTEMVALUES_MONGODB: () => DBSYSTEMVALUES_MONGODB,
DBSYSTEMVALUES_MSSQL: () => DBSYSTEMVALUES_MSSQL,
DBSYSTEMVALUES_MYSQL: () => DBSYSTEMVALUES_MYSQL,
DBSYSTEMVALUES_NEO4J: () => DBSYSTEMVALUES_NEO4J,
DBSYSTEMVALUES_NETEZZA: () => DBSYSTEMVALUES_NETEZZA,
DBSYSTEMVALUES_ORACLE: () => DBSYSTEMVALUES_ORACLE,
DBSYSTEMVALUES_OTHER_SQL: () => DBSYSTEMVALUES_OTHER_SQL,
DBSYSTEMVALUES_PERVASIVE: () => DBSYSTEMVALUES_PERVASIVE,
DBSYSTEMVALUES_POINTBASE: () => DBSYSTEMVALUES_POINTBASE,
DBSYSTEMVALUES_POSTGRESQL: () => DBSYSTEMVALUES_POSTGRESQL,
DBSYSTEMVALUES_PROGRESS: () => DBSYSTEMVALUES_PROGRESS,
DBSYSTEMVALUES_REDIS: () => DBSYSTEMVALUES_REDIS,
DBSYSTEMVALUES_REDSHIFT: () => DBSYSTEMVALUES_REDSHIFT,
DBSYSTEMVALUES_SQLITE: () => DBSYSTEMVALUES_SQLITE,
DBSYSTEMVALUES_SYBASE: () => DBSYSTEMVALUES_SYBASE,
DBSYSTEMVALUES_TERADATA: () => DBSYSTEMVALUES_TERADATA,
DBSYSTEMVALUES_VERTICA: () => DBSYSTEMVALUES_VERTICA,
DB_SYSTEM_NAME_VALUE_MARIADB: () => DB_SYSTEM_NAME_VALUE_MARIADB,
DB_SYSTEM_NAME_VALUE_MICROSOFT_SQL_SERVER: () => DB_SYSTEM_NAME_VALUE_MICROSOFT_SQL_SERVER,
DB_SYSTEM_NAME_VALUE_MYSQL: () => DB_SYSTEM_NAME_VALUE_MYSQL,
DB_SYSTEM_NAME_VALUE_POSTGRESQL: () => DB_SYSTEM_NAME_VALUE_POSTGRESQL,
DOTNET_GC_HEAP_GENERATION_VALUE_GEN0: () => DOTNET_GC_HEAP_GENERATION_VALUE_GEN0,
DOTNET_GC_HEAP_GENERATION_VALUE_GEN1: () => DOTNET_GC_HEAP_GENERATION_VALUE_GEN1,
DOTNET_GC_HEAP_GENERATION_VALUE_GEN2: () => DOTNET_GC_HEAP_GENERATION_VALUE_GEN2,
DOTNET_GC_HEAP_GENERATION_VALUE_LOH: () => DOTNET_GC_HEAP_GENERATION_VALUE_LOH,
DOTNET_GC_HEAP_GENERATION_VALUE_POH: () => DOTNET_GC_HEAP_GENERATION_VALUE_POH,
DbCassandraConsistencyLevelValues: () => DbCassandraConsistencyLevelValues,
DbSystemValues: () => DbSystemValues,
ERROR_TYPE_VALUE_OTHER: () => ERROR_TYPE_VALUE_OTHER,
EVENT_EXCEPTION: () => EVENT_EXCEPTION,
FAASDOCUMENTOPERATIONVALUES_DELETE: () => FAASDOCUMENTOPERATIONVALUES_DELETE,
FAASDOCUMENTOPERATIONVALUES_EDIT: () => FAASDOCUMENTOPERATIONVALUES_EDIT,
FAASDOCUMENTOPERATIONVALUES_INSERT: () => FAASDOCUMENTOPERATIONVALUES_INSERT,
FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD: () => FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD,
FAASINVOKEDPROVIDERVALUES_AWS: () => FAASINVOKEDPROVIDERVALUES_AWS,
FAASINVOKEDPROVIDERVALUES_AZURE: () => FAASINVOKEDPROVIDERVALUES_AZURE,
FAASINVOKEDPROVIDERVALUES_GCP: () => FAASINVOKEDPROVIDERVALUES_GCP,
FAASTRIGGERVALUES_DATASOURCE: () => FAASTRIGGERVALUES_DATASOURCE,
FAASTRIGGERVALUES_HTTP: () => FAASTRIGGERVALUES_HTTP,
FAASTRIGGERVALUES_OTHER: () => FAASTRIGGERVALUES_OTHER,
FAASTRIGGERVALUES_PUBSUB: () => FAASTRIGGERVALUES_PUBSUB,
FAASTRIGGERVALUES_TIMER: () => FAASTRIGGERVALUES_TIMER,
FaasDocumentOperationValues: () => FaasDocumentOperationValues,
FaasInvokedProviderValues: () => FaasInvokedProviderValues,
FaasTriggerValues: () => FaasTriggerValues,
HOSTARCHVALUES_AMD64: () => HOSTARCHVALUES_AMD64,
HOSTARCHVALUES_ARM32: () => HOSTARCHVALUES_ARM32,
HOSTARCHVALUES_ARM64: () => HOSTARCHVALUES_ARM64,
HOSTARCHVALUES_IA64: () => HOSTARCHVALUES_IA64,
HOSTARCHVALUES_PPC32: () => HOSTARCHVALUES_PPC32,
HOSTARCHVALUES_PPC64: () => HOSTARCHVALUES_PPC64,
HOSTARCHVALUES_X86: () => HOSTARCHVALUES_X86,
HTTPFLAVORVALUES_HTTP_1_0: () => HTTPFLAVORVALUES_HTTP_1_0,
HTTPFLAVORVALUES_HTTP_1_1: () => HTTPFLAVORVALUES_HTTP_1_1,
HTTPFLAVORVALUES_HTTP_2_0: () => HTTPFLAVORVALUES_HTTP_2_0,
HTTPFLAVORVALUES_QUIC: () => HTTPFLAVORVALUES_QUIC,
HTTPFLAVORVALUES_SPDY: () => HTTPFLAVORVALUES_SPDY,
HTTP_REQUEST_METHOD_VALUE_CONNECT: () => HTTP_REQUEST_METHOD_VALUE_CONNECT,
HTTP_REQUEST_METHOD_VALUE_DELETE: () => HTTP_REQUEST_METHOD_VALUE_DELETE,
HTTP_REQUEST_METHOD_VALUE_GET: () => HTTP_REQUEST_METHOD_VALUE_GET,
HTTP_REQUEST_METHOD_VALUE_HEAD: () => HTTP_REQUEST_METHOD_VALUE_HEAD,
HTTP_REQUEST_METHOD_VALUE_OPTIONS: () => HTTP_REQUEST_METHOD_VALUE_OPTIONS,
HTTP_REQUEST_METHOD_VALUE_OTHER: () => HTTP_REQUEST_METHOD_VALUE_OTHER,
HTTP_REQUEST_METHOD_VALUE_PATCH: () => HTTP_REQUEST_METHOD_VALUE_PATCH,
HTTP_REQUEST_METHOD_VALUE_POST: () => HTTP_REQUEST_METHOD_VALUE_POST,
HTTP_REQUEST_METHOD_VALUE_PUT: () => HTTP_REQUEST_METHOD_VALUE_PUT,
HTTP_REQUEST_METHOD_VALUE_TRACE: () => HTTP_REQUEST_METHOD_VALUE_TRACE,
HostArchValues: () => HostArchValues,
HttpFlavorValues: () => HttpFlavorValues,
JVM_MEMORY_TYPE_VALUE_HEAP: () => JVM_MEMORY_TYPE_VALUE_HEAP,
JVM_MEMORY_TYPE_VALUE_NON_HEAP: () => JVM_MEMORY_TYPE_VALUE_NON_HEAP,
JVM_THREAD_STATE_VALUE_BLOCKED: () => JVM_THREAD_STATE_VALUE_BLOCKED,
JVM_THREAD_STATE_VALUE_NEW: () => JVM_THREAD_STATE_VALUE_NEW,
JVM_THREAD_STATE_VALUE_RUNNABLE: () => JVM_THREAD_STATE_VALUE_RUNNABLE,
JVM_THREAD_STATE_VALUE_TERMINATED: () => JVM_THREAD_STATE_VALUE_TERMINATED,
JVM_THREAD_STATE_VALUE_TIMED_WAITING: () => JVM_THREAD_STATE_VALUE_TIMED_WAITING,
JVM_THREAD_STATE_VALUE_WAITING: () => JVM_THREAD_STATE_VALUE_WAITING,
MESSAGETYPEVALUES_RECEIVED: () => MESSAGETYPEVALUES_RECEIVED,
MESSAGETYPEVALUES_SENT: () => MESSAGETYPEVALUES_SENT,
MESSAGINGDESTINATIONKINDVALUES_QUEUE: () => MESSAGINGDESTINATIONKINDVALUES_QUEUE,
MESSAGINGDESTINATIONKINDVALUES_TOPIC: () => MESSAGINGDESTINATIONKINDVALUES_TOPIC,
MESSAGINGOPERATIONVALUES_PROCESS: () => MESSAGINGOPERATIONVALUES_PROCESS,
MESSAGINGOPERATIONVALUES_RECEIVE: () => MESSAGINGOPERATIONVALUES_RECEIVE,
METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS: () => METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS,
METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES: () => METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES,
METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS: () => METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS,
METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS: () => METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS,
METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION: () => METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION,
METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE: () => METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE,
METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS: () => METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS,
METRIC_DB_CLIENT_OPERATION_DURATION: () => METRIC_DB_CLIENT_OPERATION_DURATION,
METRIC_DOTNET_ASSEMBLY_COUNT: () => METRIC_DOTNET_ASSEMBLY_COUNT,
METRIC_DOTNET_EXCEPTIONS: () => METRIC_DOTNET_EXCEPTIONS,
METRIC_DOTNET_GC_COLLECTIONS: () => METRIC_DOTNET_GC_COLLECTIONS,
METRIC_DOTNET_GC_HEAP_TOTAL_ALLOCATED: () => METRIC_DOTNET_GC_HEAP_TOTAL_ALLOCATED,
METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE: () => METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE,
METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_SIZE: () => METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_SIZE,
METRIC_DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE: () => METRIC_DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE,
METRIC_DOTNET_GC_PAUSE_TIME: () => METRIC_DOTNET_GC_PAUSE_TIME,
METRIC_DOTNET_JIT_COMPILATION_TIME: () => METRIC_DOTNET_JIT_COMPILATION_TIME,
METRIC_DOTNET_JIT_COMPILED_IL_SIZE: () => METRIC_DOTNET_JIT_COMPILED_IL_SIZE,
METRIC_DOTNET_JIT_COMPILED_METHODS: () => METRIC_DOTNET_JIT_COMPILED_METHODS,
METRIC_DOTNET_MONITOR_LOCK_CONTENTIONS: () => METRIC_DOTNET_MONITOR_LOCK_CONTENTIONS,
METRIC_DOTNET_PROCESS_CPU_COUNT: () => METRIC_DOTNET_PROCESS_CPU_COUNT,
METRIC_DOTNET_PROCESS_CPU_TIME: () => METRIC_DOTNET_PROCESS_CPU_TIME,
METRIC_DOTNET_PROCESS_MEMORY_WORKING_SET: () => METRIC_DOTNET_PROCESS_MEMORY_WORKING_SET,
METRIC_DOTNET_THREAD_POOL_QUEUE_LENGTH: () => METRIC_DOTNET_THREAD_POOL_QUEUE_LENGTH,
METRIC_DOTNET_THREAD_POOL_THREAD_COUNT: () => METRIC_DOTNET_THREAD_POOL_THREAD_COUNT,
METRIC_DOTNET_THREAD_POOL_WORK_ITEM_COUNT: () => METRIC_DOTNET_THREAD_POOL_WORK_ITEM_COUNT,
METRIC_DOTNET_TIMER_COUNT: () => METRIC_DOTNET_TIMER_COUNT,
METRIC_HTTP_CLIENT_REQUEST_DURATION: () => METRIC_HTTP_CLIENT_REQUEST_DURATION,
METRIC_HTTP_SERVER_REQUEST_DURATION: () => METRIC_HTTP_SERVER_REQUEST_DURATION,
METRIC_JVM_CLASS_COUNT: () => METRIC_JVM_CLASS_COUNT,
METRIC_JVM_CLASS_LOADED: () => METRIC_JVM_CLASS_LOADED,
METRIC_JVM_CLASS_UNLOADED: () => METRIC_JVM_CLASS_UNLOADED,
METRIC_JVM_CPU_COUNT: () => METRIC_JVM_CPU_COUNT,
METRIC_JVM_CPU_RECENT_UTILIZATION: () => METRIC_JVM_CPU_RECENT_UTILIZATION,
METRIC_JVM_CPU_TIME: () => METRIC_JVM_CPU_TIME,
METRIC_JVM_GC_DURATION: () => METRIC_JVM_GC_DURATION,
METRIC_JVM_MEMORY_COMMITTED: () => METRIC_JVM_MEMORY_COMMITTED,
METRIC_JVM_MEMORY_LIMIT: () => METRIC_JVM_MEMORY_LIMIT,
METRIC_JVM_MEMORY_USED: () => METRIC_JVM_MEMORY_USED,
METRIC_JVM_MEMORY_USED_AFTER_LAST_GC: () => METRIC_JVM_MEMORY_USED_AFTER_LAST_GC,
METRIC_JVM_THREAD_COUNT: () => METRIC_JVM_THREAD_COUNT,
METRIC_KESTREL_ACTIVE_CONNECTIONS: () => METRIC_KESTREL_ACTIVE_CONNECTIONS,
METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES: () => METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES,
METRIC_KESTREL_CONNECTION_DURATION: () => METRIC_KESTREL_CONNECTION_DURATION,
METRIC_KESTREL_QUEUED_CONNECTIONS: () => METRIC_KESTREL_QUEUED_CONNECTIONS,
METRIC_KESTREL_QUEUED_REQUESTS: () => METRIC_KESTREL_QUEUED_REQUESTS,
METRIC_KESTREL_REJECTED_CONNECTIONS: () => METRIC_KESTREL_REJECTED_CONNECTIONS,
METRIC_KESTREL_TLS_HANDSHAKE_DURATION: () => METRIC_KESTREL_TLS_HANDSHAKE_DURATION,
METRIC_KESTREL_UPGRADED_CONNECTIONS: () => METRIC_KESTREL_UPGRADED_CONNECTIONS,
METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS: () => METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS,
METRIC_SIGNALR_SERVER_CONNECTION_DURATION: () => METRIC_SIGNALR_SERVER_CONNECTION_DURATION,
MessageTypeValues: () => MessageTypeValues,
MessagingDestinationKindValues: () => MessagingDestinationKindValues,
MessagingOperationValues: () => MessagingOperationValues,
NETHOSTCONNECTIONSUBTYPEVALUES_CDMA: () => NETHOSTCONNECTIONSUBTYPEVALUES_CDMA,
NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT: () => NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT,
NETHOSTCONNECTIONSUBTYPEVALUES_EDGE: () => NETHOSTCONNECTIONSUBTYPEVALUES_EDGE,
NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD: () => NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD,
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0: () => NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0,
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A: () => NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A,
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B: () => NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B,
NETHOSTCONNECTIONSUBTYPEVALUES_GPRS: () => NETHOSTCONNECTIONSUBTYPEVALUES_GPRS,
NETHOSTCONNECTIONSUBTYPEVALUES_GSM: () => NETHOSTCONNECTIONSUBTYPEVALUES_GSM,
NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA: () => NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA,
NETHOSTCONNECTIONSUBTYPEVALUES_HSPA: () => NETHOSTCONNECTIONSUBTYPEVALUES_HSPA,
NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP: () => NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP,
NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA: () => NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA,
NETHOSTCONNECTIONSUBTYPEVALUES_IDEN: () => NETHOSTCONNECTIONSUBTYPEVALUES_IDEN,
NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN: () => NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN,
NETHOSTCONNECTIONSUBTYPEVALUES_LTE: () => NETHOSTCONNECTIONSUBTYPEVALUES_LTE,
NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA: () => NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA,
NETHOSTCONNECTIONSUBTYPEVALUES_NR: () => NETHOSTCONNECTIONSUBTYPEVALUES_NR,
NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA: () => NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA,
NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA: () => NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA,
NETHOSTCONNECTIONSUBTYPEVALUES_UMTS: () => NETHOSTCONNECTIONSUBTYPEVALUES_UMTS,
NETHOSTCONNECTIONTYPEVALUES_CELL: () => NETHOSTCONNECTIONTYPEVALUES_CELL,
NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE: () => NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE,
NETHOSTCONNECTIONTYPEVALUES_UNKNOWN: () => NETHOSTCONNECTIONTYPEVALUES_UNKNOWN,
NETHOSTCONNECTIONTYPEVALUES_WIFI: () => NETHOSTCONNECTIONTYPEVALUES_WIFI,
NETHOSTCONNECTIONTYPEVALUES_WIRED: () => NETHOSTCONNECTIONTYPEVALUES_WIRED,
NETTRANSPORTVALUES_INPROC: () => NETTRANSPORTVALUES_INPROC,
NETTRANSPORTVALUES_IP: () => NETTRANSPORTVALUES_IP,
NETTRANSPORTVALUES_IP_TCP: () => NETTRANSPORTVALUES_IP_TCP,
NETTRANSPORTVALUES_IP_UDP: () => NETTRANSPORTVALUES_IP_UDP,
NETTRANSPORTVALUES_OTHER: () => NETTRANSPORTVALUES_OTHER,
NETTRANSPORTVALUES_PIPE: () => NETTRANSPORTVALUES_PIPE,
NETTRANSPORTVALUES_UNIX: () => NETTRANSPORTVALUES_UNIX,
NETWORK_TRANSPORT_VALUE_PIPE: () => NETWORK_TRANSPORT_VALUE_PIPE,
NETWORK_TRANSPORT_VALUE_QUIC: () => NETWORK_TRANSPORT_VALUE_QUIC,
NETWORK_TRANSPORT_VALUE_TCP: () => NETWORK_TRANSPORT_VALUE_TCP,
NETWORK_TRANSPORT_VALUE_UDP: () => NETWORK_TRANSPORT_VALUE_UDP,
NETWORK_TRANSPORT_VALUE_UNIX: () => NETWORK_TRANSPORT_VALUE_UNIX,
NETWORK_TYPE_VALUE_IPV4: () => NETWORK_TYPE_VALUE_IPV4,
NETWORK_TYPE_VALUE_IPV6: () => NETWORK_TYPE_VALUE_IPV6,
NetHostConnectionSubtypeValues: () => NetHostConnectionSubtypeValues,
NetHostConnectionTypeValues: () => NetHostConnectionTypeValues,
NetTransportValues: () => NetTransportValues,
OSTYPEVALUES_AIX: () => OSTYPEVALUES_AIX,
OSTYPEVALUES_DARWIN: () => OSTYPEVALUES_DARWIN,
OSTYPEVALUES_DRAGONFLYBSD: () => OSTYPEVALUES_DRAGONFLYBSD,
OSTYPEVALUES_FREEBSD: () => OSTYPEVALUES_FREEBSD,
OSTYPEVALUES_HPUX: () => OSTYPEVALUES_HPUX,
OSTYPEVALUES_LINUX: () => OSTYPEVALUES_LINUX,
OSTYPEVALUES_NETBSD: () => OSTYPEVALUES_NETBSD,
OSTYPEVALUES_OPENBSD: () => OSTYPEVALUES_OPENBSD,
OSTYPEVALUES_SOLARIS: () => OSTYPEVALUES_SOLARIS,
OSTYPEVALUES_WINDOWS: () => OSTYPEVALUES_WINDOWS,
OSTYPEVALUES_Z_OS: () => OSTYPEVALUES_Z_OS,
OTEL_STATUS_CODE_VALUE_ERROR: () => OTEL_STATUS_CODE_VALUE_ERROR,
OTEL_STATUS_CODE_VALUE_OK: () => OTEL_STATUS_CODE_VALUE_OK,
OsTypeValues: () => OsTypeValues,
RPCGRPCSTATUSCODEVALUES_ABORTED: () => RPCGRPCSTATUSCODEVALUES_ABORTED,
RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS: () => RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS,
RPCGRPCSTATUSCODEVALUES_CANCELLED: () => RPCGRPCSTATUSCODEVALUES_CANCELLED,
RPCGRPCSTATUSCODEVALUES_DATA_LOSS: () => RPCGRPCSTATUSCODEVALUES_DATA_LOSS,
RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED: () => RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED,
RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION: () => RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION,
RPCGRPCSTATUSCODEVALUES_INTERNAL: () => RPCGRPCSTATUSCODEVALUES_INTERNAL,
RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT: () => RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT,
RPCGRPCSTATUSCODEVALUES_NOT_FOUND: () => RPCGRPCSTATUSCODEVALUES_NOT_FOUND,
RPCGRPCSTATUSCODEVALUES_OK: () => RPCGRPCSTATUSCODEVALUES_OK,
RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE: () => RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE,
RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED: () => RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED,
RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED: () => RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED,
RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED: () => RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED,
RPCGRPCSTATUSCODEVALUES_UNAVAILABLE: () => RPCGRPCSTATUSCODEVALUES_UNAVAILABLE,
RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED: () => RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED,
RPCGRPCSTATUSCODEVALUES_UNKNOWN: () => RPCGRPCSTATUSCODEVALUES_UNKNOWN,
RpcGrpcStatusCodeValues: () => RpcGrpcStatusCodeValues,
SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET: () => SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET,
SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: () => SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS,
SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ: () => SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ,
SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY: () => SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY,
SEMATTRS_AWS_DYNAMODB_COUNT: () => SEMATTRS_AWS_DYNAMODB_COUNT,
SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE: () => SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE,
SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: () => SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES,
SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: () => SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES,
SEMATTRS_AWS_DYNAMODB_INDEX_NAME: () => SEMATTRS_AWS_DYNAMODB_INDEX_NAME,
SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS: () => SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS,
SEMATTRS_AWS_DYNAMODB_LIMIT: () => SEMATTRS_AWS_DYNAMODB_LIMIT,
SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: () => SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES,
SEMATTRS_AWS_DYNAMODB_PROJECTION: () => SEMATTRS_AWS_DYNAMODB_PROJECTION,
SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: () => SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY,
SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: () => SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY,
SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT: () => SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT,
SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD: () => SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD,
SEMATTRS_AWS_DYNAMODB_SEGMENT: () => SEMATTRS_AWS_DYNAMODB_SEGMENT,
SEMATTRS_AWS_DYNAMODB_SELECT: () => SEMATTRS_AWS_DYNAMODB_SELECT,
SEMATTRS_AWS_DYNAMODB_TABLE_COUNT: () => SEMATTRS_AWS_DYNAMODB_TABLE_COUNT,
SEMATTRS_AWS_DYNAMODB_TABLE_NAMES: () => SEMATTRS_AWS_DYNAMODB_TABLE_NAMES,
SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS: () => SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS,
SEMATTRS_AWS_LAMBDA_INVOKED_ARN: () => SEMATTRS_AWS_LAMBDA_INVOKED_ARN,
SEMATTRS_CODE_FILEPATH: () => SEMATTRS_CODE_FILEPATH,
SEMATTRS_CODE_FUNCTION: () => SEMATTRS_CODE_FUNCTION,
SEMATTRS_CODE_LINENO: () => SEMATTRS_CODE_LINENO,
SEMATTRS_CODE_NAMESPACE: () => SEMATTRS_CODE_NAMESPACE,
SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL: () => SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL,
SEMATTRS_DB_CASSANDRA_COORDINATOR_DC: () => SEMATTRS_DB_CASSANDRA_COORDINATOR_DC,
SEMATTRS_DB_CASSANDRA_COORDINATOR_ID: () => SEMATTRS_DB_CASSANDRA_COORDINATOR_ID,
SEMATTRS_DB_CASSANDRA_IDEMPOTENCE: () => SEMATTRS_DB_CASSANDRA_IDEMPOTENCE,
SEMATTRS_DB_CASSANDRA_KEYSPACE: () => SEMATTRS_DB_CASSANDRA_KEYSPACE,
SEMATTRS_DB_CASSANDRA_PAGE_SIZE: () => SEMATTRS_DB_CASSANDRA_PAGE_SIZE,
SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: () => SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT,
SEMATTRS_DB_CASSANDRA_TABLE: () => SEMATTRS_DB_CASSANDRA_TABLE,
SEMATTRS_DB_CONNECTION_STRING: () => SEMATTRS_DB_CONNECTION_STRING,
SEMATTRS_DB_HBASE_NAMESPACE: () => SEMATTRS_DB_HBASE_NAMESPACE,
SEMATTRS_DB_JDBC_DRIVER_CLASSNAME: () => SEMATTRS_DB_JDBC_DRIVER_CLASSNAME,
SEMATTRS_DB_MONGODB_COLLECTION: () => SEMATTRS_DB_MONGODB_COLLECTION,
SEMATTRS_DB_MSSQL_INSTANCE_NAME: () => SEMATTRS_DB_MSSQL_INSTANCE_NAME,
SEMATTRS_DB_NAME: () => SEMATTRS_DB_NAME,
SEMATTRS_DB_OPERATION: () => SEMATTRS_DB_OPERATION,
SEMATTRS_DB_REDIS_DATABASE_INDEX: () => SEMATTRS_DB_REDIS_DATABASE_INDEX,
SEMATTRS_DB_SQL_TABLE: () => SEMATTRS_DB_SQL_TABLE,
SEMATTRS_DB_STATEMENT: () => SEMATTRS_DB_STATEMENT,
SEMATTRS_DB_SYSTEM: () => SEMATTRS_DB_SYSTEM,
SEMATTRS_DB_USER: () => SEMATTRS_DB_USER,
SEMATTRS_ENDUSER_ID: () => SEMATTRS_ENDUSER_ID,
SEMATTRS_ENDUSER_ROLE: () => SEMATTRS_ENDUSER_ROLE,
SEMATTRS_ENDUSER_SCOPE: () => SEMATTRS_ENDUSER_SCOPE,
SEMATTRS_EXCEPTION_ESCAPED: () => SEMATTRS_EXCEPTION_ESCAPED,
SEMATTRS_EXCEPTION_MESSAGE: () => SEMATTRS_EXCEPTION_MESSAGE,
SEMATTRS_EXCEPTION_STACKTRACE: () => SEMATTRS_EXCEPTION_STACKTRACE,
SEMATTRS_EXCEPTION_TYPE: () => SEMATTRS_EXCEPTION_TYPE,
SEMATTRS_FAAS_COLDSTART: () => SEMATTRS_FAAS_COLDSTART,
SEMATTRS_FAAS_CRON: () => SEMATTRS_FAAS_CRON,
SEMATTRS_FAAS_DOCUMENT_COLLECTION: () => SEMATTRS_FAAS_DOCUMENT_COLLECTION,
SEMATTRS_FAAS_DOCUMENT_NAME: () => SEMATTRS_FAAS_DOCUMENT_NAME,
SEMATTRS_FAAS_DOCUMENT_OPERATION: () => SEMATTRS_FAAS_DOCUMENT_OPERATION,
SEMATTRS_FAAS_DOCUMENT_TIME: () => SEMATTRS_FAAS_DOCUMENT_TIME,
SEMATTRS_FAAS_EXECUTION: () => SEMATTRS_FAAS_EXECUTION,
SEMATTRS_FAAS_INVOKED_NAME: () => SEMATTRS_FAAS_INVOKED_NAME,
SEMATTRS_FAAS_INVOKED_PROVIDER: () => SEMATTRS_FAAS_INVOKED_PROVIDER,
SEMATTRS_FAAS_INVOKED_REGION: () => SEMATTRS_FAAS_INVOKED_REGION,
SEMATTRS_FAAS_TIME: () => SEMATTRS_FAAS_TIME,
SEMATTRS_FAAS_TRIGGER: () => SEMATTRS_FAAS_TRIGGER,
SEMATTRS_HTTP_CLIENT_IP: () => SEMATTRS_HTTP_CLIENT_IP,
SEMATTRS_HTTP_FLAVOR: () => SEMATTRS_HTTP_FLAVOR,
SEMATTRS_HTTP_HOST: () => SEMATTRS_HTTP_HOST,
SEMATTRS_HTTP_METHOD: () => SEMATTRS_HTTP_METHOD,
SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH: () => SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH,
SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: () => SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED,
SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH: () => SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH,
SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: () => SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED,
SEMATTRS_HTTP_ROUTE: () => SEMATTRS_HTTP_ROUTE,
SEMATTRS_HTTP_SCHEME: () => SEMATTRS_HTTP_SCHEME,
SEMATTRS_HTTP_SERVER_NAME: () => SEMATTRS_HTTP_SERVER_NAME,
SEMATTRS_HTTP_STATUS_CODE: () => SEMATTRS_HTTP_STATUS_CODE,
SEMATTRS_HTTP_TARGET: () => SEMATTRS_HTTP_TARGET,
SEMATTRS_HTTP_URL: () => SEMATTRS_HTTP_URL,
SEMATTRS_HTTP_USER_AGENT: () => SEMATTRS_HTTP_USER_AGENT,
SEMATTRS_MESSAGE_COMPRESSED_SIZE: () => SEMATTRS_MESSAGE_COMPRESSED_SIZE,
SEMATTRS_MESSAGE_ID: () => SEMATTRS_MESSAGE_ID,
SEMATTRS_MESSAGE_TYPE: () => SEMATTRS_MESSAGE_TYPE,
SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE: () => SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE,
SEMATTRS_MESSAGING_CONSUMER_ID: () => SEMATTRS_MESSAGING_CONSUMER_ID,
SEMATTRS_MESSAGING_CONVERSATION_ID: () => SEMATTRS_MESSAGING_CONVERSATION_ID,
SEMATTRS_MESSAGING_DESTINATION: () => SEMATTRS_MESSAGING_DESTINATION,
SEMATTRS_MESSAGING_DESTINATION_KIND: () => SEMATTRS_MESSAGING_DESTINATION_KIND,
SEMATTRS_MESSAGING_KAFKA_CLIENT_ID: () => SEMATTRS_MESSAGING_KAFKA_CLIENT_ID,
SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP: () => SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP,
SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY: () => SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY,
SEMATTRS_MESSAGING_KAFKA_PARTITION: () => SEMATTRS_MESSAGING_KAFKA_PARTITION,
SEMATTRS_MESSAGING_KAFKA_TOMBSTONE: () => SEMATTRS_MESSAGING_KAFKA_TOMBSTONE,
SEMATTRS_MESSAGING_MESSAGE_ID: () => SEMATTRS_MESSAGING_MESSAGE_ID,
SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: () => SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES,
SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: () => SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES,
SEMATTRS_MESSAGING_OPERATION: () => SEMATTRS_MESSAGING_OPERATION,
SEMATTRS_MESSAGING_PROTOCOL: () => SEMATTRS_MESSAGING_PROTOCOL,
SEMATTRS_MESSAGING_PROTOCOL_VERSION: () => SEMATTRS_MESSAGING_PROTOCOL_VERSION,
SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY: () => SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY,
SEMATTRS_MESSAGING_SYSTEM: () => SEMATTRS_MESSAGING_SYSTEM,
SEMATTRS_MESSAGING_TEMP_DESTINATION: () => SEMATTRS_MESSAGING_TEMP_DESTINATION,
SEMATTRS_MESSAGING_URL: () => SEMATTRS_MESSAGING_URL,
SEMATTRS_NET_HOST_CARRIER_ICC: () => SEMATTRS_NET_HOST_CARRIER_ICC,
SEMATTRS_NET_HOST_CARRIER_MCC: () => SEMATTRS_NET_HOST_CARRIER_MCC,
SEMATTRS_NET_HOST_CARRIER_MNC: () => SEMATTRS_NET_HOST_CARRIER_MNC,
SEMATTRS_NET_HOST_CARRIER_NAME: () => SEMATTRS_NET_HOST_CARRIER_NAME,
SEMATTRS_NET_HOST_CONNECTION_SUBTYPE: () => SEMATTRS_NET_HOST_CONNECTION_SUBTYPE,
SEMATTRS_NET_HOST_CONNECTION_TYPE: () => SEMATTRS_NET_HOST_CONNECTION_TYPE,
SEMATTRS_NET_HOST_IP: () => SEMATTRS_NET_HOST_IP,
SEMATTRS_NET_HOST_NAME: () => SEMATTRS_NET_HOST_NAME,
SEMATTRS_NET_HOST_PORT: () => SEMATTRS_NET_HOST_PORT,
SEMATTRS_NET_PEER_IP: () => SEMATTRS_NET_PEER_IP,
SEMATTRS_NET_PEER_NAME: () => SEMATTRS_NET_PEER_NAME,
SEMATTRS_NET_PEER_PORT: () => SEMATTRS_NET_PEER_PORT,
SEMATTRS_NET_TRANSPORT: () => SEMATTRS_NET_TRANSPORT,
SEMATTRS_PEER_SERVICE: () => SEMATTRS_PEER_SERVICE,
SEMATTRS_RPC_GRPC_STATUS_CODE: () => SEMATTRS_RPC_GRPC_STATUS_CODE,
SEMATTRS_RPC_JSONRPC_ERROR_CODE: () => SEMATTRS_RPC_JSONRPC_ERROR_CODE,
SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE: () => SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE,
SEMATTRS_RPC_JSONRPC_REQUEST_ID: () => SEMATTRS_RPC_JSONRPC_REQUEST_ID,
SEMATTRS_RPC_JSONRPC_VERSION: () => SEMATTRS_RPC_JSONRPC_VERSION,
SEMATTRS_RPC_METHOD: () => SEMATTRS_RPC_METHOD,
SEMATTRS_RPC_SERVICE: () => SEMATTRS_RPC_SERVICE,
SEMATTRS_RPC_SYSTEM: () => SEMATTRS_RPC_SYSTEM,
SEMATTRS_THREAD_ID: () => SEMATTRS_THREAD_ID,
SEMATTRS_THREAD_NAME: () => SEMATTRS_THREAD_NAME,
SEMRESATTRS_AWS_ECS_CLUSTER_ARN: () => SEMRESATTRS_AWS_ECS_CLUSTER_ARN,
SEMRESATTRS_AWS_ECS_CONTAINER_ARN: () => SEMRESATTRS_AWS_ECS_CONTAINER_ARN,
SEMRESATTRS_AWS_ECS_LAUNCHTYPE: () => SEMRESATTRS_AWS_ECS_LAUNCHTYPE,
SEMRESATTRS_AWS_ECS_TASK_ARN: () => SEMRESATTRS_AWS_ECS_TASK_ARN,
SEMRESATTRS_AWS_ECS_TASK_FAMILY: () => SEMRESATTRS_AWS_ECS_TASK_FAMILY,
SEMRESATTRS_AWS_ECS_TASK_REVISION: () => SEMRESATTRS_AWS_ECS_TASK_REVISION,
SEMRESATTRS_AWS_EKS_CLUSTER_ARN: () => SEMRESATTRS_AWS_EKS_CLUSTER_ARN,
SEMRESATTRS_AWS_LOG_GROUP_ARNS: () => SEMRESATTRS_AWS_LOG_GROUP_ARNS,
SEMRESATTRS_AWS_LOG_GROUP_NAMES: () => SEMRESATTRS_AWS_LOG_GROUP_NAMES,
SEMRESATTRS_AWS_LOG_STREAM_ARNS: () => SEMRESATTRS_AWS_LOG_STREAM_ARNS,
SEMRESATTRS_AWS_LOG_STREAM_NAMES: () => SEMRESATTRS_AWS_LOG_STREAM_NAMES,
SEMRESATTRS_CLOUD_ACCOUNT_ID: () => SEMRESATTRS_CLOUD_ACCOUNT_ID,
SEMRESATTRS_CLOUD_AVAILABILITY_ZONE: () => SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
SEMRESATTRS_CLOUD_PLATFORM: () => SEMRESATTRS_CLOUD_PLATFORM,
SEMRESATTRS_CLOUD_PROVIDER: () => SEMRESATTRS_CLOUD_PROVIDER,
SEMRESATTRS_CLOUD_REGION: () => SEMRESATTRS_CLOUD_REGION,
SEMRESATTRS_CONTAINER_ID: () => SEMRESATTRS_CONTAINER_ID,
SEMRESATTRS_CONTAINER_IMAGE_NAME: () => SEMRESATTRS_CONTAINER_IMAGE_NAME,
SEMRESATTRS_CONTAINER_IMAGE_TAG: () => SEMRESATTRS_CONTAINER_IMAGE_TAG,
SEMRESATTRS_CONTAINER_NAME: () => SEMRESATTRS_CONTAINER_NAME,
SEMRESATTRS_CONTAINER_RUNTIME: () => SEMRESATTRS_CONTAINER_RUNTIME,
SEMRESATTRS_DEPLOYMENT_ENVIRONMENT: () => SEMRESATTRS_DEPLOYMENT_ENVIRONMENT,
SEMRESATTRS_DEVICE_ID: () => SEMRESATTRS_DEVICE_ID,
SEMRESATTRS_DEVICE_MODEL_IDENTIFIER: () => SEMRESATTRS_DEVICE_MODEL_IDENTIFIER,
SEMRESATTRS_DEVICE_MODEL_NAME: () => SEMRESATTRS_DEVICE_MODEL_NAME,
SEMRESATTRS_FAAS_ID: () => SEMRESATTRS_FAAS_ID,
SEMRESATTRS_FAAS_INSTANCE: () => SEMRESATTRS_FAAS_INSTANCE,
SEMRESATTRS_FAAS_MAX_MEMORY: () => SEMRESATTRS_FAAS_MAX_MEMORY,
SEMRESATTRS_FAAS_NAME: () => SEMRESATTRS_FAAS_NAME,
SEMRESATTRS_FAAS_VERSION: () => SEMRESATTRS_FAAS_VERSION,
SEMRESATTRS_HOST_ARCH: () => SEMRESATTRS_HOST_ARCH,
SEMRESATTRS_HOST_ID: () => SEMRESATTRS_HOST_ID,
SEMRESATTRS_HOST_IMAGE_ID: () => SEMRESATTRS_HOST_IMAGE_ID,
SEMRESATTRS_HOST_IMAGE_NAME: () => SEMRESATTRS_HOST_IMAGE_NAME,
SEMRESATTRS_HOST_IMAGE_VERSION: () => SEMRESATTRS_HOST_IMAGE_VERSION,
SEMRESATTRS_HOST_NAME: () => SEMRESATTRS_HOST_NAME,
SEMRESATTRS_HOST_TYPE: () => SEMRESATTRS_HOST_TYPE,
SEMRESATTRS_K8S_CLUSTER_NAME: () => SEMRESATTRS_K8S_CLUSTER_NAME,
SEMRESATTRS_K8S_CONTAINER_NAME: () => SEMRESATTRS_K8S_CONTAINER_NAME,
SEMRESATTRS_K8S_CRONJOB_NAME: () => SEMRESATTRS_K8S_CRONJOB_NAME,
SEMRESATTRS_K8S_CRONJOB_UID: () => SEMRESATTRS_K8S_CRONJOB_UID,
SEMRESATTRS_K8S_DAEMONSET_NAME: () => SEMRESATTRS_K8S_DAEMONSET_NAME,
SEMRESATTRS_K8S_DAEMONSET_UID: () => SEMRESATTRS_K8S_DAEMONSET_UID,
SEMRESATTRS_K8S_DEPLOYMENT_NAME: () => SEMRESATTRS_K8S_DEPLOYMENT_NAME,
SEMRESATTRS_K8S_DEPLOYMENT_UID: () => SEMRESATTRS_K8S_DEPLOYMENT_UID,
SEMRESATTRS_K8S_JOB_NAME: () => SEMRESATTRS_K8S_JOB_NAME,
SEMRESATTRS_K8S_JOB_UID: () => SEMRESATTRS_K8S_JOB_UID,
SEMRESATTRS_K8S_NAMESPACE_NAME: () => SEMRESATTRS_K8S_NAMESPACE_NAME,
SEMRESATTRS_K8S_NODE_NAME: () => SEMRESATTRS_K8S_NODE_NAME,
SEMRESATTRS_K8S_NODE_UID: () => SEMRESATTRS_K8S_NODE_UID,
SEMRESATTRS_K8S_POD_NAME: () => SEMRESATTRS_K8S_POD_NAME,
SEMRESATTRS_K8S_POD_UID: () => SEMRESATTRS_K8S_POD_UID,
SEMRESATTRS_K8S_REPLICASET_NAME: () => SEMRESATTRS_K8S_REPLICASET_NAME,
SEMRESATTRS_K8S_REPLICASET_UID: () => SEMRESATTRS_K8S_REPLICASET_UID,
SEMRESATTRS_K8S_STATEFULSET_NAME: () => SEMRESATTRS_K8S_STATEFULSET_NAME,
SEMRESATTRS_K8S_STATEFULSET_UID: () => SEMRESATTRS_K8S_STATEFULSET_UID,
SEMRESATTRS_OS_DESCRIPTION: () => SEMRESATTRS_OS_DESCRIPTION,
SEMRESATTRS_OS_NAME: () => SEMRESATTRS_OS_NAME,
SEMRESATTRS_OS_TYPE: () => SEMRESATTRS_OS_TYPE,
SEMRESATTRS_OS_VERSION: () => SEMRESATTRS_OS_VERSION,
SEMRESATTRS_PROCESS_COMMAND: () => SEMRESATTRS_PROCESS_COMMAND,
SEMRESATTRS_PROCESS_COMMAND_ARGS: () => SEMRESATTRS_PROCESS_COMMAND_ARGS,
SEMRESATTRS_PROCESS_COMMAND_LINE: () => SEMRESATTRS_PROCESS_COMMAND_LINE,
SEMRESATTRS_PROCESS_EXECUTABLE_NAME: () => SEMRESATTRS_PROCESS_EXECUTABLE_NAME,
SEMRESATTRS_PROCESS_EXECUTABLE_PATH: () => SEMRESATTRS_PROCESS_EXECUTABLE_PATH,
SEMRESATTRS_PROCESS_OWNER: () => SEMRESATTRS_PROCESS_OWNER,
SEMRESATTRS_PROCESS_PID: () => SEMRESATTRS_PROCESS_PID,
SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION: () => SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION,
SEMRESATTRS_PROCESS_RUNTIME_NAME: () => SEMRESATTRS_PROCESS_RUNTIME_NAME,
SEMRESATTRS_PROCESS_RUNTIME_VERSION: () => SEMRESATTRS_PROCESS_RUNTIME_VERSION,
SEMRESATTRS_SERVICE_INSTANCE_ID: () => SEMRESATTRS_SERVICE_INSTANCE_ID,
SEMRESATTRS_SERVICE_NAME: () => SEMRESATTRS_SERVICE_NAME,
SEMRESATTRS_SERVICE_NAMESPACE: () => SEMRESATTRS_SERVICE_NAMESPACE,
SEMRESATTRS_SERVICE_VERSION: () => SEMRESATTRS_SERVICE_VERSION,
SEMRESATTRS_TELEMETRY_AUTO_VERSION: () => SEMRESATTRS_TELEMETRY_AUTO_VERSION,
SEMRESATTRS_TELEMETRY_SDK_LANGUAGE: () => SEMRESATTRS_TELEMETRY_SDK_LANGUAGE,
SEMRESATTRS_TELEMETRY_SDK_NAME: () => SEMRESATTRS_TELEMETRY_SDK_NAME,
SEMRESATTRS_TELEMETRY_SDK_VERSION: () => SEMRESATTRS_TELEMETRY_SDK_VERSION,
SEMRESATTRS_WEBENGINE_DESCRIPTION: () => SEMRESATTRS_WEBENGINE_DESCRIPTION,
SEMRESATTRS_WEBENGINE_NAME: () => SEMRESATTRS_WEBENGINE_NAME,
SEMRESATTRS_WEBENGINE_VERSION: () => SEMRESATTRS_WEBENGINE_VERSION,
SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN: () => SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN,
SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE: () => SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE,
SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT: () => SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT,
SIGNALR_TRANSPORT_VALUE_LONG_POLLING: () => SIGNALR_TRANSPORT_VALUE_LONG_POLLING,
SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS: () => SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS,
SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS: () => SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS,
SemanticAttributes: () => SemanticAttributes,
SemanticResourceAttributes: () => SemanticResourceAttributes,
TELEMETRYSDKLANGUAGEVALUES_CPP: () => TELEMETRYSDKLANGUAGEVALUES_CPP,
TELEMETRYSDKLANGUAGEVALUES_DOTNET: () => TELEMETRYSDKLANGUAGEVALUES_DOTNET,
TELEMETRYSDKLANGUAGEVALUES_ERLANG: () => TELEMETRYSDKLANGUAGEVALUES_ERLANG,
TELEMETRYSDKLANGUAGEVALUES_GO: () => TELEMETRYSDKLANGUAGEVALUES_GO,
TELEMETRYSDKLANGUAGEVALUES_JAVA: () => TELEMETRYSDKLANGUAGEVALUES_JAVA,
TELEMETRYSDKLANGUAGEVALUES_NODEJS: () => TELEMETRYSDKLANGUAGEVALUES_NODEJS,
TELEMETRYSDKLANGUAGEVALUES_PHP: () => TELEMETRYSDKLANGUAGEVALUES_PHP,
TELEMETRYSDKLANGUAGEVALUES_PYTHON: () => TELEMETRYSDKLANGUAGEVALUES_PYTHON,
TELEMETRYSDKLANGUAGEVALUES_RUBY: () => TELEMETRYSDKLANGUAGEVALUES_RUBY,
TELEMETRYSDKLANGUAGEVALUES_WEBJS: () => TELEMETRYSDKLANGUAGEVALUES_WEBJS,
TELEMETRY_SDK_LANGUAGE_VALUE_CPP: () => TELEMETRY_SDK_LANGUAGE_VALUE_CPP,
TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET: () => TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET,
TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG: () => TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG,
TELEMETRY_SDK_LANGUAGE_VALUE_GO: () => TELEMETRY_SDK_LANGUAGE_VALUE_GO,
TELEMETRY_SDK_LANGUAGE_VALUE_JAVA: () => TELEMETRY_SDK_LANGUAGE_VALUE_JAVA,
TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS: () => TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS,
TELEMETRY_SDK_LANGUAGE_VALUE_PHP: () => TELEMETRY_SDK_LANGUAGE_VALUE_PHP,
TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON: () => TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON,
TELEMETRY_SDK_LANGUAGE_VALUE_RUBY: () => TELEMETRY_SDK_LANGUAGE_VALUE_RUBY,
TELEMETRY_SDK_LANGUAGE_VALUE_RUST: () => TELEMETRY_SDK_LANGUAGE_VALUE_RUST,
TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT: () => TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT,
TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS: () => TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS,
TelemetrySdkLanguageValues: () => TelemetrySdkLanguageValues
});
var init_esm2 = __esm({
"node_modules/@opentelemetry/semantic-conventions/build/esm/index.js"() {
init_trace();
init_resource();
init_stable_attributes();
init_stable_metrics();
init_stable_events();
}
});
// node_modules/@opentelemetry/api-logs/build/src/types/LogRecord.js
var require_LogRecord = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/types/LogRecord.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SeverityNumber = void 0;
var SeverityNumber;
(function(SeverityNumber2) {
SeverityNumber2[SeverityNumber2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
SeverityNumber2[SeverityNumber2["TRACE"] = 1] = "TRACE";
SeverityNumber2[SeverityNumber2["TRACE2"] = 2] = "TRACE2";
SeverityNumber2[SeverityNumber2["TRACE3"] = 3] = "TRACE3";
SeverityNumber2[SeverityNumber2["TRACE4"] = 4] = "TRACE4";
SeverityNumber2[SeverityNumber2["DEBUG"] = 5] = "DEBUG";
SeverityNumber2[SeverityNumber2["DEBUG2"] = 6] = "DEBUG2";
SeverityNumber2[SeverityNumber2["DEBUG3"] = 7] = "DEBUG3";
SeverityNumber2[SeverityNumber2["DEBUG4"] = 8] = "DEBUG4";
SeverityNumber2[SeverityNumber2["INFO"] = 9] = "INFO";
SeverityNumber2[SeverityNumber2["INFO2"] = 10] = "INFO2";
SeverityNumber2[SeverityNumber2["INFO3"] = 11] = "INFO3";
SeverityNumber2[SeverityNumber2["INFO4"] = 12] = "INFO4";
SeverityNumber2[SeverityNumber2["WARN"] = 13] = "WARN";
SeverityNumber2[SeverityNumber2["WARN2"] = 14] = "WARN2";
SeverityNumber2[SeverityNumber2["WARN3"] = 15] = "WARN3";
SeverityNumber2[SeverityNumber2["WARN4"] = 16] = "WARN4";
SeverityNumber2[SeverityNumber2["ERROR"] = 17] = "ERROR";
SeverityNumber2[SeverityNumber2["ERROR2"] = 18] = "ERROR2";
SeverityNumber2[SeverityNumber2["ERROR3"] = 19] = "ERROR3";
SeverityNumber2[SeverityNumber2["ERROR4"] = 20] = "ERROR4";
SeverityNumber2[SeverityNumber2["FATAL"] = 21] = "FATAL";
SeverityNumber2[SeverityNumber2["FATAL2"] = 22] = "FATAL2";
SeverityNumber2[SeverityNumber2["FATAL3"] = 23] = "FATAL3";
SeverityNumber2[SeverityNumber2["FATAL4"] = 24] = "FATAL4";
})(SeverityNumber = exports2.SeverityNumber || (exports2.SeverityNumber = {}));
}
});
// node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js
var require_NoopLogger = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NOOP_LOGGER = exports2.NoopLogger = void 0;
var NoopLogger = class {
emit(_logRecord) {
}
};
exports2.NoopLogger = NoopLogger;
exports2.NOOP_LOGGER = new NoopLogger();
}
});
// node_modules/@opentelemetry/api-logs/build/src/internal/global-utils.js
var require_global_utils = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/internal/global-utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.API_BACKWARDS_COMPATIBILITY_VERSION = exports2.makeGetter = exports2._global = exports2.GLOBAL_LOGS_API_KEY = void 0;
exports2.GLOBAL_LOGS_API_KEY = Symbol.for("io.opentelemetry.js.api.logs");
exports2._global = globalThis;
function makeGetter(requiredVersion, instance2, fallback) {
return (version4) => version4 === requiredVersion ? instance2 : fallback;
}
exports2.makeGetter = makeGetter;
exports2.API_BACKWARDS_COMPATIBILITY_VERSION = 1;
}
});
// node_modules/@opentelemetry/api-logs/build/src/NoopLoggerProvider.js
var require_NoopLoggerProvider = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/NoopLoggerProvider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NOOP_LOGGER_PROVIDER = exports2.NoopLoggerProvider = void 0;
var NoopLogger_1 = require_NoopLogger();
var NoopLoggerProvider = class {
getLogger(_name, _version, _options) {
return new NoopLogger_1.NoopLogger();
}
};
exports2.NoopLoggerProvider = NoopLoggerProvider;
exports2.NOOP_LOGGER_PROVIDER = new NoopLoggerProvider();
}
});
// node_modules/@opentelemetry/api-logs/build/src/ProxyLogger.js
var require_ProxyLogger = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/ProxyLogger.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProxyLogger = void 0;
var NoopLogger_1 = require_NoopLogger();
var ProxyLogger = class {
constructor(provider, name3, version4, options) {
this._provider = provider;
this.name = name3;
this.version = version4;
this.options = options;
}
/**
* Emit a log record. This method should only be used by log appenders.
*
* @param logRecord
*/
emit(logRecord) {
this._getLogger().emit(logRecord);
}
/**
* Try to get a logger from the proxy logger provider.
* If the proxy logger provider has no delegate, return a noop logger.
*/
_getLogger() {
if (this._delegate) {
return this._delegate;
}
const logger3 = this._provider._getDelegateLogger(this.name, this.version, this.options);
if (!logger3) {
return NoopLogger_1.NOOP_LOGGER;
}
this._delegate = logger3;
return this._delegate;
}
};
exports2.ProxyLogger = ProxyLogger;
}
});
// node_modules/@opentelemetry/api-logs/build/src/ProxyLoggerProvider.js
var require_ProxyLoggerProvider = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/ProxyLoggerProvider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProxyLoggerProvider = void 0;
var NoopLoggerProvider_1 = require_NoopLoggerProvider();
var ProxyLogger_1 = require_ProxyLogger();
var ProxyLoggerProvider = class {
getLogger(name3, version4, options) {
var _a4;
return (_a4 = this._getDelegateLogger(name3, version4, options)) !== null && _a4 !== void 0 ? _a4 : new ProxyLogger_1.ProxyLogger(this, name3, version4, options);
}
/**
* Get the delegate logger provider.
* Used by tests only.
* @internal
*/
_getDelegate() {
var _a4;
return (_a4 = this._delegate) !== null && _a4 !== void 0 ? _a4 : NoopLoggerProvider_1.NOOP_LOGGER_PROVIDER;
}
/**
* Set the delegate logger provider
* @internal
*/
_setDelegate(delegate) {
this._delegate = delegate;
}
/**
* @internal
*/
_getDelegateLogger(name3, version4, options) {
var _a4;
return (_a4 = this._delegate) === null || _a4 === void 0 ? void 0 : _a4.getLogger(name3, version4, options);
}
};
exports2.ProxyLoggerProvider = ProxyLoggerProvider;
}
});
// node_modules/@opentelemetry/api-logs/build/src/api/logs.js
var require_logs = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/api/logs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LogsAPI = void 0;
var global_utils_1 = require_global_utils();
var NoopLoggerProvider_1 = require_NoopLoggerProvider();
var ProxyLoggerProvider_1 = require_ProxyLoggerProvider();
var LogsAPI = class _LogsAPI {
constructor() {
this._proxyLoggerProvider = new ProxyLoggerProvider_1.ProxyLoggerProvider();
}
static getInstance() {
if (!this._instance) {
this._instance = new _LogsAPI();
}
return this._instance;
}
setGlobalLoggerProvider(provider) {
if (global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY]) {
return this.getLoggerProvider();
}
global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY] = (0, global_utils_1.makeGetter)(global_utils_1.API_BACKWARDS_COMPATIBILITY_VERSION, provider, NoopLoggerProvider_1.NOOP_LOGGER_PROVIDER);
this._proxyLoggerProvider._setDelegate(provider);
return provider;
}
/**
* Returns the global logger provider.
*
* @returns LoggerProvider
*/
getLoggerProvider() {
var _a4, _b;
return (_b = (_a4 = global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY]) === null || _a4 === void 0 ? void 0 : _a4.call(global_utils_1._global, global_utils_1.API_BACKWARDS_COMPATIBILITY_VERSION)) !== null && _b !== void 0 ? _b : this._proxyLoggerProvider;
}
/**
* Returns a logger from the global logger provider.
*
* @returns Logger
*/
getLogger(name3, version4, options) {
return this.getLoggerProvider().getLogger(name3, version4, options);
}
/** Remove the global logger provider */
disable() {
delete global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY];
this._proxyLoggerProvider = new ProxyLoggerProvider_1.ProxyLoggerProvider();
}
};
exports2.LogsAPI = LogsAPI;
}
});
// node_modules/@opentelemetry/api-logs/build/src/index.js
var require_src7 = __commonJS({
"node_modules/@opentelemetry/api-logs/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.logs = exports2.NoopLogger = exports2.NOOP_LOGGER = exports2.SeverityNumber = void 0;
var LogRecord_1 = require_LogRecord();
Object.defineProperty(exports2, "SeverityNumber", { enumerable: true, get: function() {
return LogRecord_1.SeverityNumber;
} });
var NoopLogger_1 = require_NoopLogger();
Object.defineProperty(exports2, "NOOP_LOGGER", { enumerable: true, get: function() {
return NoopLogger_1.NOOP_LOGGER;
} });
Object.defineProperty(exports2, "NoopLogger", { enumerable: true, get: function() {
return NoopLogger_1.NoopLogger;
} });
var logs_1 = require_logs();
exports2.logs = logs_1.LogsAPI.getInstance();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js
var OTLPExporterBase;
var init_OTLPExporterBase = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/OTLPExporterBase.js"() {
OTLPExporterBase = class {
_delegate;
constructor(delegate) {
this._delegate = delegate;
}
/**
* Export items.
* @param items
* @param resultCallback
*/
export(items, resultCallback) {
this._delegate.export(items, resultCallback);
}
forceFlush() {
return this._delegate.forceFlush();
}
shutdown() {
return this._delegate.shutdown();
}
};
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/types.js
var OTLPExporterError;
var init_types = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/types.js"() {
OTLPExporterError = class extends Error {
code;
name = "OTLPExporterError";
data;
constructor(message, code, data) {
super(message);
this.data = data;
this.code = code;
}
};
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.js
function validateTimeoutMillis(timeoutMillis) {
if (Number.isFinite(timeoutMillis) && timeoutMillis > 0) {
return timeoutMillis;
}
throw new Error(`Configuration: timeoutMillis is invalid, expected number greater than 0 (actual: '${timeoutMillis}')`);
}
function wrapStaticHeadersInFunction(headers) {
if (headers == null) {
return void 0;
}
return async () => headers;
}
function mergeOtlpSharedConfigurationWithDefaults(userProvidedConfiguration, fallbackConfiguration, defaultConfiguration) {
return {
timeoutMillis: validateTimeoutMillis(userProvidedConfiguration.timeoutMillis ?? fallbackConfiguration.timeoutMillis ?? defaultConfiguration.timeoutMillis),
concurrencyLimit: userProvidedConfiguration.concurrencyLimit ?? fallbackConfiguration.concurrencyLimit ?? defaultConfiguration.concurrencyLimit,
compression: userProvidedConfiguration.compression ?? fallbackConfiguration.compression ?? defaultConfiguration.compression
};
}
function getSharedConfigurationDefaults() {
return {
timeoutMillis: 1e4,
concurrencyLimit: 30,
compression: "none"
};
}
var init_shared_configuration = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-configuration.js"() {
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.js
var CompressionAlgorithm;
var init_legacy_node_configuration = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.js"() {
(function(CompressionAlgorithm2) {
CompressionAlgorithm2["NONE"] = "none";
CompressionAlgorithm2["GZIP"] = "gzip";
})(CompressionAlgorithm || (CompressionAlgorithm = {}));
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/bounded-queue-export-promise-handler.js
function createBoundedQueueExportPromiseHandler(options) {
return new BoundedQueueExportPromiseHandler(options.concurrencyLimit);
}
var BoundedQueueExportPromiseHandler;
var init_bounded_queue_export_promise_handler = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/bounded-queue-export-promise-handler.js"() {
BoundedQueueExportPromiseHandler = class {
_concurrencyLimit;
_sendingPromises = [];
/**
* @param concurrencyLimit maximum promises allowed in a queue at the same time.
*/
constructor(concurrencyLimit) {
this._concurrencyLimit = concurrencyLimit;
}
pushPromise(promise2) {
if (this.hasReachedLimit()) {
throw new Error("Concurrency Limit reached");
}
this._sendingPromises.push(promise2);
const popPromise = () => {
const index = this._sendingPromises.indexOf(promise2);
void this._sendingPromises.splice(index, 1);
};
promise2.then(popPromise, popPromise);
}
hasReachedLimit() {
return this._sendingPromises.length >= this._concurrencyLimit;
}
async awaitAll() {
await Promise.all(this._sendingPromises);
}
};
}
});
// node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js
var require_suppress_tracing = __commonJS({
"node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isTracingSuppressed = exports2.unsuppressTracing = exports2.suppressTracing = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var SUPPRESS_TRACING_KEY = (0, api_1.createContextKey)("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
function suppressTracing(context2) {
return context2.setValue(SUPPRESS_TRACING_KEY, true);
}
exports2.suppressTracing = suppressTracing;
function unsuppressTracing(context2) {
return context2.deleteValue(SUPPRESS_TRACING_KEY);
}
exports2.unsuppressTracing = unsuppressTracing;
function isTracingSuppressed(context2) {
return context2.getValue(SUPPRESS_TRACING_KEY) === true;
}
exports2.isTracingSuppressed = isTracingSuppressed;
}
});
// node_modules/@opentelemetry/core/build/src/baggage/constants.js
var require_constants = __commonJS({
"node_modules/@opentelemetry/core/build/src/baggage/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BAGGAGE_MAX_TOTAL_LENGTH = exports2.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = exports2.BAGGAGE_MAX_NAME_VALUE_PAIRS = exports2.BAGGAGE_HEADER = exports2.BAGGAGE_ITEMS_SEPARATOR = exports2.BAGGAGE_PROPERTIES_SEPARATOR = exports2.BAGGAGE_KEY_PAIR_SEPARATOR = void 0;
exports2.BAGGAGE_KEY_PAIR_SEPARATOR = "=";
exports2.BAGGAGE_PROPERTIES_SEPARATOR = ";";
exports2.BAGGAGE_ITEMS_SEPARATOR = ",";
exports2.BAGGAGE_HEADER = "baggage";
exports2.BAGGAGE_MAX_NAME_VALUE_PAIRS = 180;
exports2.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = 4096;
exports2.BAGGAGE_MAX_TOTAL_LENGTH = 8192;
}
});
// node_modules/@opentelemetry/core/build/src/baggage/utils.js
var require_utils2 = __commonJS({
"node_modules/@opentelemetry/core/build/src/baggage/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseKeyPairsIntoRecord = exports2.parsePairKeyValue = exports2.getKeyPairs = exports2.serializeKeyPairs = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var constants_1 = require_constants();
function serializeKeyPairs(keyPairs) {
return keyPairs.reduce((hValue, current) => {
const value = `${hValue}${hValue !== "" ? constants_1.BAGGAGE_ITEMS_SEPARATOR : ""}${current}`;
return value.length > constants_1.BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;
}, "");
}
exports2.serializeKeyPairs = serializeKeyPairs;
function getKeyPairs(baggage) {
return baggage.getAllEntries().map(([key, value]) => {
let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;
if (value.metadata !== void 0) {
entry += constants_1.BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();
}
return entry;
});
}
exports2.getKeyPairs = getKeyPairs;
function parsePairKeyValue(entry) {
if (!entry)
return;
const metadataSeparatorIndex = entry.indexOf(constants_1.BAGGAGE_PROPERTIES_SEPARATOR);
const keyPairPart = metadataSeparatorIndex === -1 ? entry : entry.substring(0, metadataSeparatorIndex);
const separatorIndex = keyPairPart.indexOf(constants_1.BAGGAGE_KEY_PAIR_SEPARATOR);
if (separatorIndex <= 0)
return;
const rawKey = keyPairPart.substring(0, separatorIndex).trim();
const rawValue = keyPairPart.substring(separatorIndex + 1).trim();
if (!rawKey || !rawValue)
return;
let key;
let value;
try {
key = decodeURIComponent(rawKey);
value = decodeURIComponent(rawValue);
} catch {
return;
}
let metadata2;
if (metadataSeparatorIndex !== -1 && metadataSeparatorIndex < entry.length - 1) {
const metadataString = entry.substring(metadataSeparatorIndex + 1);
metadata2 = (0, api_1.baggageEntryMetadataFromString)(metadataString);
}
return { key, value, metadata: metadata2 };
}
exports2.parsePairKeyValue = parsePairKeyValue;
function parseKeyPairsIntoRecord2(value) {
const result2 = {};
if (typeof value === "string" && value.length > 0) {
value.split(constants_1.BAGGAGE_ITEMS_SEPARATOR).forEach((entry) => {
const keyPair = parsePairKeyValue(entry);
if (keyPair !== void 0 && keyPair.value.length > 0) {
result2[keyPair.key] = keyPair.value;
}
});
}
return result2;
}
exports2.parseKeyPairsIntoRecord = parseKeyPairsIntoRecord2;
}
});
// node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js
var require_W3CBaggagePropagator = __commonJS({
"node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.W3CBaggagePropagator = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var suppress_tracing_1 = require_suppress_tracing();
var constants_1 = require_constants();
var utils_1 = require_utils2();
var W3CBaggagePropagator = class {
inject(context2, carrier, setter) {
const baggage = api_1.propagation.getBaggage(context2);
if (!baggage || (0, suppress_tracing_1.isTracingSuppressed)(context2))
return;
const keyPairs = (0, utils_1.getKeyPairs)(baggage).filter((pair) => {
return pair.length <= constants_1.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;
}).slice(0, constants_1.BAGGAGE_MAX_NAME_VALUE_PAIRS);
const headerValue = (0, utils_1.serializeKeyPairs)(keyPairs);
if (headerValue.length > 0) {
setter.set(carrier, constants_1.BAGGAGE_HEADER, headerValue);
}
}
extract(context2, carrier, getter) {
const headerValue = getter.get(carrier, constants_1.BAGGAGE_HEADER);
const baggageString = Array.isArray(headerValue) ? headerValue.join(constants_1.BAGGAGE_ITEMS_SEPARATOR) : headerValue;
if (!baggageString)
return context2;
const baggage = {};
if (baggageString.length === 0) {
return context2;
}
const pairs2 = baggageString.split(constants_1.BAGGAGE_ITEMS_SEPARATOR);
pairs2.forEach((entry) => {
const keyPair = (0, utils_1.parsePairKeyValue)(entry);
if (keyPair) {
const baggageEntry = { value: keyPair.value };
if (keyPair.metadata) {
baggageEntry.metadata = keyPair.metadata;
}
baggage[keyPair.key] = baggageEntry;
}
});
if (Object.entries(baggage).length === 0) {
return context2;
}
return api_1.propagation.setBaggage(context2, api_1.propagation.createBaggage(baggage));
}
fields() {
return [constants_1.BAGGAGE_HEADER];
}
};
exports2.W3CBaggagePropagator = W3CBaggagePropagator;
}
});
// node_modules/@opentelemetry/core/build/src/common/anchored-clock.js
var require_anchored_clock = __commonJS({
"node_modules/@opentelemetry/core/build/src/common/anchored-clock.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AnchoredClock = void 0;
var AnchoredClock = class {
_monotonicClock;
_epochMillis;
_performanceMillis;
/**
* Create a new AnchoredClock anchored to the current time returned by systemClock.
*
* @param systemClock should be a clock that returns the number of milliseconds since January 1 1970 such as Date
* @param monotonicClock should be a clock that counts milliseconds monotonically such as window.performance or perf_hooks.performance
*/
constructor(systemClock, monotonicClock) {
this._monotonicClock = monotonicClock;
this._epochMillis = systemClock.now();
this._performanceMillis = monotonicClock.now();
}
/**
* Returns the current time by adding the number of milliseconds since the
* AnchoredClock was created to the creation epoch time
*/
now() {
const delta = this._monotonicClock.now() - this._performanceMillis;
return this._epochMillis + delta;
}
};
exports2.AnchoredClock = AnchoredClock;
}
});
// node_modules/@opentelemetry/core/build/src/common/attributes.js
var require_attributes = __commonJS({
"node_modules/@opentelemetry/core/build/src/common/attributes.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isAttributeValue = exports2.isAttributeKey = exports2.sanitizeAttributes = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
function sanitizeAttributes(attributes) {
const out2 = {};
if (typeof attributes !== "object" || attributes == null) {
return out2;
}
for (const key in attributes) {
if (!Object.prototype.hasOwnProperty.call(attributes, key)) {
continue;
}
if (!isAttributeKey(key)) {
api_1.diag.warn(`Invalid attribute key: ${key}`);
continue;
}
const val = attributes[key];
if (!isAttributeValue(val)) {
api_1.diag.warn(`Invalid attribute value set for key: ${key}`);
continue;
}
if (Array.isArray(val)) {
out2[key] = val.slice();
} else {
out2[key] = val;
}
}
return out2;
}
exports2.sanitizeAttributes = sanitizeAttributes;
function isAttributeKey(key) {
return typeof key === "string" && key !== "";
}
exports2.isAttributeKey = isAttributeKey;
function isAttributeValue(val) {
if (val == null) {
return true;
}
if (Array.isArray(val)) {
return isHomogeneousAttributeValueArray(val);
}
return isValidPrimitiveAttributeValueType(typeof val);
}
exports2.isAttributeValue = isAttributeValue;
function isHomogeneousAttributeValueArray(arr) {
let type2;
for (const element of arr) {
if (element == null)
continue;
const elementType = typeof element;
if (elementType === type2) {
continue;
}
if (!type2) {
if (isValidPrimitiveAttributeValueType(elementType)) {
type2 = elementType;
continue;
}
return false;
}
return false;
}
return true;
}
function isValidPrimitiveAttributeValueType(valType) {
switch (valType) {
case "number":
case "boolean":
case "string":
return true;
}
return false;
}
}
});
// node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js
var require_logging_error_handler = __commonJS({
"node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.loggingErrorHandler = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
function loggingErrorHandler() {
return (ex) => {
api_1.diag.error(stringifyException(ex));
};
}
exports2.loggingErrorHandler = loggingErrorHandler;
function stringifyException(ex) {
if (typeof ex === "string") {
return ex;
} else {
return JSON.stringify(flattenException(ex));
}
}
function flattenException(ex) {
const result2 = {};
let current = ex;
while (current !== null) {
Object.getOwnPropertyNames(current).forEach((propertyName) => {
if (result2[propertyName])
return;
const value = current[propertyName];
if (value) {
result2[propertyName] = String(value);
}
});
current = Object.getPrototypeOf(current);
}
return result2;
}
}
});
// node_modules/@opentelemetry/core/build/src/common/global-error-handler.js
var require_global_error_handler = __commonJS({
"node_modules/@opentelemetry/core/build/src/common/global-error-handler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.globalErrorHandler = exports2.setGlobalErrorHandler = void 0;
var logging_error_handler_1 = require_logging_error_handler();
var delegateHandler = (0, logging_error_handler_1.loggingErrorHandler)();
function setGlobalErrorHandler(handler) {
delegateHandler = handler;
}
exports2.setGlobalErrorHandler = setGlobalErrorHandler;
function globalErrorHandler(ex) {
try {
delegateHandler(ex);
} catch {
}
}
exports2.globalErrorHandler = globalErrorHandler;
}
});
// node_modules/@opentelemetry/core/build/src/platform/node/environment.js
var require_environment = __commonJS({
"node_modules/@opentelemetry/core/build/src/platform/node/environment.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getStringListFromEnv = exports2.getBooleanFromEnv = exports2.getStringFromEnv = exports2.getNumberFromEnv = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var util_1 = __require("util");
function getNumberFromEnv2(key) {
const raw = process.env[key];
if (raw == null || raw.trim() === "") {
return void 0;
}
const value = Number(raw);
if (isNaN(value)) {
api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)} for ${key}, expected a number, using defaults`);
return void 0;
}
return value;
}
exports2.getNumberFromEnv = getNumberFromEnv2;
function getStringFromEnv3(key) {
const raw = process.env[key];
if (raw == null || raw.trim() === "") {
return void 0;
}
return raw;
}
exports2.getStringFromEnv = getStringFromEnv3;
function getBooleanFromEnv(key) {
const raw = process.env[key]?.trim().toLowerCase();
if (raw == null || raw === "") {
return false;
}
if (raw === "true") {
return true;
} else if (raw === "false") {
return false;
} else {
api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)} for ${key}, expected 'true' or 'false', falling back to 'false' (default)`);
return false;
}
}
exports2.getBooleanFromEnv = getBooleanFromEnv;
function getStringListFromEnv(key) {
return getStringFromEnv3(key)?.split(",").map((v) => v.trim()).filter((s2) => s2 !== "");
}
exports2.getStringListFromEnv = getStringListFromEnv;
}
});
// node_modules/@opentelemetry/core/build/src/common/globalThis.js
var require_globalThis = __commonJS({
"node_modules/@opentelemetry/core/build/src/common/globalThis.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._globalThis = void 0;
exports2._globalThis = globalThis;
}
});
// node_modules/@opentelemetry/core/build/src/version.js
var require_version = __commonJS({
"node_modules/@opentelemetry/core/build/src/version.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.VERSION = void 0;
exports2.VERSION = "2.5.0";
}
});
// node_modules/@opentelemetry/core/build/src/semconv.js
var require_semconv = __commonJS({
"node_modules/@opentelemetry/core/build/src/semconv.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ATTR_PROCESS_RUNTIME_NAME = void 0;
exports2.ATTR_PROCESS_RUNTIME_NAME = "process.runtime.name";
}
});
// node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js
var require_sdk_info = __commonJS({
"node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SDK_INFO = void 0;
var version_1 = require_version();
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var semconv_1 = require_semconv();
exports2.SDK_INFO = {
[semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME]: "opentelemetry",
[semconv_1.ATTR_PROCESS_RUNTIME_NAME]: "node",
[semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE]: semantic_conventions_1.TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS,
[semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION]: version_1.VERSION
};
}
});
// node_modules/@opentelemetry/core/build/src/platform/node/index.js
var require_node = __commonJS({
"node_modules/@opentelemetry/core/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.otperformance = exports2.SDK_INFO = exports2._globalThis = exports2.getStringListFromEnv = exports2.getNumberFromEnv = exports2.getBooleanFromEnv = exports2.getStringFromEnv = void 0;
var environment_1 = require_environment();
Object.defineProperty(exports2, "getStringFromEnv", { enumerable: true, get: function() {
return environment_1.getStringFromEnv;
} });
Object.defineProperty(exports2, "getBooleanFromEnv", { enumerable: true, get: function() {
return environment_1.getBooleanFromEnv;
} });
Object.defineProperty(exports2, "getNumberFromEnv", { enumerable: true, get: function() {
return environment_1.getNumberFromEnv;
} });
Object.defineProperty(exports2, "getStringListFromEnv", { enumerable: true, get: function() {
return environment_1.getStringListFromEnv;
} });
var globalThis_1 = require_globalThis();
Object.defineProperty(exports2, "_globalThis", { enumerable: true, get: function() {
return globalThis_1._globalThis;
} });
var sdk_info_1 = require_sdk_info();
Object.defineProperty(exports2, "SDK_INFO", { enumerable: true, get: function() {
return sdk_info_1.SDK_INFO;
} });
exports2.otperformance = performance;
}
});
// node_modules/@opentelemetry/core/build/src/platform/index.js
var require_platform = __commonJS({
"node_modules/@opentelemetry/core/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getStringListFromEnv = exports2.getNumberFromEnv = exports2.getStringFromEnv = exports2.getBooleanFromEnv = exports2.otperformance = exports2._globalThis = exports2.SDK_INFO = void 0;
var node_1 = require_node();
Object.defineProperty(exports2, "SDK_INFO", { enumerable: true, get: function() {
return node_1.SDK_INFO;
} });
Object.defineProperty(exports2, "_globalThis", { enumerable: true, get: function() {
return node_1._globalThis;
} });
Object.defineProperty(exports2, "otperformance", { enumerable: true, get: function() {
return node_1.otperformance;
} });
Object.defineProperty(exports2, "getBooleanFromEnv", { enumerable: true, get: function() {
return node_1.getBooleanFromEnv;
} });
Object.defineProperty(exports2, "getStringFromEnv", { enumerable: true, get: function() {
return node_1.getStringFromEnv;
} });
Object.defineProperty(exports2, "getNumberFromEnv", { enumerable: true, get: function() {
return node_1.getNumberFromEnv;
} });
Object.defineProperty(exports2, "getStringListFromEnv", { enumerable: true, get: function() {
return node_1.getStringListFromEnv;
} });
}
});
// node_modules/@opentelemetry/core/build/src/common/time.js
var require_time = __commonJS({
"node_modules/@opentelemetry/core/build/src/common/time.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.addHrTimes = exports2.isTimeInput = exports2.isTimeInputHrTime = exports2.hrTimeToMicroseconds = exports2.hrTimeToMilliseconds = exports2.hrTimeToNanoseconds = exports2.hrTimeToTimeStamp = exports2.hrTimeDuration = exports2.timeInputToHrTime = exports2.hrTime = exports2.getTimeOrigin = exports2.millisToHrTime = void 0;
var platform_1 = require_platform();
var NANOSECOND_DIGITS = 9;
var NANOSECOND_DIGITS_IN_MILLIS = 6;
var MILLISECONDS_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS_IN_MILLIS);
var SECOND_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS);
function millisToHrTime(epochMillis) {
const epochSeconds = epochMillis / 1e3;
const seconds = Math.trunc(epochSeconds);
const nanos = Math.round(epochMillis % 1e3 * MILLISECONDS_TO_NANOSECONDS);
return [seconds, nanos];
}
exports2.millisToHrTime = millisToHrTime;
function getTimeOrigin() {
return platform_1.otperformance.timeOrigin;
}
exports2.getTimeOrigin = getTimeOrigin;
function hrTime(performanceNow) {
const timeOrigin = millisToHrTime(platform_1.otperformance.timeOrigin);
const now = millisToHrTime(typeof performanceNow === "number" ? performanceNow : platform_1.otperformance.now());
return addHrTimes(timeOrigin, now);
}
exports2.hrTime = hrTime;
function timeInputToHrTime(time3) {
if (isTimeInputHrTime(time3)) {
return time3;
} else if (typeof time3 === "number") {
if (time3 < platform_1.otperformance.timeOrigin) {
return hrTime(time3);
} else {
return millisToHrTime(time3);
}
} else if (time3 instanceof Date) {
return millisToHrTime(time3.getTime());
} else {
throw TypeError("Invalid input type");
}
}
exports2.timeInputToHrTime = timeInputToHrTime;
function hrTimeDuration(startTime, endTime) {
let seconds = endTime[0] - startTime[0];
let nanos = endTime[1] - startTime[1];
if (nanos < 0) {
seconds -= 1;
nanos += SECOND_TO_NANOSECONDS;
}
return [seconds, nanos];
}
exports2.hrTimeDuration = hrTimeDuration;
function hrTimeToTimeStamp(time3) {
const precision = NANOSECOND_DIGITS;
const tmp = `${"0".repeat(precision)}${time3[1]}Z`;
const nanoString = tmp.substring(tmp.length - precision - 1);
const date5 = new Date(time3[0] * 1e3).toISOString();
return date5.replace("000Z", nanoString);
}
exports2.hrTimeToTimeStamp = hrTimeToTimeStamp;
function hrTimeToNanoseconds(time3) {
return time3[0] * SECOND_TO_NANOSECONDS + time3[1];
}
exports2.hrTimeToNanoseconds = hrTimeToNanoseconds;
function hrTimeToMilliseconds2(time3) {
return time3[0] * 1e3 + time3[1] / 1e6;
}
exports2.hrTimeToMilliseconds = hrTimeToMilliseconds2;
function hrTimeToMicroseconds(time3) {
return time3[0] * 1e6 + time3[1] / 1e3;
}
exports2.hrTimeToMicroseconds = hrTimeToMicroseconds;
function isTimeInputHrTime(value) {
return Array.isArray(value) && value.length === 2 && typeof value[0] === "number" && typeof value[1] === "number";
}
exports2.isTimeInputHrTime = isTimeInputHrTime;
function isTimeInput(value) {
return isTimeInputHrTime(value) || typeof value === "number" || value instanceof Date;
}
exports2.isTimeInput = isTimeInput;
function addHrTimes(time1, time22) {
const out2 = [time1[0] + time22[0], time1[1] + time22[1]];
if (out2[1] >= SECOND_TO_NANOSECONDS) {
out2[1] -= SECOND_TO_NANOSECONDS;
out2[0] += 1;
}
return out2;
}
exports2.addHrTimes = addHrTimes;
}
});
// node_modules/@opentelemetry/core/build/src/common/timer-util.js
var require_timer_util = __commonJS({
"node_modules/@opentelemetry/core/build/src/common/timer-util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.unrefTimer = void 0;
function unrefTimer(timer) {
if (typeof timer !== "number") {
timer.unref();
}
}
exports2.unrefTimer = unrefTimer;
}
});
// node_modules/@opentelemetry/core/build/src/ExportResult.js
var require_ExportResult = __commonJS({
"node_modules/@opentelemetry/core/build/src/ExportResult.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ExportResultCode = void 0;
var ExportResultCode4;
(function(ExportResultCode5) {
ExportResultCode5[ExportResultCode5["SUCCESS"] = 0] = "SUCCESS";
ExportResultCode5[ExportResultCode5["FAILED"] = 1] = "FAILED";
})(ExportResultCode4 = exports2.ExportResultCode || (exports2.ExportResultCode = {}));
}
});
// node_modules/@opentelemetry/core/build/src/propagation/composite.js
var require_composite = __commonJS({
"node_modules/@opentelemetry/core/build/src/propagation/composite.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CompositePropagator = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var CompositePropagator = class {
_propagators;
_fields;
/**
* Construct a composite propagator from a list of propagators.
*
* @param [config] Configuration object for composite propagator
*/
constructor(config2 = {}) {
this._propagators = config2.propagators ?? [];
this._fields = Array.from(new Set(this._propagators.map((p) => typeof p.fields === "function" ? p.fields() : []).reduce((x, y) => x.concat(y), [])));
}
/**
* Run each of the configured propagators with the given context and carrier.
* Propagators are run in the order they are configured, so if multiple
* propagators write the same carrier key, the propagator later in the list
* will "win".
*
* @param context Context to inject
* @param carrier Carrier into which context will be injected
*/
inject(context2, carrier, setter) {
for (const propagator of this._propagators) {
try {
propagator.inject(context2, carrier, setter);
} catch (err2) {
api_1.diag.warn(`Failed to inject with ${propagator.constructor.name}. Err: ${err2.message}`);
}
}
}
/**
* Run each of the configured propagators with the given context and carrier.
* Propagators are run in the order they are configured, so if multiple
* propagators write the same context key, the propagator later in the list
* will "win".
*
* @param context Context to add values to
* @param carrier Carrier from which to extract context
*/
extract(context2, carrier, getter) {
return this._propagators.reduce((ctx, propagator) => {
try {
return propagator.extract(ctx, carrier, getter);
} catch (err2) {
api_1.diag.warn(`Failed to extract with ${propagator.constructor.name}. Err: ${err2.message}`);
}
return ctx;
}, context2);
}
fields() {
return this._fields.slice();
}
};
exports2.CompositePropagator = CompositePropagator;
}
});
// node_modules/@opentelemetry/core/build/src/internal/validators.js
var require_validators = __commonJS({
"node_modules/@opentelemetry/core/build/src/internal/validators.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateValue = exports2.validateKey = void 0;
var VALID_KEY_CHAR_RANGE = "[_0-9a-z-*/]";
var VALID_KEY = `[a-z]${VALID_KEY_CHAR_RANGE}{0,255}`;
var VALID_VENDOR_KEY = `[a-z0-9]${VALID_KEY_CHAR_RANGE}{0,240}@[a-z]${VALID_KEY_CHAR_RANGE}{0,13}`;
var VALID_KEY_REGEX = new RegExp(`^(?:${VALID_KEY}|${VALID_VENDOR_KEY})$`);
var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
function validateKey(key) {
return VALID_KEY_REGEX.test(key);
}
exports2.validateKey = validateKey;
function validateValue(value) {
return VALID_VALUE_BASE_REGEX.test(value) && !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value);
}
exports2.validateValue = validateValue;
}
});
// node_modules/@opentelemetry/core/build/src/trace/TraceState.js
var require_TraceState = __commonJS({
"node_modules/@opentelemetry/core/build/src/trace/TraceState.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TraceState = void 0;
var validators_1 = require_validators();
var MAX_TRACE_STATE_ITEMS = 32;
var MAX_TRACE_STATE_LEN = 512;
var LIST_MEMBERS_SEPARATOR = ",";
var LIST_MEMBER_KEY_VALUE_SPLITTER = "=";
var TraceState = class _TraceState {
_internalState = /* @__PURE__ */ new Map();
constructor(rawTraceState) {
if (rawTraceState)
this._parse(rawTraceState);
}
set(key, value) {
const traceState = this._clone();
if (traceState._internalState.has(key)) {
traceState._internalState.delete(key);
}
traceState._internalState.set(key, value);
return traceState;
}
unset(key) {
const traceState = this._clone();
traceState._internalState.delete(key);
return traceState;
}
get(key) {
return this._internalState.get(key);
}
serialize() {
return this._keys().reduce((agg, key) => {
agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + this.get(key));
return agg;
}, []).join(LIST_MEMBERS_SEPARATOR);
}
_parse(rawTraceState) {
if (rawTraceState.length > MAX_TRACE_STATE_LEN)
return;
this._internalState = rawTraceState.split(LIST_MEMBERS_SEPARATOR).reverse().reduce((agg, part) => {
const listMember = part.trim();
const i3 = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
if (i3 !== -1) {
const key = listMember.slice(0, i3);
const value = listMember.slice(i3 + 1, part.length);
if ((0, validators_1.validateKey)(key) && (0, validators_1.validateValue)(value)) {
agg.set(key, value);
} else {
}
}
return agg;
}, /* @__PURE__ */ new Map());
if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, MAX_TRACE_STATE_ITEMS));
}
}
_keys() {
return Array.from(this._internalState.keys()).reverse();
}
_clone() {
const traceState = new _TraceState();
traceState._internalState = new Map(this._internalState);
return traceState;
}
};
exports2.TraceState = TraceState;
}
});
// node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js
var require_W3CTraceContextPropagator = __commonJS({
"node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.W3CTraceContextPropagator = exports2.parseTraceParent = exports2.TRACE_STATE_HEADER = exports2.TRACE_PARENT_HEADER = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var suppress_tracing_1 = require_suppress_tracing();
var TraceState_1 = require_TraceState();
exports2.TRACE_PARENT_HEADER = "traceparent";
exports2.TRACE_STATE_HEADER = "tracestate";
var VERSION2 = "00";
var VERSION_PART = "(?!ff)[\\da-f]{2}";
var TRACE_ID_PART = "(?![0]{32})[\\da-f]{32}";
var PARENT_ID_PART = "(?![0]{16})[\\da-f]{16}";
var FLAGS_PART = "[\\da-f]{2}";
var TRACE_PARENT_REGEX = new RegExp(`^\\s?(${VERSION_PART})-(${TRACE_ID_PART})-(${PARENT_ID_PART})-(${FLAGS_PART})(-.*)?\\s?$`);
function parseTraceParent(traceParent) {
const match2 = TRACE_PARENT_REGEX.exec(traceParent);
if (!match2)
return null;
if (match2[1] === "00" && match2[5])
return null;
return {
traceId: match2[2],
spanId: match2[3],
traceFlags: parseInt(match2[4], 16)
};
}
exports2.parseTraceParent = parseTraceParent;
var W3CTraceContextPropagator = class {
inject(context2, carrier, setter) {
const spanContext = api_1.trace.getSpanContext(context2);
if (!spanContext || (0, suppress_tracing_1.isTracingSuppressed)(context2) || !(0, api_1.isSpanContextValid)(spanContext))
return;
const traceParent = `${VERSION2}-${spanContext.traceId}-${spanContext.spanId}-0${Number(spanContext.traceFlags || api_1.TraceFlags.NONE).toString(16)}`;
setter.set(carrier, exports2.TRACE_PARENT_HEADER, traceParent);
if (spanContext.traceState) {
setter.set(carrier, exports2.TRACE_STATE_HEADER, spanContext.traceState.serialize());
}
}
extract(context2, carrier, getter) {
const traceParentHeader = getter.get(carrier, exports2.TRACE_PARENT_HEADER);
if (!traceParentHeader)
return context2;
const traceParent = Array.isArray(traceParentHeader) ? traceParentHeader[0] : traceParentHeader;
if (typeof traceParent !== "string")
return context2;
const spanContext = parseTraceParent(traceParent);
if (!spanContext)
return context2;
spanContext.isRemote = true;
const traceStateHeader = getter.get(carrier, exports2.TRACE_STATE_HEADER);
if (traceStateHeader) {
const state = Array.isArray(traceStateHeader) ? traceStateHeader.join(",") : traceStateHeader;
spanContext.traceState = new TraceState_1.TraceState(typeof state === "string" ? state : void 0);
}
return api_1.trace.setSpanContext(context2, spanContext);
}
fields() {
return [exports2.TRACE_PARENT_HEADER, exports2.TRACE_STATE_HEADER];
}
};
exports2.W3CTraceContextPropagator = W3CTraceContextPropagator;
}
});
// node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js
var require_rpc_metadata = __commonJS({
"node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getRPCMetadata = exports2.deleteRPCMetadata = exports2.setRPCMetadata = exports2.RPCType = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var RPC_METADATA_KEY = (0, api_1.createContextKey)("OpenTelemetry SDK Context Key RPC_METADATA");
var RPCType;
(function(RPCType2) {
RPCType2["HTTP"] = "http";
})(RPCType = exports2.RPCType || (exports2.RPCType = {}));
function setRPCMetadata(context2, meta) {
return context2.setValue(RPC_METADATA_KEY, meta);
}
exports2.setRPCMetadata = setRPCMetadata;
function deleteRPCMetadata(context2) {
return context2.deleteValue(RPC_METADATA_KEY);
}
exports2.deleteRPCMetadata = deleteRPCMetadata;
function getRPCMetadata(context2) {
return context2.getValue(RPC_METADATA_KEY);
}
exports2.getRPCMetadata = getRPCMetadata;
}
});
// node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js
var require_lodash_merge = __commonJS({
"node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isPlainObject = void 0;
var objectTag = "[object Object]";
var nullTag = "[object Null]";
var undefinedTag = "[object Undefined]";
var funcProto = Function.prototype;
var funcToString = funcProto.toString;
var objectCtorString = funcToString.call(Object);
var getPrototypeOf = Object.getPrototypeOf;
var objectProto = Object.prototype;
var hasOwnProperty2 = objectProto.hasOwnProperty;
var symToStringTag = Symbol ? Symbol.toStringTag : void 0;
var nativeObjectToString = objectProto.toString;
function isPlainObject4(value) {
if (!isObjectLike(value) || baseGetTag(value) !== objectTag) {
return false;
}
const proto = getPrototypeOf(value);
if (proto === null) {
return true;
}
const Ctor = hasOwnProperty2.call(proto, "constructor") && proto.constructor;
return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) === objectCtorString;
}
exports2.isPlainObject = isPlainObject4;
function isObjectLike(value) {
return value != null && typeof value == "object";
}
function baseGetTag(value) {
if (value == null) {
return value === void 0 ? undefinedTag : nullTag;
}
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString4(value);
}
function getRawTag(value) {
const isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag];
let unmasked = false;
try {
value[symToStringTag] = void 0;
unmasked = true;
} catch {
}
const result2 = nativeObjectToString.call(value);
if (unmasked) {
if (isOwn) {
value[symToStringTag] = tag;
} else {
delete value[symToStringTag];
}
}
return result2;
}
function objectToString4(value) {
return nativeObjectToString.call(value);
}
}
});
// node_modules/@opentelemetry/core/build/src/utils/merge.js
var require_merge = __commonJS({
"node_modules/@opentelemetry/core/build/src/utils/merge.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.merge = void 0;
var lodash_merge_1 = require_lodash_merge();
var MAX_LEVEL = 20;
function merge4(...args2) {
let result2 = args2.shift();
const objects = /* @__PURE__ */ new WeakMap();
while (args2.length > 0) {
result2 = mergeTwoObjects(result2, args2.shift(), 0, objects);
}
return result2;
}
exports2.merge = merge4;
function takeValue(value) {
if (isArray(value)) {
return value.slice();
}
return value;
}
function mergeTwoObjects(one, two, level = 0, objects) {
let result2;
if (level > MAX_LEVEL) {
return void 0;
}
level++;
if (isPrimitive(one) || isPrimitive(two) || isFunction(two)) {
result2 = takeValue(two);
} else if (isArray(one)) {
result2 = one.slice();
if (isArray(two)) {
for (let i3 = 0, j = two.length; i3 < j; i3++) {
result2.push(takeValue(two[i3]));
}
} else if (isObject6(two)) {
const keys = Object.keys(two);
for (let i3 = 0, j = keys.length; i3 < j; i3++) {
const key = keys[i3];
result2[key] = takeValue(two[key]);
}
}
} else if (isObject6(one)) {
if (isObject6(two)) {
if (!shouldMerge(one, two)) {
return two;
}
result2 = Object.assign({}, one);
const keys = Object.keys(two);
for (let i3 = 0, j = keys.length; i3 < j; i3++) {
const key = keys[i3];
const twoValue = two[key];
if (isPrimitive(twoValue)) {
if (typeof twoValue === "undefined") {
delete result2[key];
} else {
result2[key] = twoValue;
}
} else {
const obj1 = result2[key];
const obj2 = twoValue;
if (wasObjectReferenced(one, key, objects) || wasObjectReferenced(two, key, objects)) {
delete result2[key];
} else {
if (isObject6(obj1) && isObject6(obj2)) {
const arr1 = objects.get(obj1) || [];
const arr2 = objects.get(obj2) || [];
arr1.push({ obj: one, key });
arr2.push({ obj: two, key });
objects.set(obj1, arr1);
objects.set(obj2, arr2);
}
result2[key] = mergeTwoObjects(result2[key], twoValue, level, objects);
}
}
}
} else {
result2 = two;
}
}
return result2;
}
function wasObjectReferenced(obj, key, objects) {
const arr = objects.get(obj[key]) || [];
for (let i3 = 0, j = arr.length; i3 < j; i3++) {
const info2 = arr[i3];
if (info2.key === key && info2.obj === obj) {
return true;
}
}
return false;
}
function isArray(value) {
return Array.isArray(value);
}
function isFunction(value) {
return typeof value === "function";
}
function isObject6(value) {
return !isPrimitive(value) && !isArray(value) && !isFunction(value) && typeof value === "object";
}
function isPrimitive(value) {
return typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "undefined" || value instanceof Date || value instanceof RegExp || value === null;
}
function shouldMerge(one, two) {
if (!(0, lodash_merge_1.isPlainObject)(one) || !(0, lodash_merge_1.isPlainObject)(two)) {
return false;
}
return true;
}
}
});
// node_modules/@opentelemetry/core/build/src/utils/timeout.js
var require_timeout = __commonJS({
"node_modules/@opentelemetry/core/build/src/utils/timeout.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.callWithTimeout = exports2.TimeoutError = void 0;
var TimeoutError = class _TimeoutError extends Error {
constructor(message) {
super(message);
Object.setPrototypeOf(this, _TimeoutError.prototype);
}
};
exports2.TimeoutError = TimeoutError;
function callWithTimeout(promise2, timeout) {
let timeoutHandle;
const timeoutPromise = new Promise(function timeoutFunction(_resolve, reject) {
timeoutHandle = setTimeout(function timeoutHandler() {
reject(new TimeoutError("Operation timed out."));
}, timeout);
});
return Promise.race([promise2, timeoutPromise]).then((result2) => {
clearTimeout(timeoutHandle);
return result2;
}, (reason) => {
clearTimeout(timeoutHandle);
throw reason;
});
}
exports2.callWithTimeout = callWithTimeout;
}
});
// node_modules/@opentelemetry/core/build/src/utils/url.js
var require_url = __commonJS({
"node_modules/@opentelemetry/core/build/src/utils/url.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isUrlIgnored = exports2.urlMatches = void 0;
function urlMatches(url3, urlToMatch) {
if (typeof urlToMatch === "string") {
return url3 === urlToMatch;
} else {
return !!url3.match(urlToMatch);
}
}
exports2.urlMatches = urlMatches;
function isUrlIgnored(url3, ignoredUrls) {
if (!ignoredUrls) {
return false;
}
for (const ignoreUrl of ignoredUrls) {
if (urlMatches(url3, ignoreUrl)) {
return true;
}
}
return false;
}
exports2.isUrlIgnored = isUrlIgnored;
}
});
// node_modules/@opentelemetry/core/build/src/utils/promise.js
var require_promise = __commonJS({
"node_modules/@opentelemetry/core/build/src/utils/promise.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Deferred = void 0;
var Deferred = class {
_promise;
_resolve;
_reject;
constructor() {
this._promise = new Promise((resolve25, reject) => {
this._resolve = resolve25;
this._reject = reject;
});
}
get promise() {
return this._promise;
}
resolve(val) {
this._resolve(val);
}
reject(err2) {
this._reject(err2);
}
};
exports2.Deferred = Deferred;
}
});
// node_modules/@opentelemetry/core/build/src/utils/callback.js
var require_callback = __commonJS({
"node_modules/@opentelemetry/core/build/src/utils/callback.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BindOnceFuture = void 0;
var promise_1 = require_promise();
var BindOnceFuture = class {
_isCalled = false;
_deferred = new promise_1.Deferred();
_callback;
_that;
constructor(callback, that) {
this._callback = callback;
this._that = that;
}
get isCalled() {
return this._isCalled;
}
get promise() {
return this._deferred.promise;
}
call(...args2) {
if (!this._isCalled) {
this._isCalled = true;
try {
Promise.resolve(this._callback.call(this._that, ...args2)).then((val) => this._deferred.resolve(val), (err2) => this._deferred.reject(err2));
} catch (err2) {
this._deferred.reject(err2);
}
}
return this._deferred.promise;
}
};
exports2.BindOnceFuture = BindOnceFuture;
}
});
// node_modules/@opentelemetry/core/build/src/utils/configuration.js
var require_configuration = __commonJS({
"node_modules/@opentelemetry/core/build/src/utils/configuration.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.diagLogLevelFromString = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var logLevelMap = {
ALL: api_1.DiagLogLevel.ALL,
VERBOSE: api_1.DiagLogLevel.VERBOSE,
DEBUG: api_1.DiagLogLevel.DEBUG,
INFO: api_1.DiagLogLevel.INFO,
WARN: api_1.DiagLogLevel.WARN,
ERROR: api_1.DiagLogLevel.ERROR,
NONE: api_1.DiagLogLevel.NONE
};
function diagLogLevelFromString(value) {
if (value == null) {
return void 0;
}
const resolvedLogLevel = logLevelMap[value.toUpperCase()];
if (resolvedLogLevel == null) {
api_1.diag.warn(`Unknown log level "${value}", expected one of ${Object.keys(logLevelMap)}, using default`);
return api_1.DiagLogLevel.INFO;
}
return resolvedLogLevel;
}
exports2.diagLogLevelFromString = diagLogLevelFromString;
}
});
// node_modules/@opentelemetry/core/build/src/internal/exporter.js
var require_exporter = __commonJS({
"node_modules/@opentelemetry/core/build/src/internal/exporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._export = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var suppress_tracing_1 = require_suppress_tracing();
function _export(exporter, arg) {
return new Promise((resolve25) => {
api_1.context.with((0, suppress_tracing_1.suppressTracing)(api_1.context.active()), () => {
exporter.export(arg, (result2) => {
resolve25(result2);
});
});
});
}
exports2._export = _export;
}
});
// node_modules/@opentelemetry/core/build/src/index.js
var require_src8 = __commonJS({
"node_modules/@opentelemetry/core/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.internal = exports2.diagLogLevelFromString = exports2.BindOnceFuture = exports2.urlMatches = exports2.isUrlIgnored = exports2.callWithTimeout = exports2.TimeoutError = exports2.merge = exports2.TraceState = exports2.unsuppressTracing = exports2.suppressTracing = exports2.isTracingSuppressed = exports2.setRPCMetadata = exports2.getRPCMetadata = exports2.deleteRPCMetadata = exports2.RPCType = exports2.parseTraceParent = exports2.W3CTraceContextPropagator = exports2.TRACE_STATE_HEADER = exports2.TRACE_PARENT_HEADER = exports2.CompositePropagator = exports2.otperformance = exports2.getStringListFromEnv = exports2.getNumberFromEnv = exports2.getBooleanFromEnv = exports2.getStringFromEnv = exports2._globalThis = exports2.SDK_INFO = exports2.parseKeyPairsIntoRecord = exports2.ExportResultCode = exports2.unrefTimer = exports2.timeInputToHrTime = exports2.millisToHrTime = exports2.isTimeInputHrTime = exports2.isTimeInput = exports2.hrTimeToTimeStamp = exports2.hrTimeToNanoseconds = exports2.hrTimeToMilliseconds = exports2.hrTimeToMicroseconds = exports2.hrTimeDuration = exports2.hrTime = exports2.getTimeOrigin = exports2.addHrTimes = exports2.loggingErrorHandler = exports2.setGlobalErrorHandler = exports2.globalErrorHandler = exports2.sanitizeAttributes = exports2.isAttributeValue = exports2.AnchoredClock = exports2.W3CBaggagePropagator = void 0;
var W3CBaggagePropagator_1 = require_W3CBaggagePropagator();
Object.defineProperty(exports2, "W3CBaggagePropagator", { enumerable: true, get: function() {
return W3CBaggagePropagator_1.W3CBaggagePropagator;
} });
var anchored_clock_1 = require_anchored_clock();
Object.defineProperty(exports2, "AnchoredClock", { enumerable: true, get: function() {
return anchored_clock_1.AnchoredClock;
} });
var attributes_1 = require_attributes();
Object.defineProperty(exports2, "isAttributeValue", { enumerable: true, get: function() {
return attributes_1.isAttributeValue;
} });
Object.defineProperty(exports2, "sanitizeAttributes", { enumerable: true, get: function() {
return attributes_1.sanitizeAttributes;
} });
var global_error_handler_1 = require_global_error_handler();
Object.defineProperty(exports2, "globalErrorHandler", { enumerable: true, get: function() {
return global_error_handler_1.globalErrorHandler;
} });
Object.defineProperty(exports2, "setGlobalErrorHandler", { enumerable: true, get: function() {
return global_error_handler_1.setGlobalErrorHandler;
} });
var logging_error_handler_1 = require_logging_error_handler();
Object.defineProperty(exports2, "loggingErrorHandler", { enumerable: true, get: function() {
return logging_error_handler_1.loggingErrorHandler;
} });
var time_1 = require_time();
Object.defineProperty(exports2, "addHrTimes", { enumerable: true, get: function() {
return time_1.addHrTimes;
} });
Object.defineProperty(exports2, "getTimeOrigin", { enumerable: true, get: function() {
return time_1.getTimeOrigin;
} });
Object.defineProperty(exports2, "hrTime", { enumerable: true, get: function() {
return time_1.hrTime;
} });
Object.defineProperty(exports2, "hrTimeDuration", { enumerable: true, get: function() {
return time_1.hrTimeDuration;
} });
Object.defineProperty(exports2, "hrTimeToMicroseconds", { enumerable: true, get: function() {
return time_1.hrTimeToMicroseconds;
} });
Object.defineProperty(exports2, "hrTimeToMilliseconds", { enumerable: true, get: function() {
return time_1.hrTimeToMilliseconds;
} });
Object.defineProperty(exports2, "hrTimeToNanoseconds", { enumerable: true, get: function() {
return time_1.hrTimeToNanoseconds;
} });
Object.defineProperty(exports2, "hrTimeToTimeStamp", { enumerable: true, get: function() {
return time_1.hrTimeToTimeStamp;
} });
Object.defineProperty(exports2, "isTimeInput", { enumerable: true, get: function() {
return time_1.isTimeInput;
} });
Object.defineProperty(exports2, "isTimeInputHrTime", { enumerable: true, get: function() {
return time_1.isTimeInputHrTime;
} });
Object.defineProperty(exports2, "millisToHrTime", { enumerable: true, get: function() {
return time_1.millisToHrTime;
} });
Object.defineProperty(exports2, "timeInputToHrTime", { enumerable: true, get: function() {
return time_1.timeInputToHrTime;
} });
var timer_util_1 = require_timer_util();
Object.defineProperty(exports2, "unrefTimer", { enumerable: true, get: function() {
return timer_util_1.unrefTimer;
} });
var ExportResult_1 = require_ExportResult();
Object.defineProperty(exports2, "ExportResultCode", { enumerable: true, get: function() {
return ExportResult_1.ExportResultCode;
} });
var utils_1 = require_utils2();
Object.defineProperty(exports2, "parseKeyPairsIntoRecord", { enumerable: true, get: function() {
return utils_1.parseKeyPairsIntoRecord;
} });
var platform_1 = require_platform();
Object.defineProperty(exports2, "SDK_INFO", { enumerable: true, get: function() {
return platform_1.SDK_INFO;
} });
Object.defineProperty(exports2, "_globalThis", { enumerable: true, get: function() {
return platform_1._globalThis;
} });
Object.defineProperty(exports2, "getStringFromEnv", { enumerable: true, get: function() {
return platform_1.getStringFromEnv;
} });
Object.defineProperty(exports2, "getBooleanFromEnv", { enumerable: true, get: function() {
return platform_1.getBooleanFromEnv;
} });
Object.defineProperty(exports2, "getNumberFromEnv", { enumerable: true, get: function() {
return platform_1.getNumberFromEnv;
} });
Object.defineProperty(exports2, "getStringListFromEnv", { enumerable: true, get: function() {
return platform_1.getStringListFromEnv;
} });
Object.defineProperty(exports2, "otperformance", { enumerable: true, get: function() {
return platform_1.otperformance;
} });
var composite_1 = require_composite();
Object.defineProperty(exports2, "CompositePropagator", { enumerable: true, get: function() {
return composite_1.CompositePropagator;
} });
var W3CTraceContextPropagator_1 = require_W3CTraceContextPropagator();
Object.defineProperty(exports2, "TRACE_PARENT_HEADER", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.TRACE_PARENT_HEADER;
} });
Object.defineProperty(exports2, "TRACE_STATE_HEADER", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.TRACE_STATE_HEADER;
} });
Object.defineProperty(exports2, "W3CTraceContextPropagator", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.W3CTraceContextPropagator;
} });
Object.defineProperty(exports2, "parseTraceParent", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.parseTraceParent;
} });
var rpc_metadata_1 = require_rpc_metadata();
Object.defineProperty(exports2, "RPCType", { enumerable: true, get: function() {
return rpc_metadata_1.RPCType;
} });
Object.defineProperty(exports2, "deleteRPCMetadata", { enumerable: true, get: function() {
return rpc_metadata_1.deleteRPCMetadata;
} });
Object.defineProperty(exports2, "getRPCMetadata", { enumerable: true, get: function() {
return rpc_metadata_1.getRPCMetadata;
} });
Object.defineProperty(exports2, "setRPCMetadata", { enumerable: true, get: function() {
return rpc_metadata_1.setRPCMetadata;
} });
var suppress_tracing_1 = require_suppress_tracing();
Object.defineProperty(exports2, "isTracingSuppressed", { enumerable: true, get: function() {
return suppress_tracing_1.isTracingSuppressed;
} });
Object.defineProperty(exports2, "suppressTracing", { enumerable: true, get: function() {
return suppress_tracing_1.suppressTracing;
} });
Object.defineProperty(exports2, "unsuppressTracing", { enumerable: true, get: function() {
return suppress_tracing_1.unsuppressTracing;
} });
var TraceState_1 = require_TraceState();
Object.defineProperty(exports2, "TraceState", { enumerable: true, get: function() {
return TraceState_1.TraceState;
} });
var merge_1 = require_merge();
Object.defineProperty(exports2, "merge", { enumerable: true, get: function() {
return merge_1.merge;
} });
var timeout_1 = require_timeout();
Object.defineProperty(exports2, "TimeoutError", { enumerable: true, get: function() {
return timeout_1.TimeoutError;
} });
Object.defineProperty(exports2, "callWithTimeout", { enumerable: true, get: function() {
return timeout_1.callWithTimeout;
} });
var url_1 = require_url();
Object.defineProperty(exports2, "isUrlIgnored", { enumerable: true, get: function() {
return url_1.isUrlIgnored;
} });
Object.defineProperty(exports2, "urlMatches", { enumerable: true, get: function() {
return url_1.urlMatches;
} });
var callback_1 = require_callback();
Object.defineProperty(exports2, "BindOnceFuture", { enumerable: true, get: function() {
return callback_1.BindOnceFuture;
} });
var configuration_1 = require_configuration();
Object.defineProperty(exports2, "diagLogLevelFromString", { enumerable: true, get: function() {
return configuration_1.diagLogLevelFromString;
} });
var exporter_1 = require_exporter();
exports2.internal = {
_export: exporter_1._export
};
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/logging-response-handler.js
function isPartialSuccessResponse(response) {
return Object.prototype.hasOwnProperty.call(response, "partialSuccess");
}
function createLoggingPartialSuccessResponseHandler() {
return {
handleResponse(response) {
if (response == null || !isPartialSuccessResponse(response) || response.partialSuccess == null || Object.keys(response.partialSuccess).length === 0) {
return;
}
diag.warn("Received Partial Success response:", JSON.stringify(response.partialSuccess));
}
};
}
var init_logging_response_handler = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/logging-response-handler.js"() {
init_esm();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-export-delegate.js
function createOtlpExportDelegate(components, settings) {
return new OTLPExportDelegate(components.transport, components.serializer, createLoggingPartialSuccessResponseHandler(), components.promiseHandler, settings.timeout);
}
var import_core, OTLPExportDelegate;
var init_otlp_export_delegate = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-export-delegate.js"() {
import_core = __toESM(require_src8());
init_types();
init_logging_response_handler();
init_esm();
OTLPExportDelegate = class {
_diagLogger;
_transport;
_serializer;
_responseHandler;
_promiseQueue;
_timeout;
constructor(transport, serializer, responseHandler, promiseQueue, timeout) {
this._transport = transport;
this._serializer = serializer;
this._responseHandler = responseHandler;
this._promiseQueue = promiseQueue;
this._timeout = timeout;
this._diagLogger = diag.createComponentLogger({
namespace: "OTLPExportDelegate"
});
}
export(internalRepresentation, resultCallback) {
this._diagLogger.debug("items to be sent", internalRepresentation);
if (this._promiseQueue.hasReachedLimit()) {
resultCallback({
code: import_core.ExportResultCode.FAILED,
error: new Error("Concurrent export limit reached")
});
return;
}
const serializedRequest = this._serializer.serializeRequest(internalRepresentation);
if (serializedRequest == null) {
resultCallback({
code: import_core.ExportResultCode.FAILED,
error: new Error("Nothing to send")
});
return;
}
this._promiseQueue.pushPromise(this._transport.send(serializedRequest, this._timeout).then((response) => {
if (response.status === "success") {
if (response.data != null) {
try {
this._responseHandler.handleResponse(this._serializer.deserializeResponse(response.data));
} catch (e2) {
this._diagLogger.warn("Export succeeded but could not deserialize response - is the response specification compliant?", e2, response.data);
}
}
resultCallback({
code: import_core.ExportResultCode.SUCCESS
});
return;
} else if (response.status === "failure" && response.error) {
resultCallback({
code: import_core.ExportResultCode.FAILED,
error: response.error
});
return;
} else if (response.status === "retryable") {
resultCallback({
code: import_core.ExportResultCode.FAILED,
error: response.error ?? new OTLPExporterError("Export failed with retryable status")
});
} else {
resultCallback({
code: import_core.ExportResultCode.FAILED,
error: new OTLPExporterError("Export failed with unknown error")
});
}
}, (reason) => resultCallback({
code: import_core.ExportResultCode.FAILED,
error: reason
})));
}
forceFlush() {
return this._promiseQueue.awaitAll();
}
async shutdown() {
this._diagLogger.debug("shutdown started");
await this.forceFlush();
this._transport.shutdown();
}
};
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-network-export-delegate.js
function createOtlpNetworkExportDelegate(options, serializer, transport) {
return createOtlpExportDelegate({
transport,
serializer,
promiseHandler: createBoundedQueueExportPromiseHandler(options)
}, { timeout: options.timeoutMillis });
}
var init_otlp_network_export_delegate = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-network-export-delegate.js"() {
init_bounded_queue_export_promise_handler();
init_otlp_export_delegate();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/index.js
var esm_exports3 = {};
__export(esm_exports3, {
CompressionAlgorithm: () => CompressionAlgorithm,
OTLPExporterBase: () => OTLPExporterBase,
OTLPExporterError: () => OTLPExporterError,
createOtlpNetworkExportDelegate: () => createOtlpNetworkExportDelegate,
getSharedConfigurationDefaults: () => getSharedConfigurationDefaults,
mergeOtlpSharedConfigurationWithDefaults: () => mergeOtlpSharedConfigurationWithDefaults
});
var init_esm3 = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/index.js"() {
init_OTLPExporterBase();
init_types();
init_shared_configuration();
init_legacy_node_configuration();
init_otlp_network_export_delegate();
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js
var require_version2 = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.VERSION = void 0;
exports2.VERSION = "0.211.0";
}
});
// node_modules/@grpc/grpc-js/build/src/constants.js
var require_constants2 = __commonJS({
"node_modules/@grpc/grpc-js/build/src/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH = exports2.DEFAULT_MAX_SEND_MESSAGE_LENGTH = exports2.Propagate = exports2.LogVerbosity = exports2.Status = void 0;
var Status;
(function(Status2) {
Status2[Status2["OK"] = 0] = "OK";
Status2[Status2["CANCELLED"] = 1] = "CANCELLED";
Status2[Status2["UNKNOWN"] = 2] = "UNKNOWN";
Status2[Status2["INVALID_ARGUMENT"] = 3] = "INVALID_ARGUMENT";
Status2[Status2["DEADLINE_EXCEEDED"] = 4] = "DEADLINE_EXCEEDED";
Status2[Status2["NOT_FOUND"] = 5] = "NOT_FOUND";
Status2[Status2["ALREADY_EXISTS"] = 6] = "ALREADY_EXISTS";
Status2[Status2["PERMISSION_DENIED"] = 7] = "PERMISSION_DENIED";
Status2[Status2["RESOURCE_EXHAUSTED"] = 8] = "RESOURCE_EXHAUSTED";
Status2[Status2["FAILED_PRECONDITION"] = 9] = "FAILED_PRECONDITION";
Status2[Status2["ABORTED"] = 10] = "ABORTED";
Status2[Status2["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
Status2[Status2["UNIMPLEMENTED"] = 12] = "UNIMPLEMENTED";
Status2[Status2["INTERNAL"] = 13] = "INTERNAL";
Status2[Status2["UNAVAILABLE"] = 14] = "UNAVAILABLE";
Status2[Status2["DATA_LOSS"] = 15] = "DATA_LOSS";
Status2[Status2["UNAUTHENTICATED"] = 16] = "UNAUTHENTICATED";
})(Status || (exports2.Status = Status = {}));
var LogVerbosity;
(function(LogVerbosity2) {
LogVerbosity2[LogVerbosity2["DEBUG"] = 0] = "DEBUG";
LogVerbosity2[LogVerbosity2["INFO"] = 1] = "INFO";
LogVerbosity2[LogVerbosity2["ERROR"] = 2] = "ERROR";
LogVerbosity2[LogVerbosity2["NONE"] = 3] = "NONE";
})(LogVerbosity || (exports2.LogVerbosity = LogVerbosity = {}));
var Propagate;
(function(Propagate2) {
Propagate2[Propagate2["DEADLINE"] = 1] = "DEADLINE";
Propagate2[Propagate2["CENSUS_STATS_CONTEXT"] = 2] = "CENSUS_STATS_CONTEXT";
Propagate2[Propagate2["CENSUS_TRACING_CONTEXT"] = 4] = "CENSUS_TRACING_CONTEXT";
Propagate2[Propagate2["CANCELLATION"] = 8] = "CANCELLATION";
Propagate2[Propagate2["DEFAULTS"] = 65535] = "DEFAULTS";
})(Propagate || (exports2.Propagate = Propagate = {}));
exports2.DEFAULT_MAX_SEND_MESSAGE_LENGTH = -1;
exports2.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH = 4 * 1024 * 1024;
}
});
// node_modules/@grpc/grpc-js/package.json
var require_package3 = __commonJS({
"node_modules/@grpc/grpc-js/package.json"(exports2, module2) {
module2.exports = {
name: "@grpc/grpc-js",
version: "1.13.4",
description: "gRPC Library for Node - pure JS implementation",
homepage: "https://grpc.io/",
repository: "https://github.com/grpc/grpc-node/tree/master/packages/grpc-js",
main: "build/src/index.js",
engines: {
node: ">=12.10.0"
},
keywords: [],
author: {
name: "Google Inc."
},
types: "build/src/index.d.ts",
license: "Apache-2.0",
devDependencies: {
"@grpc/proto-loader": "file:../proto-loader",
"@types/gulp": "^4.0.17",
"@types/gulp-mocha": "0.0.37",
"@types/lodash": "^4.14.202",
"@types/mocha": "^10.0.6",
"@types/ncp": "^2.0.8",
"@types/node": ">=20.11.20",
"@types/pify": "^5.0.4",
"@types/semver": "^7.5.8",
"@typescript-eslint/eslint-plugin": "^7.1.0",
"@typescript-eslint/parser": "^7.1.0",
"@typescript-eslint/typescript-estree": "^7.1.0",
"clang-format": "^1.8.0",
eslint: "^8.42.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^4.2.1",
execa: "^2.0.3",
gulp: "^4.0.2",
"gulp-mocha": "^6.0.0",
lodash: "^4.17.21",
madge: "^5.0.1",
"mocha-jenkins-reporter": "^0.4.1",
ncp: "^2.0.0",
pify: "^4.0.1",
prettier: "^2.8.8",
rimraf: "^3.0.2",
semver: "^7.6.0",
"ts-node": "^10.9.2",
typescript: "^5.3.3"
},
contributors: [
{
name: "Google Inc."
}
],
scripts: {
build: "npm run compile",
clean: "rimraf ./build",
compile: "tsc -p .",
format: 'clang-format -i -style="{Language: JavaScript, BasedOnStyle: Google, ColumnLimit: 80}" src/*.ts test/*.ts',
lint: "eslint src/*.ts test/*.ts",
prepare: "npm run generate-types && npm run compile",
test: "gulp test",
check: "npm run lint",
fix: "eslint --fix src/*.ts test/*.ts",
pretest: "npm run generate-types && npm run generate-test-types && npm run compile",
posttest: "npm run check && madge -c ./build/src",
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --includeDirs proto/ --include-dirs test/fixtures/ -O src/generated/ --grpcLib ../index channelz.proto",
"generate-test-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --include-dirs test/fixtures/ -O test/generated/ --grpcLib ../../src/index test_service.proto"
},
dependencies: {
"@grpc/proto-loader": "^0.7.13",
"@js-sdsl/ordered-map": "^4.4.2"
},
files: [
"src/**/*.ts",
"build/src/**/*.{js,d.ts,js.map}",
"proto/*.proto",
"LICENSE",
"deps/envoy-api/envoy/api/v2/**/*.proto",
"deps/envoy-api/envoy/config/**/*.proto",
"deps/envoy-api/envoy/service/**/*.proto",
"deps/envoy-api/envoy/type/**/*.proto",
"deps/udpa/udpa/**/*.proto",
"deps/googleapis/google/api/*.proto",
"deps/googleapis/google/rpc/*.proto",
"deps/protoc-gen-validate/validate/**/*.proto"
]
};
}
});
// node_modules/@grpc/grpc-js/build/src/logging.js
var require_logging = __commonJS({
"node_modules/@grpc/grpc-js/build/src/logging.js"(exports2) {
"use strict";
var _a4;
var _b;
var _c;
var _d;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.log = exports2.setLoggerVerbosity = exports2.setLogger = exports2.getLogger = void 0;
exports2.trace = trace2;
exports2.isTracerEnabled = isTracerEnabled;
var constants_1 = require_constants2();
var process_1 = __require("process");
var clientVersion = require_package3().version;
var DEFAULT_LOGGER = {
error: (message, ...optionalParams) => {
console.error("E " + message, ...optionalParams);
},
info: (message, ...optionalParams) => {
console.error("I " + message, ...optionalParams);
},
debug: (message, ...optionalParams) => {
console.error("D " + message, ...optionalParams);
}
};
var _logger = DEFAULT_LOGGER;
var _logVerbosity = constants_1.LogVerbosity.ERROR;
var verbosityString = (_b = (_a4 = process.env.GRPC_NODE_VERBOSITY) !== null && _a4 !== void 0 ? _a4 : process.env.GRPC_VERBOSITY) !== null && _b !== void 0 ? _b : "";
switch (verbosityString.toUpperCase()) {
case "DEBUG":
_logVerbosity = constants_1.LogVerbosity.DEBUG;
break;
case "INFO":
_logVerbosity = constants_1.LogVerbosity.INFO;
break;
case "ERROR":
_logVerbosity = constants_1.LogVerbosity.ERROR;
break;
case "NONE":
_logVerbosity = constants_1.LogVerbosity.NONE;
break;
default:
}
var getLogger = () => {
return _logger;
};
exports2.getLogger = getLogger;
var setLogger = (logger3) => {
_logger = logger3;
};
exports2.setLogger = setLogger;
var setLoggerVerbosity = (verbosity) => {
_logVerbosity = verbosity;
};
exports2.setLoggerVerbosity = setLoggerVerbosity;
var log = (severity, ...args2) => {
let logFunction;
if (severity >= _logVerbosity) {
switch (severity) {
case constants_1.LogVerbosity.DEBUG:
logFunction = _logger.debug;
break;
case constants_1.LogVerbosity.INFO:
logFunction = _logger.info;
break;
case constants_1.LogVerbosity.ERROR:
logFunction = _logger.error;
break;
}
if (!logFunction) {
logFunction = _logger.error;
}
if (logFunction) {
logFunction.bind(_logger)(...args2);
}
}
};
exports2.log = log;
var tracersString = (_d = (_c = process.env.GRPC_NODE_TRACE) !== null && _c !== void 0 ? _c : process.env.GRPC_TRACE) !== null && _d !== void 0 ? _d : "";
var enabledTracers = /* @__PURE__ */ new Set();
var disabledTracers = /* @__PURE__ */ new Set();
for (const tracerName of tracersString.split(",")) {
if (tracerName.startsWith("-")) {
disabledTracers.add(tracerName.substring(1));
} else {
enabledTracers.add(tracerName);
}
}
var allEnabled = enabledTracers.has("all");
function trace2(severity, tracer, text) {
if (isTracerEnabled(tracer)) {
(0, exports2.log)(severity, (/* @__PURE__ */ new Date()).toISOString() + " | v" + clientVersion + " " + process_1.pid + " | " + tracer + " | " + text);
}
}
function isTracerEnabled(tracer) {
return !disabledTracers.has(tracer) && (allEnabled || enabledTracers.has(tracer));
}
}
});
// node_modules/@grpc/grpc-js/build/src/error.js
var require_error = __commonJS({
"node_modules/@grpc/grpc-js/build/src/error.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getErrorMessage = getErrorMessage5;
exports2.getErrorCode = getErrorCode;
function getErrorMessage5(error40) {
if (error40 instanceof Error) {
return error40.message;
} else {
return String(error40);
}
}
function getErrorCode(error40) {
if (typeof error40 === "object" && error40 !== null && "code" in error40 && typeof error40.code === "number") {
return error40.code;
} else {
return null;
}
}
}
});
// node_modules/@grpc/grpc-js/build/src/metadata.js
var require_metadata = __commonJS({
"node_modules/@grpc/grpc-js/build/src/metadata.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Metadata = void 0;
var logging_1 = require_logging();
var constants_1 = require_constants2();
var error_1 = require_error();
var LEGAL_KEY_REGEX = /^[0-9a-z_.-]+$/;
var LEGAL_NON_BINARY_VALUE_REGEX = /^[ -~]*$/;
function isLegalKey(key) {
return LEGAL_KEY_REGEX.test(key);
}
function isLegalNonBinaryValue(value) {
return LEGAL_NON_BINARY_VALUE_REGEX.test(value);
}
function isBinaryKey(key) {
return key.endsWith("-bin");
}
function isCustomMetadata(key) {
return !key.startsWith("grpc-");
}
function normalizeKey(key) {
return key.toLowerCase();
}
function validate3(key, value) {
if (!isLegalKey(key)) {
throw new Error('Metadata key "' + key + '" contains illegal characters');
}
if (value !== null && value !== void 0) {
if (isBinaryKey(key)) {
if (!Buffer.isBuffer(value)) {
throw new Error("keys that end with '-bin' must have Buffer values");
}
} else {
if (Buffer.isBuffer(value)) {
throw new Error("keys that don't end with '-bin' must have String values");
}
if (!isLegalNonBinaryValue(value)) {
throw new Error('Metadata string value "' + value + '" contains illegal characters');
}
}
}
}
var Metadata2 = class _Metadata {
constructor(options = {}) {
this.internalRepr = /* @__PURE__ */ new Map();
this.options = options;
}
/**
* Sets the given value for the given key by replacing any other values
* associated with that key. Normalizes the key.
* @param key The key to whose value should be set.
* @param value The value to set. Must be a buffer if and only
* if the normalized key ends with '-bin'.
*/
set(key, value) {
key = normalizeKey(key);
validate3(key, value);
this.internalRepr.set(key, [value]);
}
/**
* Adds the given value for the given key by appending to a list of previous
* values associated with that key. Normalizes the key.
* @param key The key for which a new value should be appended.
* @param value The value to add. Must be a buffer if and only
* if the normalized key ends with '-bin'.
*/
add(key, value) {
key = normalizeKey(key);
validate3(key, value);
const existingValue = this.internalRepr.get(key);
if (existingValue === void 0) {
this.internalRepr.set(key, [value]);
} else {
existingValue.push(value);
}
}
/**
* Removes the given key and any associated values. Normalizes the key.
* @param key The key whose values should be removed.
*/
remove(key) {
key = normalizeKey(key);
this.internalRepr.delete(key);
}
/**
* Gets a list of all values associated with the key. Normalizes the key.
* @param key The key whose value should be retrieved.
* @return A list of values associated with the given key.
*/
get(key) {
key = normalizeKey(key);
return this.internalRepr.get(key) || [];
}
/**
* Gets a plain object mapping each key to the first value associated with it.
* This reflects the most common way that people will want to see metadata.
* @return A key/value mapping of the metadata.
*/
getMap() {
const result2 = {};
for (const [key, values] of this.internalRepr) {
if (values.length > 0) {
const v = values[0];
result2[key] = Buffer.isBuffer(v) ? Buffer.from(v) : v;
}
}
return result2;
}
/**
* Clones the metadata object.
* @return The newly cloned object.
*/
clone() {
const newMetadata = new _Metadata(this.options);
const newInternalRepr = newMetadata.internalRepr;
for (const [key, value] of this.internalRepr) {
const clonedValue = value.map((v) => {
if (Buffer.isBuffer(v)) {
return Buffer.from(v);
} else {
return v;
}
});
newInternalRepr.set(key, clonedValue);
}
return newMetadata;
}
/**
* Merges all key-value pairs from a given Metadata object into this one.
* If both this object and the given object have values in the same key,
* values from the other Metadata object will be appended to this object's
* values.
* @param other A Metadata object.
*/
merge(other) {
for (const [key, values] of other.internalRepr) {
const mergedValue = (this.internalRepr.get(key) || []).concat(values);
this.internalRepr.set(key, mergedValue);
}
}
setOptions(options) {
this.options = options;
}
getOptions() {
return this.options;
}
/**
* Creates an OutgoingHttpHeaders object that can be used with the http2 API.
*/
toHttp2Headers() {
const result2 = {};
for (const [key, values] of this.internalRepr) {
result2[key] = values.map(bufToString);
}
return result2;
}
/**
* This modifies the behavior of JSON.stringify to show an object
* representation of the metadata map.
*/
toJSON() {
const result2 = {};
for (const [key, values] of this.internalRepr) {
result2[key] = values;
}
return result2;
}
/**
* Returns a new Metadata object based fields in a given IncomingHttpHeaders
* object.
* @param headers An IncomingHttpHeaders object.
*/
static fromHttp2Headers(headers) {
const result2 = new _Metadata();
for (const key of Object.keys(headers)) {
if (key.charAt(0) === ":") {
continue;
}
const values = headers[key];
try {
if (isBinaryKey(key)) {
if (Array.isArray(values)) {
values.forEach((value) => {
result2.add(key, Buffer.from(value, "base64"));
});
} else if (values !== void 0) {
if (isCustomMetadata(key)) {
values.split(",").forEach((v) => {
result2.add(key, Buffer.from(v.trim(), "base64"));
});
} else {
result2.add(key, Buffer.from(values, "base64"));
}
}
} else {
if (Array.isArray(values)) {
values.forEach((value) => {
result2.add(key, value);
});
} else if (values !== void 0) {
result2.add(key, values);
}
}
} catch (error40) {
const message = `Failed to add metadata entry ${key}: ${values}. ${(0, error_1.getErrorMessage)(error40)}. For more information see https://github.com/grpc/grpc-node/issues/1173`;
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, message);
}
}
return result2;
}
};
exports2.Metadata = Metadata2;
var bufToString = (val) => {
return Buffer.isBuffer(val) ? val.toString("base64") : val;
};
}
});
// node_modules/@grpc/grpc-js/build/src/call-credentials.js
var require_call_credentials = __commonJS({
"node_modules/@grpc/grpc-js/build/src/call-credentials.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CallCredentials = void 0;
var metadata_1 = require_metadata();
function isCurrentOauth2Client(client) {
return "getRequestHeaders" in client && typeof client.getRequestHeaders === "function";
}
var CallCredentials = class _CallCredentials {
/**
* Creates a new CallCredentials object from a given function that generates
* Metadata objects.
* @param metadataGenerator A function that accepts a set of options, and
* generates a Metadata object based on these options, which is passed back
* to the caller via a supplied (err, metadata) callback.
*/
static createFromMetadataGenerator(metadataGenerator) {
return new SingleCallCredentials(metadataGenerator);
}
/**
* Create a gRPC credential from a Google credential object.
* @param googleCredentials The authentication client to use.
* @return The resulting CallCredentials object.
*/
static createFromGoogleCredential(googleCredentials) {
return _CallCredentials.createFromMetadataGenerator((options, callback) => {
let getHeaders;
if (isCurrentOauth2Client(googleCredentials)) {
getHeaders = googleCredentials.getRequestHeaders(options.service_url);
} else {
getHeaders = new Promise((resolve25, reject) => {
googleCredentials.getRequestMetadata(options.service_url, (err2, headers) => {
if (err2) {
reject(err2);
return;
}
if (!headers) {
reject(new Error("Headers not set by metadata plugin"));
return;
}
resolve25(headers);
});
});
}
getHeaders.then((headers) => {
const metadata2 = new metadata_1.Metadata();
for (const key of Object.keys(headers)) {
metadata2.add(key, headers[key]);
}
callback(null, metadata2);
}, (err2) => {
callback(err2);
});
});
}
static createEmpty() {
return new EmptyCallCredentials();
}
};
exports2.CallCredentials = CallCredentials;
var ComposedCallCredentials = class _ComposedCallCredentials extends CallCredentials {
constructor(creds) {
super();
this.creds = creds;
}
async generateMetadata(options) {
const base = new metadata_1.Metadata();
const generated = await Promise.all(this.creds.map((cred) => cred.generateMetadata(options)));
for (const gen of generated) {
base.merge(gen);
}
return base;
}
compose(other) {
return new _ComposedCallCredentials(this.creds.concat([other]));
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _ComposedCallCredentials) {
return this.creds.every((value, index) => value._equals(other.creds[index]));
} else {
return false;
}
}
};
var SingleCallCredentials = class _SingleCallCredentials extends CallCredentials {
constructor(metadataGenerator) {
super();
this.metadataGenerator = metadataGenerator;
}
generateMetadata(options) {
return new Promise((resolve25, reject) => {
this.metadataGenerator(options, (err2, metadata2) => {
if (metadata2 !== void 0) {
resolve25(metadata2);
} else {
reject(err2);
}
});
});
}
compose(other) {
return new ComposedCallCredentials([this, other]);
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _SingleCallCredentials) {
return this.metadataGenerator === other.metadataGenerator;
} else {
return false;
}
}
};
var EmptyCallCredentials = class _EmptyCallCredentials extends CallCredentials {
generateMetadata(options) {
return Promise.resolve(new metadata_1.Metadata());
}
compose(other) {
return other;
}
_equals(other) {
return other instanceof _EmptyCallCredentials;
}
};
}
});
// node_modules/@grpc/grpc-js/build/src/tls-helpers.js
var require_tls_helpers = __commonJS({
"node_modules/@grpc/grpc-js/build/src/tls-helpers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CIPHER_SUITES = void 0;
exports2.getDefaultRootsData = getDefaultRootsData;
var fs84 = __require("fs");
exports2.CIPHER_SUITES = process.env.GRPC_SSL_CIPHER_SUITES;
var DEFAULT_ROOTS_FILE_PATH = process.env.GRPC_DEFAULT_SSL_ROOTS_FILE_PATH;
var defaultRootsData = null;
function getDefaultRootsData() {
if (DEFAULT_ROOTS_FILE_PATH) {
if (defaultRootsData === null) {
defaultRootsData = fs84.readFileSync(DEFAULT_ROOTS_FILE_PATH);
}
return defaultRootsData;
}
return null;
}
}
});
// node_modules/@grpc/grpc-js/build/src/uri-parser.js
var require_uri_parser = __commonJS({
"node_modules/@grpc/grpc-js/build/src/uri-parser.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseUri = parseUri;
exports2.splitHostPort = splitHostPort;
exports2.combineHostPort = combineHostPort;
exports2.uriToString = uriToString;
var URI_REGEX = /^(?:([A-Za-z0-9+.-]+):)?(?:\/\/([^/]*)\/)?(.+)$/;
function parseUri(uriString) {
const parsedUri = URI_REGEX.exec(uriString);
if (parsedUri === null) {
return null;
}
return {
scheme: parsedUri[1],
authority: parsedUri[2],
path: parsedUri[3]
};
}
var NUMBER_REGEX = /^\d+$/;
function splitHostPort(path101) {
if (path101.startsWith("[")) {
const hostEnd = path101.indexOf("]");
if (hostEnd === -1) {
return null;
}
const host = path101.substring(1, hostEnd);
if (host.indexOf(":") === -1) {
return null;
}
if (path101.length > hostEnd + 1) {
if (path101[hostEnd + 1] === ":") {
const portString = path101.substring(hostEnd + 2);
if (NUMBER_REGEX.test(portString)) {
return {
host,
port: +portString
};
} else {
return null;
}
} else {
return null;
}
} else {
return {
host
};
}
} else {
const splitPath = path101.split(":");
if (splitPath.length === 2) {
if (NUMBER_REGEX.test(splitPath[1])) {
return {
host: splitPath[0],
port: +splitPath[1]
};
} else {
return null;
}
} else {
return {
host: path101
};
}
}
}
function combineHostPort(hostPort) {
if (hostPort.port === void 0) {
return hostPort.host;
} else {
if (hostPort.host.includes(":")) {
return `[${hostPort.host}]:${hostPort.port}`;
} else {
return `${hostPort.host}:${hostPort.port}`;
}
}
}
function uriToString(uri) {
let result2 = "";
if (uri.scheme !== void 0) {
result2 += uri.scheme + ":";
}
if (uri.authority !== void 0) {
result2 += "//" + uri.authority + "/";
}
result2 += uri.path;
return result2;
}
}
});
// node_modules/@grpc/grpc-js/build/src/resolver.js
var require_resolver = __commonJS({
"node_modules/@grpc/grpc-js/build/src/resolver.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.registerResolver = registerResolver;
exports2.registerDefaultScheme = registerDefaultScheme;
exports2.createResolver = createResolver;
exports2.getDefaultAuthority = getDefaultAuthority;
exports2.mapUriDefaultScheme = mapUriDefaultScheme;
var uri_parser_1 = require_uri_parser();
var registeredResolvers = {};
var defaultScheme = null;
function registerResolver(scheme, resolverClass) {
registeredResolvers[scheme] = resolverClass;
}
function registerDefaultScheme(scheme) {
defaultScheme = scheme;
}
function createResolver(target, listener, options) {
if (target.scheme !== void 0 && target.scheme in registeredResolvers) {
return new registeredResolvers[target.scheme](target, listener, options);
} else {
throw new Error(`No resolver could be created for target ${(0, uri_parser_1.uriToString)(target)}`);
}
}
function getDefaultAuthority(target) {
if (target.scheme !== void 0 && target.scheme in registeredResolvers) {
return registeredResolvers[target.scheme].getDefaultAuthority(target);
} else {
throw new Error(`Invalid target ${(0, uri_parser_1.uriToString)(target)}`);
}
}
function mapUriDefaultScheme(target) {
if (target.scheme === void 0 || !(target.scheme in registeredResolvers)) {
if (defaultScheme !== null) {
return {
scheme: defaultScheme,
authority: void 0,
path: (0, uri_parser_1.uriToString)(target)
};
} else {
return null;
}
}
return target;
}
}
});
// node_modules/@grpc/grpc-js/build/src/channel-credentials.js
var require_channel_credentials = __commonJS({
"node_modules/@grpc/grpc-js/build/src/channel-credentials.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ChannelCredentials = void 0;
exports2.createCertificateProviderChannelCredentials = createCertificateProviderChannelCredentials;
var tls_1 = __require("tls");
var call_credentials_1 = require_call_credentials();
var tls_helpers_1 = require_tls_helpers();
var uri_parser_1 = require_uri_parser();
var resolver_1 = require_resolver();
var logging_1 = require_logging();
var constants_1 = require_constants2();
function verifyIsBufferOrNull(obj, friendlyName) {
if (obj && !(obj instanceof Buffer)) {
throw new TypeError(`${friendlyName}, if provided, must be a Buffer.`);
}
}
var ChannelCredentials = class {
/**
* Returns a copy of this object with the included set of per-call credentials
* expanded to include callCredentials.
* @param callCredentials A CallCredentials object to associate with this
* instance.
*/
compose(callCredentials) {
return new ComposedChannelCredentialsImpl(this, callCredentials);
}
/**
* Return a new ChannelCredentials instance with a given set of credentials.
* The resulting instance can be used to construct a Channel that communicates
* over TLS.
* @param rootCerts The root certificate data.
* @param privateKey The client certificate private key, if available.
* @param certChain The client certificate key chain, if available.
* @param verifyOptions Additional options to modify certificate verification
*/
static createSsl(rootCerts, privateKey, certChain, verifyOptions) {
var _a4;
verifyIsBufferOrNull(rootCerts, "Root certificate");
verifyIsBufferOrNull(privateKey, "Private key");
verifyIsBufferOrNull(certChain, "Certificate chain");
if (privateKey && !certChain) {
throw new Error("Private key must be given with accompanying certificate chain");
}
if (!privateKey && certChain) {
throw new Error("Certificate chain must be given with accompanying private key");
}
const secureContext = (0, tls_1.createSecureContext)({
ca: (_a4 = rootCerts !== null && rootCerts !== void 0 ? rootCerts : (0, tls_helpers_1.getDefaultRootsData)()) !== null && _a4 !== void 0 ? _a4 : void 0,
key: privateKey !== null && privateKey !== void 0 ? privateKey : void 0,
cert: certChain !== null && certChain !== void 0 ? certChain : void 0,
ciphers: tls_helpers_1.CIPHER_SUITES
});
return new SecureChannelCredentialsImpl(secureContext, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
}
/**
* Return a new ChannelCredentials instance with credentials created using
* the provided secureContext. The resulting instances can be used to
* construct a Channel that communicates over TLS. gRPC will not override
* anything in the provided secureContext, so the environment variables
* GRPC_SSL_CIPHER_SUITES and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH will
* not be applied.
* @param secureContext The return value of tls.createSecureContext()
* @param verifyOptions Additional options to modify certificate verification
*/
static createFromSecureContext(secureContext, verifyOptions) {
return new SecureChannelCredentialsImpl(secureContext, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
}
/**
* Return a new ChannelCredentials instance with no credentials.
*/
static createInsecure() {
return new InsecureChannelCredentialsImpl();
}
};
exports2.ChannelCredentials = ChannelCredentials;
var InsecureChannelCredentialsImpl = class _InsecureChannelCredentialsImpl extends ChannelCredentials {
constructor() {
super();
}
compose(callCredentials) {
throw new Error("Cannot compose insecure credentials");
}
_isSecure() {
return false;
}
_equals(other) {
return other instanceof _InsecureChannelCredentialsImpl;
}
_createSecureConnector(channelTarget, options, callCredentials) {
return {
connect(socket) {
return Promise.resolve({
socket,
secure: false
});
},
waitForReady: () => {
return Promise.resolve();
},
getCallCredentials: () => {
return callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty();
},
destroy() {
}
};
}
};
function getConnectionOptions(secureContext, verifyOptions, channelTarget, options) {
var _a4, _b;
const connectionOptions = {
secureContext
};
let realTarget = channelTarget;
if ("grpc.http_connect_target" in options) {
const parsedTarget = (0, uri_parser_1.parseUri)(options["grpc.http_connect_target"]);
if (parsedTarget) {
realTarget = parsedTarget;
}
}
const targetPath = (0, resolver_1.getDefaultAuthority)(realTarget);
const hostPort = (0, uri_parser_1.splitHostPort)(targetPath);
const remoteHost = (_a4 = hostPort === null || hostPort === void 0 ? void 0 : hostPort.host) !== null && _a4 !== void 0 ? _a4 : targetPath;
connectionOptions.host = remoteHost;
if (verifyOptions.checkServerIdentity) {
connectionOptions.checkServerIdentity = verifyOptions.checkServerIdentity;
}
if (verifyOptions.rejectUnauthorized !== void 0) {
connectionOptions.rejectUnauthorized = verifyOptions.rejectUnauthorized;
}
connectionOptions.ALPNProtocols = ["h2"];
if (options["grpc.ssl_target_name_override"]) {
const sslTargetNameOverride = options["grpc.ssl_target_name_override"];
const originalCheckServerIdentity = (_b = connectionOptions.checkServerIdentity) !== null && _b !== void 0 ? _b : tls_1.checkServerIdentity;
connectionOptions.checkServerIdentity = (host, cert) => {
return originalCheckServerIdentity(sslTargetNameOverride, cert);
};
connectionOptions.servername = sslTargetNameOverride;
} else {
connectionOptions.servername = remoteHost;
}
if (options["grpc-node.tls_enable_trace"]) {
connectionOptions.enableTrace = true;
}
return connectionOptions;
}
var SecureConnectorImpl = class {
constructor(connectionOptions, callCredentials) {
this.connectionOptions = connectionOptions;
this.callCredentials = callCredentials;
}
connect(socket) {
const tlsConnectOptions = Object.assign({ socket }, this.connectionOptions);
return new Promise((resolve25, reject) => {
const tlsSocket = (0, tls_1.connect)(tlsConnectOptions, () => {
var _a4;
if (((_a4 = this.connectionOptions.rejectUnauthorized) !== null && _a4 !== void 0 ? _a4 : true) && !tlsSocket.authorized) {
reject(tlsSocket.authorizationError);
return;
}
resolve25({
socket: tlsSocket,
secure: true
});
});
tlsSocket.on("error", (error40) => {
reject(error40);
});
});
}
waitForReady() {
return Promise.resolve();
}
getCallCredentials() {
return this.callCredentials;
}
destroy() {
}
};
var SecureChannelCredentialsImpl = class _SecureChannelCredentialsImpl extends ChannelCredentials {
constructor(secureContext, verifyOptions) {
super();
this.secureContext = secureContext;
this.verifyOptions = verifyOptions;
}
_isSecure() {
return true;
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _SecureChannelCredentialsImpl) {
return this.secureContext === other.secureContext && this.verifyOptions.checkServerIdentity === other.verifyOptions.checkServerIdentity;
} else {
return false;
}
}
_createSecureConnector(channelTarget, options, callCredentials) {
const connectionOptions = getConnectionOptions(this.secureContext, this.verifyOptions, channelTarget, options);
return new SecureConnectorImpl(connectionOptions, callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty());
}
};
var CertificateProviderChannelCredentialsImpl = class _CertificateProviderChannelCredentialsImpl extends ChannelCredentials {
constructor(caCertificateProvider, identityCertificateProvider, verifyOptions) {
super();
this.caCertificateProvider = caCertificateProvider;
this.identityCertificateProvider = identityCertificateProvider;
this.verifyOptions = verifyOptions;
this.refcount = 0;
this.latestCaUpdate = void 0;
this.latestIdentityUpdate = void 0;
this.caCertificateUpdateListener = this.handleCaCertificateUpdate.bind(this);
this.identityCertificateUpdateListener = this.handleIdentityCertitificateUpdate.bind(this);
this.secureContextWatchers = [];
}
_isSecure() {
return true;
}
_equals(other) {
var _a4, _b;
if (this === other) {
return true;
}
if (other instanceof _CertificateProviderChannelCredentialsImpl) {
return this.caCertificateProvider === other.caCertificateProvider && this.identityCertificateProvider === other.identityCertificateProvider && ((_a4 = this.verifyOptions) === null || _a4 === void 0 ? void 0 : _a4.checkServerIdentity) === ((_b = other.verifyOptions) === null || _b === void 0 ? void 0 : _b.checkServerIdentity);
} else {
return false;
}
}
ref() {
var _a4;
if (this.refcount === 0) {
this.caCertificateProvider.addCaCertificateListener(this.caCertificateUpdateListener);
(_a4 = this.identityCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.addIdentityCertificateListener(this.identityCertificateUpdateListener);
}
this.refcount += 1;
}
unref() {
var _a4;
this.refcount -= 1;
if (this.refcount === 0) {
this.caCertificateProvider.removeCaCertificateListener(this.caCertificateUpdateListener);
(_a4 = this.identityCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.removeIdentityCertificateListener(this.identityCertificateUpdateListener);
}
}
_createSecureConnector(channelTarget, options, callCredentials) {
this.ref();
return new _CertificateProviderChannelCredentialsImpl.SecureConnectorImpl(this, channelTarget, options, callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty());
}
maybeUpdateWatchers() {
if (this.hasReceivedUpdates()) {
for (const watcher of this.secureContextWatchers) {
watcher(this.getLatestSecureContext());
}
this.secureContextWatchers = [];
}
}
handleCaCertificateUpdate(update) {
this.latestCaUpdate = update;
this.maybeUpdateWatchers();
}
handleIdentityCertitificateUpdate(update) {
this.latestIdentityUpdate = update;
this.maybeUpdateWatchers();
}
hasReceivedUpdates() {
if (this.latestCaUpdate === void 0) {
return false;
}
if (this.identityCertificateProvider && this.latestIdentityUpdate === void 0) {
return false;
}
return true;
}
getSecureContext() {
if (this.hasReceivedUpdates()) {
return Promise.resolve(this.getLatestSecureContext());
} else {
return new Promise((resolve25) => {
this.secureContextWatchers.push(resolve25);
});
}
}
getLatestSecureContext() {
var _a4, _b;
if (!this.latestCaUpdate) {
return null;
}
if (this.identityCertificateProvider !== null && !this.latestIdentityUpdate) {
return null;
}
try {
return (0, tls_1.createSecureContext)({
ca: this.latestCaUpdate.caCertificate,
key: (_a4 = this.latestIdentityUpdate) === null || _a4 === void 0 ? void 0 : _a4.privateKey,
cert: (_b = this.latestIdentityUpdate) === null || _b === void 0 ? void 0 : _b.certificate,
ciphers: tls_helpers_1.CIPHER_SUITES
});
} catch (e2) {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, "Failed to createSecureContext with error " + e2.message);
return null;
}
}
};
CertificateProviderChannelCredentialsImpl.SecureConnectorImpl = class {
constructor(parent, channelTarget, options, callCredentials) {
this.parent = parent;
this.channelTarget = channelTarget;
this.options = options;
this.callCredentials = callCredentials;
}
connect(socket) {
return new Promise((resolve25, reject) => {
const secureContext = this.parent.getLatestSecureContext();
if (!secureContext) {
reject(new Error("Failed to load credentials"));
return;
}
if (socket.closed) {
reject(new Error("Socket closed while loading credentials"));
}
const connnectionOptions = getConnectionOptions(secureContext, this.parent.verifyOptions, this.channelTarget, this.options);
const tlsConnectOptions = Object.assign({ socket }, connnectionOptions);
const closeCallback = () => {
reject(new Error("Socket closed"));
};
const errorCallback = (error40) => {
reject(error40);
};
const tlsSocket = (0, tls_1.connect)(tlsConnectOptions, () => {
var _a4;
tlsSocket.removeListener("close", closeCallback);
tlsSocket.removeListener("error", errorCallback);
if (((_a4 = this.parent.verifyOptions.rejectUnauthorized) !== null && _a4 !== void 0 ? _a4 : true) && !tlsSocket.authorized) {
reject(tlsSocket.authorizationError);
return;
}
resolve25({
socket: tlsSocket,
secure: true
});
});
tlsSocket.once("close", closeCallback);
tlsSocket.once("error", errorCallback);
});
}
async waitForReady() {
await this.parent.getSecureContext();
}
getCallCredentials() {
return this.callCredentials;
}
destroy() {
this.parent.unref();
}
};
function createCertificateProviderChannelCredentials(caCertificateProvider, identityCertificateProvider, verifyOptions) {
return new CertificateProviderChannelCredentialsImpl(caCertificateProvider, identityCertificateProvider, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
}
var ComposedChannelCredentialsImpl = class _ComposedChannelCredentialsImpl extends ChannelCredentials {
constructor(channelCredentials, callCredentials) {
super();
this.channelCredentials = channelCredentials;
this.callCredentials = callCredentials;
if (!channelCredentials._isSecure()) {
throw new Error("Cannot compose insecure credentials");
}
}
compose(callCredentials) {
const combinedCallCredentials = this.callCredentials.compose(callCredentials);
return new _ComposedChannelCredentialsImpl(this.channelCredentials, combinedCallCredentials);
}
_isSecure() {
return true;
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _ComposedChannelCredentialsImpl) {
return this.channelCredentials._equals(other.channelCredentials) && this.callCredentials._equals(other.callCredentials);
} else {
return false;
}
}
_createSecureConnector(channelTarget, options, callCredentials) {
const combinedCallCredentials = this.callCredentials.compose(callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty());
return this.channelCredentials._createSecureConnector(channelTarget, options, combinedCallCredentials);
}
};
}
});
// node_modules/@grpc/grpc-js/build/src/load-balancer.js
var require_load_balancer = __commonJS({
"node_modules/@grpc/grpc-js/build/src/load-balancer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createChildChannelControlHelper = createChildChannelControlHelper;
exports2.registerLoadBalancerType = registerLoadBalancerType;
exports2.registerDefaultLoadBalancerType = registerDefaultLoadBalancerType;
exports2.createLoadBalancer = createLoadBalancer;
exports2.isLoadBalancerNameRegistered = isLoadBalancerNameRegistered;
exports2.parseLoadBalancingConfig = parseLoadBalancingConfig;
exports2.getDefaultConfig = getDefaultConfig;
exports2.selectLbConfigFromList = selectLbConfigFromList;
var logging_1 = require_logging();
var constants_1 = require_constants2();
function createChildChannelControlHelper(parent, overrides) {
var _a4, _b, _c, _d, _e, _f, _g, _h, _j, _k;
return {
createSubchannel: (_b = (_a4 = overrides.createSubchannel) === null || _a4 === void 0 ? void 0 : _a4.bind(overrides)) !== null && _b !== void 0 ? _b : parent.createSubchannel.bind(parent),
updateState: (_d = (_c = overrides.updateState) === null || _c === void 0 ? void 0 : _c.bind(overrides)) !== null && _d !== void 0 ? _d : parent.updateState.bind(parent),
requestReresolution: (_f = (_e = overrides.requestReresolution) === null || _e === void 0 ? void 0 : _e.bind(overrides)) !== null && _f !== void 0 ? _f : parent.requestReresolution.bind(parent),
addChannelzChild: (_h = (_g = overrides.addChannelzChild) === null || _g === void 0 ? void 0 : _g.bind(overrides)) !== null && _h !== void 0 ? _h : parent.addChannelzChild.bind(parent),
removeChannelzChild: (_k = (_j = overrides.removeChannelzChild) === null || _j === void 0 ? void 0 : _j.bind(overrides)) !== null && _k !== void 0 ? _k : parent.removeChannelzChild.bind(parent)
};
}
var registeredLoadBalancerTypes = {};
var defaultLoadBalancerType = null;
function registerLoadBalancerType(typeName, loadBalancerType, loadBalancingConfigType) {
registeredLoadBalancerTypes[typeName] = {
LoadBalancer: loadBalancerType,
LoadBalancingConfig: loadBalancingConfigType
};
}
function registerDefaultLoadBalancerType(typeName) {
defaultLoadBalancerType = typeName;
}
function createLoadBalancer(config2, channelControlHelper) {
const typeName = config2.getLoadBalancerName();
if (typeName in registeredLoadBalancerTypes) {
return new registeredLoadBalancerTypes[typeName].LoadBalancer(channelControlHelper);
} else {
return null;
}
}
function isLoadBalancerNameRegistered(typeName) {
return typeName in registeredLoadBalancerTypes;
}
function parseLoadBalancingConfig(rawConfig) {
const keys = Object.keys(rawConfig);
if (keys.length !== 1) {
throw new Error("Provided load balancing config has multiple conflicting entries");
}
const typeName = keys[0];
if (typeName in registeredLoadBalancerTypes) {
try {
return registeredLoadBalancerTypes[typeName].LoadBalancingConfig.createFromJson(rawConfig[typeName]);
} catch (e2) {
throw new Error(`${typeName}: ${e2.message}`);
}
} else {
throw new Error(`Unrecognized load balancing config name ${typeName}`);
}
}
function getDefaultConfig() {
if (!defaultLoadBalancerType) {
throw new Error("No default load balancer type registered");
}
return new registeredLoadBalancerTypes[defaultLoadBalancerType].LoadBalancingConfig();
}
function selectLbConfigFromList(configs, fallbackTodefault = false) {
for (const config2 of configs) {
try {
return parseLoadBalancingConfig(config2);
} catch (e2) {
(0, logging_1.log)(constants_1.LogVerbosity.DEBUG, "Config parsing failed with error", e2.message);
continue;
}
}
if (fallbackTodefault) {
if (defaultLoadBalancerType) {
return new registeredLoadBalancerTypes[defaultLoadBalancerType].LoadBalancingConfig();
} else {
return null;
}
} else {
return null;
}
}
}
});
// node_modules/@grpc/grpc-js/build/src/service-config.js
var require_service_config = __commonJS({
"node_modules/@grpc/grpc-js/build/src/service-config.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateRetryThrottling = validateRetryThrottling;
exports2.validateServiceConfig = validateServiceConfig;
exports2.extractAndSelectServiceConfig = extractAndSelectServiceConfig;
var os30 = __require("os");
var constants_1 = require_constants2();
var DURATION_REGEX = /^\d+(\.\d{1,9})?s$/;
var CLIENT_LANGUAGE_STRING = "node";
function validateName(obj) {
if ("service" in obj && obj.service !== "") {
if (typeof obj.service !== "string") {
throw new Error(`Invalid method config name: invalid service: expected type string, got ${typeof obj.service}`);
}
if ("method" in obj && obj.method !== "") {
if (typeof obj.method !== "string") {
throw new Error(`Invalid method config name: invalid method: expected type string, got ${typeof obj.service}`);
}
return {
service: obj.service,
method: obj.method
};
} else {
return {
service: obj.service
};
}
} else {
if ("method" in obj && obj.method !== void 0) {
throw new Error(`Invalid method config name: method set with empty or unset service`);
}
return {};
}
}
function validateRetryPolicy(obj) {
if (!("maxAttempts" in obj) || !Number.isInteger(obj.maxAttempts) || obj.maxAttempts < 2) {
throw new Error("Invalid method config retry policy: maxAttempts must be an integer at least 2");
}
if (!("initialBackoff" in obj) || typeof obj.initialBackoff !== "string" || !DURATION_REGEX.test(obj.initialBackoff)) {
throw new Error("Invalid method config retry policy: initialBackoff must be a string consisting of a positive integer or decimal followed by s");
}
if (!("maxBackoff" in obj) || typeof obj.maxBackoff !== "string" || !DURATION_REGEX.test(obj.maxBackoff)) {
throw new Error("Invalid method config retry policy: maxBackoff must be a string consisting of a positive integer or decimal followed by s");
}
if (!("backoffMultiplier" in obj) || typeof obj.backoffMultiplier !== "number" || obj.backoffMultiplier <= 0) {
throw new Error("Invalid method config retry policy: backoffMultiplier must be a number greater than 0");
}
if (!("retryableStatusCodes" in obj && Array.isArray(obj.retryableStatusCodes))) {
throw new Error("Invalid method config retry policy: retryableStatusCodes is required");
}
if (obj.retryableStatusCodes.length === 0) {
throw new Error("Invalid method config retry policy: retryableStatusCodes must be non-empty");
}
for (const value of obj.retryableStatusCodes) {
if (typeof value === "number") {
if (!Object.values(constants_1.Status).includes(value)) {
throw new Error("Invalid method config retry policy: retryableStatusCodes value not in status code range");
}
} else if (typeof value === "string") {
if (!Object.values(constants_1.Status).includes(value.toUpperCase())) {
throw new Error("Invalid method config retry policy: retryableStatusCodes value not a status code name");
}
} else {
throw new Error("Invalid method config retry policy: retryableStatusCodes value must be a string or number");
}
}
return {
maxAttempts: obj.maxAttempts,
initialBackoff: obj.initialBackoff,
maxBackoff: obj.maxBackoff,
backoffMultiplier: obj.backoffMultiplier,
retryableStatusCodes: obj.retryableStatusCodes
};
}
function validateHedgingPolicy(obj) {
if (!("maxAttempts" in obj) || !Number.isInteger(obj.maxAttempts) || obj.maxAttempts < 2) {
throw new Error("Invalid method config hedging policy: maxAttempts must be an integer at least 2");
}
if ("hedgingDelay" in obj && (typeof obj.hedgingDelay !== "string" || !DURATION_REGEX.test(obj.hedgingDelay))) {
throw new Error("Invalid method config hedging policy: hedgingDelay must be a string consisting of a positive integer followed by s");
}
if ("nonFatalStatusCodes" in obj && Array.isArray(obj.nonFatalStatusCodes)) {
for (const value of obj.nonFatalStatusCodes) {
if (typeof value === "number") {
if (!Object.values(constants_1.Status).includes(value)) {
throw new Error("Invalid method config hedging policy: nonFatalStatusCodes value not in status code range");
}
} else if (typeof value === "string") {
if (!Object.values(constants_1.Status).includes(value.toUpperCase())) {
throw new Error("Invalid method config hedging policy: nonFatalStatusCodes value not a status code name");
}
} else {
throw new Error("Invalid method config hedging policy: nonFatalStatusCodes value must be a string or number");
}
}
}
const result2 = {
maxAttempts: obj.maxAttempts
};
if (obj.hedgingDelay) {
result2.hedgingDelay = obj.hedgingDelay;
}
if (obj.nonFatalStatusCodes) {
result2.nonFatalStatusCodes = obj.nonFatalStatusCodes;
}
return result2;
}
function validateMethodConfig(obj) {
var _a4;
const result2 = {
name: []
};
if (!("name" in obj) || !Array.isArray(obj.name)) {
throw new Error("Invalid method config: invalid name array");
}
for (const name3 of obj.name) {
result2.name.push(validateName(name3));
}
if ("waitForReady" in obj) {
if (typeof obj.waitForReady !== "boolean") {
throw new Error("Invalid method config: invalid waitForReady");
}
result2.waitForReady = obj.waitForReady;
}
if ("timeout" in obj) {
if (typeof obj.timeout === "object") {
if (!("seconds" in obj.timeout) || !(typeof obj.timeout.seconds === "number")) {
throw new Error("Invalid method config: invalid timeout.seconds");
}
if (!("nanos" in obj.timeout) || !(typeof obj.timeout.nanos === "number")) {
throw new Error("Invalid method config: invalid timeout.nanos");
}
result2.timeout = obj.timeout;
} else if (typeof obj.timeout === "string" && DURATION_REGEX.test(obj.timeout)) {
const timeoutParts = obj.timeout.substring(0, obj.timeout.length - 1).split(".");
result2.timeout = {
seconds: timeoutParts[0] | 0,
nanos: ((_a4 = timeoutParts[1]) !== null && _a4 !== void 0 ? _a4 : 0) | 0
};
} else {
throw new Error("Invalid method config: invalid timeout");
}
}
if ("maxRequestBytes" in obj) {
if (typeof obj.maxRequestBytes !== "number") {
throw new Error("Invalid method config: invalid maxRequestBytes");
}
result2.maxRequestBytes = obj.maxRequestBytes;
}
if ("maxResponseBytes" in obj) {
if (typeof obj.maxResponseBytes !== "number") {
throw new Error("Invalid method config: invalid maxRequestBytes");
}
result2.maxResponseBytes = obj.maxResponseBytes;
}
if ("retryPolicy" in obj) {
if ("hedgingPolicy" in obj) {
throw new Error("Invalid method config: retryPolicy and hedgingPolicy cannot both be specified");
} else {
result2.retryPolicy = validateRetryPolicy(obj.retryPolicy);
}
} else if ("hedgingPolicy" in obj) {
result2.hedgingPolicy = validateHedgingPolicy(obj.hedgingPolicy);
}
return result2;
}
function validateRetryThrottling(obj) {
if (!("maxTokens" in obj) || typeof obj.maxTokens !== "number" || obj.maxTokens <= 0 || obj.maxTokens > 1e3) {
throw new Error("Invalid retryThrottling: maxTokens must be a number in (0, 1000]");
}
if (!("tokenRatio" in obj) || typeof obj.tokenRatio !== "number" || obj.tokenRatio <= 0) {
throw new Error("Invalid retryThrottling: tokenRatio must be a number greater than 0");
}
return {
maxTokens: +obj.maxTokens.toFixed(3),
tokenRatio: +obj.tokenRatio.toFixed(3)
};
}
function validateLoadBalancingConfig(obj) {
if (!(typeof obj === "object" && obj !== null)) {
throw new Error(`Invalid loadBalancingConfig: unexpected type ${typeof obj}`);
}
const keys = Object.keys(obj);
if (keys.length > 1) {
throw new Error(`Invalid loadBalancingConfig: unexpected multiple keys ${keys}`);
}
if (keys.length === 0) {
throw new Error("Invalid loadBalancingConfig: load balancing policy name required");
}
return {
[keys[0]]: obj[keys[0]]
};
}
function validateServiceConfig(obj) {
const result2 = {
loadBalancingConfig: [],
methodConfig: []
};
if ("loadBalancingPolicy" in obj) {
if (typeof obj.loadBalancingPolicy === "string") {
result2.loadBalancingPolicy = obj.loadBalancingPolicy;
} else {
throw new Error("Invalid service config: invalid loadBalancingPolicy");
}
}
if ("loadBalancingConfig" in obj) {
if (Array.isArray(obj.loadBalancingConfig)) {
for (const config2 of obj.loadBalancingConfig) {
result2.loadBalancingConfig.push(validateLoadBalancingConfig(config2));
}
} else {
throw new Error("Invalid service config: invalid loadBalancingConfig");
}
}
if ("methodConfig" in obj) {
if (Array.isArray(obj.methodConfig)) {
for (const methodConfig of obj.methodConfig) {
result2.methodConfig.push(validateMethodConfig(methodConfig));
}
}
}
if ("retryThrottling" in obj) {
result2.retryThrottling = validateRetryThrottling(obj.retryThrottling);
}
const seenMethodNames = [];
for (const methodConfig of result2.methodConfig) {
for (const name3 of methodConfig.name) {
for (const seenName of seenMethodNames) {
if (name3.service === seenName.service && name3.method === seenName.method) {
throw new Error(`Invalid service config: duplicate name ${name3.service}/${name3.method}`);
}
}
seenMethodNames.push(name3);
}
}
return result2;
}
function validateCanaryConfig(obj) {
if (!("serviceConfig" in obj)) {
throw new Error("Invalid service config choice: missing service config");
}
const result2 = {
serviceConfig: validateServiceConfig(obj.serviceConfig)
};
if ("clientLanguage" in obj) {
if (Array.isArray(obj.clientLanguage)) {
result2.clientLanguage = [];
for (const lang of obj.clientLanguage) {
if (typeof lang === "string") {
result2.clientLanguage.push(lang);
} else {
throw new Error("Invalid service config choice: invalid clientLanguage");
}
}
} else {
throw new Error("Invalid service config choice: invalid clientLanguage");
}
}
if ("clientHostname" in obj) {
if (Array.isArray(obj.clientHostname)) {
result2.clientHostname = [];
for (const lang of obj.clientHostname) {
if (typeof lang === "string") {
result2.clientHostname.push(lang);
} else {
throw new Error("Invalid service config choice: invalid clientHostname");
}
}
} else {
throw new Error("Invalid service config choice: invalid clientHostname");
}
}
if ("percentage" in obj) {
if (typeof obj.percentage === "number" && 0 <= obj.percentage && obj.percentage <= 100) {
result2.percentage = obj.percentage;
} else {
throw new Error("Invalid service config choice: invalid percentage");
}
}
const allowedFields = [
"clientLanguage",
"percentage",
"clientHostname",
"serviceConfig"
];
for (const field in obj) {
if (!allowedFields.includes(field)) {
throw new Error(`Invalid service config choice: unexpected field ${field}`);
}
}
return result2;
}
function validateAndSelectCanaryConfig(obj, percentage) {
if (!Array.isArray(obj)) {
throw new Error("Invalid service config list");
}
for (const config2 of obj) {
const validatedConfig = validateCanaryConfig(config2);
if (typeof validatedConfig.percentage === "number" && percentage > validatedConfig.percentage) {
continue;
}
if (Array.isArray(validatedConfig.clientHostname)) {
let hostnameMatched = false;
for (const hostname3 of validatedConfig.clientHostname) {
if (hostname3 === os30.hostname()) {
hostnameMatched = true;
}
}
if (!hostnameMatched) {
continue;
}
}
if (Array.isArray(validatedConfig.clientLanguage)) {
let languageMatched = false;
for (const language of validatedConfig.clientLanguage) {
if (language === CLIENT_LANGUAGE_STRING) {
languageMatched = true;
}
}
if (!languageMatched) {
continue;
}
}
return validatedConfig.serviceConfig;
}
throw new Error("No matching service config found");
}
function extractAndSelectServiceConfig(txtRecord, percentage) {
for (const record2 of txtRecord) {
if (record2.length > 0 && record2[0].startsWith("grpc_config=")) {
const recordString = record2.join("").substring("grpc_config=".length);
const recordJson = JSON.parse(recordString);
return validateAndSelectCanaryConfig(recordJson, percentage);
}
}
return null;
}
}
});
// node_modules/@grpc/grpc-js/build/src/connectivity-state.js
var require_connectivity_state = __commonJS({
"node_modules/@grpc/grpc-js/build/src/connectivity-state.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ConnectivityState = void 0;
var ConnectivityState;
(function(ConnectivityState2) {
ConnectivityState2[ConnectivityState2["IDLE"] = 0] = "IDLE";
ConnectivityState2[ConnectivityState2["CONNECTING"] = 1] = "CONNECTING";
ConnectivityState2[ConnectivityState2["READY"] = 2] = "READY";
ConnectivityState2[ConnectivityState2["TRANSIENT_FAILURE"] = 3] = "TRANSIENT_FAILURE";
ConnectivityState2[ConnectivityState2["SHUTDOWN"] = 4] = "SHUTDOWN";
})(ConnectivityState || (exports2.ConnectivityState = ConnectivityState = {}));
}
});
// node_modules/@grpc/grpc-js/build/src/picker.js
var require_picker = __commonJS({
"node_modules/@grpc/grpc-js/build/src/picker.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QueuePicker = exports2.UnavailablePicker = exports2.PickResultType = void 0;
var metadata_1 = require_metadata();
var constants_1 = require_constants2();
var PickResultType;
(function(PickResultType2) {
PickResultType2[PickResultType2["COMPLETE"] = 0] = "COMPLETE";
PickResultType2[PickResultType2["QUEUE"] = 1] = "QUEUE";
PickResultType2[PickResultType2["TRANSIENT_FAILURE"] = 2] = "TRANSIENT_FAILURE";
PickResultType2[PickResultType2["DROP"] = 3] = "DROP";
})(PickResultType || (exports2.PickResultType = PickResultType = {}));
var UnavailablePicker = class {
constructor(status2) {
this.status = Object.assign({ code: constants_1.Status.UNAVAILABLE, details: "No connection established", metadata: new metadata_1.Metadata() }, status2);
}
pick(pickArgs) {
return {
pickResultType: PickResultType.TRANSIENT_FAILURE,
subchannel: null,
status: this.status,
onCallStarted: null,
onCallEnded: null
};
}
};
exports2.UnavailablePicker = UnavailablePicker;
var QueuePicker = class {
// Constructed with a load balancer. Calls exitIdle on it the first time pick is called
constructor(loadBalancer, childPicker) {
this.loadBalancer = loadBalancer;
this.childPicker = childPicker;
this.calledExitIdle = false;
}
pick(pickArgs) {
if (!this.calledExitIdle) {
process.nextTick(() => {
this.loadBalancer.exitIdle();
});
this.calledExitIdle = true;
}
if (this.childPicker) {
return this.childPicker.pick(pickArgs);
} else {
return {
pickResultType: PickResultType.QUEUE,
subchannel: null,
status: null,
onCallStarted: null,
onCallEnded: null
};
}
}
};
exports2.QueuePicker = QueuePicker;
}
});
// node_modules/@grpc/grpc-js/build/src/backoff-timeout.js
var require_backoff_timeout = __commonJS({
"node_modules/@grpc/grpc-js/build/src/backoff-timeout.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BackoffTimeout = void 0;
var constants_1 = require_constants2();
var logging = require_logging();
var TRACER_NAME2 = "backoff";
var INITIAL_BACKOFF_MS = 1e3;
var BACKOFF_MULTIPLIER2 = 1.6;
var MAX_BACKOFF_MS = 12e4;
var BACKOFF_JITTER = 0.2;
function uniformRandom(min, max) {
return Math.random() * (max - min) + min;
}
var BackoffTimeout = class _BackoffTimeout {
constructor(callback, options) {
this.callback = callback;
this.initialDelay = INITIAL_BACKOFF_MS;
this.multiplier = BACKOFF_MULTIPLIER2;
this.maxDelay = MAX_BACKOFF_MS;
this.jitter = BACKOFF_JITTER;
this.running = false;
this.hasRef = true;
this.startTime = /* @__PURE__ */ new Date();
this.endTime = /* @__PURE__ */ new Date();
this.id = _BackoffTimeout.getNextId();
if (options) {
if (options.initialDelay) {
this.initialDelay = options.initialDelay;
}
if (options.multiplier) {
this.multiplier = options.multiplier;
}
if (options.jitter) {
this.jitter = options.jitter;
}
if (options.maxDelay) {
this.maxDelay = options.maxDelay;
}
}
this.trace("constructed initialDelay=" + this.initialDelay + " multiplier=" + this.multiplier + " jitter=" + this.jitter + " maxDelay=" + this.maxDelay);
this.nextDelay = this.initialDelay;
this.timerId = setTimeout(() => {
}, 0);
clearTimeout(this.timerId);
}
static getNextId() {
return this.nextId++;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "{" + this.id + "} " + text);
}
runTimer(delay3) {
var _a4, _b;
this.trace("runTimer(delay=" + delay3 + ")");
this.endTime = this.startTime;
this.endTime.setMilliseconds(this.endTime.getMilliseconds() + delay3);
clearTimeout(this.timerId);
this.timerId = setTimeout(() => {
this.trace("timer fired");
this.running = false;
this.callback();
}, delay3);
if (!this.hasRef) {
(_b = (_a4 = this.timerId).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
}
/**
* Call the callback after the current amount of delay time
*/
runOnce() {
this.trace("runOnce()");
this.running = true;
this.startTime = /* @__PURE__ */ new Date();
this.runTimer(this.nextDelay);
const nextBackoff = Math.min(this.nextDelay * this.multiplier, this.maxDelay);
const jitterMagnitude = nextBackoff * this.jitter;
this.nextDelay = nextBackoff + uniformRandom(-jitterMagnitude, jitterMagnitude);
}
/**
* Stop the timer. The callback will not be called until `runOnce` is called
* again.
*/
stop() {
this.trace("stop()");
clearTimeout(this.timerId);
this.running = false;
}
/**
* Reset the delay time to its initial value. If the timer is still running,
* retroactively apply that reset to the current timer.
*/
reset() {
this.trace("reset() running=" + this.running);
this.nextDelay = this.initialDelay;
if (this.running) {
const now = /* @__PURE__ */ new Date();
const newEndTime = this.startTime;
newEndTime.setMilliseconds(newEndTime.getMilliseconds() + this.nextDelay);
clearTimeout(this.timerId);
if (now < newEndTime) {
this.runTimer(newEndTime.getTime() - now.getTime());
} else {
this.running = false;
}
}
}
/**
* Check whether the timer is currently running.
*/
isRunning() {
return this.running;
}
/**
* Set that while the timer is running, it should keep the Node process
* running.
*/
ref() {
var _a4, _b;
this.hasRef = true;
(_b = (_a4 = this.timerId).ref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
/**
* Set that while the timer is running, it should not keep the Node process
* running.
*/
unref() {
var _a4, _b;
this.hasRef = false;
(_b = (_a4 = this.timerId).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
/**
* Get the approximate timestamp of when the timer will fire. Only valid if
* this.isRunning() is true.
*/
getEndTime() {
return this.endTime;
}
};
exports2.BackoffTimeout = BackoffTimeout;
BackoffTimeout.nextId = 0;
}
});
// node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js
var require_load_balancer_child_handler = __commonJS({
"node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ChildLoadBalancerHandler = void 0;
var load_balancer_1 = require_load_balancer();
var connectivity_state_1 = require_connectivity_state();
var TYPE_NAME = "child_load_balancer_helper";
var ChildLoadBalancerHandler = class {
constructor(channelControlHelper) {
this.channelControlHelper = channelControlHelper;
this.currentChild = null;
this.pendingChild = null;
this.latestConfig = null;
this.ChildPolicyHelper = class {
constructor(parent) {
this.parent = parent;
this.child = null;
}
createSubchannel(subchannelAddress, subchannelArgs) {
return this.parent.channelControlHelper.createSubchannel(subchannelAddress, subchannelArgs);
}
updateState(connectivityState, picker, errorMessage) {
var _a4;
if (this.calledByPendingChild()) {
if (connectivityState === connectivity_state_1.ConnectivityState.CONNECTING) {
return;
}
(_a4 = this.parent.currentChild) === null || _a4 === void 0 ? void 0 : _a4.destroy();
this.parent.currentChild = this.parent.pendingChild;
this.parent.pendingChild = null;
} else if (!this.calledByCurrentChild()) {
return;
}
this.parent.channelControlHelper.updateState(connectivityState, picker, errorMessage);
}
requestReresolution() {
var _a4;
const latestChild = (_a4 = this.parent.pendingChild) !== null && _a4 !== void 0 ? _a4 : this.parent.currentChild;
if (this.child === latestChild) {
this.parent.channelControlHelper.requestReresolution();
}
}
setChild(newChild) {
this.child = newChild;
}
addChannelzChild(child) {
this.parent.channelControlHelper.addChannelzChild(child);
}
removeChannelzChild(child) {
this.parent.channelControlHelper.removeChannelzChild(child);
}
calledByPendingChild() {
return this.child === this.parent.pendingChild;
}
calledByCurrentChild() {
return this.child === this.parent.currentChild;
}
};
}
configUpdateRequiresNewPolicyInstance(oldConfig, newConfig) {
return oldConfig.getLoadBalancerName() !== newConfig.getLoadBalancerName();
}
/**
* Prerequisites: lbConfig !== null and lbConfig.name is registered
* @param endpointList
* @param lbConfig
* @param attributes
*/
updateAddressList(endpointList, lbConfig, options) {
let childToUpdate;
if (this.currentChild === null || this.latestConfig === null || this.configUpdateRequiresNewPolicyInstance(this.latestConfig, lbConfig)) {
const newHelper = new this.ChildPolicyHelper(this);
const newChild = (0, load_balancer_1.createLoadBalancer)(lbConfig, newHelper);
newHelper.setChild(newChild);
if (this.currentChild === null) {
this.currentChild = newChild;
childToUpdate = this.currentChild;
} else {
if (this.pendingChild) {
this.pendingChild.destroy();
}
this.pendingChild = newChild;
childToUpdate = this.pendingChild;
}
} else {
if (this.pendingChild === null) {
childToUpdate = this.currentChild;
} else {
childToUpdate = this.pendingChild;
}
}
this.latestConfig = lbConfig;
childToUpdate.updateAddressList(endpointList, lbConfig, options);
}
exitIdle() {
if (this.currentChild) {
this.currentChild.exitIdle();
if (this.pendingChild) {
this.pendingChild.exitIdle();
}
}
}
resetBackoff() {
if (this.currentChild) {
this.currentChild.resetBackoff();
if (this.pendingChild) {
this.pendingChild.resetBackoff();
}
}
}
destroy() {
if (this.currentChild) {
this.currentChild.destroy();
this.currentChild = null;
}
if (this.pendingChild) {
this.pendingChild.destroy();
this.pendingChild = null;
}
}
getTypeName() {
return TYPE_NAME;
}
};
exports2.ChildLoadBalancerHandler = ChildLoadBalancerHandler;
}
});
// node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js
var require_resolving_load_balancer = __commonJS({
"node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ResolvingLoadBalancer = void 0;
var load_balancer_1 = require_load_balancer();
var service_config_1 = require_service_config();
var connectivity_state_1 = require_connectivity_state();
var resolver_1 = require_resolver();
var picker_1 = require_picker();
var backoff_timeout_1 = require_backoff_timeout();
var constants_1 = require_constants2();
var metadata_1 = require_metadata();
var logging = require_logging();
var constants_2 = require_constants2();
var uri_parser_1 = require_uri_parser();
var load_balancer_child_handler_1 = require_load_balancer_child_handler();
var TRACER_NAME2 = "resolving_load_balancer";
function trace2(text) {
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var NAME_MATCH_LEVEL_ORDER = [
"SERVICE_AND_METHOD",
"SERVICE",
"EMPTY"
];
function hasMatchingName(service, method, methodConfig, matchLevel) {
for (const name3 of methodConfig.name) {
switch (matchLevel) {
case "EMPTY":
if (!name3.service && !name3.method) {
return true;
}
break;
case "SERVICE":
if (name3.service === service && !name3.method) {
return true;
}
break;
case "SERVICE_AND_METHOD":
if (name3.service === service && name3.method === method) {
return true;
}
}
}
return false;
}
function findMatchingConfig(service, method, methodConfigs, matchLevel) {
for (const config2 of methodConfigs) {
if (hasMatchingName(service, method, config2, matchLevel)) {
return config2;
}
}
return null;
}
function getDefaultConfigSelector(serviceConfig) {
return {
invoke(methodName, metadata2) {
var _a4, _b;
const splitName = methodName.split("/").filter((x) => x.length > 0);
const service = (_a4 = splitName[0]) !== null && _a4 !== void 0 ? _a4 : "";
const method = (_b = splitName[1]) !== null && _b !== void 0 ? _b : "";
if (serviceConfig && serviceConfig.methodConfig) {
for (const matchLevel of NAME_MATCH_LEVEL_ORDER) {
const matchingConfig = findMatchingConfig(service, method, serviceConfig.methodConfig, matchLevel);
if (matchingConfig) {
return {
methodConfig: matchingConfig,
pickInformation: {},
status: constants_1.Status.OK,
dynamicFilterFactories: []
};
}
}
}
return {
methodConfig: { name: [] },
pickInformation: {},
status: constants_1.Status.OK,
dynamicFilterFactories: []
};
},
unref() {
}
};
}
var ResolvingLoadBalancer = class {
/**
* Wrapper class that behaves like a `LoadBalancer` and also handles name
* resolution internally.
* @param target The address of the backend to connect to.
* @param channelControlHelper `ChannelControlHelper` instance provided by
* this load balancer's owner.
* @param defaultServiceConfig The default service configuration to be used
* if none is provided by the name resolver. A `null` value indicates
* that the default behavior should be the default unconfigured behavior.
* In practice, that means using the "pick first" load balancer
* implmentation
*/
constructor(target, channelControlHelper, channelOptions, onSuccessfulResolution, onFailedResolution) {
this.target = target;
this.channelControlHelper = channelControlHelper;
this.channelOptions = channelOptions;
this.onSuccessfulResolution = onSuccessfulResolution;
this.onFailedResolution = onFailedResolution;
this.latestChildState = connectivity_state_1.ConnectivityState.IDLE;
this.latestChildPicker = new picker_1.QueuePicker(this);
this.latestChildErrorMessage = null;
this.currentState = connectivity_state_1.ConnectivityState.IDLE;
this.previousServiceConfig = null;
this.continueResolving = false;
if (channelOptions["grpc.service_config"]) {
this.defaultServiceConfig = (0, service_config_1.validateServiceConfig)(JSON.parse(channelOptions["grpc.service_config"]));
} else {
this.defaultServiceConfig = {
loadBalancingConfig: [],
methodConfig: []
};
}
this.updateState(connectivity_state_1.ConnectivityState.IDLE, new picker_1.QueuePicker(this), null);
this.childLoadBalancer = new load_balancer_child_handler_1.ChildLoadBalancerHandler({
createSubchannel: channelControlHelper.createSubchannel.bind(channelControlHelper),
requestReresolution: () => {
if (this.backoffTimeout.isRunning()) {
trace2("requestReresolution delayed by backoff timer until " + this.backoffTimeout.getEndTime().toISOString());
this.continueResolving = true;
} else {
this.updateResolution();
}
},
updateState: (newState, picker, errorMessage) => {
this.latestChildState = newState;
this.latestChildPicker = picker;
this.latestChildErrorMessage = errorMessage;
this.updateState(newState, picker, errorMessage);
},
addChannelzChild: channelControlHelper.addChannelzChild.bind(channelControlHelper),
removeChannelzChild: channelControlHelper.removeChannelzChild.bind(channelControlHelper)
});
this.innerResolver = (0, resolver_1.createResolver)(target, {
onSuccessfulResolution: (endpointList, serviceConfig, serviceConfigError, configSelector, attributes) => {
var _a4;
this.backoffTimeout.stop();
this.backoffTimeout.reset();
let workingServiceConfig = null;
if (serviceConfig === null) {
if (serviceConfigError === null) {
this.previousServiceConfig = null;
workingServiceConfig = this.defaultServiceConfig;
} else {
if (this.previousServiceConfig === null) {
this.handleResolutionFailure(serviceConfigError);
} else {
workingServiceConfig = this.previousServiceConfig;
}
}
} else {
workingServiceConfig = serviceConfig;
this.previousServiceConfig = serviceConfig;
}
const workingConfigList = (_a4 = workingServiceConfig === null || workingServiceConfig === void 0 ? void 0 : workingServiceConfig.loadBalancingConfig) !== null && _a4 !== void 0 ? _a4 : [];
const loadBalancingConfig = (0, load_balancer_1.selectLbConfigFromList)(workingConfigList, true);
if (loadBalancingConfig === null) {
this.handleResolutionFailure({
code: constants_1.Status.UNAVAILABLE,
details: "All load balancer options in service config are not compatible",
metadata: new metadata_1.Metadata()
});
configSelector === null || configSelector === void 0 ? void 0 : configSelector.unref();
return;
}
this.childLoadBalancer.updateAddressList(endpointList, loadBalancingConfig, Object.assign(Object.assign({}, this.channelOptions), attributes));
const finalServiceConfig = workingServiceConfig !== null && workingServiceConfig !== void 0 ? workingServiceConfig : this.defaultServiceConfig;
this.onSuccessfulResolution(finalServiceConfig, configSelector !== null && configSelector !== void 0 ? configSelector : getDefaultConfigSelector(finalServiceConfig));
},
onError: (error40) => {
this.handleResolutionFailure(error40);
}
}, channelOptions);
const backoffOptions = {
initialDelay: channelOptions["grpc.initial_reconnect_backoff_ms"],
maxDelay: channelOptions["grpc.max_reconnect_backoff_ms"]
};
this.backoffTimeout = new backoff_timeout_1.BackoffTimeout(() => {
if (this.continueResolving) {
this.updateResolution();
this.continueResolving = false;
} else {
this.updateState(this.latestChildState, this.latestChildPicker, this.latestChildErrorMessage);
}
}, backoffOptions);
this.backoffTimeout.unref();
}
updateResolution() {
this.innerResolver.updateResolution();
if (this.currentState === connectivity_state_1.ConnectivityState.IDLE) {
this.updateState(connectivity_state_1.ConnectivityState.CONNECTING, this.latestChildPicker, this.latestChildErrorMessage);
}
this.backoffTimeout.runOnce();
}
updateState(connectivityState, picker, errorMessage) {
trace2((0, uri_parser_1.uriToString)(this.target) + " " + connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[connectivityState]);
if (connectivityState === connectivity_state_1.ConnectivityState.IDLE) {
picker = new picker_1.QueuePicker(this, picker);
}
this.currentState = connectivityState;
this.channelControlHelper.updateState(connectivityState, picker, errorMessage);
}
handleResolutionFailure(error40) {
if (this.latestChildState === connectivity_state_1.ConnectivityState.IDLE) {
this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker(error40), error40.details);
this.onFailedResolution(error40);
}
}
exitIdle() {
if (this.currentState === connectivity_state_1.ConnectivityState.IDLE || this.currentState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
if (this.backoffTimeout.isRunning()) {
this.continueResolving = true;
} else {
this.updateResolution();
}
}
this.childLoadBalancer.exitIdle();
}
updateAddressList(endpointList, lbConfig) {
throw new Error("updateAddressList not supported on ResolvingLoadBalancer");
}
resetBackoff() {
this.backoffTimeout.reset();
this.childLoadBalancer.resetBackoff();
}
destroy() {
this.childLoadBalancer.destroy();
this.innerResolver.destroy();
this.backoffTimeout.reset();
this.backoffTimeout.stop();
this.latestChildState = connectivity_state_1.ConnectivityState.IDLE;
this.latestChildPicker = new picker_1.QueuePicker(this);
this.currentState = connectivity_state_1.ConnectivityState.IDLE;
this.previousServiceConfig = null;
this.continueResolving = false;
}
getTypeName() {
return "resolving_load_balancer";
}
};
exports2.ResolvingLoadBalancer = ResolvingLoadBalancer;
}
});
// node_modules/@grpc/grpc-js/build/src/channel-options.js
var require_channel_options = __commonJS({
"node_modules/@grpc/grpc-js/build/src/channel-options.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.recognizedOptions = void 0;
exports2.channelOptionsEqual = channelOptionsEqual;
exports2.recognizedOptions = {
"grpc.ssl_target_name_override": true,
"grpc.primary_user_agent": true,
"grpc.secondary_user_agent": true,
"grpc.default_authority": true,
"grpc.keepalive_time_ms": true,
"grpc.keepalive_timeout_ms": true,
"grpc.keepalive_permit_without_calls": true,
"grpc.service_config": true,
"grpc.max_concurrent_streams": true,
"grpc.initial_reconnect_backoff_ms": true,
"grpc.max_reconnect_backoff_ms": true,
"grpc.use_local_subchannel_pool": true,
"grpc.max_send_message_length": true,
"grpc.max_receive_message_length": true,
"grpc.enable_http_proxy": true,
"grpc.enable_channelz": true,
"grpc.dns_min_time_between_resolutions_ms": true,
"grpc.enable_retries": true,
"grpc.per_rpc_retry_buffer_size": true,
"grpc.retry_buffer_size": true,
"grpc.max_connection_age_ms": true,
"grpc.max_connection_age_grace_ms": true,
"grpc-node.max_session_memory": true,
"grpc.service_config_disable_resolution": true,
"grpc.client_idle_timeout_ms": true,
"grpc-node.tls_enable_trace": true,
"grpc.lb.ring_hash.ring_size_cap": true,
"grpc-node.retry_max_attempts_limit": true,
"grpc-node.flow_control_window": true
};
function channelOptionsEqual(options1, options2) {
const keys1 = Object.keys(options1).sort();
const keys2 = Object.keys(options2).sort();
if (keys1.length !== keys2.length) {
return false;
}
for (let i3 = 0; i3 < keys1.length; i3 += 1) {
if (keys1[i3] !== keys2[i3]) {
return false;
}
if (options1[keys1[i3]] !== options2[keys2[i3]]) {
return false;
}
}
return true;
}
}
});
// node_modules/@grpc/grpc-js/build/src/subchannel-address.js
var require_subchannel_address = __commonJS({
"node_modules/@grpc/grpc-js/build/src/subchannel-address.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.EndpointMap = void 0;
exports2.isTcpSubchannelAddress = isTcpSubchannelAddress;
exports2.subchannelAddressEqual = subchannelAddressEqual;
exports2.subchannelAddressToString = subchannelAddressToString;
exports2.stringToSubchannelAddress = stringToSubchannelAddress;
exports2.endpointEqual = endpointEqual;
exports2.endpointToString = endpointToString;
exports2.endpointHasAddress = endpointHasAddress;
var net_1 = __require("net");
function isTcpSubchannelAddress(address) {
return "port" in address;
}
function subchannelAddressEqual(address1, address2) {
if (!address1 && !address2) {
return true;
}
if (!address1 || !address2) {
return false;
}
if (isTcpSubchannelAddress(address1)) {
return isTcpSubchannelAddress(address2) && address1.host === address2.host && address1.port === address2.port;
} else {
return !isTcpSubchannelAddress(address2) && address1.path === address2.path;
}
}
function subchannelAddressToString(address) {
if (isTcpSubchannelAddress(address)) {
if ((0, net_1.isIPv6)(address.host)) {
return "[" + address.host + "]:" + address.port;
} else {
return address.host + ":" + address.port;
}
} else {
return address.path;
}
}
var DEFAULT_PORT = 443;
function stringToSubchannelAddress(addressString, port) {
if ((0, net_1.isIP)(addressString)) {
return {
host: addressString,
port: port !== null && port !== void 0 ? port : DEFAULT_PORT
};
} else {
return {
path: addressString
};
}
}
function endpointEqual(endpoint1, endpoint2) {
if (endpoint1.addresses.length !== endpoint2.addresses.length) {
return false;
}
for (let i3 = 0; i3 < endpoint1.addresses.length; i3++) {
if (!subchannelAddressEqual(endpoint1.addresses[i3], endpoint2.addresses[i3])) {
return false;
}
}
return true;
}
function endpointToString(endpoint) {
return "[" + endpoint.addresses.map(subchannelAddressToString).join(", ") + "]";
}
function endpointHasAddress(endpoint, expectedAddress) {
for (const address of endpoint.addresses) {
if (subchannelAddressEqual(address, expectedAddress)) {
return true;
}
}
return false;
}
function endpointEqualUnordered(endpoint1, endpoint2) {
if (endpoint1.addresses.length !== endpoint2.addresses.length) {
return false;
}
for (const address1 of endpoint1.addresses) {
let matchFound = false;
for (const address2 of endpoint2.addresses) {
if (subchannelAddressEqual(address1, address2)) {
matchFound = true;
break;
}
}
if (!matchFound) {
return false;
}
}
return true;
}
var EndpointMap = class {
constructor() {
this.map = /* @__PURE__ */ new Set();
}
get size() {
return this.map.size;
}
getForSubchannelAddress(address) {
for (const entry of this.map) {
if (endpointHasAddress(entry.key, address)) {
return entry.value;
}
}
return void 0;
}
/**
* Delete any entries in this map with keys that are not in endpoints
* @param endpoints
*/
deleteMissing(endpoints) {
const removedValues = [];
for (const entry of this.map) {
let foundEntry = false;
for (const endpoint of endpoints) {
if (endpointEqualUnordered(endpoint, entry.key)) {
foundEntry = true;
}
}
if (!foundEntry) {
removedValues.push(entry.value);
this.map.delete(entry);
}
}
return removedValues;
}
get(endpoint) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
return entry.value;
}
}
return void 0;
}
set(endpoint, mapEntry) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
entry.value = mapEntry;
return;
}
}
this.map.add({ key: endpoint, value: mapEntry });
}
delete(endpoint) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
this.map.delete(entry);
return;
}
}
}
has(endpoint) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
return true;
}
}
return false;
}
clear() {
this.map.clear();
}
*keys() {
for (const entry of this.map) {
yield entry.key;
}
}
*values() {
for (const entry of this.map) {
yield entry.value;
}
}
*entries() {
for (const entry of this.map) {
yield [entry.key, entry.value];
}
}
};
exports2.EndpointMap = EndpointMap;
}
});
// node_modules/@js-sdsl/ordered-map/dist/cjs/index.js
var require_cjs = __commonJS({
"node_modules/@js-sdsl/ordered-map/dist/cjs/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "t", {
value: true
});
var TreeNode = class {
constructor(t2, e2, s2 = 1) {
this.i = void 0;
this.h = void 0;
this.o = void 0;
this.u = t2;
this.l = e2;
this.p = s2;
}
I() {
let t2 = this;
const e2 = t2.o.o === t2;
if (e2 && t2.p === 1) {
t2 = t2.h;
} else if (t2.i) {
t2 = t2.i;
while (t2.h) {
t2 = t2.h;
}
} else {
if (e2) {
return t2.o;
}
let s2 = t2.o;
while (s2.i === t2) {
t2 = s2;
s2 = t2.o;
}
t2 = s2;
}
return t2;
}
B() {
let t2 = this;
if (t2.h) {
t2 = t2.h;
while (t2.i) {
t2 = t2.i;
}
return t2;
} else {
let e2 = t2.o;
while (e2.h === t2) {
t2 = e2;
e2 = t2.o;
}
if (t2.h !== e2) {
return e2;
} else return t2;
}
}
_() {
const t2 = this.o;
const e2 = this.h;
const s2 = e2.i;
if (t2.o === this) t2.o = e2;
else if (t2.i === this) t2.i = e2;
else t2.h = e2;
e2.o = t2;
e2.i = this;
this.o = e2;
this.h = s2;
if (s2) s2.o = this;
return e2;
}
g() {
const t2 = this.o;
const e2 = this.i;
const s2 = e2.h;
if (t2.o === this) t2.o = e2;
else if (t2.i === this) t2.i = e2;
else t2.h = e2;
e2.o = t2;
e2.h = this;
this.o = e2;
this.i = s2;
if (s2) s2.o = this;
return e2;
}
};
var TreeNodeEnableIndex = class extends TreeNode {
constructor() {
super(...arguments);
this.M = 1;
}
_() {
const t2 = super._();
this.O();
t2.O();
return t2;
}
g() {
const t2 = super.g();
this.O();
t2.O();
return t2;
}
O() {
this.M = 1;
if (this.i) {
this.M += this.i.M;
}
if (this.h) {
this.M += this.h.M;
}
}
};
var ContainerIterator = class {
constructor(t2 = 0) {
this.iteratorType = t2;
}
equals(t2) {
return this.T === t2.T;
}
};
var Base = class {
constructor() {
this.m = 0;
}
get length() {
return this.m;
}
size() {
return this.m;
}
empty() {
return this.m === 0;
}
};
var Container = class extends Base {
};
function throwIteratorAccessError() {
throw new RangeError("Iterator access denied!");
}
var TreeContainer = class extends Container {
constructor(t2 = function(t3, e3) {
if (t3 < e3) return -1;
if (t3 > e3) return 1;
return 0;
}, e2 = false) {
super();
this.v = void 0;
this.A = t2;
this.enableIndex = e2;
this.N = e2 ? TreeNodeEnableIndex : TreeNode;
this.C = new this.N();
}
R(t2, e2) {
let s2 = this.C;
while (t2) {
const i3 = this.A(t2.u, e2);
if (i3 < 0) {
t2 = t2.h;
} else if (i3 > 0) {
s2 = t2;
t2 = t2.i;
} else return t2;
}
return s2;
}
K(t2, e2) {
let s2 = this.C;
while (t2) {
const i3 = this.A(t2.u, e2);
if (i3 <= 0) {
t2 = t2.h;
} else {
s2 = t2;
t2 = t2.i;
}
}
return s2;
}
L(t2, e2) {
let s2 = this.C;
while (t2) {
const i3 = this.A(t2.u, e2);
if (i3 < 0) {
s2 = t2;
t2 = t2.h;
} else if (i3 > 0) {
t2 = t2.i;
} else return t2;
}
return s2;
}
k(t2, e2) {
let s2 = this.C;
while (t2) {
const i3 = this.A(t2.u, e2);
if (i3 < 0) {
s2 = t2;
t2 = t2.h;
} else {
t2 = t2.i;
}
}
return s2;
}
P(t2) {
while (true) {
const e2 = t2.o;
if (e2 === this.C) return;
if (t2.p === 1) {
t2.p = 0;
return;
}
if (t2 === e2.i) {
const s2 = e2.h;
if (s2.p === 1) {
s2.p = 0;
e2.p = 1;
if (e2 === this.v) {
this.v = e2._();
} else e2._();
} else {
if (s2.h && s2.h.p === 1) {
s2.p = e2.p;
e2.p = 0;
s2.h.p = 0;
if (e2 === this.v) {
this.v = e2._();
} else e2._();
return;
} else if (s2.i && s2.i.p === 1) {
s2.p = 1;
s2.i.p = 0;
s2.g();
} else {
s2.p = 1;
t2 = e2;
}
}
} else {
const s2 = e2.i;
if (s2.p === 1) {
s2.p = 0;
e2.p = 1;
if (e2 === this.v) {
this.v = e2.g();
} else e2.g();
} else {
if (s2.i && s2.i.p === 1) {
s2.p = e2.p;
e2.p = 0;
s2.i.p = 0;
if (e2 === this.v) {
this.v = e2.g();
} else e2.g();
return;
} else if (s2.h && s2.h.p === 1) {
s2.p = 1;
s2.h.p = 0;
s2._();
} else {
s2.p = 1;
t2 = e2;
}
}
}
}
}
S(t2) {
if (this.m === 1) {
this.clear();
return;
}
let e2 = t2;
while (e2.i || e2.h) {
if (e2.h) {
e2 = e2.h;
while (e2.i) e2 = e2.i;
} else {
e2 = e2.i;
}
const s3 = t2.u;
t2.u = e2.u;
e2.u = s3;
const i3 = t2.l;
t2.l = e2.l;
e2.l = i3;
t2 = e2;
}
if (this.C.i === e2) {
this.C.i = e2.o;
} else if (this.C.h === e2) {
this.C.h = e2.o;
}
this.P(e2);
let s2 = e2.o;
if (e2 === s2.i) {
s2.i = void 0;
} else s2.h = void 0;
this.m -= 1;
this.v.p = 0;
if (this.enableIndex) {
while (s2 !== this.C) {
s2.M -= 1;
s2 = s2.o;
}
}
}
U(t2) {
const e2 = typeof t2 === "number" ? t2 : void 0;
const s2 = typeof t2 === "function" ? t2 : void 0;
const i3 = typeof t2 === "undefined" ? [] : void 0;
let r2 = 0;
let n3 = this.v;
const h2 = [];
while (h2.length || n3) {
if (n3) {
h2.push(n3);
n3 = n3.i;
} else {
n3 = h2.pop();
if (r2 === e2) return n3;
i3 && i3.push(n3);
s2 && s2(n3, r2, this);
r2 += 1;
n3 = n3.h;
}
}
return i3;
}
j(t2) {
while (true) {
const e2 = t2.o;
if (e2.p === 0) return;
const s2 = e2.o;
if (e2 === s2.i) {
const i3 = s2.h;
if (i3 && i3.p === 1) {
i3.p = e2.p = 0;
if (s2 === this.v) return;
s2.p = 1;
t2 = s2;
continue;
} else if (t2 === e2.h) {
t2.p = 0;
if (t2.i) {
t2.i.o = e2;
}
if (t2.h) {
t2.h.o = s2;
}
e2.h = t2.i;
s2.i = t2.h;
t2.i = e2;
t2.h = s2;
if (s2 === this.v) {
this.v = t2;
this.C.o = t2;
} else {
const e3 = s2.o;
if (e3.i === s2) {
e3.i = t2;
} else e3.h = t2;
}
t2.o = s2.o;
e2.o = t2;
s2.o = t2;
s2.p = 1;
} else {
e2.p = 0;
if (s2 === this.v) {
this.v = s2.g();
} else s2.g();
s2.p = 1;
return;
}
} else {
const i3 = s2.i;
if (i3 && i3.p === 1) {
i3.p = e2.p = 0;
if (s2 === this.v) return;
s2.p = 1;
t2 = s2;
continue;
} else if (t2 === e2.i) {
t2.p = 0;
if (t2.i) {
t2.i.o = s2;
}
if (t2.h) {
t2.h.o = e2;
}
s2.h = t2.i;
e2.i = t2.h;
t2.i = s2;
t2.h = e2;
if (s2 === this.v) {
this.v = t2;
this.C.o = t2;
} else {
const e3 = s2.o;
if (e3.i === s2) {
e3.i = t2;
} else e3.h = t2;
}
t2.o = s2.o;
e2.o = t2;
s2.o = t2;
s2.p = 1;
} else {
e2.p = 0;
if (s2 === this.v) {
this.v = s2._();
} else s2._();
s2.p = 1;
return;
}
}
if (this.enableIndex) {
e2.O();
s2.O();
t2.O();
}
return;
}
}
q(t2, e2, s2) {
if (this.v === void 0) {
this.m += 1;
this.v = new this.N(t2, e2, 0);
this.v.o = this.C;
this.C.o = this.C.i = this.C.h = this.v;
return this.m;
}
let i3;
const r2 = this.C.i;
const n3 = this.A(r2.u, t2);
if (n3 === 0) {
r2.l = e2;
return this.m;
} else if (n3 > 0) {
r2.i = new this.N(t2, e2);
r2.i.o = r2;
i3 = r2.i;
this.C.i = i3;
} else {
const r3 = this.C.h;
const n4 = this.A(r3.u, t2);
if (n4 === 0) {
r3.l = e2;
return this.m;
} else if (n4 < 0) {
r3.h = new this.N(t2, e2);
r3.h.o = r3;
i3 = r3.h;
this.C.h = i3;
} else {
if (s2 !== void 0) {
const r4 = s2.T;
if (r4 !== this.C) {
const s3 = this.A(r4.u, t2);
if (s3 === 0) {
r4.l = e2;
return this.m;
} else if (s3 > 0) {
const s4 = r4.I();
const n5 = this.A(s4.u, t2);
if (n5 === 0) {
s4.l = e2;
return this.m;
} else if (n5 < 0) {
i3 = new this.N(t2, e2);
if (s4.h === void 0) {
s4.h = i3;
i3.o = s4;
} else {
r4.i = i3;
i3.o = r4;
}
}
}
}
}
if (i3 === void 0) {
i3 = this.v;
while (true) {
const s3 = this.A(i3.u, t2);
if (s3 > 0) {
if (i3.i === void 0) {
i3.i = new this.N(t2, e2);
i3.i.o = i3;
i3 = i3.i;
break;
}
i3 = i3.i;
} else if (s3 < 0) {
if (i3.h === void 0) {
i3.h = new this.N(t2, e2);
i3.h.o = i3;
i3 = i3.h;
break;
}
i3 = i3.h;
} else {
i3.l = e2;
return this.m;
}
}
}
}
}
if (this.enableIndex) {
let t3 = i3.o;
while (t3 !== this.C) {
t3.M += 1;
t3 = t3.o;
}
}
this.j(i3);
this.m += 1;
return this.m;
}
H(t2, e2) {
while (t2) {
const s2 = this.A(t2.u, e2);
if (s2 < 0) {
t2 = t2.h;
} else if (s2 > 0) {
t2 = t2.i;
} else return t2;
}
return t2 || this.C;
}
clear() {
this.m = 0;
this.v = void 0;
this.C.o = void 0;
this.C.i = this.C.h = void 0;
}
updateKeyByIterator(t2, e2) {
const s2 = t2.T;
if (s2 === this.C) {
throwIteratorAccessError();
}
if (this.m === 1) {
s2.u = e2;
return true;
}
const i3 = s2.B().u;
if (s2 === this.C.i) {
if (this.A(i3, e2) > 0) {
s2.u = e2;
return true;
}
return false;
}
const r2 = s2.I().u;
if (s2 === this.C.h) {
if (this.A(r2, e2) < 0) {
s2.u = e2;
return true;
}
return false;
}
if (this.A(r2, e2) >= 0 || this.A(i3, e2) <= 0) return false;
s2.u = e2;
return true;
}
eraseElementByPos(t2) {
if (t2 < 0 || t2 > this.m - 1) {
throw new RangeError();
}
const e2 = this.U(t2);
this.S(e2);
return this.m;
}
eraseElementByKey(t2) {
if (this.m === 0) return false;
const e2 = this.H(this.v, t2);
if (e2 === this.C) return false;
this.S(e2);
return true;
}
eraseElementByIterator(t2) {
const e2 = t2.T;
if (e2 === this.C) {
throwIteratorAccessError();
}
const s2 = e2.h === void 0;
const i3 = t2.iteratorType === 0;
if (i3) {
if (s2) t2.next();
} else {
if (!s2 || e2.i === void 0) t2.next();
}
this.S(e2);
return t2;
}
getHeight() {
if (this.m === 0) return 0;
function traversal(t2) {
if (!t2) return 0;
return Math.max(traversal(t2.i), traversal(t2.h)) + 1;
}
return traversal(this.v);
}
};
var TreeIterator = class extends ContainerIterator {
constructor(t2, e2, s2) {
super(s2);
this.T = t2;
this.C = e2;
if (this.iteratorType === 0) {
this.pre = function() {
if (this.T === this.C.i) {
throwIteratorAccessError();
}
this.T = this.T.I();
return this;
};
this.next = function() {
if (this.T === this.C) {
throwIteratorAccessError();
}
this.T = this.T.B();
return this;
};
} else {
this.pre = function() {
if (this.T === this.C.h) {
throwIteratorAccessError();
}
this.T = this.T.B();
return this;
};
this.next = function() {
if (this.T === this.C) {
throwIteratorAccessError();
}
this.T = this.T.I();
return this;
};
}
}
get index() {
let t2 = this.T;
const e2 = this.C.o;
if (t2 === this.C) {
if (e2) {
return e2.M - 1;
}
return 0;
}
let s2 = 0;
if (t2.i) {
s2 += t2.i.M;
}
while (t2 !== e2) {
const e3 = t2.o;
if (t2 === e3.h) {
s2 += 1;
if (e3.i) {
s2 += e3.i.M;
}
}
t2 = e3;
}
return s2;
}
isAccessible() {
return this.T !== this.C;
}
};
var OrderedMapIterator = class _OrderedMapIterator extends TreeIterator {
constructor(t2, e2, s2, i3) {
super(t2, e2, i3);
this.container = s2;
}
get pointer() {
if (this.T === this.C) {
throwIteratorAccessError();
}
const t2 = this;
return new Proxy([], {
get(e2, s2) {
if (s2 === "0") return t2.T.u;
else if (s2 === "1") return t2.T.l;
e2[0] = t2.T.u;
e2[1] = t2.T.l;
return e2[s2];
},
set(e2, s2, i3) {
if (s2 !== "1") {
throw new TypeError("prop must be 1");
}
t2.T.l = i3;
return true;
}
});
}
copy() {
return new _OrderedMapIterator(this.T, this.C, this.container, this.iteratorType);
}
};
var OrderedMap = class extends TreeContainer {
constructor(t2 = [], e2, s2) {
super(e2, s2);
const i3 = this;
t2.forEach(function(t3) {
i3.setElement(t3[0], t3[1]);
});
}
begin() {
return new OrderedMapIterator(this.C.i || this.C, this.C, this);
}
end() {
return new OrderedMapIterator(this.C, this.C, this);
}
rBegin() {
return new OrderedMapIterator(this.C.h || this.C, this.C, this, 1);
}
rEnd() {
return new OrderedMapIterator(this.C, this.C, this, 1);
}
front() {
if (this.m === 0) return;
const t2 = this.C.i;
return [t2.u, t2.l];
}
back() {
if (this.m === 0) return;
const t2 = this.C.h;
return [t2.u, t2.l];
}
lowerBound(t2) {
const e2 = this.R(this.v, t2);
return new OrderedMapIterator(e2, this.C, this);
}
upperBound(t2) {
const e2 = this.K(this.v, t2);
return new OrderedMapIterator(e2, this.C, this);
}
reverseLowerBound(t2) {
const e2 = this.L(this.v, t2);
return new OrderedMapIterator(e2, this.C, this);
}
reverseUpperBound(t2) {
const e2 = this.k(this.v, t2);
return new OrderedMapIterator(e2, this.C, this);
}
forEach(t2) {
this.U(function(e2, s2, i3) {
t2([e2.u, e2.l], s2, i3);
});
}
setElement(t2, e2, s2) {
return this.q(t2, e2, s2);
}
getElementByPos(t2) {
if (t2 < 0 || t2 > this.m - 1) {
throw new RangeError();
}
const e2 = this.U(t2);
return [e2.u, e2.l];
}
find(t2) {
const e2 = this.H(this.v, t2);
return new OrderedMapIterator(e2, this.C, this);
}
getElementByKey(t2) {
const e2 = this.H(this.v, t2);
return e2.l;
}
union(t2) {
const e2 = this;
t2.forEach(function(t3) {
e2.setElement(t3[0], t3[1]);
});
return this.m;
}
*[Symbol.iterator]() {
const t2 = this.m;
const e2 = this.U();
for (let s2 = 0; s2 < t2; ++s2) {
const t3 = e2[s2];
yield [t3.u, t3.l];
}
}
};
exports2.OrderedMap = OrderedMap;
}
});
// node_modules/@grpc/grpc-js/build/src/admin.js
var require_admin = __commonJS({
"node_modules/@grpc/grpc-js/build/src/admin.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.registerAdminService = registerAdminService;
exports2.addAdminServicesToServer = addAdminServicesToServer;
var registeredAdminServices = [];
function registerAdminService(getServiceDefinition, getHandlers) {
registeredAdminServices.push({ getServiceDefinition, getHandlers });
}
function addAdminServicesToServer(server) {
for (const { getServiceDefinition, getHandlers } of registeredAdminServices) {
server.addService(getServiceDefinition(), getHandlers());
}
}
}
});
// node_modules/@grpc/grpc-js/build/src/call.js
var require_call = __commonJS({
"node_modules/@grpc/grpc-js/build/src/call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ClientDuplexStreamImpl = exports2.ClientWritableStreamImpl = exports2.ClientReadableStreamImpl = exports2.ClientUnaryCallImpl = void 0;
exports2.callErrorFromStatus = callErrorFromStatus;
var events_1 = __require("events");
var stream_1 = __require("stream");
var constants_1 = require_constants2();
function callErrorFromStatus(status2, callerStack) {
const message = `${status2.code} ${constants_1.Status[status2.code]}: ${status2.details}`;
const error40 = new Error(message);
const stack = `${error40.stack}
for call at
${callerStack}`;
return Object.assign(new Error(message), status2, { stack });
}
var ClientUnaryCallImpl = class extends events_1.EventEmitter {
constructor() {
super();
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
};
exports2.ClientUnaryCallImpl = ClientUnaryCallImpl;
var ClientReadableStreamImpl = class extends stream_1.Readable {
constructor(deserialize) {
super({ objectMode: true });
this.deserialize = deserialize;
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
_read(_size2) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.startRead();
}
};
exports2.ClientReadableStreamImpl = ClientReadableStreamImpl;
var ClientWritableStreamImpl = class extends stream_1.Writable {
constructor(serialize3) {
super({ objectMode: true });
this.serialize = serialize3;
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
_write(chunk, encoding, cb) {
var _a4;
const context2 = {
callback: cb
};
const flags2 = Number(encoding);
if (!Number.isNaN(flags2)) {
context2.flags = flags2;
}
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.sendMessageWithContext(context2, chunk);
}
_final(cb) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.halfClose();
cb();
}
};
exports2.ClientWritableStreamImpl = ClientWritableStreamImpl;
var ClientDuplexStreamImpl = class extends stream_1.Duplex {
constructor(serialize3, deserialize) {
super({ objectMode: true });
this.serialize = serialize3;
this.deserialize = deserialize;
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
_read(_size2) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.startRead();
}
_write(chunk, encoding, cb) {
var _a4;
const context2 = {
callback: cb
};
const flags2 = Number(encoding);
if (!Number.isNaN(flags2)) {
context2.flags = flags2;
}
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.sendMessageWithContext(context2, chunk);
}
_final(cb) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.halfClose();
cb();
}
};
exports2.ClientDuplexStreamImpl = ClientDuplexStreamImpl;
}
});
// node_modules/@grpc/grpc-js/build/src/call-interface.js
var require_call_interface = __commonJS({
"node_modules/@grpc/grpc-js/build/src/call-interface.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InterceptingListenerImpl = void 0;
exports2.isInterceptingListener = isInterceptingListener;
function isInterceptingListener(listener) {
return listener.onReceiveMetadata !== void 0 && listener.onReceiveMetadata.length === 1;
}
var InterceptingListenerImpl = class {
constructor(listener, nextListener) {
this.listener = listener;
this.nextListener = nextListener;
this.processingMetadata = false;
this.hasPendingMessage = false;
this.processingMessage = false;
this.pendingStatus = null;
}
processPendingMessage() {
if (this.hasPendingMessage) {
this.nextListener.onReceiveMessage(this.pendingMessage);
this.pendingMessage = null;
this.hasPendingMessage = false;
}
}
processPendingStatus() {
if (this.pendingStatus) {
this.nextListener.onReceiveStatus(this.pendingStatus);
}
}
onReceiveMetadata(metadata2) {
this.processingMetadata = true;
this.listener.onReceiveMetadata(metadata2, (metadata3) => {
this.processingMetadata = false;
this.nextListener.onReceiveMetadata(metadata3);
this.processPendingMessage();
this.processPendingStatus();
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
this.processingMessage = true;
this.listener.onReceiveMessage(message, (msg) => {
this.processingMessage = false;
if (this.processingMetadata) {
this.pendingMessage = msg;
this.hasPendingMessage = true;
} else {
this.nextListener.onReceiveMessage(msg);
this.processPendingStatus();
}
});
}
onReceiveStatus(status2) {
this.listener.onReceiveStatus(status2, (processedStatus) => {
if (this.processingMetadata || this.processingMessage) {
this.pendingStatus = processedStatus;
} else {
this.nextListener.onReceiveStatus(processedStatus);
}
});
}
};
exports2.InterceptingListenerImpl = InterceptingListenerImpl;
}
});
// node_modules/@grpc/grpc-js/build/src/client-interceptors.js
var require_client_interceptors = __commonJS({
"node_modules/@grpc/grpc-js/build/src/client-interceptors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InterceptingCall = exports2.RequesterBuilder = exports2.ListenerBuilder = exports2.InterceptorConfigurationError = void 0;
exports2.getInterceptingCall = getInterceptingCall;
var metadata_1 = require_metadata();
var call_interface_1 = require_call_interface();
var constants_1 = require_constants2();
var error_1 = require_error();
var InterceptorConfigurationError = class _InterceptorConfigurationError extends Error {
constructor(message) {
super(message);
this.name = "InterceptorConfigurationError";
Error.captureStackTrace(this, _InterceptorConfigurationError);
}
};
exports2.InterceptorConfigurationError = InterceptorConfigurationError;
var ListenerBuilder = class {
constructor() {
this.metadata = void 0;
this.message = void 0;
this.status = void 0;
}
withOnReceiveMetadata(onReceiveMetadata) {
this.metadata = onReceiveMetadata;
return this;
}
withOnReceiveMessage(onReceiveMessage) {
this.message = onReceiveMessage;
return this;
}
withOnReceiveStatus(onReceiveStatus) {
this.status = onReceiveStatus;
return this;
}
build() {
return {
onReceiveMetadata: this.metadata,
onReceiveMessage: this.message,
onReceiveStatus: this.status
};
}
};
exports2.ListenerBuilder = ListenerBuilder;
var RequesterBuilder = class {
constructor() {
this.start = void 0;
this.message = void 0;
this.halfClose = void 0;
this.cancel = void 0;
}
withStart(start2) {
this.start = start2;
return this;
}
withSendMessage(sendMessage3) {
this.message = sendMessage3;
return this;
}
withHalfClose(halfClose) {
this.halfClose = halfClose;
return this;
}
withCancel(cancel) {
this.cancel = cancel;
return this;
}
build() {
return {
start: this.start,
sendMessage: this.message,
halfClose: this.halfClose,
cancel: this.cancel
};
}
};
exports2.RequesterBuilder = RequesterBuilder;
var defaultListener = {
onReceiveMetadata: (metadata2, next) => {
next(metadata2);
},
onReceiveMessage: (message, next) => {
next(message);
},
onReceiveStatus: (status2, next) => {
next(status2);
}
};
var defaultRequester = {
start: (metadata2, listener, next) => {
next(metadata2, listener);
},
sendMessage: (message, next) => {
next(message);
},
halfClose: (next) => {
next();
},
cancel: (next) => {
next();
}
};
var InterceptingCall = class {
constructor(nextCall, requester) {
var _a4, _b, _c, _d;
this.nextCall = nextCall;
this.processingMetadata = false;
this.pendingMessageContext = null;
this.processingMessage = false;
this.pendingHalfClose = false;
if (requester) {
this.requester = {
start: (_a4 = requester.start) !== null && _a4 !== void 0 ? _a4 : defaultRequester.start,
sendMessage: (_b = requester.sendMessage) !== null && _b !== void 0 ? _b : defaultRequester.sendMessage,
halfClose: (_c = requester.halfClose) !== null && _c !== void 0 ? _c : defaultRequester.halfClose,
cancel: (_d = requester.cancel) !== null && _d !== void 0 ? _d : defaultRequester.cancel
};
} else {
this.requester = defaultRequester;
}
}
cancelWithStatus(status2, details) {
this.requester.cancel(() => {
this.nextCall.cancelWithStatus(status2, details);
});
}
getPeer() {
return this.nextCall.getPeer();
}
processPendingMessage() {
if (this.pendingMessageContext) {
this.nextCall.sendMessageWithContext(this.pendingMessageContext, this.pendingMessage);
this.pendingMessageContext = null;
this.pendingMessage = null;
}
}
processPendingHalfClose() {
if (this.pendingHalfClose) {
this.nextCall.halfClose();
}
}
start(metadata2, interceptingListener) {
var _a4, _b, _c, _d, _e, _f;
const fullInterceptingListener = {
onReceiveMetadata: (_b = (_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMetadata) === null || _a4 === void 0 ? void 0 : _a4.bind(interceptingListener)) !== null && _b !== void 0 ? _b : (metadata3) => {
},
onReceiveMessage: (_d = (_c = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMessage) === null || _c === void 0 ? void 0 : _c.bind(interceptingListener)) !== null && _d !== void 0 ? _d : (message) => {
},
onReceiveStatus: (_f = (_e = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _e === void 0 ? void 0 : _e.bind(interceptingListener)) !== null && _f !== void 0 ? _f : (status2) => {
}
};
this.processingMetadata = true;
this.requester.start(metadata2, fullInterceptingListener, (md, listener) => {
var _a5, _b2, _c2;
this.processingMetadata = false;
let finalInterceptingListener;
if ((0, call_interface_1.isInterceptingListener)(listener)) {
finalInterceptingListener = listener;
} else {
const fullListener = {
onReceiveMetadata: (_a5 = listener.onReceiveMetadata) !== null && _a5 !== void 0 ? _a5 : defaultListener.onReceiveMetadata,
onReceiveMessage: (_b2 = listener.onReceiveMessage) !== null && _b2 !== void 0 ? _b2 : defaultListener.onReceiveMessage,
onReceiveStatus: (_c2 = listener.onReceiveStatus) !== null && _c2 !== void 0 ? _c2 : defaultListener.onReceiveStatus
};
finalInterceptingListener = new call_interface_1.InterceptingListenerImpl(fullListener, fullInterceptingListener);
}
this.nextCall.start(md, finalInterceptingListener);
this.processPendingMessage();
this.processPendingHalfClose();
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessageWithContext(context2, message) {
this.processingMessage = true;
this.requester.sendMessage(message, (finalMessage) => {
this.processingMessage = false;
if (this.processingMetadata) {
this.pendingMessageContext = context2;
this.pendingMessage = message;
} else {
this.nextCall.sendMessageWithContext(context2, finalMessage);
this.processPendingHalfClose();
}
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessage(message) {
this.sendMessageWithContext({}, message);
}
startRead() {
this.nextCall.startRead();
}
halfClose() {
this.requester.halfClose(() => {
if (this.processingMetadata || this.processingMessage) {
this.pendingHalfClose = true;
} else {
this.nextCall.halfClose();
}
});
}
};
exports2.InterceptingCall = InterceptingCall;
function getCall(channel, path101, options) {
var _a4, _b;
const deadline = (_a4 = options.deadline) !== null && _a4 !== void 0 ? _a4 : Infinity;
const host = options.host;
const parent = (_b = options.parent) !== null && _b !== void 0 ? _b : null;
const propagateFlags = options.propagate_flags;
const credentials3 = options.credentials;
const call = channel.createCall(path101, deadline, host, parent, propagateFlags);
if (credentials3) {
call.setCredentials(credentials3);
}
return call;
}
var BaseInterceptingCall = class {
constructor(call, methodDefinition) {
this.call = call;
this.methodDefinition = methodDefinition;
}
cancelWithStatus(status2, details) {
this.call.cancelWithStatus(status2, details);
}
getPeer() {
return this.call.getPeer();
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessageWithContext(context2, message) {
let serialized;
try {
serialized = this.methodDefinition.requestSerialize(message);
} catch (e2) {
this.call.cancelWithStatus(constants_1.Status.INTERNAL, `Request message serialization failure: ${(0, error_1.getErrorMessage)(e2)}`);
return;
}
this.call.sendMessageWithContext(context2, serialized);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessage(message) {
this.sendMessageWithContext({}, message);
}
start(metadata2, interceptingListener) {
let readError = null;
this.call.start(metadata2, {
onReceiveMetadata: (metadata3) => {
var _a4;
(_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMetadata) === null || _a4 === void 0 ? void 0 : _a4.call(interceptingListener, metadata3);
},
onReceiveMessage: (message) => {
var _a4;
let deserialized;
try {
deserialized = this.methodDefinition.responseDeserialize(message);
} catch (e2) {
readError = {
code: constants_1.Status.INTERNAL,
details: `Response message parsing error: ${(0, error_1.getErrorMessage)(e2)}`,
metadata: new metadata_1.Metadata()
};
this.call.cancelWithStatus(readError.code, readError.details);
return;
}
(_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMessage) === null || _a4 === void 0 ? void 0 : _a4.call(interceptingListener, deserialized);
},
onReceiveStatus: (status2) => {
var _a4, _b;
if (readError) {
(_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _a4 === void 0 ? void 0 : _a4.call(interceptingListener, readError);
} else {
(_b = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _b === void 0 ? void 0 : _b.call(interceptingListener, status2);
}
}
});
}
startRead() {
this.call.startRead();
}
halfClose() {
this.call.halfClose();
}
};
var BaseUnaryInterceptingCall = class extends BaseInterceptingCall {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
constructor(call, methodDefinition) {
super(call, methodDefinition);
}
start(metadata2, listener) {
var _a4, _b;
let receivedMessage = false;
const wrapperListener = {
onReceiveMetadata: (_b = (_a4 = listener === null || listener === void 0 ? void 0 : listener.onReceiveMetadata) === null || _a4 === void 0 ? void 0 : _a4.bind(listener)) !== null && _b !== void 0 ? _b : (metadata3) => {
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage: (message) => {
var _a5;
receivedMessage = true;
(_a5 = listener === null || listener === void 0 ? void 0 : listener.onReceiveMessage) === null || _a5 === void 0 ? void 0 : _a5.call(listener, message);
},
onReceiveStatus: (status2) => {
var _a5, _b2;
if (!receivedMessage) {
(_a5 = listener === null || listener === void 0 ? void 0 : listener.onReceiveMessage) === null || _a5 === void 0 ? void 0 : _a5.call(listener, null);
}
(_b2 = listener === null || listener === void 0 ? void 0 : listener.onReceiveStatus) === null || _b2 === void 0 ? void 0 : _b2.call(listener, status2);
}
};
super.start(metadata2, wrapperListener);
this.call.startRead();
}
};
var BaseStreamingInterceptingCall = class extends BaseInterceptingCall {
};
function getBottomInterceptingCall(channel, options, methodDefinition) {
const call = getCall(channel, methodDefinition.path, options);
if (methodDefinition.responseStream) {
return new BaseStreamingInterceptingCall(call, methodDefinition);
} else {
return new BaseUnaryInterceptingCall(call, methodDefinition);
}
}
function getInterceptingCall(interceptorArgs, methodDefinition, options, channel) {
if (interceptorArgs.clientInterceptors.length > 0 && interceptorArgs.clientInterceptorProviders.length > 0) {
throw new InterceptorConfigurationError("Both interceptors and interceptor_providers were passed as options to the client constructor. Only one of these is allowed.");
}
if (interceptorArgs.callInterceptors.length > 0 && interceptorArgs.callInterceptorProviders.length > 0) {
throw new InterceptorConfigurationError("Both interceptors and interceptor_providers were passed as call options. Only one of these is allowed.");
}
let interceptors = [];
if (interceptorArgs.callInterceptors.length > 0 || interceptorArgs.callInterceptorProviders.length > 0) {
interceptors = [].concat(interceptorArgs.callInterceptors, interceptorArgs.callInterceptorProviders.map((provider) => provider(methodDefinition))).filter((interceptor) => interceptor);
} else {
interceptors = [].concat(interceptorArgs.clientInterceptors, interceptorArgs.clientInterceptorProviders.map((provider) => provider(methodDefinition))).filter((interceptor) => interceptor);
}
const interceptorOptions = Object.assign({}, options, {
method_definition: methodDefinition
});
const getCall2 = interceptors.reduceRight((nextCall, nextInterceptor) => {
return (currentOptions) => nextInterceptor(currentOptions, nextCall);
}, (finalOptions) => getBottomInterceptingCall(channel, finalOptions, methodDefinition));
return getCall2(interceptorOptions);
}
}
});
// node_modules/@grpc/grpc-js/build/src/client.js
var require_client = __commonJS({
"node_modules/@grpc/grpc-js/build/src/client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Client = void 0;
var call_1 = require_call();
var channel_1 = require_channel();
var connectivity_state_1 = require_connectivity_state();
var constants_1 = require_constants2();
var metadata_1 = require_metadata();
var client_interceptors_1 = require_client_interceptors();
var CHANNEL_SYMBOL = Symbol();
var INTERCEPTOR_SYMBOL = Symbol();
var INTERCEPTOR_PROVIDER_SYMBOL = Symbol();
var CALL_INVOCATION_TRANSFORMER_SYMBOL = Symbol();
function isFunction(arg) {
return typeof arg === "function";
}
function getErrorStackString(error40) {
var _a4;
return ((_a4 = error40.stack) === null || _a4 === void 0 ? void 0 : _a4.split("\n").slice(1).join("\n")) || "no stack trace available";
}
var Client3 = class {
constructor(address, credentials3, options = {}) {
var _a4, _b;
options = Object.assign({}, options);
this[INTERCEPTOR_SYMBOL] = (_a4 = options.interceptors) !== null && _a4 !== void 0 ? _a4 : [];
delete options.interceptors;
this[INTERCEPTOR_PROVIDER_SYMBOL] = (_b = options.interceptor_providers) !== null && _b !== void 0 ? _b : [];
delete options.interceptor_providers;
if (this[INTERCEPTOR_SYMBOL].length > 0 && this[INTERCEPTOR_PROVIDER_SYMBOL].length > 0) {
throw new Error("Both interceptors and interceptor_providers were passed as options to the client constructor. Only one of these is allowed.");
}
this[CALL_INVOCATION_TRANSFORMER_SYMBOL] = options.callInvocationTransformer;
delete options.callInvocationTransformer;
if (options.channelOverride) {
this[CHANNEL_SYMBOL] = options.channelOverride;
} else if (options.channelFactoryOverride) {
const channelFactoryOverride = options.channelFactoryOverride;
delete options.channelFactoryOverride;
this[CHANNEL_SYMBOL] = channelFactoryOverride(address, credentials3, options);
} else {
this[CHANNEL_SYMBOL] = new channel_1.ChannelImplementation(address, credentials3, options);
}
}
close() {
this[CHANNEL_SYMBOL].close();
}
getChannel() {
return this[CHANNEL_SYMBOL];
}
waitForReady(deadline, callback) {
const checkState = (err2) => {
if (err2) {
callback(new Error("Failed to connect before the deadline"));
return;
}
let newState;
try {
newState = this[CHANNEL_SYMBOL].getConnectivityState(true);
} catch (e2) {
callback(new Error("The channel has been closed"));
return;
}
if (newState === connectivity_state_1.ConnectivityState.READY) {
callback();
} else {
try {
this[CHANNEL_SYMBOL].watchConnectivityState(newState, deadline, checkState);
} catch (e2) {
callback(new Error("The channel has been closed"));
}
}
};
setImmediate(checkState);
}
checkOptionalUnaryResponseArguments(arg1, arg2, arg3) {
if (isFunction(arg1)) {
return { metadata: new metadata_1.Metadata(), options: {}, callback: arg1 };
} else if (isFunction(arg2)) {
if (arg1 instanceof metadata_1.Metadata) {
return { metadata: arg1, options: {}, callback: arg2 };
} else {
return { metadata: new metadata_1.Metadata(), options: arg1, callback: arg2 };
}
} else {
if (!(arg1 instanceof metadata_1.Metadata && arg2 instanceof Object && isFunction(arg3))) {
throw new Error("Incorrect arguments passed");
}
return { metadata: arg1, options: arg2, callback: arg3 };
}
}
makeUnaryRequest(method, serialize3, deserialize, argument, metadata2, options, callback) {
var _a4, _b;
const checkedArguments = this.checkOptionalUnaryResponseArguments(metadata2, options, callback);
const methodDefinition = {
path: method,
requestStream: false,
responseStream: false,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
argument,
metadata: checkedArguments.metadata,
call: new call_1.ClientUnaryCallImpl(),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options,
callback: checkedArguments.callback
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const emitter = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
emitter.call = call;
let responseMessage = null;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata: (metadata3) => {
emitter.emit("metadata", metadata3);
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
if (responseMessage !== null) {
call.cancelWithStatus(constants_1.Status.UNIMPLEMENTED, "Too many responses received");
}
responseMessage = message;
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
if (status2.code === constants_1.Status.OK) {
if (responseMessage === null) {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)({
code: constants_1.Status.UNIMPLEMENTED,
details: "No message received",
metadata: status2.metadata
}, callerStack));
} else {
callProperties.callback(null, responseMessage);
}
} else {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
emitter.emit("status", status2);
}
});
call.sendMessage(argument);
call.halfClose();
return emitter;
}
makeClientStreamRequest(method, serialize3, deserialize, metadata2, options, callback) {
var _a4, _b;
const checkedArguments = this.checkOptionalUnaryResponseArguments(metadata2, options, callback);
const methodDefinition = {
path: method,
requestStream: true,
responseStream: false,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
metadata: checkedArguments.metadata,
call: new call_1.ClientWritableStreamImpl(serialize3),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options,
callback: checkedArguments.callback
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const emitter = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
emitter.call = call;
let responseMessage = null;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata: (metadata3) => {
emitter.emit("metadata", metadata3);
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
if (responseMessage !== null) {
call.cancelWithStatus(constants_1.Status.UNIMPLEMENTED, "Too many responses received");
}
responseMessage = message;
call.startRead();
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
if (status2.code === constants_1.Status.OK) {
if (responseMessage === null) {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)({
code: constants_1.Status.UNIMPLEMENTED,
details: "No message received",
metadata: status2.metadata
}, callerStack));
} else {
callProperties.callback(null, responseMessage);
}
} else {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
emitter.emit("status", status2);
}
});
return emitter;
}
checkMetadataAndOptions(arg1, arg2) {
let metadata2;
let options;
if (arg1 instanceof metadata_1.Metadata) {
metadata2 = arg1;
if (arg2) {
options = arg2;
} else {
options = {};
}
} else {
if (arg1) {
options = arg1;
} else {
options = {};
}
metadata2 = new metadata_1.Metadata();
}
return { metadata: metadata2, options };
}
makeServerStreamRequest(method, serialize3, deserialize, argument, metadata2, options) {
var _a4, _b;
const checkedArguments = this.checkMetadataAndOptions(metadata2, options);
const methodDefinition = {
path: method,
requestStream: false,
responseStream: true,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
argument,
metadata: checkedArguments.metadata,
call: new call_1.ClientReadableStreamImpl(deserialize),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const stream2 = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
stream2.call = call;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata(metadata3) {
stream2.emit("metadata", metadata3);
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
stream2.push(message);
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
stream2.push(null);
if (status2.code !== constants_1.Status.OK) {
const callerStack = getErrorStackString(callerStackError);
stream2.emit("error", (0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
stream2.emit("status", status2);
}
});
call.sendMessage(argument);
call.halfClose();
return stream2;
}
makeBidiStreamRequest(method, serialize3, deserialize, metadata2, options) {
var _a4, _b;
const checkedArguments = this.checkMetadataAndOptions(metadata2, options);
const methodDefinition = {
path: method,
requestStream: true,
responseStream: true,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
metadata: checkedArguments.metadata,
call: new call_1.ClientDuplexStreamImpl(serialize3, deserialize),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const stream2 = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
stream2.call = call;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata(metadata3) {
stream2.emit("metadata", metadata3);
},
onReceiveMessage(message) {
stream2.push(message);
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
stream2.push(null);
if (status2.code !== constants_1.Status.OK) {
const callerStack = getErrorStackString(callerStackError);
stream2.emit("error", (0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
stream2.emit("status", status2);
}
});
return stream2;
}
};
exports2.Client = Client3;
}
});
// node_modules/@grpc/grpc-js/build/src/make-client.js
var require_make_client = __commonJS({
"node_modules/@grpc/grpc-js/build/src/make-client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeClientConstructor = makeClientConstructor;
exports2.loadPackageDefinition = loadPackageDefinition;
var client_1 = require_client();
var requesterFuncs = {
unary: client_1.Client.prototype.makeUnaryRequest,
server_stream: client_1.Client.prototype.makeServerStreamRequest,
client_stream: client_1.Client.prototype.makeClientStreamRequest,
bidi: client_1.Client.prototype.makeBidiStreamRequest
};
function isPrototypePolluted(key) {
return ["__proto__", "prototype", "constructor"].includes(key);
}
function makeClientConstructor(methods, serviceName, classOptions) {
if (!classOptions) {
classOptions = {};
}
class ServiceClientImpl extends client_1.Client {
}
Object.keys(methods).forEach((name3) => {
if (isPrototypePolluted(name3)) {
return;
}
const attrs = methods[name3];
let methodType;
if (typeof name3 === "string" && name3.charAt(0) === "$") {
throw new Error("Method names cannot start with $");
}
if (attrs.requestStream) {
if (attrs.responseStream) {
methodType = "bidi";
} else {
methodType = "client_stream";
}
} else {
if (attrs.responseStream) {
methodType = "server_stream";
} else {
methodType = "unary";
}
}
const serialize3 = attrs.requestSerialize;
const deserialize = attrs.responseDeserialize;
const methodFunc = partial2(requesterFuncs[methodType], attrs.path, serialize3, deserialize);
ServiceClientImpl.prototype[name3] = methodFunc;
Object.assign(ServiceClientImpl.prototype[name3], attrs);
if (attrs.originalName && !isPrototypePolluted(attrs.originalName)) {
ServiceClientImpl.prototype[attrs.originalName] = ServiceClientImpl.prototype[name3];
}
});
ServiceClientImpl.service = methods;
ServiceClientImpl.serviceName = serviceName;
return ServiceClientImpl;
}
function partial2(fn, path101, serialize3, deserialize) {
return function(...args2) {
return fn.call(this, path101, serialize3, deserialize, ...args2);
};
}
function isProtobufTypeDefinition(obj) {
return "format" in obj;
}
function loadPackageDefinition(packageDef) {
const result2 = {};
for (const serviceFqn in packageDef) {
if (Object.prototype.hasOwnProperty.call(packageDef, serviceFqn)) {
const service = packageDef[serviceFqn];
const nameComponents = serviceFqn.split(".");
if (nameComponents.some((comp) => isPrototypePolluted(comp))) {
continue;
}
const serviceName = nameComponents[nameComponents.length - 1];
let current = result2;
for (const packageName of nameComponents.slice(0, -1)) {
if (!current[packageName]) {
current[packageName] = {};
}
current = current[packageName];
}
if (isProtobufTypeDefinition(service)) {
current[serviceName] = service;
} else {
current[serviceName] = makeClientConstructor(service, serviceName, {});
}
}
}
return result2;
}
}
});
// node_modules/lodash.camelcase/index.js
var require_lodash = __commonJS({
"node_modules/lodash.camelcase/index.js"(exports2, module2) {
var INFINITY = 1 / 0;
var symbolTag = "[object Symbol]";
var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
var rsAstralRange = "\\ud800-\\udfff";
var rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23";
var rsComboSymbolsRange = "\\u20d0-\\u20f0";
var rsDingbatRange = "\\u2700-\\u27bf";
var rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff";
var rsMathOpRange = "\\xac\\xb1\\xd7\\xf7";
var rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf";
var rsPunctuationRange = "\\u2000-\\u206f";
var rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000";
var rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde";
var rsVarRange = "\\ufe0e\\ufe0f";
var rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
var rsApos = "['\u2019]";
var rsAstral = "[" + rsAstralRange + "]";
var rsBreak = "[" + rsBreakRange + "]";
var rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]";
var rsDigits = "\\d+";
var rsDingbat = "[" + rsDingbatRange + "]";
var rsLower = "[" + rsLowerRange + "]";
var rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]";
var rsFitz = "\\ud83c[\\udffb-\\udfff]";
var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
var rsNonAstral = "[^" + rsAstralRange + "]";
var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
var rsUpper = "[" + rsUpperRange + "]";
var rsZWJ = "\\u200d";
var rsLowerMisc = "(?:" + rsLower + "|" + rsMisc + ")";
var rsUpperMisc = "(?:" + rsUpper + "|" + rsMisc + ")";
var rsOptLowerContr = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?";
var rsOptUpperContr = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?";
var reOptMod = rsModifier + "?";
var rsOptVar = "[" + rsVarRange + "]?";
var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
var rsSeq = rsOptVar + reOptMod + rsOptJoin;
var rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq;
var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
var reApos = RegExp(rsApos, "g");
var reComboMark = RegExp(rsCombo, "g");
var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
var reUnicodeWord = RegExp([
rsUpper + "?" + rsLower + "+" + rsOptLowerContr + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")",
rsUpperMisc + "+" + rsOptUpperContr + "(?=" + [rsBreak, rsUpper + rsLowerMisc, "$"].join("|") + ")",
rsUpper + "?" + rsLowerMisc + "+" + rsOptLowerContr,
rsUpper + "+" + rsOptUpperContr,
rsDigits,
rsEmoji
].join("|"), "g");
var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + "]");
var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
var deburredLetters = {
// Latin-1 Supplement block.
"\xC0": "A",
"\xC1": "A",
"\xC2": "A",
"\xC3": "A",
"\xC4": "A",
"\xC5": "A",
"\xE0": "a",
"\xE1": "a",
"\xE2": "a",
"\xE3": "a",
"\xE4": "a",
"\xE5": "a",
"\xC7": "C",
"\xE7": "c",
"\xD0": "D",
"\xF0": "d",
"\xC8": "E",
"\xC9": "E",
"\xCA": "E",
"\xCB": "E",
"\xE8": "e",
"\xE9": "e",
"\xEA": "e",
"\xEB": "e",
"\xCC": "I",
"\xCD": "I",
"\xCE": "I",
"\xCF": "I",
"\xEC": "i",
"\xED": "i",
"\xEE": "i",
"\xEF": "i",
"\xD1": "N",
"\xF1": "n",
"\xD2": "O",
"\xD3": "O",
"\xD4": "O",
"\xD5": "O",
"\xD6": "O",
"\xD8": "O",
"\xF2": "o",
"\xF3": "o",
"\xF4": "o",
"\xF5": "o",
"\xF6": "o",
"\xF8": "o",
"\xD9": "U",
"\xDA": "U",
"\xDB": "U",
"\xDC": "U",
"\xF9": "u",
"\xFA": "u",
"\xFB": "u",
"\xFC": "u",
"\xDD": "Y",
"\xFD": "y",
"\xFF": "y",
"\xC6": "Ae",
"\xE6": "ae",
"\xDE": "Th",
"\xFE": "th",
"\xDF": "ss",
// Latin Extended-A block.
"\u0100": "A",
"\u0102": "A",
"\u0104": "A",
"\u0101": "a",
"\u0103": "a",
"\u0105": "a",
"\u0106": "C",
"\u0108": "C",
"\u010A": "C",
"\u010C": "C",
"\u0107": "c",
"\u0109": "c",
"\u010B": "c",
"\u010D": "c",
"\u010E": "D",
"\u0110": "D",
"\u010F": "d",
"\u0111": "d",
"\u0112": "E",
"\u0114": "E",
"\u0116": "E",
"\u0118": "E",
"\u011A": "E",
"\u0113": "e",
"\u0115": "e",
"\u0117": "e",
"\u0119": "e",
"\u011B": "e",
"\u011C": "G",
"\u011E": "G",
"\u0120": "G",
"\u0122": "G",
"\u011D": "g",
"\u011F": "g",
"\u0121": "g",
"\u0123": "g",
"\u0124": "H",
"\u0126": "H",
"\u0125": "h",
"\u0127": "h",
"\u0128": "I",
"\u012A": "I",
"\u012C": "I",
"\u012E": "I",
"\u0130": "I",
"\u0129": "i",
"\u012B": "i",
"\u012D": "i",
"\u012F": "i",
"\u0131": "i",
"\u0134": "J",
"\u0135": "j",
"\u0136": "K",
"\u0137": "k",
"\u0138": "k",
"\u0139": "L",
"\u013B": "L",
"\u013D": "L",
"\u013F": "L",
"\u0141": "L",
"\u013A": "l",
"\u013C": "l",
"\u013E": "l",
"\u0140": "l",
"\u0142": "l",
"\u0143": "N",
"\u0145": "N",
"\u0147": "N",
"\u014A": "N",
"\u0144": "n",
"\u0146": "n",
"\u0148": "n",
"\u014B": "n",
"\u014C": "O",
"\u014E": "O",
"\u0150": "O",
"\u014D": "o",
"\u014F": "o",
"\u0151": "o",
"\u0154": "R",
"\u0156": "R",
"\u0158": "R",
"\u0155": "r",
"\u0157": "r",
"\u0159": "r",
"\u015A": "S",
"\u015C": "S",
"\u015E": "S",
"\u0160": "S",
"\u015B": "s",
"\u015D": "s",
"\u015F": "s",
"\u0161": "s",
"\u0162": "T",
"\u0164": "T",
"\u0166": "T",
"\u0163": "t",
"\u0165": "t",
"\u0167": "t",
"\u0168": "U",
"\u016A": "U",
"\u016C": "U",
"\u016E": "U",
"\u0170": "U",
"\u0172": "U",
"\u0169": "u",
"\u016B": "u",
"\u016D": "u",
"\u016F": "u",
"\u0171": "u",
"\u0173": "u",
"\u0174": "W",
"\u0175": "w",
"\u0176": "Y",
"\u0177": "y",
"\u0178": "Y",
"\u0179": "Z",
"\u017B": "Z",
"\u017D": "Z",
"\u017A": "z",
"\u017C": "z",
"\u017E": "z",
"\u0132": "IJ",
"\u0133": "ij",
"\u0152": "Oe",
"\u0153": "oe",
"\u0149": "'n",
"\u017F": "ss"
};
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal || freeSelf || Function("return this")();
function arrayReduce(array2, iteratee, accumulator, initAccum) {
var index = -1, length = array2 ? array2.length : 0;
if (initAccum && length) {
accumulator = array2[++index];
}
while (++index < length) {
accumulator = iteratee(accumulator, array2[index], index, array2);
}
return accumulator;
}
function asciiToArray(string4) {
return string4.split("");
}
function asciiWords(string4) {
return string4.match(reAsciiWord) || [];
}
function basePropertyOf(object3) {
return function(key) {
return object3 == null ? void 0 : object3[key];
};
}
var deburrLetter = basePropertyOf(deburredLetters);
function hasUnicode(string4) {
return reHasUnicode.test(string4);
}
function hasUnicodeWord(string4) {
return reHasUnicodeWord.test(string4);
}
function stringToArray(string4) {
return hasUnicode(string4) ? unicodeToArray(string4) : asciiToArray(string4);
}
function unicodeToArray(string4) {
return string4.match(reUnicode) || [];
}
function unicodeWords(string4) {
return string4.match(reUnicodeWord) || [];
}
var objectProto = Object.prototype;
var objectToString4 = objectProto.toString;
var Symbol2 = root.Symbol;
var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
var symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseSlice(array2, start2, end) {
var index = -1, length = array2.length;
if (start2 < 0) {
start2 = -start2 > length ? 0 : length + start2;
}
end = end > length ? length : end;
if (end < 0) {
end += length;
}
length = start2 > end ? 0 : end - start2 >>> 0;
start2 >>>= 0;
var result2 = Array(length);
while (++index < length) {
result2[index] = array2[index + start2];
}
return result2;
}
function baseToString(value) {
if (typeof value == "string") {
return value;
}
if (isSymbol(value)) {
return symbolToString ? symbolToString.call(value) : "";
}
var result2 = value + "";
return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
}
function castSlice(array2, start2, end) {
var length = array2.length;
end = end === void 0 ? length : end;
return !start2 && end >= length ? array2 : baseSlice(array2, start2, end);
}
function createCaseFirst(methodName) {
return function(string4) {
string4 = toString3(string4);
var strSymbols = hasUnicode(string4) ? stringToArray(string4) : void 0;
var chr = strSymbols ? strSymbols[0] : string4.charAt(0);
var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string4.slice(1);
return chr[methodName]() + trailing;
};
}
function createCompounder(callback) {
return function(string4) {
return arrayReduce(words(deburr(string4).replace(reApos, "")), callback, "");
};
}
function isObjectLike(value) {
return !!value && typeof value == "object";
}
function isSymbol(value) {
return typeof value == "symbol" || isObjectLike(value) && objectToString4.call(value) == symbolTag;
}
function toString3(value) {
return value == null ? "" : baseToString(value);
}
var camelCase = createCompounder(function(result2, word, index) {
word = word.toLowerCase();
return result2 + (index ? capitalize(word) : word);
});
function capitalize(string4) {
return upperFirst(toString3(string4).toLowerCase());
}
function deburr(string4) {
string4 = toString3(string4);
return string4 && string4.replace(reLatin, deburrLetter).replace(reComboMark, "");
}
var upperFirst = createCaseFirst("toUpperCase");
function words(string4, pattern, guard) {
string4 = toString3(string4);
pattern = guard ? void 0 : pattern;
if (pattern === void 0) {
return hasUnicodeWord(string4) ? unicodeWords(string4) : asciiWords(string4);
}
return string4.match(pattern) || [];
}
module2.exports = camelCase;
}
});
// node_modules/@protobufjs/aspromise/index.js
var require_aspromise = __commonJS({
"node_modules/@protobufjs/aspromise/index.js"(exports2, module2) {
"use strict";
module2.exports = asPromise;
function asPromise(fn, ctx) {
var params = new Array(arguments.length - 1), offset = 0, index = 2, pending = true;
while (index < arguments.length)
params[offset++] = arguments[index++];
return new Promise(function executor(resolve25, reject) {
params[offset] = function callback(err2) {
if (pending) {
pending = false;
if (err2)
reject(err2);
else {
var params2 = new Array(arguments.length - 1), offset2 = 0;
while (offset2 < params2.length)
params2[offset2++] = arguments[offset2];
resolve25.apply(null, params2);
}
}
};
try {
fn.apply(ctx || null, params);
} catch (err2) {
if (pending) {
pending = false;
reject(err2);
}
}
});
}
}
});
// node_modules/@protobufjs/base64/index.js
var require_base64 = __commonJS({
"node_modules/@protobufjs/base64/index.js"(exports2) {
"use strict";
var base643 = exports2;
base643.length = function length(string4) {
var p = string4.length;
if (!p)
return 0;
var n3 = 0;
while (--p % 4 > 1 && string4.charAt(p) === "=")
++n3;
return Math.ceil(string4.length * 3) / 4 - n3;
};
var b64 = new Array(64);
var s64 = new Array(123);
for (i3 = 0; i3 < 64; )
s64[b64[i3] = i3 < 26 ? i3 + 65 : i3 < 52 ? i3 + 71 : i3 < 62 ? i3 - 4 : i3 - 59 | 43] = i3++;
var i3;
base643.encode = function encode(buffer, start2, end) {
var parts2 = null, chunk = [];
var i4 = 0, j = 0, t2;
while (start2 < end) {
var b = buffer[start2++];
switch (j) {
case 0:
chunk[i4++] = b64[b >> 2];
t2 = (b & 3) << 4;
j = 1;
break;
case 1:
chunk[i4++] = b64[t2 | b >> 4];
t2 = (b & 15) << 2;
j = 2;
break;
case 2:
chunk[i4++] = b64[t2 | b >> 6];
chunk[i4++] = b64[b & 63];
j = 0;
break;
}
if (i4 > 8191) {
(parts2 || (parts2 = [])).push(String.fromCharCode.apply(String, chunk));
i4 = 0;
}
}
if (j) {
chunk[i4++] = b64[t2];
chunk[i4++] = 61;
if (j === 1)
chunk[i4++] = 61;
}
if (parts2) {
if (i4)
parts2.push(String.fromCharCode.apply(String, chunk.slice(0, i4)));
return parts2.join("");
}
return String.fromCharCode.apply(String, chunk.slice(0, i4));
};
var invalidEncoding = "invalid encoding";
base643.decode = function decode(string4, buffer, offset) {
var start2 = offset;
var j = 0, t2;
for (var i4 = 0; i4 < string4.length; ) {
var c4 = string4.charCodeAt(i4++);
if (c4 === 61 && j > 1)
break;
if ((c4 = s64[c4]) === void 0)
throw Error(invalidEncoding);
switch (j) {
case 0:
t2 = c4;
j = 1;
break;
case 1:
buffer[offset++] = t2 << 2 | (c4 & 48) >> 4;
t2 = c4;
j = 2;
break;
case 2:
buffer[offset++] = (t2 & 15) << 4 | (c4 & 60) >> 2;
t2 = c4;
j = 3;
break;
case 3:
buffer[offset++] = (t2 & 3) << 6 | c4;
j = 0;
break;
}
}
if (j === 1)
throw Error(invalidEncoding);
return offset - start2;
};
base643.test = function test(string4) {
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string4);
};
}
});
// node_modules/@protobufjs/eventemitter/index.js
var require_eventemitter = __commonJS({
"node_modules/@protobufjs/eventemitter/index.js"(exports2, module2) {
"use strict";
module2.exports = EventEmitter14;
function EventEmitter14() {
this._listeners = {};
}
EventEmitter14.prototype.on = function on7(evt, fn, ctx) {
(this._listeners[evt] || (this._listeners[evt] = [])).push({
fn,
ctx: ctx || this
});
return this;
};
EventEmitter14.prototype.off = function off(evt, fn) {
if (evt === void 0)
this._listeners = {};
else {
if (fn === void 0)
this._listeners[evt] = [];
else {
var listeners = this._listeners[evt];
for (var i3 = 0; i3 < listeners.length; )
if (listeners[i3].fn === fn)
listeners.splice(i3, 1);
else
++i3;
}
}
return this;
};
EventEmitter14.prototype.emit = function emit(evt) {
var listeners = this._listeners[evt];
if (listeners) {
var args2 = [], i3 = 1;
for (; i3 < arguments.length; )
args2.push(arguments[i3++]);
for (i3 = 0; i3 < listeners.length; )
listeners[i3].fn.apply(listeners[i3++].ctx, args2);
}
return this;
};
}
});
// node_modules/@protobufjs/float/index.js
var require_float = __commonJS({
"node_modules/@protobufjs/float/index.js"(exports2, module2) {
"use strict";
module2.exports = factory(factory);
function factory(exports3) {
if (typeof Float32Array !== "undefined") (function() {
var f32 = new Float32Array([-0]), f8b = new Uint8Array(f32.buffer), le = f8b[3] === 128;
function writeFloat_f32_cpy(val, buf, pos) {
f32[0] = val;
buf[pos] = f8b[0];
buf[pos + 1] = f8b[1];
buf[pos + 2] = f8b[2];
buf[pos + 3] = f8b[3];
}
function writeFloat_f32_rev(val, buf, pos) {
f32[0] = val;
buf[pos] = f8b[3];
buf[pos + 1] = f8b[2];
buf[pos + 2] = f8b[1];
buf[pos + 3] = f8b[0];
}
exports3.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
exports3.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
function readFloat_f32_cpy(buf, pos) {
f8b[0] = buf[pos];
f8b[1] = buf[pos + 1];
f8b[2] = buf[pos + 2];
f8b[3] = buf[pos + 3];
return f32[0];
}
function readFloat_f32_rev(buf, pos) {
f8b[3] = buf[pos];
f8b[2] = buf[pos + 1];
f8b[1] = buf[pos + 2];
f8b[0] = buf[pos + 3];
return f32[0];
}
exports3.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
exports3.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
})();
else (function() {
function writeFloat_ieee754(writeUint, val, buf, pos) {
var sign = val < 0 ? 1 : 0;
if (sign)
val = -val;
if (val === 0)
writeUint(1 / val > 0 ? (
/* positive */
0
) : (
/* negative 0 */
2147483648
), buf, pos);
else if (isNaN(val))
writeUint(2143289344, buf, pos);
else if (val > 34028234663852886e22)
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
else if (val < 11754943508222875e-54)
writeUint((sign << 31 | Math.round(val / 1401298464324817e-60)) >>> 0, buf, pos);
else {
var exponent = Math.floor(Math.log(val) / Math.LN2), mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
}
}
exports3.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
exports3.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
function readFloat_ieee754(readUint, buf, pos) {
var uint = readUint(buf, pos), sign = (uint >> 31) * 2 + 1, exponent = uint >>> 23 & 255, mantissa = uint & 8388607;
return exponent === 255 ? mantissa ? NaN : sign * Infinity : exponent === 0 ? sign * 1401298464324817e-60 * mantissa : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
}
exports3.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
exports3.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
})();
if (typeof Float64Array !== "undefined") (function() {
var f64 = new Float64Array([-0]), f8b = new Uint8Array(f64.buffer), le = f8b[7] === 128;
function writeDouble_f64_cpy(val, buf, pos) {
f64[0] = val;
buf[pos] = f8b[0];
buf[pos + 1] = f8b[1];
buf[pos + 2] = f8b[2];
buf[pos + 3] = f8b[3];
buf[pos + 4] = f8b[4];
buf[pos + 5] = f8b[5];
buf[pos + 6] = f8b[6];
buf[pos + 7] = f8b[7];
}
function writeDouble_f64_rev(val, buf, pos) {
f64[0] = val;
buf[pos] = f8b[7];
buf[pos + 1] = f8b[6];
buf[pos + 2] = f8b[5];
buf[pos + 3] = f8b[4];
buf[pos + 4] = f8b[3];
buf[pos + 5] = f8b[2];
buf[pos + 6] = f8b[1];
buf[pos + 7] = f8b[0];
}
exports3.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
exports3.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
function readDouble_f64_cpy(buf, pos) {
f8b[0] = buf[pos];
f8b[1] = buf[pos + 1];
f8b[2] = buf[pos + 2];
f8b[3] = buf[pos + 3];
f8b[4] = buf[pos + 4];
f8b[5] = buf[pos + 5];
f8b[6] = buf[pos + 6];
f8b[7] = buf[pos + 7];
return f64[0];
}
function readDouble_f64_rev(buf, pos) {
f8b[7] = buf[pos];
f8b[6] = buf[pos + 1];
f8b[5] = buf[pos + 2];
f8b[4] = buf[pos + 3];
f8b[3] = buf[pos + 4];
f8b[2] = buf[pos + 5];
f8b[1] = buf[pos + 6];
f8b[0] = buf[pos + 7];
return f64[0];
}
exports3.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
exports3.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
})();
else (function() {
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
var sign = val < 0 ? 1 : 0;
if (sign)
val = -val;
if (val === 0) {
writeUint(0, buf, pos + off0);
writeUint(1 / val > 0 ? (
/* positive */
0
) : (
/* negative 0 */
2147483648
), buf, pos + off1);
} else if (isNaN(val)) {
writeUint(0, buf, pos + off0);
writeUint(2146959360, buf, pos + off1);
} else if (val > 17976931348623157e292) {
writeUint(0, buf, pos + off0);
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
} else {
var mantissa;
if (val < 22250738585072014e-324) {
mantissa = val / 5e-324;
writeUint(mantissa >>> 0, buf, pos + off0);
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
} else {
var exponent = Math.floor(Math.log(val) / Math.LN2);
if (exponent === 1024)
exponent = 1023;
mantissa = val * Math.pow(2, -exponent);
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
}
}
}
exports3.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
exports3.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
var lo = readUint(buf, pos + off0), hi = readUint(buf, pos + off1);
var sign = (hi >> 31) * 2 + 1, exponent = hi >>> 20 & 2047, mantissa = 4294967296 * (hi & 1048575) + lo;
return exponent === 2047 ? mantissa ? NaN : sign * Infinity : exponent === 0 ? sign * 5e-324 * mantissa : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
}
exports3.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
exports3.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
})();
return exports3;
}
function writeUintLE(val, buf, pos) {
buf[pos] = val & 255;
buf[pos + 1] = val >>> 8 & 255;
buf[pos + 2] = val >>> 16 & 255;
buf[pos + 3] = val >>> 24;
}
function writeUintBE(val, buf, pos) {
buf[pos] = val >>> 24;
buf[pos + 1] = val >>> 16 & 255;
buf[pos + 2] = val >>> 8 & 255;
buf[pos + 3] = val & 255;
}
function readUintLE(buf, pos) {
return (buf[pos] | buf[pos + 1] << 8 | buf[pos + 2] << 16 | buf[pos + 3] << 24) >>> 0;
}
function readUintBE(buf, pos) {
return (buf[pos] << 24 | buf[pos + 1] << 16 | buf[pos + 2] << 8 | buf[pos + 3]) >>> 0;
}
}
});
// node_modules/@protobufjs/inquire/index.js
var require_inquire = __commonJS({
"node_modules/@protobufjs/inquire/index.js"(exports, module) {
"use strict";
module.exports = inquire;
function inquire(moduleName) {
try {
var mod = eval("quire".replace(/^/, "re"))(moduleName);
if (mod && (mod.length || Object.keys(mod).length))
return mod;
} catch (e2) {
}
return null;
}
}
});
// node_modules/@protobufjs/utf8/index.js
var require_utf8 = __commonJS({
"node_modules/@protobufjs/utf8/index.js"(exports2) {
"use strict";
var utf8 = exports2;
utf8.length = function utf8_length(string4) {
var len = 0, c4 = 0;
for (var i3 = 0; i3 < string4.length; ++i3) {
c4 = string4.charCodeAt(i3);
if (c4 < 128)
len += 1;
else if (c4 < 2048)
len += 2;
else if ((c4 & 64512) === 55296 && (string4.charCodeAt(i3 + 1) & 64512) === 56320) {
++i3;
len += 4;
} else
len += 3;
}
return len;
};
utf8.read = function utf8_read(buffer, start2, end) {
var len = end - start2;
if (len < 1)
return "";
var parts2 = null, chunk = [], i3 = 0, t2;
while (start2 < end) {
t2 = buffer[start2++];
if (t2 < 128)
chunk[i3++] = t2;
else if (t2 > 191 && t2 < 224)
chunk[i3++] = (t2 & 31) << 6 | buffer[start2++] & 63;
else if (t2 > 239 && t2 < 365) {
t2 = ((t2 & 7) << 18 | (buffer[start2++] & 63) << 12 | (buffer[start2++] & 63) << 6 | buffer[start2++] & 63) - 65536;
chunk[i3++] = 55296 + (t2 >> 10);
chunk[i3++] = 56320 + (t2 & 1023);
} else
chunk[i3++] = (t2 & 15) << 12 | (buffer[start2++] & 63) << 6 | buffer[start2++] & 63;
if (i3 > 8191) {
(parts2 || (parts2 = [])).push(String.fromCharCode.apply(String, chunk));
i3 = 0;
}
}
if (parts2) {
if (i3)
parts2.push(String.fromCharCode.apply(String, chunk.slice(0, i3)));
return parts2.join("");
}
return String.fromCharCode.apply(String, chunk.slice(0, i3));
};
utf8.write = function utf8_write(string4, buffer, offset) {
var start2 = offset, c1, c22;
for (var i3 = 0; i3 < string4.length; ++i3) {
c1 = string4.charCodeAt(i3);
if (c1 < 128) {
buffer[offset++] = c1;
} else if (c1 < 2048) {
buffer[offset++] = c1 >> 6 | 192;
buffer[offset++] = c1 & 63 | 128;
} else if ((c1 & 64512) === 55296 && ((c22 = string4.charCodeAt(i3 + 1)) & 64512) === 56320) {
c1 = 65536 + ((c1 & 1023) << 10) + (c22 & 1023);
++i3;
buffer[offset++] = c1 >> 18 | 240;
buffer[offset++] = c1 >> 12 & 63 | 128;
buffer[offset++] = c1 >> 6 & 63 | 128;
buffer[offset++] = c1 & 63 | 128;
} else {
buffer[offset++] = c1 >> 12 | 224;
buffer[offset++] = c1 >> 6 & 63 | 128;
buffer[offset++] = c1 & 63 | 128;
}
}
return offset - start2;
};
}
});
// node_modules/@protobufjs/pool/index.js
var require_pool = __commonJS({
"node_modules/@protobufjs/pool/index.js"(exports2, module2) {
"use strict";
module2.exports = pool;
function pool(alloc, slice, size) {
var SIZE = size || 8192;
var MAX = SIZE >>> 1;
var slab2 = null;
var offset = SIZE;
return function pool_alloc(size2) {
if (size2 < 1 || size2 > MAX)
return alloc(size2);
if (offset + size2 > SIZE) {
slab2 = alloc(SIZE);
offset = 0;
}
var buf = slice.call(slab2, offset, offset += size2);
if (offset & 7)
offset = (offset | 7) + 1;
return buf;
};
}
}
});
// node_modules/protobufjs/src/util/longbits.js
var require_longbits = __commonJS({
"node_modules/protobufjs/src/util/longbits.js"(exports2, module2) {
"use strict";
module2.exports = LongBits;
var util2 = require_minimal();
function LongBits(lo, hi) {
this.lo = lo >>> 0;
this.hi = hi >>> 0;
}
var zero = LongBits.zero = new LongBits(0, 0);
zero.toNumber = function() {
return 0;
};
zero.zzEncode = zero.zzDecode = function() {
return this;
};
zero.length = function() {
return 1;
};
var zeroHash = LongBits.zeroHash = "\0\0\0\0\0\0\0\0";
LongBits.fromNumber = function fromNumber(value) {
if (value === 0)
return zero;
var sign = value < 0;
if (sign)
value = -value;
var lo = value >>> 0, hi = (value - lo) / 4294967296 >>> 0;
if (sign) {
hi = ~hi >>> 0;
lo = ~lo >>> 0;
if (++lo > 4294967295) {
lo = 0;
if (++hi > 4294967295)
hi = 0;
}
}
return new LongBits(lo, hi);
};
LongBits.from = function from(value) {
if (typeof value === "number")
return LongBits.fromNumber(value);
if (util2.isString(value)) {
if (util2.Long)
value = util2.Long.fromString(value);
else
return LongBits.fromNumber(parseInt(value, 10));
}
return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;
};
LongBits.prototype.toNumber = function toNumber2(unsigned) {
if (!unsigned && this.hi >>> 31) {
var lo = ~this.lo + 1 >>> 0, hi = ~this.hi >>> 0;
if (!lo)
hi = hi + 1 >>> 0;
return -(lo + hi * 4294967296);
}
return this.lo + this.hi * 4294967296;
};
LongBits.prototype.toLong = function toLong(unsigned) {
return util2.Long ? new util2.Long(this.lo | 0, this.hi | 0, Boolean(unsigned)) : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };
};
var charCodeAt = String.prototype.charCodeAt;
LongBits.fromHash = function fromHash(hash) {
if (hash === zeroHash)
return zero;
return new LongBits(
(charCodeAt.call(hash, 0) | charCodeAt.call(hash, 1) << 8 | charCodeAt.call(hash, 2) << 16 | charCodeAt.call(hash, 3) << 24) >>> 0,
(charCodeAt.call(hash, 4) | charCodeAt.call(hash, 5) << 8 | charCodeAt.call(hash, 6) << 16 | charCodeAt.call(hash, 7) << 24) >>> 0
);
};
LongBits.prototype.toHash = function toHash() {
return String.fromCharCode(
this.lo & 255,
this.lo >>> 8 & 255,
this.lo >>> 16 & 255,
this.lo >>> 24,
this.hi & 255,
this.hi >>> 8 & 255,
this.hi >>> 16 & 255,
this.hi >>> 24
);
};
LongBits.prototype.zzEncode = function zzEncode() {
var mask = this.hi >> 31;
this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;
this.lo = (this.lo << 1 ^ mask) >>> 0;
return this;
};
LongBits.prototype.zzDecode = function zzDecode() {
var mask = -(this.lo & 1);
this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;
this.hi = (this.hi >>> 1 ^ mask) >>> 0;
return this;
};
LongBits.prototype.length = function length() {
var part0 = this.lo, part1 = (this.lo >>> 28 | this.hi << 4) >>> 0, part2 = this.hi >>> 24;
return part2 === 0 ? part1 === 0 ? part0 < 16384 ? part0 < 128 ? 1 : 2 : part0 < 2097152 ? 3 : 4 : part1 < 16384 ? part1 < 128 ? 5 : 6 : part1 < 2097152 ? 7 : 8 : part2 < 128 ? 9 : 10;
};
}
});
// node_modules/protobufjs/src/util/minimal.js
var require_minimal = __commonJS({
"node_modules/protobufjs/src/util/minimal.js"(exports2) {
"use strict";
var util2 = exports2;
util2.asPromise = require_aspromise();
util2.base64 = require_base64();
util2.EventEmitter = require_eventemitter();
util2.float = require_float();
util2.inquire = require_inquire();
util2.utf8 = require_utf8();
util2.pool = require_pool();
util2.LongBits = require_longbits();
util2.isNode = Boolean(typeof global !== "undefined" && global && global.process && global.process.versions && global.process.versions.node);
util2.global = util2.isNode && global || typeof window !== "undefined" && window || typeof self !== "undefined" && self || exports2;
util2.emptyArray = Object.freeze ? Object.freeze([]) : (
/* istanbul ignore next */
[]
);
util2.emptyObject = Object.freeze ? Object.freeze({}) : (
/* istanbul ignore next */
{}
);
util2.isInteger = Number.isInteger || /* istanbul ignore next */
function isInteger3(value) {
return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
};
util2.isString = function isString2(value) {
return typeof value === "string" || value instanceof String;
};
util2.isObject = function isObject6(value) {
return value && typeof value === "object";
};
util2.isset = /**
* Checks if a property on a message is considered to be present.
* @param {Object} obj Plain object or message instance
* @param {string} prop Property name
* @returns {boolean} `true` if considered to be present, otherwise `false`
*/
util2.isSet = function isSet2(obj, prop) {
var value = obj[prop];
if (value != null && obj.hasOwnProperty(prop))
return typeof value !== "object" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;
return false;
};
util2.Buffer = function() {
try {
var Buffer6 = util2.inquire("buffer").Buffer;
return Buffer6.prototype.utf8Write ? Buffer6 : (
/* istanbul ignore next */
null
);
} catch (e2) {
return null;
}
}();
util2._Buffer_from = null;
util2._Buffer_allocUnsafe = null;
util2.newBuffer = function newBuffer(sizeOrArray) {
return typeof sizeOrArray === "number" ? util2.Buffer ? util2._Buffer_allocUnsafe(sizeOrArray) : new util2.Array(sizeOrArray) : util2.Buffer ? util2._Buffer_from(sizeOrArray) : typeof Uint8Array === "undefined" ? sizeOrArray : new Uint8Array(sizeOrArray);
};
util2.Array = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
util2.Long = /* istanbul ignore next */
util2.global.dcodeIO && /* istanbul ignore next */
util2.global.dcodeIO.Long || /* istanbul ignore next */
util2.global.Long || util2.inquire("long");
util2.key2Re = /^true|false|0|1$/;
util2.key32Re = /^-?(?:0|[1-9][0-9]*)$/;
util2.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;
util2.longToHash = function longToHash(value) {
return value ? util2.LongBits.from(value).toHash() : util2.LongBits.zeroHash;
};
util2.longFromHash = function longFromHash(hash, unsigned) {
var bits = util2.LongBits.fromHash(hash);
if (util2.Long)
return util2.Long.fromBits(bits.lo, bits.hi, unsigned);
return bits.toNumber(Boolean(unsigned));
};
function merge4(dst, src, ifNotSet) {
for (var keys = Object.keys(src), i3 = 0; i3 < keys.length; ++i3)
if (dst[keys[i3]] === void 0 || !ifNotSet)
dst[keys[i3]] = src[keys[i3]];
return dst;
}
util2.merge = merge4;
util2.lcFirst = function lcFirst(str2) {
return str2.charAt(0).toLowerCase() + str2.substring(1);
};
function newError(name3) {
function CustomError(message, properties) {
if (!(this instanceof CustomError))
return new CustomError(message, properties);
Object.defineProperty(this, "message", { get: function() {
return message;
} });
if (Error.captureStackTrace)
Error.captureStackTrace(this, CustomError);
else
Object.defineProperty(this, "stack", { value: new Error().stack || "" });
if (properties)
merge4(this, properties);
}
CustomError.prototype = Object.create(Error.prototype, {
constructor: {
value: CustomError,
writable: true,
enumerable: false,
configurable: true
},
name: {
get: function get2() {
return name3;
},
set: void 0,
enumerable: false,
// configurable: false would accurately preserve the behavior of
// the original, but I'm guessing that was not intentional.
// For an actual error subclass, this property would
// be configurable.
configurable: true
},
toString: {
value: function value() {
return this.name + ": " + this.message;
},
writable: true,
enumerable: false,
configurable: true
}
});
return CustomError;
}
util2.newError = newError;
util2.ProtocolError = newError("ProtocolError");
util2.oneOfGetter = function getOneOf(fieldNames) {
var fieldMap = {};
for (var i3 = 0; i3 < fieldNames.length; ++i3)
fieldMap[fieldNames[i3]] = 1;
return function() {
for (var keys = Object.keys(this), i4 = keys.length - 1; i4 > -1; --i4)
if (fieldMap[keys[i4]] === 1 && this[keys[i4]] !== void 0 && this[keys[i4]] !== null)
return keys[i4];
};
};
util2.oneOfSetter = function setOneOf(fieldNames) {
return function(name3) {
for (var i3 = 0; i3 < fieldNames.length; ++i3)
if (fieldNames[i3] !== name3)
delete this[fieldNames[i3]];
};
};
util2.toJSONOptions = {
longs: String,
enums: String,
bytes: String,
json: true
};
util2._configure = function() {
var Buffer6 = util2.Buffer;
if (!Buffer6) {
util2._Buffer_from = util2._Buffer_allocUnsafe = null;
return;
}
util2._Buffer_from = Buffer6.from !== Uint8Array.from && Buffer6.from || /* istanbul ignore next */
function Buffer_from(value, encoding) {
return new Buffer6(value, encoding);
};
util2._Buffer_allocUnsafe = Buffer6.allocUnsafe || /* istanbul ignore next */
function Buffer_allocUnsafe(size) {
return new Buffer6(size);
};
};
}
});
// node_modules/protobufjs/src/writer.js
var require_writer = __commonJS({
"node_modules/protobufjs/src/writer.js"(exports2, module2) {
"use strict";
module2.exports = Writer;
var util2 = require_minimal();
var BufferWriter;
var LongBits = util2.LongBits;
var base643 = util2.base64;
var utf8 = util2.utf8;
function Op(fn, len, val) {
this.fn = fn;
this.len = len;
this.next = void 0;
this.val = val;
}
function noop4() {
}
function State3(writer) {
this.head = writer.head;
this.tail = writer.tail;
this.len = writer.len;
this.next = writer.states;
}
function Writer() {
this.len = 0;
this.head = new Op(noop4, 0, 0);
this.tail = this.head;
this.states = null;
}
var create = function create2() {
return util2.Buffer ? function create_buffer_setup() {
return (Writer.create = function create_buffer() {
return new BufferWriter();
})();
} : function create_array() {
return new Writer();
};
};
Writer.create = create();
Writer.alloc = function alloc(size) {
return new util2.Array(size);
};
if (util2.Array !== Array)
Writer.alloc = util2.pool(Writer.alloc, util2.Array.prototype.subarray);
Writer.prototype._push = function push(fn, len, val) {
this.tail = this.tail.next = new Op(fn, len, val);
this.len += len;
return this;
};
function writeByte(val, buf, pos) {
buf[pos] = val & 255;
}
function writeVarint32(val, buf, pos) {
while (val > 127) {
buf[pos++] = val & 127 | 128;
val >>>= 7;
}
buf[pos] = val;
}
function VarintOp(len, val) {
this.len = len;
this.next = void 0;
this.val = val;
}
VarintOp.prototype = Object.create(Op.prototype);
VarintOp.prototype.fn = writeVarint32;
Writer.prototype.uint32 = function write_uint32(value) {
this.len += (this.tail = this.tail.next = new VarintOp(
(value = value >>> 0) < 128 ? 1 : value < 16384 ? 2 : value < 2097152 ? 3 : value < 268435456 ? 4 : 5,
value
)).len;
return this;
};
Writer.prototype.int32 = function write_int32(value) {
return value < 0 ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) : this.uint32(value);
};
Writer.prototype.sint32 = function write_sint32(value) {
return this.uint32((value << 1 ^ value >> 31) >>> 0);
};
function writeVarint64(val, buf, pos) {
while (val.hi) {
buf[pos++] = val.lo & 127 | 128;
val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;
val.hi >>>= 7;
}
while (val.lo > 127) {
buf[pos++] = val.lo & 127 | 128;
val.lo = val.lo >>> 7;
}
buf[pos++] = val.lo;
}
Writer.prototype.uint64 = function write_uint64(value) {
var bits = LongBits.from(value);
return this._push(writeVarint64, bits.length(), bits);
};
Writer.prototype.int64 = Writer.prototype.uint64;
Writer.prototype.sint64 = function write_sint64(value) {
var bits = LongBits.from(value).zzEncode();
return this._push(writeVarint64, bits.length(), bits);
};
Writer.prototype.bool = function write_bool(value) {
return this._push(writeByte, 1, value ? 1 : 0);
};
function writeFixed32(val, buf, pos) {
buf[pos] = val & 255;
buf[pos + 1] = val >>> 8 & 255;
buf[pos + 2] = val >>> 16 & 255;
buf[pos + 3] = val >>> 24;
}
Writer.prototype.fixed32 = function write_fixed32(value) {
return this._push(writeFixed32, 4, value >>> 0);
};
Writer.prototype.sfixed32 = Writer.prototype.fixed32;
Writer.prototype.fixed64 = function write_fixed64(value) {
var bits = LongBits.from(value);
return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);
};
Writer.prototype.sfixed64 = Writer.prototype.fixed64;
Writer.prototype.float = function write_float(value) {
return this._push(util2.float.writeFloatLE, 4, value);
};
Writer.prototype.double = function write_double(value) {
return this._push(util2.float.writeDoubleLE, 8, value);
};
var writeBytes = util2.Array.prototype.set ? function writeBytes_set(val, buf, pos) {
buf.set(val, pos);
} : function writeBytes_for(val, buf, pos) {
for (var i3 = 0; i3 < val.length; ++i3)
buf[pos + i3] = val[i3];
};
Writer.prototype.bytes = function write_bytes(value) {
var len = value.length >>> 0;
if (!len)
return this._push(writeByte, 1, 0);
if (util2.isString(value)) {
var buf = Writer.alloc(len = base643.length(value));
base643.decode(value, buf, 0);
value = buf;
}
return this.uint32(len)._push(writeBytes, len, value);
};
Writer.prototype.string = function write_string(value) {
var len = utf8.length(value);
return len ? this.uint32(len)._push(utf8.write, len, value) : this._push(writeByte, 1, 0);
};
Writer.prototype.fork = function fork() {
this.states = new State3(this);
this.head = this.tail = new Op(noop4, 0, 0);
this.len = 0;
return this;
};
Writer.prototype.reset = function reset2() {
if (this.states) {
this.head = this.states.head;
this.tail = this.states.tail;
this.len = this.states.len;
this.states = this.states.next;
} else {
this.head = this.tail = new Op(noop4, 0, 0);
this.len = 0;
}
return this;
};
Writer.prototype.ldelim = function ldelim() {
var head = this.head, tail = this.tail, len = this.len;
this.reset().uint32(len);
if (len) {
this.tail.next = head.next;
this.tail = tail;
this.len += len;
}
return this;
};
Writer.prototype.finish = function finish() {
var head = this.head.next, buf = this.constructor.alloc(this.len), pos = 0;
while (head) {
head.fn(head.val, buf, pos);
pos += head.len;
head = head.next;
}
return buf;
};
Writer._configure = function(BufferWriter_) {
BufferWriter = BufferWriter_;
Writer.create = create();
BufferWriter._configure();
};
}
});
// node_modules/protobufjs/src/writer_buffer.js
var require_writer_buffer = __commonJS({
"node_modules/protobufjs/src/writer_buffer.js"(exports2, module2) {
"use strict";
module2.exports = BufferWriter;
var Writer = require_writer();
(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;
var util2 = require_minimal();
function BufferWriter() {
Writer.call(this);
}
BufferWriter._configure = function() {
BufferWriter.alloc = util2._Buffer_allocUnsafe;
BufferWriter.writeBytesBuffer = util2.Buffer && util2.Buffer.prototype instanceof Uint8Array && util2.Buffer.prototype.set.name === "set" ? function writeBytesBuffer_set(val, buf, pos) {
buf.set(val, pos);
} : function writeBytesBuffer_copy(val, buf, pos) {
if (val.copy)
val.copy(buf, pos, 0, val.length);
else for (var i3 = 0; i3 < val.length; )
buf[pos++] = val[i3++];
};
};
BufferWriter.prototype.bytes = function write_bytes_buffer(value) {
if (util2.isString(value))
value = util2._Buffer_from(value, "base64");
var len = value.length >>> 0;
this.uint32(len);
if (len)
this._push(BufferWriter.writeBytesBuffer, len, value);
return this;
};
function writeStringBuffer(val, buf, pos) {
if (val.length < 40)
util2.utf8.write(val, buf, pos);
else if (buf.utf8Write)
buf.utf8Write(val, pos);
else
buf.write(val, pos);
}
BufferWriter.prototype.string = function write_string_buffer(value) {
var len = util2.Buffer.byteLength(value);
this.uint32(len);
if (len)
this._push(writeStringBuffer, len, value);
return this;
};
BufferWriter._configure();
}
});
// node_modules/protobufjs/src/reader.js
var require_reader = __commonJS({
"node_modules/protobufjs/src/reader.js"(exports2, module2) {
"use strict";
module2.exports = Reader;
var util2 = require_minimal();
var BufferReader;
var LongBits = util2.LongBits;
var utf8 = util2.utf8;
function indexOutOfRange(reader, writeLength) {
return RangeError("index out of range: " + reader.pos + " + " + (writeLength || 1) + " > " + reader.len);
}
function Reader(buffer) {
this.buf = buffer;
this.pos = 0;
this.len = buffer.length;
}
var create_array = typeof Uint8Array !== "undefined" ? function create_typed_array(buffer) {
if (buffer instanceof Uint8Array || Array.isArray(buffer))
return new Reader(buffer);
throw Error("illegal buffer");
} : function create_array2(buffer) {
if (Array.isArray(buffer))
return new Reader(buffer);
throw Error("illegal buffer");
};
var create = function create2() {
return util2.Buffer ? function create_buffer_setup(buffer) {
return (Reader.create = function create_buffer(buffer2) {
return util2.Buffer.isBuffer(buffer2) ? new BufferReader(buffer2) : create_array(buffer2);
})(buffer);
} : create_array;
};
Reader.create = create();
Reader.prototype._slice = util2.Array.prototype.subarray || /* istanbul ignore next */
util2.Array.prototype.slice;
Reader.prototype.uint32 = /* @__PURE__ */ function read_uint32_setup() {
var value = 4294967295;
return function read_uint32() {
value = (this.buf[this.pos] & 127) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 127) << 7) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 127) << 14) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 127) << 21) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 15) << 28) >>> 0;
if (this.buf[this.pos++] < 128) return value;
if ((this.pos += 5) > this.len) {
this.pos = this.len;
throw indexOutOfRange(this, 10);
}
return value;
};
}();
Reader.prototype.int32 = function read_int32() {
return this.uint32() | 0;
};
Reader.prototype.sint32 = function read_sint32() {
var value = this.uint32();
return value >>> 1 ^ -(value & 1) | 0;
};
function readLongVarint() {
var bits = new LongBits(0, 0);
var i3 = 0;
if (this.len - this.pos > 4) {
for (; i3 < 4; ++i3) {
bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i3 * 7) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;
bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
i3 = 0;
} else {
for (; i3 < 3; ++i3) {
if (this.pos >= this.len)
throw indexOutOfRange(this);
bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i3 * 7) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i3 * 7) >>> 0;
return bits;
}
if (this.len - this.pos > 4) {
for (; i3 < 5; ++i3) {
bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i3 * 7 + 3) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
} else {
for (; i3 < 5; ++i3) {
if (this.pos >= this.len)
throw indexOutOfRange(this);
bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i3 * 7 + 3) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
}
throw Error("invalid varint encoding");
}
Reader.prototype.bool = function read_bool() {
return this.uint32() !== 0;
};
function readFixed32_end(buf, end) {
return (buf[end - 4] | buf[end - 3] << 8 | buf[end - 2] << 16 | buf[end - 1] << 24) >>> 0;
}
Reader.prototype.fixed32 = function read_fixed32() {
if (this.pos + 4 > this.len)
throw indexOutOfRange(this, 4);
return readFixed32_end(this.buf, this.pos += 4);
};
Reader.prototype.sfixed32 = function read_sfixed32() {
if (this.pos + 4 > this.len)
throw indexOutOfRange(this, 4);
return readFixed32_end(this.buf, this.pos += 4) | 0;
};
function readFixed64() {
if (this.pos + 8 > this.len)
throw indexOutOfRange(this, 8);
return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));
}
Reader.prototype.float = function read_float() {
if (this.pos + 4 > this.len)
throw indexOutOfRange(this, 4);
var value = util2.float.readFloatLE(this.buf, this.pos);
this.pos += 4;
return value;
};
Reader.prototype.double = function read_double() {
if (this.pos + 8 > this.len)
throw indexOutOfRange(this, 4);
var value = util2.float.readDoubleLE(this.buf, this.pos);
this.pos += 8;
return value;
};
Reader.prototype.bytes = function read_bytes() {
var length = this.uint32(), start2 = this.pos, end = this.pos + length;
if (end > this.len)
throw indexOutOfRange(this, length);
this.pos += length;
if (Array.isArray(this.buf))
return this.buf.slice(start2, end);
if (start2 === end) {
var nativeBuffer = util2.Buffer;
return nativeBuffer ? nativeBuffer.alloc(0) : new this.buf.constructor(0);
}
return this._slice.call(this.buf, start2, end);
};
Reader.prototype.string = function read_string() {
var bytes = this.bytes();
return utf8.read(bytes, 0, bytes.length);
};
Reader.prototype.skip = function skip(length) {
if (typeof length === "number") {
if (this.pos + length > this.len)
throw indexOutOfRange(this, length);
this.pos += length;
} else {
do {
if (this.pos >= this.len)
throw indexOutOfRange(this);
} while (this.buf[this.pos++] & 128);
}
return this;
};
Reader.prototype.skipType = function(wireType) {
switch (wireType) {
case 0:
this.skip();
break;
case 1:
this.skip(8);
break;
case 2:
this.skip(this.uint32());
break;
case 3:
while ((wireType = this.uint32() & 7) !== 4) {
this.skipType(wireType);
}
break;
case 5:
this.skip(4);
break;
/* istanbul ignore next */
default:
throw Error("invalid wire type " + wireType + " at offset " + this.pos);
}
return this;
};
Reader._configure = function(BufferReader_) {
BufferReader = BufferReader_;
Reader.create = create();
BufferReader._configure();
var fn = util2.Long ? "toLong" : (
/* istanbul ignore next */
"toNumber"
);
util2.merge(Reader.prototype, {
int64: function read_int64() {
return readLongVarint.call(this)[fn](false);
},
uint64: function read_uint64() {
return readLongVarint.call(this)[fn](true);
},
sint64: function read_sint64() {
return readLongVarint.call(this).zzDecode()[fn](false);
},
fixed64: function read_fixed64() {
return readFixed64.call(this)[fn](true);
},
sfixed64: function read_sfixed64() {
return readFixed64.call(this)[fn](false);
}
});
};
}
});
// node_modules/protobufjs/src/reader_buffer.js
var require_reader_buffer = __commonJS({
"node_modules/protobufjs/src/reader_buffer.js"(exports2, module2) {
"use strict";
module2.exports = BufferReader;
var Reader = require_reader();
(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;
var util2 = require_minimal();
function BufferReader(buffer) {
Reader.call(this, buffer);
}
BufferReader._configure = function() {
if (util2.Buffer)
BufferReader.prototype._slice = util2.Buffer.prototype.slice;
};
BufferReader.prototype.string = function read_string_buffer() {
var len = this.uint32();
return this.buf.utf8Slice ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len)) : this.buf.toString("utf-8", this.pos, this.pos = Math.min(this.pos + len, this.len));
};
BufferReader._configure();
}
});
// node_modules/protobufjs/src/rpc/service.js
var require_service = __commonJS({
"node_modules/protobufjs/src/rpc/service.js"(exports2, module2) {
"use strict";
module2.exports = Service;
var util2 = require_minimal();
(Service.prototype = Object.create(util2.EventEmitter.prototype)).constructor = Service;
function Service(rpcImpl, requestDelimited, responseDelimited) {
if (typeof rpcImpl !== "function")
throw TypeError("rpcImpl must be a function");
util2.EventEmitter.call(this);
this.rpcImpl = rpcImpl;
this.requestDelimited = Boolean(requestDelimited);
this.responseDelimited = Boolean(responseDelimited);
}
Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {
if (!request)
throw TypeError("request must be specified");
var self2 = this;
if (!callback)
return util2.asPromise(rpcCall, self2, method, requestCtor, responseCtor, request);
if (!self2.rpcImpl) {
setTimeout(function() {
callback(Error("already ended"));
}, 0);
return void 0;
}
try {
return self2.rpcImpl(
method,
requestCtor[self2.requestDelimited ? "encodeDelimited" : "encode"](request).finish(),
function rpcCallback(err2, response) {
if (err2) {
self2.emit("error", err2, method);
return callback(err2);
}
if (response === null) {
self2.end(
/* endedByRPC */
true
);
return void 0;
}
if (!(response instanceof responseCtor)) {
try {
response = responseCtor[self2.responseDelimited ? "decodeDelimited" : "decode"](response);
} catch (err3) {
self2.emit("error", err3, method);
return callback(err3);
}
}
self2.emit("data", response, method);
return callback(null, response);
}
);
} catch (err2) {
self2.emit("error", err2, method);
setTimeout(function() {
callback(err2);
}, 0);
return void 0;
}
};
Service.prototype.end = function end(endedByRPC) {
if (this.rpcImpl) {
if (!endedByRPC)
this.rpcImpl(null, null, null);
this.rpcImpl = null;
this.emit("end").off();
}
return this;
};
}
});
// node_modules/protobufjs/src/rpc.js
var require_rpc = __commonJS({
"node_modules/protobufjs/src/rpc.js"(exports2) {
"use strict";
var rpc = exports2;
rpc.Service = require_service();
}
});
// node_modules/protobufjs/src/roots.js
var require_roots = __commonJS({
"node_modules/protobufjs/src/roots.js"(exports2, module2) {
"use strict";
module2.exports = {};
}
});
// node_modules/protobufjs/src/index-minimal.js
var require_index_minimal = __commonJS({
"node_modules/protobufjs/src/index-minimal.js"(exports2) {
"use strict";
var protobuf = exports2;
protobuf.build = "minimal";
protobuf.Writer = require_writer();
protobuf.BufferWriter = require_writer_buffer();
protobuf.Reader = require_reader();
protobuf.BufferReader = require_reader_buffer();
protobuf.util = require_minimal();
protobuf.rpc = require_rpc();
protobuf.roots = require_roots();
protobuf.configure = configure;
function configure() {
protobuf.util._configure();
protobuf.Writer._configure(protobuf.BufferWriter);
protobuf.Reader._configure(protobuf.BufferReader);
}
configure();
}
});
// node_modules/@protobufjs/codegen/index.js
var require_codegen = __commonJS({
"node_modules/@protobufjs/codegen/index.js"(exports2, module2) {
"use strict";
module2.exports = codegen;
function codegen(functionParams, functionName) {
if (typeof functionParams === "string") {
functionName = functionParams;
functionParams = void 0;
}
var body2 = [];
function Codegen(formatStringOrScope) {
if (typeof formatStringOrScope !== "string") {
var source = toString3();
if (codegen.verbose)
console.log("codegen: " + source);
source = "return " + source;
if (formatStringOrScope) {
var scopeKeys = Object.keys(formatStringOrScope), scopeParams = new Array(scopeKeys.length + 1), scopeValues = new Array(scopeKeys.length), scopeOffset = 0;
while (scopeOffset < scopeKeys.length) {
scopeParams[scopeOffset] = scopeKeys[scopeOffset];
scopeValues[scopeOffset] = formatStringOrScope[scopeKeys[scopeOffset++]];
}
scopeParams[scopeOffset] = source;
return Function.apply(null, scopeParams).apply(null, scopeValues);
}
return Function(source)();
}
var formatParams = new Array(arguments.length - 1), formatOffset = 0;
while (formatOffset < formatParams.length)
formatParams[formatOffset] = arguments[++formatOffset];
formatOffset = 0;
formatStringOrScope = formatStringOrScope.replace(/%([%dfijs])/g, function replace($0, $1) {
var value = formatParams[formatOffset++];
switch ($1) {
case "d":
case "f":
return String(Number(value));
case "i":
return String(Math.floor(value));
case "j":
return JSON.stringify(value);
case "s":
return String(value);
}
return "%";
});
if (formatOffset !== formatParams.length)
throw Error("parameter count mismatch");
body2.push(formatStringOrScope);
return Codegen;
}
function toString3(functionNameOverride) {
return "function " + (functionNameOverride || functionName || "") + "(" + (functionParams && functionParams.join(",") || "") + "){\n " + body2.join("\n ") + "\n}";
}
Codegen.toString = toString3;
return Codegen;
}
codegen.verbose = false;
}
});
// node_modules/@protobufjs/fetch/index.js
var require_fetch = __commonJS({
"node_modules/@protobufjs/fetch/index.js"(exports2, module2) {
"use strict";
module2.exports = fetch2;
var asPromise = require_aspromise();
var inquire2 = require_inquire();
var fs84 = inquire2("fs");
function fetch2(filename, options, callback) {
if (typeof options === "function") {
callback = options;
options = {};
} else if (!options)
options = {};
if (!callback)
return asPromise(fetch2, this, filename, options);
if (!options.xhr && fs84 && fs84.readFile)
return fs84.readFile(filename, function fetchReadFileCallback(err2, contents) {
return err2 && typeof XMLHttpRequest !== "undefined" ? fetch2.xhr(filename, options, callback) : err2 ? callback(err2) : callback(null, options.binary ? contents : contents.toString("utf8"));
});
return fetch2.xhr(filename, options, callback);
}
fetch2.xhr = function fetch_xhr(filename, options, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function fetchOnReadyStateChange() {
if (xhr.readyState !== 4)
return void 0;
if (xhr.status !== 0 && xhr.status !== 200)
return callback(Error("status " + xhr.status));
if (options.binary) {
var buffer = xhr.response;
if (!buffer) {
buffer = [];
for (var i3 = 0; i3 < xhr.responseText.length; ++i3)
buffer.push(xhr.responseText.charCodeAt(i3) & 255);
}
return callback(null, typeof Uint8Array !== "undefined" ? new Uint8Array(buffer) : buffer);
}
return callback(null, xhr.responseText);
};
if (options.binary) {
if ("overrideMimeType" in xhr)
xhr.overrideMimeType("text/plain; charset=x-user-defined");
xhr.responseType = "arraybuffer";
}
xhr.open("GET", filename);
xhr.send();
};
}
});
// node_modules/@protobufjs/path/index.js
var require_path = __commonJS({
"node_modules/@protobufjs/path/index.js"(exports2) {
"use strict";
var path101 = exports2;
var isAbsolute7 = (
/**
* Tests if the specified path is absolute.
* @param {string} path Path to test
* @returns {boolean} `true` if path is absolute
*/
path101.isAbsolute = function isAbsolute8(path102) {
return /^(?:\/|\w+:)/.test(path102);
}
);
var normalize5 = (
/**
* Normalizes the specified path.
* @param {string} path Path to normalize
* @returns {string} Normalized path
*/
path101.normalize = function normalize6(path102) {
path102 = path102.replace(/\\/g, "/").replace(/\/{2,}/g, "/");
var parts2 = path102.split("/"), absolute = isAbsolute7(path102), prefix = "";
if (absolute)
prefix = parts2.shift() + "/";
for (var i3 = 0; i3 < parts2.length; ) {
if (parts2[i3] === "..") {
if (i3 > 0 && parts2[i3 - 1] !== "..")
parts2.splice(--i3, 2);
else if (absolute)
parts2.splice(i3, 1);
else
++i3;
} else if (parts2[i3] === ".")
parts2.splice(i3, 1);
else
++i3;
}
return prefix + parts2.join("/");
}
);
path101.resolve = function resolve25(originPath, includePath, alreadyNormalized) {
if (!alreadyNormalized)
includePath = normalize5(includePath);
if (isAbsolute7(includePath))
return includePath;
if (!alreadyNormalized)
originPath = normalize5(originPath);
return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ? normalize5(originPath + "/" + includePath) : includePath;
};
}
});
// node_modules/protobufjs/src/namespace.js
var require_namespace = __commonJS({
"node_modules/protobufjs/src/namespace.js"(exports2, module2) {
"use strict";
module2.exports = Namespace;
var ReflectionObject = require_object();
((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = "Namespace";
var Field = require_field();
var util2 = require_util3();
var OneOf = require_oneof();
var Type2;
var Service;
var Enum;
Namespace.fromJSON = function fromJSON(name3, json3) {
return new Namespace(name3, json3.options).addJSON(json3.nested);
};
function arrayToJSON(array2, toJSONOptions) {
if (!(array2 && array2.length))
return void 0;
var obj = {};
for (var i3 = 0; i3 < array2.length; ++i3)
obj[array2[i3].name] = array2[i3].toJSON(toJSONOptions);
return obj;
}
Namespace.arrayToJSON = arrayToJSON;
Namespace.isReservedId = function isReservedId(reserved, id) {
if (reserved) {
for (var i3 = 0; i3 < reserved.length; ++i3)
if (typeof reserved[i3] !== "string" && reserved[i3][0] <= id && reserved[i3][1] > id)
return true;
}
return false;
};
Namespace.isReservedName = function isReservedName(reserved, name3) {
if (reserved) {
for (var i3 = 0; i3 < reserved.length; ++i3)
if (reserved[i3] === name3)
return true;
}
return false;
};
function Namespace(name3, options) {
ReflectionObject.call(this, name3, options);
this.nested = void 0;
this._nestedArray = null;
this._lookupCache = {};
this._needsRecursiveFeatureResolution = true;
this._needsRecursiveResolve = true;
}
function clearCache(namespace) {
namespace._nestedArray = null;
namespace._lookupCache = {};
var parent = namespace;
while (parent = parent.parent) {
parent._lookupCache = {};
}
return namespace;
}
Object.defineProperty(Namespace.prototype, "nestedArray", {
get: function() {
return this._nestedArray || (this._nestedArray = util2.toArray(this.nested));
}
});
Namespace.prototype.toJSON = function toJSON(toJSONOptions) {
return util2.toObject([
"options",
this.options,
"nested",
arrayToJSON(this.nestedArray, toJSONOptions)
]);
};
Namespace.prototype.addJSON = function addJSON(nestedJson) {
var ns = this;
if (nestedJson) {
for (var names = Object.keys(nestedJson), i3 = 0, nested; i3 < names.length; ++i3) {
nested = nestedJson[names[i3]];
ns.add(
// most to least likely
(nested.fields !== void 0 ? Type2.fromJSON : nested.values !== void 0 ? Enum.fromJSON : nested.methods !== void 0 ? Service.fromJSON : nested.id !== void 0 ? Field.fromJSON : Namespace.fromJSON)(names[i3], nested)
);
}
}
return this;
};
Namespace.prototype.get = function get2(name3) {
return this.nested && this.nested[name3] || null;
};
Namespace.prototype.getEnum = function getEnum(name3) {
if (this.nested && this.nested[name3] instanceof Enum)
return this.nested[name3].values;
throw Error("no such enum: " + name3);
};
Namespace.prototype.add = function add(object3) {
if (!(object3 instanceof Field && object3.extend !== void 0 || object3 instanceof Type2 || object3 instanceof OneOf || object3 instanceof Enum || object3 instanceof Service || object3 instanceof Namespace))
throw TypeError("object must be a valid nested object");
if (!this.nested)
this.nested = {};
else {
var prev = this.get(object3.name);
if (prev) {
if (prev instanceof Namespace && object3 instanceof Namespace && !(prev instanceof Type2 || prev instanceof Service)) {
var nested = prev.nestedArray;
for (var i3 = 0; i3 < nested.length; ++i3)
object3.add(nested[i3]);
this.remove(prev);
if (!this.nested)
this.nested = {};
object3.setOptions(prev.options, true);
} else
throw Error("duplicate name '" + object3.name + "' in " + this);
}
}
this.nested[object3.name] = object3;
if (!(this instanceof Type2 || this instanceof Service || this instanceof Enum || this instanceof Field)) {
if (!object3._edition) {
object3._edition = object3._defaultEdition;
}
}
this._needsRecursiveFeatureResolution = true;
this._needsRecursiveResolve = true;
var parent = this;
while (parent = parent.parent) {
parent._needsRecursiveFeatureResolution = true;
parent._needsRecursiveResolve = true;
}
object3.onAdd(this);
return clearCache(this);
};
Namespace.prototype.remove = function remove2(object3) {
if (!(object3 instanceof ReflectionObject))
throw TypeError("object must be a ReflectionObject");
if (object3.parent !== this)
throw Error(object3 + " is not a member of " + this);
delete this.nested[object3.name];
if (!Object.keys(this.nested).length)
this.nested = void 0;
object3.onRemove(this);
return clearCache(this);
};
Namespace.prototype.define = function define2(path101, json3) {
if (util2.isString(path101))
path101 = path101.split(".");
else if (!Array.isArray(path101))
throw TypeError("illegal path");
if (path101 && path101.length && path101[0] === "")
throw Error("path must be relative");
var ptr = this;
while (path101.length > 0) {
var part = path101.shift();
if (ptr.nested && ptr.nested[part]) {
ptr = ptr.nested[part];
if (!(ptr instanceof Namespace))
throw Error("path conflicts with non-namespace objects");
} else
ptr.add(ptr = new Namespace(part));
}
if (json3)
ptr.addJSON(json3);
return ptr;
};
Namespace.prototype.resolveAll = function resolveAll() {
if (!this._needsRecursiveResolve) return this;
this._resolveFeaturesRecursive(this._edition);
var nested = this.nestedArray, i3 = 0;
this.resolve();
while (i3 < nested.length)
if (nested[i3] instanceof Namespace)
nested[i3++].resolveAll();
else
nested[i3++].resolve();
this._needsRecursiveResolve = false;
return this;
};
Namespace.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
if (!this._needsRecursiveFeatureResolution) return this;
this._needsRecursiveFeatureResolution = false;
edition = this._edition || edition;
ReflectionObject.prototype._resolveFeaturesRecursive.call(this, edition);
this.nestedArray.forEach((nested) => {
nested._resolveFeaturesRecursive(edition);
});
return this;
};
Namespace.prototype.lookup = function lookup2(path101, filterTypes, parentAlreadyChecked) {
if (typeof filterTypes === "boolean") {
parentAlreadyChecked = filterTypes;
filterTypes = void 0;
} else if (filterTypes && !Array.isArray(filterTypes))
filterTypes = [filterTypes];
if (util2.isString(path101) && path101.length) {
if (path101 === ".")
return this.root;
path101 = path101.split(".");
} else if (!path101.length)
return this;
var flatPath = path101.join(".");
if (path101[0] === "")
return this.root.lookup(path101.slice(1), filterTypes);
var found = this.root._fullyQualifiedObjects && this.root._fullyQualifiedObjects["." + flatPath];
if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
return found;
}
found = this._lookupImpl(path101, flatPath);
if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
return found;
}
if (parentAlreadyChecked)
return null;
var current = this;
while (current.parent) {
found = current.parent._lookupImpl(path101, flatPath);
if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
return found;
}
current = current.parent;
}
return null;
};
Namespace.prototype._lookupImpl = function lookup2(path101, flatPath) {
if (Object.prototype.hasOwnProperty.call(this._lookupCache, flatPath)) {
return this._lookupCache[flatPath];
}
var found = this.get(path101[0]);
var exact = null;
if (found) {
if (path101.length === 1) {
exact = found;
} else if (found instanceof Namespace) {
path101 = path101.slice(1);
exact = found._lookupImpl(path101, path101.join("."));
}
} else {
for (var i3 = 0; i3 < this.nestedArray.length; ++i3)
if (this._nestedArray[i3] instanceof Namespace && (found = this._nestedArray[i3]._lookupImpl(path101, flatPath)))
exact = found;
}
this._lookupCache[flatPath] = exact;
return exact;
};
Namespace.prototype.lookupType = function lookupType(path101) {
var found = this.lookup(path101, [Type2]);
if (!found)
throw Error("no such type: " + path101);
return found;
};
Namespace.prototype.lookupEnum = function lookupEnum(path101) {
var found = this.lookup(path101, [Enum]);
if (!found)
throw Error("no such Enum '" + path101 + "' in " + this);
return found;
};
Namespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(path101) {
var found = this.lookup(path101, [Type2, Enum]);
if (!found)
throw Error("no such Type or Enum '" + path101 + "' in " + this);
return found;
};
Namespace.prototype.lookupService = function lookupService(path101) {
var found = this.lookup(path101, [Service]);
if (!found)
throw Error("no such Service '" + path101 + "' in " + this);
return found;
};
Namespace._configure = function(Type_, Service_, Enum_) {
Type2 = Type_;
Service = Service_;
Enum = Enum_;
};
}
});
// node_modules/protobufjs/src/mapfield.js
var require_mapfield = __commonJS({
"node_modules/protobufjs/src/mapfield.js"(exports2, module2) {
"use strict";
module2.exports = MapField;
var Field = require_field();
((MapField.prototype = Object.create(Field.prototype)).constructor = MapField).className = "MapField";
var types3 = require_types();
var util2 = require_util3();
function MapField(name3, id, keyType, type2, options, comment) {
Field.call(this, name3, id, type2, void 0, void 0, options, comment);
if (!util2.isString(keyType))
throw TypeError("keyType must be a string");
this.keyType = keyType;
this.resolvedKeyType = null;
this.map = true;
}
MapField.fromJSON = function fromJSON(name3, json3) {
return new MapField(name3, json3.id, json3.keyType, json3.type, json3.options, json3.comment);
};
MapField.prototype.toJSON = function toJSON(toJSONOptions) {
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
return util2.toObject([
"keyType",
this.keyType,
"type",
this.type,
"id",
this.id,
"extend",
this.extend,
"options",
this.options,
"comment",
keepComments ? this.comment : void 0
]);
};
MapField.prototype.resolve = function resolve25() {
if (this.resolved)
return this;
if (types3.mapKey[this.keyType] === void 0)
throw Error("invalid key type: " + this.keyType);
return Field.prototype.resolve.call(this);
};
MapField.d = function decorateMapField(fieldId, fieldKeyType, fieldValueType) {
if (typeof fieldValueType === "function")
fieldValueType = util2.decorateType(fieldValueType).name;
else if (fieldValueType && typeof fieldValueType === "object")
fieldValueType = util2.decorateEnum(fieldValueType).name;
return function mapFieldDecorator(prototype, fieldName) {
util2.decorateType(prototype.constructor).add(new MapField(fieldName, fieldId, fieldKeyType, fieldValueType));
};
};
}
});
// node_modules/protobufjs/src/method.js
var require_method = __commonJS({
"node_modules/protobufjs/src/method.js"(exports2, module2) {
"use strict";
module2.exports = Method;
var ReflectionObject = require_object();
((Method.prototype = Object.create(ReflectionObject.prototype)).constructor = Method).className = "Method";
var util2 = require_util3();
function Method(name3, type2, requestType, responseType, requestStream, responseStream, options, comment, parsedOptions) {
if (util2.isObject(requestStream)) {
options = requestStream;
requestStream = responseStream = void 0;
} else if (util2.isObject(responseStream)) {
options = responseStream;
responseStream = void 0;
}
if (!(type2 === void 0 || util2.isString(type2)))
throw TypeError("type must be a string");
if (!util2.isString(requestType))
throw TypeError("requestType must be a string");
if (!util2.isString(responseType))
throw TypeError("responseType must be a string");
ReflectionObject.call(this, name3, options);
this.type = type2 || "rpc";
this.requestType = requestType;
this.requestStream = requestStream ? true : void 0;
this.responseType = responseType;
this.responseStream = responseStream ? true : void 0;
this.resolvedRequestType = null;
this.resolvedResponseType = null;
this.comment = comment;
this.parsedOptions = parsedOptions;
}
Method.fromJSON = function fromJSON(name3, json3) {
return new Method(name3, json3.type, json3.requestType, json3.responseType, json3.requestStream, json3.responseStream, json3.options, json3.comment, json3.parsedOptions);
};
Method.prototype.toJSON = function toJSON(toJSONOptions) {
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
return util2.toObject([
"type",
this.type !== "rpc" && /* istanbul ignore next */
this.type || void 0,
"requestType",
this.requestType,
"requestStream",
this.requestStream,
"responseType",
this.responseType,
"responseStream",
this.responseStream,
"options",
this.options,
"comment",
keepComments ? this.comment : void 0,
"parsedOptions",
this.parsedOptions
]);
};
Method.prototype.resolve = function resolve25() {
if (this.resolved)
return this;
this.resolvedRequestType = this.parent.lookupType(this.requestType);
this.resolvedResponseType = this.parent.lookupType(this.responseType);
return ReflectionObject.prototype.resolve.call(this);
};
}
});
// node_modules/protobufjs/src/service.js
var require_service2 = __commonJS({
"node_modules/protobufjs/src/service.js"(exports2, module2) {
"use strict";
module2.exports = Service;
var Namespace = require_namespace();
((Service.prototype = Object.create(Namespace.prototype)).constructor = Service).className = "Service";
var Method = require_method();
var util2 = require_util3();
var rpc = require_rpc();
function Service(name3, options) {
Namespace.call(this, name3, options);
this.methods = {};
this._methodsArray = null;
}
Service.fromJSON = function fromJSON(name3, json3) {
var service = new Service(name3, json3.options);
if (json3.methods)
for (var names = Object.keys(json3.methods), i3 = 0; i3 < names.length; ++i3)
service.add(Method.fromJSON(names[i3], json3.methods[names[i3]]));
if (json3.nested)
service.addJSON(json3.nested);
if (json3.edition)
service._edition = json3.edition;
service.comment = json3.comment;
service._defaultEdition = "proto3";
return service;
};
Service.prototype.toJSON = function toJSON(toJSONOptions) {
var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
return util2.toObject([
"edition",
this._editionToJSON(),
"options",
inherited && inherited.options || void 0,
"methods",
Namespace.arrayToJSON(this.methodsArray, toJSONOptions) || /* istanbul ignore next */
{},
"nested",
inherited && inherited.nested || void 0,
"comment",
keepComments ? this.comment : void 0
]);
};
Object.defineProperty(Service.prototype, "methodsArray", {
get: function() {
return this._methodsArray || (this._methodsArray = util2.toArray(this.methods));
}
});
function clearCache(service) {
service._methodsArray = null;
return service;
}
Service.prototype.get = function get2(name3) {
return this.methods[name3] || Namespace.prototype.get.call(this, name3);
};
Service.prototype.resolveAll = function resolveAll() {
if (!this._needsRecursiveResolve) return this;
Namespace.prototype.resolve.call(this);
var methods = this.methodsArray;
for (var i3 = 0; i3 < methods.length; ++i3)
methods[i3].resolve();
return this;
};
Service.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
if (!this._needsRecursiveFeatureResolution) return this;
edition = this._edition || edition;
Namespace.prototype._resolveFeaturesRecursive.call(this, edition);
this.methodsArray.forEach((method) => {
method._resolveFeaturesRecursive(edition);
});
return this;
};
Service.prototype.add = function add(object3) {
if (this.get(object3.name))
throw Error("duplicate name '" + object3.name + "' in " + this);
if (object3 instanceof Method) {
this.methods[object3.name] = object3;
object3.parent = this;
return clearCache(this);
}
return Namespace.prototype.add.call(this, object3);
};
Service.prototype.remove = function remove2(object3) {
if (object3 instanceof Method) {
if (this.methods[object3.name] !== object3)
throw Error(object3 + " is not a member of " + this);
delete this.methods[object3.name];
object3.parent = null;
return clearCache(this);
}
return Namespace.prototype.remove.call(this, object3);
};
Service.prototype.create = function create(rpcImpl, requestDelimited, responseDelimited) {
var rpcService = new rpc.Service(rpcImpl, requestDelimited, responseDelimited);
for (var i3 = 0, method; i3 < /* initializes */
this.methodsArray.length; ++i3) {
var methodName = util2.lcFirst((method = this._methodsArray[i3]).resolve().name).replace(/[^$\w_]/g, "");
rpcService[methodName] = util2.codegen(["r", "c"], util2.isReserved(methodName) ? methodName + "_" : methodName)("return this.rpcCall(m,q,s,r,c)")({
m: method,
q: method.resolvedRequestType.ctor,
s: method.resolvedResponseType.ctor
});
}
return rpcService;
};
}
});
// node_modules/protobufjs/src/message.js
var require_message = __commonJS({
"node_modules/protobufjs/src/message.js"(exports2, module2) {
"use strict";
module2.exports = Message3;
var util2 = require_minimal();
function Message3(properties) {
if (properties)
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
this[keys[i3]] = properties[keys[i3]];
}
Message3.create = function create(properties) {
return this.$type.create(properties);
};
Message3.encode = function encode(message, writer) {
return this.$type.encode(message, writer);
};
Message3.encodeDelimited = function encodeDelimited(message, writer) {
return this.$type.encodeDelimited(message, writer);
};
Message3.decode = function decode(reader) {
return this.$type.decode(reader);
};
Message3.decodeDelimited = function decodeDelimited(reader) {
return this.$type.decodeDelimited(reader);
};
Message3.verify = function verify(message) {
return this.$type.verify(message);
};
Message3.fromObject = function fromObject(object3) {
return this.$type.fromObject(object3);
};
Message3.toObject = function toObject(message, options) {
return this.$type.toObject(message, options);
};
Message3.prototype.toJSON = function toJSON() {
return this.$type.toObject(this, util2.toJSONOptions);
};
}
});
// node_modules/protobufjs/src/decoder.js
var require_decoder = __commonJS({
"node_modules/protobufjs/src/decoder.js"(exports2, module2) {
"use strict";
module2.exports = decoder;
var Enum = require_enum();
var types3 = require_types();
var util2 = require_util3();
function missing(field) {
return "missing required '" + field.name + "'";
}
function decoder(mtype) {
var gen = util2.codegen(["r", "l", "e"], mtype.name + "$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor" + (mtype.fieldsArray.filter(function(field2) {
return field2.map;
}).length ? ",k,value" : ""))("while(r.pos<c){")("var t=r.uint32()")("if(t===e)")("break")("switch(t>>>3){");
var i3 = 0;
for (; i3 < /* initializes */
mtype.fieldsArray.length; ++i3) {
var field = mtype._fieldsArray[i3].resolve(), type2 = field.resolvedType instanceof Enum ? "int32" : field.type, ref = "m" + util2.safeProp(field.name);
gen("case %i: {", field.id);
if (field.map) {
gen("if(%s===util.emptyObject)", ref)("%s={}", ref)("var c2 = r.uint32()+r.pos");
if (types3.defaults[field.keyType] !== void 0) gen("k=%j", types3.defaults[field.keyType]);
else gen("k=null");
if (types3.defaults[type2] !== void 0) gen("value=%j", types3.defaults[type2]);
else gen("value=null");
gen("while(r.pos<c2){")("var tag2=r.uint32()")("switch(tag2>>>3){")("case 1: k=r.%s(); break", field.keyType)("case 2:");
if (types3.basic[type2] === void 0) gen("value=types[%i].decode(r,r.uint32())", i3);
else gen("value=r.%s()", type2);
gen("break")("default:")("r.skipType(tag2&7)")("break")("}")("}");
if (types3.long[field.keyType] !== void 0) gen('%s[typeof k==="object"?util.longToHash(k):k]=value', ref);
else gen("%s[k]=value", ref);
} else if (field.repeated) {
gen("if(!(%s&&%s.length))", ref, ref)("%s=[]", ref);
if (types3.packed[type2] !== void 0) gen("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos<c2)")("%s.push(r.%s())", ref, type2)("}else");
if (types3.basic[type2] === void 0) gen(field.delimited ? "%s.push(types[%i].decode(r,undefined,((t&~7)|4)))" : "%s.push(types[%i].decode(r,r.uint32()))", ref, i3);
else gen("%s.push(r.%s())", ref, type2);
} else if (types3.basic[type2] === void 0) gen(field.delimited ? "%s=types[%i].decode(r,undefined,((t&~7)|4))" : "%s=types[%i].decode(r,r.uint32())", ref, i3);
else gen("%s=r.%s()", ref, type2);
gen("break")("}");
}
gen("default:")("r.skipType(t&7)")("break")("}")("}");
for (i3 = 0; i3 < mtype._fieldsArray.length; ++i3) {
var rfield = mtype._fieldsArray[i3];
if (rfield.required) gen("if(!m.hasOwnProperty(%j))", rfield.name)("throw util.ProtocolError(%j,{instance:m})", missing(rfield));
}
return gen("return m");
}
}
});
// node_modules/protobufjs/src/verifier.js
var require_verifier = __commonJS({
"node_modules/protobufjs/src/verifier.js"(exports2, module2) {
"use strict";
module2.exports = verifier;
var Enum = require_enum();
var util2 = require_util3();
function invalid(field, expected) {
return field.name + ": " + expected + (field.repeated && expected !== "array" ? "[]" : field.map && expected !== "object" ? "{k:" + field.keyType + "}" : "") + " expected";
}
function genVerifyValue(gen, field, fieldIndex, ref) {
if (field.resolvedType) {
if (field.resolvedType instanceof Enum) {
gen("switch(%s){", ref)("default:")("return%j", invalid(field, "enum value"));
for (var keys = Object.keys(field.resolvedType.values), j = 0; j < keys.length; ++j) gen("case %i:", field.resolvedType.values[keys[j]]);
gen("break")("}");
} else {
gen("{")("var e=types[%i].verify(%s);", fieldIndex, ref)("if(e)")("return%j+e", field.name + ".")("}");
}
} else {
switch (field.type) {
case "int32":
case "uint32":
case "sint32":
case "fixed32":
case "sfixed32":
gen("if(!util.isInteger(%s))", ref)("return%j", invalid(field, "integer"));
break;
case "int64":
case "uint64":
case "sint64":
case "fixed64":
case "sfixed64":
gen("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))", ref, ref, ref, ref)("return%j", invalid(field, "integer|Long"));
break;
case "float":
case "double":
gen('if(typeof %s!=="number")', ref)("return%j", invalid(field, "number"));
break;
case "bool":
gen('if(typeof %s!=="boolean")', ref)("return%j", invalid(field, "boolean"));
break;
case "string":
gen("if(!util.isString(%s))", ref)("return%j", invalid(field, "string"));
break;
case "bytes":
gen('if(!(%s&&typeof %s.length==="number"||util.isString(%s)))', ref, ref, ref)("return%j", invalid(field, "buffer"));
break;
}
}
return gen;
}
function genVerifyKey(gen, field, ref) {
switch (field.keyType) {
case "int32":
case "uint32":
case "sint32":
case "fixed32":
case "sfixed32":
gen("if(!util.key32Re.test(%s))", ref)("return%j", invalid(field, "integer key"));
break;
case "int64":
case "uint64":
case "sint64":
case "fixed64":
case "sfixed64":
gen("if(!util.key64Re.test(%s))", ref)("return%j", invalid(field, "integer|Long key"));
break;
case "bool":
gen("if(!util.key2Re.test(%s))", ref)("return%j", invalid(field, "boolean key"));
break;
}
return gen;
}
function verifier(mtype) {
var gen = util2.codegen(["m"], mtype.name + "$verify")('if(typeof m!=="object"||m===null)')("return%j", "object expected");
var oneofs = mtype.oneofsArray, seenFirstField = {};
if (oneofs.length) gen("var p={}");
for (var i3 = 0; i3 < /* initializes */
mtype.fieldsArray.length; ++i3) {
var field = mtype._fieldsArray[i3].resolve(), ref = "m" + util2.safeProp(field.name);
if (field.optional) gen("if(%s!=null&&m.hasOwnProperty(%j)){", ref, field.name);
if (field.map) {
gen("if(!util.isObject(%s))", ref)("return%j", invalid(field, "object"))("var k=Object.keys(%s)", ref)("for(var i=0;i<k.length;++i){");
genVerifyKey(gen, field, "k[i]");
genVerifyValue(gen, field, i3, ref + "[k[i]]")("}");
} else if (field.repeated) {
gen("if(!Array.isArray(%s))", ref)("return%j", invalid(field, "array"))("for(var i=0;i<%s.length;++i){", ref);
genVerifyValue(gen, field, i3, ref + "[i]")("}");
} else {
if (field.partOf) {
var oneofProp = util2.safeProp(field.partOf.name);
if (seenFirstField[field.partOf.name] === 1) gen("if(p%s===1)", oneofProp)("return%j", field.partOf.name + ": multiple values");
seenFirstField[field.partOf.name] = 1;
gen("p%s=1", oneofProp);
}
genVerifyValue(gen, field, i3, ref);
}
if (field.optional) gen("}");
}
return gen("return null");
}
}
});
// node_modules/protobufjs/src/converter.js
var require_converter = __commonJS({
"node_modules/protobufjs/src/converter.js"(exports2) {
"use strict";
var converter = exports2;
var Enum = require_enum();
var util2 = require_util3();
function genValuePartial_fromObject(gen, field, fieldIndex, prop) {
var defaultAlreadyEmitted = false;
if (field.resolvedType) {
if (field.resolvedType instanceof Enum) {
gen("switch(d%s){", prop);
for (var values = field.resolvedType.values, keys = Object.keys(values), i3 = 0; i3 < keys.length; ++i3) {
if (values[keys[i3]] === field.typeDefault && !defaultAlreadyEmitted) {
gen("default:")('if(typeof(d%s)==="number"){m%s=d%s;break}', prop, prop, prop);
if (!field.repeated) gen("break");
defaultAlreadyEmitted = true;
}
gen("case%j:", keys[i3])("case %i:", values[keys[i3]])("m%s=%j", prop, values[keys[i3]])("break");
}
gen("}");
} else gen('if(typeof d%s!=="object")', prop)("throw TypeError(%j)", field.fullName + ": object expected")("m%s=types[%i].fromObject(d%s)", prop, fieldIndex, prop);
} else {
var isUnsigned = false;
switch (field.type) {
case "double":
case "float":
gen("m%s=Number(d%s)", prop, prop);
break;
case "uint32":
case "fixed32":
gen("m%s=d%s>>>0", prop, prop);
break;
case "int32":
case "sint32":
case "sfixed32":
gen("m%s=d%s|0", prop, prop);
break;
case "uint64":
isUnsigned = true;
// eslint-disable-next-line no-fallthrough
case "int64":
case "sint64":
case "fixed64":
case "sfixed64":
gen("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j", prop, prop, isUnsigned)('else if(typeof d%s==="string")', prop)("m%s=parseInt(d%s,10)", prop, prop)('else if(typeof d%s==="number")', prop)("m%s=d%s", prop, prop)('else if(typeof d%s==="object")', prop)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)", prop, prop, prop, isUnsigned ? "true" : "");
break;
case "bytes":
gen('if(typeof d%s==="string")', prop)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)", prop, prop, prop)("else if(d%s.length >= 0)", prop)("m%s=d%s", prop, prop);
break;
case "string":
gen("m%s=String(d%s)", prop, prop);
break;
case "bool":
gen("m%s=Boolean(d%s)", prop, prop);
break;
}
}
return gen;
}
converter.fromObject = function fromObject(mtype) {
var fields = mtype.fieldsArray;
var gen = util2.codegen(["d"], mtype.name + "$fromObject")("if(d instanceof this.ctor)")("return d");
if (!fields.length) return gen("return new this.ctor");
gen("var m=new this.ctor");
for (var i3 = 0; i3 < fields.length; ++i3) {
var field = fields[i3].resolve(), prop = util2.safeProp(field.name);
if (field.map) {
gen("if(d%s){", prop)('if(typeof d%s!=="object")', prop)("throw TypeError(%j)", field.fullName + ": object expected")("m%s={}", prop)("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){", prop);
genValuePartial_fromObject(
gen,
field,
/* not sorted */
i3,
prop + "[ks[i]]"
)("}")("}");
} else if (field.repeated) {
gen("if(d%s){", prop)("if(!Array.isArray(d%s))", prop)("throw TypeError(%j)", field.fullName + ": array expected")("m%s=[]", prop)("for(var i=0;i<d%s.length;++i){", prop);
genValuePartial_fromObject(
gen,
field,
/* not sorted */
i3,
prop + "[i]"
)("}")("}");
} else {
if (!(field.resolvedType instanceof Enum)) gen("if(d%s!=null){", prop);
genValuePartial_fromObject(
gen,
field,
/* not sorted */
i3,
prop
);
if (!(field.resolvedType instanceof Enum)) gen("}");
}
}
return gen("return m");
};
function genValuePartial_toObject(gen, field, fieldIndex, prop) {
if (field.resolvedType) {
if (field.resolvedType instanceof Enum) gen("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s", prop, fieldIndex, prop, prop, fieldIndex, prop, prop);
else gen("d%s=types[%i].toObject(m%s,o)", prop, fieldIndex, prop);
} else {
var isUnsigned = false;
switch (field.type) {
case "double":
case "float":
gen("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s", prop, prop, prop, prop);
break;
case "uint64":
isUnsigned = true;
// eslint-disable-next-line no-fallthrough
case "int64":
case "sint64":
case "fixed64":
case "sfixed64":
gen('if(typeof m%s==="number")', prop)("d%s=o.longs===String?String(m%s):m%s", prop, prop, prop)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s", prop, prop, prop, prop, isUnsigned ? "true" : "", prop);
break;
case "bytes":
gen("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s", prop, prop, prop, prop, prop);
break;
default:
gen("d%s=m%s", prop, prop);
break;
}
}
return gen;
}
converter.toObject = function toObject(mtype) {
var fields = mtype.fieldsArray.slice().sort(util2.compareFieldsById);
if (!fields.length)
return util2.codegen()("return {}");
var gen = util2.codegen(["m", "o"], mtype.name + "$toObject")("if(!o)")("o={}")("var d={}");
var repeatedFields = [], mapFields = [], normalFields = [], i3 = 0;
for (; i3 < fields.length; ++i3)
if (!fields[i3].partOf)
(fields[i3].resolve().repeated ? repeatedFields : fields[i3].map ? mapFields : normalFields).push(fields[i3]);
if (repeatedFields.length) {
gen("if(o.arrays||o.defaults){");
for (i3 = 0; i3 < repeatedFields.length; ++i3) gen("d%s=[]", util2.safeProp(repeatedFields[i3].name));
gen("}");
}
if (mapFields.length) {
gen("if(o.objects||o.defaults){");
for (i3 = 0; i3 < mapFields.length; ++i3) gen("d%s={}", util2.safeProp(mapFields[i3].name));
gen("}");
}
if (normalFields.length) {
gen("if(o.defaults){");
for (i3 = 0; i3 < normalFields.length; ++i3) {
var field = normalFields[i3], prop = util2.safeProp(field.name);
if (field.resolvedType instanceof Enum) gen("d%s=o.enums===String?%j:%j", prop, field.resolvedType.valuesById[field.typeDefault], field.typeDefault);
else if (field.long) gen("if(util.Long){")("var n=new util.Long(%i,%i,%j)", field.typeDefault.low, field.typeDefault.high, field.typeDefault.unsigned)("d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n", prop)("}else")("d%s=o.longs===String?%j:%i", prop, field.typeDefault.toString(), field.typeDefault.toNumber());
else if (field.bytes) {
var arrayDefault = "[" + Array.prototype.slice.call(field.typeDefault).join(",") + "]";
gen("if(o.bytes===String)d%s=%j", prop, String.fromCharCode.apply(String, field.typeDefault))("else{")("d%s=%s", prop, arrayDefault)("if(o.bytes!==Array)d%s=util.newBuffer(d%s)", prop, prop)("}");
} else gen("d%s=%j", prop, field.typeDefault);
}
gen("}");
}
var hasKs2 = false;
for (i3 = 0; i3 < fields.length; ++i3) {
var field = fields[i3], index = mtype._fieldsArray.indexOf(field), prop = util2.safeProp(field.name);
if (field.map) {
if (!hasKs2) {
hasKs2 = true;
gen("var ks2");
}
gen("if(m%s&&(ks2=Object.keys(m%s)).length){", prop, prop)("d%s={}", prop)("for(var j=0;j<ks2.length;++j){");
genValuePartial_toObject(
gen,
field,
/* sorted */
index,
prop + "[ks2[j]]"
)("}");
} else if (field.repeated) {
gen("if(m%s&&m%s.length){", prop, prop)("d%s=[]", prop)("for(var j=0;j<m%s.length;++j){", prop);
genValuePartial_toObject(
gen,
field,
/* sorted */
index,
prop + "[j]"
)("}");
} else {
gen("if(m%s!=null&&m.hasOwnProperty(%j)){", prop, field.name);
genValuePartial_toObject(
gen,
field,
/* sorted */
index,
prop
);
if (field.partOf) gen("if(o.oneofs)")("d%s=%j", util2.safeProp(field.partOf.name), field.name);
}
gen("}");
}
return gen("return d");
};
}
});
// node_modules/protobufjs/src/wrappers.js
var require_wrappers = __commonJS({
"node_modules/protobufjs/src/wrappers.js"(exports2) {
"use strict";
var wrappers = exports2;
var Message3 = require_message();
wrappers[".google.protobuf.Any"] = {
fromObject: function(object3) {
if (object3 && object3["@type"]) {
var name3 = object3["@type"].substring(object3["@type"].lastIndexOf("/") + 1);
var type2 = this.lookup(name3);
if (type2) {
var type_url = object3["@type"].charAt(0) === "." ? object3["@type"].slice(1) : object3["@type"];
if (type_url.indexOf("/") === -1) {
type_url = "/" + type_url;
}
return this.create({
type_url,
value: type2.encode(type2.fromObject(object3)).finish()
});
}
}
return this.fromObject(object3);
},
toObject: function(message, options) {
var googleApi = "type.googleapis.com/";
var prefix = "";
var name3 = "";
if (options && options.json && message.type_url && message.value) {
name3 = message.type_url.substring(message.type_url.lastIndexOf("/") + 1);
prefix = message.type_url.substring(0, message.type_url.lastIndexOf("/") + 1);
var type2 = this.lookup(name3);
if (type2)
message = type2.decode(message.value);
}
if (!(message instanceof this.ctor) && message instanceof Message3) {
var object3 = message.$type.toObject(message, options);
var messageName = message.$type.fullName[0] === "." ? message.$type.fullName.slice(1) : message.$type.fullName;
if (prefix === "") {
prefix = googleApi;
}
name3 = prefix + messageName;
object3["@type"] = name3;
return object3;
}
return this.toObject(message, options);
}
};
}
});
// node_modules/protobufjs/src/type.js
var require_type = __commonJS({
"node_modules/protobufjs/src/type.js"(exports2, module2) {
"use strict";
module2.exports = Type2;
var Namespace = require_namespace();
((Type2.prototype = Object.create(Namespace.prototype)).constructor = Type2).className = "Type";
var Enum = require_enum();
var OneOf = require_oneof();
var Field = require_field();
var MapField = require_mapfield();
var Service = require_service2();
var Message3 = require_message();
var Reader = require_reader();
var Writer = require_writer();
var util2 = require_util3();
var encoder = require_encoder();
var decoder = require_decoder();
var verifier = require_verifier();
var converter = require_converter();
var wrappers = require_wrappers();
function Type2(name3, options) {
Namespace.call(this, name3, options);
this.fields = {};
this.oneofs = void 0;
this.extensions = void 0;
this.reserved = void 0;
this.group = void 0;
this._fieldsById = null;
this._fieldsArray = null;
this._oneofsArray = null;
this._ctor = null;
}
Object.defineProperties(Type2.prototype, {
/**
* Message fields by id.
* @name Type#fieldsById
* @type {Object.<number,Field>}
* @readonly
*/
fieldsById: {
get: function() {
if (this._fieldsById)
return this._fieldsById;
this._fieldsById = {};
for (var names = Object.keys(this.fields), i3 = 0; i3 < names.length; ++i3) {
var field = this.fields[names[i3]], id = field.id;
if (this._fieldsById[id])
throw Error("duplicate id " + id + " in " + this);
this._fieldsById[id] = field;
}
return this._fieldsById;
}
},
/**
* Fields of this message as an array for iteration.
* @name Type#fieldsArray
* @type {Field[]}
* @readonly
*/
fieldsArray: {
get: function() {
return this._fieldsArray || (this._fieldsArray = util2.toArray(this.fields));
}
},
/**
* Oneofs of this message as an array for iteration.
* @name Type#oneofsArray
* @type {OneOf[]}
* @readonly
*/
oneofsArray: {
get: function() {
return this._oneofsArray || (this._oneofsArray = util2.toArray(this.oneofs));
}
},
/**
* The registered constructor, if any registered, otherwise a generic constructor.
* Assigning a function replaces the internal constructor. If the function does not extend {@link Message} yet, its prototype will be setup accordingly and static methods will be populated. If it already extends {@link Message}, it will just replace the internal constructor.
* @name Type#ctor
* @type {Constructor<{}>}
*/
ctor: {
get: function() {
return this._ctor || (this.ctor = Type2.generateConstructor(this)());
},
set: function(ctor) {
var prototype = ctor.prototype;
if (!(prototype instanceof Message3)) {
(ctor.prototype = new Message3()).constructor = ctor;
util2.merge(ctor.prototype, prototype);
}
ctor.$type = ctor.prototype.$type = this;
util2.merge(ctor, Message3, true);
this._ctor = ctor;
var i3 = 0;
for (; i3 < /* initializes */
this.fieldsArray.length; ++i3)
this._fieldsArray[i3].resolve();
var ctorProperties = {};
for (i3 = 0; i3 < /* initializes */
this.oneofsArray.length; ++i3)
ctorProperties[this._oneofsArray[i3].resolve().name] = {
get: util2.oneOfGetter(this._oneofsArray[i3].oneof),
set: util2.oneOfSetter(this._oneofsArray[i3].oneof)
};
if (i3)
Object.defineProperties(ctor.prototype, ctorProperties);
}
}
});
Type2.generateConstructor = function generateConstructor(mtype) {
var gen = util2.codegen(["p"], mtype.name);
for (var i3 = 0, field; i3 < mtype.fieldsArray.length; ++i3)
if ((field = mtype._fieldsArray[i3]).map) gen("this%s={}", util2.safeProp(field.name));
else if (field.repeated) gen("this%s=[]", util2.safeProp(field.name));
return gen("if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null)")("this[ks[i]]=p[ks[i]]");
};
function clearCache(type2) {
type2._fieldsById = type2._fieldsArray = type2._oneofsArray = null;
delete type2.encode;
delete type2.decode;
delete type2.verify;
return type2;
}
Type2.fromJSON = function fromJSON(name3, json3) {
var type2 = new Type2(name3, json3.options);
type2.extensions = json3.extensions;
type2.reserved = json3.reserved;
var names = Object.keys(json3.fields), i3 = 0;
for (; i3 < names.length; ++i3)
type2.add(
(typeof json3.fields[names[i3]].keyType !== "undefined" ? MapField.fromJSON : Field.fromJSON)(names[i3], json3.fields[names[i3]])
);
if (json3.oneofs)
for (names = Object.keys(json3.oneofs), i3 = 0; i3 < names.length; ++i3)
type2.add(OneOf.fromJSON(names[i3], json3.oneofs[names[i3]]));
if (json3.nested)
for (names = Object.keys(json3.nested), i3 = 0; i3 < names.length; ++i3) {
var nested = json3.nested[names[i3]];
type2.add(
// most to least likely
(nested.id !== void 0 ? Field.fromJSON : nested.fields !== void 0 ? Type2.fromJSON : nested.values !== void 0 ? Enum.fromJSON : nested.methods !== void 0 ? Service.fromJSON : Namespace.fromJSON)(names[i3], nested)
);
}
if (json3.extensions && json3.extensions.length)
type2.extensions = json3.extensions;
if (json3.reserved && json3.reserved.length)
type2.reserved = json3.reserved;
if (json3.group)
type2.group = true;
if (json3.comment)
type2.comment = json3.comment;
if (json3.edition)
type2._edition = json3.edition;
type2._defaultEdition = "proto3";
return type2;
};
Type2.prototype.toJSON = function toJSON(toJSONOptions) {
var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
return util2.toObject([
"edition",
this._editionToJSON(),
"options",
inherited && inherited.options || void 0,
"oneofs",
Namespace.arrayToJSON(this.oneofsArray, toJSONOptions),
"fields",
Namespace.arrayToJSON(this.fieldsArray.filter(function(obj) {
return !obj.declaringField;
}), toJSONOptions) || {},
"extensions",
this.extensions && this.extensions.length ? this.extensions : void 0,
"reserved",
this.reserved && this.reserved.length ? this.reserved : void 0,
"group",
this.group || void 0,
"nested",
inherited && inherited.nested || void 0,
"comment",
keepComments ? this.comment : void 0
]);
};
Type2.prototype.resolveAll = function resolveAll() {
if (!this._needsRecursiveResolve) return this;
Namespace.prototype.resolveAll.call(this);
var oneofs = this.oneofsArray;
i3 = 0;
while (i3 < oneofs.length)
oneofs[i3++].resolve();
var fields = this.fieldsArray, i3 = 0;
while (i3 < fields.length)
fields[i3++].resolve();
return this;
};
Type2.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
if (!this._needsRecursiveFeatureResolution) return this;
edition = this._edition || edition;
Namespace.prototype._resolveFeaturesRecursive.call(this, edition);
this.oneofsArray.forEach((oneof) => {
oneof._resolveFeatures(edition);
});
this.fieldsArray.forEach((field) => {
field._resolveFeatures(edition);
});
return this;
};
Type2.prototype.get = function get2(name3) {
return this.fields[name3] || this.oneofs && this.oneofs[name3] || this.nested && this.nested[name3] || null;
};
Type2.prototype.add = function add(object3) {
if (this.get(object3.name))
throw Error("duplicate name '" + object3.name + "' in " + this);
if (object3 instanceof Field && object3.extend === void 0) {
if (this._fieldsById ? (
/* istanbul ignore next */
this._fieldsById[object3.id]
) : this.fieldsById[object3.id])
throw Error("duplicate id " + object3.id + " in " + this);
if (this.isReservedId(object3.id))
throw Error("id " + object3.id + " is reserved in " + this);
if (this.isReservedName(object3.name))
throw Error("name '" + object3.name + "' is reserved in " + this);
if (object3.parent)
object3.parent.remove(object3);
this.fields[object3.name] = object3;
object3.message = this;
object3.onAdd(this);
return clearCache(this);
}
if (object3 instanceof OneOf) {
if (!this.oneofs)
this.oneofs = {};
this.oneofs[object3.name] = object3;
object3.onAdd(this);
return clearCache(this);
}
return Namespace.prototype.add.call(this, object3);
};
Type2.prototype.remove = function remove2(object3) {
if (object3 instanceof Field && object3.extend === void 0) {
if (!this.fields || this.fields[object3.name] !== object3)
throw Error(object3 + " is not a member of " + this);
delete this.fields[object3.name];
object3.parent = null;
object3.onRemove(this);
return clearCache(this);
}
if (object3 instanceof OneOf) {
if (!this.oneofs || this.oneofs[object3.name] !== object3)
throw Error(object3 + " is not a member of " + this);
delete this.oneofs[object3.name];
object3.parent = null;
object3.onRemove(this);
return clearCache(this);
}
return Namespace.prototype.remove.call(this, object3);
};
Type2.prototype.isReservedId = function isReservedId(id) {
return Namespace.isReservedId(this.reserved, id);
};
Type2.prototype.isReservedName = function isReservedName(name3) {
return Namespace.isReservedName(this.reserved, name3);
};
Type2.prototype.create = function create(properties) {
return new this.ctor(properties);
};
Type2.prototype.setup = function setup() {
var fullName = this.fullName, types3 = [];
for (var i3 = 0; i3 < /* initializes */
this.fieldsArray.length; ++i3)
types3.push(this._fieldsArray[i3].resolve().resolvedType);
this.encode = encoder(this)({
Writer,
types: types3,
util: util2
});
this.decode = decoder(this)({
Reader,
types: types3,
util: util2
});
this.verify = verifier(this)({
types: types3,
util: util2
});
this.fromObject = converter.fromObject(this)({
types: types3,
util: util2
});
this.toObject = converter.toObject(this)({
types: types3,
util: util2
});
var wrapper = wrappers[fullName];
if (wrapper) {
var originalThis = Object.create(this);
originalThis.fromObject = this.fromObject;
this.fromObject = wrapper.fromObject.bind(originalThis);
originalThis.toObject = this.toObject;
this.toObject = wrapper.toObject.bind(originalThis);
}
return this;
};
Type2.prototype.encode = function encode_setup(message, writer) {
return this.setup().encode(message, writer);
};
Type2.prototype.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer && writer.len ? writer.fork() : writer).ldelim();
};
Type2.prototype.decode = function decode_setup(reader, length) {
return this.setup().decode(reader, length);
};
Type2.prototype.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof Reader))
reader = Reader.create(reader);
return this.decode(reader, reader.uint32());
};
Type2.prototype.verify = function verify_setup(message) {
return this.setup().verify(message);
};
Type2.prototype.fromObject = function fromObject(object3) {
return this.setup().fromObject(object3);
};
Type2.prototype.toObject = function toObject(message, options) {
return this.setup().toObject(message, options);
};
Type2.d = function decorateType(typeName) {
return function typeDecorator(target) {
util2.decorateType(target, typeName);
};
};
}
});
// node_modules/protobufjs/src/root.js
var require_root = __commonJS({
"node_modules/protobufjs/src/root.js"(exports2, module2) {
"use strict";
module2.exports = Root2;
var Namespace = require_namespace();
((Root2.prototype = Object.create(Namespace.prototype)).constructor = Root2).className = "Root";
var Field = require_field();
var Enum = require_enum();
var OneOf = require_oneof();
var util2 = require_util3();
var Type2;
var parse8;
var common3;
function Root2(options) {
Namespace.call(this, "", options);
this.deferred = [];
this.files = [];
this._edition = "proto2";
this._fullyQualifiedObjects = {};
}
Root2.fromJSON = function fromJSON(json3, root) {
if (!root)
root = new Root2();
if (json3.options)
root.setOptions(json3.options);
return root.addJSON(json3.nested).resolveAll();
};
Root2.prototype.resolvePath = util2.path.resolve;
Root2.prototype.fetch = util2.fetch;
function SYNC() {
}
Root2.prototype.load = function load3(filename, options, callback) {
if (typeof options === "function") {
callback = options;
options = void 0;
}
var self2 = this;
if (!callback) {
return util2.asPromise(load3, self2, filename, options);
}
var sync2 = callback === SYNC;
function finish(err2, root) {
if (!callback) {
return;
}
if (sync2) {
throw err2;
}
if (root) {
root.resolveAll();
}
var cb = callback;
callback = null;
cb(err2, root);
}
function getBundledFileName(filename2) {
var idx = filename2.lastIndexOf("google/protobuf/");
if (idx > -1) {
var altname = filename2.substring(idx);
if (altname in common3) return altname;
}
return null;
}
function process25(filename2, source) {
try {
if (util2.isString(source) && source.charAt(0) === "{")
source = JSON.parse(source);
if (!util2.isString(source))
self2.setOptions(source.options).addJSON(source.nested);
else {
parse8.filename = filename2;
var parsed = parse8(source, self2, options), resolved2, i4 = 0;
if (parsed.imports) {
for (; i4 < parsed.imports.length; ++i4)
if (resolved2 = getBundledFileName(parsed.imports[i4]) || self2.resolvePath(filename2, parsed.imports[i4]))
fetch2(resolved2);
}
if (parsed.weakImports) {
for (i4 = 0; i4 < parsed.weakImports.length; ++i4)
if (resolved2 = getBundledFileName(parsed.weakImports[i4]) || self2.resolvePath(filename2, parsed.weakImports[i4]))
fetch2(resolved2, true);
}
}
} catch (err2) {
finish(err2);
}
if (!sync2 && !queued) {
finish(null, self2);
}
}
function fetch2(filename2, weak) {
filename2 = getBundledFileName(filename2) || filename2;
if (self2.files.indexOf(filename2) > -1) {
return;
}
self2.files.push(filename2);
if (filename2 in common3) {
if (sync2) {
process25(filename2, common3[filename2]);
} else {
++queued;
setTimeout(function() {
--queued;
process25(filename2, common3[filename2]);
});
}
return;
}
if (sync2) {
var source;
try {
source = util2.fs.readFileSync(filename2).toString("utf8");
} catch (err2) {
if (!weak)
finish(err2);
return;
}
process25(filename2, source);
} else {
++queued;
self2.fetch(filename2, function(err2, source2) {
--queued;
if (!callback) {
return;
}
if (err2) {
if (!weak)
finish(err2);
else if (!queued)
finish(null, self2);
return;
}
process25(filename2, source2);
});
}
}
var queued = 0;
if (util2.isString(filename)) {
filename = [filename];
}
for (var i3 = 0, resolved; i3 < filename.length; ++i3)
if (resolved = self2.resolvePath("", filename[i3]))
fetch2(resolved);
if (sync2) {
self2.resolveAll();
return self2;
}
if (!queued) {
finish(null, self2);
}
return self2;
};
Root2.prototype.loadSync = function loadSync(filename, options) {
if (!util2.isNode)
throw Error("not supported");
return this.load(filename, options, SYNC);
};
Root2.prototype.resolveAll = function resolveAll() {
if (!this._needsRecursiveResolve) return this;
if (this.deferred.length)
throw Error("unresolvable extensions: " + this.deferred.map(function(field) {
return "'extend " + field.extend + "' in " + field.parent.fullName;
}).join(", "));
return Namespace.prototype.resolveAll.call(this);
};
var exposeRe = /^[A-Z]/;
function tryHandleExtension(root, field) {
var extendedType = field.parent.lookup(field.extend);
if (extendedType) {
var sisterField = new Field(field.fullName, field.id, field.type, field.rule, void 0, field.options);
if (extendedType.get(sisterField.name)) {
return true;
}
sisterField.declaringField = field;
field.extensionField = sisterField;
extendedType.add(sisterField);
return true;
}
return false;
}
Root2.prototype._handleAdd = function _handleAdd(object3) {
if (object3 instanceof Field) {
if (
/* an extension field (implies not part of a oneof) */
object3.extend !== void 0 && /* not already handled */
!object3.extensionField
) {
if (!tryHandleExtension(this, object3))
this.deferred.push(object3);
}
} else if (object3 instanceof Enum) {
if (exposeRe.test(object3.name))
object3.parent[object3.name] = object3.values;
} else if (!(object3 instanceof OneOf)) {
if (object3 instanceof Type2)
for (var i3 = 0; i3 < this.deferred.length; )
if (tryHandleExtension(this, this.deferred[i3]))
this.deferred.splice(i3, 1);
else
++i3;
for (var j = 0; j < /* initializes */
object3.nestedArray.length; ++j)
this._handleAdd(object3._nestedArray[j]);
if (exposeRe.test(object3.name))
object3.parent[object3.name] = object3;
}
if (object3 instanceof Type2 || object3 instanceof Enum || object3 instanceof Field) {
this._fullyQualifiedObjects[object3.fullName] = object3;
}
};
Root2.prototype._handleRemove = function _handleRemove(object3) {
if (object3 instanceof Field) {
if (
/* an extension field */
object3.extend !== void 0
) {
if (
/* already handled */
object3.extensionField
) {
object3.extensionField.parent.remove(object3.extensionField);
object3.extensionField = null;
} else {
var index = this.deferred.indexOf(object3);
if (index > -1)
this.deferred.splice(index, 1);
}
}
} else if (object3 instanceof Enum) {
if (exposeRe.test(object3.name))
delete object3.parent[object3.name];
} else if (object3 instanceof Namespace) {
for (var i3 = 0; i3 < /* initializes */
object3.nestedArray.length; ++i3)
this._handleRemove(object3._nestedArray[i3]);
if (exposeRe.test(object3.name))
delete object3.parent[object3.name];
}
delete this._fullyQualifiedObjects[object3.fullName];
};
Root2._configure = function(Type_, parse_2, common_) {
Type2 = Type_;
parse8 = parse_2;
common3 = common_;
};
}
});
// node_modules/protobufjs/src/util.js
var require_util3 = __commonJS({
"node_modules/protobufjs/src/util.js"(exports2, module2) {
"use strict";
var util2 = module2.exports = require_minimal();
var roots = require_roots();
var Type2;
var Enum;
util2.codegen = require_codegen();
util2.fetch = require_fetch();
util2.path = require_path();
util2.fs = util2.inquire("fs");
util2.toArray = function toArray2(object3) {
if (object3) {
var keys = Object.keys(object3), array2 = new Array(keys.length), index = 0;
while (index < keys.length)
array2[index] = object3[keys[index++]];
return array2;
}
return [];
};
util2.toObject = function toObject(array2) {
var object3 = {}, index = 0;
while (index < array2.length) {
var key = array2[index++], val = array2[index++];
if (val !== void 0)
object3[key] = val;
}
return object3;
};
var safePropBackslashRe = /\\/g;
var safePropQuoteRe = /"/g;
util2.isReserved = function isReserved(name3) {
return /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(name3);
};
util2.safeProp = function safeProp(prop) {
if (!/^[$\w_]+$/.test(prop) || util2.isReserved(prop))
return '["' + prop.replace(safePropBackslashRe, "\\\\").replace(safePropQuoteRe, '\\"') + '"]';
return "." + prop;
};
util2.ucFirst = function ucFirst(str2) {
return str2.charAt(0).toUpperCase() + str2.substring(1);
};
var camelCaseRe = /_([a-z])/g;
util2.camelCase = function camelCase(str2) {
return str2.substring(0, 1) + str2.substring(1).replace(camelCaseRe, function($0, $1) {
return $1.toUpperCase();
});
};
util2.compareFieldsById = function compareFieldsById(a2, b) {
return a2.id - b.id;
};
util2.decorateType = function decorateType(ctor, typeName) {
if (ctor.$type) {
if (typeName && ctor.$type.name !== typeName) {
util2.decorateRoot.remove(ctor.$type);
ctor.$type.name = typeName;
util2.decorateRoot.add(ctor.$type);
}
return ctor.$type;
}
if (!Type2)
Type2 = require_type();
var type2 = new Type2(typeName || ctor.name);
util2.decorateRoot.add(type2);
type2.ctor = ctor;
Object.defineProperty(ctor, "$type", { value: type2, enumerable: false });
Object.defineProperty(ctor.prototype, "$type", { value: type2, enumerable: false });
return type2;
};
var decorateEnumIndex = 0;
util2.decorateEnum = function decorateEnum(object3) {
if (object3.$type)
return object3.$type;
if (!Enum)
Enum = require_enum();
var enm = new Enum("Enum" + decorateEnumIndex++, object3);
util2.decorateRoot.add(enm);
Object.defineProperty(object3, "$type", { value: enm, enumerable: false });
return enm;
};
util2.setProperty = function setProperty2(dst, path101, value, ifNotSet) {
function setProp(dst2, path102, value2) {
var part = path102.shift();
if (part === "__proto__" || part === "prototype") {
return dst2;
}
if (path102.length > 0) {
dst2[part] = setProp(dst2[part] || {}, path102, value2);
} else {
var prevValue = dst2[part];
if (prevValue && ifNotSet)
return dst2;
if (prevValue)
value2 = [].concat(prevValue).concat(value2);
dst2[part] = value2;
}
return dst2;
}
if (typeof dst !== "object")
throw TypeError("dst must be an object");
if (!path101)
throw TypeError("path must be specified");
path101 = path101.split(".");
return setProp(dst, path101, value);
};
Object.defineProperty(util2, "decorateRoot", {
get: function() {
return roots["decorated"] || (roots["decorated"] = new (require_root())());
}
});
}
});
// node_modules/protobufjs/src/types.js
var require_types = __commonJS({
"node_modules/protobufjs/src/types.js"(exports2) {
"use strict";
var types3 = exports2;
var util2 = require_util3();
var s2 = [
"double",
// 0
"float",
// 1
"int32",
// 2
"uint32",
// 3
"sint32",
// 4
"fixed32",
// 5
"sfixed32",
// 6
"int64",
// 7
"uint64",
// 8
"sint64",
// 9
"fixed64",
// 10
"sfixed64",
// 11
"bool",
// 12
"string",
// 13
"bytes"
// 14
];
function bake(values, offset) {
var i3 = 0, o3 = {};
offset |= 0;
while (i3 < values.length) o3[s2[i3 + offset]] = values[i3++];
return o3;
}
types3.basic = bake([
/* double */
1,
/* float */
5,
/* int32 */
0,
/* uint32 */
0,
/* sint32 */
0,
/* fixed32 */
5,
/* sfixed32 */
5,
/* int64 */
0,
/* uint64 */
0,
/* sint64 */
0,
/* fixed64 */
1,
/* sfixed64 */
1,
/* bool */
0,
/* string */
2,
/* bytes */
2
]);
types3.defaults = bake([
/* double */
0,
/* float */
0,
/* int32 */
0,
/* uint32 */
0,
/* sint32 */
0,
/* fixed32 */
0,
/* sfixed32 */
0,
/* int64 */
0,
/* uint64 */
0,
/* sint64 */
0,
/* fixed64 */
0,
/* sfixed64 */
0,
/* bool */
false,
/* string */
"",
/* bytes */
util2.emptyArray,
/* message */
null
]);
types3.long = bake([
/* int64 */
0,
/* uint64 */
0,
/* sint64 */
0,
/* fixed64 */
1,
/* sfixed64 */
1
], 7);
types3.mapKey = bake([
/* int32 */
0,
/* uint32 */
0,
/* sint32 */
0,
/* fixed32 */
5,
/* sfixed32 */
5,
/* int64 */
0,
/* uint64 */
0,
/* sint64 */
0,
/* fixed64 */
1,
/* sfixed64 */
1,
/* bool */
0,
/* string */
2
], 2);
types3.packed = bake([
/* double */
1,
/* float */
5,
/* int32 */
0,
/* uint32 */
0,
/* sint32 */
0,
/* fixed32 */
5,
/* sfixed32 */
5,
/* int64 */
0,
/* uint64 */
0,
/* sint64 */
0,
/* fixed64 */
1,
/* sfixed64 */
1,
/* bool */
0
]);
}
});
// node_modules/protobufjs/src/field.js
var require_field = __commonJS({
"node_modules/protobufjs/src/field.js"(exports2, module2) {
"use strict";
module2.exports = Field;
var ReflectionObject = require_object();
((Field.prototype = Object.create(ReflectionObject.prototype)).constructor = Field).className = "Field";
var Enum = require_enum();
var types3 = require_types();
var util2 = require_util3();
var Type2;
var ruleRe = /^required|optional|repeated$/;
Field.fromJSON = function fromJSON(name3, json3) {
var field = new Field(name3, json3.id, json3.type, json3.rule, json3.extend, json3.options, json3.comment);
if (json3.edition)
field._edition = json3.edition;
field._defaultEdition = "proto3";
return field;
};
function Field(name3, id, type2, rule, extend4, options, comment) {
if (util2.isObject(rule)) {
comment = extend4;
options = rule;
rule = extend4 = void 0;
} else if (util2.isObject(extend4)) {
comment = options;
options = extend4;
extend4 = void 0;
}
ReflectionObject.call(this, name3, options);
if (!util2.isInteger(id) || id < 0)
throw TypeError("id must be a non-negative integer");
if (!util2.isString(type2))
throw TypeError("type must be a string");
if (rule !== void 0 && !ruleRe.test(rule = rule.toString().toLowerCase()))
throw TypeError("rule must be a string rule");
if (extend4 !== void 0 && !util2.isString(extend4))
throw TypeError("extend must be a string");
if (rule === "proto3_optional") {
rule = "optional";
}
this.rule = rule && rule !== "optional" ? rule : void 0;
this.type = type2;
this.id = id;
this.extend = extend4 || void 0;
this.repeated = rule === "repeated";
this.map = false;
this.message = null;
this.partOf = null;
this.typeDefault = null;
this.defaultValue = null;
this.long = util2.Long ? types3.long[type2] !== void 0 : (
/* istanbul ignore next */
false
);
this.bytes = type2 === "bytes";
this.resolvedType = null;
this.extensionField = null;
this.declaringField = null;
this.comment = comment;
}
Object.defineProperty(Field.prototype, "required", {
get: function() {
return this._features.field_presence === "LEGACY_REQUIRED";
}
});
Object.defineProperty(Field.prototype, "optional", {
get: function() {
return !this.required;
}
});
Object.defineProperty(Field.prototype, "delimited", {
get: function() {
return this.resolvedType instanceof Type2 && this._features.message_encoding === "DELIMITED";
}
});
Object.defineProperty(Field.prototype, "packed", {
get: function() {
return this._features.repeated_field_encoding === "PACKED";
}
});
Object.defineProperty(Field.prototype, "hasPresence", {
get: function() {
if (this.repeated || this.map) {
return false;
}
return this.partOf || // oneofs
this.declaringField || this.extensionField || // extensions
this._features.field_presence !== "IMPLICIT";
}
});
Field.prototype.setOption = function setOption(name3, value, ifNotSet) {
return ReflectionObject.prototype.setOption.call(this, name3, value, ifNotSet);
};
Field.prototype.toJSON = function toJSON(toJSONOptions) {
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
return util2.toObject([
"edition",
this._editionToJSON(),
"rule",
this.rule !== "optional" && this.rule || void 0,
"type",
this.type,
"id",
this.id,
"extend",
this.extend,
"options",
this.options,
"comment",
keepComments ? this.comment : void 0
]);
};
Field.prototype.resolve = function resolve25() {
if (this.resolved)
return this;
if ((this.typeDefault = types3.defaults[this.type]) === void 0) {
this.resolvedType = (this.declaringField ? this.declaringField.parent : this.parent).lookupTypeOrEnum(this.type);
if (this.resolvedType instanceof Type2)
this.typeDefault = null;
else
this.typeDefault = this.resolvedType.values[Object.keys(this.resolvedType.values)[0]];
} else if (this.options && this.options.proto3_optional) {
this.typeDefault = null;
}
if (this.options && this.options["default"] != null) {
this.typeDefault = this.options["default"];
if (this.resolvedType instanceof Enum && typeof this.typeDefault === "string")
this.typeDefault = this.resolvedType.values[this.typeDefault];
}
if (this.options) {
if (this.options.packed !== void 0 && this.resolvedType && !(this.resolvedType instanceof Enum))
delete this.options.packed;
if (!Object.keys(this.options).length)
this.options = void 0;
}
if (this.long) {
this.typeDefault = util2.Long.fromNumber(this.typeDefault, this.type.charAt(0) === "u");
if (Object.freeze)
Object.freeze(this.typeDefault);
} else if (this.bytes && typeof this.typeDefault === "string") {
var buf;
if (util2.base64.test(this.typeDefault))
util2.base64.decode(this.typeDefault, buf = util2.newBuffer(util2.base64.length(this.typeDefault)), 0);
else
util2.utf8.write(this.typeDefault, buf = util2.newBuffer(util2.utf8.length(this.typeDefault)), 0);
this.typeDefault = buf;
}
if (this.map)
this.defaultValue = util2.emptyObject;
else if (this.repeated)
this.defaultValue = util2.emptyArray;
else
this.defaultValue = this.typeDefault;
if (this.parent instanceof Type2)
this.parent.ctor.prototype[this.name] = this.defaultValue;
return ReflectionObject.prototype.resolve.call(this);
};
Field.prototype._inferLegacyProtoFeatures = function _inferLegacyProtoFeatures(edition) {
if (edition !== "proto2" && edition !== "proto3") {
return {};
}
var features = {};
if (this.rule === "required") {
features.field_presence = "LEGACY_REQUIRED";
}
if (this.parent && types3.defaults[this.type] === void 0) {
var type2 = this.parent.get(this.type.split(".").pop());
if (type2 && type2 instanceof Type2 && type2.group) {
features.message_encoding = "DELIMITED";
}
}
if (this.getOption("packed") === true) {
features.repeated_field_encoding = "PACKED";
} else if (this.getOption("packed") === false) {
features.repeated_field_encoding = "EXPANDED";
}
return features;
};
Field.prototype._resolveFeatures = function _resolveFeatures(edition) {
return ReflectionObject.prototype._resolveFeatures.call(this, this._edition || edition);
};
Field.d = function decorateField(fieldId, fieldType, fieldRule, defaultValue) {
if (typeof fieldType === "function")
fieldType = util2.decorateType(fieldType).name;
else if (fieldType && typeof fieldType === "object")
fieldType = util2.decorateEnum(fieldType).name;
return function fieldDecorator(prototype, fieldName) {
util2.decorateType(prototype.constructor).add(new Field(fieldName, fieldId, fieldType, fieldRule, { "default": defaultValue }));
};
};
Field._configure = function configure(Type_) {
Type2 = Type_;
};
}
});
// node_modules/protobufjs/src/oneof.js
var require_oneof = __commonJS({
"node_modules/protobufjs/src/oneof.js"(exports2, module2) {
"use strict";
module2.exports = OneOf;
var ReflectionObject = require_object();
((OneOf.prototype = Object.create(ReflectionObject.prototype)).constructor = OneOf).className = "OneOf";
var Field = require_field();
var util2 = require_util3();
function OneOf(name3, fieldNames, options, comment) {
if (!Array.isArray(fieldNames)) {
options = fieldNames;
fieldNames = void 0;
}
ReflectionObject.call(this, name3, options);
if (!(fieldNames === void 0 || Array.isArray(fieldNames)))
throw TypeError("fieldNames must be an Array");
this.oneof = fieldNames || [];
this.fieldsArray = [];
this.comment = comment;
}
OneOf.fromJSON = function fromJSON(name3, json3) {
return new OneOf(name3, json3.oneof, json3.options, json3.comment);
};
OneOf.prototype.toJSON = function toJSON(toJSONOptions) {
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
return util2.toObject([
"options",
this.options,
"oneof",
this.oneof,
"comment",
keepComments ? this.comment : void 0
]);
};
function addFieldsToParent(oneof) {
if (oneof.parent) {
for (var i3 = 0; i3 < oneof.fieldsArray.length; ++i3)
if (!oneof.fieldsArray[i3].parent)
oneof.parent.add(oneof.fieldsArray[i3]);
}
}
OneOf.prototype.add = function add(field) {
if (!(field instanceof Field))
throw TypeError("field must be a Field");
if (field.parent && field.parent !== this.parent)
field.parent.remove(field);
this.oneof.push(field.name);
this.fieldsArray.push(field);
field.partOf = this;
addFieldsToParent(this);
return this;
};
OneOf.prototype.remove = function remove2(field) {
if (!(field instanceof Field))
throw TypeError("field must be a Field");
var index = this.fieldsArray.indexOf(field);
if (index < 0)
throw Error(field + " is not a member of " + this);
this.fieldsArray.splice(index, 1);
index = this.oneof.indexOf(field.name);
if (index > -1)
this.oneof.splice(index, 1);
field.partOf = null;
return this;
};
OneOf.prototype.onAdd = function onAdd(parent) {
ReflectionObject.prototype.onAdd.call(this, parent);
var self2 = this;
for (var i3 = 0; i3 < this.oneof.length; ++i3) {
var field = parent.get(this.oneof[i3]);
if (field && !field.partOf) {
field.partOf = self2;
self2.fieldsArray.push(field);
}
}
addFieldsToParent(this);
};
OneOf.prototype.onRemove = function onRemove(parent) {
for (var i3 = 0, field; i3 < this.fieldsArray.length; ++i3)
if ((field = this.fieldsArray[i3]).parent)
field.parent.remove(field);
ReflectionObject.prototype.onRemove.call(this, parent);
};
Object.defineProperty(OneOf.prototype, "isProto3Optional", {
get: function() {
if (this.fieldsArray == null || this.fieldsArray.length !== 1) {
return false;
}
var field = this.fieldsArray[0];
return field.options != null && field.options["proto3_optional"] === true;
}
});
OneOf.d = function decorateOneOf() {
var fieldNames = new Array(arguments.length), index = 0;
while (index < arguments.length)
fieldNames[index] = arguments[index++];
return function oneOfDecorator(prototype, oneofName) {
util2.decorateType(prototype.constructor).add(new OneOf(oneofName, fieldNames));
Object.defineProperty(prototype, oneofName, {
get: util2.oneOfGetter(fieldNames),
set: util2.oneOfSetter(fieldNames)
});
};
};
}
});
// node_modules/protobufjs/src/object.js
var require_object = __commonJS({
"node_modules/protobufjs/src/object.js"(exports2, module2) {
"use strict";
module2.exports = ReflectionObject;
ReflectionObject.className = "ReflectionObject";
var OneOf = require_oneof();
var util2 = require_util3();
var Root2;
var editions2023Defaults = { enum_type: "OPEN", field_presence: "EXPLICIT", json_format: "ALLOW", message_encoding: "LENGTH_PREFIXED", repeated_field_encoding: "PACKED", utf8_validation: "VERIFY" };
var proto2Defaults = { enum_type: "CLOSED", field_presence: "EXPLICIT", json_format: "LEGACY_BEST_EFFORT", message_encoding: "LENGTH_PREFIXED", repeated_field_encoding: "EXPANDED", utf8_validation: "NONE" };
var proto3Defaults = { enum_type: "OPEN", field_presence: "IMPLICIT", json_format: "ALLOW", message_encoding: "LENGTH_PREFIXED", repeated_field_encoding: "PACKED", utf8_validation: "VERIFY" };
function ReflectionObject(name3, options) {
if (!util2.isString(name3))
throw TypeError("name must be a string");
if (options && !util2.isObject(options))
throw TypeError("options must be an object");
this.options = options;
this.parsedOptions = null;
this.name = name3;
this._edition = null;
this._defaultEdition = "proto2";
this._features = {};
this._featuresResolved = false;
this.parent = null;
this.resolved = false;
this.comment = null;
this.filename = null;
}
Object.defineProperties(ReflectionObject.prototype, {
/**
* Reference to the root namespace.
* @name ReflectionObject#root
* @type {Root}
* @readonly
*/
root: {
get: function() {
var ptr = this;
while (ptr.parent !== null)
ptr = ptr.parent;
return ptr;
}
},
/**
* Full name including leading dot.
* @name ReflectionObject#fullName
* @type {string}
* @readonly
*/
fullName: {
get: function() {
var path101 = [this.name], ptr = this.parent;
while (ptr) {
path101.unshift(ptr.name);
ptr = ptr.parent;
}
return path101.join(".");
}
}
});
ReflectionObject.prototype.toJSON = /* istanbul ignore next */
function toJSON() {
throw Error();
};
ReflectionObject.prototype.onAdd = function onAdd(parent) {
if (this.parent && this.parent !== parent)
this.parent.remove(this);
this.parent = parent;
this.resolved = false;
var root = parent.root;
if (root instanceof Root2)
root._handleAdd(this);
};
ReflectionObject.prototype.onRemove = function onRemove(parent) {
var root = parent.root;
if (root instanceof Root2)
root._handleRemove(this);
this.parent = null;
this.resolved = false;
};
ReflectionObject.prototype.resolve = function resolve25() {
if (this.resolved)
return this;
if (this.root instanceof Root2)
this.resolved = true;
return this;
};
ReflectionObject.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
return this._resolveFeatures(this._edition || edition);
};
ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition) {
if (this._featuresResolved) {
return;
}
var defaults2 = {};
if (!edition) {
throw new Error("Unknown edition for " + this.fullName);
}
var protoFeatures = Object.assign(
this.options ? Object.assign({}, this.options.features) : {},
this._inferLegacyProtoFeatures(edition)
);
if (this._edition) {
if (edition === "proto2") {
defaults2 = Object.assign({}, proto2Defaults);
} else if (edition === "proto3") {
defaults2 = Object.assign({}, proto3Defaults);
} else if (edition === "2023") {
defaults2 = Object.assign({}, editions2023Defaults);
} else {
throw new Error("Unknown edition: " + edition);
}
this._features = Object.assign(defaults2, protoFeatures || {});
this._featuresResolved = true;
return;
}
if (this.partOf instanceof OneOf) {
var lexicalParentFeaturesCopy = Object.assign({}, this.partOf._features);
this._features = Object.assign(lexicalParentFeaturesCopy, protoFeatures || {});
} else if (this.declaringField) {
} else if (this.parent) {
var parentFeaturesCopy = Object.assign({}, this.parent._features);
this._features = Object.assign(parentFeaturesCopy, protoFeatures || {});
} else {
throw new Error("Unable to find a parent for " + this.fullName);
}
if (this.extensionField) {
this.extensionField._features = this._features;
}
this._featuresResolved = true;
};
ReflectionObject.prototype._inferLegacyProtoFeatures = function _inferLegacyProtoFeatures() {
return {};
};
ReflectionObject.prototype.getOption = function getOption(name3) {
if (this.options)
return this.options[name3];
return void 0;
};
ReflectionObject.prototype.setOption = function setOption(name3, value, ifNotSet) {
if (!this.options)
this.options = {};
if (/^features\./.test(name3)) {
util2.setProperty(this.options, name3, value, ifNotSet);
} else if (!ifNotSet || this.options[name3] === void 0) {
if (this.getOption(name3) !== value) this.resolved = false;
this.options[name3] = value;
}
return this;
};
ReflectionObject.prototype.setParsedOption = function setParsedOption(name3, value, propName) {
if (!this.parsedOptions) {
this.parsedOptions = [];
}
var parsedOptions = this.parsedOptions;
if (propName) {
var opt = parsedOptions.find(function(opt2) {
return Object.prototype.hasOwnProperty.call(opt2, name3);
});
if (opt) {
var newValue = opt[name3];
util2.setProperty(newValue, propName, value);
} else {
opt = {};
opt[name3] = util2.setProperty({}, propName, value);
parsedOptions.push(opt);
}
} else {
var newOpt = {};
newOpt[name3] = value;
parsedOptions.push(newOpt);
}
return this;
};
ReflectionObject.prototype.setOptions = function setOptions(options, ifNotSet) {
if (options)
for (var keys = Object.keys(options), i3 = 0; i3 < keys.length; ++i3)
this.setOption(keys[i3], options[keys[i3]], ifNotSet);
return this;
};
ReflectionObject.prototype.toString = function toString3() {
var className = this.constructor.className, fullName = this.fullName;
if (fullName.length)
return className + " " + fullName;
return className;
};
ReflectionObject.prototype._editionToJSON = function _editionToJSON() {
if (!this._edition || this._edition === "proto3") {
return void 0;
}
return this._edition;
};
ReflectionObject._configure = function(Root_) {
Root2 = Root_;
};
}
});
// node_modules/protobufjs/src/enum.js
var require_enum = __commonJS({
"node_modules/protobufjs/src/enum.js"(exports2, module2) {
"use strict";
module2.exports = Enum;
var ReflectionObject = require_object();
((Enum.prototype = Object.create(ReflectionObject.prototype)).constructor = Enum).className = "Enum";
var Namespace = require_namespace();
var util2 = require_util3();
function Enum(name3, values, options, comment, comments, valuesOptions) {
ReflectionObject.call(this, name3, options);
if (values && typeof values !== "object")
throw TypeError("values must be an object");
this.valuesById = {};
this.values = Object.create(this.valuesById);
this.comment = comment;
this.comments = comments || {};
this.valuesOptions = valuesOptions;
this._valuesFeatures = {};
this.reserved = void 0;
if (values) {
for (var keys = Object.keys(values), i3 = 0; i3 < keys.length; ++i3)
if (typeof values[keys[i3]] === "number")
this.valuesById[this.values[keys[i3]] = values[keys[i3]]] = keys[i3];
}
}
Enum.prototype._resolveFeatures = function _resolveFeatures(edition) {
edition = this._edition || edition;
ReflectionObject.prototype._resolveFeatures.call(this, edition);
Object.keys(this.values).forEach((key) => {
var parentFeaturesCopy = Object.assign({}, this._features);
this._valuesFeatures[key] = Object.assign(parentFeaturesCopy, this.valuesOptions && this.valuesOptions[key] && this.valuesOptions[key].features);
});
return this;
};
Enum.fromJSON = function fromJSON(name3, json3) {
var enm = new Enum(name3, json3.values, json3.options, json3.comment, json3.comments);
enm.reserved = json3.reserved;
if (json3.edition)
enm._edition = json3.edition;
enm._defaultEdition = "proto3";
return enm;
};
Enum.prototype.toJSON = function toJSON(toJSONOptions) {
var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
return util2.toObject([
"edition",
this._editionToJSON(),
"options",
this.options,
"valuesOptions",
this.valuesOptions,
"values",
this.values,
"reserved",
this.reserved && this.reserved.length ? this.reserved : void 0,
"comment",
keepComments ? this.comment : void 0,
"comments",
keepComments ? this.comments : void 0
]);
};
Enum.prototype.add = function add(name3, id, comment, options) {
if (!util2.isString(name3))
throw TypeError("name must be a string");
if (!util2.isInteger(id))
throw TypeError("id must be an integer");
if (this.values[name3] !== void 0)
throw Error("duplicate name '" + name3 + "' in " + this);
if (this.isReservedId(id))
throw Error("id " + id + " is reserved in " + this);
if (this.isReservedName(name3))
throw Error("name '" + name3 + "' is reserved in " + this);
if (this.valuesById[id] !== void 0) {
if (!(this.options && this.options.allow_alias))
throw Error("duplicate id " + id + " in " + this);
this.values[name3] = id;
} else
this.valuesById[this.values[name3] = id] = name3;
if (options) {
if (this.valuesOptions === void 0)
this.valuesOptions = {};
this.valuesOptions[name3] = options || null;
}
this.comments[name3] = comment || null;
return this;
};
Enum.prototype.remove = function remove2(name3) {
if (!util2.isString(name3))
throw TypeError("name must be a string");
var val = this.values[name3];
if (val == null)
throw Error("name '" + name3 + "' does not exist in " + this);
delete this.valuesById[val];
delete this.values[name3];
delete this.comments[name3];
if (this.valuesOptions)
delete this.valuesOptions[name3];
return this;
};
Enum.prototype.isReservedId = function isReservedId(id) {
return Namespace.isReservedId(this.reserved, id);
};
Enum.prototype.isReservedName = function isReservedName(name3) {
return Namespace.isReservedName(this.reserved, name3);
};
}
});
// node_modules/protobufjs/src/encoder.js
var require_encoder = __commonJS({
"node_modules/protobufjs/src/encoder.js"(exports2, module2) {
"use strict";
module2.exports = encoder;
var Enum = require_enum();
var types3 = require_types();
var util2 = require_util3();
function genTypePartial(gen, field, fieldIndex, ref) {
return field.delimited ? gen("types[%i].encode(%s,w.uint32(%i)).uint32(%i)", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0) : gen("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()", fieldIndex, ref, (field.id << 3 | 2) >>> 0);
}
function encoder(mtype) {
var gen = util2.codegen(["m", "w"], mtype.name + "$encode")("if(!w)")("w=Writer.create()");
var i3, ref;
var fields = (
/* initializes */
mtype.fieldsArray.slice().sort(util2.compareFieldsById)
);
for (var i3 = 0; i3 < fields.length; ++i3) {
var field = fields[i3].resolve(), index = mtype._fieldsArray.indexOf(field), type2 = field.resolvedType instanceof Enum ? "int32" : field.type, wireType = types3.basic[type2];
ref = "m" + util2.safeProp(field.name);
if (field.map) {
gen("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){", ref, field.name)("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){", ref)("w.uint32(%i).fork().uint32(%i).%s(ks[i])", (field.id << 3 | 2) >>> 0, 8 | types3.mapKey[field.keyType], field.keyType);
if (wireType === void 0) gen("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()", index, ref);
else gen(".uint32(%i).%s(%s[ks[i]]).ldelim()", 16 | wireType, type2, ref);
gen("}")("}");
} else if (field.repeated) {
gen("if(%s!=null&&%s.length){", ref, ref);
if (field.packed && types3.packed[type2] !== void 0) {
gen("w.uint32(%i).fork()", (field.id << 3 | 2) >>> 0)("for(var i=0;i<%s.length;++i)", ref)("w.%s(%s[i])", type2, ref)("w.ldelim()");
} else {
gen("for(var i=0;i<%s.length;++i)", ref);
if (wireType === void 0)
genTypePartial(gen, field, index, ref + "[i]");
else gen("w.uint32(%i).%s(%s[i])", (field.id << 3 | wireType) >>> 0, type2, ref);
}
gen("}");
} else {
if (field.optional) gen("if(%s!=null&&Object.hasOwnProperty.call(m,%j))", ref, field.name);
if (wireType === void 0)
genTypePartial(gen, field, index, ref);
else gen("w.uint32(%i).%s(%s)", (field.id << 3 | wireType) >>> 0, type2, ref);
}
}
return gen("return w");
}
}
});
// node_modules/protobufjs/src/index-light.js
var require_index_light = __commonJS({
"node_modules/protobufjs/src/index-light.js"(exports2, module2) {
"use strict";
var protobuf = module2.exports = require_index_minimal();
protobuf.build = "light";
function load3(filename, root, callback) {
if (typeof root === "function") {
callback = root;
root = new protobuf.Root();
} else if (!root)
root = new protobuf.Root();
return root.load(filename, callback);
}
protobuf.load = load3;
function loadSync(filename, root) {
if (!root)
root = new protobuf.Root();
return root.loadSync(filename);
}
protobuf.loadSync = loadSync;
protobuf.encoder = require_encoder();
protobuf.decoder = require_decoder();
protobuf.verifier = require_verifier();
protobuf.converter = require_converter();
protobuf.ReflectionObject = require_object();
protobuf.Namespace = require_namespace();
protobuf.Root = require_root();
protobuf.Enum = require_enum();
protobuf.Type = require_type();
protobuf.Field = require_field();
protobuf.OneOf = require_oneof();
protobuf.MapField = require_mapfield();
protobuf.Service = require_service2();
protobuf.Method = require_method();
protobuf.Message = require_message();
protobuf.wrappers = require_wrappers();
protobuf.types = require_types();
protobuf.util = require_util3();
protobuf.ReflectionObject._configure(protobuf.Root);
protobuf.Namespace._configure(protobuf.Type, protobuf.Service, protobuf.Enum);
protobuf.Root._configure(protobuf.Type);
protobuf.Field._configure(protobuf.Type);
}
});
// node_modules/protobufjs/src/tokenize.js
var require_tokenize = __commonJS({
"node_modules/protobufjs/src/tokenize.js"(exports2, module2) {
"use strict";
module2.exports = tokenize;
var delimRe = /[\s{}=;:[\],'"()<>]/g;
var stringDoubleRe = /(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g;
var stringSingleRe = /(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g;
var setCommentRe = /^ *[*/]+ */;
var setCommentAltRe = /^\s*\*?\/*/;
var setCommentSplitRe = /\n/g;
var whitespaceRe = /\s/;
var unescapeRe = /\\(.?)/g;
var unescapeMap = {
"0": "\0",
"r": "\r",
"n": "\n",
"t": " "
};
function unescape4(str2) {
return str2.replace(unescapeRe, function($0, $1) {
switch ($1) {
case "\\":
case "":
return $1;
default:
return unescapeMap[$1] || "";
}
});
}
tokenize.unescape = unescape4;
function tokenize(source, alternateCommentMode) {
source = source.toString();
var offset = 0, length = source.length, line = 1, lastCommentLine = 0, comments = {};
var stack = [];
var stringDelim = null;
function illegal(subject) {
return Error("illegal " + subject + " (line " + line + ")");
}
function readString() {
var re = stringDelim === "'" ? stringSingleRe : stringDoubleRe;
re.lastIndex = offset - 1;
var match2 = re.exec(source);
if (!match2)
throw illegal("string");
offset = re.lastIndex;
push(stringDelim);
stringDelim = null;
return unescape4(match2[1]);
}
function charAt(pos) {
return source.charAt(pos);
}
function setComment(start2, end, isLeading) {
var comment = {
type: source.charAt(start2++),
lineEmpty: false,
leading: isLeading
};
var lookback;
if (alternateCommentMode) {
lookback = 2;
} else {
lookback = 3;
}
var commentOffset = start2 - lookback, c4;
do {
if (--commentOffset < 0 || (c4 = source.charAt(commentOffset)) === "\n") {
comment.lineEmpty = true;
break;
}
} while (c4 === " " || c4 === " ");
var lines = source.substring(start2, end).split(setCommentSplitRe);
for (var i3 = 0; i3 < lines.length; ++i3)
lines[i3] = lines[i3].replace(alternateCommentMode ? setCommentAltRe : setCommentRe, "").trim();
comment.text = lines.join("\n").trim();
comments[line] = comment;
lastCommentLine = line;
}
function isDoubleSlashCommentLine(startOffset) {
var endOffset = findEndOfLine(startOffset);
var lineText = source.substring(startOffset, endOffset);
var isComment2 = /^\s*\/\//.test(lineText);
return isComment2;
}
function findEndOfLine(cursor) {
var endOffset = cursor;
while (endOffset < length && charAt(endOffset) !== "\n") {
endOffset++;
}
return endOffset;
}
function next() {
if (stack.length > 0)
return stack.shift();
if (stringDelim)
return readString();
var repeat2, prev, curr, start2, isDoc, isLeadingComment = offset === 0;
do {
if (offset === length)
return null;
repeat2 = false;
while (whitespaceRe.test(curr = charAt(offset))) {
if (curr === "\n") {
isLeadingComment = true;
++line;
}
if (++offset === length)
return null;
}
if (charAt(offset) === "/") {
if (++offset === length) {
throw illegal("comment");
}
if (charAt(offset) === "/") {
if (!alternateCommentMode) {
isDoc = charAt(start2 = offset + 1) === "/";
while (charAt(++offset) !== "\n") {
if (offset === length) {
return null;
}
}
++offset;
if (isDoc) {
setComment(start2, offset - 1, isLeadingComment);
isLeadingComment = true;
}
++line;
repeat2 = true;
} else {
start2 = offset;
isDoc = false;
if (isDoubleSlashCommentLine(offset - 1)) {
isDoc = true;
do {
offset = findEndOfLine(offset);
if (offset === length) {
break;
}
offset++;
if (!isLeadingComment) {
break;
}
} while (isDoubleSlashCommentLine(offset));
} else {
offset = Math.min(length, findEndOfLine(offset) + 1);
}
if (isDoc) {
setComment(start2, offset, isLeadingComment);
isLeadingComment = true;
}
line++;
repeat2 = true;
}
} else if ((curr = charAt(offset)) === "*") {
start2 = offset + 1;
isDoc = alternateCommentMode || charAt(start2) === "*";
do {
if (curr === "\n") {
++line;
}
if (++offset === length) {
throw illegal("comment");
}
prev = curr;
curr = charAt(offset);
} while (prev !== "*" || curr !== "/");
++offset;
if (isDoc) {
setComment(start2, offset - 2, isLeadingComment);
isLeadingComment = true;
}
repeat2 = true;
} else {
return "/";
}
}
} while (repeat2);
var end = offset;
delimRe.lastIndex = 0;
var delim = delimRe.test(charAt(end++));
if (!delim)
while (end < length && !delimRe.test(charAt(end)))
++end;
var token2 = source.substring(offset, offset = end);
if (token2 === '"' || token2 === "'")
stringDelim = token2;
return token2;
}
function push(token2) {
stack.push(token2);
}
function peek() {
if (!stack.length) {
var token2 = next();
if (token2 === null)
return null;
push(token2);
}
return stack[0];
}
function skip(expected, optional2) {
var actual = peek(), equals = actual === expected;
if (equals) {
next();
return true;
}
if (!optional2)
throw illegal("token '" + actual + "', '" + expected + "' expected");
return false;
}
function cmnt(trailingLine) {
var ret = null;
var comment;
if (trailingLine === void 0) {
comment = comments[line - 1];
delete comments[line - 1];
if (comment && (alternateCommentMode || comment.type === "*" || comment.lineEmpty)) {
ret = comment.leading ? comment.text : null;
}
} else {
if (lastCommentLine < trailingLine) {
peek();
}
comment = comments[trailingLine];
delete comments[trailingLine];
if (comment && !comment.lineEmpty && (alternateCommentMode || comment.type === "/")) {
ret = comment.leading ? null : comment.text;
}
}
return ret;
}
return Object.defineProperty({
next,
peek,
push,
skip,
cmnt
}, "line", {
get: function() {
return line;
}
});
}
}
});
// node_modules/protobufjs/src/parse.js
var require_parse3 = __commonJS({
"node_modules/protobufjs/src/parse.js"(exports2, module2) {
"use strict";
module2.exports = parse8;
parse8.filename = null;
parse8.defaults = { keepCase: false };
var tokenize = require_tokenize();
var Root2 = require_root();
var Type2 = require_type();
var Field = require_field();
var MapField = require_mapfield();
var OneOf = require_oneof();
var Enum = require_enum();
var Service = require_service2();
var Method = require_method();
var ReflectionObject = require_object();
var types3 = require_types();
var util2 = require_util3();
var base10Re = /^[1-9][0-9]*$/;
var base10NegRe = /^-?[1-9][0-9]*$/;
var base16Re = /^0[x][0-9a-fA-F]+$/;
var base16NegRe = /^-?0[x][0-9a-fA-F]+$/;
var base8Re = /^0[0-7]+$/;
var base8NegRe = /^-?0[0-7]+$/;
var numberRe = /^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/;
var nameRe = /^[a-zA-Z_][a-zA-Z_0-9]*$/;
var typeRefRe = /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/;
function parse8(source, root, options) {
if (!(root instanceof Root2)) {
options = root;
root = new Root2();
}
if (!options)
options = parse8.defaults;
var preferTrailingComment = options.preferTrailingComment || false;
var tn = tokenize(source, options.alternateCommentMode || false), next = tn.next, push = tn.push, peek = tn.peek, skip = tn.skip, cmnt = tn.cmnt;
var head = true, pkg2, imports, weakImports, edition = "proto2";
var ptr = root;
var topLevelObjects = [];
var topLevelOptions = {};
var applyCase = options.keepCase ? function(name3) {
return name3;
} : util2.camelCase;
function resolveFileFeatures() {
topLevelObjects.forEach((obj) => {
obj._edition = edition;
Object.keys(topLevelOptions).forEach((opt) => {
if (obj.getOption(opt) !== void 0) return;
obj.setOption(opt, topLevelOptions[opt], true);
});
});
}
function illegal(token3, name3, insideTryCatch) {
var filename = parse8.filename;
if (!insideTryCatch)
parse8.filename = null;
return Error("illegal " + (name3 || "token") + " '" + token3 + "' (" + (filename ? filename + ", " : "") + "line " + tn.line + ")");
}
function readString() {
var values = [], token3;
do {
if ((token3 = next()) !== '"' && token3 !== "'")
throw illegal(token3);
values.push(next());
skip(token3);
token3 = peek();
} while (token3 === '"' || token3 === "'");
return values.join("");
}
function readValue(acceptTypeRef) {
var token3 = next();
switch (token3) {
case "'":
case '"':
push(token3);
return readString();
case "true":
case "TRUE":
return true;
case "false":
case "FALSE":
return false;
}
try {
return parseNumber2(
token3,
/* insideTryCatch */
true
);
} catch (e2) {
if (acceptTypeRef && typeRefRe.test(token3))
return token3;
throw illegal(token3, "value");
}
}
function readRanges(target, acceptStrings) {
var token3, start2;
do {
if (acceptStrings && ((token3 = peek()) === '"' || token3 === "'")) {
var str2 = readString();
target.push(str2);
if (edition >= 2023) {
throw illegal(str2, "id");
}
} else {
try {
target.push([start2 = parseId(next()), skip("to", true) ? parseId(next()) : start2]);
} catch (err2) {
if (acceptStrings && typeRefRe.test(token3) && edition >= 2023) {
target.push(token3);
} else {
throw err2;
}
}
}
} while (skip(",", true));
var dummy = { options: void 0 };
dummy.setOption = function(name3, value) {
if (this.options === void 0) this.options = {};
this.options[name3] = value;
};
ifBlock(
dummy,
function parseRange_block(token4) {
if (token4 === "option") {
parseOption(dummy, token4);
skip(";");
} else
throw illegal(token4);
},
function parseRange_line() {
parseInlineOptions(dummy);
}
);
}
function parseNumber2(token3, insideTryCatch) {
var sign = 1;
if (token3.charAt(0) === "-") {
sign = -1;
token3 = token3.substring(1);
}
switch (token3) {
case "inf":
case "INF":
case "Inf":
return sign * Infinity;
case "nan":
case "NAN":
case "Nan":
case "NaN":
return NaN;
case "0":
return 0;
}
if (base10Re.test(token3))
return sign * parseInt(token3, 10);
if (base16Re.test(token3))
return sign * parseInt(token3, 16);
if (base8Re.test(token3))
return sign * parseInt(token3, 8);
if (numberRe.test(token3))
return sign * parseFloat(token3);
throw illegal(token3, "number", insideTryCatch);
}
function parseId(token3, acceptNegative) {
switch (token3) {
case "max":
case "MAX":
case "Max":
return 536870911;
case "0":
return 0;
}
if (!acceptNegative && token3.charAt(0) === "-")
throw illegal(token3, "id");
if (base10NegRe.test(token3))
return parseInt(token3, 10);
if (base16NegRe.test(token3))
return parseInt(token3, 16);
if (base8NegRe.test(token3))
return parseInt(token3, 8);
throw illegal(token3, "id");
}
function parsePackage() {
if (pkg2 !== void 0)
throw illegal("package");
pkg2 = next();
if (!typeRefRe.test(pkg2))
throw illegal(pkg2, "name");
ptr = ptr.define(pkg2);
skip(";");
}
function parseImport() {
var token3 = peek();
var whichImports;
switch (token3) {
case "weak":
whichImports = weakImports || (weakImports = []);
next();
break;
case "public":
next();
// eslint-disable-next-line no-fallthrough
default:
whichImports = imports || (imports = []);
break;
}
token3 = readString();
skip(";");
whichImports.push(token3);
}
function parseSyntax() {
skip("=");
edition = readString();
if (edition < 2023)
throw illegal(edition, "syntax");
skip(";");
}
function parseEdition() {
skip("=");
edition = readString();
const supportedEditions = ["2023"];
if (!supportedEditions.includes(edition))
throw illegal(edition, "edition");
skip(";");
}
function parseCommon(parent, token3) {
switch (token3) {
case "option":
parseOption(parent, token3);
skip(";");
return true;
case "message":
parseType(parent, token3);
return true;
case "enum":
parseEnum(parent, token3);
return true;
case "service":
parseService(parent, token3);
return true;
case "extend":
parseExtension(parent, token3);
return true;
}
return false;
}
function ifBlock(obj, fnIf, fnElse) {
var trailingLine = tn.line;
if (obj) {
if (typeof obj.comment !== "string") {
obj.comment = cmnt();
}
obj.filename = parse8.filename;
}
if (skip("{", true)) {
var token3;
while ((token3 = next()) !== "}")
fnIf(token3);
skip(";", true);
} else {
if (fnElse)
fnElse();
skip(";");
if (obj && (typeof obj.comment !== "string" || preferTrailingComment))
obj.comment = cmnt(trailingLine) || obj.comment;
}
}
function parseType(parent, token3) {
if (!nameRe.test(token3 = next()))
throw illegal(token3, "type name");
var type2 = new Type2(token3);
ifBlock(type2, function parseType_block(token4) {
if (parseCommon(type2, token4))
return;
switch (token4) {
case "map":
parseMapField(type2, token4);
break;
case "required":
if (edition !== "proto2")
throw illegal(token4);
/* eslint-disable no-fallthrough */
case "repeated":
parseField(type2, token4);
break;
case "optional":
if (edition === "proto3") {
parseField(type2, "proto3_optional");
} else if (edition !== "proto2") {
throw illegal(token4);
} else {
parseField(type2, "optional");
}
break;
case "oneof":
parseOneOf(type2, token4);
break;
case "extensions":
readRanges(type2.extensions || (type2.extensions = []));
break;
case "reserved":
readRanges(type2.reserved || (type2.reserved = []), true);
break;
default:
if (edition === "proto2" || !typeRefRe.test(token4)) {
throw illegal(token4);
}
push(token4);
parseField(type2, "optional");
break;
}
});
parent.add(type2);
if (parent === ptr) {
topLevelObjects.push(type2);
}
}
function parseField(parent, rule, extend4) {
var type2 = next();
if (type2 === "group") {
parseGroup(parent, rule);
return;
}
while (type2.endsWith(".") || peek().startsWith(".")) {
type2 += next();
}
if (!typeRefRe.test(type2))
throw illegal(type2, "type");
var name3 = next();
if (!nameRe.test(name3))
throw illegal(name3, "name");
name3 = applyCase(name3);
skip("=");
var field = new Field(name3, parseId(next()), type2, rule, extend4);
ifBlock(field, function parseField_block(token3) {
if (token3 === "option") {
parseOption(field, token3);
skip(";");
} else
throw illegal(token3);
}, function parseField_line() {
parseInlineOptions(field);
});
if (rule === "proto3_optional") {
var oneof = new OneOf("_" + name3);
field.setOption("proto3_optional", true);
oneof.add(field);
parent.add(oneof);
} else {
parent.add(field);
}
if (parent === ptr) {
topLevelObjects.push(field);
}
}
function parseGroup(parent, rule) {
if (edition >= 2023) {
throw illegal("group");
}
var name3 = next();
if (!nameRe.test(name3))
throw illegal(name3, "name");
var fieldName = util2.lcFirst(name3);
if (name3 === fieldName)
name3 = util2.ucFirst(name3);
skip("=");
var id = parseId(next());
var type2 = new Type2(name3);
type2.group = true;
var field = new Field(fieldName, id, name3, rule);
field.filename = parse8.filename;
ifBlock(type2, function parseGroup_block(token3) {
switch (token3) {
case "option":
parseOption(type2, token3);
skip(";");
break;
case "required":
case "repeated":
parseField(type2, token3);
break;
case "optional":
if (edition === "proto3") {
parseField(type2, "proto3_optional");
} else {
parseField(type2, "optional");
}
break;
case "message":
parseType(type2, token3);
break;
case "enum":
parseEnum(type2, token3);
break;
case "reserved":
readRanges(type2.reserved || (type2.reserved = []), true);
break;
/* istanbul ignore next */
default:
throw illegal(token3);
}
});
parent.add(type2).add(field);
}
function parseMapField(parent) {
skip("<");
var keyType = next();
if (types3.mapKey[keyType] === void 0)
throw illegal(keyType, "type");
skip(",");
var valueType = next();
if (!typeRefRe.test(valueType))
throw illegal(valueType, "type");
skip(">");
var name3 = next();
if (!nameRe.test(name3))
throw illegal(name3, "name");
skip("=");
var field = new MapField(applyCase(name3), parseId(next()), keyType, valueType);
ifBlock(field, function parseMapField_block(token3) {
if (token3 === "option") {
parseOption(field, token3);
skip(";");
} else
throw illegal(token3);
}, function parseMapField_line() {
parseInlineOptions(field);
});
parent.add(field);
}
function parseOneOf(parent, token3) {
if (!nameRe.test(token3 = next()))
throw illegal(token3, "name");
var oneof = new OneOf(applyCase(token3));
ifBlock(oneof, function parseOneOf_block(token4) {
if (token4 === "option") {
parseOption(oneof, token4);
skip(";");
} else {
push(token4);
parseField(oneof, "optional");
}
});
parent.add(oneof);
}
function parseEnum(parent, token3) {
if (!nameRe.test(token3 = next()))
throw illegal(token3, "name");
var enm = new Enum(token3);
ifBlock(enm, function parseEnum_block(token4) {
switch (token4) {
case "option":
parseOption(enm, token4);
skip(";");
break;
case "reserved":
readRanges(enm.reserved || (enm.reserved = []), true);
if (enm.reserved === void 0) enm.reserved = [];
break;
default:
parseEnumValue(enm, token4);
}
});
parent.add(enm);
if (parent === ptr) {
topLevelObjects.push(enm);
}
}
function parseEnumValue(parent, token3) {
if (!nameRe.test(token3))
throw illegal(token3, "name");
skip("=");
var value = parseId(next(), true), dummy = {
options: void 0
};
dummy.getOption = function(name3) {
return this.options[name3];
};
dummy.setOption = function(name3, value2) {
ReflectionObject.prototype.setOption.call(dummy, name3, value2);
};
dummy.setParsedOption = function() {
return void 0;
};
ifBlock(dummy, function parseEnumValue_block(token4) {
if (token4 === "option") {
parseOption(dummy, token4);
skip(";");
} else
throw illegal(token4);
}, function parseEnumValue_line() {
parseInlineOptions(dummy);
});
parent.add(token3, value, dummy.comment, dummy.parsedOptions || dummy.options);
}
function parseOption(parent, token3) {
var option2;
var propName;
var isOption = true;
if (token3 === "option") {
token3 = next();
}
while (token3 !== "=") {
if (token3 === "(") {
var parensValue = next();
skip(")");
token3 = "(" + parensValue + ")";
}
if (isOption) {
isOption = false;
if (token3.includes(".") && !token3.includes("(")) {
var tokens = token3.split(".");
option2 = tokens[0] + ".";
token3 = tokens[1];
continue;
}
option2 = token3;
} else {
propName = propName ? propName += token3 : token3;
}
token3 = next();
}
var name3 = propName ? option2.concat(propName) : option2;
var optionValue = parseOptionValue(parent, name3);
propName = propName && propName[0] === "." ? propName.slice(1) : propName;
option2 = option2 && option2[option2.length - 1] === "." ? option2.slice(0, -1) : option2;
setParsedOption(parent, option2, optionValue, propName);
}
function parseOptionValue(parent, name3) {
if (skip("{", true)) {
var objectResult = {};
while (!skip("}", true)) {
if (!nameRe.test(token2 = next())) {
throw illegal(token2, "name");
}
if (token2 === null) {
throw illegal(token2, "end of input");
}
var value;
var propName = token2;
skip(":", true);
if (peek() === "{") {
value = parseOptionValue(parent, name3 + "." + token2);
} else if (peek() === "[") {
value = [];
var lastValue;
if (skip("[", true)) {
do {
lastValue = readValue(true);
value.push(lastValue);
} while (skip(",", true));
skip("]");
if (typeof lastValue !== "undefined") {
setOption(parent, name3 + "." + token2, lastValue);
}
}
} else {
value = readValue(true);
setOption(parent, name3 + "." + token2, value);
}
var prevValue = objectResult[propName];
if (prevValue)
value = [].concat(prevValue).concat(value);
objectResult[propName] = value;
skip(",", true);
skip(";", true);
}
return objectResult;
}
var simpleValue = readValue(true);
setOption(parent, name3, simpleValue);
return simpleValue;
}
function setOption(parent, name3, value) {
if (ptr === parent && /^features\./.test(name3)) {
topLevelOptions[name3] = value;
return;
}
if (parent.setOption)
parent.setOption(name3, value);
}
function setParsedOption(parent, name3, value, propName) {
if (parent.setParsedOption)
parent.setParsedOption(name3, value, propName);
}
function parseInlineOptions(parent) {
if (skip("[", true)) {
do {
parseOption(parent, "option");
} while (skip(",", true));
skip("]");
}
return parent;
}
function parseService(parent, token3) {
if (!nameRe.test(token3 = next()))
throw illegal(token3, "service name");
var service = new Service(token3);
ifBlock(service, function parseService_block(token4) {
if (parseCommon(service, token4)) {
return;
}
if (token4 === "rpc")
parseMethod(service, token4);
else
throw illegal(token4);
});
parent.add(service);
if (parent === ptr) {
topLevelObjects.push(service);
}
}
function parseMethod(parent, token3) {
var commentText = cmnt();
var type2 = token3;
if (!nameRe.test(token3 = next()))
throw illegal(token3, "name");
var name3 = token3, requestType, requestStream, responseType, responseStream;
skip("(");
if (skip("stream", true))
requestStream = true;
if (!typeRefRe.test(token3 = next()))
throw illegal(token3);
requestType = token3;
skip(")");
skip("returns");
skip("(");
if (skip("stream", true))
responseStream = true;
if (!typeRefRe.test(token3 = next()))
throw illegal(token3);
responseType = token3;
skip(")");
var method = new Method(name3, type2, requestType, responseType, requestStream, responseStream);
method.comment = commentText;
ifBlock(method, function parseMethod_block(token4) {
if (token4 === "option") {
parseOption(method, token4);
skip(";");
} else
throw illegal(token4);
});
parent.add(method);
}
function parseExtension(parent, token3) {
if (!typeRefRe.test(token3 = next()))
throw illegal(token3, "reference");
var reference = token3;
ifBlock(null, function parseExtension_block(token4) {
switch (token4) {
case "required":
case "repeated":
parseField(parent, token4, reference);
break;
case "optional":
if (edition === "proto3") {
parseField(parent, "proto3_optional", reference);
} else {
parseField(parent, "optional", reference);
}
break;
default:
if (edition === "proto2" || !typeRefRe.test(token4))
throw illegal(token4);
push(token4);
parseField(parent, "optional", reference);
break;
}
});
}
var token2;
while ((token2 = next()) !== null) {
switch (token2) {
case "package":
if (!head)
throw illegal(token2);
parsePackage();
break;
case "import":
if (!head)
throw illegal(token2);
parseImport();
break;
case "syntax":
if (!head)
throw illegal(token2);
parseSyntax();
break;
case "edition":
if (!head)
throw illegal(token2);
parseEdition();
break;
case "option":
parseOption(ptr, token2);
skip(";", true);
break;
default:
if (parseCommon(ptr, token2)) {
head = false;
continue;
}
throw illegal(token2);
}
}
resolveFileFeatures();
parse8.filename = null;
return {
"package": pkg2,
"imports": imports,
weakImports,
root
};
}
}
});
// node_modules/protobufjs/src/common.js
var require_common2 = __commonJS({
"node_modules/protobufjs/src/common.js"(exports2, module2) {
"use strict";
module2.exports = common3;
var commonRe = /\/|\./;
function common3(name3, json3) {
if (!commonRe.test(name3)) {
name3 = "google/protobuf/" + name3 + ".proto";
json3 = { nested: { google: { nested: { protobuf: { nested: json3 } } } } };
}
common3[name3] = json3;
}
common3("any", {
/**
* Properties of a google.protobuf.Any message.
* @interface IAny
* @type {Object}
* @property {string} [typeUrl]
* @property {Uint8Array} [bytes]
* @memberof common
*/
Any: {
fields: {
type_url: {
type: "string",
id: 1
},
value: {
type: "bytes",
id: 2
}
}
}
});
var timeType;
common3("duration", {
/**
* Properties of a google.protobuf.Duration message.
* @interface IDuration
* @type {Object}
* @property {number|Long} [seconds]
* @property {number} [nanos]
* @memberof common
*/
Duration: timeType = {
fields: {
seconds: {
type: "int64",
id: 1
},
nanos: {
type: "int32",
id: 2
}
}
}
});
common3("timestamp", {
/**
* Properties of a google.protobuf.Timestamp message.
* @interface ITimestamp
* @type {Object}
* @property {number|Long} [seconds]
* @property {number} [nanos]
* @memberof common
*/
Timestamp: timeType
});
common3("empty", {
/**
* Properties of a google.protobuf.Empty message.
* @interface IEmpty
* @memberof common
*/
Empty: {
fields: {}
}
});
common3("struct", {
/**
* Properties of a google.protobuf.Struct message.
* @interface IStruct
* @type {Object}
* @property {Object.<string,IValue>} [fields]
* @memberof common
*/
Struct: {
fields: {
fields: {
keyType: "string",
type: "Value",
id: 1
}
}
},
/**
* Properties of a google.protobuf.Value message.
* @interface IValue
* @type {Object}
* @property {string} [kind]
* @property {0} [nullValue]
* @property {number} [numberValue]
* @property {string} [stringValue]
* @property {boolean} [boolValue]
* @property {IStruct} [structValue]
* @property {IListValue} [listValue]
* @memberof common
*/
Value: {
oneofs: {
kind: {
oneof: [
"nullValue",
"numberValue",
"stringValue",
"boolValue",
"structValue",
"listValue"
]
}
},
fields: {
nullValue: {
type: "NullValue",
id: 1
},
numberValue: {
type: "double",
id: 2
},
stringValue: {
type: "string",
id: 3
},
boolValue: {
type: "bool",
id: 4
},
structValue: {
type: "Struct",
id: 5
},
listValue: {
type: "ListValue",
id: 6
}
}
},
NullValue: {
values: {
NULL_VALUE: 0
}
},
/**
* Properties of a google.protobuf.ListValue message.
* @interface IListValue
* @type {Object}
* @property {Array.<IValue>} [values]
* @memberof common
*/
ListValue: {
fields: {
values: {
rule: "repeated",
type: "Value",
id: 1
}
}
}
});
common3("wrappers", {
/**
* Properties of a google.protobuf.DoubleValue message.
* @interface IDoubleValue
* @type {Object}
* @property {number} [value]
* @memberof common
*/
DoubleValue: {
fields: {
value: {
type: "double",
id: 1
}
}
},
/**
* Properties of a google.protobuf.FloatValue message.
* @interface IFloatValue
* @type {Object}
* @property {number} [value]
* @memberof common
*/
FloatValue: {
fields: {
value: {
type: "float",
id: 1
}
}
},
/**
* Properties of a google.protobuf.Int64Value message.
* @interface IInt64Value
* @type {Object}
* @property {number|Long} [value]
* @memberof common
*/
Int64Value: {
fields: {
value: {
type: "int64",
id: 1
}
}
},
/**
* Properties of a google.protobuf.UInt64Value message.
* @interface IUInt64Value
* @type {Object}
* @property {number|Long} [value]
* @memberof common
*/
UInt64Value: {
fields: {
value: {
type: "uint64",
id: 1
}
}
},
/**
* Properties of a google.protobuf.Int32Value message.
* @interface IInt32Value
* @type {Object}
* @property {number} [value]
* @memberof common
*/
Int32Value: {
fields: {
value: {
type: "int32",
id: 1
}
}
},
/**
* Properties of a google.protobuf.UInt32Value message.
* @interface IUInt32Value
* @type {Object}
* @property {number} [value]
* @memberof common
*/
UInt32Value: {
fields: {
value: {
type: "uint32",
id: 1
}
}
},
/**
* Properties of a google.protobuf.BoolValue message.
* @interface IBoolValue
* @type {Object}
* @property {boolean} [value]
* @memberof common
*/
BoolValue: {
fields: {
value: {
type: "bool",
id: 1
}
}
},
/**
* Properties of a google.protobuf.StringValue message.
* @interface IStringValue
* @type {Object}
* @property {string} [value]
* @memberof common
*/
StringValue: {
fields: {
value: {
type: "string",
id: 1
}
}
},
/**
* Properties of a google.protobuf.BytesValue message.
* @interface IBytesValue
* @type {Object}
* @property {Uint8Array} [value]
* @memberof common
*/
BytesValue: {
fields: {
value: {
type: "bytes",
id: 1
}
}
}
});
common3("field_mask", {
/**
* Properties of a google.protobuf.FieldMask message.
* @interface IDoubleValue
* @type {Object}
* @property {number} [value]
* @memberof common
*/
FieldMask: {
fields: {
paths: {
rule: "repeated",
type: "string",
id: 1
}
}
}
});
common3.get = function get2(file2) {
return common3[file2] || null;
};
}
});
// node_modules/protobufjs/src/index.js
var require_src9 = __commonJS({
"node_modules/protobufjs/src/index.js"(exports2, module2) {
"use strict";
var protobuf = module2.exports = require_index_light();
protobuf.build = "full";
protobuf.tokenize = require_tokenize();
protobuf.parse = require_parse3();
protobuf.common = require_common2();
protobuf.Root._configure(protobuf.Type, protobuf.parse, protobuf.common);
}
});
// node_modules/protobufjs/index.js
var require_protobufjs = __commonJS({
"node_modules/protobufjs/index.js"(exports2, module2) {
"use strict";
module2.exports = require_src9();
}
});
// node_modules/protobufjs/google/protobuf/descriptor.json
var require_descriptor = __commonJS({
"node_modules/protobufjs/google/protobuf/descriptor.json"(exports2, module2) {
module2.exports = {
nested: {
google: {
nested: {
protobuf: {
options: {
go_package: "google.golang.org/protobuf/types/descriptorpb",
java_package: "com.google.protobuf",
java_outer_classname: "DescriptorProtos",
csharp_namespace: "Google.Protobuf.Reflection",
objc_class_prefix: "GPB",
cc_enable_arenas: true,
optimize_for: "SPEED"
},
nested: {
FileDescriptorSet: {
edition: "proto2",
fields: {
file: {
rule: "repeated",
type: "FileDescriptorProto",
id: 1
}
},
extensions: [
[
536e6,
536e6
]
]
},
Edition: {
edition: "proto2",
values: {
EDITION_UNKNOWN: 0,
EDITION_LEGACY: 900,
EDITION_PROTO2: 998,
EDITION_PROTO3: 999,
EDITION_2023: 1e3,
EDITION_2024: 1001,
EDITION_1_TEST_ONLY: 1,
EDITION_2_TEST_ONLY: 2,
EDITION_99997_TEST_ONLY: 99997,
EDITION_99998_TEST_ONLY: 99998,
EDITION_99999_TEST_ONLY: 99999,
EDITION_MAX: 2147483647
}
},
FileDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
package: {
type: "string",
id: 2
},
dependency: {
rule: "repeated",
type: "string",
id: 3
},
publicDependency: {
rule: "repeated",
type: "int32",
id: 10
},
weakDependency: {
rule: "repeated",
type: "int32",
id: 11
},
optionDependency: {
rule: "repeated",
type: "string",
id: 15
},
messageType: {
rule: "repeated",
type: "DescriptorProto",
id: 4
},
enumType: {
rule: "repeated",
type: "EnumDescriptorProto",
id: 5
},
service: {
rule: "repeated",
type: "ServiceDescriptorProto",
id: 6
},
extension: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 7
},
options: {
type: "FileOptions",
id: 8
},
sourceCodeInfo: {
type: "SourceCodeInfo",
id: 9
},
syntax: {
type: "string",
id: 12
},
edition: {
type: "Edition",
id: 14
}
}
},
DescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
field: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 2
},
extension: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 6
},
nestedType: {
rule: "repeated",
type: "DescriptorProto",
id: 3
},
enumType: {
rule: "repeated",
type: "EnumDescriptorProto",
id: 4
},
extensionRange: {
rule: "repeated",
type: "ExtensionRange",
id: 5
},
oneofDecl: {
rule: "repeated",
type: "OneofDescriptorProto",
id: 8
},
options: {
type: "MessageOptions",
id: 7
},
reservedRange: {
rule: "repeated",
type: "ReservedRange",
id: 9
},
reservedName: {
rule: "repeated",
type: "string",
id: 10
},
visibility: {
type: "SymbolVisibility",
id: 11
}
},
nested: {
ExtensionRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
},
options: {
type: "ExtensionRangeOptions",
id: 3
}
}
},
ReservedRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
}
}
}
}
},
ExtensionRangeOptions: {
edition: "proto2",
fields: {
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
},
declaration: {
rule: "repeated",
type: "Declaration",
id: 2,
options: {
retention: "RETENTION_SOURCE"
}
},
features: {
type: "FeatureSet",
id: 50
},
verification: {
type: "VerificationState",
id: 3,
options: {
default: "UNVERIFIED",
retention: "RETENTION_SOURCE"
}
}
},
extensions: [
[
1e3,
536870911
]
],
nested: {
Declaration: {
fields: {
number: {
type: "int32",
id: 1
},
fullName: {
type: "string",
id: 2
},
type: {
type: "string",
id: 3
},
reserved: {
type: "bool",
id: 5
},
repeated: {
type: "bool",
id: 6
}
},
reserved: [
[
4,
4
]
]
},
VerificationState: {
values: {
DECLARATION: 0,
UNVERIFIED: 1
}
}
}
},
FieldDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
number: {
type: "int32",
id: 3
},
label: {
type: "Label",
id: 4
},
type: {
type: "Type",
id: 5
},
typeName: {
type: "string",
id: 6
},
extendee: {
type: "string",
id: 2
},
defaultValue: {
type: "string",
id: 7
},
oneofIndex: {
type: "int32",
id: 9
},
jsonName: {
type: "string",
id: 10
},
options: {
type: "FieldOptions",
id: 8
},
proto3Optional: {
type: "bool",
id: 17
}
},
nested: {
Type: {
values: {
TYPE_DOUBLE: 1,
TYPE_FLOAT: 2,
TYPE_INT64: 3,
TYPE_UINT64: 4,
TYPE_INT32: 5,
TYPE_FIXED64: 6,
TYPE_FIXED32: 7,
TYPE_BOOL: 8,
TYPE_STRING: 9,
TYPE_GROUP: 10,
TYPE_MESSAGE: 11,
TYPE_BYTES: 12,
TYPE_UINT32: 13,
TYPE_ENUM: 14,
TYPE_SFIXED32: 15,
TYPE_SFIXED64: 16,
TYPE_SINT32: 17,
TYPE_SINT64: 18
}
},
Label: {
values: {
LABEL_OPTIONAL: 1,
LABEL_REPEATED: 3,
LABEL_REQUIRED: 2
}
}
}
},
OneofDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
options: {
type: "OneofOptions",
id: 2
}
}
},
EnumDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
value: {
rule: "repeated",
type: "EnumValueDescriptorProto",
id: 2
},
options: {
type: "EnumOptions",
id: 3
},
reservedRange: {
rule: "repeated",
type: "EnumReservedRange",
id: 4
},
reservedName: {
rule: "repeated",
type: "string",
id: 5
},
visibility: {
type: "SymbolVisibility",
id: 6
}
},
nested: {
EnumReservedRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
}
}
}
}
},
EnumValueDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
number: {
type: "int32",
id: 2
},
options: {
type: "EnumValueOptions",
id: 3
}
}
},
ServiceDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
method: {
rule: "repeated",
type: "MethodDescriptorProto",
id: 2
},
options: {
type: "ServiceOptions",
id: 3
}
}
},
MethodDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
inputType: {
type: "string",
id: 2
},
outputType: {
type: "string",
id: 3
},
options: {
type: "MethodOptions",
id: 4
},
clientStreaming: {
type: "bool",
id: 5
},
serverStreaming: {
type: "bool",
id: 6
}
}
},
FileOptions: {
edition: "proto2",
fields: {
javaPackage: {
type: "string",
id: 1
},
javaOuterClassname: {
type: "string",
id: 8
},
javaMultipleFiles: {
type: "bool",
id: 10
},
javaGenerateEqualsAndHash: {
type: "bool",
id: 20,
options: {
deprecated: true
}
},
javaStringCheckUtf8: {
type: "bool",
id: 27
},
optimizeFor: {
type: "OptimizeMode",
id: 9,
options: {
default: "SPEED"
}
},
goPackage: {
type: "string",
id: 11
},
ccGenericServices: {
type: "bool",
id: 16
},
javaGenericServices: {
type: "bool",
id: 17
},
pyGenericServices: {
type: "bool",
id: 18
},
deprecated: {
type: "bool",
id: 23
},
ccEnableArenas: {
type: "bool",
id: 31,
options: {
default: true
}
},
objcClassPrefix: {
type: "string",
id: 36
},
csharpNamespace: {
type: "string",
id: 37
},
swiftPrefix: {
type: "string",
id: 39
},
phpClassPrefix: {
type: "string",
id: 40
},
phpNamespace: {
type: "string",
id: 41
},
phpMetadataNamespace: {
type: "string",
id: 44
},
rubyPackage: {
type: "string",
id: 45
},
features: {
type: "FeatureSet",
id: 50
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
42,
42
],
"php_generic_services",
[
38,
38
]
],
nested: {
OptimizeMode: {
values: {
SPEED: 1,
CODE_SIZE: 2,
LITE_RUNTIME: 3
}
}
}
},
MessageOptions: {
edition: "proto2",
fields: {
messageSetWireFormat: {
type: "bool",
id: 1
},
noStandardDescriptorAccessor: {
type: "bool",
id: 2
},
deprecated: {
type: "bool",
id: 3
},
mapEntry: {
type: "bool",
id: 7
},
deprecatedLegacyJsonFieldConflicts: {
type: "bool",
id: 11,
options: {
deprecated: true
}
},
features: {
type: "FeatureSet",
id: 12
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
4,
4
],
[
5,
5
],
[
6,
6
],
[
8,
8
],
[
9,
9
]
]
},
FieldOptions: {
edition: "proto2",
fields: {
ctype: {
type: "CType",
id: 1,
options: {
default: "STRING"
}
},
packed: {
type: "bool",
id: 2
},
jstype: {
type: "JSType",
id: 6,
options: {
default: "JS_NORMAL"
}
},
lazy: {
type: "bool",
id: 5
},
unverifiedLazy: {
type: "bool",
id: 15
},
deprecated: {
type: "bool",
id: 3
},
weak: {
type: "bool",
id: 10,
options: {
deprecated: true
}
},
debugRedact: {
type: "bool",
id: 16
},
retention: {
type: "OptionRetention",
id: 17
},
targets: {
rule: "repeated",
type: "OptionTargetType",
id: 19
},
editionDefaults: {
rule: "repeated",
type: "EditionDefault",
id: 20
},
features: {
type: "FeatureSet",
id: 21
},
featureSupport: {
type: "FeatureSupport",
id: 22
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
4,
4
],
[
18,
18
]
],
nested: {
CType: {
values: {
STRING: 0,
CORD: 1,
STRING_PIECE: 2
}
},
JSType: {
values: {
JS_NORMAL: 0,
JS_STRING: 1,
JS_NUMBER: 2
}
},
OptionRetention: {
values: {
RETENTION_UNKNOWN: 0,
RETENTION_RUNTIME: 1,
RETENTION_SOURCE: 2
}
},
OptionTargetType: {
values: {
TARGET_TYPE_UNKNOWN: 0,
TARGET_TYPE_FILE: 1,
TARGET_TYPE_EXTENSION_RANGE: 2,
TARGET_TYPE_MESSAGE: 3,
TARGET_TYPE_FIELD: 4,
TARGET_TYPE_ONEOF: 5,
TARGET_TYPE_ENUM: 6,
TARGET_TYPE_ENUM_ENTRY: 7,
TARGET_TYPE_SERVICE: 8,
TARGET_TYPE_METHOD: 9
}
},
EditionDefault: {
fields: {
edition: {
type: "Edition",
id: 3
},
value: {
type: "string",
id: 2
}
}
},
FeatureSupport: {
fields: {
editionIntroduced: {
type: "Edition",
id: 1
},
editionDeprecated: {
type: "Edition",
id: 2
},
deprecationWarning: {
type: "string",
id: 3
},
editionRemoved: {
type: "Edition",
id: 4
}
}
}
}
},
OneofOptions: {
edition: "proto2",
fields: {
features: {
type: "FeatureSet",
id: 1
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
EnumOptions: {
edition: "proto2",
fields: {
allowAlias: {
type: "bool",
id: 2
},
deprecated: {
type: "bool",
id: 3
},
deprecatedLegacyJsonFieldConflicts: {
type: "bool",
id: 6,
options: {
deprecated: true
}
},
features: {
type: "FeatureSet",
id: 7
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
5,
5
]
]
},
EnumValueOptions: {
edition: "proto2",
fields: {
deprecated: {
type: "bool",
id: 1
},
features: {
type: "FeatureSet",
id: 2
},
debugRedact: {
type: "bool",
id: 3
},
featureSupport: {
type: "FieldOptions.FeatureSupport",
id: 4
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
ServiceOptions: {
edition: "proto2",
fields: {
features: {
type: "FeatureSet",
id: 34
},
deprecated: {
type: "bool",
id: 33
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
MethodOptions: {
edition: "proto2",
fields: {
deprecated: {
type: "bool",
id: 33
},
idempotencyLevel: {
type: "IdempotencyLevel",
id: 34,
options: {
default: "IDEMPOTENCY_UNKNOWN"
}
},
features: {
type: "FeatureSet",
id: 35
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
nested: {
IdempotencyLevel: {
values: {
IDEMPOTENCY_UNKNOWN: 0,
NO_SIDE_EFFECTS: 1,
IDEMPOTENT: 2
}
}
}
},
UninterpretedOption: {
edition: "proto2",
fields: {
name: {
rule: "repeated",
type: "NamePart",
id: 2
},
identifierValue: {
type: "string",
id: 3
},
positiveIntValue: {
type: "uint64",
id: 4
},
negativeIntValue: {
type: "int64",
id: 5
},
doubleValue: {
type: "double",
id: 6
},
stringValue: {
type: "bytes",
id: 7
},
aggregateValue: {
type: "string",
id: 8
}
},
nested: {
NamePart: {
fields: {
namePart: {
rule: "required",
type: "string",
id: 1
},
isExtension: {
rule: "required",
type: "bool",
id: 2
}
}
}
}
},
FeatureSet: {
edition: "proto2",
fields: {
fieldPresence: {
type: "FieldPresence",
id: 1,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_2023",
"edition_defaults.value": "EXPLICIT"
}
},
enumType: {
type: "EnumType",
id: 2,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "OPEN"
}
},
repeatedFieldEncoding: {
type: "RepeatedFieldEncoding",
id: 3,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "PACKED"
}
},
utf8Validation: {
type: "Utf8Validation",
id: 4,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "VERIFY"
}
},
messageEncoding: {
type: "MessageEncoding",
id: 5,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_LEGACY",
"edition_defaults.value": "LENGTH_PREFIXED"
}
},
jsonFormat: {
type: "JsonFormat",
id: 6,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "ALLOW"
}
},
enforceNamingStyle: {
type: "EnforceNamingStyle",
id: 7,
options: {
retention: "RETENTION_SOURCE",
targets: "TARGET_TYPE_METHOD",
"feature_support.edition_introduced": "EDITION_2024",
"edition_defaults.edition": "EDITION_2024",
"edition_defaults.value": "STYLE2024"
}
},
defaultSymbolVisibility: {
type: "VisibilityFeature.DefaultSymbolVisibility",
id: 8,
options: {
retention: "RETENTION_SOURCE",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2024",
"edition_defaults.edition": "EDITION_2024",
"edition_defaults.value": "EXPORT_TOP_LEVEL"
}
}
},
extensions: [
[
1e3,
9994
],
[
9995,
9999
],
[
1e4,
1e4
]
],
reserved: [
[
999,
999
]
],
nested: {
FieldPresence: {
values: {
FIELD_PRESENCE_UNKNOWN: 0,
EXPLICIT: 1,
IMPLICIT: 2,
LEGACY_REQUIRED: 3
}
},
EnumType: {
values: {
ENUM_TYPE_UNKNOWN: 0,
OPEN: 1,
CLOSED: 2
}
},
RepeatedFieldEncoding: {
values: {
REPEATED_FIELD_ENCODING_UNKNOWN: 0,
PACKED: 1,
EXPANDED: 2
}
},
Utf8Validation: {
values: {
UTF8_VALIDATION_UNKNOWN: 0,
VERIFY: 2,
NONE: 3
}
},
MessageEncoding: {
values: {
MESSAGE_ENCODING_UNKNOWN: 0,
LENGTH_PREFIXED: 1,
DELIMITED: 2
}
},
JsonFormat: {
values: {
JSON_FORMAT_UNKNOWN: 0,
ALLOW: 1,
LEGACY_BEST_EFFORT: 2
}
},
EnforceNamingStyle: {
values: {
ENFORCE_NAMING_STYLE_UNKNOWN: 0,
STYLE2024: 1,
STYLE_LEGACY: 2
}
},
VisibilityFeature: {
fields: {},
reserved: [
[
1,
536870911
]
],
nested: {
DefaultSymbolVisibility: {
values: {
DEFAULT_SYMBOL_VISIBILITY_UNKNOWN: 0,
EXPORT_ALL: 1,
EXPORT_TOP_LEVEL: 2,
LOCAL_ALL: 3,
STRICT: 4
}
}
}
}
}
},
FeatureSetDefaults: {
edition: "proto2",
fields: {
defaults: {
rule: "repeated",
type: "FeatureSetEditionDefault",
id: 1
},
minimumEdition: {
type: "Edition",
id: 4
},
maximumEdition: {
type: "Edition",
id: 5
}
},
nested: {
FeatureSetEditionDefault: {
fields: {
edition: {
type: "Edition",
id: 3
},
overridableFeatures: {
type: "FeatureSet",
id: 4
},
fixedFeatures: {
type: "FeatureSet",
id: 5
}
},
reserved: [
[
1,
1
],
[
2,
2
],
"features"
]
}
}
},
SourceCodeInfo: {
edition: "proto2",
fields: {
location: {
rule: "repeated",
type: "Location",
id: 1
}
},
extensions: [
[
536e6,
536e6
]
],
nested: {
Location: {
fields: {
path: {
rule: "repeated",
type: "int32",
id: 1,
options: {
packed: true
}
},
span: {
rule: "repeated",
type: "int32",
id: 2,
options: {
packed: true
}
},
leadingComments: {
type: "string",
id: 3
},
trailingComments: {
type: "string",
id: 4
},
leadingDetachedComments: {
rule: "repeated",
type: "string",
id: 6
}
}
}
}
},
GeneratedCodeInfo: {
edition: "proto2",
fields: {
annotation: {
rule: "repeated",
type: "Annotation",
id: 1
}
},
nested: {
Annotation: {
fields: {
path: {
rule: "repeated",
type: "int32",
id: 1,
options: {
packed: true
}
},
sourceFile: {
type: "string",
id: 2
},
begin: {
type: "int32",
id: 3
},
end: {
type: "int32",
id: 4
},
semantic: {
type: "Semantic",
id: 5
}
},
nested: {
Semantic: {
values: {
NONE: 0,
SET: 1,
ALIAS: 2
}
}
}
}
}
},
SymbolVisibility: {
edition: "proto2",
values: {
VISIBILITY_UNSET: 0,
VISIBILITY_LOCAL: 1,
VISIBILITY_EXPORT: 2
}
}
}
}
}
}
}
};
}
});
// node_modules/protobufjs/ext/descriptor/index.js
var require_descriptor2 = __commonJS({
"node_modules/protobufjs/ext/descriptor/index.js"(exports2, module2) {
"use strict";
var $protobuf = require_protobufjs();
module2.exports = exports2 = $protobuf.descriptor = $protobuf.Root.fromJSON(require_descriptor()).lookup(".google.protobuf");
var Namespace = $protobuf.Namespace;
var Root2 = $protobuf.Root;
var Enum = $protobuf.Enum;
var Type2 = $protobuf.Type;
var Field = $protobuf.Field;
var MapField = $protobuf.MapField;
var OneOf = $protobuf.OneOf;
var Service = $protobuf.Service;
var Method = $protobuf.Method;
Root2.fromDescriptor = function fromDescriptor(descriptor2) {
if (typeof descriptor2.length === "number")
descriptor2 = exports2.FileDescriptorSet.decode(descriptor2);
var root = new Root2();
if (descriptor2.file) {
var fileDescriptor, filePackage;
for (var j = 0, i3; j < descriptor2.file.length; ++j) {
filePackage = root;
if ((fileDescriptor = descriptor2.file[j])["package"] && fileDescriptor["package"].length)
filePackage = root.define(fileDescriptor["package"]);
var edition = editionFromDescriptor(fileDescriptor);
if (fileDescriptor.name && fileDescriptor.name.length)
root.files.push(filePackage.filename = fileDescriptor.name);
if (fileDescriptor.messageType)
for (i3 = 0; i3 < fileDescriptor.messageType.length; ++i3)
filePackage.add(Type2.fromDescriptor(fileDescriptor.messageType[i3], edition));
if (fileDescriptor.enumType)
for (i3 = 0; i3 < fileDescriptor.enumType.length; ++i3)
filePackage.add(Enum.fromDescriptor(fileDescriptor.enumType[i3], edition));
if (fileDescriptor.extension)
for (i3 = 0; i3 < fileDescriptor.extension.length; ++i3)
filePackage.add(Field.fromDescriptor(fileDescriptor.extension[i3], edition));
if (fileDescriptor.service)
for (i3 = 0; i3 < fileDescriptor.service.length; ++i3)
filePackage.add(Service.fromDescriptor(fileDescriptor.service[i3], edition));
var opts = fromDescriptorOptions(fileDescriptor.options, exports2.FileOptions);
if (opts) {
var ks = Object.keys(opts);
for (i3 = 0; i3 < ks.length; ++i3)
filePackage.setOption(ks[i3], opts[ks[i3]]);
}
}
}
return root.resolveAll();
};
Root2.prototype.toDescriptor = function toDescriptor(edition) {
var set3 = exports2.FileDescriptorSet.create();
Root_toDescriptorRecursive(this, set3.file, edition);
return set3;
};
function Root_toDescriptorRecursive(ns, files, edition) {
var file2 = exports2.FileDescriptorProto.create({ name: ns.filename || (ns.fullName.substring(1).replace(/\./g, "_") || "root") + ".proto" });
editionToDescriptor(edition, file2);
if (!(ns instanceof Root2))
file2["package"] = ns.fullName.substring(1);
for (var i3 = 0, nested; i3 < ns.nestedArray.length; ++i3)
if ((nested = ns._nestedArray[i3]) instanceof Type2)
file2.messageType.push(nested.toDescriptor(edition));
else if (nested instanceof Enum)
file2.enumType.push(nested.toDescriptor());
else if (nested instanceof Field)
file2.extension.push(nested.toDescriptor(edition));
else if (nested instanceof Service)
file2.service.push(nested.toDescriptor());
else if (nested instanceof /* plain */
Namespace)
Root_toDescriptorRecursive(nested, files, edition);
file2.options = toDescriptorOptions(ns.options, exports2.FileOptions);
if (file2.messageType.length + file2.enumType.length + file2.extension.length + file2.service.length)
files.push(file2);
}
var unnamedMessageIndex = 0;
Type2.fromDescriptor = function fromDescriptor(descriptor2, edition, nested) {
if (typeof descriptor2.length === "number")
descriptor2 = exports2.DescriptorProto.decode(descriptor2);
var type2 = new Type2(descriptor2.name.length ? descriptor2.name : "Type" + unnamedMessageIndex++, fromDescriptorOptions(descriptor2.options, exports2.MessageOptions)), i3;
if (!nested)
type2._edition = edition;
if (descriptor2.oneofDecl)
for (i3 = 0; i3 < descriptor2.oneofDecl.length; ++i3)
type2.add(OneOf.fromDescriptor(descriptor2.oneofDecl[i3]));
if (descriptor2.field)
for (i3 = 0; i3 < descriptor2.field.length; ++i3) {
var field = Field.fromDescriptor(descriptor2.field[i3], edition, true);
type2.add(field);
if (descriptor2.field[i3].hasOwnProperty("oneofIndex"))
type2.oneofsArray[descriptor2.field[i3].oneofIndex].add(field);
}
if (descriptor2.extension)
for (i3 = 0; i3 < descriptor2.extension.length; ++i3)
type2.add(Field.fromDescriptor(descriptor2.extension[i3], edition, true));
if (descriptor2.nestedType)
for (i3 = 0; i3 < descriptor2.nestedType.length; ++i3) {
type2.add(Type2.fromDescriptor(descriptor2.nestedType[i3], edition, true));
if (descriptor2.nestedType[i3].options && descriptor2.nestedType[i3].options.mapEntry)
type2.setOption("map_entry", true);
}
if (descriptor2.enumType)
for (i3 = 0; i3 < descriptor2.enumType.length; ++i3)
type2.add(Enum.fromDescriptor(descriptor2.enumType[i3], edition, true));
if (descriptor2.extensionRange && descriptor2.extensionRange.length) {
type2.extensions = [];
for (i3 = 0; i3 < descriptor2.extensionRange.length; ++i3)
type2.extensions.push([descriptor2.extensionRange[i3].start, descriptor2.extensionRange[i3].end]);
}
if (descriptor2.reservedRange && descriptor2.reservedRange.length || descriptor2.reservedName && descriptor2.reservedName.length) {
type2.reserved = [];
if (descriptor2.reservedRange)
for (i3 = 0; i3 < descriptor2.reservedRange.length; ++i3)
type2.reserved.push([descriptor2.reservedRange[i3].start, descriptor2.reservedRange[i3].end]);
if (descriptor2.reservedName)
for (i3 = 0; i3 < descriptor2.reservedName.length; ++i3)
type2.reserved.push(descriptor2.reservedName[i3]);
}
return type2;
};
Type2.prototype.toDescriptor = function toDescriptor(edition) {
var descriptor2 = exports2.DescriptorProto.create({ name: this.name }), i3;
for (i3 = 0; i3 < this.fieldsArray.length; ++i3) {
var fieldDescriptor;
descriptor2.field.push(fieldDescriptor = this._fieldsArray[i3].toDescriptor(edition));
if (this._fieldsArray[i3] instanceof MapField) {
var keyType = toDescriptorType(this._fieldsArray[i3].keyType, this._fieldsArray[i3].resolvedKeyType, false), valueType = toDescriptorType(this._fieldsArray[i3].type, this._fieldsArray[i3].resolvedType, false), valueTypeName = valueType === /* type */
11 || valueType === /* enum */
14 ? this._fieldsArray[i3].resolvedType && shortname(this.parent, this._fieldsArray[i3].resolvedType) || this._fieldsArray[i3].type : void 0;
descriptor2.nestedType.push(exports2.DescriptorProto.create({
name: fieldDescriptor.typeName,
field: [
exports2.FieldDescriptorProto.create({ name: "key", number: 1, label: 1, type: keyType }),
// can't reference a type or enum
exports2.FieldDescriptorProto.create({ name: "value", number: 2, label: 1, type: valueType, typeName: valueTypeName })
],
options: exports2.MessageOptions.create({ mapEntry: true })
}));
}
}
for (i3 = 0; i3 < this.oneofsArray.length; ++i3)
descriptor2.oneofDecl.push(this._oneofsArray[i3].toDescriptor());
for (i3 = 0; i3 < this.nestedArray.length; ++i3) {
if (this._nestedArray[i3] instanceof Field)
descriptor2.field.push(this._nestedArray[i3].toDescriptor(edition));
else if (this._nestedArray[i3] instanceof Type2)
descriptor2.nestedType.push(this._nestedArray[i3].toDescriptor(edition));
else if (this._nestedArray[i3] instanceof Enum)
descriptor2.enumType.push(this._nestedArray[i3].toDescriptor());
}
if (this.extensions)
for (i3 = 0; i3 < this.extensions.length; ++i3)
descriptor2.extensionRange.push(exports2.DescriptorProto.ExtensionRange.create({ start: this.extensions[i3][0], end: this.extensions[i3][1] }));
if (this.reserved)
for (i3 = 0; i3 < this.reserved.length; ++i3)
if (typeof this.reserved[i3] === "string")
descriptor2.reservedName.push(this.reserved[i3]);
else
descriptor2.reservedRange.push(exports2.DescriptorProto.ReservedRange.create({ start: this.reserved[i3][0], end: this.reserved[i3][1] }));
descriptor2.options = toDescriptorOptions(this.options, exports2.MessageOptions);
return descriptor2;
};
var numberRe = /^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/;
Field.fromDescriptor = function fromDescriptor(descriptor2, edition, nested) {
if (typeof descriptor2.length === "number")
descriptor2 = exports2.DescriptorProto.decode(descriptor2);
if (typeof descriptor2.number !== "number")
throw Error("missing field id");
var fieldType;
if (descriptor2.typeName && descriptor2.typeName.length)
fieldType = descriptor2.typeName;
else
fieldType = fromDescriptorType(descriptor2.type);
var fieldRule;
switch (descriptor2.label) {
// 0 is reserved for errors
case 1:
fieldRule = void 0;
break;
case 2:
fieldRule = "required";
break;
case 3:
fieldRule = "repeated";
break;
default:
throw Error("illegal label: " + descriptor2.label);
}
var extendee = descriptor2.extendee;
if (descriptor2.extendee !== void 0) {
extendee = extendee.length ? extendee : void 0;
}
var field = new Field(
descriptor2.name.length ? descriptor2.name : "field" + descriptor2.number,
descriptor2.number,
fieldType,
fieldRule,
extendee
);
if (!nested)
field._edition = edition;
field.options = fromDescriptorOptions(descriptor2.options, exports2.FieldOptions);
if (descriptor2.proto3_optional)
field.options.proto3_optional = true;
if (descriptor2.defaultValue && descriptor2.defaultValue.length) {
var defaultValue = descriptor2.defaultValue;
switch (defaultValue) {
case "true":
case "TRUE":
defaultValue = true;
break;
case "false":
case "FALSE":
defaultValue = false;
break;
default:
var match2 = numberRe.exec(defaultValue);
if (match2)
defaultValue = parseInt(defaultValue);
break;
}
field.setOption("default", defaultValue);
}
if (packableDescriptorType(descriptor2.type)) {
if (edition === "proto3") {
if (descriptor2.options && !descriptor2.options.packed)
field.setOption("packed", false);
} else if ((!edition || edition === "proto2") && descriptor2.options && descriptor2.options.packed)
field.setOption("packed", true);
}
return field;
};
Field.prototype.toDescriptor = function toDescriptor(edition) {
var descriptor2 = exports2.FieldDescriptorProto.create({ name: this.name, number: this.id });
if (this.map) {
descriptor2.type = 11;
descriptor2.typeName = $protobuf.util.ucFirst(this.name);
descriptor2.label = 3;
} else {
switch (descriptor2.type = toDescriptorType(this.type, this.resolve().resolvedType, this.delimited)) {
case 10:
// group
case 11:
// type
case 14:
descriptor2.typeName = this.resolvedType ? shortname(this.parent, this.resolvedType) : this.type;
break;
}
if (this.rule === "repeated") {
descriptor2.label = 3;
} else if (this.required && edition === "proto2") {
descriptor2.label = 2;
} else {
descriptor2.label = 1;
}
}
descriptor2.extendee = this.extensionField ? this.extensionField.parent.fullName : this.extend;
if (this.partOf) {
if ((descriptor2.oneofIndex = this.parent.oneofsArray.indexOf(this.partOf)) < 0)
throw Error("missing oneof");
}
if (this.options) {
descriptor2.options = toDescriptorOptions(this.options, exports2.FieldOptions);
if (this.options["default"] != null)
descriptor2.defaultValue = String(this.options["default"]);
if (this.options.proto3_optional)
descriptor2.proto3_optional = true;
}
if (edition === "proto3") {
if (!this.packed)
(descriptor2.options || (descriptor2.options = exports2.FieldOptions.create())).packed = false;
} else if ((!edition || edition === "proto2") && this.packed)
(descriptor2.options || (descriptor2.options = exports2.FieldOptions.create())).packed = true;
return descriptor2;
};
var unnamedEnumIndex = 0;
Enum.fromDescriptor = function fromDescriptor(descriptor2, edition, nested) {
if (typeof descriptor2.length === "number")
descriptor2 = exports2.EnumDescriptorProto.decode(descriptor2);
var values = {};
if (descriptor2.value)
for (var i3 = 0; i3 < descriptor2.value.length; ++i3) {
var name3 = descriptor2.value[i3].name, value = descriptor2.value[i3].number || 0;
values[name3 && name3.length ? name3 : "NAME" + value] = value;
}
var enm = new Enum(
descriptor2.name && descriptor2.name.length ? descriptor2.name : "Enum" + unnamedEnumIndex++,
values,
fromDescriptorOptions(descriptor2.options, exports2.EnumOptions)
);
if (!nested)
enm._edition = edition;
return enm;
};
Enum.prototype.toDescriptor = function toDescriptor() {
var values = [];
for (var i3 = 0, ks = Object.keys(this.values); i3 < ks.length; ++i3)
values.push(exports2.EnumValueDescriptorProto.create({ name: ks[i3], number: this.values[ks[i3]] }));
return exports2.EnumDescriptorProto.create({
name: this.name,
value: values,
options: toDescriptorOptions(this.options, exports2.EnumOptions)
});
};
var unnamedOneofIndex = 0;
OneOf.fromDescriptor = function fromDescriptor(descriptor2) {
if (typeof descriptor2.length === "number")
descriptor2 = exports2.OneofDescriptorProto.decode(descriptor2);
return new OneOf(
// unnamedOneOfIndex is global, not per type, because we have no ref to a type here
descriptor2.name && descriptor2.name.length ? descriptor2.name : "oneof" + unnamedOneofIndex++
// fromDescriptorOptions(descriptor.options, exports.OneofOptions) - only uninterpreted_option
);
};
OneOf.prototype.toDescriptor = function toDescriptor() {
return exports2.OneofDescriptorProto.create({
name: this.name
// options: toDescriptorOptions(this.options, exports.OneofOptions) - only uninterpreted_option
});
};
var unnamedServiceIndex = 0;
Service.fromDescriptor = function fromDescriptor(descriptor2, edition, nested) {
if (typeof descriptor2.length === "number")
descriptor2 = exports2.ServiceDescriptorProto.decode(descriptor2);
var service = new Service(descriptor2.name && descriptor2.name.length ? descriptor2.name : "Service" + unnamedServiceIndex++, fromDescriptorOptions(descriptor2.options, exports2.ServiceOptions));
if (!nested)
service._edition = edition;
if (descriptor2.method)
for (var i3 = 0; i3 < descriptor2.method.length; ++i3)
service.add(Method.fromDescriptor(descriptor2.method[i3]));
return service;
};
Service.prototype.toDescriptor = function toDescriptor() {
var methods = [];
for (var i3 = 0; i3 < this.methodsArray.length; ++i3)
methods.push(this._methodsArray[i3].toDescriptor());
return exports2.ServiceDescriptorProto.create({
name: this.name,
method: methods,
options: toDescriptorOptions(this.options, exports2.ServiceOptions)
});
};
var unnamedMethodIndex = 0;
Method.fromDescriptor = function fromDescriptor(descriptor2) {
if (typeof descriptor2.length === "number")
descriptor2 = exports2.MethodDescriptorProto.decode(descriptor2);
return new Method(
// unnamedMethodIndex is global, not per service, because we have no ref to a service here
descriptor2.name && descriptor2.name.length ? descriptor2.name : "Method" + unnamedMethodIndex++,
"rpc",
descriptor2.inputType,
descriptor2.outputType,
Boolean(descriptor2.clientStreaming),
Boolean(descriptor2.serverStreaming),
fromDescriptorOptions(descriptor2.options, exports2.MethodOptions)
);
};
Method.prototype.toDescriptor = function toDescriptor() {
return exports2.MethodDescriptorProto.create({
name: this.name,
inputType: this.resolvedRequestType ? this.resolvedRequestType.fullName : this.requestType,
outputType: this.resolvedResponseType ? this.resolvedResponseType.fullName : this.responseType,
clientStreaming: this.requestStream,
serverStreaming: this.responseStream,
options: toDescriptorOptions(this.options, exports2.MethodOptions)
});
};
function fromDescriptorType(type2) {
switch (type2) {
// 0 is reserved for errors
case 1:
return "double";
case 2:
return "float";
case 3:
return "int64";
case 4:
return "uint64";
case 5:
return "int32";
case 6:
return "fixed64";
case 7:
return "fixed32";
case 8:
return "bool";
case 9:
return "string";
case 12:
return "bytes";
case 13:
return "uint32";
case 15:
return "sfixed32";
case 16:
return "sfixed64";
case 17:
return "sint32";
case 18:
return "sint64";
}
throw Error("illegal type: " + type2);
}
function packableDescriptorType(type2) {
switch (type2) {
case 1:
// double
case 2:
// float
case 3:
// int64
case 4:
// uint64
case 5:
// int32
case 6:
// fixed64
case 7:
// fixed32
case 8:
// bool
case 13:
// uint32
case 14:
// enum (!)
case 15:
// sfixed32
case 16:
// sfixed64
case 17:
// sint32
case 18:
return true;
}
return false;
}
function toDescriptorType(type2, resolvedType, delimited) {
switch (type2) {
// 0 is reserved for errors
case "double":
return 1;
case "float":
return 2;
case "int64":
return 3;
case "uint64":
return 4;
case "int32":
return 5;
case "fixed64":
return 6;
case "fixed32":
return 7;
case "bool":
return 8;
case "string":
return 9;
case "bytes":
return 12;
case "uint32":
return 13;
case "sfixed32":
return 15;
case "sfixed64":
return 16;
case "sint32":
return 17;
case "sint64":
return 18;
}
if (resolvedType instanceof Enum)
return 14;
if (resolvedType instanceof Type2)
return delimited ? 10 : 11;
throw Error("illegal type: " + type2);
}
function fromDescriptorOptionsRecursive(obj, type2) {
var val = {};
for (var i3 = 0, field, key; i3 < type2.fieldsArray.length; ++i3) {
if ((key = (field = type2._fieldsArray[i3]).name) === "uninterpretedOption") continue;
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
var newKey = underScore(key);
if (field.resolvedType instanceof Type2) {
val[newKey] = fromDescriptorOptionsRecursive(obj[key], field.resolvedType);
} else if (field.resolvedType instanceof Enum) {
val[newKey] = field.resolvedType.valuesById[obj[key]];
} else {
val[newKey] = obj[key];
}
}
return val;
}
function fromDescriptorOptions(options, type2) {
if (!options)
return void 0;
return fromDescriptorOptionsRecursive(type2.toObject(options), type2);
}
function toDescriptorOptionsRecursive(obj, type2) {
var val = {};
var keys = Object.keys(obj);
for (var i3 = 0; i3 < keys.length; ++i3) {
var key = keys[i3];
var newKey = $protobuf.util.camelCase(key);
if (!Object.prototype.hasOwnProperty.call(type2.fields, newKey)) continue;
var field = type2.fields[newKey];
if (field.resolvedType instanceof Type2) {
val[newKey] = toDescriptorOptionsRecursive(obj[key], field.resolvedType);
} else {
val[newKey] = obj[key];
}
if (field.repeated && !Array.isArray(val[newKey])) {
val[newKey] = [val[newKey]];
}
}
return val;
}
function toDescriptorOptions(options, type2) {
if (!options)
return void 0;
return type2.fromObject(toDescriptorOptionsRecursive(options, type2));
}
function shortname(from, to) {
var fromPath = from.fullName.split("."), toPath5 = to.fullName.split("."), i3 = 0, j = 0, k = toPath5.length - 1;
if (!(from instanceof Root2) && to instanceof Namespace)
while (i3 < fromPath.length && j < k && fromPath[i3] === toPath5[j]) {
var other = to.lookup(fromPath[i3++], true);
if (other !== null && other !== to)
break;
++j;
}
else
for (; i3 < fromPath.length && j < k && fromPath[i3] === toPath5[j]; ++i3, ++j) ;
return toPath5.slice(j).join(".");
}
function underScore(str2) {
return str2.substring(0, 1) + str2.substring(1).replace(/([A-Z])(?=[a-z]|$)/g, function($0, $1) {
return "_" + $1.toLowerCase();
});
}
function editionFromDescriptor(fileDescriptor) {
if (fileDescriptor.syntax === "editions") {
switch (fileDescriptor.edition) {
case exports2.Edition.EDITION_2023:
return "2023";
default:
throw new Error("Unsupported edition " + fileDescriptor.edition);
}
}
if (fileDescriptor.syntax === "proto3") {
return "proto3";
}
return "proto2";
}
function editionToDescriptor(edition, fileDescriptor) {
if (!edition) return;
if (edition === "proto2" || edition === "proto3") {
fileDescriptor.syntax = edition;
} else {
fileDescriptor.syntax = "editions";
switch (edition) {
case "2023":
fileDescriptor.edition = exports2.Edition.EDITION_2023;
break;
default:
throw new Error("Unsupported edition " + edition);
}
}
}
}
});
// node_modules/protobufjs/google/protobuf/api.json
var require_api = __commonJS({
"node_modules/protobufjs/google/protobuf/api.json"(exports2, module2) {
module2.exports = {
nested: {
google: {
nested: {
protobuf: {
nested: {
Api: {
fields: {
name: {
type: "string",
id: 1
},
methods: {
rule: "repeated",
type: "Method",
id: 2
},
options: {
rule: "repeated",
type: "Option",
id: 3
},
version: {
type: "string",
id: 4
},
sourceContext: {
type: "SourceContext",
id: 5
},
mixins: {
rule: "repeated",
type: "Mixin",
id: 6
},
syntax: {
type: "Syntax",
id: 7
}
}
},
Method: {
fields: {
name: {
type: "string",
id: 1
},
requestTypeUrl: {
type: "string",
id: 2
},
requestStreaming: {
type: "bool",
id: 3
},
responseTypeUrl: {
type: "string",
id: 4
},
responseStreaming: {
type: "bool",
id: 5
},
options: {
rule: "repeated",
type: "Option",
id: 6
},
syntax: {
type: "Syntax",
id: 7
}
}
},
Mixin: {
fields: {
name: {
type: "string",
id: 1
},
root: {
type: "string",
id: 2
}
}
},
SourceContext: {
fields: {
fileName: {
type: "string",
id: 1
}
}
},
Option: {
fields: {
name: {
type: "string",
id: 1
},
value: {
type: "Any",
id: 2
}
}
},
Syntax: {
values: {
SYNTAX_PROTO2: 0,
SYNTAX_PROTO3: 1
}
}
}
}
}
}
}
};
}
});
// node_modules/protobufjs/google/protobuf/source_context.json
var require_source_context = __commonJS({
"node_modules/protobufjs/google/protobuf/source_context.json"(exports2, module2) {
module2.exports = {
nested: {
google: {
nested: {
protobuf: {
nested: {
SourceContext: {
fields: {
fileName: {
type: "string",
id: 1
}
}
}
}
}
}
}
}
};
}
});
// node_modules/protobufjs/google/protobuf/type.json
var require_type2 = __commonJS({
"node_modules/protobufjs/google/protobuf/type.json"(exports2, module2) {
module2.exports = {
nested: {
google: {
nested: {
protobuf: {
nested: {
Type: {
fields: {
name: {
type: "string",
id: 1
},
fields: {
rule: "repeated",
type: "Field",
id: 2
},
oneofs: {
rule: "repeated",
type: "string",
id: 3
},
options: {
rule: "repeated",
type: "Option",
id: 4
},
sourceContext: {
type: "SourceContext",
id: 5
},
syntax: {
type: "Syntax",
id: 6
}
}
},
Field: {
fields: {
kind: {
type: "Kind",
id: 1
},
cardinality: {
type: "Cardinality",
id: 2
},
number: {
type: "int32",
id: 3
},
name: {
type: "string",
id: 4
},
typeUrl: {
type: "string",
id: 6
},
oneofIndex: {
type: "int32",
id: 7
},
packed: {
type: "bool",
id: 8
},
options: {
rule: "repeated",
type: "Option",
id: 9
},
jsonName: {
type: "string",
id: 10
},
defaultValue: {
type: "string",
id: 11
}
},
nested: {
Kind: {
values: {
TYPE_UNKNOWN: 0,
TYPE_DOUBLE: 1,
TYPE_FLOAT: 2,
TYPE_INT64: 3,
TYPE_UINT64: 4,
TYPE_INT32: 5,
TYPE_FIXED64: 6,
TYPE_FIXED32: 7,
TYPE_BOOL: 8,
TYPE_STRING: 9,
TYPE_GROUP: 10,
TYPE_MESSAGE: 11,
TYPE_BYTES: 12,
TYPE_UINT32: 13,
TYPE_ENUM: 14,
TYPE_SFIXED32: 15,
TYPE_SFIXED64: 16,
TYPE_SINT32: 17,
TYPE_SINT64: 18
}
},
Cardinality: {
values: {
CARDINALITY_UNKNOWN: 0,
CARDINALITY_OPTIONAL: 1,
CARDINALITY_REQUIRED: 2,
CARDINALITY_REPEATED: 3
}
}
}
},
Enum: {
fields: {
name: {
type: "string",
id: 1
},
enumvalue: {
rule: "repeated",
type: "EnumValue",
id: 2
},
options: {
rule: "repeated",
type: "Option",
id: 3
},
sourceContext: {
type: "SourceContext",
id: 4
},
syntax: {
type: "Syntax",
id: 5
}
}
},
EnumValue: {
fields: {
name: {
type: "string",
id: 1
},
number: {
type: "int32",
id: 2
},
options: {
rule: "repeated",
type: "Option",
id: 3
}
}
},
Option: {
fields: {
name: {
type: "string",
id: 1
},
value: {
type: "Any",
id: 2
}
}
},
Syntax: {
values: {
SYNTAX_PROTO2: 0,
SYNTAX_PROTO3: 1
}
},
Any: {
fields: {
type_url: {
type: "string",
id: 1
},
value: {
type: "bytes",
id: 2
}
}
},
SourceContext: {
fields: {
fileName: {
type: "string",
id: 1
}
}
}
}
}
}
}
}
};
}
});
// node_modules/@grpc/proto-loader/build/src/util.js
var require_util4 = __commonJS({
"node_modules/@grpc/proto-loader/build/src/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.addCommonProtos = exports2.loadProtosWithOptionsSync = exports2.loadProtosWithOptions = void 0;
var fs84 = __require("fs");
var path101 = __require("path");
var Protobuf = require_protobufjs();
function addIncludePathResolver(root, includePaths) {
const originalResolvePath = root.resolvePath;
root.resolvePath = (origin, target) => {
if (path101.isAbsolute(target)) {
return target;
}
for (const directory of includePaths) {
const fullPath = path101.join(directory, target);
try {
fs84.accessSync(fullPath, fs84.constants.R_OK);
return fullPath;
} catch (err2) {
continue;
}
}
process.emitWarning(`${target} not found in any of the include paths ${includePaths}`);
return originalResolvePath(origin, target);
};
}
async function loadProtosWithOptions(filename, options) {
const root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!Array.isArray(options.includeDirs)) {
return Promise.reject(new Error("The includeDirs option must be an array"));
}
addIncludePathResolver(root, options.includeDirs);
}
const loadedRoot = await root.load(filename, options);
loadedRoot.resolveAll();
return loadedRoot;
}
exports2.loadProtosWithOptions = loadProtosWithOptions;
function loadProtosWithOptionsSync(filename, options) {
const root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!Array.isArray(options.includeDirs)) {
throw new Error("The includeDirs option must be an array");
}
addIncludePathResolver(root, options.includeDirs);
}
const loadedRoot = root.loadSync(filename, options);
loadedRoot.resolveAll();
return loadedRoot;
}
exports2.loadProtosWithOptionsSync = loadProtosWithOptionsSync;
function addCommonProtos() {
const apiDescriptor = require_api();
const descriptorDescriptor = require_descriptor();
const sourceContextDescriptor = require_source_context();
const typeDescriptor = require_type2();
Protobuf.common("api", apiDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("descriptor", descriptorDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("source_context", sourceContextDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("type", typeDescriptor.nested.google.nested.protobuf.nested);
}
exports2.addCommonProtos = addCommonProtos;
}
});
// node_modules/long/umd/index.js
var require_umd = __commonJS({
"node_modules/long/umd/index.js"(exports2, module2) {
(function(global3, factory) {
function preferDefault(exports3) {
return exports3.default || exports3;
}
if (typeof define === "function" && define.amd) {
define([], function() {
var exports3 = {};
factory(exports3);
return preferDefault(exports3);
});
} else if (typeof exports2 === "object") {
factory(exports2);
if (typeof module2 === "object") module2.exports = preferDefault(exports2);
} else {
(function() {
var exports3 = {};
factory(exports3);
global3.Long = preferDefault(exports3);
})();
}
})(
typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : exports2,
function(_exports) {
"use strict";
Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.default = void 0;
var wasm = null;
try {
wasm = new WebAssembly.Instance(
new WebAssembly.Module(
new Uint8Array([
// \0asm
0,
97,
115,
109,
// version 1
1,
0,
0,
0,
// section "type"
1,
13,
2,
// 0, () => i32
96,
0,
1,
127,
// 1, (i32, i32, i32, i32) => i32
96,
4,
127,
127,
127,
127,
1,
127,
// section "function"
3,
7,
6,
// 0, type 0
0,
// 1, type 1
1,
// 2, type 1
1,
// 3, type 1
1,
// 4, type 1
1,
// 5, type 1
1,
// section "global"
6,
6,
1,
// 0, "high", mutable i32
127,
1,
65,
0,
11,
// section "export"
7,
50,
6,
// 0, "mul"
3,
109,
117,
108,
0,
1,
// 1, "div_s"
5,
100,
105,
118,
95,
115,
0,
2,
// 2, "div_u"
5,
100,
105,
118,
95,
117,
0,
3,
// 3, "rem_s"
5,
114,
101,
109,
95,
115,
0,
4,
// 4, "rem_u"
5,
114,
101,
109,
95,
117,
0,
5,
// 5, "get_high"
8,
103,
101,
116,
95,
104,
105,
103,
104,
0,
0,
// section "code"
10,
191,
1,
6,
// 0, "get_high"
4,
0,
35,
0,
11,
// 1, "mul"
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
126,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
// 2, "div_s"
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
127,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
// 3, "div_u"
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
128,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
// 4, "rem_s"
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
129,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
// 5, "rem_u"
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
130,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11
])
),
{}
).exports;
} catch {
}
function Long(low, high, unsigned) {
this.low = low | 0;
this.high = high | 0;
this.unsigned = !!unsigned;
}
Long.prototype.__isLong__;
Object.defineProperty(Long.prototype, "__isLong__", {
value: true
});
function isLong(obj) {
return (obj && obj["__isLong__"]) === true;
}
function ctz32(value) {
var c4 = Math.clz32(value & -value);
return value ? 31 - c4 : c4;
}
Long.isLong = isLong;
var INT_CACHE = {};
var UINT_CACHE = {};
function fromInt(value, unsigned) {
var obj, cachedObj, cache3;
if (unsigned) {
value >>>= 0;
if (cache3 = 0 <= value && value < 256) {
cachedObj = UINT_CACHE[value];
if (cachedObj) return cachedObj;
}
obj = fromBits(value, 0, true);
if (cache3) UINT_CACHE[value] = obj;
return obj;
} else {
value |= 0;
if (cache3 = -128 <= value && value < 128) {
cachedObj = INT_CACHE[value];
if (cachedObj) return cachedObj;
}
obj = fromBits(value, value < 0 ? -1 : 0, false);
if (cache3) INT_CACHE[value] = obj;
return obj;
}
}
Long.fromInt = fromInt;
function fromNumber(value, unsigned) {
if (isNaN(value)) return unsigned ? UZERO : ZERO;
if (unsigned) {
if (value < 0) return UZERO;
if (value >= TWO_PWR_64_DBL) return MAX_UNSIGNED_VALUE;
} else {
if (value <= -TWO_PWR_63_DBL) return MIN_VALUE;
if (value + 1 >= TWO_PWR_63_DBL) return MAX_VALUE;
}
if (value < 0) return fromNumber(-value, unsigned).neg();
return fromBits(
value % TWO_PWR_32_DBL2 | 0,
value / TWO_PWR_32_DBL2 | 0,
unsigned
);
}
Long.fromNumber = fromNumber;
function fromBits(lowBits, highBits, unsigned) {
return new Long(lowBits, highBits, unsigned);
}
Long.fromBits = fromBits;
var pow_dbl = Math.pow;
function fromString(str2, unsigned, radix) {
if (str2.length === 0) throw Error("empty string");
if (typeof unsigned === "number") {
radix = unsigned;
unsigned = false;
} else {
unsigned = !!unsigned;
}
if (str2 === "NaN" || str2 === "Infinity" || str2 === "+Infinity" || str2 === "-Infinity")
return unsigned ? UZERO : ZERO;
radix = radix || 10;
if (radix < 2 || 36 < radix) throw RangeError("radix");
var p;
if ((p = str2.indexOf("-")) > 0) throw Error("interior hyphen");
else if (p === 0) {
return fromString(str2.substring(1), unsigned, radix).neg();
}
var radixToPower = fromNumber(pow_dbl(radix, 8));
var result2 = ZERO;
for (var i3 = 0; i3 < str2.length; i3 += 8) {
var size = Math.min(8, str2.length - i3), value = parseInt(str2.substring(i3, i3 + size), radix);
if (size < 8) {
var power = fromNumber(pow_dbl(radix, size));
result2 = result2.mul(power).add(fromNumber(value));
} else {
result2 = result2.mul(radixToPower);
result2 = result2.add(fromNumber(value));
}
}
result2.unsigned = unsigned;
return result2;
}
Long.fromString = fromString;
function fromValue(val, unsigned) {
if (typeof val === "number") return fromNumber(val, unsigned);
if (typeof val === "string") return fromString(val, unsigned);
return fromBits(
val.low,
val.high,
typeof unsigned === "boolean" ? unsigned : val.unsigned
);
}
Long.fromValue = fromValue;
var TWO_PWR_16_DBL = 1 << 16;
var TWO_PWR_24_DBL = 1 << 24;
var TWO_PWR_32_DBL2 = TWO_PWR_16_DBL * TWO_PWR_16_DBL;
var TWO_PWR_64_DBL = TWO_PWR_32_DBL2 * TWO_PWR_32_DBL2;
var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;
var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);
var ZERO = fromInt(0);
Long.ZERO = ZERO;
var UZERO = fromInt(0, true);
Long.UZERO = UZERO;
var ONE = fromInt(1);
Long.ONE = ONE;
var UONE = fromInt(1, true);
Long.UONE = UONE;
var NEG_ONE = fromInt(-1);
Long.NEG_ONE = NEG_ONE;
var MAX_VALUE = fromBits(4294967295 | 0, 2147483647 | 0, false);
Long.MAX_VALUE = MAX_VALUE;
var MAX_UNSIGNED_VALUE = fromBits(4294967295 | 0, 4294967295 | 0, true);
Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;
var MIN_VALUE = fromBits(0, 2147483648 | 0, false);
Long.MIN_VALUE = MIN_VALUE;
var LongPrototype = Long.prototype;
LongPrototype.toInt = function toInt2() {
return this.unsigned ? this.low >>> 0 : this.low;
};
LongPrototype.toNumber = function toNumber2() {
if (this.unsigned)
return (this.high >>> 0) * TWO_PWR_32_DBL2 + (this.low >>> 0);
return this.high * TWO_PWR_32_DBL2 + (this.low >>> 0);
};
LongPrototype.toString = function toString3(radix) {
radix = radix || 10;
if (radix < 2 || 36 < radix) throw RangeError("radix");
if (this.isZero()) return "0";
if (this.isNegative()) {
if (this.eq(MIN_VALUE)) {
var radixLong = fromNumber(radix), div = this.div(radixLong), rem1 = div.mul(radixLong).sub(this);
return div.toString(radix) + rem1.toInt().toString(radix);
} else return "-" + this.neg().toString(radix);
}
var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned), rem = this;
var result2 = "";
while (true) {
var remDiv = rem.div(radixToPower), intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0, digits = intval.toString(radix);
rem = remDiv;
if (rem.isZero()) return digits + result2;
else {
while (digits.length < 6) digits = "0" + digits;
result2 = "" + digits + result2;
}
}
};
LongPrototype.getHighBits = function getHighBits() {
return this.high;
};
LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {
return this.high >>> 0;
};
LongPrototype.getLowBits = function getLowBits() {
return this.low;
};
LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {
return this.low >>> 0;
};
LongPrototype.getNumBitsAbs = function getNumBitsAbs() {
if (this.isNegative())
return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();
var val = this.high != 0 ? this.high : this.low;
for (var bit = 31; bit > 0; bit--) if ((val & 1 << bit) != 0) break;
return this.high != 0 ? bit + 33 : bit + 1;
};
LongPrototype.isSafeInteger = function isSafeInteger() {
var top11Bits = this.high >> 21;
if (!top11Bits) return true;
if (this.unsigned) return false;
return top11Bits === -1 && !(this.low === 0 && this.high === -2097152);
};
LongPrototype.isZero = function isZero2() {
return this.high === 0 && this.low === 0;
};
LongPrototype.eqz = LongPrototype.isZero;
LongPrototype.isNegative = function isNegative() {
return !this.unsigned && this.high < 0;
};
LongPrototype.isPositive = function isPositive() {
return this.unsigned || this.high >= 0;
};
LongPrototype.isOdd = function isOdd() {
return (this.low & 1) === 1;
};
LongPrototype.isEven = function isEven() {
return (this.low & 1) === 0;
};
LongPrototype.equals = function equals(other) {
if (!isLong(other)) other = fromValue(other);
if (this.unsigned !== other.unsigned && this.high >>> 31 === 1 && other.high >>> 31 === 1)
return false;
return this.high === other.high && this.low === other.low;
};
LongPrototype.eq = LongPrototype.equals;
LongPrototype.notEquals = function notEquals(other) {
return !this.eq(
/* validates */
other
);
};
LongPrototype.neq = LongPrototype.notEquals;
LongPrototype.ne = LongPrototype.notEquals;
LongPrototype.lessThan = function lessThan(other) {
return this.comp(
/* validates */
other
) < 0;
};
LongPrototype.lt = LongPrototype.lessThan;
LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {
return this.comp(
/* validates */
other
) <= 0;
};
LongPrototype.lte = LongPrototype.lessThanOrEqual;
LongPrototype.le = LongPrototype.lessThanOrEqual;
LongPrototype.greaterThan = function greaterThan(other) {
return this.comp(
/* validates */
other
) > 0;
};
LongPrototype.gt = LongPrototype.greaterThan;
LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {
return this.comp(
/* validates */
other
) >= 0;
};
LongPrototype.gte = LongPrototype.greaterThanOrEqual;
LongPrototype.ge = LongPrototype.greaterThanOrEqual;
LongPrototype.compare = function compare(other) {
if (!isLong(other)) other = fromValue(other);
if (this.eq(other)) return 0;
var thisNeg = this.isNegative(), otherNeg = other.isNegative();
if (thisNeg && !otherNeg) return -1;
if (!thisNeg && otherNeg) return 1;
if (!this.unsigned) return this.sub(other).isNegative() ? -1 : 1;
return other.high >>> 0 > this.high >>> 0 || other.high === this.high && other.low >>> 0 > this.low >>> 0 ? -1 : 1;
};
LongPrototype.comp = LongPrototype.compare;
LongPrototype.negate = function negate2() {
if (!this.unsigned && this.eq(MIN_VALUE)) return MIN_VALUE;
return this.not().add(ONE);
};
LongPrototype.neg = LongPrototype.negate;
LongPrototype.add = function add(addend) {
if (!isLong(addend)) addend = fromValue(addend);
var a48 = this.high >>> 16;
var a32 = this.high & 65535;
var a16 = this.low >>> 16;
var a00 = this.low & 65535;
var b48 = addend.high >>> 16;
var b32 = addend.high & 65535;
var b16 = addend.low >>> 16;
var b00 = addend.low & 65535;
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
c00 += a00 + b00;
c16 += c00 >>> 16;
c00 &= 65535;
c16 += a16 + b16;
c32 += c16 >>> 16;
c16 &= 65535;
c32 += a32 + b32;
c48 += c32 >>> 16;
c32 &= 65535;
c48 += a48 + b48;
c48 &= 65535;
return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);
};
LongPrototype.subtract = function subtract(subtrahend) {
if (!isLong(subtrahend)) subtrahend = fromValue(subtrahend);
return this.add(subtrahend.neg());
};
LongPrototype.sub = LongPrototype.subtract;
LongPrototype.multiply = function multiply(multiplier) {
if (this.isZero()) return this;
if (!isLong(multiplier)) multiplier = fromValue(multiplier);
if (wasm) {
var low = wasm["mul"](
this.low,
this.high,
multiplier.low,
multiplier.high
);
return fromBits(low, wasm["get_high"](), this.unsigned);
}
if (multiplier.isZero()) return this.unsigned ? UZERO : ZERO;
if (this.eq(MIN_VALUE)) return multiplier.isOdd() ? MIN_VALUE : ZERO;
if (multiplier.eq(MIN_VALUE)) return this.isOdd() ? MIN_VALUE : ZERO;
if (this.isNegative()) {
if (multiplier.isNegative()) return this.neg().mul(multiplier.neg());
else return this.neg().mul(multiplier).neg();
} else if (multiplier.isNegative())
return this.mul(multiplier.neg()).neg();
if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24))
return fromNumber(
this.toNumber() * multiplier.toNumber(),
this.unsigned
);
var a48 = this.high >>> 16;
var a32 = this.high & 65535;
var a16 = this.low >>> 16;
var a00 = this.low & 65535;
var b48 = multiplier.high >>> 16;
var b32 = multiplier.high & 65535;
var b16 = multiplier.low >>> 16;
var b00 = multiplier.low & 65535;
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
c00 += a00 * b00;
c16 += c00 >>> 16;
c00 &= 65535;
c16 += a16 * b00;
c32 += c16 >>> 16;
c16 &= 65535;
c16 += a00 * b16;
c32 += c16 >>> 16;
c16 &= 65535;
c32 += a32 * b00;
c48 += c32 >>> 16;
c32 &= 65535;
c32 += a16 * b16;
c48 += c32 >>> 16;
c32 &= 65535;
c32 += a00 * b32;
c48 += c32 >>> 16;
c32 &= 65535;
c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
c48 &= 65535;
return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);
};
LongPrototype.mul = LongPrototype.multiply;
LongPrototype.divide = function divide(divisor) {
if (!isLong(divisor)) divisor = fromValue(divisor);
if (divisor.isZero()) throw Error("division by zero");
if (wasm) {
if (!this.unsigned && this.high === -2147483648 && divisor.low === -1 && divisor.high === -1) {
return this;
}
var low = (this.unsigned ? wasm["div_u"] : wasm["div_s"])(
this.low,
this.high,
divisor.low,
divisor.high
);
return fromBits(low, wasm["get_high"](), this.unsigned);
}
if (this.isZero()) return this.unsigned ? UZERO : ZERO;
var approx, rem, res;
if (!this.unsigned) {
if (this.eq(MIN_VALUE)) {
if (divisor.eq(ONE) || divisor.eq(NEG_ONE))
return MIN_VALUE;
else if (divisor.eq(MIN_VALUE)) return ONE;
else {
var halfThis = this.shr(1);
approx = halfThis.div(divisor).shl(1);
if (approx.eq(ZERO)) {
return divisor.isNegative() ? ONE : NEG_ONE;
} else {
rem = this.sub(divisor.mul(approx));
res = approx.add(rem.div(divisor));
return res;
}
}
} else if (divisor.eq(MIN_VALUE)) return this.unsigned ? UZERO : ZERO;
if (this.isNegative()) {
if (divisor.isNegative()) return this.neg().div(divisor.neg());
return this.neg().div(divisor).neg();
} else if (divisor.isNegative()) return this.div(divisor.neg()).neg();
res = ZERO;
} else {
if (!divisor.unsigned) divisor = divisor.toUnsigned();
if (divisor.gt(this)) return UZERO;
if (divisor.gt(this.shru(1)))
return UONE;
res = UZERO;
}
rem = this;
while (rem.gte(divisor)) {
approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));
var log2 = Math.ceil(Math.log(approx) / Math.LN2), delta = log2 <= 48 ? 1 : pow_dbl(2, log2 - 48), approxRes = fromNumber(approx), approxRem = approxRes.mul(divisor);
while (approxRem.isNegative() || approxRem.gt(rem)) {
approx -= delta;
approxRes = fromNumber(approx, this.unsigned);
approxRem = approxRes.mul(divisor);
}
if (approxRes.isZero()) approxRes = ONE;
res = res.add(approxRes);
rem = rem.sub(approxRem);
}
return res;
};
LongPrototype.div = LongPrototype.divide;
LongPrototype.modulo = function modulo(divisor) {
if (!isLong(divisor)) divisor = fromValue(divisor);
if (wasm) {
var low = (this.unsigned ? wasm["rem_u"] : wasm["rem_s"])(
this.low,
this.high,
divisor.low,
divisor.high
);
return fromBits(low, wasm["get_high"](), this.unsigned);
}
return this.sub(this.div(divisor).mul(divisor));
};
LongPrototype.mod = LongPrototype.modulo;
LongPrototype.rem = LongPrototype.modulo;
LongPrototype.not = function not() {
return fromBits(~this.low, ~this.high, this.unsigned);
};
LongPrototype.countLeadingZeros = function countLeadingZeros() {
return this.high ? Math.clz32(this.high) : Math.clz32(this.low) + 32;
};
LongPrototype.clz = LongPrototype.countLeadingZeros;
LongPrototype.countTrailingZeros = function countTrailingZeros() {
return this.low ? ctz32(this.low) : ctz32(this.high) + 32;
};
LongPrototype.ctz = LongPrototype.countTrailingZeros;
LongPrototype.and = function and(other) {
if (!isLong(other)) other = fromValue(other);
return fromBits(
this.low & other.low,
this.high & other.high,
this.unsigned
);
};
LongPrototype.or = function or(other) {
if (!isLong(other)) other = fromValue(other);
return fromBits(
this.low | other.low,
this.high | other.high,
this.unsigned
);
};
LongPrototype.xor = function xor(other) {
if (!isLong(other)) other = fromValue(other);
return fromBits(
this.low ^ other.low,
this.high ^ other.high,
this.unsigned
);
};
LongPrototype.shiftLeft = function shiftLeft(numBits) {
if (isLong(numBits)) numBits = numBits.toInt();
if ((numBits &= 63) === 0) return this;
else if (numBits < 32)
return fromBits(
this.low << numBits,
this.high << numBits | this.low >>> 32 - numBits,
this.unsigned
);
else return fromBits(0, this.low << numBits - 32, this.unsigned);
};
LongPrototype.shl = LongPrototype.shiftLeft;
LongPrototype.shiftRight = function shiftRight(numBits) {
if (isLong(numBits)) numBits = numBits.toInt();
if ((numBits &= 63) === 0) return this;
else if (numBits < 32)
return fromBits(
this.low >>> numBits | this.high << 32 - numBits,
this.high >> numBits,
this.unsigned
);
else
return fromBits(
this.high >> numBits - 32,
this.high >= 0 ? 0 : -1,
this.unsigned
);
};
LongPrototype.shr = LongPrototype.shiftRight;
LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {
if (isLong(numBits)) numBits = numBits.toInt();
if ((numBits &= 63) === 0) return this;
if (numBits < 32)
return fromBits(
this.low >>> numBits | this.high << 32 - numBits,
this.high >>> numBits,
this.unsigned
);
if (numBits === 32) return fromBits(this.high, 0, this.unsigned);
return fromBits(this.high >>> numBits - 32, 0, this.unsigned);
};
LongPrototype.shru = LongPrototype.shiftRightUnsigned;
LongPrototype.shr_u = LongPrototype.shiftRightUnsigned;
LongPrototype.rotateLeft = function rotateLeft(numBits) {
var b;
if (isLong(numBits)) numBits = numBits.toInt();
if ((numBits &= 63) === 0) return this;
if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);
if (numBits < 32) {
b = 32 - numBits;
return fromBits(
this.low << numBits | this.high >>> b,
this.high << numBits | this.low >>> b,
this.unsigned
);
}
numBits -= 32;
b = 32 - numBits;
return fromBits(
this.high << numBits | this.low >>> b,
this.low << numBits | this.high >>> b,
this.unsigned
);
};
LongPrototype.rotl = LongPrototype.rotateLeft;
LongPrototype.rotateRight = function rotateRight(numBits) {
var b;
if (isLong(numBits)) numBits = numBits.toInt();
if ((numBits &= 63) === 0) return this;
if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);
if (numBits < 32) {
b = 32 - numBits;
return fromBits(
this.high << b | this.low >>> numBits,
this.low << b | this.high >>> numBits,
this.unsigned
);
}
numBits -= 32;
b = 32 - numBits;
return fromBits(
this.low << b | this.high >>> numBits,
this.high << b | this.low >>> numBits,
this.unsigned
);
};
LongPrototype.rotr = LongPrototype.rotateRight;
LongPrototype.toSigned = function toSigned() {
if (!this.unsigned) return this;
return fromBits(this.low, this.high, false);
};
LongPrototype.toUnsigned = function toUnsigned2() {
if (this.unsigned) return this;
return fromBits(this.low, this.high, true);
};
LongPrototype.toBytes = function toBytes(le) {
return le ? this.toBytesLE() : this.toBytesBE();
};
LongPrototype.toBytesLE = function toBytesLE() {
var hi = this.high, lo = this.low;
return [
lo & 255,
lo >>> 8 & 255,
lo >>> 16 & 255,
lo >>> 24,
hi & 255,
hi >>> 8 & 255,
hi >>> 16 & 255,
hi >>> 24
];
};
LongPrototype.toBytesBE = function toBytesBE() {
var hi = this.high, lo = this.low;
return [
hi >>> 24,
hi >>> 16 & 255,
hi >>> 8 & 255,
hi & 255,
lo >>> 24,
lo >>> 16 & 255,
lo >>> 8 & 255,
lo & 255
];
};
Long.fromBytes = function fromBytes(bytes, unsigned, le) {
return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned);
};
Long.fromBytesLE = function fromBytesLE(bytes, unsigned) {
return new Long(
bytes[0] | bytes[1] << 8 | bytes[2] << 16 | bytes[3] << 24,
bytes[4] | bytes[5] << 8 | bytes[6] << 16 | bytes[7] << 24,
unsigned
);
};
Long.fromBytesBE = function fromBytesBE(bytes, unsigned) {
return new Long(
bytes[4] << 24 | bytes[5] << 16 | bytes[6] << 8 | bytes[7],
bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3],
unsigned
);
};
if (typeof BigInt === "function") {
Long.fromBigInt = function fromBigInt(value, unsigned) {
var lowBits = Number(BigInt.asIntN(32, value));
var highBits = Number(BigInt.asIntN(32, value >> BigInt(32)));
return fromBits(lowBits, highBits, unsigned);
};
Long.fromValue = function fromValueWithBigInt(value, unsigned) {
if (typeof value === "bigint") return Long.fromBigInt(value, unsigned);
return fromValue(value, unsigned);
};
LongPrototype.toBigInt = function toBigInt() {
var lowBigInt = BigInt(this.low >>> 0);
var highBigInt = BigInt(this.unsigned ? this.high >>> 0 : this.high);
return highBigInt << BigInt(32) | lowBigInt;
};
}
var _default4 = _exports.default = Long;
}
);
}
});
// node_modules/@grpc/proto-loader/build/src/index.js
var require_src10 = __commonJS({
"node_modules/@grpc/proto-loader/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.loadFileDescriptorSetFromObject = exports2.loadFileDescriptorSetFromBuffer = exports2.fromJSON = exports2.loadSync = exports2.load = exports2.IdempotencyLevel = exports2.isAnyExtension = exports2.Long = void 0;
var camelCase = require_lodash();
var Protobuf = require_protobufjs();
var descriptor2 = require_descriptor2();
var util_1 = require_util4();
var Long = require_umd();
exports2.Long = Long;
function isAnyExtension(obj) {
return "@type" in obj && typeof obj["@type"] === "string";
}
exports2.isAnyExtension = isAnyExtension;
var IdempotencyLevel;
(function(IdempotencyLevel2) {
IdempotencyLevel2["IDEMPOTENCY_UNKNOWN"] = "IDEMPOTENCY_UNKNOWN";
IdempotencyLevel2["NO_SIDE_EFFECTS"] = "NO_SIDE_EFFECTS";
IdempotencyLevel2["IDEMPOTENT"] = "IDEMPOTENT";
})(IdempotencyLevel = exports2.IdempotencyLevel || (exports2.IdempotencyLevel = {}));
var descriptorOptions = {
longs: String,
enums: String,
bytes: String,
defaults: true,
oneofs: true,
json: true
};
function joinName(baseName, name3) {
if (baseName === "") {
return name3;
} else {
return baseName + "." + name3;
}
}
function isHandledReflectionObject(obj) {
return obj instanceof Protobuf.Service || obj instanceof Protobuf.Type || obj instanceof Protobuf.Enum;
}
function isNamespaceBase(obj) {
return obj instanceof Protobuf.Namespace || obj instanceof Protobuf.Root;
}
function getAllHandledReflectionObjects(obj, parentName) {
const objName = joinName(parentName, obj.name);
if (isHandledReflectionObject(obj)) {
return [[objName, obj]];
} else {
if (isNamespaceBase(obj) && typeof obj.nested !== "undefined") {
return Object.keys(obj.nested).map((name3) => {
return getAllHandledReflectionObjects(obj.nested[name3], objName);
}).reduce((accumulator, currentValue) => accumulator.concat(currentValue), []);
}
}
return [];
}
function createDeserializer(cls, options) {
return function deserialize(argBuf) {
return cls.toObject(cls.decode(argBuf), options);
};
}
function createSerializer(cls) {
return function serialize3(arg) {
if (Array.isArray(arg)) {
throw new Error(`Failed to serialize message: expected object with ${cls.name} structure, got array instead`);
}
const message = cls.fromObject(arg);
return cls.encode(message).finish();
};
}
function mapMethodOptions(options) {
return (options || []).reduce((obj, item) => {
for (const [key, value] of Object.entries(item)) {
switch (key) {
case "uninterpreted_option":
obj.uninterpreted_option.push(item.uninterpreted_option);
break;
default:
obj[key] = value;
}
}
return obj;
}, {
deprecated: false,
idempotency_level: IdempotencyLevel.IDEMPOTENCY_UNKNOWN,
uninterpreted_option: []
});
}
function createMethodDefinition(method, serviceName, options, fileDescriptors) {
const requestType = method.resolvedRequestType;
const responseType = method.resolvedResponseType;
return {
path: "/" + serviceName + "/" + method.name,
requestStream: !!method.requestStream,
responseStream: !!method.responseStream,
requestSerialize: createSerializer(requestType),
requestDeserialize: createDeserializer(requestType, options),
responseSerialize: createSerializer(responseType),
responseDeserialize: createDeserializer(responseType, options),
// TODO(murgatroid99): Find a better way to handle this
originalName: camelCase(method.name),
requestType: createMessageDefinition(requestType, fileDescriptors),
responseType: createMessageDefinition(responseType, fileDescriptors),
options: mapMethodOptions(method.parsedOptions)
};
}
function createServiceDefinition(service, name3, options, fileDescriptors) {
const def = {};
for (const method of service.methodsArray) {
def[method.name] = createMethodDefinition(method, name3, options, fileDescriptors);
}
return def;
}
function createMessageDefinition(message, fileDescriptors) {
const messageDescriptor = message.toDescriptor("proto3");
return {
format: "Protocol Buffer 3 DescriptorProto",
type: messageDescriptor.$type.toObject(messageDescriptor, descriptorOptions),
fileDescriptorProtos: fileDescriptors
};
}
function createEnumDefinition(enumType, fileDescriptors) {
const enumDescriptor = enumType.toDescriptor("proto3");
return {
format: "Protocol Buffer 3 EnumDescriptorProto",
type: enumDescriptor.$type.toObject(enumDescriptor, descriptorOptions),
fileDescriptorProtos: fileDescriptors
};
}
function createDefinition(obj, name3, options, fileDescriptors) {
if (obj instanceof Protobuf.Service) {
return createServiceDefinition(obj, name3, options, fileDescriptors);
} else if (obj instanceof Protobuf.Type) {
return createMessageDefinition(obj, fileDescriptors);
} else if (obj instanceof Protobuf.Enum) {
return createEnumDefinition(obj, fileDescriptors);
} else {
throw new Error("Type mismatch in reflection object handling");
}
}
function createPackageDefinition(root, options) {
const def = {};
root.resolveAll();
const descriptorList = root.toDescriptor("proto3").file;
const bufferList = descriptorList.map((value) => Buffer.from(descriptor2.FileDescriptorProto.encode(value).finish()));
for (const [name3, obj] of getAllHandledReflectionObjects(root, "")) {
def[name3] = createDefinition(obj, name3, options, bufferList);
}
return def;
}
function createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options) {
options = options || {};
const root = Protobuf.Root.fromDescriptor(decodedDescriptorSet);
root.resolveAll();
return createPackageDefinition(root, options);
}
function load3(filename, options) {
return (0, util_1.loadProtosWithOptions)(filename, options).then((loadedRoot) => {
return createPackageDefinition(loadedRoot, options);
});
}
exports2.load = load3;
function loadSync(filename, options) {
const loadedRoot = (0, util_1.loadProtosWithOptionsSync)(filename, options);
return createPackageDefinition(loadedRoot, options);
}
exports2.loadSync = loadSync;
function fromJSON(json3, options) {
options = options || {};
const loadedRoot = Protobuf.Root.fromJSON(json3);
loadedRoot.resolveAll();
return createPackageDefinition(loadedRoot, options);
}
exports2.fromJSON = fromJSON;
function loadFileDescriptorSetFromBuffer(descriptorSet, options) {
const decodedDescriptorSet = descriptor2.FileDescriptorSet.decode(descriptorSet);
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options);
}
exports2.loadFileDescriptorSetFromBuffer = loadFileDescriptorSetFromBuffer;
function loadFileDescriptorSetFromObject(descriptorSet, options) {
const decodedDescriptorSet = descriptor2.FileDescriptorSet.fromObject(descriptorSet);
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options);
}
exports2.loadFileDescriptorSetFromObject = loadFileDescriptorSetFromObject;
(0, util_1.addCommonProtos)();
}
});
// node_modules/@grpc/grpc-js/build/src/channelz.js
var require_channelz = __commonJS({
"node_modules/@grpc/grpc-js/build/src/channelz.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.registerChannelzSocket = exports2.registerChannelzServer = exports2.registerChannelzSubchannel = exports2.registerChannelzChannel = exports2.ChannelzCallTrackerStub = exports2.ChannelzCallTracker = exports2.ChannelzChildrenTrackerStub = exports2.ChannelzChildrenTracker = exports2.ChannelzTrace = exports2.ChannelzTraceStub = void 0;
exports2.unregisterChannelzRef = unregisterChannelzRef;
exports2.getChannelzHandlers = getChannelzHandlers;
exports2.getChannelzServiceDefinition = getChannelzServiceDefinition;
exports2.setup = setup;
var net_1 = __require("net");
var ordered_map_1 = require_cjs();
var connectivity_state_1 = require_connectivity_state();
var constants_1 = require_constants2();
var subchannel_address_1 = require_subchannel_address();
var admin_1 = require_admin();
var make_client_1 = require_make_client();
function channelRefToMessage(ref) {
return {
channel_id: ref.id,
name: ref.name
};
}
function subchannelRefToMessage(ref) {
return {
subchannel_id: ref.id,
name: ref.name
};
}
function serverRefToMessage(ref) {
return {
server_id: ref.id
};
}
function socketRefToMessage(ref) {
return {
socket_id: ref.id,
name: ref.name
};
}
var TARGET_RETAINED_TRACES = 32;
var DEFAULT_MAX_RESULTS = 100;
var ChannelzTraceStub = class {
constructor() {
this.events = [];
this.creationTimestamp = /* @__PURE__ */ new Date();
this.eventsLogged = 0;
}
addTrace() {
}
getTraceMessage() {
return {
creation_timestamp: dateToProtoTimestamp(this.creationTimestamp),
num_events_logged: this.eventsLogged,
events: []
};
}
};
exports2.ChannelzTraceStub = ChannelzTraceStub;
var ChannelzTrace = class {
constructor() {
this.events = [];
this.eventsLogged = 0;
this.creationTimestamp = /* @__PURE__ */ new Date();
}
addTrace(severity, description, child) {
const timestamp2 = /* @__PURE__ */ new Date();
this.events.push({
description,
severity,
timestamp: timestamp2,
childChannel: (child === null || child === void 0 ? void 0 : child.kind) === "channel" ? child : void 0,
childSubchannel: (child === null || child === void 0 ? void 0 : child.kind) === "subchannel" ? child : void 0
});
if (this.events.length >= TARGET_RETAINED_TRACES * 2) {
this.events = this.events.slice(TARGET_RETAINED_TRACES);
}
this.eventsLogged += 1;
}
getTraceMessage() {
return {
creation_timestamp: dateToProtoTimestamp(this.creationTimestamp),
num_events_logged: this.eventsLogged,
events: this.events.map((event) => {
return {
description: event.description,
severity: event.severity,
timestamp: dateToProtoTimestamp(event.timestamp),
channel_ref: event.childChannel ? channelRefToMessage(event.childChannel) : null,
subchannel_ref: event.childSubchannel ? subchannelRefToMessage(event.childSubchannel) : null
};
})
};
}
};
exports2.ChannelzTrace = ChannelzTrace;
var ChannelzChildrenTracker = class {
constructor() {
this.channelChildren = new ordered_map_1.OrderedMap();
this.subchannelChildren = new ordered_map_1.OrderedMap();
this.socketChildren = new ordered_map_1.OrderedMap();
this.trackerMap = {
[
"channel"
/* EntityTypes.channel */
]: this.channelChildren,
[
"subchannel"
/* EntityTypes.subchannel */
]: this.subchannelChildren,
[
"socket"
/* EntityTypes.socket */
]: this.socketChildren
};
}
refChild(child) {
const tracker = this.trackerMap[child.kind];
const trackedChild = tracker.find(child.id);
if (trackedChild.equals(tracker.end())) {
tracker.setElement(child.id, {
ref: child,
count: 1
}, trackedChild);
} else {
trackedChild.pointer[1].count += 1;
}
}
unrefChild(child) {
const tracker = this.trackerMap[child.kind];
const trackedChild = tracker.getElementByKey(child.id);
if (trackedChild !== void 0) {
trackedChild.count -= 1;
if (trackedChild.count === 0) {
tracker.eraseElementByKey(child.id);
}
}
}
getChildLists() {
return {
channels: this.channelChildren,
subchannels: this.subchannelChildren,
sockets: this.socketChildren
};
}
};
exports2.ChannelzChildrenTracker = ChannelzChildrenTracker;
var ChannelzChildrenTrackerStub = class extends ChannelzChildrenTracker {
refChild() {
}
unrefChild() {
}
};
exports2.ChannelzChildrenTrackerStub = ChannelzChildrenTrackerStub;
var ChannelzCallTracker = class {
constructor() {
this.callsStarted = 0;
this.callsSucceeded = 0;
this.callsFailed = 0;
this.lastCallStartedTimestamp = null;
}
addCallStarted() {
this.callsStarted += 1;
this.lastCallStartedTimestamp = /* @__PURE__ */ new Date();
}
addCallSucceeded() {
this.callsSucceeded += 1;
}
addCallFailed() {
this.callsFailed += 1;
}
};
exports2.ChannelzCallTracker = ChannelzCallTracker;
var ChannelzCallTrackerStub = class extends ChannelzCallTracker {
addCallStarted() {
}
addCallSucceeded() {
}
addCallFailed() {
}
};
exports2.ChannelzCallTrackerStub = ChannelzCallTrackerStub;
var entityMaps = {
[
"channel"
/* EntityTypes.channel */
]: new ordered_map_1.OrderedMap(),
[
"subchannel"
/* EntityTypes.subchannel */
]: new ordered_map_1.OrderedMap(),
[
"server"
/* EntityTypes.server */
]: new ordered_map_1.OrderedMap(),
[
"socket"
/* EntityTypes.socket */
]: new ordered_map_1.OrderedMap()
};
var generateRegisterFn = (kind) => {
let nextId = 1;
function getNextId() {
return nextId++;
}
const entityMap = entityMaps[kind];
return (name3, getInfo, channelzEnabled) => {
const id = getNextId();
const ref = { id, name: name3, kind };
if (channelzEnabled) {
entityMap.setElement(id, { ref, getInfo });
}
return ref;
};
};
exports2.registerChannelzChannel = generateRegisterFn(
"channel"
/* EntityTypes.channel */
);
exports2.registerChannelzSubchannel = generateRegisterFn(
"subchannel"
/* EntityTypes.subchannel */
);
exports2.registerChannelzServer = generateRegisterFn(
"server"
/* EntityTypes.server */
);
exports2.registerChannelzSocket = generateRegisterFn(
"socket"
/* EntityTypes.socket */
);
function unregisterChannelzRef(ref) {
entityMaps[ref.kind].eraseElementByKey(ref.id);
}
function parseIPv6Section(addressSection) {
const numberValue = Number.parseInt(addressSection, 16);
return [numberValue / 256 | 0, numberValue % 256];
}
function parseIPv6Chunk(addressChunk) {
if (addressChunk === "") {
return [];
}
const bytePairs = addressChunk.split(":").map((section) => parseIPv6Section(section));
const result2 = [];
return result2.concat(...bytePairs);
}
function isIPv6MappedIPv4(ipAddress) {
return (0, net_1.isIPv6)(ipAddress) && ipAddress.toLowerCase().startsWith("::ffff:") && (0, net_1.isIPv4)(ipAddress.substring(7));
}
function ipv4AddressStringToBuffer(ipAddress) {
return Buffer.from(Uint8Array.from(ipAddress.split(".").map((segment) => Number.parseInt(segment))));
}
function ipAddressStringToBuffer(ipAddress) {
if ((0, net_1.isIPv4)(ipAddress)) {
return ipv4AddressStringToBuffer(ipAddress);
} else if (isIPv6MappedIPv4(ipAddress)) {
return ipv4AddressStringToBuffer(ipAddress.substring(7));
} else if ((0, net_1.isIPv6)(ipAddress)) {
let leftSection;
let rightSection;
const doubleColonIndex = ipAddress.indexOf("::");
if (doubleColonIndex === -1) {
leftSection = ipAddress;
rightSection = "";
} else {
leftSection = ipAddress.substring(0, doubleColonIndex);
rightSection = ipAddress.substring(doubleColonIndex + 2);
}
const leftBuffer = Buffer.from(parseIPv6Chunk(leftSection));
const rightBuffer = Buffer.from(parseIPv6Chunk(rightSection));
const middleBuffer = Buffer.alloc(16 - leftBuffer.length - rightBuffer.length, 0);
return Buffer.concat([leftBuffer, middleBuffer, rightBuffer]);
} else {
return null;
}
}
function connectivityStateToMessage(state) {
switch (state) {
case connectivity_state_1.ConnectivityState.CONNECTING:
return {
state: "CONNECTING"
};
case connectivity_state_1.ConnectivityState.IDLE:
return {
state: "IDLE"
};
case connectivity_state_1.ConnectivityState.READY:
return {
state: "READY"
};
case connectivity_state_1.ConnectivityState.SHUTDOWN:
return {
state: "SHUTDOWN"
};
case connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE:
return {
state: "TRANSIENT_FAILURE"
};
default:
return {
state: "UNKNOWN"
};
}
}
function dateToProtoTimestamp(date5) {
if (!date5) {
return null;
}
const millisSinceEpoch = date5.getTime();
return {
seconds: millisSinceEpoch / 1e3 | 0,
nanos: millisSinceEpoch % 1e3 * 1e6
};
}
function getChannelMessage(channelEntry) {
const resolvedInfo = channelEntry.getInfo();
const channelRef = [];
const subchannelRef = [];
resolvedInfo.children.channels.forEach((el) => {
channelRef.push(channelRefToMessage(el[1].ref));
});
resolvedInfo.children.subchannels.forEach((el) => {
subchannelRef.push(subchannelRefToMessage(el[1].ref));
});
return {
ref: channelRefToMessage(channelEntry.ref),
data: {
target: resolvedInfo.target,
state: connectivityStateToMessage(resolvedInfo.state),
calls_started: resolvedInfo.callTracker.callsStarted,
calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
calls_failed: resolvedInfo.callTracker.callsFailed,
last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
trace: resolvedInfo.trace.getTraceMessage()
},
channel_ref: channelRef,
subchannel_ref: subchannelRef
};
}
function GetChannel(call, callback) {
const channelId = parseInt(call.request.channel_id, 10);
const channelEntry = entityMaps[
"channel"
/* EntityTypes.channel */
].getElementByKey(channelId);
if (channelEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No channel data found for id " + channelId
});
return;
}
callback(null, { channel: getChannelMessage(channelEntry) });
}
function GetTopChannels(call, callback) {
const maxResults = parseInt(call.request.max_results, 10) || DEFAULT_MAX_RESULTS;
const resultList = [];
const startId = parseInt(call.request.start_channel_id, 10);
const channelEntries = entityMaps[
"channel"
/* EntityTypes.channel */
];
let i3;
for (i3 = channelEntries.lowerBound(startId); !i3.equals(channelEntries.end()) && resultList.length < maxResults; i3 = i3.next()) {
resultList.push(getChannelMessage(i3.pointer[1]));
}
callback(null, {
channel: resultList,
end: i3.equals(channelEntries.end())
});
}
function getServerMessage(serverEntry) {
const resolvedInfo = serverEntry.getInfo();
const listenSocket = [];
resolvedInfo.listenerChildren.sockets.forEach((el) => {
listenSocket.push(socketRefToMessage(el[1].ref));
});
return {
ref: serverRefToMessage(serverEntry.ref),
data: {
calls_started: resolvedInfo.callTracker.callsStarted,
calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
calls_failed: resolvedInfo.callTracker.callsFailed,
last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
trace: resolvedInfo.trace.getTraceMessage()
},
listen_socket: listenSocket
};
}
function GetServer(call, callback) {
const serverId = parseInt(call.request.server_id, 10);
const serverEntries = entityMaps[
"server"
/* EntityTypes.server */
];
const serverEntry = serverEntries.getElementByKey(serverId);
if (serverEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No server data found for id " + serverId
});
return;
}
callback(null, { server: getServerMessage(serverEntry) });
}
function GetServers(call, callback) {
const maxResults = parseInt(call.request.max_results, 10) || DEFAULT_MAX_RESULTS;
const startId = parseInt(call.request.start_server_id, 10);
const serverEntries = entityMaps[
"server"
/* EntityTypes.server */
];
const resultList = [];
let i3;
for (i3 = serverEntries.lowerBound(startId); !i3.equals(serverEntries.end()) && resultList.length < maxResults; i3 = i3.next()) {
resultList.push(getServerMessage(i3.pointer[1]));
}
callback(null, {
server: resultList,
end: i3.equals(serverEntries.end())
});
}
function GetSubchannel(call, callback) {
const subchannelId = parseInt(call.request.subchannel_id, 10);
const subchannelEntry = entityMaps[
"subchannel"
/* EntityTypes.subchannel */
].getElementByKey(subchannelId);
if (subchannelEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No subchannel data found for id " + subchannelId
});
return;
}
const resolvedInfo = subchannelEntry.getInfo();
const listenSocket = [];
resolvedInfo.children.sockets.forEach((el) => {
listenSocket.push(socketRefToMessage(el[1].ref));
});
const subchannelMessage = {
ref: subchannelRefToMessage(subchannelEntry.ref),
data: {
target: resolvedInfo.target,
state: connectivityStateToMessage(resolvedInfo.state),
calls_started: resolvedInfo.callTracker.callsStarted,
calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
calls_failed: resolvedInfo.callTracker.callsFailed,
last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
trace: resolvedInfo.trace.getTraceMessage()
},
socket_ref: listenSocket
};
callback(null, { subchannel: subchannelMessage });
}
function subchannelAddressToAddressMessage(subchannelAddress) {
var _a4;
if ((0, subchannel_address_1.isTcpSubchannelAddress)(subchannelAddress)) {
return {
address: "tcpip_address",
tcpip_address: {
ip_address: (_a4 = ipAddressStringToBuffer(subchannelAddress.host)) !== null && _a4 !== void 0 ? _a4 : void 0,
port: subchannelAddress.port
}
};
} else {
return {
address: "uds_address",
uds_address: {
filename: subchannelAddress.path
}
};
}
}
function GetSocket(call, callback) {
var _a4, _b, _c, _d, _e;
const socketId = parseInt(call.request.socket_id, 10);
const socketEntry = entityMaps[
"socket"
/* EntityTypes.socket */
].getElementByKey(socketId);
if (socketEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No socket data found for id " + socketId
});
return;
}
const resolvedInfo = socketEntry.getInfo();
const securityMessage = resolvedInfo.security ? {
model: "tls",
tls: {
cipher_suite: resolvedInfo.security.cipherSuiteStandardName ? "standard_name" : "other_name",
standard_name: (_a4 = resolvedInfo.security.cipherSuiteStandardName) !== null && _a4 !== void 0 ? _a4 : void 0,
other_name: (_b = resolvedInfo.security.cipherSuiteOtherName) !== null && _b !== void 0 ? _b : void 0,
local_certificate: (_c = resolvedInfo.security.localCertificate) !== null && _c !== void 0 ? _c : void 0,
remote_certificate: (_d = resolvedInfo.security.remoteCertificate) !== null && _d !== void 0 ? _d : void 0
}
} : null;
const socketMessage = {
ref: socketRefToMessage(socketEntry.ref),
local: resolvedInfo.localAddress ? subchannelAddressToAddressMessage(resolvedInfo.localAddress) : null,
remote: resolvedInfo.remoteAddress ? subchannelAddressToAddressMessage(resolvedInfo.remoteAddress) : null,
remote_name: (_e = resolvedInfo.remoteName) !== null && _e !== void 0 ? _e : void 0,
security: securityMessage,
data: {
keep_alives_sent: resolvedInfo.keepAlivesSent,
streams_started: resolvedInfo.streamsStarted,
streams_succeeded: resolvedInfo.streamsSucceeded,
streams_failed: resolvedInfo.streamsFailed,
last_local_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastLocalStreamCreatedTimestamp),
last_remote_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastRemoteStreamCreatedTimestamp),
messages_received: resolvedInfo.messagesReceived,
messages_sent: resolvedInfo.messagesSent,
last_message_received_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageReceivedTimestamp),
last_message_sent_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageSentTimestamp),
local_flow_control_window: resolvedInfo.localFlowControlWindow ? { value: resolvedInfo.localFlowControlWindow } : null,
remote_flow_control_window: resolvedInfo.remoteFlowControlWindow ? { value: resolvedInfo.remoteFlowControlWindow } : null
}
};
callback(null, { socket: socketMessage });
}
function GetServerSockets(call, callback) {
const serverId = parseInt(call.request.server_id, 10);
const serverEntry = entityMaps[
"server"
/* EntityTypes.server */
].getElementByKey(serverId);
if (serverEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No server data found for id " + serverId
});
return;
}
const startId = parseInt(call.request.start_socket_id, 10);
const maxResults = parseInt(call.request.max_results, 10) || DEFAULT_MAX_RESULTS;
const resolvedInfo = serverEntry.getInfo();
const allSockets = resolvedInfo.sessionChildren.sockets;
const resultList = [];
let i3;
for (i3 = allSockets.lowerBound(startId); !i3.equals(allSockets.end()) && resultList.length < maxResults; i3 = i3.next()) {
resultList.push(socketRefToMessage(i3.pointer[1].ref));
}
callback(null, {
socket_ref: resultList,
end: i3.equals(allSockets.end())
});
}
function getChannelzHandlers() {
return {
GetChannel,
GetTopChannels,
GetServer,
GetServers,
GetSubchannel,
GetSocket,
GetServerSockets
};
}
var loadedChannelzDefinition = null;
function getChannelzServiceDefinition() {
if (loadedChannelzDefinition) {
return loadedChannelzDefinition;
}
const loaderLoadSync = require_src10().loadSync;
const loadedProto = loaderLoadSync("channelz.proto", {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
includeDirs: [`${__chunk_dirname}/../../proto`]
});
const channelzGrpcObject = (0, make_client_1.loadPackageDefinition)(loadedProto);
loadedChannelzDefinition = channelzGrpcObject.grpc.channelz.v1.Channelz.service;
return loadedChannelzDefinition;
}
function setup() {
(0, admin_1.registerAdminService)(getChannelzServiceDefinition, getChannelzHandlers);
}
}
});
// node_modules/@grpc/grpc-js/build/src/subchannel.js
var require_subchannel = __commonJS({
"node_modules/@grpc/grpc-js/build/src/subchannel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Subchannel = void 0;
var connectivity_state_1 = require_connectivity_state();
var backoff_timeout_1 = require_backoff_timeout();
var logging = require_logging();
var constants_1 = require_constants2();
var uri_parser_1 = require_uri_parser();
var subchannel_address_1 = require_subchannel_address();
var channelz_1 = require_channelz();
var TRACER_NAME2 = "subchannel";
var KEEPALIVE_MAX_TIME_MS = ~(1 << 31);
var Subchannel = class {
/**
* A class representing a connection to a single backend.
* @param channelTarget The target string for the channel as a whole
* @param subchannelAddress The address for the backend that this subchannel
* will connect to
* @param options The channel options, plus any specific subchannel options
* for this subchannel
* @param credentials The channel credentials used to establish this
* connection
*/
constructor(channelTarget, subchannelAddress, options, credentials3, connector) {
var _a4;
this.channelTarget = channelTarget;
this.subchannelAddress = subchannelAddress;
this.options = options;
this.connector = connector;
this.connectivityState = connectivity_state_1.ConnectivityState.IDLE;
this.transport = null;
this.continueConnecting = false;
this.stateListeners = /* @__PURE__ */ new Set();
this.refcount = 0;
this.channelzEnabled = true;
const backoffOptions = {
initialDelay: options["grpc.initial_reconnect_backoff_ms"],
maxDelay: options["grpc.max_reconnect_backoff_ms"]
};
this.backoffTimeout = new backoff_timeout_1.BackoffTimeout(() => {
this.handleBackoffTimer();
}, backoffOptions);
this.backoffTimeout.unref();
this.subchannelAddressString = (0, subchannel_address_1.subchannelAddressToString)(subchannelAddress);
this.keepaliveTime = (_a4 = options["grpc.keepalive_time_ms"]) !== null && _a4 !== void 0 ? _a4 : -1;
if (options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
this.channelzTrace = new channelz_1.ChannelzTraceStub();
this.callTracker = new channelz_1.ChannelzCallTrackerStub();
this.childrenTracker = new channelz_1.ChannelzChildrenTrackerStub();
this.streamTracker = new channelz_1.ChannelzCallTrackerStub();
} else {
this.channelzTrace = new channelz_1.ChannelzTrace();
this.callTracker = new channelz_1.ChannelzCallTracker();
this.childrenTracker = new channelz_1.ChannelzChildrenTracker();
this.streamTracker = new channelz_1.ChannelzCallTracker();
}
this.channelzRef = (0, channelz_1.registerChannelzSubchannel)(this.subchannelAddressString, () => this.getChannelzInfo(), this.channelzEnabled);
this.channelzTrace.addTrace("CT_INFO", "Subchannel created");
this.trace("Subchannel constructed with options " + JSON.stringify(options, void 0, 2));
this.secureConnector = credentials3._createSecureConnector(channelTarget, options);
}
getChannelzInfo() {
return {
state: this.connectivityState,
trace: this.channelzTrace,
callTracker: this.callTracker,
children: this.childrenTracker.getChildLists(),
target: this.subchannelAddressString
};
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
refTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "subchannel_refcount", "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
handleBackoffTimer() {
if (this.continueConnecting) {
this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.CONNECTING);
} else {
this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.IDLE);
}
}
/**
* Start a backoff timer with the current nextBackoff timeout
*/
startBackoff() {
this.backoffTimeout.runOnce();
}
stopBackoff() {
this.backoffTimeout.stop();
this.backoffTimeout.reset();
}
startConnectingInternal() {
let options = this.options;
if (options["grpc.keepalive_time_ms"]) {
const adjustedKeepaliveTime = Math.min(this.keepaliveTime, KEEPALIVE_MAX_TIME_MS);
options = Object.assign(Object.assign({}, options), { "grpc.keepalive_time_ms": adjustedKeepaliveTime });
}
this.connector.connect(this.subchannelAddress, this.secureConnector, options).then((transport) => {
if (this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING], connectivity_state_1.ConnectivityState.READY)) {
this.transport = transport;
if (this.channelzEnabled) {
this.childrenTracker.refChild(transport.getChannelzRef());
}
transport.addDisconnectListener((tooManyPings) => {
this.transitionToState([connectivity_state_1.ConnectivityState.READY], connectivity_state_1.ConnectivityState.IDLE);
if (tooManyPings && this.keepaliveTime > 0) {
this.keepaliveTime *= 2;
logging.log(constants_1.LogVerbosity.ERROR, `Connection to ${(0, uri_parser_1.uriToString)(this.channelTarget)} at ${this.subchannelAddressString} rejected by server because of excess pings. Increasing ping interval to ${this.keepaliveTime} ms`);
}
});
} else {
transport.shutdown();
}
}, (error40) => {
this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING], connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, `${error40}`);
});
}
/**
* Initiate a state transition from any element of oldStates to the new
* state. If the current connectivityState is not in oldStates, do nothing.
* @param oldStates The set of states to transition from
* @param newState The state to transition to
* @returns True if the state changed, false otherwise
*/
transitionToState(oldStates, newState, errorMessage) {
var _a4, _b;
if (oldStates.indexOf(this.connectivityState) === -1) {
return false;
}
if (errorMessage) {
this.trace(connectivity_state_1.ConnectivityState[this.connectivityState] + " -> " + connectivity_state_1.ConnectivityState[newState] + ' with error "' + errorMessage + '"');
} else {
this.trace(connectivity_state_1.ConnectivityState[this.connectivityState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
}
if (this.channelzEnabled) {
this.channelzTrace.addTrace("CT_INFO", "Connectivity state change to " + connectivity_state_1.ConnectivityState[newState]);
}
const previousState = this.connectivityState;
this.connectivityState = newState;
switch (newState) {
case connectivity_state_1.ConnectivityState.READY:
this.stopBackoff();
break;
case connectivity_state_1.ConnectivityState.CONNECTING:
this.startBackoff();
this.startConnectingInternal();
this.continueConnecting = false;
break;
case connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE:
if (this.channelzEnabled && this.transport) {
this.childrenTracker.unrefChild(this.transport.getChannelzRef());
}
(_a4 = this.transport) === null || _a4 === void 0 ? void 0 : _a4.shutdown();
this.transport = null;
if (!this.backoffTimeout.isRunning()) {
process.nextTick(() => {
this.handleBackoffTimer();
});
}
break;
case connectivity_state_1.ConnectivityState.IDLE:
if (this.channelzEnabled && this.transport) {
this.childrenTracker.unrefChild(this.transport.getChannelzRef());
}
(_b = this.transport) === null || _b === void 0 ? void 0 : _b.shutdown();
this.transport = null;
break;
default:
throw new Error(`Invalid state: unknown ConnectivityState ${newState}`);
}
for (const listener of this.stateListeners) {
listener(this, previousState, newState, this.keepaliveTime, errorMessage);
}
return true;
}
ref() {
this.refTrace("refcount " + this.refcount + " -> " + (this.refcount + 1));
this.refcount += 1;
}
unref() {
this.refTrace("refcount " + this.refcount + " -> " + (this.refcount - 1));
this.refcount -= 1;
if (this.refcount === 0) {
this.channelzTrace.addTrace("CT_INFO", "Shutting down");
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
this.secureConnector.destroy();
process.nextTick(() => {
this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING, connectivity_state_1.ConnectivityState.READY], connectivity_state_1.ConnectivityState.IDLE);
});
}
}
unrefIfOneRef() {
if (this.refcount === 1) {
this.unref();
return true;
}
return false;
}
createCall(metadata2, host, method, listener) {
if (!this.transport) {
throw new Error("Cannot create call, subchannel not READY");
}
let statsTracker;
if (this.channelzEnabled) {
this.callTracker.addCallStarted();
this.streamTracker.addCallStarted();
statsTracker = {
onCallEnd: (status2) => {
if (status2.code === constants_1.Status.OK) {
this.callTracker.addCallSucceeded();
} else {
this.callTracker.addCallFailed();
}
}
};
} else {
statsTracker = {};
}
return this.transport.createCall(metadata2, host, method, listener, statsTracker);
}
/**
* If the subchannel is currently IDLE, start connecting and switch to the
* CONNECTING state. If the subchannel is current in TRANSIENT_FAILURE,
* the next time it would transition to IDLE, start connecting again instead.
* Otherwise, do nothing.
*/
startConnecting() {
process.nextTick(() => {
if (!this.transitionToState([connectivity_state_1.ConnectivityState.IDLE], connectivity_state_1.ConnectivityState.CONNECTING)) {
if (this.connectivityState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
this.continueConnecting = true;
}
}
});
}
/**
* Get the subchannel's current connectivity state.
*/
getConnectivityState() {
return this.connectivityState;
}
/**
* Add a listener function to be called whenever the subchannel's
* connectivity state changes.
* @param listener
*/
addConnectivityStateListener(listener) {
this.stateListeners.add(listener);
}
/**
* Remove a listener previously added with `addConnectivityStateListener`
* @param listener A reference to a function previously passed to
* `addConnectivityStateListener`
*/
removeConnectivityStateListener(listener) {
this.stateListeners.delete(listener);
}
/**
* Reset the backoff timeout, and immediately start connecting if in backoff.
*/
resetBackoff() {
process.nextTick(() => {
this.backoffTimeout.reset();
this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.CONNECTING);
});
}
getAddress() {
return this.subchannelAddressString;
}
getChannelzRef() {
return this.channelzRef;
}
isHealthy() {
return true;
}
addHealthStateWatcher(listener) {
}
removeHealthStateWatcher(listener) {
}
getRealSubchannel() {
return this;
}
realSubchannelEquals(other) {
return other.getRealSubchannel() === this;
}
throttleKeepalive(newKeepaliveTime) {
if (newKeepaliveTime > this.keepaliveTime) {
this.keepaliveTime = newKeepaliveTime;
}
}
getCallCredentials() {
return this.secureConnector.getCallCredentials();
}
};
exports2.Subchannel = Subchannel;
}
});
// node_modules/@grpc/grpc-js/build/src/environment.js
var require_environment2 = __commonJS({
"node_modules/@grpc/grpc-js/build/src/environment.js"(exports2) {
"use strict";
var _a4;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GRPC_NODE_USE_ALTERNATIVE_RESOLVER = void 0;
exports2.GRPC_NODE_USE_ALTERNATIVE_RESOLVER = ((_a4 = process.env.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) !== null && _a4 !== void 0 ? _a4 : "false") === "true";
}
});
// node_modules/@grpc/grpc-js/build/src/resolver-dns.js
var require_resolver_dns = __commonJS({
"node_modules/@grpc/grpc-js/build/src/resolver-dns.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_PORT = void 0;
exports2.setup = setup;
var resolver_1 = require_resolver();
var dns_1 = __require("dns");
var service_config_1 = require_service_config();
var constants_1 = require_constants2();
var metadata_1 = require_metadata();
var logging = require_logging();
var constants_2 = require_constants2();
var uri_parser_1 = require_uri_parser();
var net_1 = __require("net");
var backoff_timeout_1 = require_backoff_timeout();
var environment_1 = require_environment2();
var TRACER_NAME2 = "dns_resolver";
function trace2(text) {
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
exports2.DEFAULT_PORT = 443;
var DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS = 3e4;
var DnsResolver = class {
constructor(target, listener, channelOptions) {
var _a4, _b, _c;
this.target = target;
this.listener = listener;
this.pendingLookupPromise = null;
this.pendingTxtPromise = null;
this.latestLookupResult = null;
this.latestServiceConfig = null;
this.latestServiceConfigError = null;
this.continueResolving = false;
this.isNextResolutionTimerRunning = false;
this.isServiceConfigEnabled = true;
this.returnedIpResult = false;
this.alternativeResolver = new dns_1.promises.Resolver();
trace2("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
if (target.authority) {
this.alternativeResolver.setServers([target.authority]);
}
const hostPort = (0, uri_parser_1.splitHostPort)(target.path);
if (hostPort === null) {
this.ipResult = null;
this.dnsHostname = null;
this.port = null;
} else {
if ((0, net_1.isIPv4)(hostPort.host) || (0, net_1.isIPv6)(hostPort.host)) {
this.ipResult = [
{
addresses: [
{
host: hostPort.host,
port: (_a4 = hostPort.port) !== null && _a4 !== void 0 ? _a4 : exports2.DEFAULT_PORT
}
]
}
];
this.dnsHostname = null;
this.port = null;
} else {
this.ipResult = null;
this.dnsHostname = hostPort.host;
this.port = (_b = hostPort.port) !== null && _b !== void 0 ? _b : exports2.DEFAULT_PORT;
}
}
this.percentage = Math.random() * 100;
if (channelOptions["grpc.service_config_disable_resolution"] === 1) {
this.isServiceConfigEnabled = false;
}
this.defaultResolutionError = {
code: constants_1.Status.UNAVAILABLE,
details: `Name resolution failed for target ${(0, uri_parser_1.uriToString)(this.target)}`,
metadata: new metadata_1.Metadata()
};
const backoffOptions = {
initialDelay: channelOptions["grpc.initial_reconnect_backoff_ms"],
maxDelay: channelOptions["grpc.max_reconnect_backoff_ms"]
};
this.backoff = new backoff_timeout_1.BackoffTimeout(() => {
if (this.continueResolving) {
this.startResolutionWithBackoff();
}
}, backoffOptions);
this.backoff.unref();
this.minTimeBetweenResolutionsMs = (_c = channelOptions["grpc.dns_min_time_between_resolutions_ms"]) !== null && _c !== void 0 ? _c : DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS;
this.nextResolutionTimer = setTimeout(() => {
}, 0);
clearTimeout(this.nextResolutionTimer);
}
/**
* If the target is an IP address, just provide that address as a result.
* Otherwise, initiate A, AAAA, and TXT lookups
*/
startResolution() {
if (this.ipResult !== null) {
if (!this.returnedIpResult) {
trace2("Returning IP address for target " + (0, uri_parser_1.uriToString)(this.target));
setImmediate(() => {
this.listener.onSuccessfulResolution(this.ipResult, null, null, null, {});
});
this.returnedIpResult = true;
}
this.backoff.stop();
this.backoff.reset();
this.stopNextResolutionTimer();
return;
}
if (this.dnsHostname === null) {
trace2("Failed to parse DNS address " + (0, uri_parser_1.uriToString)(this.target));
setImmediate(() => {
this.listener.onError({
code: constants_1.Status.UNAVAILABLE,
details: `Failed to parse DNS address ${(0, uri_parser_1.uriToString)(this.target)}`,
metadata: new metadata_1.Metadata()
});
});
this.stopNextResolutionTimer();
} else {
if (this.pendingLookupPromise !== null) {
return;
}
trace2("Looking up DNS hostname " + this.dnsHostname);
this.latestLookupResult = null;
const hostname3 = this.dnsHostname;
this.pendingLookupPromise = this.lookup(hostname3);
this.pendingLookupPromise.then((addressList) => {
if (this.pendingLookupPromise === null) {
return;
}
this.pendingLookupPromise = null;
this.backoff.reset();
this.backoff.stop();
this.latestLookupResult = addressList.map((address) => ({
addresses: [address]
}));
const allAddressesString = "[" + addressList.map((addr2) => addr2.host + ":" + addr2.port).join(",") + "]";
trace2("Resolved addresses for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + allAddressesString);
if (this.latestLookupResult.length === 0) {
this.listener.onError(this.defaultResolutionError);
return;
}
this.listener.onSuccessfulResolution(this.latestLookupResult, this.latestServiceConfig, this.latestServiceConfigError, null, {});
}, (err2) => {
if (this.pendingLookupPromise === null) {
return;
}
trace2("Resolution error for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + err2.message);
this.pendingLookupPromise = null;
this.stopNextResolutionTimer();
this.listener.onError(this.defaultResolutionError);
});
if (this.isServiceConfigEnabled && this.pendingTxtPromise === null) {
this.pendingTxtPromise = this.resolveTxt(hostname3);
this.pendingTxtPromise.then((txtRecord) => {
if (this.pendingTxtPromise === null) {
return;
}
this.pendingTxtPromise = null;
try {
this.latestServiceConfig = (0, service_config_1.extractAndSelectServiceConfig)(txtRecord, this.percentage);
} catch (err2) {
this.latestServiceConfigError = {
code: constants_1.Status.UNAVAILABLE,
details: `Parsing service config failed with error ${err2.message}`,
metadata: new metadata_1.Metadata()
};
}
if (this.latestLookupResult !== null) {
this.listener.onSuccessfulResolution(this.latestLookupResult, this.latestServiceConfig, this.latestServiceConfigError, null, {});
}
}, (err2) => {
});
}
}
}
async lookup(hostname3) {
if (environment_1.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
trace2("Using alternative DNS resolver.");
const records = await Promise.allSettled([
this.alternativeResolver.resolve4(hostname3),
this.alternativeResolver.resolve6(hostname3)
]);
if (records.every((result2) => result2.status === "rejected")) {
throw new Error(records[0].reason);
}
return records.reduce((acc, result2) => {
return result2.status === "fulfilled" ? [...acc, ...result2.value] : acc;
}, []).map((addr2) => ({
host: addr2,
port: +this.port
}));
}
const addressList = await dns_1.promises.lookup(hostname3, { all: true });
return addressList.map((addr2) => ({ host: addr2.address, port: +this.port }));
}
async resolveTxt(hostname3) {
if (environment_1.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
trace2("Using alternative DNS resolver.");
return this.alternativeResolver.resolveTxt(hostname3);
}
return dns_1.promises.resolveTxt(hostname3);
}
startNextResolutionTimer() {
var _a4, _b;
clearTimeout(this.nextResolutionTimer);
this.nextResolutionTimer = setTimeout(() => {
this.stopNextResolutionTimer();
if (this.continueResolving) {
this.startResolutionWithBackoff();
}
}, this.minTimeBetweenResolutionsMs);
(_b = (_a4 = this.nextResolutionTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
this.isNextResolutionTimerRunning = true;
}
stopNextResolutionTimer() {
clearTimeout(this.nextResolutionTimer);
this.isNextResolutionTimerRunning = false;
}
startResolutionWithBackoff() {
if (this.pendingLookupPromise === null) {
this.continueResolving = false;
this.backoff.runOnce();
this.startNextResolutionTimer();
this.startResolution();
}
}
updateResolution() {
if (this.pendingLookupPromise === null) {
if (this.isNextResolutionTimerRunning || this.backoff.isRunning()) {
if (this.isNextResolutionTimerRunning) {
trace2('resolution update delayed by "min time between resolutions" rate limit');
} else {
trace2("resolution update delayed by backoff timer until " + this.backoff.getEndTime().toISOString());
}
this.continueResolving = true;
} else {
this.startResolutionWithBackoff();
}
}
}
/**
* Reset the resolver to the same state it had when it was created. In-flight
* DNS requests cannot be cancelled, but they are discarded and their results
* will be ignored.
*/
destroy() {
this.continueResolving = false;
this.backoff.reset();
this.backoff.stop();
this.stopNextResolutionTimer();
this.pendingLookupPromise = null;
this.pendingTxtPromise = null;
this.latestLookupResult = null;
this.latestServiceConfig = null;
this.latestServiceConfigError = null;
this.returnedIpResult = false;
}
/**
* Get the default authority for the given target. For IP targets, that is
* the IP address. For DNS targets, it is the hostname.
* @param target
*/
static getDefaultAuthority(target) {
return target.path;
}
};
function setup() {
(0, resolver_1.registerResolver)("dns", DnsResolver);
(0, resolver_1.registerDefaultScheme)("dns");
}
}
});
// node_modules/@grpc/grpc-js/build/src/http_proxy.js
var require_http_proxy = __commonJS({
"node_modules/@grpc/grpc-js/build/src/http_proxy.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseCIDR = parseCIDR;
exports2.mapProxyName = mapProxyName;
exports2.getProxiedConnection = getProxiedConnection;
var logging_1 = require_logging();
var constants_1 = require_constants2();
var net_1 = __require("net");
var http3 = __require("http");
var logging = require_logging();
var subchannel_address_1 = require_subchannel_address();
var uri_parser_1 = require_uri_parser();
var url_1 = __require("url");
var resolver_dns_1 = require_resolver_dns();
var TRACER_NAME2 = "proxy";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
function getProxyInfo() {
let proxyEnv = "";
let envVar = "";
if (process.env.grpc_proxy) {
envVar = "grpc_proxy";
proxyEnv = process.env.grpc_proxy;
} else if (process.env.https_proxy) {
envVar = "https_proxy";
proxyEnv = process.env.https_proxy;
} else if (process.env.http_proxy) {
envVar = "http_proxy";
proxyEnv = process.env.http_proxy;
} else {
return {};
}
let proxyUrl;
try {
proxyUrl = new url_1.URL(proxyEnv);
} catch (e2) {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, `cannot parse value of "${envVar}" env var`);
return {};
}
if (proxyUrl.protocol !== "http:") {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, `"${proxyUrl.protocol}" scheme not supported in proxy URI`);
return {};
}
let userCred = null;
if (proxyUrl.username) {
if (proxyUrl.password) {
(0, logging_1.log)(constants_1.LogVerbosity.INFO, "userinfo found in proxy URI");
userCred = decodeURIComponent(`${proxyUrl.username}:${proxyUrl.password}`);
} else {
userCred = proxyUrl.username;
}
}
const hostname3 = proxyUrl.hostname;
let port = proxyUrl.port;
if (port === "") {
port = "80";
}
const result2 = {
address: `${hostname3}:${port}`
};
if (userCred) {
result2.creds = userCred;
}
trace2("Proxy server " + result2.address + " set by environment variable " + envVar);
return result2;
}
function getNoProxyHostList() {
let noProxyStr = process.env.no_grpc_proxy;
let envVar = "no_grpc_proxy";
if (!noProxyStr) {
noProxyStr = process.env.no_proxy;
envVar = "no_proxy";
}
if (noProxyStr) {
trace2("No proxy server list set by environment variable " + envVar);
return noProxyStr.split(",");
} else {
return [];
}
}
function parseCIDR(cidrString) {
const splitRange = cidrString.split("/");
if (splitRange.length !== 2) {
return null;
}
const prefixLength = parseInt(splitRange[1], 10);
if (!(0, net_1.isIPv4)(splitRange[0]) || Number.isNaN(prefixLength) || prefixLength < 0 || prefixLength > 32) {
return null;
}
return {
ip: ipToInt(splitRange[0]),
prefixLength
};
}
function ipToInt(ip) {
return ip.split(".").reduce((acc, octet) => (acc << 8) + parseInt(octet, 10), 0);
}
function isIpInCIDR(cidr, serverHost) {
const ip = cidr.ip;
const mask = -1 << 32 - cidr.prefixLength;
const hostIP = ipToInt(serverHost);
return (hostIP & mask) === (ip & mask);
}
function hostMatchesNoProxyList(serverHost) {
for (const host of getNoProxyHostList()) {
const parsedCIDR = parseCIDR(host);
if ((0, net_1.isIPv4)(serverHost) && parsedCIDR && isIpInCIDR(parsedCIDR, serverHost)) {
return true;
} else if (serverHost.endsWith(host)) {
return true;
}
}
return false;
}
function mapProxyName(target, options) {
var _a4;
const noProxyResult = {
target,
extraOptions: {}
};
if (((_a4 = options["grpc.enable_http_proxy"]) !== null && _a4 !== void 0 ? _a4 : 1) === 0) {
return noProxyResult;
}
if (target.scheme === "unix") {
return noProxyResult;
}
const proxyInfo = getProxyInfo();
if (!proxyInfo.address) {
return noProxyResult;
}
const hostPort = (0, uri_parser_1.splitHostPort)(target.path);
if (!hostPort) {
return noProxyResult;
}
const serverHost = hostPort.host;
if (hostMatchesNoProxyList(serverHost)) {
trace2("Not using proxy for target in no_proxy list: " + (0, uri_parser_1.uriToString)(target));
return noProxyResult;
}
const extraOptions = {
"grpc.http_connect_target": (0, uri_parser_1.uriToString)(target)
};
if (proxyInfo.creds) {
extraOptions["grpc.http_connect_creds"] = proxyInfo.creds;
}
return {
target: {
scheme: "dns",
path: proxyInfo.address
},
extraOptions
};
}
function getProxiedConnection(address, channelOptions) {
var _a4;
if (!("grpc.http_connect_target" in channelOptions)) {
return Promise.resolve(null);
}
const realTarget = channelOptions["grpc.http_connect_target"];
const parsedTarget = (0, uri_parser_1.parseUri)(realTarget);
if (parsedTarget === null) {
return Promise.resolve(null);
}
const splitHostPost = (0, uri_parser_1.splitHostPort)(parsedTarget.path);
if (splitHostPost === null) {
return Promise.resolve(null);
}
const hostPort = `${splitHostPost.host}:${(_a4 = splitHostPost.port) !== null && _a4 !== void 0 ? _a4 : resolver_dns_1.DEFAULT_PORT}`;
const options = {
method: "CONNECT",
path: hostPort
};
const headers = {
Host: hostPort
};
if ((0, subchannel_address_1.isTcpSubchannelAddress)(address)) {
options.host = address.host;
options.port = address.port;
} else {
options.socketPath = address.path;
}
if ("grpc.http_connect_creds" in channelOptions) {
headers["Proxy-Authorization"] = "Basic " + Buffer.from(channelOptions["grpc.http_connect_creds"]).toString("base64");
}
options.headers = headers;
const proxyAddressString = (0, subchannel_address_1.subchannelAddressToString)(address);
trace2("Using proxy " + proxyAddressString + " to connect to " + options.path);
return new Promise((resolve25, reject) => {
const request = http3.request(options);
request.once("connect", (res, socket, head) => {
request.removeAllListeners();
socket.removeAllListeners();
if (res.statusCode === 200) {
trace2("Successfully connected to " + options.path + " through proxy " + proxyAddressString);
if (head.length > 0) {
socket.unshift(head);
}
trace2("Successfully established a plaintext connection to " + options.path + " through proxy " + proxyAddressString);
resolve25(socket);
} else {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, "Failed to connect to " + options.path + " through proxy " + proxyAddressString + " with status " + res.statusCode);
reject();
}
});
request.once("error", (err2) => {
request.removeAllListeners();
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, "Failed to connect to proxy " + proxyAddressString + " with error " + err2.message);
reject();
});
request.end();
});
}
}
});
// node_modules/@grpc/grpc-js/build/src/stream-decoder.js
var require_stream_decoder = __commonJS({
"node_modules/@grpc/grpc-js/build/src/stream-decoder.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StreamDecoder = void 0;
var ReadState;
(function(ReadState2) {
ReadState2[ReadState2["NO_DATA"] = 0] = "NO_DATA";
ReadState2[ReadState2["READING_SIZE"] = 1] = "READING_SIZE";
ReadState2[ReadState2["READING_MESSAGE"] = 2] = "READING_MESSAGE";
})(ReadState || (ReadState = {}));
var StreamDecoder = class {
constructor(maxReadMessageLength) {
this.maxReadMessageLength = maxReadMessageLength;
this.readState = ReadState.NO_DATA;
this.readCompressFlag = Buffer.alloc(1);
this.readPartialSize = Buffer.alloc(4);
this.readSizeRemaining = 4;
this.readMessageSize = 0;
this.readPartialMessage = [];
this.readMessageRemaining = 0;
}
write(data) {
let readHead = 0;
let toRead;
const result2 = [];
while (readHead < data.length) {
switch (this.readState) {
case ReadState.NO_DATA:
this.readCompressFlag = data.slice(readHead, readHead + 1);
readHead += 1;
this.readState = ReadState.READING_SIZE;
this.readPartialSize.fill(0);
this.readSizeRemaining = 4;
this.readMessageSize = 0;
this.readMessageRemaining = 0;
this.readPartialMessage = [];
break;
case ReadState.READING_SIZE:
toRead = Math.min(data.length - readHead, this.readSizeRemaining);
data.copy(this.readPartialSize, 4 - this.readSizeRemaining, readHead, readHead + toRead);
this.readSizeRemaining -= toRead;
readHead += toRead;
if (this.readSizeRemaining === 0) {
this.readMessageSize = this.readPartialSize.readUInt32BE(0);
if (this.maxReadMessageLength !== -1 && this.readMessageSize > this.maxReadMessageLength) {
throw new Error(`Received message larger than max (${this.readMessageSize} vs ${this.maxReadMessageLength})`);
}
this.readMessageRemaining = this.readMessageSize;
if (this.readMessageRemaining > 0) {
this.readState = ReadState.READING_MESSAGE;
} else {
const message = Buffer.concat([this.readCompressFlag, this.readPartialSize], 5);
this.readState = ReadState.NO_DATA;
result2.push(message);
}
}
break;
case ReadState.READING_MESSAGE:
toRead = Math.min(data.length - readHead, this.readMessageRemaining);
this.readPartialMessage.push(data.slice(readHead, readHead + toRead));
this.readMessageRemaining -= toRead;
readHead += toRead;
if (this.readMessageRemaining === 0) {
const framedMessageBuffers = [
this.readCompressFlag,
this.readPartialSize
].concat(this.readPartialMessage);
const framedMessage = Buffer.concat(framedMessageBuffers, this.readMessageSize + 5);
this.readState = ReadState.NO_DATA;
result2.push(framedMessage);
}
break;
default:
throw new Error("Unexpected read state");
}
}
return result2;
}
};
exports2.StreamDecoder = StreamDecoder;
}
});
// node_modules/@grpc/grpc-js/build/src/subchannel-call.js
var require_subchannel_call = __commonJS({
"node_modules/@grpc/grpc-js/build/src/subchannel-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Http2SubchannelCall = void 0;
var http22 = __require("http2");
var os30 = __require("os");
var constants_1 = require_constants2();
var metadata_1 = require_metadata();
var stream_decoder_1 = require_stream_decoder();
var logging = require_logging();
var constants_2 = require_constants2();
var TRACER_NAME2 = "subchannel_call";
function getSystemErrorName(errno) {
for (const [name3, num] of Object.entries(os30.constants.errno)) {
if (num === errno) {
return name3;
}
}
return "Unknown system error " + errno;
}
function mapHttpStatusCode(code) {
const details = `Received HTTP status code ${code}`;
let mappedStatusCode;
switch (code) {
// TODO(murgatroid99): handle 100 and 101
case 400:
mappedStatusCode = constants_1.Status.INTERNAL;
break;
case 401:
mappedStatusCode = constants_1.Status.UNAUTHENTICATED;
break;
case 403:
mappedStatusCode = constants_1.Status.PERMISSION_DENIED;
break;
case 404:
mappedStatusCode = constants_1.Status.UNIMPLEMENTED;
break;
case 429:
case 502:
case 503:
case 504:
mappedStatusCode = constants_1.Status.UNAVAILABLE;
break;
default:
mappedStatusCode = constants_1.Status.UNKNOWN;
}
return {
code: mappedStatusCode,
details,
metadata: new metadata_1.Metadata()
};
}
var Http2SubchannelCall = class {
constructor(http2Stream, callEventTracker, listener, transport, callId) {
var _a4;
this.http2Stream = http2Stream;
this.callEventTracker = callEventTracker;
this.listener = listener;
this.transport = transport;
this.callId = callId;
this.isReadFilterPending = false;
this.isPushPending = false;
this.canPush = false;
this.readsClosed = false;
this.statusOutput = false;
this.unpushedReadMessages = [];
this.finalStatus = null;
this.internalError = null;
this.serverEndedCall = false;
this.connectionDropped = false;
const maxReceiveMessageLength = (_a4 = transport.getOptions()["grpc.max_receive_message_length"]) !== null && _a4 !== void 0 ? _a4 : constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
this.decoder = new stream_decoder_1.StreamDecoder(maxReceiveMessageLength);
http2Stream.on("response", (headers, flags2) => {
let headersString = "";
for (const header of Object.keys(headers)) {
headersString += " " + header + ": " + headers[header] + "\n";
}
this.trace("Received server headers:\n" + headersString);
this.httpStatusCode = headers[":status"];
if (flags2 & http22.constants.NGHTTP2_FLAG_END_STREAM) {
this.handleTrailers(headers);
} else {
let metadata2;
try {
metadata2 = metadata_1.Metadata.fromHttp2Headers(headers);
} catch (error40) {
this.endCall({
code: constants_1.Status.UNKNOWN,
details: error40.message,
metadata: new metadata_1.Metadata()
});
return;
}
this.listener.onReceiveMetadata(metadata2);
}
});
http2Stream.on("trailers", (headers) => {
this.handleTrailers(headers);
});
http2Stream.on("data", (data) => {
if (this.statusOutput) {
return;
}
this.trace("receive HTTP/2 data frame of length " + data.length);
let messages;
try {
messages = this.decoder.write(data);
} catch (e2) {
if (this.httpStatusCode !== void 0 && this.httpStatusCode !== 200) {
const mappedStatus = mapHttpStatusCode(this.httpStatusCode);
this.cancelWithStatus(mappedStatus.code, mappedStatus.details);
} else {
this.cancelWithStatus(constants_1.Status.RESOURCE_EXHAUSTED, e2.message);
}
return;
}
for (const message of messages) {
this.trace("parsed message of length " + message.length);
this.callEventTracker.addMessageReceived();
this.tryPush(message);
}
});
http2Stream.on("end", () => {
this.readsClosed = true;
this.maybeOutputStatus();
});
http2Stream.on("close", () => {
this.serverEndedCall = true;
process.nextTick(() => {
var _a5;
this.trace("HTTP/2 stream closed with code " + http2Stream.rstCode);
if (((_a5 = this.finalStatus) === null || _a5 === void 0 ? void 0 : _a5.code) === constants_1.Status.OK) {
return;
}
let code;
let details = "";
switch (http2Stream.rstCode) {
case http22.constants.NGHTTP2_NO_ERROR:
if (this.finalStatus !== null) {
return;
}
if (this.httpStatusCode && this.httpStatusCode !== 200) {
const mappedStatus = mapHttpStatusCode(this.httpStatusCode);
code = mappedStatus.code;
details = mappedStatus.details;
} else {
code = constants_1.Status.INTERNAL;
details = `Received RST_STREAM with code ${http2Stream.rstCode} (Call ended without gRPC status)`;
}
break;
case http22.constants.NGHTTP2_REFUSED_STREAM:
code = constants_1.Status.UNAVAILABLE;
details = "Stream refused by server";
break;
case http22.constants.NGHTTP2_CANCEL:
if (this.connectionDropped) {
code = constants_1.Status.UNAVAILABLE;
details = "Connection dropped";
} else {
code = constants_1.Status.CANCELLED;
details = "Call cancelled";
}
break;
case http22.constants.NGHTTP2_ENHANCE_YOUR_CALM:
code = constants_1.Status.RESOURCE_EXHAUSTED;
details = "Bandwidth exhausted or memory limit exceeded";
break;
case http22.constants.NGHTTP2_INADEQUATE_SECURITY:
code = constants_1.Status.PERMISSION_DENIED;
details = "Protocol not secure enough";
break;
case http22.constants.NGHTTP2_INTERNAL_ERROR:
code = constants_1.Status.INTERNAL;
if (this.internalError === null) {
details = `Received RST_STREAM with code ${http2Stream.rstCode} (Internal server error)`;
} else {
if (this.internalError.code === "ECONNRESET" || this.internalError.code === "ETIMEDOUT") {
code = constants_1.Status.UNAVAILABLE;
details = this.internalError.message;
} else {
details = `Received RST_STREAM with code ${http2Stream.rstCode} triggered by internal client error: ${this.internalError.message}`;
}
}
break;
default:
code = constants_1.Status.INTERNAL;
details = `Received RST_STREAM with code ${http2Stream.rstCode}`;
}
this.endCall({
code,
details,
metadata: new metadata_1.Metadata(),
rstCode: http2Stream.rstCode
});
});
});
http2Stream.on("error", (err2) => {
if (err2.code !== "ERR_HTTP2_STREAM_ERROR") {
this.trace("Node error event: message=" + err2.message + " code=" + err2.code + " errno=" + getSystemErrorName(err2.errno) + " syscall=" + err2.syscall);
this.internalError = err2;
}
this.callEventTracker.onStreamEnd(false);
});
}
getDeadlineInfo() {
return [`remote_addr=${this.getPeer()}`];
}
onDisconnect() {
this.connectionDropped = true;
setImmediate(() => {
this.endCall({
code: constants_1.Status.UNAVAILABLE,
details: "Connection dropped",
metadata: new metadata_1.Metadata()
});
});
}
outputStatus() {
if (!this.statusOutput) {
this.statusOutput = true;
this.trace("ended with status: code=" + this.finalStatus.code + ' details="' + this.finalStatus.details + '"');
this.callEventTracker.onCallEnd(this.finalStatus);
process.nextTick(() => {
this.listener.onReceiveStatus(this.finalStatus);
});
this.http2Stream.resume();
}
}
trace(text) {
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callId + "] " + text);
}
/**
* On first call, emits a 'status' event with the given StatusObject.
* Subsequent calls are no-ops.
* @param status The status of the call.
*/
endCall(status2) {
if (this.finalStatus === null || this.finalStatus.code === constants_1.Status.OK) {
this.finalStatus = status2;
this.maybeOutputStatus();
}
this.destroyHttp2Stream();
}
maybeOutputStatus() {
if (this.finalStatus !== null) {
if (this.finalStatus.code !== constants_1.Status.OK || this.readsClosed && this.unpushedReadMessages.length === 0 && !this.isReadFilterPending && !this.isPushPending) {
this.outputStatus();
}
}
}
push(message) {
this.trace("pushing to reader message of length " + (message instanceof Buffer ? message.length : null));
this.canPush = false;
this.isPushPending = true;
process.nextTick(() => {
this.isPushPending = false;
if (this.statusOutput) {
return;
}
this.listener.onReceiveMessage(message);
this.maybeOutputStatus();
});
}
tryPush(messageBytes) {
if (this.canPush) {
this.http2Stream.pause();
this.push(messageBytes);
} else {
this.trace("unpushedReadMessages.push message of length " + messageBytes.length);
this.unpushedReadMessages.push(messageBytes);
}
}
handleTrailers(headers) {
this.serverEndedCall = true;
this.callEventTracker.onStreamEnd(true);
let headersString = "";
for (const header of Object.keys(headers)) {
headersString += " " + header + ": " + headers[header] + "\n";
}
this.trace("Received server trailers:\n" + headersString);
let metadata2;
try {
metadata2 = metadata_1.Metadata.fromHttp2Headers(headers);
} catch (e2) {
metadata2 = new metadata_1.Metadata();
}
const metadataMap = metadata2.getMap();
let status2;
if (typeof metadataMap["grpc-status"] === "string") {
const receivedStatus = Number(metadataMap["grpc-status"]);
this.trace("received status code " + receivedStatus + " from server");
metadata2.remove("grpc-status");
let details = "";
if (typeof metadataMap["grpc-message"] === "string") {
try {
details = decodeURI(metadataMap["grpc-message"]);
} catch (e2) {
details = metadataMap["grpc-message"];
}
metadata2.remove("grpc-message");
this.trace('received status details string "' + details + '" from server');
}
status2 = {
code: receivedStatus,
details,
metadata: metadata2
};
} else if (this.httpStatusCode) {
status2 = mapHttpStatusCode(this.httpStatusCode);
status2.metadata = metadata2;
} else {
status2 = {
code: constants_1.Status.UNKNOWN,
details: "No status information received",
metadata: metadata2
};
}
this.endCall(status2);
}
destroyHttp2Stream() {
var _a4;
if (this.http2Stream.destroyed) {
return;
}
if (this.serverEndedCall) {
this.http2Stream.end();
} else {
let code;
if (((_a4 = this.finalStatus) === null || _a4 === void 0 ? void 0 : _a4.code) === constants_1.Status.OK) {
code = http22.constants.NGHTTP2_NO_ERROR;
} else {
code = http22.constants.NGHTTP2_CANCEL;
}
this.trace("close http2 stream with code " + code);
this.http2Stream.close(code);
}
}
cancelWithStatus(status2, details) {
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
this.endCall({ code: status2, details, metadata: new metadata_1.Metadata() });
}
getStatus() {
return this.finalStatus;
}
getPeer() {
return this.transport.getPeerName();
}
getCallNumber() {
return this.callId;
}
startRead() {
if (this.finalStatus !== null && this.finalStatus.code !== constants_1.Status.OK) {
this.readsClosed = true;
this.maybeOutputStatus();
return;
}
this.canPush = true;
if (this.unpushedReadMessages.length > 0) {
const nextMessage = this.unpushedReadMessages.shift();
this.push(nextMessage);
return;
}
this.http2Stream.resume();
}
sendMessageWithContext(context2, message) {
this.trace("write() called with message of length " + message.length);
const cb = (error40) => {
process.nextTick(() => {
var _a4;
let code = constants_1.Status.UNAVAILABLE;
if ((error40 === null || error40 === void 0 ? void 0 : error40.code) === "ERR_STREAM_WRITE_AFTER_END") {
code = constants_1.Status.INTERNAL;
}
if (error40) {
this.cancelWithStatus(code, `Write error: ${error40.message}`);
}
(_a4 = context2.callback) === null || _a4 === void 0 ? void 0 : _a4.call(context2);
});
};
this.trace("sending data chunk of length " + message.length);
this.callEventTracker.addMessageSent();
try {
this.http2Stream.write(message, cb);
} catch (error40) {
this.endCall({
code: constants_1.Status.UNAVAILABLE,
details: `Write failed with error ${error40.message}`,
metadata: new metadata_1.Metadata()
});
}
}
halfClose() {
this.trace("end() called");
this.trace("calling end() on HTTP/2 stream");
this.http2Stream.end();
}
};
exports2.Http2SubchannelCall = Http2SubchannelCall;
}
});
// node_modules/@grpc/grpc-js/build/src/call-number.js
var require_call_number = __commonJS({
"node_modules/@grpc/grpc-js/build/src/call-number.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getNextCallNumber = getNextCallNumber;
var nextCallNumber = 0;
function getNextCallNumber() {
return nextCallNumber++;
}
}
});
// node_modules/@grpc/grpc-js/build/src/transport.js
var require_transport = __commonJS({
"node_modules/@grpc/grpc-js/build/src/transport.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Http2SubchannelConnector = void 0;
var http22 = __require("http2");
var channelz_1 = require_channelz();
var constants_1 = require_constants2();
var http_proxy_1 = require_http_proxy();
var logging = require_logging();
var resolver_1 = require_resolver();
var subchannel_address_1 = require_subchannel_address();
var uri_parser_1 = require_uri_parser();
var net2 = __require("net");
var subchannel_call_1 = require_subchannel_call();
var call_number_1 = require_call_number();
var TRACER_NAME2 = "transport";
var FLOW_CONTROL_TRACER_NAME = "transport_flowctrl";
var clientVersion = require_package3().version;
var { HTTP2_HEADER_AUTHORITY, HTTP2_HEADER_CONTENT_TYPE, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_TE, HTTP2_HEADER_USER_AGENT } = http22.constants;
var KEEPALIVE_TIMEOUT_MS = 2e4;
var tooManyPingsData = Buffer.from("too_many_pings", "ascii");
var Http2Transport = class {
constructor(session, subchannelAddress, options, remoteName) {
this.session = session;
this.options = options;
this.remoteName = remoteName;
this.keepaliveTimer = null;
this.pendingSendKeepalivePing = false;
this.activeCalls = /* @__PURE__ */ new Set();
this.disconnectListeners = [];
this.disconnectHandled = false;
this.channelzEnabled = true;
this.keepalivesSent = 0;
this.messagesSent = 0;
this.messagesReceived = 0;
this.lastMessageSentTimestamp = null;
this.lastMessageReceivedTimestamp = null;
this.subchannelAddressString = (0, subchannel_address_1.subchannelAddressToString)(subchannelAddress);
if (options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
this.streamTracker = new channelz_1.ChannelzCallTrackerStub();
} else {
this.streamTracker = new channelz_1.ChannelzCallTracker();
}
this.channelzRef = (0, channelz_1.registerChannelzSocket)(this.subchannelAddressString, () => this.getChannelzInfo(), this.channelzEnabled);
this.userAgent = [
options["grpc.primary_user_agent"],
`grpc-node-js/${clientVersion}`,
options["grpc.secondary_user_agent"]
].filter((e2) => e2).join(" ");
if ("grpc.keepalive_time_ms" in options) {
this.keepaliveTimeMs = options["grpc.keepalive_time_ms"];
} else {
this.keepaliveTimeMs = -1;
}
if ("grpc.keepalive_timeout_ms" in options) {
this.keepaliveTimeoutMs = options["grpc.keepalive_timeout_ms"];
} else {
this.keepaliveTimeoutMs = KEEPALIVE_TIMEOUT_MS;
}
if ("grpc.keepalive_permit_without_calls" in options) {
this.keepaliveWithoutCalls = options["grpc.keepalive_permit_without_calls"] === 1;
} else {
this.keepaliveWithoutCalls = false;
}
session.once("close", () => {
this.trace("session closed");
this.handleDisconnect();
});
session.once("goaway", (errorCode, lastStreamID, opaqueData) => {
let tooManyPings = false;
if (errorCode === http22.constants.NGHTTP2_ENHANCE_YOUR_CALM && opaqueData && opaqueData.equals(tooManyPingsData)) {
tooManyPings = true;
}
this.trace("connection closed by GOAWAY with code " + errorCode + " and data " + (opaqueData === null || opaqueData === void 0 ? void 0 : opaqueData.toString()));
this.reportDisconnectToOwner(tooManyPings);
});
session.once("error", (error40) => {
this.trace("connection closed with error " + error40.message);
this.handleDisconnect();
});
session.socket.once("close", (hadError) => {
this.trace("connection closed. hadError=" + hadError);
this.handleDisconnect();
});
if (logging.isTracerEnabled(TRACER_NAME2)) {
session.on("remoteSettings", (settings) => {
this.trace("new settings received" + (this.session !== session ? " on the old connection" : "") + ": " + JSON.stringify(settings));
});
session.on("localSettings", (settings) => {
this.trace("local settings acknowledged by remote" + (this.session !== session ? " on the old connection" : "") + ": " + JSON.stringify(settings));
});
}
if (this.keepaliveWithoutCalls) {
this.maybeStartKeepalivePingTimer();
}
}
getChannelzInfo() {
var _a4, _b, _c;
const sessionSocket = this.session.socket;
const remoteAddress = sessionSocket.remoteAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
const localAddress = sessionSocket.localAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.localAddress, sessionSocket.localPort) : null;
let tlsInfo;
if (this.session.encrypted) {
const tlsSocket = sessionSocket;
const cipherInfo = tlsSocket.getCipher();
const certificate = tlsSocket.getCertificate();
const peerCertificate = tlsSocket.getPeerCertificate();
tlsInfo = {
cipherSuiteStandardName: (_a4 = cipherInfo.standardName) !== null && _a4 !== void 0 ? _a4 : null,
cipherSuiteOtherName: cipherInfo.standardName ? null : cipherInfo.name,
localCertificate: certificate && "raw" in certificate ? certificate.raw : null,
remoteCertificate: peerCertificate && "raw" in peerCertificate ? peerCertificate.raw : null
};
} else {
tlsInfo = null;
}
const socketInfo = {
remoteAddress,
localAddress,
security: tlsInfo,
remoteName: this.remoteName,
streamsStarted: this.streamTracker.callsStarted,
streamsSucceeded: this.streamTracker.callsSucceeded,
streamsFailed: this.streamTracker.callsFailed,
messagesSent: this.messagesSent,
messagesReceived: this.messagesReceived,
keepAlivesSent: this.keepalivesSent,
lastLocalStreamCreatedTimestamp: this.streamTracker.lastCallStartedTimestamp,
lastRemoteStreamCreatedTimestamp: null,
lastMessageSentTimestamp: this.lastMessageSentTimestamp,
lastMessageReceivedTimestamp: this.lastMessageReceivedTimestamp,
localFlowControlWindow: (_b = this.session.state.localWindowSize) !== null && _b !== void 0 ? _b : null,
remoteFlowControlWindow: (_c = this.session.state.remoteWindowSize) !== null && _c !== void 0 ? _c : null
};
return socketInfo;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
keepaliveTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "keepalive", "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
flowControlTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, FLOW_CONTROL_TRACER_NAME, "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
internalsTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "transport_internals", "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
/**
* Indicate to the owner of this object that this transport should no longer
* be used. That happens if the connection drops, or if the server sends a
* GOAWAY.
* @param tooManyPings If true, this was triggered by a GOAWAY with data
* indicating that the session was closed becaues the client sent too many
* pings.
* @returns
*/
reportDisconnectToOwner(tooManyPings) {
if (this.disconnectHandled) {
return;
}
this.disconnectHandled = true;
this.disconnectListeners.forEach((listener) => listener(tooManyPings));
}
/**
* Handle connection drops, but not GOAWAYs.
*/
handleDisconnect() {
this.clearKeepaliveTimeout();
this.reportDisconnectToOwner(false);
for (const call of this.activeCalls) {
call.onDisconnect();
}
setImmediate(() => {
this.session.destroy();
});
}
addDisconnectListener(listener) {
this.disconnectListeners.push(listener);
}
canSendPing() {
return !this.session.destroyed && this.keepaliveTimeMs > 0 && (this.keepaliveWithoutCalls || this.activeCalls.size > 0);
}
maybeSendPing() {
var _a4, _b;
if (!this.canSendPing()) {
this.pendingSendKeepalivePing = true;
return;
}
if (this.keepaliveTimer) {
console.error("keepaliveTimeout is not null");
return;
}
if (this.channelzEnabled) {
this.keepalivesSent += 1;
}
this.keepaliveTrace("Sending ping with timeout " + this.keepaliveTimeoutMs + "ms");
this.keepaliveTimer = setTimeout(() => {
this.keepaliveTimer = null;
this.keepaliveTrace("Ping timeout passed without response");
this.handleDisconnect();
}, this.keepaliveTimeoutMs);
(_b = (_a4 = this.keepaliveTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
let pingSendError = "";
try {
const pingSentSuccessfully = this.session.ping((err2, duration3, payload) => {
this.clearKeepaliveTimeout();
if (err2) {
this.keepaliveTrace("Ping failed with error " + err2.message);
this.handleDisconnect();
} else {
this.keepaliveTrace("Received ping response");
this.maybeStartKeepalivePingTimer();
}
});
if (!pingSentSuccessfully) {
pingSendError = "Ping returned false";
}
} catch (e2) {
pingSendError = (e2 instanceof Error ? e2.message : "") || "Unknown error";
}
if (pingSendError) {
this.keepaliveTrace("Ping send failed: " + pingSendError);
this.handleDisconnect();
}
}
/**
* Starts the keepalive ping timer if appropriate. If the timer already ran
* out while there were no active requests, instead send a ping immediately.
* If the ping timer is already running or a ping is currently in flight,
* instead do nothing and wait for them to resolve.
*/
maybeStartKeepalivePingTimer() {
var _a4, _b;
if (!this.canSendPing()) {
return;
}
if (this.pendingSendKeepalivePing) {
this.pendingSendKeepalivePing = false;
this.maybeSendPing();
} else if (!this.keepaliveTimer) {
this.keepaliveTrace("Starting keepalive timer for " + this.keepaliveTimeMs + "ms");
this.keepaliveTimer = setTimeout(() => {
this.keepaliveTimer = null;
this.maybeSendPing();
}, this.keepaliveTimeMs);
(_b = (_a4 = this.keepaliveTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
}
/**
* Clears whichever keepalive timeout is currently active, if any.
*/
clearKeepaliveTimeout() {
if (this.keepaliveTimer) {
clearTimeout(this.keepaliveTimer);
this.keepaliveTimer = null;
}
}
removeActiveCall(call) {
this.activeCalls.delete(call);
if (this.activeCalls.size === 0) {
this.session.unref();
}
}
addActiveCall(call) {
this.activeCalls.add(call);
if (this.activeCalls.size === 1) {
this.session.ref();
if (!this.keepaliveWithoutCalls) {
this.maybeStartKeepalivePingTimer();
}
}
}
createCall(metadata2, host, method, listener, subchannelCallStatsTracker) {
const headers = metadata2.toHttp2Headers();
headers[HTTP2_HEADER_AUTHORITY] = host;
headers[HTTP2_HEADER_USER_AGENT] = this.userAgent;
headers[HTTP2_HEADER_CONTENT_TYPE] = "application/grpc";
headers[HTTP2_HEADER_METHOD] = "POST";
headers[HTTP2_HEADER_PATH] = method;
headers[HTTP2_HEADER_TE] = "trailers";
let http2Stream;
try {
http2Stream = this.session.request(headers);
} catch (e2) {
this.handleDisconnect();
throw e2;
}
this.flowControlTrace("local window size: " + this.session.state.localWindowSize + " remote window size: " + this.session.state.remoteWindowSize);
this.internalsTrace("session.closed=" + this.session.closed + " session.destroyed=" + this.session.destroyed + " session.socket.destroyed=" + this.session.socket.destroyed);
let eventTracker;
let call;
if (this.channelzEnabled) {
this.streamTracker.addCallStarted();
eventTracker = {
addMessageSent: () => {
var _a4;
this.messagesSent += 1;
this.lastMessageSentTimestamp = /* @__PURE__ */ new Date();
(_a4 = subchannelCallStatsTracker.addMessageSent) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
addMessageReceived: () => {
var _a4;
this.messagesReceived += 1;
this.lastMessageReceivedTimestamp = /* @__PURE__ */ new Date();
(_a4 = subchannelCallStatsTracker.addMessageReceived) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
onCallEnd: (status2) => {
var _a4;
(_a4 = subchannelCallStatsTracker.onCallEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, status2);
this.removeActiveCall(call);
},
onStreamEnd: (success2) => {
var _a4;
if (success2) {
this.streamTracker.addCallSucceeded();
} else {
this.streamTracker.addCallFailed();
}
(_a4 = subchannelCallStatsTracker.onStreamEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, success2);
}
};
} else {
eventTracker = {
addMessageSent: () => {
var _a4;
(_a4 = subchannelCallStatsTracker.addMessageSent) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
addMessageReceived: () => {
var _a4;
(_a4 = subchannelCallStatsTracker.addMessageReceived) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
onCallEnd: (status2) => {
var _a4;
(_a4 = subchannelCallStatsTracker.onCallEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, status2);
this.removeActiveCall(call);
},
onStreamEnd: (success2) => {
var _a4;
(_a4 = subchannelCallStatsTracker.onStreamEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, success2);
}
};
}
call = new subchannel_call_1.Http2SubchannelCall(http2Stream, eventTracker, listener, this, (0, call_number_1.getNextCallNumber)());
this.addActiveCall(call);
return call;
}
getChannelzRef() {
return this.channelzRef;
}
getPeerName() {
return this.subchannelAddressString;
}
getOptions() {
return this.options;
}
shutdown() {
this.session.close();
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
}
};
var Http2SubchannelConnector = class {
constructor(channelTarget) {
this.channelTarget = channelTarget;
this.session = null;
this.isShutdown = false;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, (0, uri_parser_1.uriToString)(this.channelTarget) + " " + text);
}
createSession(secureConnectResult, address, options) {
if (this.isShutdown) {
return Promise.reject();
}
if (secureConnectResult.socket.closed) {
return Promise.reject("Connection closed before starting HTTP/2 handshake");
}
return new Promise((resolve25, reject) => {
let remoteName = null;
let realTarget = this.channelTarget;
if ("grpc.http_connect_target" in options) {
const parsedTarget = (0, uri_parser_1.parseUri)(options["grpc.http_connect_target"]);
if (parsedTarget) {
realTarget = parsedTarget;
remoteName = (0, uri_parser_1.uriToString)(parsedTarget);
}
}
const scheme = secureConnectResult.secure ? "https" : "http";
const targetPath = (0, resolver_1.getDefaultAuthority)(realTarget);
const closeHandler = () => {
var _a4;
(_a4 = this.session) === null || _a4 === void 0 ? void 0 : _a4.destroy();
this.session = null;
setImmediate(() => {
if (!reportedError) {
reportedError = true;
reject(`${errorMessage.trim()} (${(/* @__PURE__ */ new Date()).toISOString()})`);
}
});
};
const errorHandler = (error40) => {
var _a4;
(_a4 = this.session) === null || _a4 === void 0 ? void 0 : _a4.destroy();
errorMessage = error40.message;
this.trace("connection failed with error " + errorMessage);
if (!reportedError) {
reportedError = true;
reject(`${errorMessage} (${(/* @__PURE__ */ new Date()).toISOString()})`);
}
};
const sessionOptions = {
createConnection: (authority, option2) => {
return secureConnectResult.socket;
}
};
if (options["grpc-node.flow_control_window"] !== void 0) {
sessionOptions.settings = {
initialWindowSize: options["grpc-node.flow_control_window"]
};
}
const session = http22.connect(`${scheme}://${targetPath}`, sessionOptions);
this.session = session;
let errorMessage = "Failed to connect";
let reportedError = false;
session.unref();
session.once("remoteSettings", () => {
session.removeAllListeners();
secureConnectResult.socket.removeListener("close", closeHandler);
secureConnectResult.socket.removeListener("error", errorHandler);
resolve25(new Http2Transport(session, address, options, remoteName));
this.session = null;
});
session.once("close", closeHandler);
session.once("error", errorHandler);
secureConnectResult.socket.once("close", closeHandler);
secureConnectResult.socket.once("error", errorHandler);
});
}
tcpConnect(address, options) {
return (0, http_proxy_1.getProxiedConnection)(address, options).then((proxiedSocket) => {
if (proxiedSocket) {
return proxiedSocket;
} else {
return new Promise((resolve25, reject) => {
const closeCallback = () => {
reject(new Error("Socket closed"));
};
const errorCallback = (error40) => {
reject(error40);
};
const socket = net2.connect(address, () => {
socket.removeListener("close", closeCallback);
socket.removeListener("error", errorCallback);
resolve25(socket);
});
socket.once("close", closeCallback);
socket.once("error", errorCallback);
});
}
});
}
async connect(address, secureConnector, options) {
if (this.isShutdown) {
return Promise.reject();
}
let tcpConnection = null;
let secureConnectResult = null;
const addressString = (0, subchannel_address_1.subchannelAddressToString)(address);
try {
this.trace(addressString + " Waiting for secureConnector to be ready");
await secureConnector.waitForReady();
this.trace(addressString + " secureConnector is ready");
tcpConnection = await this.tcpConnect(address, options);
tcpConnection.setNoDelay();
this.trace(addressString + " Established TCP connection");
secureConnectResult = await secureConnector.connect(tcpConnection);
this.trace(addressString + " Established secure connection");
return this.createSession(secureConnectResult, address, options);
} catch (e2) {
tcpConnection === null || tcpConnection === void 0 ? void 0 : tcpConnection.destroy();
secureConnectResult === null || secureConnectResult === void 0 ? void 0 : secureConnectResult.socket.destroy();
throw e2;
}
}
shutdown() {
var _a4;
this.isShutdown = true;
(_a4 = this.session) === null || _a4 === void 0 ? void 0 : _a4.close();
this.session = null;
}
};
exports2.Http2SubchannelConnector = Http2SubchannelConnector;
}
});
// node_modules/@grpc/grpc-js/build/src/subchannel-pool.js
var require_subchannel_pool = __commonJS({
"node_modules/@grpc/grpc-js/build/src/subchannel-pool.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SubchannelPool = void 0;
exports2.getSubchannelPool = getSubchannelPool;
var channel_options_1 = require_channel_options();
var subchannel_1 = require_subchannel();
var subchannel_address_1 = require_subchannel_address();
var uri_parser_1 = require_uri_parser();
var transport_1 = require_transport();
var REF_CHECK_INTERVAL = 1e4;
var SubchannelPool = class {
/**
* A pool of subchannels use for making connections. Subchannels with the
* exact same parameters will be reused.
*/
constructor() {
this.pool = /* @__PURE__ */ Object.create(null);
this.cleanupTimer = null;
}
/**
* Unrefs all unused subchannels and cancels the cleanup task if all
* subchannels have been unrefed.
*/
unrefUnusedSubchannels() {
let allSubchannelsUnrefed = true;
for (const channelTarget in this.pool) {
const subchannelObjArray = this.pool[channelTarget];
const refedSubchannels = subchannelObjArray.filter((value) => !value.subchannel.unrefIfOneRef());
if (refedSubchannels.length > 0) {
allSubchannelsUnrefed = false;
}
this.pool[channelTarget] = refedSubchannels;
}
if (allSubchannelsUnrefed && this.cleanupTimer !== null) {
clearInterval(this.cleanupTimer);
this.cleanupTimer = null;
}
}
/**
* Ensures that the cleanup task is spawned.
*/
ensureCleanupTask() {
var _a4, _b;
if (this.cleanupTimer === null) {
this.cleanupTimer = setInterval(() => {
this.unrefUnusedSubchannels();
}, REF_CHECK_INTERVAL);
(_b = (_a4 = this.cleanupTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
}
/**
* Get a subchannel if one already exists with exactly matching parameters.
* Otherwise, create and save a subchannel with those parameters.
* @param channelTarget
* @param subchannelTarget
* @param channelArguments
* @param channelCredentials
*/
getOrCreateSubchannel(channelTargetUri, subchannelTarget, channelArguments, channelCredentials) {
this.ensureCleanupTask();
const channelTarget = (0, uri_parser_1.uriToString)(channelTargetUri);
if (channelTarget in this.pool) {
const subchannelObjArray = this.pool[channelTarget];
for (const subchannelObj of subchannelObjArray) {
if ((0, subchannel_address_1.subchannelAddressEqual)(subchannelTarget, subchannelObj.subchannelAddress) && (0, channel_options_1.channelOptionsEqual)(channelArguments, subchannelObj.channelArguments) && channelCredentials._equals(subchannelObj.channelCredentials)) {
return subchannelObj.subchannel;
}
}
}
const subchannel = new subchannel_1.Subchannel(channelTargetUri, subchannelTarget, channelArguments, channelCredentials, new transport_1.Http2SubchannelConnector(channelTargetUri));
if (!(channelTarget in this.pool)) {
this.pool[channelTarget] = [];
}
this.pool[channelTarget].push({
subchannelAddress: subchannelTarget,
channelArguments,
channelCredentials,
subchannel
});
subchannel.ref();
return subchannel;
}
};
exports2.SubchannelPool = SubchannelPool;
var globalSubchannelPool = new SubchannelPool();
function getSubchannelPool(global3) {
if (global3) {
return globalSubchannelPool;
} else {
return new SubchannelPool();
}
}
}
});
// node_modules/@grpc/grpc-js/build/src/filter-stack.js
var require_filter_stack = __commonJS({
"node_modules/@grpc/grpc-js/build/src/filter-stack.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.FilterStackFactory = exports2.FilterStack = void 0;
var FilterStack = class {
constructor(filters) {
this.filters = filters;
}
sendMetadata(metadata2) {
let result2 = metadata2;
for (let i3 = 0; i3 < this.filters.length; i3++) {
result2 = this.filters[i3].sendMetadata(result2);
}
return result2;
}
receiveMetadata(metadata2) {
let result2 = metadata2;
for (let i3 = this.filters.length - 1; i3 >= 0; i3--) {
result2 = this.filters[i3].receiveMetadata(result2);
}
return result2;
}
sendMessage(message) {
let result2 = message;
for (let i3 = 0; i3 < this.filters.length; i3++) {
result2 = this.filters[i3].sendMessage(result2);
}
return result2;
}
receiveMessage(message) {
let result2 = message;
for (let i3 = this.filters.length - 1; i3 >= 0; i3--) {
result2 = this.filters[i3].receiveMessage(result2);
}
return result2;
}
receiveTrailers(status2) {
let result2 = status2;
for (let i3 = this.filters.length - 1; i3 >= 0; i3--) {
result2 = this.filters[i3].receiveTrailers(result2);
}
return result2;
}
push(filters) {
this.filters.unshift(...filters);
}
getFilters() {
return this.filters;
}
};
exports2.FilterStack = FilterStack;
var FilterStackFactory = class _FilterStackFactory {
constructor(factories) {
this.factories = factories;
}
push(filterFactories) {
this.factories.unshift(...filterFactories);
}
clone() {
return new _FilterStackFactory([...this.factories]);
}
createFilter() {
return new FilterStack(this.factories.map((factory) => factory.createFilter()));
}
};
exports2.FilterStackFactory = FilterStackFactory;
}
});
// node_modules/@grpc/grpc-js/build/src/compression-algorithms.js
var require_compression_algorithms = __commonJS({
"node_modules/@grpc/grpc-js/build/src/compression-algorithms.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CompressionAlgorithms = void 0;
var CompressionAlgorithms;
(function(CompressionAlgorithms2) {
CompressionAlgorithms2[CompressionAlgorithms2["identity"] = 0] = "identity";
CompressionAlgorithms2[CompressionAlgorithms2["deflate"] = 1] = "deflate";
CompressionAlgorithms2[CompressionAlgorithms2["gzip"] = 2] = "gzip";
})(CompressionAlgorithms || (exports2.CompressionAlgorithms = CompressionAlgorithms = {}));
}
});
// node_modules/@grpc/grpc-js/build/src/filter.js
var require_filter = __commonJS({
"node_modules/@grpc/grpc-js/build/src/filter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BaseFilter = void 0;
var BaseFilter = class {
async sendMetadata(metadata2) {
return metadata2;
}
receiveMetadata(metadata2) {
return metadata2;
}
async sendMessage(message) {
return message;
}
async receiveMessage(message) {
return message;
}
receiveTrailers(status2) {
return status2;
}
};
exports2.BaseFilter = BaseFilter;
}
});
// node_modules/@grpc/grpc-js/build/src/compression-filter.js
var require_compression_filter = __commonJS({
"node_modules/@grpc/grpc-js/build/src/compression-filter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CompressionFilterFactory = exports2.CompressionFilter = void 0;
var zlib2 = __require("zlib");
var compression_algorithms_1 = require_compression_algorithms();
var constants_1 = require_constants2();
var filter_1 = require_filter();
var logging = require_logging();
var isCompressionAlgorithmKey = (key) => {
return typeof key === "number" && typeof compression_algorithms_1.CompressionAlgorithms[key] === "string";
};
var CompressionHandler = class {
/**
* @param message Raw uncompressed message bytes
* @param compress Indicates whether the message should be compressed
* @return Framed message, compressed if applicable
*/
async writeMessage(message, compress) {
let messageBuffer = message;
if (compress) {
messageBuffer = await this.compressMessage(messageBuffer);
}
const output = Buffer.allocUnsafe(messageBuffer.length + 5);
output.writeUInt8(compress ? 1 : 0, 0);
output.writeUInt32BE(messageBuffer.length, 1);
messageBuffer.copy(output, 5);
return output;
}
/**
* @param data Framed message, possibly compressed
* @return Uncompressed message
*/
async readMessage(data) {
const compressed = data.readUInt8(0) === 1;
let messageBuffer = data.slice(5);
if (compressed) {
messageBuffer = await this.decompressMessage(messageBuffer);
}
return messageBuffer;
}
};
var IdentityHandler = class extends CompressionHandler {
async compressMessage(message) {
return message;
}
async writeMessage(message, compress) {
const output = Buffer.allocUnsafe(message.length + 5);
output.writeUInt8(0, 0);
output.writeUInt32BE(message.length, 1);
message.copy(output, 5);
return output;
}
decompressMessage(message) {
return Promise.reject(new Error('Received compressed message but "grpc-encoding" header was identity'));
}
};
var DeflateHandler = class extends CompressionHandler {
constructor(maxRecvMessageLength) {
super();
this.maxRecvMessageLength = maxRecvMessageLength;
}
compressMessage(message) {
return new Promise((resolve25, reject) => {
zlib2.deflate(message, (err2, output) => {
if (err2) {
reject(err2);
} else {
resolve25(output);
}
});
});
}
decompressMessage(message) {
return new Promise((resolve25, reject) => {
let totalLength = 0;
const messageParts = [];
const decompresser = zlib2.createInflate();
decompresser.on("data", (chunk) => {
messageParts.push(chunk);
totalLength += chunk.byteLength;
if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) {
decompresser.destroy();
reject({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`
});
}
});
decompresser.on("end", () => {
resolve25(Buffer.concat(messageParts));
});
decompresser.write(message);
decompresser.end();
});
}
};
var GzipHandler = class extends CompressionHandler {
constructor(maxRecvMessageLength) {
super();
this.maxRecvMessageLength = maxRecvMessageLength;
}
compressMessage(message) {
return new Promise((resolve25, reject) => {
zlib2.gzip(message, (err2, output) => {
if (err2) {
reject(err2);
} else {
resolve25(output);
}
});
});
}
decompressMessage(message) {
return new Promise((resolve25, reject) => {
let totalLength = 0;
const messageParts = [];
const decompresser = zlib2.createGunzip();
decompresser.on("data", (chunk) => {
messageParts.push(chunk);
totalLength += chunk.byteLength;
if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) {
decompresser.destroy();
reject({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`
});
}
});
decompresser.on("end", () => {
resolve25(Buffer.concat(messageParts));
});
decompresser.write(message);
decompresser.end();
});
}
};
var UnknownHandler = class extends CompressionHandler {
constructor(compressionName) {
super();
this.compressionName = compressionName;
}
compressMessage(message) {
return Promise.reject(new Error(`Received message compressed with unsupported compression method ${this.compressionName}`));
}
decompressMessage(message) {
return Promise.reject(new Error(`Compression method not supported: ${this.compressionName}`));
}
};
function getCompressionHandler(compressionName, maxReceiveMessageSize) {
switch (compressionName) {
case "identity":
return new IdentityHandler();
case "deflate":
return new DeflateHandler(maxReceiveMessageSize);
case "gzip":
return new GzipHandler(maxReceiveMessageSize);
default:
return new UnknownHandler(compressionName);
}
}
var CompressionFilter = class extends filter_1.BaseFilter {
constructor(channelOptions, sharedFilterConfig) {
var _a4, _b, _c;
super();
this.sharedFilterConfig = sharedFilterConfig;
this.sendCompression = new IdentityHandler();
this.receiveCompression = new IdentityHandler();
this.currentCompressionAlgorithm = "identity";
const compressionAlgorithmKey = channelOptions["grpc.default_compression_algorithm"];
this.maxReceiveMessageLength = (_a4 = channelOptions["grpc.max_receive_message_length"]) !== null && _a4 !== void 0 ? _a4 : constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
this.maxSendMessageLength = (_b = channelOptions["grpc.max_send_message_length"]) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_MAX_SEND_MESSAGE_LENGTH;
if (compressionAlgorithmKey !== void 0) {
if (isCompressionAlgorithmKey(compressionAlgorithmKey)) {
const clientSelectedEncoding = compression_algorithms_1.CompressionAlgorithms[compressionAlgorithmKey];
const serverSupportedEncodings = (_c = sharedFilterConfig.serverSupportedEncodingHeader) === null || _c === void 0 ? void 0 : _c.split(",");
if (!serverSupportedEncodings || serverSupportedEncodings.includes(clientSelectedEncoding)) {
this.currentCompressionAlgorithm = clientSelectedEncoding;
this.sendCompression = getCompressionHandler(this.currentCompressionAlgorithm, -1);
}
} else {
logging.log(constants_1.LogVerbosity.ERROR, `Invalid value provided for grpc.default_compression_algorithm option: ${compressionAlgorithmKey}`);
}
}
}
async sendMetadata(metadata2) {
const headers = await metadata2;
headers.set("grpc-accept-encoding", "identity,deflate,gzip");
headers.set("accept-encoding", "identity");
if (this.currentCompressionAlgorithm === "identity") {
headers.remove("grpc-encoding");
} else {
headers.set("grpc-encoding", this.currentCompressionAlgorithm);
}
return headers;
}
receiveMetadata(metadata2) {
const receiveEncoding = metadata2.get("grpc-encoding");
if (receiveEncoding.length > 0) {
const encoding = receiveEncoding[0];
if (typeof encoding === "string") {
this.receiveCompression = getCompressionHandler(encoding, this.maxReceiveMessageLength);
}
}
metadata2.remove("grpc-encoding");
const serverSupportedEncodingsHeader = metadata2.get("grpc-accept-encoding")[0];
if (serverSupportedEncodingsHeader) {
this.sharedFilterConfig.serverSupportedEncodingHeader = serverSupportedEncodingsHeader;
const serverSupportedEncodings = serverSupportedEncodingsHeader.split(",");
if (!serverSupportedEncodings.includes(this.currentCompressionAlgorithm)) {
this.sendCompression = new IdentityHandler();
this.currentCompressionAlgorithm = "identity";
}
}
metadata2.remove("grpc-accept-encoding");
return metadata2;
}
async sendMessage(message) {
var _a4;
const resolvedMessage = await message;
if (this.maxSendMessageLength !== -1 && resolvedMessage.message.length > this.maxSendMessageLength) {
throw {
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Attempted to send message with a size larger than ${this.maxSendMessageLength}`
};
}
let compress;
if (this.sendCompression instanceof IdentityHandler) {
compress = false;
} else {
compress = (((_a4 = resolvedMessage.flags) !== null && _a4 !== void 0 ? _a4 : 0) & 2) === 0;
}
return {
message: await this.sendCompression.writeMessage(resolvedMessage.message, compress),
flags: resolvedMessage.flags
};
}
async receiveMessage(message) {
return this.receiveCompression.readMessage(await message);
}
};
exports2.CompressionFilter = CompressionFilter;
var CompressionFilterFactory = class {
constructor(channel, options) {
this.options = options;
this.sharedFilterConfig = {};
}
createFilter() {
return new CompressionFilter(this.options, this.sharedFilterConfig);
}
};
exports2.CompressionFilterFactory = CompressionFilterFactory;
}
});
// node_modules/@grpc/grpc-js/build/src/deadline.js
var require_deadline = __commonJS({
"node_modules/@grpc/grpc-js/build/src/deadline.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.minDeadline = minDeadline;
exports2.getDeadlineTimeoutString = getDeadlineTimeoutString;
exports2.getRelativeTimeout = getRelativeTimeout;
exports2.deadlineToString = deadlineToString;
exports2.formatDateDifference = formatDateDifference;
function minDeadline(...deadlineList) {
let minValue = Infinity;
for (const deadline of deadlineList) {
const deadlineMsecs = deadline instanceof Date ? deadline.getTime() : deadline;
if (deadlineMsecs < minValue) {
minValue = deadlineMsecs;
}
}
return minValue;
}
var units = [
["m", 1],
["S", 1e3],
["M", 60 * 1e3],
["H", 60 * 60 * 1e3]
];
function getDeadlineTimeoutString(deadline) {
const now = (/* @__PURE__ */ new Date()).getTime();
if (deadline instanceof Date) {
deadline = deadline.getTime();
}
const timeoutMs = Math.max(deadline - now, 0);
for (const [unit, factor] of units) {
const amount = timeoutMs / factor;
if (amount < 1e8) {
return String(Math.ceil(amount)) + unit;
}
}
throw new Error("Deadline is too far in the future");
}
var MAX_TIMEOUT_TIME = 2147483647;
function getRelativeTimeout(deadline) {
const deadlineMs = deadline instanceof Date ? deadline.getTime() : deadline;
const now = (/* @__PURE__ */ new Date()).getTime();
const timeout = deadlineMs - now;
if (timeout < 0) {
return 0;
} else if (timeout > MAX_TIMEOUT_TIME) {
return Infinity;
} else {
return timeout;
}
}
function deadlineToString(deadline) {
if (deadline instanceof Date) {
return deadline.toISOString();
} else {
const dateDeadline = new Date(deadline);
if (Number.isNaN(dateDeadline.getTime())) {
return "" + deadline;
} else {
return dateDeadline.toISOString();
}
}
}
function formatDateDifference(startDate, endDate) {
return ((endDate.getTime() - startDate.getTime()) / 1e3).toFixed(3) + "s";
}
}
});
// node_modules/@grpc/grpc-js/build/src/control-plane-status.js
var require_control_plane_status = __commonJS({
"node_modules/@grpc/grpc-js/build/src/control-plane-status.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.restrictControlPlaneStatusCode = restrictControlPlaneStatusCode;
var constants_1 = require_constants2();
var INAPPROPRIATE_CONTROL_PLANE_CODES = [
constants_1.Status.OK,
constants_1.Status.INVALID_ARGUMENT,
constants_1.Status.NOT_FOUND,
constants_1.Status.ALREADY_EXISTS,
constants_1.Status.FAILED_PRECONDITION,
constants_1.Status.ABORTED,
constants_1.Status.OUT_OF_RANGE,
constants_1.Status.DATA_LOSS
];
function restrictControlPlaneStatusCode(code, details) {
if (INAPPROPRIATE_CONTROL_PLANE_CODES.includes(code)) {
return {
code: constants_1.Status.INTERNAL,
details: `Invalid status from control plane: ${code} ${constants_1.Status[code]} ${details}`
};
} else {
return { code, details };
}
}
}
});
// node_modules/@grpc/grpc-js/build/src/load-balancing-call.js
var require_load_balancing_call = __commonJS({
"node_modules/@grpc/grpc-js/build/src/load-balancing-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LoadBalancingCall = void 0;
var connectivity_state_1 = require_connectivity_state();
var constants_1 = require_constants2();
var deadline_1 = require_deadline();
var metadata_1 = require_metadata();
var picker_1 = require_picker();
var uri_parser_1 = require_uri_parser();
var logging = require_logging();
var control_plane_status_1 = require_control_plane_status();
var http22 = __require("http2");
var TRACER_NAME2 = "load_balancing_call";
var LoadBalancingCall = class {
constructor(channel, callConfig, methodName, host, credentials3, deadline, callNumber) {
var _a4, _b;
this.channel = channel;
this.callConfig = callConfig;
this.methodName = methodName;
this.host = host;
this.credentials = credentials3;
this.deadline = deadline;
this.callNumber = callNumber;
this.child = null;
this.readPending = false;
this.pendingMessage = null;
this.pendingHalfClose = false;
this.ended = false;
this.metadata = null;
this.listener = null;
this.onCallEnded = null;
this.childStartTime = null;
const splitPath = this.methodName.split("/");
let serviceName = "";
if (splitPath.length >= 2) {
serviceName = splitPath[1];
}
const hostname3 = (_b = (_a4 = (0, uri_parser_1.splitHostPort)(this.host)) === null || _a4 === void 0 ? void 0 : _a4.host) !== null && _b !== void 0 ? _b : "localhost";
this.serviceUrl = `https://${hostname3}/${serviceName}`;
this.startTime = /* @__PURE__ */ new Date();
}
getDeadlineInfo() {
var _a4, _b;
const deadlineInfo = [];
if (this.childStartTime) {
if (this.childStartTime > this.startTime) {
if ((_a4 = this.metadata) === null || _a4 === void 0 ? void 0 : _a4.getOptions().waitForReady) {
deadlineInfo.push("wait_for_ready");
}
deadlineInfo.push(`LB pick: ${(0, deadline_1.formatDateDifference)(this.startTime, this.childStartTime)}`);
}
deadlineInfo.push(...this.child.getDeadlineInfo());
return deadlineInfo;
} else {
if ((_b = this.metadata) === null || _b === void 0 ? void 0 : _b.getOptions().waitForReady) {
deadlineInfo.push("wait_for_ready");
}
deadlineInfo.push("Waiting for LB pick");
}
return deadlineInfo;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callNumber + "] " + text);
}
outputStatus(status2, progress) {
var _a4, _b;
if (!this.ended) {
this.ended = true;
this.trace("ended with status: code=" + status2.code + ' details="' + status2.details + '" start time=' + this.startTime.toISOString());
const finalStatus = Object.assign(Object.assign({}, status2), { progress });
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onReceiveStatus(finalStatus);
(_b = this.onCallEnded) === null || _b === void 0 ? void 0 : _b.call(this, finalStatus.code);
}
}
doPick() {
var _a4, _b;
if (this.ended) {
return;
}
if (!this.metadata) {
throw new Error("doPick called before start");
}
this.trace("Pick called");
const finalMetadata = this.metadata.clone();
const pickResult = this.channel.doPick(finalMetadata, this.callConfig.pickInformation);
const subchannelString = pickResult.subchannel ? "(" + pickResult.subchannel.getChannelzRef().id + ") " + pickResult.subchannel.getAddress() : "" + pickResult.subchannel;
this.trace("Pick result: " + picker_1.PickResultType[pickResult.pickResultType] + " subchannel: " + subchannelString + " status: " + ((_a4 = pickResult.status) === null || _a4 === void 0 ? void 0 : _a4.code) + " " + ((_b = pickResult.status) === null || _b === void 0 ? void 0 : _b.details));
switch (pickResult.pickResultType) {
case picker_1.PickResultType.COMPLETE:
const combinedCallCredentials = this.credentials.compose(pickResult.subchannel.getCallCredentials());
combinedCallCredentials.generateMetadata({ method_name: this.methodName, service_url: this.serviceUrl }).then((credsMetadata) => {
var _a5;
if (this.ended) {
this.trace("Credentials metadata generation finished after call ended");
return;
}
finalMetadata.merge(credsMetadata);
if (finalMetadata.get("authorization").length > 1) {
this.outputStatus({
code: constants_1.Status.INTERNAL,
details: '"authorization" metadata cannot have multiple values',
metadata: new metadata_1.Metadata()
}, "PROCESSED");
}
if (pickResult.subchannel.getConnectivityState() !== connectivity_state_1.ConnectivityState.READY) {
this.trace("Picked subchannel " + subchannelString + " has state " + connectivity_state_1.ConnectivityState[pickResult.subchannel.getConnectivityState()] + " after getting credentials metadata. Retrying pick");
this.doPick();
return;
}
if (this.deadline !== Infinity) {
finalMetadata.set("grpc-timeout", (0, deadline_1.getDeadlineTimeoutString)(this.deadline));
}
try {
this.child = pickResult.subchannel.getRealSubchannel().createCall(finalMetadata, this.host, this.methodName, {
onReceiveMetadata: (metadata2) => {
this.trace("Received metadata");
this.listener.onReceiveMetadata(metadata2);
},
onReceiveMessage: (message) => {
this.trace("Received message");
this.listener.onReceiveMessage(message);
},
onReceiveStatus: (status2) => {
this.trace("Received status");
if (status2.rstCode === http22.constants.NGHTTP2_REFUSED_STREAM) {
this.outputStatus(status2, "REFUSED");
} else {
this.outputStatus(status2, "PROCESSED");
}
}
});
this.childStartTime = /* @__PURE__ */ new Date();
} catch (error40) {
this.trace("Failed to start call on picked subchannel " + subchannelString + " with error " + error40.message);
this.outputStatus({
code: constants_1.Status.INTERNAL,
details: "Failed to start HTTP/2 stream with error " + error40.message,
metadata: new metadata_1.Metadata()
}, "NOT_STARTED");
return;
}
(_a5 = pickResult.onCallStarted) === null || _a5 === void 0 ? void 0 : _a5.call(pickResult);
this.onCallEnded = pickResult.onCallEnded;
this.trace("Created child call [" + this.child.getCallNumber() + "]");
if (this.readPending) {
this.child.startRead();
}
if (this.pendingMessage) {
this.child.sendMessageWithContext(this.pendingMessage.context, this.pendingMessage.message);
}
if (this.pendingHalfClose) {
this.child.halfClose();
}
}, (error40) => {
const { code: code2, details: details2 } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(typeof error40.code === "number" ? error40.code : constants_1.Status.UNKNOWN, `Getting metadata from plugin failed with error: ${error40.message}`);
this.outputStatus({
code: code2,
details: details2,
metadata: new metadata_1.Metadata()
}, "PROCESSED");
});
break;
case picker_1.PickResultType.DROP:
const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(pickResult.status.code, pickResult.status.details);
setImmediate(() => {
this.outputStatus({ code, details, metadata: pickResult.status.metadata }, "DROP");
});
break;
case picker_1.PickResultType.TRANSIENT_FAILURE:
if (this.metadata.getOptions().waitForReady) {
this.channel.queueCallForPick(this);
} else {
const { code: code2, details: details2 } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(pickResult.status.code, pickResult.status.details);
setImmediate(() => {
this.outputStatus({ code: code2, details: details2, metadata: pickResult.status.metadata }, "PROCESSED");
});
}
break;
case picker_1.PickResultType.QUEUE:
this.channel.queueCallForPick(this);
}
}
cancelWithStatus(status2, details) {
var _a4;
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
(_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(status2, details);
this.outputStatus({ code: status2, details, metadata: new metadata_1.Metadata() }, "PROCESSED");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : this.channel.getTarget();
}
start(metadata2, listener) {
this.trace("start called");
this.listener = listener;
this.metadata = metadata2;
this.doPick();
}
sendMessageWithContext(context2, message) {
this.trace("write() called with message of length " + message.length);
if (this.child) {
this.child.sendMessageWithContext(context2, message);
} else {
this.pendingMessage = { context: context2, message };
}
}
startRead() {
this.trace("startRead called");
if (this.child) {
this.child.startRead();
} else {
this.readPending = true;
}
}
halfClose() {
this.trace("halfClose called");
if (this.child) {
this.child.halfClose();
} else {
this.pendingHalfClose = true;
}
}
setCredentials(credentials3) {
throw new Error("Method not implemented.");
}
getCallNumber() {
return this.callNumber;
}
};
exports2.LoadBalancingCall = LoadBalancingCall;
}
});
// node_modules/@grpc/grpc-js/build/src/resolving-call.js
var require_resolving_call = __commonJS({
"node_modules/@grpc/grpc-js/build/src/resolving-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ResolvingCall = void 0;
var call_credentials_1 = require_call_credentials();
var constants_1 = require_constants2();
var deadline_1 = require_deadline();
var metadata_1 = require_metadata();
var logging = require_logging();
var control_plane_status_1 = require_control_plane_status();
var TRACER_NAME2 = "resolving_call";
var ResolvingCall = class {
constructor(channel, method, options, filterStackFactory, callNumber) {
this.channel = channel;
this.method = method;
this.filterStackFactory = filterStackFactory;
this.callNumber = callNumber;
this.child = null;
this.readPending = false;
this.pendingMessage = null;
this.pendingHalfClose = false;
this.ended = false;
this.readFilterPending = false;
this.writeFilterPending = false;
this.pendingChildStatus = null;
this.metadata = null;
this.listener = null;
this.statusWatchers = [];
this.deadlineTimer = setTimeout(() => {
}, 0);
this.filterStack = null;
this.deadlineStartTime = null;
this.configReceivedTime = null;
this.childStartTime = null;
this.credentials = call_credentials_1.CallCredentials.createEmpty();
this.deadline = options.deadline;
this.host = options.host;
if (options.parentCall) {
if (options.flags & constants_1.Propagate.CANCELLATION) {
options.parentCall.on("cancelled", () => {
this.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled by parent call");
});
}
if (options.flags & constants_1.Propagate.DEADLINE) {
this.trace("Propagating deadline from parent: " + options.parentCall.getDeadline());
this.deadline = (0, deadline_1.minDeadline)(this.deadline, options.parentCall.getDeadline());
}
}
this.trace("Created");
this.runDeadlineTimer();
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callNumber + "] " + text);
}
runDeadlineTimer() {
clearTimeout(this.deadlineTimer);
this.deadlineStartTime = /* @__PURE__ */ new Date();
this.trace("Deadline: " + (0, deadline_1.deadlineToString)(this.deadline));
const timeout = (0, deadline_1.getRelativeTimeout)(this.deadline);
if (timeout !== Infinity) {
this.trace("Deadline will be reached in " + timeout + "ms");
const handleDeadline = () => {
if (!this.deadlineStartTime) {
this.cancelWithStatus(constants_1.Status.DEADLINE_EXCEEDED, "Deadline exceeded");
return;
}
const deadlineInfo = [];
const deadlineEndTime = /* @__PURE__ */ new Date();
deadlineInfo.push(`Deadline exceeded after ${(0, deadline_1.formatDateDifference)(this.deadlineStartTime, deadlineEndTime)}`);
if (this.configReceivedTime) {
if (this.configReceivedTime > this.deadlineStartTime) {
deadlineInfo.push(`name resolution: ${(0, deadline_1.formatDateDifference)(this.deadlineStartTime, this.configReceivedTime)}`);
}
if (this.childStartTime) {
if (this.childStartTime > this.configReceivedTime) {
deadlineInfo.push(`metadata filters: ${(0, deadline_1.formatDateDifference)(this.configReceivedTime, this.childStartTime)}`);
}
} else {
deadlineInfo.push("waiting for metadata filters");
}
} else {
deadlineInfo.push("waiting for name resolution");
}
if (this.child) {
deadlineInfo.push(...this.child.getDeadlineInfo());
}
this.cancelWithStatus(constants_1.Status.DEADLINE_EXCEEDED, deadlineInfo.join(","));
};
if (timeout <= 0) {
process.nextTick(handleDeadline);
} else {
this.deadlineTimer = setTimeout(handleDeadline, timeout);
}
}
}
outputStatus(status2) {
if (!this.ended) {
this.ended = true;
if (!this.filterStack) {
this.filterStack = this.filterStackFactory.createFilter();
}
clearTimeout(this.deadlineTimer);
const filteredStatus = this.filterStack.receiveTrailers(status2);
this.trace("ended with status: code=" + filteredStatus.code + ' details="' + filteredStatus.details + '"');
this.statusWatchers.forEach((watcher) => watcher(filteredStatus));
process.nextTick(() => {
var _a4;
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onReceiveStatus(filteredStatus);
});
}
}
sendMessageOnChild(context2, message) {
if (!this.child) {
throw new Error("sendMessageonChild called with child not populated");
}
const child = this.child;
this.writeFilterPending = true;
this.filterStack.sendMessage(Promise.resolve({ message, flags: context2.flags })).then((filteredMessage) => {
this.writeFilterPending = false;
child.sendMessageWithContext(context2, filteredMessage.message);
if (this.pendingHalfClose) {
child.halfClose();
}
}, (status2) => {
this.cancelWithStatus(status2.code, status2.details);
});
}
getConfig() {
if (this.ended) {
return;
}
if (!this.metadata || !this.listener) {
throw new Error("getConfig called before start");
}
const configResult = this.channel.getConfig(this.method, this.metadata);
if (configResult.type === "NONE") {
this.channel.queueCallForConfig(this);
return;
} else if (configResult.type === "ERROR") {
if (this.metadata.getOptions().waitForReady) {
this.channel.queueCallForConfig(this);
} else {
this.outputStatus(configResult.error);
}
return;
}
this.configReceivedTime = /* @__PURE__ */ new Date();
const config2 = configResult.config;
if (config2.status !== constants_1.Status.OK) {
const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(config2.status, "Failed to route call to method " + this.method);
this.outputStatus({
code,
details,
metadata: new metadata_1.Metadata()
});
return;
}
if (config2.methodConfig.timeout) {
const configDeadline = /* @__PURE__ */ new Date();
configDeadline.setSeconds(configDeadline.getSeconds() + config2.methodConfig.timeout.seconds);
configDeadline.setMilliseconds(configDeadline.getMilliseconds() + config2.methodConfig.timeout.nanos / 1e6);
this.deadline = (0, deadline_1.minDeadline)(this.deadline, configDeadline);
this.runDeadlineTimer();
}
this.filterStackFactory.push(config2.dynamicFilterFactories);
this.filterStack = this.filterStackFactory.createFilter();
this.filterStack.sendMetadata(Promise.resolve(this.metadata)).then((filteredMetadata) => {
this.child = this.channel.createRetryingCall(config2, this.method, this.host, this.credentials, this.deadline);
this.trace("Created child [" + this.child.getCallNumber() + "]");
this.childStartTime = /* @__PURE__ */ new Date();
this.child.start(filteredMetadata, {
onReceiveMetadata: (metadata2) => {
this.trace("Received metadata");
this.listener.onReceiveMetadata(this.filterStack.receiveMetadata(metadata2));
},
onReceiveMessage: (message) => {
this.trace("Received message");
this.readFilterPending = true;
this.filterStack.receiveMessage(message).then((filteredMesssage) => {
this.trace("Finished filtering received message");
this.readFilterPending = false;
this.listener.onReceiveMessage(filteredMesssage);
if (this.pendingChildStatus) {
this.outputStatus(this.pendingChildStatus);
}
}, (status2) => {
this.cancelWithStatus(status2.code, status2.details);
});
},
onReceiveStatus: (status2) => {
this.trace("Received status");
if (this.readFilterPending) {
this.pendingChildStatus = status2;
} else {
this.outputStatus(status2);
}
}
});
if (this.readPending) {
this.child.startRead();
}
if (this.pendingMessage) {
this.sendMessageOnChild(this.pendingMessage.context, this.pendingMessage.message);
} else if (this.pendingHalfClose) {
this.child.halfClose();
}
}, (status2) => {
this.outputStatus(status2);
});
}
reportResolverError(status2) {
var _a4;
if ((_a4 = this.metadata) === null || _a4 === void 0 ? void 0 : _a4.getOptions().waitForReady) {
this.channel.queueCallForConfig(this);
} else {
this.outputStatus(status2);
}
}
cancelWithStatus(status2, details) {
var _a4;
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
(_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(status2, details);
this.outputStatus({
code: status2,
details,
metadata: new metadata_1.Metadata()
});
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : this.channel.getTarget();
}
start(metadata2, listener) {
this.trace("start called");
this.metadata = metadata2.clone();
this.listener = listener;
this.getConfig();
}
sendMessageWithContext(context2, message) {
this.trace("write() called with message of length " + message.length);
if (this.child) {
this.sendMessageOnChild(context2, message);
} else {
this.pendingMessage = { context: context2, message };
}
}
startRead() {
this.trace("startRead called");
if (this.child) {
this.child.startRead();
} else {
this.readPending = true;
}
}
halfClose() {
this.trace("halfClose called");
if (this.child && !this.writeFilterPending) {
this.child.halfClose();
} else {
this.pendingHalfClose = true;
}
}
setCredentials(credentials3) {
this.credentials = credentials3;
}
addStatusWatcher(watcher) {
this.statusWatchers.push(watcher);
}
getCallNumber() {
return this.callNumber;
}
};
exports2.ResolvingCall = ResolvingCall;
}
});
// node_modules/@grpc/grpc-js/build/src/retrying-call.js
var require_retrying_call = __commonJS({
"node_modules/@grpc/grpc-js/build/src/retrying-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RetryingCall = exports2.MessageBufferTracker = exports2.RetryThrottler = void 0;
var constants_1 = require_constants2();
var deadline_1 = require_deadline();
var metadata_1 = require_metadata();
var logging = require_logging();
var TRACER_NAME2 = "retrying_call";
var RetryThrottler = class {
constructor(maxTokens, tokenRatio, previousRetryThrottler) {
this.maxTokens = maxTokens;
this.tokenRatio = tokenRatio;
if (previousRetryThrottler) {
this.tokens = previousRetryThrottler.tokens * (maxTokens / previousRetryThrottler.maxTokens);
} else {
this.tokens = maxTokens;
}
}
addCallSucceeded() {
this.tokens = Math.min(this.tokens + this.tokenRatio, this.maxTokens);
}
addCallFailed() {
this.tokens = Math.max(this.tokens - 1, 0);
}
canRetryCall() {
return this.tokens > this.maxTokens / 2;
}
};
exports2.RetryThrottler = RetryThrottler;
var MessageBufferTracker = class {
constructor(totalLimit, limitPerCall) {
this.totalLimit = totalLimit;
this.limitPerCall = limitPerCall;
this.totalAllocated = 0;
this.allocatedPerCall = /* @__PURE__ */ new Map();
}
allocate(size, callId) {
var _a4;
const currentPerCall = (_a4 = this.allocatedPerCall.get(callId)) !== null && _a4 !== void 0 ? _a4 : 0;
if (this.limitPerCall - currentPerCall < size || this.totalLimit - this.totalAllocated < size) {
return false;
}
this.allocatedPerCall.set(callId, currentPerCall + size);
this.totalAllocated += size;
return true;
}
free(size, callId) {
var _a4;
if (this.totalAllocated < size) {
throw new Error(`Invalid buffer allocation state: call ${callId} freed ${size} > total allocated ${this.totalAllocated}`);
}
this.totalAllocated -= size;
const currentPerCall = (_a4 = this.allocatedPerCall.get(callId)) !== null && _a4 !== void 0 ? _a4 : 0;
if (currentPerCall < size) {
throw new Error(`Invalid buffer allocation state: call ${callId} freed ${size} > allocated for call ${currentPerCall}`);
}
this.allocatedPerCall.set(callId, currentPerCall - size);
}
freeAll(callId) {
var _a4;
const currentPerCall = (_a4 = this.allocatedPerCall.get(callId)) !== null && _a4 !== void 0 ? _a4 : 0;
if (this.totalAllocated < currentPerCall) {
throw new Error(`Invalid buffer allocation state: call ${callId} allocated ${currentPerCall} > total allocated ${this.totalAllocated}`);
}
this.totalAllocated -= currentPerCall;
this.allocatedPerCall.delete(callId);
}
};
exports2.MessageBufferTracker = MessageBufferTracker;
var PREVIONS_RPC_ATTEMPTS_METADATA_KEY = "grpc-previous-rpc-attempts";
var DEFAULT_MAX_ATTEMPTS_LIMIT = 5;
var RetryingCall = class {
constructor(channel, callConfig, methodName, host, credentials3, deadline, callNumber, bufferTracker, retryThrottler) {
var _a4;
this.channel = channel;
this.callConfig = callConfig;
this.methodName = methodName;
this.host = host;
this.credentials = credentials3;
this.deadline = deadline;
this.callNumber = callNumber;
this.bufferTracker = bufferTracker;
this.retryThrottler = retryThrottler;
this.listener = null;
this.initialMetadata = null;
this.underlyingCalls = [];
this.writeBuffer = [];
this.writeBufferOffset = 0;
this.readStarted = false;
this.transparentRetryUsed = false;
this.attempts = 0;
this.hedgingTimer = null;
this.committedCallIndex = null;
this.initialRetryBackoffSec = 0;
this.nextRetryBackoffSec = 0;
const maxAttemptsLimit = (_a4 = channel.getOptions()["grpc-node.retry_max_attempts_limit"]) !== null && _a4 !== void 0 ? _a4 : DEFAULT_MAX_ATTEMPTS_LIMIT;
if (channel.getOptions()["grpc.enable_retries"] === 0) {
this.state = "NO_RETRY";
this.maxAttempts = 1;
} else if (callConfig.methodConfig.retryPolicy) {
this.state = "RETRY";
const retryPolicy = callConfig.methodConfig.retryPolicy;
this.nextRetryBackoffSec = this.initialRetryBackoffSec = Number(retryPolicy.initialBackoff.substring(0, retryPolicy.initialBackoff.length - 1));
this.maxAttempts = Math.min(retryPolicy.maxAttempts, maxAttemptsLimit);
} else if (callConfig.methodConfig.hedgingPolicy) {
this.state = "HEDGING";
this.maxAttempts = Math.min(callConfig.methodConfig.hedgingPolicy.maxAttempts, maxAttemptsLimit);
} else {
this.state = "TRANSPARENT_ONLY";
this.maxAttempts = 1;
}
this.startTime = /* @__PURE__ */ new Date();
}
getDeadlineInfo() {
if (this.underlyingCalls.length === 0) {
return [];
}
const deadlineInfo = [];
const latestCall = this.underlyingCalls[this.underlyingCalls.length - 1];
if (this.underlyingCalls.length > 1) {
deadlineInfo.push(`previous attempts: ${this.underlyingCalls.length - 1}`);
}
if (latestCall.startTime > this.startTime) {
deadlineInfo.push(`time to current attempt start: ${(0, deadline_1.formatDateDifference)(this.startTime, latestCall.startTime)}`);
}
deadlineInfo.push(...latestCall.call.getDeadlineInfo());
return deadlineInfo;
}
getCallNumber() {
return this.callNumber;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callNumber + "] " + text);
}
reportStatus(statusObject) {
this.trace("ended with status: code=" + statusObject.code + ' details="' + statusObject.details + '" start time=' + this.startTime.toISOString());
this.bufferTracker.freeAll(this.callNumber);
this.writeBufferOffset = this.writeBufferOffset + this.writeBuffer.length;
this.writeBuffer = [];
process.nextTick(() => {
var _a4;
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onReceiveStatus({
code: statusObject.code,
details: statusObject.details,
metadata: statusObject.metadata
});
});
}
cancelWithStatus(status2, details) {
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
this.reportStatus({ code: status2, details, metadata: new metadata_1.Metadata() });
for (const { call } of this.underlyingCalls) {
call.cancelWithStatus(status2, details);
}
}
getPeer() {
if (this.committedCallIndex !== null) {
return this.underlyingCalls[this.committedCallIndex].call.getPeer();
} else {
return "unknown";
}
}
getBufferEntry(messageIndex) {
var _a4;
return (_a4 = this.writeBuffer[messageIndex - this.writeBufferOffset]) !== null && _a4 !== void 0 ? _a4 : {
entryType: "FREED",
allocated: false
};
}
getNextBufferIndex() {
return this.writeBufferOffset + this.writeBuffer.length;
}
clearSentMessages() {
if (this.state !== "COMMITTED") {
return;
}
let earliestNeededMessageIndex;
if (this.underlyingCalls[this.committedCallIndex].state === "COMPLETED") {
earliestNeededMessageIndex = this.getNextBufferIndex();
} else {
earliestNeededMessageIndex = this.underlyingCalls[this.committedCallIndex].nextMessageToSend;
}
for (let messageIndex = this.writeBufferOffset; messageIndex < earliestNeededMessageIndex; messageIndex++) {
const bufferEntry = this.getBufferEntry(messageIndex);
if (bufferEntry.allocated) {
this.bufferTracker.free(bufferEntry.message.message.length, this.callNumber);
}
}
this.writeBuffer = this.writeBuffer.slice(earliestNeededMessageIndex - this.writeBufferOffset);
this.writeBufferOffset = earliestNeededMessageIndex;
}
commitCall(index) {
var _a4, _b;
if (this.state === "COMMITTED") {
return;
}
this.trace("Committing call [" + this.underlyingCalls[index].call.getCallNumber() + "] at index " + index);
this.state = "COMMITTED";
(_b = (_a4 = this.callConfig).onCommitted) === null || _b === void 0 ? void 0 : _b.call(_a4);
this.committedCallIndex = index;
for (let i3 = 0; i3 < this.underlyingCalls.length; i3++) {
if (i3 === index) {
continue;
}
if (this.underlyingCalls[i3].state === "COMPLETED") {
continue;
}
this.underlyingCalls[i3].state = "COMPLETED";
this.underlyingCalls[i3].call.cancelWithStatus(constants_1.Status.CANCELLED, "Discarded in favor of other hedged attempt");
}
this.clearSentMessages();
}
commitCallWithMostMessages() {
if (this.state === "COMMITTED") {
return;
}
let mostMessages = -1;
let callWithMostMessages = -1;
for (const [index, childCall] of this.underlyingCalls.entries()) {
if (childCall.state === "ACTIVE" && childCall.nextMessageToSend > mostMessages) {
mostMessages = childCall.nextMessageToSend;
callWithMostMessages = index;
}
}
if (callWithMostMessages === -1) {
this.state = "TRANSPARENT_ONLY";
} else {
this.commitCall(callWithMostMessages);
}
}
isStatusCodeInList(list, code) {
return list.some((value) => {
var _a4;
return value === code || value.toString().toLowerCase() === ((_a4 = constants_1.Status[code]) === null || _a4 === void 0 ? void 0 : _a4.toLowerCase());
});
}
getNextRetryBackoffMs() {
var _a4;
const retryPolicy = (_a4 = this.callConfig) === null || _a4 === void 0 ? void 0 : _a4.methodConfig.retryPolicy;
if (!retryPolicy) {
return 0;
}
const nextBackoffMs = Math.random() * this.nextRetryBackoffSec * 1e3;
const maxBackoffSec = Number(retryPolicy.maxBackoff.substring(0, retryPolicy.maxBackoff.length - 1));
this.nextRetryBackoffSec = Math.min(this.nextRetryBackoffSec * retryPolicy.backoffMultiplier, maxBackoffSec);
return nextBackoffMs;
}
maybeRetryCall(pushback, callback) {
if (this.state !== "RETRY") {
callback(false);
return;
}
if (this.attempts >= this.maxAttempts) {
callback(false);
return;
}
let retryDelayMs;
if (pushback === null) {
retryDelayMs = this.getNextRetryBackoffMs();
} else if (pushback < 0) {
this.state = "TRANSPARENT_ONLY";
callback(false);
return;
} else {
retryDelayMs = pushback;
this.nextRetryBackoffSec = this.initialRetryBackoffSec;
}
setTimeout(() => {
var _a4, _b;
if (this.state !== "RETRY") {
callback(false);
return;
}
if ((_b = (_a4 = this.retryThrottler) === null || _a4 === void 0 ? void 0 : _a4.canRetryCall()) !== null && _b !== void 0 ? _b : true) {
callback(true);
this.attempts += 1;
this.startNewAttempt();
} else {
this.trace("Retry attempt denied by throttling policy");
callback(false);
}
}, retryDelayMs);
}
countActiveCalls() {
let count2 = 0;
for (const call of this.underlyingCalls) {
if ((call === null || call === void 0 ? void 0 : call.state) === "ACTIVE") {
count2 += 1;
}
}
return count2;
}
handleProcessedStatus(status2, callIndex, pushback) {
var _a4, _b, _c;
switch (this.state) {
case "COMMITTED":
case "NO_RETRY":
case "TRANSPARENT_ONLY":
this.commitCall(callIndex);
this.reportStatus(status2);
break;
case "HEDGING":
if (this.isStatusCodeInList((_a4 = this.callConfig.methodConfig.hedgingPolicy.nonFatalStatusCodes) !== null && _a4 !== void 0 ? _a4 : [], status2.code)) {
(_b = this.retryThrottler) === null || _b === void 0 ? void 0 : _b.addCallFailed();
let delayMs;
if (pushback === null) {
delayMs = 0;
} else if (pushback < 0) {
this.state = "TRANSPARENT_ONLY";
this.commitCall(callIndex);
this.reportStatus(status2);
return;
} else {
delayMs = pushback;
}
setTimeout(() => {
this.maybeStartHedgingAttempt();
if (this.countActiveCalls() === 0) {
this.commitCall(callIndex);
this.reportStatus(status2);
}
}, delayMs);
} else {
this.commitCall(callIndex);
this.reportStatus(status2);
}
break;
case "RETRY":
if (this.isStatusCodeInList(this.callConfig.methodConfig.retryPolicy.retryableStatusCodes, status2.code)) {
(_c = this.retryThrottler) === null || _c === void 0 ? void 0 : _c.addCallFailed();
this.maybeRetryCall(pushback, (retried) => {
if (!retried) {
this.commitCall(callIndex);
this.reportStatus(status2);
}
});
} else {
this.commitCall(callIndex);
this.reportStatus(status2);
}
break;
}
}
getPushback(metadata2) {
const mdValue = metadata2.get("grpc-retry-pushback-ms");
if (mdValue.length === 0) {
return null;
}
try {
return parseInt(mdValue[0]);
} catch (e2) {
return -1;
}
}
handleChildStatus(status2, callIndex) {
var _a4;
if (this.underlyingCalls[callIndex].state === "COMPLETED") {
return;
}
this.trace("state=" + this.state + " handling status with progress " + status2.progress + " from child [" + this.underlyingCalls[callIndex].call.getCallNumber() + "] in state " + this.underlyingCalls[callIndex].state);
this.underlyingCalls[callIndex].state = "COMPLETED";
if (status2.code === constants_1.Status.OK) {
(_a4 = this.retryThrottler) === null || _a4 === void 0 ? void 0 : _a4.addCallSucceeded();
this.commitCall(callIndex);
this.reportStatus(status2);
return;
}
if (this.state === "NO_RETRY") {
this.commitCall(callIndex);
this.reportStatus(status2);
return;
}
if (this.state === "COMMITTED") {
this.reportStatus(status2);
return;
}
const pushback = this.getPushback(status2.metadata);
switch (status2.progress) {
case "NOT_STARTED":
this.startNewAttempt();
break;
case "REFUSED":
if (this.transparentRetryUsed) {
this.handleProcessedStatus(status2, callIndex, pushback);
} else {
this.transparentRetryUsed = true;
this.startNewAttempt();
}
break;
case "DROP":
this.commitCall(callIndex);
this.reportStatus(status2);
break;
case "PROCESSED":
this.handleProcessedStatus(status2, callIndex, pushback);
break;
}
}
maybeStartHedgingAttempt() {
if (this.state !== "HEDGING") {
return;
}
if (!this.callConfig.methodConfig.hedgingPolicy) {
return;
}
if (this.attempts >= this.maxAttempts) {
return;
}
this.attempts += 1;
this.startNewAttempt();
this.maybeStartHedgingTimer();
}
maybeStartHedgingTimer() {
var _a4, _b, _c;
if (this.hedgingTimer) {
clearTimeout(this.hedgingTimer);
}
if (this.state !== "HEDGING") {
return;
}
if (!this.callConfig.methodConfig.hedgingPolicy) {
return;
}
const hedgingPolicy = this.callConfig.methodConfig.hedgingPolicy;
if (this.attempts >= this.maxAttempts) {
return;
}
const hedgingDelayString = (_a4 = hedgingPolicy.hedgingDelay) !== null && _a4 !== void 0 ? _a4 : "0s";
const hedgingDelaySec = Number(hedgingDelayString.substring(0, hedgingDelayString.length - 1));
this.hedgingTimer = setTimeout(() => {
this.maybeStartHedgingAttempt();
}, hedgingDelaySec * 1e3);
(_c = (_b = this.hedgingTimer).unref) === null || _c === void 0 ? void 0 : _c.call(_b);
}
startNewAttempt() {
const child = this.channel.createLoadBalancingCall(this.callConfig, this.methodName, this.host, this.credentials, this.deadline);
this.trace("Created child call [" + child.getCallNumber() + "] for attempt " + this.attempts);
const index = this.underlyingCalls.length;
this.underlyingCalls.push({
state: "ACTIVE",
call: child,
nextMessageToSend: 0,
startTime: /* @__PURE__ */ new Date()
});
const previousAttempts = this.attempts - 1;
const initialMetadata = this.initialMetadata.clone();
if (previousAttempts > 0) {
initialMetadata.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
}
let receivedMetadata = false;
child.start(initialMetadata, {
onReceiveMetadata: (metadata2) => {
this.trace("Received metadata from child [" + child.getCallNumber() + "]");
this.commitCall(index);
receivedMetadata = true;
if (previousAttempts > 0) {
metadata2.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
}
if (this.underlyingCalls[index].state === "ACTIVE") {
this.listener.onReceiveMetadata(metadata2);
}
},
onReceiveMessage: (message) => {
this.trace("Received message from child [" + child.getCallNumber() + "]");
this.commitCall(index);
if (this.underlyingCalls[index].state === "ACTIVE") {
this.listener.onReceiveMessage(message);
}
},
onReceiveStatus: (status2) => {
this.trace("Received status from child [" + child.getCallNumber() + "]");
if (!receivedMetadata && previousAttempts > 0) {
status2.metadata.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
}
this.handleChildStatus(status2, index);
}
});
this.sendNextChildMessage(index);
if (this.readStarted) {
child.startRead();
}
}
start(metadata2, listener) {
this.trace("start called");
this.listener = listener;
this.initialMetadata = metadata2;
this.attempts += 1;
this.startNewAttempt();
this.maybeStartHedgingTimer();
}
handleChildWriteCompleted(childIndex) {
var _a4, _b;
const childCall = this.underlyingCalls[childIndex];
const messageIndex = childCall.nextMessageToSend;
(_b = (_a4 = this.getBufferEntry(messageIndex)).callback) === null || _b === void 0 ? void 0 : _b.call(_a4);
this.clearSentMessages();
childCall.nextMessageToSend += 1;
this.sendNextChildMessage(childIndex);
}
sendNextChildMessage(childIndex) {
const childCall = this.underlyingCalls[childIndex];
if (childCall.state === "COMPLETED") {
return;
}
if (this.getBufferEntry(childCall.nextMessageToSend)) {
const bufferEntry = this.getBufferEntry(childCall.nextMessageToSend);
switch (bufferEntry.entryType) {
case "MESSAGE":
childCall.call.sendMessageWithContext({
callback: (error40) => {
this.handleChildWriteCompleted(childIndex);
}
}, bufferEntry.message.message);
break;
case "HALF_CLOSE":
childCall.nextMessageToSend += 1;
childCall.call.halfClose();
break;
case "FREED":
break;
}
}
}
sendMessageWithContext(context2, message) {
var _a4;
this.trace("write() called with message of length " + message.length);
const writeObj = {
message,
flags: context2.flags
};
const messageIndex = this.getNextBufferIndex();
const bufferEntry = {
entryType: "MESSAGE",
message: writeObj,
allocated: this.bufferTracker.allocate(message.length, this.callNumber)
};
this.writeBuffer.push(bufferEntry);
if (bufferEntry.allocated) {
(_a4 = context2.callback) === null || _a4 === void 0 ? void 0 : _a4.call(context2);
for (const [callIndex, call] of this.underlyingCalls.entries()) {
if (call.state === "ACTIVE" && call.nextMessageToSend === messageIndex) {
call.call.sendMessageWithContext({
callback: (error40) => {
this.handleChildWriteCompleted(callIndex);
}
}, message);
}
}
} else {
this.commitCallWithMostMessages();
if (this.committedCallIndex === null) {
return;
}
const call = this.underlyingCalls[this.committedCallIndex];
bufferEntry.callback = context2.callback;
if (call.state === "ACTIVE" && call.nextMessageToSend === messageIndex) {
call.call.sendMessageWithContext({
callback: (error40) => {
this.handleChildWriteCompleted(this.committedCallIndex);
}
}, message);
}
}
}
startRead() {
this.trace("startRead called");
this.readStarted = true;
for (const underlyingCall of this.underlyingCalls) {
if ((underlyingCall === null || underlyingCall === void 0 ? void 0 : underlyingCall.state) === "ACTIVE") {
underlyingCall.call.startRead();
}
}
}
halfClose() {
this.trace("halfClose called");
const halfCloseIndex = this.getNextBufferIndex();
this.writeBuffer.push({
entryType: "HALF_CLOSE",
allocated: false
});
for (const call of this.underlyingCalls) {
if ((call === null || call === void 0 ? void 0 : call.state) === "ACTIVE" && call.nextMessageToSend === halfCloseIndex) {
call.nextMessageToSend += 1;
call.call.halfClose();
}
}
}
setCredentials(newCredentials) {
throw new Error("Method not implemented.");
}
getMethod() {
return this.methodName;
}
getHost() {
return this.host;
}
};
exports2.RetryingCall = RetryingCall;
}
});
// node_modules/@grpc/grpc-js/build/src/subchannel-interface.js
var require_subchannel_interface = __commonJS({
"node_modules/@grpc/grpc-js/build/src/subchannel-interface.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BaseSubchannelWrapper = void 0;
var BaseSubchannelWrapper = class {
constructor(child) {
this.child = child;
this.healthy = true;
this.healthListeners = /* @__PURE__ */ new Set();
child.addHealthStateWatcher((childHealthy) => {
if (this.healthy) {
this.updateHealthListeners();
}
});
}
updateHealthListeners() {
for (const listener of this.healthListeners) {
listener(this.isHealthy());
}
}
getConnectivityState() {
return this.child.getConnectivityState();
}
addConnectivityStateListener(listener) {
this.child.addConnectivityStateListener(listener);
}
removeConnectivityStateListener(listener) {
this.child.removeConnectivityStateListener(listener);
}
startConnecting() {
this.child.startConnecting();
}
getAddress() {
return this.child.getAddress();
}
throttleKeepalive(newKeepaliveTime) {
this.child.throttleKeepalive(newKeepaliveTime);
}
ref() {
this.child.ref();
}
unref() {
this.child.unref();
}
getChannelzRef() {
return this.child.getChannelzRef();
}
isHealthy() {
return this.healthy && this.child.isHealthy();
}
addHealthStateWatcher(listener) {
this.healthListeners.add(listener);
}
removeHealthStateWatcher(listener) {
this.healthListeners.delete(listener);
}
setHealthy(healthy) {
if (healthy !== this.healthy) {
this.healthy = healthy;
if (this.child.isHealthy()) {
this.updateHealthListeners();
}
}
}
getRealSubchannel() {
return this.child.getRealSubchannel();
}
realSubchannelEquals(other) {
return this.getRealSubchannel() === other.getRealSubchannel();
}
getCallCredentials() {
return this.child.getCallCredentials();
}
};
exports2.BaseSubchannelWrapper = BaseSubchannelWrapper;
}
});
// node_modules/@grpc/grpc-js/build/src/internal-channel.js
var require_internal_channel = __commonJS({
"node_modules/@grpc/grpc-js/build/src/internal-channel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InternalChannel = exports2.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX = void 0;
var channel_credentials_1 = require_channel_credentials();
var resolving_load_balancer_1 = require_resolving_load_balancer();
var subchannel_pool_1 = require_subchannel_pool();
var picker_1 = require_picker();
var metadata_1 = require_metadata();
var constants_1 = require_constants2();
var filter_stack_1 = require_filter_stack();
var compression_filter_1 = require_compression_filter();
var resolver_1 = require_resolver();
var logging_1 = require_logging();
var http_proxy_1 = require_http_proxy();
var uri_parser_1 = require_uri_parser();
var connectivity_state_1 = require_connectivity_state();
var channelz_1 = require_channelz();
var load_balancing_call_1 = require_load_balancing_call();
var deadline_1 = require_deadline();
var resolving_call_1 = require_resolving_call();
var call_number_1 = require_call_number();
var control_plane_status_1 = require_control_plane_status();
var retrying_call_1 = require_retrying_call();
var subchannel_interface_1 = require_subchannel_interface();
var MAX_TIMEOUT_TIME = 2147483647;
var MIN_IDLE_TIMEOUT_MS = 1e3;
var DEFAULT_IDLE_TIMEOUT_MS = 30 * 60 * 1e3;
var RETRY_THROTTLER_MAP = /* @__PURE__ */ new Map();
var DEFAULT_RETRY_BUFFER_SIZE_BYTES = 1 << 24;
var DEFAULT_PER_RPC_RETRY_BUFFER_SIZE_BYTES = 1 << 20;
var ChannelSubchannelWrapper = class extends subchannel_interface_1.BaseSubchannelWrapper {
constructor(childSubchannel, channel) {
super(childSubchannel);
this.channel = channel;
this.refCount = 0;
this.subchannelStateListener = (subchannel, previousState, newState, keepaliveTime) => {
channel.throttleKeepalive(keepaliveTime);
};
}
ref() {
if (this.refCount === 0) {
this.child.addConnectivityStateListener(this.subchannelStateListener);
this.channel.addWrappedSubchannel(this);
}
this.child.ref();
this.refCount += 1;
}
unref() {
this.child.unref();
this.refCount -= 1;
if (this.refCount <= 0) {
this.child.removeConnectivityStateListener(this.subchannelStateListener);
this.channel.removeWrappedSubchannel(this);
}
}
};
var ShutdownPicker = class {
pick(pickArgs) {
return {
pickResultType: picker_1.PickResultType.DROP,
status: {
code: constants_1.Status.UNAVAILABLE,
details: "Channel closed before call started",
metadata: new metadata_1.Metadata()
},
subchannel: null,
onCallStarted: null,
onCallEnded: null
};
}
};
exports2.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX = "grpc.internal.no_subchannel";
var ChannelzInfoTracker = class {
constructor(target) {
this.target = target;
this.trace = new channelz_1.ChannelzTrace();
this.callTracker = new channelz_1.ChannelzCallTracker();
this.childrenTracker = new channelz_1.ChannelzChildrenTracker();
this.state = connectivity_state_1.ConnectivityState.IDLE;
}
getChannelzInfoCallback() {
return () => {
return {
target: this.target,
state: this.state,
trace: this.trace,
callTracker: this.callTracker,
children: this.childrenTracker.getChildLists()
};
};
}
};
var InternalChannel = class {
constructor(target, credentials3, options) {
var _a4, _b, _c, _d, _e, _f;
this.credentials = credentials3;
this.options = options;
this.connectivityState = connectivity_state_1.ConnectivityState.IDLE;
this.currentPicker = new picker_1.UnavailablePicker();
this.configSelectionQueue = [];
this.pickQueue = [];
this.connectivityStateWatchers = [];
this.callRefTimer = null;
this.configSelector = null;
this.currentResolutionError = null;
this.wrappedSubchannels = /* @__PURE__ */ new Set();
this.callCount = 0;
this.idleTimer = null;
this.channelzEnabled = true;
this.randomChannelId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
if (typeof target !== "string") {
throw new TypeError("Channel target must be a string");
}
if (!(credentials3 instanceof channel_credentials_1.ChannelCredentials)) {
throw new TypeError("Channel credentials must be a ChannelCredentials object");
}
if (options) {
if (typeof options !== "object") {
throw new TypeError("Channel options must be an object");
}
}
this.channelzInfoTracker = new ChannelzInfoTracker(target);
const originalTargetUri = (0, uri_parser_1.parseUri)(target);
if (originalTargetUri === null) {
throw new Error(`Could not parse target name "${target}"`);
}
const defaultSchemeMapResult = (0, resolver_1.mapUriDefaultScheme)(originalTargetUri);
if (defaultSchemeMapResult === null) {
throw new Error(`Could not find a default scheme for target name "${target}"`);
}
if (this.options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
}
this.channelzRef = (0, channelz_1.registerChannelzChannel)(target, this.channelzInfoTracker.getChannelzInfoCallback(), this.channelzEnabled);
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Channel created");
}
if (this.options["grpc.default_authority"]) {
this.defaultAuthority = this.options["grpc.default_authority"];
} else {
this.defaultAuthority = (0, resolver_1.getDefaultAuthority)(defaultSchemeMapResult);
}
const proxyMapResult = (0, http_proxy_1.mapProxyName)(defaultSchemeMapResult, options);
this.target = proxyMapResult.target;
this.options = Object.assign({}, this.options, proxyMapResult.extraOptions);
this.subchannelPool = (0, subchannel_pool_1.getSubchannelPool)(((_a4 = this.options["grpc.use_local_subchannel_pool"]) !== null && _a4 !== void 0 ? _a4 : 0) === 0);
this.retryBufferTracker = new retrying_call_1.MessageBufferTracker((_b = this.options["grpc.retry_buffer_size"]) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_BUFFER_SIZE_BYTES, (_c = this.options["grpc.per_rpc_retry_buffer_size"]) !== null && _c !== void 0 ? _c : DEFAULT_PER_RPC_RETRY_BUFFER_SIZE_BYTES);
this.keepaliveTime = (_d = this.options["grpc.keepalive_time_ms"]) !== null && _d !== void 0 ? _d : -1;
this.idleTimeoutMs = Math.max((_e = this.options["grpc.client_idle_timeout_ms"]) !== null && _e !== void 0 ? _e : DEFAULT_IDLE_TIMEOUT_MS, MIN_IDLE_TIMEOUT_MS);
const channelControlHelper = {
createSubchannel: (subchannelAddress, subchannelArgs) => {
const finalSubchannelArgs = {};
for (const [key, value] of Object.entries(subchannelArgs)) {
if (!key.startsWith(exports2.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX)) {
finalSubchannelArgs[key] = value;
}
}
const subchannel = this.subchannelPool.getOrCreateSubchannel(this.target, subchannelAddress, finalSubchannelArgs, this.credentials);
subchannel.throttleKeepalive(this.keepaliveTime);
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Created subchannel or used existing subchannel", subchannel.getChannelzRef());
}
const wrappedSubchannel = new ChannelSubchannelWrapper(subchannel, this);
return wrappedSubchannel;
},
updateState: (connectivityState, picker) => {
this.currentPicker = picker;
const queueCopy = this.pickQueue.slice();
this.pickQueue = [];
if (queueCopy.length > 0) {
this.callRefTimerUnref();
}
for (const call of queueCopy) {
call.doPick();
}
this.updateState(connectivityState);
},
requestReresolution: () => {
throw new Error("Resolving load balancer should never call requestReresolution");
},
addChannelzChild: (child) => {
if (this.channelzEnabled) {
this.channelzInfoTracker.childrenTracker.refChild(child);
}
},
removeChannelzChild: (child) => {
if (this.channelzEnabled) {
this.channelzInfoTracker.childrenTracker.unrefChild(child);
}
}
};
this.resolvingLoadBalancer = new resolving_load_balancer_1.ResolvingLoadBalancer(this.target, channelControlHelper, this.options, (serviceConfig, configSelector) => {
var _a5;
if (serviceConfig.retryThrottling) {
RETRY_THROTTLER_MAP.set(this.getTarget(), new retrying_call_1.RetryThrottler(serviceConfig.retryThrottling.maxTokens, serviceConfig.retryThrottling.tokenRatio, RETRY_THROTTLER_MAP.get(this.getTarget())));
} else {
RETRY_THROTTLER_MAP.delete(this.getTarget());
}
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Address resolution succeeded");
}
(_a5 = this.configSelector) === null || _a5 === void 0 ? void 0 : _a5.unref();
this.configSelector = configSelector;
this.currentResolutionError = null;
process.nextTick(() => {
const localQueue = this.configSelectionQueue;
this.configSelectionQueue = [];
if (localQueue.length > 0) {
this.callRefTimerUnref();
}
for (const call of localQueue) {
call.getConfig();
}
});
}, (status2) => {
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_WARNING", "Address resolution failed with code " + status2.code + ' and details "' + status2.details + '"');
}
if (this.configSelectionQueue.length > 0) {
this.trace("Name resolution failed with calls queued for config selection");
}
if (this.configSelector === null) {
this.currentResolutionError = Object.assign(Object.assign({}, (0, control_plane_status_1.restrictControlPlaneStatusCode)(status2.code, status2.details)), { metadata: status2.metadata });
}
const localQueue = this.configSelectionQueue;
this.configSelectionQueue = [];
if (localQueue.length > 0) {
this.callRefTimerUnref();
}
for (const call of localQueue) {
call.reportResolverError(status2);
}
});
this.filterStackFactory = new filter_stack_1.FilterStackFactory([
new compression_filter_1.CompressionFilterFactory(this, this.options)
]);
this.trace("Channel constructed with options " + JSON.stringify(options, void 0, 2));
const error40 = new Error();
if ((0, logging_1.isTracerEnabled)("channel_stacktrace")) {
(0, logging_1.trace)(constants_1.LogVerbosity.DEBUG, "channel_stacktrace", "(" + this.channelzRef.id + ") Channel constructed \n" + ((_f = error40.stack) === null || _f === void 0 ? void 0 : _f.substring(error40.stack.indexOf("\n") + 1)));
}
this.lastActivityTimestamp = /* @__PURE__ */ new Date();
}
trace(text, verbosityOverride) {
(0, logging_1.trace)(verbosityOverride !== null && verbosityOverride !== void 0 ? verbosityOverride : constants_1.LogVerbosity.DEBUG, "channel", "(" + this.channelzRef.id + ") " + (0, uri_parser_1.uriToString)(this.target) + " " + text);
}
callRefTimerRef() {
var _a4, _b, _c, _d;
if (!this.callRefTimer) {
this.callRefTimer = setInterval(() => {
}, MAX_TIMEOUT_TIME);
}
if (!((_b = (_a4 = this.callRefTimer).hasRef) === null || _b === void 0 ? void 0 : _b.call(_a4))) {
this.trace("callRefTimer.ref | configSelectionQueue.length=" + this.configSelectionQueue.length + " pickQueue.length=" + this.pickQueue.length);
(_d = (_c = this.callRefTimer).ref) === null || _d === void 0 ? void 0 : _d.call(_c);
}
}
callRefTimerUnref() {
var _a4, _b, _c;
if (!((_a4 = this.callRefTimer) === null || _a4 === void 0 ? void 0 : _a4.hasRef) || this.callRefTimer.hasRef()) {
this.trace("callRefTimer.unref | configSelectionQueue.length=" + this.configSelectionQueue.length + " pickQueue.length=" + this.pickQueue.length);
(_c = (_b = this.callRefTimer) === null || _b === void 0 ? void 0 : _b.unref) === null || _c === void 0 ? void 0 : _c.call(_b);
}
}
removeConnectivityStateWatcher(watcherObject) {
const watcherIndex = this.connectivityStateWatchers.findIndex((value) => value === watcherObject);
if (watcherIndex >= 0) {
this.connectivityStateWatchers.splice(watcherIndex, 1);
}
}
updateState(newState) {
(0, logging_1.trace)(constants_1.LogVerbosity.DEBUG, "connectivity_state", "(" + this.channelzRef.id + ") " + (0, uri_parser_1.uriToString)(this.target) + " " + connectivity_state_1.ConnectivityState[this.connectivityState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Connectivity state change to " + connectivity_state_1.ConnectivityState[newState]);
}
this.connectivityState = newState;
this.channelzInfoTracker.state = newState;
const watchersCopy = this.connectivityStateWatchers.slice();
for (const watcherObject of watchersCopy) {
if (newState !== watcherObject.currentState) {
if (watcherObject.timer) {
clearTimeout(watcherObject.timer);
}
this.removeConnectivityStateWatcher(watcherObject);
watcherObject.callback();
}
}
if (newState !== connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
this.currentResolutionError = null;
}
}
throttleKeepalive(newKeepaliveTime) {
if (newKeepaliveTime > this.keepaliveTime) {
this.keepaliveTime = newKeepaliveTime;
for (const wrappedSubchannel of this.wrappedSubchannels) {
wrappedSubchannel.throttleKeepalive(newKeepaliveTime);
}
}
}
addWrappedSubchannel(wrappedSubchannel) {
this.wrappedSubchannels.add(wrappedSubchannel);
}
removeWrappedSubchannel(wrappedSubchannel) {
this.wrappedSubchannels.delete(wrappedSubchannel);
}
doPick(metadata2, extraPickInfo) {
return this.currentPicker.pick({
metadata: metadata2,
extraPickInfo
});
}
queueCallForPick(call) {
this.pickQueue.push(call);
this.callRefTimerRef();
}
getConfig(method, metadata2) {
if (this.connectivityState !== connectivity_state_1.ConnectivityState.SHUTDOWN) {
this.resolvingLoadBalancer.exitIdle();
}
if (this.configSelector) {
return {
type: "SUCCESS",
config: this.configSelector.invoke(method, metadata2, this.randomChannelId)
};
} else {
if (this.currentResolutionError) {
return {
type: "ERROR",
error: this.currentResolutionError
};
} else {
return {
type: "NONE"
};
}
}
}
queueCallForConfig(call) {
this.configSelectionQueue.push(call);
this.callRefTimerRef();
}
enterIdle() {
this.resolvingLoadBalancer.destroy();
this.updateState(connectivity_state_1.ConnectivityState.IDLE);
this.currentPicker = new picker_1.QueuePicker(this.resolvingLoadBalancer);
if (this.idleTimer) {
clearTimeout(this.idleTimer);
this.idleTimer = null;
}
if (this.callRefTimer) {
clearInterval(this.callRefTimer);
this.callRefTimer = null;
}
}
startIdleTimeout(timeoutMs) {
var _a4, _b;
this.idleTimer = setTimeout(() => {
if (this.callCount > 0) {
this.startIdleTimeout(this.idleTimeoutMs);
return;
}
const now = /* @__PURE__ */ new Date();
const timeSinceLastActivity = now.valueOf() - this.lastActivityTimestamp.valueOf();
if (timeSinceLastActivity >= this.idleTimeoutMs) {
this.trace("Idle timer triggered after " + this.idleTimeoutMs + "ms of inactivity");
this.enterIdle();
} else {
this.startIdleTimeout(this.idleTimeoutMs - timeSinceLastActivity);
}
}, timeoutMs);
(_b = (_a4 = this.idleTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
maybeStartIdleTimer() {
if (this.connectivityState !== connectivity_state_1.ConnectivityState.SHUTDOWN && !this.idleTimer) {
this.startIdleTimeout(this.idleTimeoutMs);
}
}
onCallStart() {
if (this.channelzEnabled) {
this.channelzInfoTracker.callTracker.addCallStarted();
}
this.callCount += 1;
}
onCallEnd(status2) {
if (this.channelzEnabled) {
if (status2.code === constants_1.Status.OK) {
this.channelzInfoTracker.callTracker.addCallSucceeded();
} else {
this.channelzInfoTracker.callTracker.addCallFailed();
}
}
this.callCount -= 1;
this.lastActivityTimestamp = /* @__PURE__ */ new Date();
this.maybeStartIdleTimer();
}
createLoadBalancingCall(callConfig, method, host, credentials3, deadline) {
const callNumber = (0, call_number_1.getNextCallNumber)();
this.trace("createLoadBalancingCall [" + callNumber + '] method="' + method + '"');
return new load_balancing_call_1.LoadBalancingCall(this, callConfig, method, host, credentials3, deadline, callNumber);
}
createRetryingCall(callConfig, method, host, credentials3, deadline) {
const callNumber = (0, call_number_1.getNextCallNumber)();
this.trace("createRetryingCall [" + callNumber + '] method="' + method + '"');
return new retrying_call_1.RetryingCall(this, callConfig, method, host, credentials3, deadline, callNumber, this.retryBufferTracker, RETRY_THROTTLER_MAP.get(this.getTarget()));
}
createResolvingCall(method, deadline, host, parentCall, propagateFlags) {
const callNumber = (0, call_number_1.getNextCallNumber)();
this.trace("createResolvingCall [" + callNumber + '] method="' + method + '", deadline=' + (0, deadline_1.deadlineToString)(deadline));
const finalOptions = {
deadline,
flags: propagateFlags !== null && propagateFlags !== void 0 ? propagateFlags : constants_1.Propagate.DEFAULTS,
host: host !== null && host !== void 0 ? host : this.defaultAuthority,
parentCall
};
const call = new resolving_call_1.ResolvingCall(this, method, finalOptions, this.filterStackFactory.clone(), callNumber);
this.onCallStart();
call.addStatusWatcher((status2) => {
this.onCallEnd(status2);
});
return call;
}
close() {
var _a4;
this.resolvingLoadBalancer.destroy();
this.updateState(connectivity_state_1.ConnectivityState.SHUTDOWN);
this.currentPicker = new ShutdownPicker();
for (const call of this.configSelectionQueue) {
call.cancelWithStatus(constants_1.Status.UNAVAILABLE, "Channel closed before call started");
}
this.configSelectionQueue = [];
for (const call of this.pickQueue) {
call.cancelWithStatus(constants_1.Status.UNAVAILABLE, "Channel closed before call started");
}
this.pickQueue = [];
if (this.callRefTimer) {
clearInterval(this.callRefTimer);
}
if (this.idleTimer) {
clearTimeout(this.idleTimer);
}
if (this.channelzEnabled) {
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
}
this.subchannelPool.unrefUnusedSubchannels();
(_a4 = this.configSelector) === null || _a4 === void 0 ? void 0 : _a4.unref();
this.configSelector = null;
}
getTarget() {
return (0, uri_parser_1.uriToString)(this.target);
}
getConnectivityState(tryToConnect) {
const connectivityState = this.connectivityState;
if (tryToConnect) {
this.resolvingLoadBalancer.exitIdle();
this.lastActivityTimestamp = /* @__PURE__ */ new Date();
this.maybeStartIdleTimer();
}
return connectivityState;
}
watchConnectivityState(currentState, deadline, callback) {
if (this.connectivityState === connectivity_state_1.ConnectivityState.SHUTDOWN) {
throw new Error("Channel has been shut down");
}
let timer = null;
if (deadline !== Infinity) {
const deadlineDate = deadline instanceof Date ? deadline : new Date(deadline);
const now = /* @__PURE__ */ new Date();
if (deadline === -Infinity || deadlineDate <= now) {
process.nextTick(callback, new Error("Deadline passed without connectivity state change"));
return;
}
timer = setTimeout(() => {
this.removeConnectivityStateWatcher(watcherObject);
callback(new Error("Deadline passed without connectivity state change"));
}, deadlineDate.getTime() - now.getTime());
}
const watcherObject = {
currentState,
callback,
timer
};
this.connectivityStateWatchers.push(watcherObject);
}
/**
* Get the channelz reference object for this channel. The returned value is
* garbage if channelz is disabled for this channel.
* @returns
*/
getChannelzRef() {
return this.channelzRef;
}
createCall(method, deadline, host, parentCall, propagateFlags) {
if (typeof method !== "string") {
throw new TypeError("Channel#createCall: method must be a string");
}
if (!(typeof deadline === "number" || deadline instanceof Date)) {
throw new TypeError("Channel#createCall: deadline must be a number or Date");
}
if (this.connectivityState === connectivity_state_1.ConnectivityState.SHUTDOWN) {
throw new Error("Channel has been shut down");
}
return this.createResolvingCall(method, deadline, host, parentCall, propagateFlags);
}
getOptions() {
return this.options;
}
};
exports2.InternalChannel = InternalChannel;
}
});
// node_modules/@grpc/grpc-js/build/src/channel.js
var require_channel = __commonJS({
"node_modules/@grpc/grpc-js/build/src/channel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ChannelImplementation = void 0;
var channel_credentials_1 = require_channel_credentials();
var internal_channel_1 = require_internal_channel();
var ChannelImplementation = class {
constructor(target, credentials3, options) {
if (typeof target !== "string") {
throw new TypeError("Channel target must be a string");
}
if (!(credentials3 instanceof channel_credentials_1.ChannelCredentials)) {
throw new TypeError("Channel credentials must be a ChannelCredentials object");
}
if (options) {
if (typeof options !== "object") {
throw new TypeError("Channel options must be an object");
}
}
this.internalChannel = new internal_channel_1.InternalChannel(target, credentials3, options);
}
close() {
this.internalChannel.close();
}
getTarget() {
return this.internalChannel.getTarget();
}
getConnectivityState(tryToConnect) {
return this.internalChannel.getConnectivityState(tryToConnect);
}
watchConnectivityState(currentState, deadline, callback) {
this.internalChannel.watchConnectivityState(currentState, deadline, callback);
}
/**
* Get the channelz reference object for this channel. The returned value is
* garbage if channelz is disabled for this channel.
* @returns
*/
getChannelzRef() {
return this.internalChannel.getChannelzRef();
}
createCall(method, deadline, host, parentCall, propagateFlags) {
if (typeof method !== "string") {
throw new TypeError("Channel#createCall: method must be a string");
}
if (!(typeof deadline === "number" || deadline instanceof Date)) {
throw new TypeError("Channel#createCall: deadline must be a number or Date");
}
return this.internalChannel.createCall(method, deadline, host, parentCall, propagateFlags);
}
};
exports2.ChannelImplementation = ChannelImplementation;
}
});
// node_modules/@grpc/grpc-js/build/src/server-call.js
var require_server_call = __commonJS({
"node_modules/@grpc/grpc-js/build/src/server-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ServerDuplexStreamImpl = exports2.ServerWritableStreamImpl = exports2.ServerReadableStreamImpl = exports2.ServerUnaryCallImpl = void 0;
exports2.serverErrorToStatus = serverErrorToStatus;
var events_1 = __require("events");
var stream_1 = __require("stream");
var constants_1 = require_constants2();
var metadata_1 = require_metadata();
function serverErrorToStatus(error40, overrideTrailers) {
var _a4;
const status2 = {
code: constants_1.Status.UNKNOWN,
details: "message" in error40 ? error40.message : "Unknown Error",
metadata: (_a4 = overrideTrailers !== null && overrideTrailers !== void 0 ? overrideTrailers : error40.metadata) !== null && _a4 !== void 0 ? _a4 : null
};
if ("code" in error40 && typeof error40.code === "number" && Number.isInteger(error40.code)) {
status2.code = error40.code;
if ("details" in error40 && typeof error40.details === "string") {
status2.details = error40.details;
}
}
return status2;
}
var ServerUnaryCallImpl = class extends events_1.EventEmitter {
constructor(path101, call, metadata2, request) {
super();
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.request = request;
this.cancelled = false;
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
};
exports2.ServerUnaryCallImpl = ServerUnaryCallImpl;
var ServerReadableStreamImpl = class extends stream_1.Readable {
constructor(path101, call, metadata2) {
super({ objectMode: true });
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.cancelled = false;
}
_read(size) {
this.call.startRead();
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
};
exports2.ServerReadableStreamImpl = ServerReadableStreamImpl;
var ServerWritableStreamImpl = class extends stream_1.Writable {
constructor(path101, call, metadata2, request) {
super({ objectMode: true });
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.request = request;
this.pendingStatus = {
code: constants_1.Status.OK,
details: "OK"
};
this.cancelled = false;
this.trailingMetadata = new metadata_1.Metadata();
this.on("error", (err2) => {
this.pendingStatus = serverErrorToStatus(err2);
this.end();
});
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
_write(chunk, encoding, callback) {
this.call.sendMessage(chunk, callback);
}
_final(callback) {
var _a4;
callback(null);
this.call.sendStatus(Object.assign(Object.assign({}, this.pendingStatus), { metadata: (_a4 = this.pendingStatus.metadata) !== null && _a4 !== void 0 ? _a4 : this.trailingMetadata }));
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
end(metadata2) {
if (metadata2) {
this.trailingMetadata = metadata2;
}
return super.end();
}
};
exports2.ServerWritableStreamImpl = ServerWritableStreamImpl;
var ServerDuplexStreamImpl = class extends stream_1.Duplex {
constructor(path101, call, metadata2) {
super({ objectMode: true });
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.pendingStatus = {
code: constants_1.Status.OK,
details: "OK"
};
this.cancelled = false;
this.trailingMetadata = new metadata_1.Metadata();
this.on("error", (err2) => {
this.pendingStatus = serverErrorToStatus(err2);
this.end();
});
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
_read(size) {
this.call.startRead();
}
_write(chunk, encoding, callback) {
this.call.sendMessage(chunk, callback);
}
_final(callback) {
var _a4;
callback(null);
this.call.sendStatus(Object.assign(Object.assign({}, this.pendingStatus), { metadata: (_a4 = this.pendingStatus.metadata) !== null && _a4 !== void 0 ? _a4 : this.trailingMetadata }));
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
end(metadata2) {
if (metadata2) {
this.trailingMetadata = metadata2;
}
return super.end();
}
};
exports2.ServerDuplexStreamImpl = ServerDuplexStreamImpl;
}
});
// node_modules/@grpc/grpc-js/build/src/server-credentials.js
var require_server_credentials = __commonJS({
"node_modules/@grpc/grpc-js/build/src/server-credentials.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ServerCredentials = void 0;
exports2.createCertificateProviderServerCredentials = createCertificateProviderServerCredentials;
exports2.createServerCredentialsWithInterceptors = createServerCredentialsWithInterceptors;
var tls_helpers_1 = require_tls_helpers();
var ServerCredentials = class {
constructor(serverConstructorOptions, contextOptions) {
this.serverConstructorOptions = serverConstructorOptions;
this.watchers = /* @__PURE__ */ new Set();
this.latestContextOptions = null;
this.latestContextOptions = contextOptions !== null && contextOptions !== void 0 ? contextOptions : null;
}
_addWatcher(watcher) {
this.watchers.add(watcher);
}
_removeWatcher(watcher) {
this.watchers.delete(watcher);
}
getWatcherCount() {
return this.watchers.size;
}
updateSecureContextOptions(options) {
this.latestContextOptions = options;
for (const watcher of this.watchers) {
watcher(this.latestContextOptions);
}
}
_isSecure() {
return this.serverConstructorOptions !== null;
}
_getSecureContextOptions() {
return this.latestContextOptions;
}
_getConstructorOptions() {
return this.serverConstructorOptions;
}
_getInterceptors() {
return [];
}
static createInsecure() {
return new InsecureServerCredentials();
}
static createSsl(rootCerts, keyCertPairs, checkClientCertificate = false) {
var _a4;
if (rootCerts !== null && !Buffer.isBuffer(rootCerts)) {
throw new TypeError("rootCerts must be null or a Buffer");
}
if (!Array.isArray(keyCertPairs)) {
throw new TypeError("keyCertPairs must be an array");
}
if (typeof checkClientCertificate !== "boolean") {
throw new TypeError("checkClientCertificate must be a boolean");
}
const cert = [];
const key = [];
for (let i3 = 0; i3 < keyCertPairs.length; i3++) {
const pair = keyCertPairs[i3];
if (pair === null || typeof pair !== "object") {
throw new TypeError(`keyCertPair[${i3}] must be an object`);
}
if (!Buffer.isBuffer(pair.private_key)) {
throw new TypeError(`keyCertPair[${i3}].private_key must be a Buffer`);
}
if (!Buffer.isBuffer(pair.cert_chain)) {
throw new TypeError(`keyCertPair[${i3}].cert_chain must be a Buffer`);
}
cert.push(pair.cert_chain);
key.push(pair.private_key);
}
return new SecureServerCredentials({
requestCert: checkClientCertificate,
ciphers: tls_helpers_1.CIPHER_SUITES
}, {
ca: (_a4 = rootCerts !== null && rootCerts !== void 0 ? rootCerts : (0, tls_helpers_1.getDefaultRootsData)()) !== null && _a4 !== void 0 ? _a4 : void 0,
cert,
key
});
}
};
exports2.ServerCredentials = ServerCredentials;
var InsecureServerCredentials = class _InsecureServerCredentials extends ServerCredentials {
constructor() {
super(null);
}
_getSettings() {
return null;
}
_equals(other) {
return other instanceof _InsecureServerCredentials;
}
};
var SecureServerCredentials = class _SecureServerCredentials extends ServerCredentials {
constructor(constructorOptions, contextOptions) {
super(constructorOptions, contextOptions);
this.options = Object.assign(Object.assign({}, constructorOptions), contextOptions);
}
/**
* Checks equality by checking the options that are actually set by
* createSsl.
* @param other
* @returns
*/
_equals(other) {
if (this === other) {
return true;
}
if (!(other instanceof _SecureServerCredentials)) {
return false;
}
if (Buffer.isBuffer(this.options.ca) && Buffer.isBuffer(other.options.ca)) {
if (!this.options.ca.equals(other.options.ca)) {
return false;
}
} else {
if (this.options.ca !== other.options.ca) {
return false;
}
}
if (Array.isArray(this.options.cert) && Array.isArray(other.options.cert)) {
if (this.options.cert.length !== other.options.cert.length) {
return false;
}
for (let i3 = 0; i3 < this.options.cert.length; i3++) {
const thisCert = this.options.cert[i3];
const otherCert = other.options.cert[i3];
if (Buffer.isBuffer(thisCert) && Buffer.isBuffer(otherCert)) {
if (!thisCert.equals(otherCert)) {
return false;
}
} else {
if (thisCert !== otherCert) {
return false;
}
}
}
} else {
if (this.options.cert !== other.options.cert) {
return false;
}
}
if (Array.isArray(this.options.key) && Array.isArray(other.options.key)) {
if (this.options.key.length !== other.options.key.length) {
return false;
}
for (let i3 = 0; i3 < this.options.key.length; i3++) {
const thisKey = this.options.key[i3];
const otherKey = other.options.key[i3];
if (Buffer.isBuffer(thisKey) && Buffer.isBuffer(otherKey)) {
if (!thisKey.equals(otherKey)) {
return false;
}
} else {
if (thisKey !== otherKey) {
return false;
}
}
}
} else {
if (this.options.key !== other.options.key) {
return false;
}
}
if (this.options.requestCert !== other.options.requestCert) {
return false;
}
return true;
}
};
var CertificateProviderServerCredentials = class _CertificateProviderServerCredentials extends ServerCredentials {
constructor(identityCertificateProvider, caCertificateProvider, requireClientCertificate) {
super({
requestCert: caCertificateProvider !== null,
rejectUnauthorized: requireClientCertificate,
ciphers: tls_helpers_1.CIPHER_SUITES
});
this.identityCertificateProvider = identityCertificateProvider;
this.caCertificateProvider = caCertificateProvider;
this.requireClientCertificate = requireClientCertificate;
this.latestCaUpdate = null;
this.latestIdentityUpdate = null;
this.caCertificateUpdateListener = this.handleCaCertificateUpdate.bind(this);
this.identityCertificateUpdateListener = this.handleIdentityCertitificateUpdate.bind(this);
}
_addWatcher(watcher) {
var _a4;
if (this.getWatcherCount() === 0) {
(_a4 = this.caCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.addCaCertificateListener(this.caCertificateUpdateListener);
this.identityCertificateProvider.addIdentityCertificateListener(this.identityCertificateUpdateListener);
}
super._addWatcher(watcher);
}
_removeWatcher(watcher) {
var _a4;
super._removeWatcher(watcher);
if (this.getWatcherCount() === 0) {
(_a4 = this.caCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.removeCaCertificateListener(this.caCertificateUpdateListener);
this.identityCertificateProvider.removeIdentityCertificateListener(this.identityCertificateUpdateListener);
}
}
_equals(other) {
if (this === other) {
return true;
}
if (!(other instanceof _CertificateProviderServerCredentials)) {
return false;
}
return this.caCertificateProvider === other.caCertificateProvider && this.identityCertificateProvider === other.identityCertificateProvider && this.requireClientCertificate === other.requireClientCertificate;
}
calculateSecureContextOptions() {
var _a4;
if (this.latestIdentityUpdate === null) {
return null;
}
if (this.caCertificateProvider !== null && this.latestCaUpdate === null) {
return null;
}
return {
ca: (_a4 = this.latestCaUpdate) === null || _a4 === void 0 ? void 0 : _a4.caCertificate,
cert: [this.latestIdentityUpdate.certificate],
key: [this.latestIdentityUpdate.privateKey]
};
}
finalizeUpdate() {
const secureContextOptions = this.calculateSecureContextOptions();
this.updateSecureContextOptions(secureContextOptions);
}
handleCaCertificateUpdate(update) {
this.latestCaUpdate = update;
this.finalizeUpdate();
}
handleIdentityCertitificateUpdate(update) {
this.latestIdentityUpdate = update;
this.finalizeUpdate();
}
};
function createCertificateProviderServerCredentials(caCertificateProvider, identityCertificateProvider, requireClientCertificate) {
return new CertificateProviderServerCredentials(caCertificateProvider, identityCertificateProvider, requireClientCertificate);
}
var InterceptorServerCredentials = class _InterceptorServerCredentials extends ServerCredentials {
constructor(childCredentials, interceptors) {
super({});
this.childCredentials = childCredentials;
this.interceptors = interceptors;
}
_isSecure() {
return this.childCredentials._isSecure();
}
_equals(other) {
if (!(other instanceof _InterceptorServerCredentials)) {
return false;
}
if (!this.childCredentials._equals(other.childCredentials)) {
return false;
}
if (this.interceptors.length !== other.interceptors.length) {
return false;
}
for (let i3 = 0; i3 < this.interceptors.length; i3++) {
if (this.interceptors[i3] !== other.interceptors[i3]) {
return false;
}
}
return true;
}
_getInterceptors() {
return this.interceptors;
}
_addWatcher(watcher) {
this.childCredentials._addWatcher(watcher);
}
_removeWatcher(watcher) {
this.childCredentials._removeWatcher(watcher);
}
_getConstructorOptions() {
return this.childCredentials._getConstructorOptions();
}
_getSecureContextOptions() {
return this.childCredentials._getSecureContextOptions();
}
};
function createServerCredentialsWithInterceptors(credentials3, interceptors) {
return new InterceptorServerCredentials(credentials3, interceptors);
}
}
});
// node_modules/@grpc/grpc-js/build/src/server-interceptors.js
var require_server_interceptors = __commonJS({
"node_modules/@grpc/grpc-js/build/src/server-interceptors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BaseServerInterceptingCall = exports2.ServerInterceptingCall = exports2.ResponderBuilder = exports2.ServerListenerBuilder = void 0;
exports2.isInterceptingServerListener = isInterceptingServerListener;
exports2.getServerInterceptingCall = getServerInterceptingCall;
var metadata_1 = require_metadata();
var constants_1 = require_constants2();
var http22 = __require("http2");
var error_1 = require_error();
var zlib2 = __require("zlib");
var stream_decoder_1 = require_stream_decoder();
var logging = require_logging();
var TRACER_NAME2 = "server_call";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var ServerListenerBuilder = class {
constructor() {
this.metadata = void 0;
this.message = void 0;
this.halfClose = void 0;
this.cancel = void 0;
}
withOnReceiveMetadata(onReceiveMetadata) {
this.metadata = onReceiveMetadata;
return this;
}
withOnReceiveMessage(onReceiveMessage) {
this.message = onReceiveMessage;
return this;
}
withOnReceiveHalfClose(onReceiveHalfClose) {
this.halfClose = onReceiveHalfClose;
return this;
}
withOnCancel(onCancel) {
this.cancel = onCancel;
return this;
}
build() {
return {
onReceiveMetadata: this.metadata,
onReceiveMessage: this.message,
onReceiveHalfClose: this.halfClose,
onCancel: this.cancel
};
}
};
exports2.ServerListenerBuilder = ServerListenerBuilder;
function isInterceptingServerListener(listener) {
return listener.onReceiveMetadata !== void 0 && listener.onReceiveMetadata.length === 1;
}
var InterceptingServerListenerImpl = class {
constructor(listener, nextListener) {
this.listener = listener;
this.nextListener = nextListener;
this.cancelled = false;
this.processingMetadata = false;
this.hasPendingMessage = false;
this.pendingMessage = null;
this.processingMessage = false;
this.hasPendingHalfClose = false;
}
processPendingMessage() {
if (this.hasPendingMessage) {
this.nextListener.onReceiveMessage(this.pendingMessage);
this.pendingMessage = null;
this.hasPendingMessage = false;
}
}
processPendingHalfClose() {
if (this.hasPendingHalfClose) {
this.nextListener.onReceiveHalfClose();
this.hasPendingHalfClose = false;
}
}
onReceiveMetadata(metadata2) {
if (this.cancelled) {
return;
}
this.processingMetadata = true;
this.listener.onReceiveMetadata(metadata2, (interceptedMetadata) => {
this.processingMetadata = false;
if (this.cancelled) {
return;
}
this.nextListener.onReceiveMetadata(interceptedMetadata);
this.processPendingMessage();
this.processPendingHalfClose();
});
}
onReceiveMessage(message) {
if (this.cancelled) {
return;
}
this.processingMessage = true;
this.listener.onReceiveMessage(message, (msg) => {
this.processingMessage = false;
if (this.cancelled) {
return;
}
if (this.processingMetadata) {
this.pendingMessage = msg;
this.hasPendingMessage = true;
} else {
this.nextListener.onReceiveMessage(msg);
this.processPendingHalfClose();
}
});
}
onReceiveHalfClose() {
if (this.cancelled) {
return;
}
this.listener.onReceiveHalfClose(() => {
if (this.cancelled) {
return;
}
if (this.processingMetadata || this.processingMessage) {
this.hasPendingHalfClose = true;
} else {
this.nextListener.onReceiveHalfClose();
}
});
}
onCancel() {
this.cancelled = true;
this.listener.onCancel();
this.nextListener.onCancel();
}
};
var ResponderBuilder = class {
constructor() {
this.start = void 0;
this.metadata = void 0;
this.message = void 0;
this.status = void 0;
}
withStart(start2) {
this.start = start2;
return this;
}
withSendMetadata(sendMetadata) {
this.metadata = sendMetadata;
return this;
}
withSendMessage(sendMessage3) {
this.message = sendMessage3;
return this;
}
withSendStatus(sendStatus) {
this.status = sendStatus;
return this;
}
build() {
return {
start: this.start,
sendMetadata: this.metadata,
sendMessage: this.message,
sendStatus: this.status
};
}
};
exports2.ResponderBuilder = ResponderBuilder;
var defaultServerListener = {
onReceiveMetadata: (metadata2, next) => {
next(metadata2);
},
onReceiveMessage: (message, next) => {
next(message);
},
onReceiveHalfClose: (next) => {
next();
},
onCancel: () => {
}
};
var defaultResponder = {
start: (next) => {
next();
},
sendMetadata: (metadata2, next) => {
next(metadata2);
},
sendMessage: (message, next) => {
next(message);
},
sendStatus: (status2, next) => {
next(status2);
}
};
var ServerInterceptingCall = class {
constructor(nextCall, responder) {
var _a4, _b, _c, _d;
this.nextCall = nextCall;
this.processingMetadata = false;
this.sentMetadata = false;
this.processingMessage = false;
this.pendingMessage = null;
this.pendingMessageCallback = null;
this.pendingStatus = null;
this.responder = {
start: (_a4 = responder === null || responder === void 0 ? void 0 : responder.start) !== null && _a4 !== void 0 ? _a4 : defaultResponder.start,
sendMetadata: (_b = responder === null || responder === void 0 ? void 0 : responder.sendMetadata) !== null && _b !== void 0 ? _b : defaultResponder.sendMetadata,
sendMessage: (_c = responder === null || responder === void 0 ? void 0 : responder.sendMessage) !== null && _c !== void 0 ? _c : defaultResponder.sendMessage,
sendStatus: (_d = responder === null || responder === void 0 ? void 0 : responder.sendStatus) !== null && _d !== void 0 ? _d : defaultResponder.sendStatus
};
}
processPendingMessage() {
if (this.pendingMessageCallback) {
this.nextCall.sendMessage(this.pendingMessage, this.pendingMessageCallback);
this.pendingMessage = null;
this.pendingMessageCallback = null;
}
}
processPendingStatus() {
if (this.pendingStatus) {
this.nextCall.sendStatus(this.pendingStatus);
this.pendingStatus = null;
}
}
start(listener) {
this.responder.start((interceptedListener) => {
var _a4, _b, _c, _d;
const fullInterceptedListener = {
onReceiveMetadata: (_a4 = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onReceiveMetadata) !== null && _a4 !== void 0 ? _a4 : defaultServerListener.onReceiveMetadata,
onReceiveMessage: (_b = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onReceiveMessage) !== null && _b !== void 0 ? _b : defaultServerListener.onReceiveMessage,
onReceiveHalfClose: (_c = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onReceiveHalfClose) !== null && _c !== void 0 ? _c : defaultServerListener.onReceiveHalfClose,
onCancel: (_d = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onCancel) !== null && _d !== void 0 ? _d : defaultServerListener.onCancel
};
const finalInterceptingListener = new InterceptingServerListenerImpl(fullInterceptedListener, listener);
this.nextCall.start(finalInterceptingListener);
});
}
sendMetadata(metadata2) {
this.processingMetadata = true;
this.sentMetadata = true;
this.responder.sendMetadata(metadata2, (interceptedMetadata) => {
this.processingMetadata = false;
this.nextCall.sendMetadata(interceptedMetadata);
this.processPendingMessage();
this.processPendingStatus();
});
}
sendMessage(message, callback) {
this.processingMessage = true;
if (!this.sentMetadata) {
this.sendMetadata(new metadata_1.Metadata());
}
this.responder.sendMessage(message, (interceptedMessage) => {
this.processingMessage = false;
if (this.processingMetadata) {
this.pendingMessage = interceptedMessage;
this.pendingMessageCallback = callback;
} else {
this.nextCall.sendMessage(interceptedMessage, callback);
}
});
}
sendStatus(status2) {
this.responder.sendStatus(status2, (interceptedStatus) => {
if (this.processingMetadata || this.processingMessage) {
this.pendingStatus = interceptedStatus;
} else {
this.nextCall.sendStatus(interceptedStatus);
}
});
}
startRead() {
this.nextCall.startRead();
}
getPeer() {
return this.nextCall.getPeer();
}
getDeadline() {
return this.nextCall.getDeadline();
}
getHost() {
return this.nextCall.getHost();
}
};
exports2.ServerInterceptingCall = ServerInterceptingCall;
var GRPC_ACCEPT_ENCODING_HEADER = "grpc-accept-encoding";
var GRPC_ENCODING_HEADER = "grpc-encoding";
var GRPC_MESSAGE_HEADER = "grpc-message";
var GRPC_STATUS_HEADER = "grpc-status";
var GRPC_TIMEOUT_HEADER = "grpc-timeout";
var DEADLINE_REGEX = /(\d{1,8})\s*([HMSmun])/;
var deadlineUnitsToMs = {
H: 36e5,
M: 6e4,
S: 1e3,
m: 1,
u: 1e-3,
n: 1e-6
};
var defaultCompressionHeaders = {
// TODO(cjihrig): Remove these encoding headers from the default response
// once compression is integrated.
[GRPC_ACCEPT_ENCODING_HEADER]: "identity,deflate,gzip",
[GRPC_ENCODING_HEADER]: "identity"
};
var defaultResponseHeaders = {
[http22.constants.HTTP2_HEADER_STATUS]: http22.constants.HTTP_STATUS_OK,
[http22.constants.HTTP2_HEADER_CONTENT_TYPE]: "application/grpc+proto"
};
var defaultResponseOptions = {
waitForTrailers: true
};
var BaseServerInterceptingCall = class {
constructor(stream2, headers, callEventTracker, handler, options) {
var _a4;
this.stream = stream2;
this.callEventTracker = callEventTracker;
this.handler = handler;
this.listener = null;
this.deadlineTimer = null;
this.deadline = Infinity;
this.maxSendMessageSize = constants_1.DEFAULT_MAX_SEND_MESSAGE_LENGTH;
this.maxReceiveMessageSize = constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
this.cancelled = false;
this.metadataSent = false;
this.wantTrailers = false;
this.cancelNotified = false;
this.incomingEncoding = "identity";
this.readQueue = [];
this.isReadPending = false;
this.receivedHalfClose = false;
this.streamEnded = false;
this.stream.once("error", (err2) => {
});
this.stream.once("close", () => {
var _a5;
trace2("Request to method " + ((_a5 = this.handler) === null || _a5 === void 0 ? void 0 : _a5.path) + " stream closed with rstCode " + this.stream.rstCode);
if (this.callEventTracker && !this.streamEnded) {
this.streamEnded = true;
this.callEventTracker.onStreamEnd(false);
this.callEventTracker.onCallEnd({
code: constants_1.Status.CANCELLED,
details: "Stream closed before sending status",
metadata: null
});
}
this.notifyOnCancel();
});
this.stream.on("data", (data) => {
this.handleDataFrame(data);
});
this.stream.pause();
this.stream.on("end", () => {
this.handleEndEvent();
});
if ("grpc.max_send_message_length" in options) {
this.maxSendMessageSize = options["grpc.max_send_message_length"];
}
if ("grpc.max_receive_message_length" in options) {
this.maxReceiveMessageSize = options["grpc.max_receive_message_length"];
}
this.host = (_a4 = headers[":authority"]) !== null && _a4 !== void 0 ? _a4 : headers.host;
this.decoder = new stream_decoder_1.StreamDecoder(this.maxReceiveMessageSize);
const metadata2 = metadata_1.Metadata.fromHttp2Headers(headers);
if (logging.isTracerEnabled(TRACER_NAME2)) {
trace2("Request to " + this.handler.path + " received headers " + JSON.stringify(metadata2.toJSON()));
}
const timeoutHeader = metadata2.get(GRPC_TIMEOUT_HEADER);
if (timeoutHeader.length > 0) {
this.handleTimeoutHeader(timeoutHeader[0]);
}
const encodingHeader = metadata2.get(GRPC_ENCODING_HEADER);
if (encodingHeader.length > 0) {
this.incomingEncoding = encodingHeader[0];
}
metadata2.remove(GRPC_TIMEOUT_HEADER);
metadata2.remove(GRPC_ENCODING_HEADER);
metadata2.remove(GRPC_ACCEPT_ENCODING_HEADER);
metadata2.remove(http22.constants.HTTP2_HEADER_ACCEPT_ENCODING);
metadata2.remove(http22.constants.HTTP2_HEADER_TE);
metadata2.remove(http22.constants.HTTP2_HEADER_CONTENT_TYPE);
this.metadata = metadata2;
}
handleTimeoutHeader(timeoutHeader) {
const match2 = timeoutHeader.toString().match(DEADLINE_REGEX);
if (match2 === null) {
const status2 = {
code: constants_1.Status.INTERNAL,
details: `Invalid ${GRPC_TIMEOUT_HEADER} value "${timeoutHeader}"`,
metadata: null
};
process.nextTick(() => {
this.sendStatus(status2);
});
return;
}
const timeout = +match2[1] * deadlineUnitsToMs[match2[2]] | 0;
const now = /* @__PURE__ */ new Date();
this.deadline = now.setMilliseconds(now.getMilliseconds() + timeout);
this.deadlineTimer = setTimeout(() => {
const status2 = {
code: constants_1.Status.DEADLINE_EXCEEDED,
details: "Deadline exceeded",
metadata: null
};
this.sendStatus(status2);
}, timeout);
}
checkCancelled() {
if (!this.cancelled && (this.stream.destroyed || this.stream.closed)) {
this.notifyOnCancel();
this.cancelled = true;
}
return this.cancelled;
}
notifyOnCancel() {
if (this.cancelNotified) {
return;
}
this.cancelNotified = true;
this.cancelled = true;
process.nextTick(() => {
var _a4;
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onCancel();
});
if (this.deadlineTimer) {
clearTimeout(this.deadlineTimer);
}
this.stream.resume();
}
/**
* A server handler can start sending messages without explicitly sending
* metadata. In that case, we need to send headers before sending any
* messages. This function does that if necessary.
*/
maybeSendMetadata() {
if (!this.metadataSent) {
this.sendMetadata(new metadata_1.Metadata());
}
}
/**
* Serialize a message to a length-delimited byte string.
* @param value
* @returns
*/
serializeMessage(value) {
const messageBuffer = this.handler.serialize(value);
const byteLength = messageBuffer.byteLength;
const output = Buffer.allocUnsafe(byteLength + 5);
output.writeUInt8(0, 0);
output.writeUInt32BE(byteLength, 1);
messageBuffer.copy(output, 5);
return output;
}
decompressMessage(message, encoding) {
const messageContents = message.subarray(5);
if (encoding === "identity") {
return messageContents;
} else if (encoding === "deflate" || encoding === "gzip") {
let decompresser;
if (encoding === "deflate") {
decompresser = zlib2.createInflate();
} else {
decompresser = zlib2.createGunzip();
}
return new Promise((resolve25, reject) => {
let totalLength = 0;
const messageParts = [];
decompresser.on("data", (chunk) => {
messageParts.push(chunk);
totalLength += chunk.byteLength;
if (this.maxReceiveMessageSize !== -1 && totalLength > this.maxReceiveMessageSize) {
decompresser.destroy();
reject({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Received message that decompresses to a size larger than ${this.maxReceiveMessageSize}`
});
}
});
decompresser.on("end", () => {
resolve25(Buffer.concat(messageParts));
});
decompresser.write(messageContents);
decompresser.end();
});
} else {
return Promise.reject({
code: constants_1.Status.UNIMPLEMENTED,
details: `Received message compressed with unsupported encoding "${encoding}"`
});
}
}
async decompressAndMaybePush(queueEntry) {
if (queueEntry.type !== "COMPRESSED") {
throw new Error(`Invalid queue entry type: ${queueEntry.type}`);
}
const compressed = queueEntry.compressedMessage.readUInt8(0) === 1;
const compressedMessageEncoding = compressed ? this.incomingEncoding : "identity";
let decompressedMessage;
try {
decompressedMessage = await this.decompressMessage(queueEntry.compressedMessage, compressedMessageEncoding);
} catch (err2) {
this.sendStatus(err2);
return;
}
try {
queueEntry.parsedMessage = this.handler.deserialize(decompressedMessage);
} catch (err2) {
this.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Error deserializing request: ${err2.message}`
});
return;
}
queueEntry.type = "READABLE";
this.maybePushNextMessage();
}
maybePushNextMessage() {
if (this.listener && this.isReadPending && this.readQueue.length > 0 && this.readQueue[0].type !== "COMPRESSED") {
this.isReadPending = false;
const nextQueueEntry = this.readQueue.shift();
if (nextQueueEntry.type === "READABLE") {
this.listener.onReceiveMessage(nextQueueEntry.parsedMessage);
} else {
this.listener.onReceiveHalfClose();
}
}
}
handleDataFrame(data) {
var _a4;
if (this.checkCancelled()) {
return;
}
trace2("Request to " + this.handler.path + " received data frame of size " + data.length);
let rawMessages;
try {
rawMessages = this.decoder.write(data);
} catch (e2) {
this.sendStatus({ code: constants_1.Status.RESOURCE_EXHAUSTED, details: e2.message });
return;
}
for (const messageBytes of rawMessages) {
this.stream.pause();
const queueEntry = {
type: "COMPRESSED",
compressedMessage: messageBytes,
parsedMessage: null
};
this.readQueue.push(queueEntry);
this.decompressAndMaybePush(queueEntry);
(_a4 = this.callEventTracker) === null || _a4 === void 0 ? void 0 : _a4.addMessageReceived();
}
}
handleEndEvent() {
this.readQueue.push({
type: "HALF_CLOSE",
compressedMessage: null,
parsedMessage: null
});
this.receivedHalfClose = true;
this.maybePushNextMessage();
}
start(listener) {
trace2("Request to " + this.handler.path + " start called");
if (this.checkCancelled()) {
return;
}
this.listener = listener;
listener.onReceiveMetadata(this.metadata);
}
sendMetadata(metadata2) {
if (this.checkCancelled()) {
return;
}
if (this.metadataSent) {
return;
}
this.metadataSent = true;
const custom2 = metadata2 ? metadata2.toHttp2Headers() : null;
const headers = Object.assign(Object.assign(Object.assign({}, defaultResponseHeaders), defaultCompressionHeaders), custom2);
this.stream.respond(headers, defaultResponseOptions);
}
sendMessage(message, callback) {
if (this.checkCancelled()) {
return;
}
let response;
try {
response = this.serializeMessage(message);
} catch (e2) {
this.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Error serializing response: ${(0, error_1.getErrorMessage)(e2)}`,
metadata: null
});
return;
}
if (this.maxSendMessageSize !== -1 && response.length - 5 > this.maxSendMessageSize) {
this.sendStatus({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Sent message larger than max (${response.length} vs. ${this.maxSendMessageSize})`,
metadata: null
});
return;
}
this.maybeSendMetadata();
trace2("Request to " + this.handler.path + " sent data frame of size " + response.length);
this.stream.write(response, (error40) => {
var _a4;
if (error40) {
this.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Error writing message: ${(0, error_1.getErrorMessage)(error40)}`,
metadata: null
});
return;
}
(_a4 = this.callEventTracker) === null || _a4 === void 0 ? void 0 : _a4.addMessageSent();
callback();
});
}
sendStatus(status2) {
var _a4, _b;
if (this.checkCancelled()) {
return;
}
trace2("Request to method " + ((_a4 = this.handler) === null || _a4 === void 0 ? void 0 : _a4.path) + " ended with status code: " + constants_1.Status[status2.code] + " details: " + status2.details);
if (this.metadataSent) {
if (!this.wantTrailers) {
this.wantTrailers = true;
this.stream.once("wantTrailers", () => {
var _a5;
if (this.callEventTracker && !this.streamEnded) {
this.streamEnded = true;
this.callEventTracker.onStreamEnd(true);
this.callEventTracker.onCallEnd(status2);
}
const trailersToSend = Object.assign({ [GRPC_STATUS_HEADER]: status2.code, [GRPC_MESSAGE_HEADER]: encodeURI(status2.details) }, (_a5 = status2.metadata) === null || _a5 === void 0 ? void 0 : _a5.toHttp2Headers());
this.stream.sendTrailers(trailersToSend);
this.notifyOnCancel();
});
this.stream.end();
} else {
this.notifyOnCancel();
}
} else {
if (this.callEventTracker && !this.streamEnded) {
this.streamEnded = true;
this.callEventTracker.onStreamEnd(true);
this.callEventTracker.onCallEnd(status2);
}
const trailersToSend = Object.assign(Object.assign({ [GRPC_STATUS_HEADER]: status2.code, [GRPC_MESSAGE_HEADER]: encodeURI(status2.details) }, defaultResponseHeaders), (_b = status2.metadata) === null || _b === void 0 ? void 0 : _b.toHttp2Headers());
this.stream.respond(trailersToSend, { endStream: true });
this.notifyOnCancel();
}
}
startRead() {
trace2("Request to " + this.handler.path + " startRead called");
if (this.checkCancelled()) {
return;
}
this.isReadPending = true;
if (this.readQueue.length === 0) {
if (!this.receivedHalfClose) {
this.stream.resume();
}
} else {
this.maybePushNextMessage();
}
}
getPeer() {
var _a4;
const socket = (_a4 = this.stream.session) === null || _a4 === void 0 ? void 0 : _a4.socket;
if (socket === null || socket === void 0 ? void 0 : socket.remoteAddress) {
if (socket.remotePort) {
return `${socket.remoteAddress}:${socket.remotePort}`;
} else {
return socket.remoteAddress;
}
} else {
return "unknown";
}
}
getDeadline() {
return this.deadline;
}
getHost() {
return this.host;
}
};
exports2.BaseServerInterceptingCall = BaseServerInterceptingCall;
function getServerInterceptingCall(interceptors, stream2, headers, callEventTracker, handler, options) {
const methodDefinition = {
path: handler.path,
requestStream: handler.type === "clientStream" || handler.type === "bidi",
responseStream: handler.type === "serverStream" || handler.type === "bidi",
requestDeserialize: handler.deserialize,
responseSerialize: handler.serialize
};
const baseCall = new BaseServerInterceptingCall(stream2, headers, callEventTracker, handler, options);
return interceptors.reduce((call, interceptor) => {
return interceptor(methodDefinition, call);
}, baseCall);
}
}
});
// node_modules/@grpc/grpc-js/build/src/server.js
var require_server = __commonJS({
"node_modules/@grpc/grpc-js/build/src/server.js"(exports2) {
"use strict";
var __runInitializers = exports2 && exports2.__runInitializers || function(thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i3 = 0; i3 < initializers.length; i3++) {
value = useValue ? initializers[i3].call(thisArg, value) : initializers[i3].call(thisArg);
}
return useValue ? value : void 0;
};
var __esDecorate = exports2 && exports2.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) {
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
return f;
}
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor2 = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
var _, done = false;
for (var i3 = decorators.length - 1; i3 >= 0; i3--) {
var context2 = {};
for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
context2.addInitializer = function(f) {
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
extraInitializers.push(accept(f || null));
};
var result2 = (0, decorators[i3])(kind === "accessor" ? { get: descriptor2.get, set: descriptor2.set } : descriptor2[key], context2);
if (kind === "accessor") {
if (result2 === void 0) continue;
if (result2 === null || typeof result2 !== "object") throw new TypeError("Object expected");
if (_ = accept(result2.get)) descriptor2.get = _;
if (_ = accept(result2.set)) descriptor2.set = _;
if (_ = accept(result2.init)) initializers.unshift(_);
} else if (_ = accept(result2)) {
if (kind === "field") initializers.unshift(_);
else descriptor2[key] = _;
}
}
if (target) Object.defineProperty(target, contextIn.name, descriptor2);
done = true;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Server = void 0;
var http22 = __require("http2");
var util2 = __require("util");
var constants_1 = require_constants2();
var server_call_1 = require_server_call();
var server_credentials_1 = require_server_credentials();
var resolver_1 = require_resolver();
var logging = require_logging();
var subchannel_address_1 = require_subchannel_address();
var uri_parser_1 = require_uri_parser();
var channelz_1 = require_channelz();
var server_interceptors_1 = require_server_interceptors();
var UNLIMITED_CONNECTION_AGE_MS = ~(1 << 31);
var KEEPALIVE_MAX_TIME_MS = ~(1 << 31);
var KEEPALIVE_TIMEOUT_MS = 2e4;
var MAX_CONNECTION_IDLE_MS = ~(1 << 31);
var { HTTP2_HEADER_PATH } = http22.constants;
var TRACER_NAME2 = "server";
var kMaxAge = Buffer.from("max_age");
function serverCallTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "server_call", text);
}
function noop4() {
}
function deprecate(message) {
return function(target, context2) {
return util2.deprecate(target, message);
};
}
function getUnimplementedStatusResponse(methodName) {
return {
code: constants_1.Status.UNIMPLEMENTED,
details: `The server does not implement the method ${methodName}`
};
}
function getDefaultHandler(handlerType, methodName) {
const unimplementedStatusResponse = getUnimplementedStatusResponse(methodName);
switch (handlerType) {
case "unary":
return (call, callback) => {
callback(unimplementedStatusResponse, null);
};
case "clientStream":
return (call, callback) => {
callback(unimplementedStatusResponse, null);
};
case "serverStream":
return (call) => {
call.emit("error", unimplementedStatusResponse);
};
case "bidi":
return (call) => {
call.emit("error", unimplementedStatusResponse);
};
default:
throw new Error(`Invalid handlerType ${handlerType}`);
}
}
var Server = (() => {
var _a4;
let _instanceExtraInitializers = [];
let _start_decorators;
return _a4 = class Server {
constructor(options) {
var _b, _c, _d, _e, _f, _g;
this.boundPorts = (__runInitializers(this, _instanceExtraInitializers), /* @__PURE__ */ new Map());
this.http2Servers = /* @__PURE__ */ new Map();
this.sessionIdleTimeouts = /* @__PURE__ */ new Map();
this.handlers = /* @__PURE__ */ new Map();
this.sessions = /* @__PURE__ */ new Map();
this.started = false;
this.shutdown = false;
this.serverAddressString = "null";
this.channelzEnabled = true;
this.options = options !== null && options !== void 0 ? options : {};
if (this.options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
this.channelzTrace = new channelz_1.ChannelzTraceStub();
this.callTracker = new channelz_1.ChannelzCallTrackerStub();
this.listenerChildrenTracker = new channelz_1.ChannelzChildrenTrackerStub();
this.sessionChildrenTracker = new channelz_1.ChannelzChildrenTrackerStub();
} else {
this.channelzTrace = new channelz_1.ChannelzTrace();
this.callTracker = new channelz_1.ChannelzCallTracker();
this.listenerChildrenTracker = new channelz_1.ChannelzChildrenTracker();
this.sessionChildrenTracker = new channelz_1.ChannelzChildrenTracker();
}
this.channelzRef = (0, channelz_1.registerChannelzServer)("server", () => this.getChannelzInfo(), this.channelzEnabled);
this.channelzTrace.addTrace("CT_INFO", "Server created");
this.maxConnectionAgeMs = (_b = this.options["grpc.max_connection_age_ms"]) !== null && _b !== void 0 ? _b : UNLIMITED_CONNECTION_AGE_MS;
this.maxConnectionAgeGraceMs = (_c = this.options["grpc.max_connection_age_grace_ms"]) !== null && _c !== void 0 ? _c : UNLIMITED_CONNECTION_AGE_MS;
this.keepaliveTimeMs = (_d = this.options["grpc.keepalive_time_ms"]) !== null && _d !== void 0 ? _d : KEEPALIVE_MAX_TIME_MS;
this.keepaliveTimeoutMs = (_e = this.options["grpc.keepalive_timeout_ms"]) !== null && _e !== void 0 ? _e : KEEPALIVE_TIMEOUT_MS;
this.sessionIdleTimeout = (_f = this.options["grpc.max_connection_idle_ms"]) !== null && _f !== void 0 ? _f : MAX_CONNECTION_IDLE_MS;
this.commonServerOptions = {
maxSendHeaderBlockLength: Number.MAX_SAFE_INTEGER
};
if ("grpc-node.max_session_memory" in this.options) {
this.commonServerOptions.maxSessionMemory = this.options["grpc-node.max_session_memory"];
} else {
this.commonServerOptions.maxSessionMemory = Number.MAX_SAFE_INTEGER;
}
if ("grpc.max_concurrent_streams" in this.options) {
this.commonServerOptions.settings = {
maxConcurrentStreams: this.options["grpc.max_concurrent_streams"]
};
}
this.interceptors = (_g = this.options.interceptors) !== null && _g !== void 0 ? _g : [];
this.trace("Server constructed");
}
getChannelzInfo() {
return {
trace: this.channelzTrace,
callTracker: this.callTracker,
listenerChildren: this.listenerChildrenTracker.getChildLists(),
sessionChildren: this.sessionChildrenTracker.getChildLists()
};
}
getChannelzSessionInfo(session) {
var _b, _c, _d;
const sessionInfo = this.sessions.get(session);
const sessionSocket = session.socket;
const remoteAddress = sessionSocket.remoteAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
const localAddress = sessionSocket.localAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.localAddress, sessionSocket.localPort) : null;
let tlsInfo;
if (session.encrypted) {
const tlsSocket = sessionSocket;
const cipherInfo = tlsSocket.getCipher();
const certificate = tlsSocket.getCertificate();
const peerCertificate = tlsSocket.getPeerCertificate();
tlsInfo = {
cipherSuiteStandardName: (_b = cipherInfo.standardName) !== null && _b !== void 0 ? _b : null,
cipherSuiteOtherName: cipherInfo.standardName ? null : cipherInfo.name,
localCertificate: certificate && "raw" in certificate ? certificate.raw : null,
remoteCertificate: peerCertificate && "raw" in peerCertificate ? peerCertificate.raw : null
};
} else {
tlsInfo = null;
}
const socketInfo = {
remoteAddress,
localAddress,
security: tlsInfo,
remoteName: null,
streamsStarted: sessionInfo.streamTracker.callsStarted,
streamsSucceeded: sessionInfo.streamTracker.callsSucceeded,
streamsFailed: sessionInfo.streamTracker.callsFailed,
messagesSent: sessionInfo.messagesSent,
messagesReceived: sessionInfo.messagesReceived,
keepAlivesSent: sessionInfo.keepAlivesSent,
lastLocalStreamCreatedTimestamp: null,
lastRemoteStreamCreatedTimestamp: sessionInfo.streamTracker.lastCallStartedTimestamp,
lastMessageSentTimestamp: sessionInfo.lastMessageSentTimestamp,
lastMessageReceivedTimestamp: sessionInfo.lastMessageReceivedTimestamp,
localFlowControlWindow: (_c = session.state.localWindowSize) !== null && _c !== void 0 ? _c : null,
remoteFlowControlWindow: (_d = session.state.remoteWindowSize) !== null && _d !== void 0 ? _d : null
};
return socketInfo;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "(" + this.channelzRef.id + ") " + text);
}
keepaliveTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "keepalive", "(" + this.channelzRef.id + ") " + text);
}
addProtoService() {
throw new Error("Not implemented. Use addService() instead");
}
addService(service, implementation) {
if (service === null || typeof service !== "object" || implementation === null || typeof implementation !== "object") {
throw new Error("addService() requires two objects as arguments");
}
const serviceKeys = Object.keys(service);
if (serviceKeys.length === 0) {
throw new Error("Cannot add an empty service to a server");
}
serviceKeys.forEach((name3) => {
const attrs = service[name3];
let methodType;
if (attrs.requestStream) {
if (attrs.responseStream) {
methodType = "bidi";
} else {
methodType = "clientStream";
}
} else {
if (attrs.responseStream) {
methodType = "serverStream";
} else {
methodType = "unary";
}
}
let implFn = implementation[name3];
let impl;
if (implFn === void 0 && typeof attrs.originalName === "string") {
implFn = implementation[attrs.originalName];
}
if (implFn !== void 0) {
impl = implFn.bind(implementation);
} else {
impl = getDefaultHandler(methodType, name3);
}
const success2 = this.register(attrs.path, impl, attrs.responseSerialize, attrs.requestDeserialize, methodType);
if (success2 === false) {
throw new Error(`Method handler for ${attrs.path} already provided.`);
}
});
}
removeService(service) {
if (service === null || typeof service !== "object") {
throw new Error("removeService() requires object as argument");
}
const serviceKeys = Object.keys(service);
serviceKeys.forEach((name3) => {
const attrs = service[name3];
this.unregister(attrs.path);
});
}
bind(port, creds) {
throw new Error("Not implemented. Use bindAsync() instead");
}
/**
* This API is experimental, so API stability is not guaranteed across minor versions.
* @param boundAddress
* @returns
*/
experimentalRegisterListenerToChannelz(boundAddress) {
return (0, channelz_1.registerChannelzSocket)((0, subchannel_address_1.subchannelAddressToString)(boundAddress), () => {
return {
localAddress: boundAddress,
remoteAddress: null,
security: null,
remoteName: null,
streamsStarted: 0,
streamsSucceeded: 0,
streamsFailed: 0,
messagesSent: 0,
messagesReceived: 0,
keepAlivesSent: 0,
lastLocalStreamCreatedTimestamp: null,
lastRemoteStreamCreatedTimestamp: null,
lastMessageSentTimestamp: null,
lastMessageReceivedTimestamp: null,
localFlowControlWindow: null,
remoteFlowControlWindow: null
};
}, this.channelzEnabled);
}
experimentalUnregisterListenerFromChannelz(channelzRef) {
(0, channelz_1.unregisterChannelzRef)(channelzRef);
}
createHttp2Server(credentials3) {
let http2Server;
if (credentials3._isSecure()) {
const constructorOptions = credentials3._getConstructorOptions();
const contextOptions = credentials3._getSecureContextOptions();
const secureServerOptions = Object.assign(Object.assign(Object.assign(Object.assign({}, this.commonServerOptions), constructorOptions), contextOptions), { enableTrace: this.options["grpc-node.tls_enable_trace"] === 1 });
let areCredentialsValid = contextOptions !== null;
this.trace("Initial credentials valid: " + areCredentialsValid);
http2Server = http22.createSecureServer(secureServerOptions);
http2Server.prependListener("connection", (socket) => {
if (!areCredentialsValid) {
this.trace("Dropped connection from " + JSON.stringify(socket.address()) + " due to unloaded credentials");
socket.destroy();
}
});
http2Server.on("secureConnection", (socket) => {
socket.on("error", (e2) => {
this.trace("An incoming TLS connection closed with error: " + e2.message);
});
});
const credsWatcher = (options) => {
if (options) {
const secureServer = http2Server;
try {
secureServer.setSecureContext(options);
} catch (e2) {
logging.log(constants_1.LogVerbosity.ERROR, "Failed to set secure context with error " + e2.message);
options = null;
}
}
areCredentialsValid = options !== null;
this.trace("Post-update credentials valid: " + areCredentialsValid);
};
credentials3._addWatcher(credsWatcher);
http2Server.on("close", () => {
credentials3._removeWatcher(credsWatcher);
});
} else {
http2Server = http22.createServer(this.commonServerOptions);
}
http2Server.setTimeout(0, noop4);
this._setupHandlers(http2Server, credentials3._getInterceptors());
return http2Server;
}
bindOneAddress(address, boundPortObject) {
this.trace("Attempting to bind " + (0, subchannel_address_1.subchannelAddressToString)(address));
const http2Server = this.createHttp2Server(boundPortObject.credentials);
return new Promise((resolve25, reject) => {
const onError2 = (err2) => {
this.trace("Failed to bind " + (0, subchannel_address_1.subchannelAddressToString)(address) + " with error " + err2.message);
resolve25({
port: "port" in address ? address.port : 1,
error: err2.message
});
};
http2Server.once("error", onError2);
http2Server.listen(address, () => {
const boundAddress = http2Server.address();
let boundSubchannelAddress;
if (typeof boundAddress === "string") {
boundSubchannelAddress = {
path: boundAddress
};
} else {
boundSubchannelAddress = {
host: boundAddress.address,
port: boundAddress.port
};
}
const channelzRef = this.experimentalRegisterListenerToChannelz(boundSubchannelAddress);
this.listenerChildrenTracker.refChild(channelzRef);
this.http2Servers.set(http2Server, {
channelzRef,
sessions: /* @__PURE__ */ new Set(),
ownsChannelzRef: true
});
boundPortObject.listeningServers.add(http2Server);
this.trace("Successfully bound " + (0, subchannel_address_1.subchannelAddressToString)(boundSubchannelAddress));
resolve25({
port: "port" in boundSubchannelAddress ? boundSubchannelAddress.port : 1
});
http2Server.removeListener("error", onError2);
});
});
}
async bindManyPorts(addressList, boundPortObject) {
if (addressList.length === 0) {
return {
count: 0,
port: 0,
errors: []
};
}
if ((0, subchannel_address_1.isTcpSubchannelAddress)(addressList[0]) && addressList[0].port === 0) {
const firstAddressResult = await this.bindOneAddress(addressList[0], boundPortObject);
if (firstAddressResult.error) {
const restAddressResult = await this.bindManyPorts(addressList.slice(1), boundPortObject);
return Object.assign(Object.assign({}, restAddressResult), { errors: [firstAddressResult.error, ...restAddressResult.errors] });
} else {
const restAddresses = addressList.slice(1).map((address) => (0, subchannel_address_1.isTcpSubchannelAddress)(address) ? { host: address.host, port: firstAddressResult.port } : address);
const restAddressResult = await Promise.all(restAddresses.map((address) => this.bindOneAddress(address, boundPortObject)));
const allResults = [firstAddressResult, ...restAddressResult];
return {
count: allResults.filter((result2) => result2.error === void 0).length,
port: firstAddressResult.port,
errors: allResults.filter((result2) => result2.error).map((result2) => result2.error)
};
}
} else {
const allResults = await Promise.all(addressList.map((address) => this.bindOneAddress(address, boundPortObject)));
return {
count: allResults.filter((result2) => result2.error === void 0).length,
port: allResults[0].port,
errors: allResults.filter((result2) => result2.error).map((result2) => result2.error)
};
}
}
async bindAddressList(addressList, boundPortObject) {
const bindResult = await this.bindManyPorts(addressList, boundPortObject);
if (bindResult.count > 0) {
if (bindResult.count < addressList.length) {
logging.log(constants_1.LogVerbosity.INFO, `WARNING Only ${bindResult.count} addresses added out of total ${addressList.length} resolved`);
}
return bindResult.port;
} else {
const errorString = `No address added out of total ${addressList.length} resolved`;
logging.log(constants_1.LogVerbosity.ERROR, errorString);
throw new Error(`${errorString} errors: [${bindResult.errors.join(",")}]`);
}
}
resolvePort(port) {
return new Promise((resolve25, reject) => {
const resolverListener = {
onSuccessfulResolution: (endpointList, serviceConfig, serviceConfigError) => {
resolverListener.onSuccessfulResolution = () => {
};
const addressList = [].concat(...endpointList.map((endpoint) => endpoint.addresses));
if (addressList.length === 0) {
reject(new Error(`No addresses resolved for port ${port}`));
return;
}
resolve25(addressList);
},
onError: (error40) => {
reject(new Error(error40.details));
}
};
const resolver = (0, resolver_1.createResolver)(port, resolverListener, this.options);
resolver.updateResolution();
});
}
async bindPort(port, boundPortObject) {
const addressList = await this.resolvePort(port);
if (boundPortObject.cancelled) {
this.completeUnbind(boundPortObject);
throw new Error("bindAsync operation cancelled by unbind call");
}
const portNumber = await this.bindAddressList(addressList, boundPortObject);
if (boundPortObject.cancelled) {
this.completeUnbind(boundPortObject);
throw new Error("bindAsync operation cancelled by unbind call");
}
return portNumber;
}
normalizePort(port) {
const initialPortUri = (0, uri_parser_1.parseUri)(port);
if (initialPortUri === null) {
throw new Error(`Could not parse port "${port}"`);
}
const portUri = (0, resolver_1.mapUriDefaultScheme)(initialPortUri);
if (portUri === null) {
throw new Error(`Could not get a default scheme for port "${port}"`);
}
return portUri;
}
bindAsync(port, creds, callback) {
if (this.shutdown) {
throw new Error("bindAsync called after shutdown");
}
if (typeof port !== "string") {
throw new TypeError("port must be a string");
}
if (creds === null || !(creds instanceof server_credentials_1.ServerCredentials)) {
throw new TypeError("creds must be a ServerCredentials object");
}
if (typeof callback !== "function") {
throw new TypeError("callback must be a function");
}
this.trace("bindAsync port=" + port);
const portUri = this.normalizePort(port);
const deferredCallback = (error40, port2) => {
process.nextTick(() => callback(error40, port2));
};
let boundPortObject = this.boundPorts.get((0, uri_parser_1.uriToString)(portUri));
if (boundPortObject) {
if (!creds._equals(boundPortObject.credentials)) {
deferredCallback(new Error(`${port} already bound with incompatible credentials`), 0);
return;
}
boundPortObject.cancelled = false;
if (boundPortObject.completionPromise) {
boundPortObject.completionPromise.then((portNum) => callback(null, portNum), (error40) => callback(error40, 0));
} else {
deferredCallback(null, boundPortObject.portNumber);
}
return;
}
boundPortObject = {
mapKey: (0, uri_parser_1.uriToString)(portUri),
originalUri: portUri,
completionPromise: null,
cancelled: false,
portNumber: 0,
credentials: creds,
listeningServers: /* @__PURE__ */ new Set()
};
const splitPort = (0, uri_parser_1.splitHostPort)(portUri.path);
const completionPromise = this.bindPort(portUri, boundPortObject);
boundPortObject.completionPromise = completionPromise;
if ((splitPort === null || splitPort === void 0 ? void 0 : splitPort.port) === 0) {
completionPromise.then((portNum) => {
const finalUri = {
scheme: portUri.scheme,
authority: portUri.authority,
path: (0, uri_parser_1.combineHostPort)({ host: splitPort.host, port: portNum })
};
boundPortObject.mapKey = (0, uri_parser_1.uriToString)(finalUri);
boundPortObject.completionPromise = null;
boundPortObject.portNumber = portNum;
this.boundPorts.set(boundPortObject.mapKey, boundPortObject);
callback(null, portNum);
}, (error40) => {
callback(error40, 0);
});
} else {
this.boundPorts.set(boundPortObject.mapKey, boundPortObject);
completionPromise.then((portNum) => {
boundPortObject.completionPromise = null;
boundPortObject.portNumber = portNum;
callback(null, portNum);
}, (error40) => {
callback(error40, 0);
});
}
}
registerInjectorToChannelz() {
return (0, channelz_1.registerChannelzSocket)("injector", () => {
return {
localAddress: null,
remoteAddress: null,
security: null,
remoteName: null,
streamsStarted: 0,
streamsSucceeded: 0,
streamsFailed: 0,
messagesSent: 0,
messagesReceived: 0,
keepAlivesSent: 0,
lastLocalStreamCreatedTimestamp: null,
lastRemoteStreamCreatedTimestamp: null,
lastMessageSentTimestamp: null,
lastMessageReceivedTimestamp: null,
localFlowControlWindow: null,
remoteFlowControlWindow: null
};
}, this.channelzEnabled);
}
/**
* This API is experimental, so API stability is not guaranteed across minor versions.
* @param credentials
* @param channelzRef
* @returns
*/
experimentalCreateConnectionInjectorWithChannelzRef(credentials3, channelzRef, ownsChannelzRef = false) {
if (credentials3 === null || !(credentials3 instanceof server_credentials_1.ServerCredentials)) {
throw new TypeError("creds must be a ServerCredentials object");
}
if (this.channelzEnabled) {
this.listenerChildrenTracker.refChild(channelzRef);
}
const server = this.createHttp2Server(credentials3);
const sessionsSet = /* @__PURE__ */ new Set();
this.http2Servers.set(server, {
channelzRef,
sessions: sessionsSet,
ownsChannelzRef
});
return {
injectConnection: (connection) => {
server.emit("connection", connection);
},
drain: (graceTimeMs) => {
var _b, _c;
for (const session of sessionsSet) {
this.closeSession(session);
}
(_c = (_b = setTimeout(() => {
for (const session of sessionsSet) {
session.destroy(http22.constants.NGHTTP2_CANCEL);
}
}, graceTimeMs)).unref) === null || _c === void 0 ? void 0 : _c.call(_b);
},
destroy: () => {
this.closeServer(server);
for (const session of sessionsSet) {
this.closeSession(session);
}
}
};
}
createConnectionInjector(credentials3) {
if (credentials3 === null || !(credentials3 instanceof server_credentials_1.ServerCredentials)) {
throw new TypeError("creds must be a ServerCredentials object");
}
const channelzRef = this.registerInjectorToChannelz();
return this.experimentalCreateConnectionInjectorWithChannelzRef(credentials3, channelzRef, true);
}
closeServer(server, callback) {
this.trace("Closing server with address " + JSON.stringify(server.address()));
const serverInfo = this.http2Servers.get(server);
server.close(() => {
if (serverInfo && serverInfo.ownsChannelzRef) {
this.listenerChildrenTracker.unrefChild(serverInfo.channelzRef);
(0, channelz_1.unregisterChannelzRef)(serverInfo.channelzRef);
}
this.http2Servers.delete(server);
callback === null || callback === void 0 ? void 0 : callback();
});
}
closeSession(session, callback) {
var _b;
this.trace("Closing session initiated by " + ((_b = session.socket) === null || _b === void 0 ? void 0 : _b.remoteAddress));
const sessionInfo = this.sessions.get(session);
const closeCallback = () => {
if (sessionInfo) {
this.sessionChildrenTracker.unrefChild(sessionInfo.ref);
(0, channelz_1.unregisterChannelzRef)(sessionInfo.ref);
}
callback === null || callback === void 0 ? void 0 : callback();
};
if (session.closed) {
queueMicrotask(closeCallback);
} else {
session.close(closeCallback);
}
}
completeUnbind(boundPortObject) {
for (const server of boundPortObject.listeningServers) {
const serverInfo = this.http2Servers.get(server);
this.closeServer(server, () => {
boundPortObject.listeningServers.delete(server);
});
if (serverInfo) {
for (const session of serverInfo.sessions) {
this.closeSession(session);
}
}
}
this.boundPorts.delete(boundPortObject.mapKey);
}
/**
* Unbind a previously bound port, or cancel an in-progress bindAsync
* operation. If port 0 was bound, only the actual bound port can be
* unbound. For example, if bindAsync was called with "localhost:0" and the
* bound port result was 54321, it can be unbound as "localhost:54321".
* @param port
*/
unbind(port) {
this.trace("unbind port=" + port);
const portUri = this.normalizePort(port);
const splitPort = (0, uri_parser_1.splitHostPort)(portUri.path);
if ((splitPort === null || splitPort === void 0 ? void 0 : splitPort.port) === 0) {
throw new Error("Cannot unbind port 0");
}
const boundPortObject = this.boundPorts.get((0, uri_parser_1.uriToString)(portUri));
if (boundPortObject) {
this.trace("unbinding " + boundPortObject.mapKey + " originally bound as " + (0, uri_parser_1.uriToString)(boundPortObject.originalUri));
if (boundPortObject.completionPromise) {
boundPortObject.cancelled = true;
} else {
this.completeUnbind(boundPortObject);
}
}
}
/**
* Gracefully close all connections associated with a previously bound port.
* After the grace time, forcefully close all remaining open connections.
*
* If port 0 was bound, only the actual bound port can be
* drained. For example, if bindAsync was called with "localhost:0" and the
* bound port result was 54321, it can be drained as "localhost:54321".
* @param port
* @param graceTimeMs
* @returns
*/
drain(port, graceTimeMs) {
var _b, _c;
this.trace("drain port=" + port + " graceTimeMs=" + graceTimeMs);
const portUri = this.normalizePort(port);
const splitPort = (0, uri_parser_1.splitHostPort)(portUri.path);
if ((splitPort === null || splitPort === void 0 ? void 0 : splitPort.port) === 0) {
throw new Error("Cannot drain port 0");
}
const boundPortObject = this.boundPorts.get((0, uri_parser_1.uriToString)(portUri));
if (!boundPortObject) {
return;
}
const allSessions = /* @__PURE__ */ new Set();
for (const http2Server of boundPortObject.listeningServers) {
const serverEntry = this.http2Servers.get(http2Server);
if (serverEntry) {
for (const session of serverEntry.sessions) {
allSessions.add(session);
this.closeSession(session, () => {
allSessions.delete(session);
});
}
}
}
(_c = (_b = setTimeout(() => {
for (const session of allSessions) {
session.destroy(http22.constants.NGHTTP2_CANCEL);
}
}, graceTimeMs)).unref) === null || _c === void 0 ? void 0 : _c.call(_b);
}
forceShutdown() {
for (const boundPortObject of this.boundPorts.values()) {
boundPortObject.cancelled = true;
}
this.boundPorts.clear();
for (const server of this.http2Servers.keys()) {
this.closeServer(server);
}
this.sessions.forEach((channelzInfo, session) => {
this.closeSession(session);
session.destroy(http22.constants.NGHTTP2_CANCEL);
});
this.sessions.clear();
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
this.shutdown = true;
}
register(name3, handler, serialize3, deserialize, type2) {
if (this.handlers.has(name3)) {
return false;
}
this.handlers.set(name3, {
func: handler,
serialize: serialize3,
deserialize,
type: type2,
path: name3
});
return true;
}
unregister(name3) {
return this.handlers.delete(name3);
}
/**
* @deprecated No longer needed as of version 1.10.x
*/
start() {
if (this.http2Servers.size === 0 || [...this.http2Servers.keys()].every((server) => !server.listening)) {
throw new Error("server must be bound in order to start");
}
if (this.started === true) {
throw new Error("server is already started");
}
this.started = true;
}
tryShutdown(callback) {
var _b;
const wrappedCallback = (error40) => {
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
callback(error40);
};
let pendingChecks = 0;
function maybeCallback() {
pendingChecks--;
if (pendingChecks === 0) {
wrappedCallback();
}
}
this.shutdown = true;
for (const [serverKey, server] of this.http2Servers.entries()) {
pendingChecks++;
const serverString = server.channelzRef.name;
this.trace("Waiting for server " + serverString + " to close");
this.closeServer(serverKey, () => {
this.trace("Server " + serverString + " finished closing");
maybeCallback();
});
for (const session of server.sessions.keys()) {
pendingChecks++;
const sessionString = (_b = session.socket) === null || _b === void 0 ? void 0 : _b.remoteAddress;
this.trace("Waiting for session " + sessionString + " to close");
this.closeSession(session, () => {
this.trace("Session " + sessionString + " finished closing");
maybeCallback();
});
}
}
if (pendingChecks === 0) {
wrappedCallback();
}
}
addHttp2Port() {
throw new Error("Not yet implemented");
}
/**
* Get the channelz reference object for this server. The returned value is
* garbage if channelz is disabled for this server.
* @returns
*/
getChannelzRef() {
return this.channelzRef;
}
_verifyContentType(stream2, headers) {
const contentType = headers[http22.constants.HTTP2_HEADER_CONTENT_TYPE];
if (typeof contentType !== "string" || !contentType.startsWith("application/grpc")) {
stream2.respond({
[http22.constants.HTTP2_HEADER_STATUS]: http22.constants.HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE
}, { endStream: true });
return false;
}
return true;
}
_retrieveHandler(path101) {
serverCallTrace("Received call to method " + path101 + " at address " + this.serverAddressString);
const handler = this.handlers.get(path101);
if (handler === void 0) {
serverCallTrace("No handler registered for method " + path101 + ". Sending UNIMPLEMENTED status.");
return null;
}
return handler;
}
_respondWithError(err2, stream2, channelzSessionInfo = null) {
var _b, _c;
const trailersToSend = Object.assign({ "grpc-status": (_b = err2.code) !== null && _b !== void 0 ? _b : constants_1.Status.INTERNAL, "grpc-message": err2.details, [http22.constants.HTTP2_HEADER_STATUS]: http22.constants.HTTP_STATUS_OK, [http22.constants.HTTP2_HEADER_CONTENT_TYPE]: "application/grpc+proto" }, (_c = err2.metadata) === null || _c === void 0 ? void 0 : _c.toHttp2Headers());
stream2.respond(trailersToSend, { endStream: true });
this.callTracker.addCallFailed();
channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallFailed();
}
_channelzHandler(extraInterceptors, stream2, headers) {
this.onStreamOpened(stream2);
const channelzSessionInfo = this.sessions.get(stream2.session);
this.callTracker.addCallStarted();
channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallStarted();
if (!this._verifyContentType(stream2, headers)) {
this.callTracker.addCallFailed();
channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallFailed();
return;
}
const path101 = headers[HTTP2_HEADER_PATH];
const handler = this._retrieveHandler(path101);
if (!handler) {
this._respondWithError(getUnimplementedStatusResponse(path101), stream2, channelzSessionInfo);
return;
}
const callEventTracker = {
addMessageSent: () => {
if (channelzSessionInfo) {
channelzSessionInfo.messagesSent += 1;
channelzSessionInfo.lastMessageSentTimestamp = /* @__PURE__ */ new Date();
}
},
addMessageReceived: () => {
if (channelzSessionInfo) {
channelzSessionInfo.messagesReceived += 1;
channelzSessionInfo.lastMessageReceivedTimestamp = /* @__PURE__ */ new Date();
}
},
onCallEnd: (status2) => {
if (status2.code === constants_1.Status.OK) {
this.callTracker.addCallSucceeded();
} else {
this.callTracker.addCallFailed();
}
},
onStreamEnd: (success2) => {
if (channelzSessionInfo) {
if (success2) {
channelzSessionInfo.streamTracker.addCallSucceeded();
} else {
channelzSessionInfo.streamTracker.addCallFailed();
}
}
}
};
const call = (0, server_interceptors_1.getServerInterceptingCall)([...extraInterceptors, ...this.interceptors], stream2, headers, callEventTracker, handler, this.options);
if (!this._runHandlerForCall(call, handler)) {
this.callTracker.addCallFailed();
channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallFailed();
call.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Unknown handler type: ${handler.type}`
});
}
}
_streamHandler(extraInterceptors, stream2, headers) {
this.onStreamOpened(stream2);
if (this._verifyContentType(stream2, headers) !== true) {
return;
}
const path101 = headers[HTTP2_HEADER_PATH];
const handler = this._retrieveHandler(path101);
if (!handler) {
this._respondWithError(getUnimplementedStatusResponse(path101), stream2, null);
return;
}
const call = (0, server_interceptors_1.getServerInterceptingCall)([...extraInterceptors, ...this.interceptors], stream2, headers, null, handler, this.options);
if (!this._runHandlerForCall(call, handler)) {
call.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Unknown handler type: ${handler.type}`
});
}
}
_runHandlerForCall(call, handler) {
const { type: type2 } = handler;
if (type2 === "unary") {
handleUnary(call, handler);
} else if (type2 === "clientStream") {
handleClientStreaming(call, handler);
} else if (type2 === "serverStream") {
handleServerStreaming(call, handler);
} else if (type2 === "bidi") {
handleBidiStreaming(call, handler);
} else {
return false;
}
return true;
}
_setupHandlers(http2Server, extraInterceptors) {
if (http2Server === null) {
return;
}
const serverAddress = http2Server.address();
let serverAddressString = "null";
if (serverAddress) {
if (typeof serverAddress === "string") {
serverAddressString = serverAddress;
} else {
serverAddressString = serverAddress.address + ":" + serverAddress.port;
}
}
this.serverAddressString = serverAddressString;
const handler = this.channelzEnabled ? this._channelzHandler : this._streamHandler;
const sessionHandler = this.channelzEnabled ? this._channelzSessionHandler(http2Server) : this._sessionHandler(http2Server);
http2Server.on("stream", handler.bind(this, extraInterceptors));
http2Server.on("session", sessionHandler);
}
_sessionHandler(http2Server) {
return (session) => {
var _b, _c;
(_b = this.http2Servers.get(http2Server)) === null || _b === void 0 ? void 0 : _b.sessions.add(session);
let connectionAgeTimer = null;
let connectionAgeGraceTimer = null;
let keepaliveTimer = null;
let sessionClosedByServer = false;
const idleTimeoutObj = this.enableIdleTimeout(session);
if (this.maxConnectionAgeMs !== UNLIMITED_CONNECTION_AGE_MS) {
const jitterMagnitude = this.maxConnectionAgeMs / 10;
const jitter = Math.random() * jitterMagnitude * 2 - jitterMagnitude;
connectionAgeTimer = setTimeout(() => {
var _b2, _c2;
sessionClosedByServer = true;
this.trace("Connection dropped by max connection age: " + ((_b2 = session.socket) === null || _b2 === void 0 ? void 0 : _b2.remoteAddress));
try {
session.goaway(http22.constants.NGHTTP2_NO_ERROR, ~(1 << 31), kMaxAge);
} catch (e2) {
session.destroy();
return;
}
session.close();
if (this.maxConnectionAgeGraceMs !== UNLIMITED_CONNECTION_AGE_MS) {
connectionAgeGraceTimer = setTimeout(() => {
session.destroy();
}, this.maxConnectionAgeGraceMs);
(_c2 = connectionAgeGraceTimer.unref) === null || _c2 === void 0 ? void 0 : _c2.call(connectionAgeGraceTimer);
}
}, this.maxConnectionAgeMs + jitter);
(_c = connectionAgeTimer.unref) === null || _c === void 0 ? void 0 : _c.call(connectionAgeTimer);
}
const clearKeepaliveTimeout = () => {
if (keepaliveTimer) {
clearTimeout(keepaliveTimer);
keepaliveTimer = null;
}
};
const canSendPing = () => {
return !session.destroyed && this.keepaliveTimeMs < KEEPALIVE_MAX_TIME_MS && this.keepaliveTimeMs > 0;
};
let sendPing;
const maybeStartKeepalivePingTimer = () => {
var _b2;
if (!canSendPing()) {
return;
}
this.keepaliveTrace("Starting keepalive timer for " + this.keepaliveTimeMs + "ms");
keepaliveTimer = setTimeout(() => {
clearKeepaliveTimeout();
sendPing();
}, this.keepaliveTimeMs);
(_b2 = keepaliveTimer.unref) === null || _b2 === void 0 ? void 0 : _b2.call(keepaliveTimer);
};
sendPing = () => {
var _b2;
if (!canSendPing()) {
return;
}
this.keepaliveTrace("Sending ping with timeout " + this.keepaliveTimeoutMs + "ms");
let pingSendError = "";
try {
const pingSentSuccessfully = session.ping((err2, duration3, payload) => {
clearKeepaliveTimeout();
if (err2) {
this.keepaliveTrace("Ping failed with error: " + err2.message);
sessionClosedByServer = true;
session.close();
} else {
this.keepaliveTrace("Received ping response");
maybeStartKeepalivePingTimer();
}
});
if (!pingSentSuccessfully) {
pingSendError = "Ping returned false";
}
} catch (e2) {
pingSendError = (e2 instanceof Error ? e2.message : "") || "Unknown error";
}
if (pingSendError) {
this.keepaliveTrace("Ping send failed: " + pingSendError);
this.trace("Connection dropped due to ping send error: " + pingSendError);
sessionClosedByServer = true;
session.close();
return;
}
keepaliveTimer = setTimeout(() => {
clearKeepaliveTimeout();
this.keepaliveTrace("Ping timeout passed without response");
this.trace("Connection dropped by keepalive timeout");
sessionClosedByServer = true;
session.close();
}, this.keepaliveTimeoutMs);
(_b2 = keepaliveTimer.unref) === null || _b2 === void 0 ? void 0 : _b2.call(keepaliveTimer);
};
maybeStartKeepalivePingTimer();
session.on("close", () => {
var _b2, _c2;
if (!sessionClosedByServer) {
this.trace(`Connection dropped by client ${(_b2 = session.socket) === null || _b2 === void 0 ? void 0 : _b2.remoteAddress}`);
}
if (connectionAgeTimer) {
clearTimeout(connectionAgeTimer);
}
if (connectionAgeGraceTimer) {
clearTimeout(connectionAgeGraceTimer);
}
clearKeepaliveTimeout();
if (idleTimeoutObj !== null) {
clearTimeout(idleTimeoutObj.timeout);
this.sessionIdleTimeouts.delete(session);
}
(_c2 = this.http2Servers.get(http2Server)) === null || _c2 === void 0 ? void 0 : _c2.sessions.delete(session);
});
};
}
_channelzSessionHandler(http2Server) {
return (session) => {
var _b, _c, _d, _e;
const channelzRef = (0, channelz_1.registerChannelzSocket)((_c = (_b = session.socket) === null || _b === void 0 ? void 0 : _b.remoteAddress) !== null && _c !== void 0 ? _c : "unknown", this.getChannelzSessionInfo.bind(this, session), this.channelzEnabled);
const channelzSessionInfo = {
ref: channelzRef,
streamTracker: new channelz_1.ChannelzCallTracker(),
messagesSent: 0,
messagesReceived: 0,
keepAlivesSent: 0,
lastMessageSentTimestamp: null,
lastMessageReceivedTimestamp: null
};
(_d = this.http2Servers.get(http2Server)) === null || _d === void 0 ? void 0 : _d.sessions.add(session);
this.sessions.set(session, channelzSessionInfo);
const clientAddress = `${session.socket.remoteAddress}:${session.socket.remotePort}`;
this.channelzTrace.addTrace("CT_INFO", "Connection established by client " + clientAddress);
this.trace("Connection established by client " + clientAddress);
this.sessionChildrenTracker.refChild(channelzRef);
let connectionAgeTimer = null;
let connectionAgeGraceTimer = null;
let keepaliveTimeout = null;
let sessionClosedByServer = false;
const idleTimeoutObj = this.enableIdleTimeout(session);
if (this.maxConnectionAgeMs !== UNLIMITED_CONNECTION_AGE_MS) {
const jitterMagnitude = this.maxConnectionAgeMs / 10;
const jitter = Math.random() * jitterMagnitude * 2 - jitterMagnitude;
connectionAgeTimer = setTimeout(() => {
var _b2;
sessionClosedByServer = true;
this.channelzTrace.addTrace("CT_INFO", "Connection dropped by max connection age from " + clientAddress);
try {
session.goaway(http22.constants.NGHTTP2_NO_ERROR, ~(1 << 31), kMaxAge);
} catch (e2) {
session.destroy();
return;
}
session.close();
if (this.maxConnectionAgeGraceMs !== UNLIMITED_CONNECTION_AGE_MS) {
connectionAgeGraceTimer = setTimeout(() => {
session.destroy();
}, this.maxConnectionAgeGraceMs);
(_b2 = connectionAgeGraceTimer.unref) === null || _b2 === void 0 ? void 0 : _b2.call(connectionAgeGraceTimer);
}
}, this.maxConnectionAgeMs + jitter);
(_e = connectionAgeTimer.unref) === null || _e === void 0 ? void 0 : _e.call(connectionAgeTimer);
}
const clearKeepaliveTimeout = () => {
if (keepaliveTimeout) {
clearTimeout(keepaliveTimeout);
keepaliveTimeout = null;
}
};
const canSendPing = () => {
return !session.destroyed && this.keepaliveTimeMs < KEEPALIVE_MAX_TIME_MS && this.keepaliveTimeMs > 0;
};
let sendPing;
const maybeStartKeepalivePingTimer = () => {
var _b2;
if (!canSendPing()) {
return;
}
this.keepaliveTrace("Starting keepalive timer for " + this.keepaliveTimeMs + "ms");
keepaliveTimeout = setTimeout(() => {
clearKeepaliveTimeout();
sendPing();
}, this.keepaliveTimeMs);
(_b2 = keepaliveTimeout.unref) === null || _b2 === void 0 ? void 0 : _b2.call(keepaliveTimeout);
};
sendPing = () => {
var _b2;
if (!canSendPing()) {
return;
}
this.keepaliveTrace("Sending ping with timeout " + this.keepaliveTimeoutMs + "ms");
let pingSendError = "";
try {
const pingSentSuccessfully = session.ping((err2, duration3, payload) => {
clearKeepaliveTimeout();
if (err2) {
this.keepaliveTrace("Ping failed with error: " + err2.message);
this.channelzTrace.addTrace("CT_INFO", "Connection dropped due to error of a ping frame " + err2.message + " return in " + duration3);
sessionClosedByServer = true;
session.close();
} else {
this.keepaliveTrace("Received ping response");
maybeStartKeepalivePingTimer();
}
});
if (!pingSentSuccessfully) {
pingSendError = "Ping returned false";
}
} catch (e2) {
pingSendError = (e2 instanceof Error ? e2.message : "") || "Unknown error";
}
if (pingSendError) {
this.keepaliveTrace("Ping send failed: " + pingSendError);
this.channelzTrace.addTrace("CT_INFO", "Connection dropped due to ping send error: " + pingSendError);
sessionClosedByServer = true;
session.close();
return;
}
channelzSessionInfo.keepAlivesSent += 1;
keepaliveTimeout = setTimeout(() => {
clearKeepaliveTimeout();
this.keepaliveTrace("Ping timeout passed without response");
this.channelzTrace.addTrace("CT_INFO", "Connection dropped by keepalive timeout from " + clientAddress);
sessionClosedByServer = true;
session.close();
}, this.keepaliveTimeoutMs);
(_b2 = keepaliveTimeout.unref) === null || _b2 === void 0 ? void 0 : _b2.call(keepaliveTimeout);
};
maybeStartKeepalivePingTimer();
session.on("close", () => {
var _b2;
if (!sessionClosedByServer) {
this.channelzTrace.addTrace("CT_INFO", "Connection dropped by client " + clientAddress);
}
this.sessionChildrenTracker.unrefChild(channelzRef);
(0, channelz_1.unregisterChannelzRef)(channelzRef);
if (connectionAgeTimer) {
clearTimeout(connectionAgeTimer);
}
if (connectionAgeGraceTimer) {
clearTimeout(connectionAgeGraceTimer);
}
clearKeepaliveTimeout();
if (idleTimeoutObj !== null) {
clearTimeout(idleTimeoutObj.timeout);
this.sessionIdleTimeouts.delete(session);
}
(_b2 = this.http2Servers.get(http2Server)) === null || _b2 === void 0 ? void 0 : _b2.sessions.delete(session);
this.sessions.delete(session);
});
};
}
enableIdleTimeout(session) {
var _b, _c;
if (this.sessionIdleTimeout >= MAX_CONNECTION_IDLE_MS) {
return null;
}
const idleTimeoutObj = {
activeStreams: 0,
lastIdle: Date.now(),
onClose: this.onStreamClose.bind(this, session),
timeout: setTimeout(this.onIdleTimeout, this.sessionIdleTimeout, this, session)
};
(_c = (_b = idleTimeoutObj.timeout).unref) === null || _c === void 0 ? void 0 : _c.call(_b);
this.sessionIdleTimeouts.set(session, idleTimeoutObj);
const { socket } = session;
this.trace("Enable idle timeout for " + socket.remoteAddress + ":" + socket.remotePort);
return idleTimeoutObj;
}
onIdleTimeout(ctx, session) {
const { socket } = session;
const sessionInfo = ctx.sessionIdleTimeouts.get(session);
if (sessionInfo !== void 0 && sessionInfo.activeStreams === 0) {
if (Date.now() - sessionInfo.lastIdle >= ctx.sessionIdleTimeout) {
ctx.trace("Session idle timeout triggered for " + (socket === null || socket === void 0 ? void 0 : socket.remoteAddress) + ":" + (socket === null || socket === void 0 ? void 0 : socket.remotePort) + " last idle at " + sessionInfo.lastIdle);
ctx.closeSession(session);
} else {
sessionInfo.timeout.refresh();
}
}
}
onStreamOpened(stream2) {
const session = stream2.session;
const idleTimeoutObj = this.sessionIdleTimeouts.get(session);
if (idleTimeoutObj) {
idleTimeoutObj.activeStreams += 1;
stream2.once("close", idleTimeoutObj.onClose);
}
}
onStreamClose(session) {
var _b, _c;
const idleTimeoutObj = this.sessionIdleTimeouts.get(session);
if (idleTimeoutObj) {
idleTimeoutObj.activeStreams -= 1;
if (idleTimeoutObj.activeStreams === 0) {
idleTimeoutObj.lastIdle = Date.now();
idleTimeoutObj.timeout.refresh();
this.trace("Session onStreamClose" + ((_b = session.socket) === null || _b === void 0 ? void 0 : _b.remoteAddress) + ":" + ((_c = session.socket) === null || _c === void 0 ? void 0 : _c.remotePort) + " at " + idleTimeoutObj.lastIdle);
}
}
}
}, (() => {
const _metadata = typeof Symbol === "function" && Symbol.metadata ? /* @__PURE__ */ Object.create(null) : void 0;
_start_decorators = [deprecate("Calling start() is no longer necessary. It can be safely omitted.")];
__esDecorate(_a4, null, _start_decorators, { kind: "method", name: "start", static: false, private: false, access: { has: (obj) => "start" in obj, get: (obj) => obj.start }, metadata: _metadata }, null, _instanceExtraInitializers);
if (_metadata) Object.defineProperty(_a4, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
})(), _a4;
})();
exports2.Server = Server;
async function handleUnary(call, handler) {
let stream2;
function respond(err2, value, trailer, flags2) {
if (err2) {
call.sendStatus((0, server_call_1.serverErrorToStatus)(err2, trailer));
return;
}
call.sendMessage(value, () => {
call.sendStatus({
code: constants_1.Status.OK,
details: "OK",
metadata: trailer !== null && trailer !== void 0 ? trailer : null
});
});
}
let requestMetadata;
let requestMessage = null;
call.start({
onReceiveMetadata(metadata2) {
requestMetadata = metadata2;
call.startRead();
},
onReceiveMessage(message) {
if (requestMessage) {
call.sendStatus({
code: constants_1.Status.UNIMPLEMENTED,
details: `Received a second request message for server streaming method ${handler.path}`,
metadata: null
});
return;
}
requestMessage = message;
call.startRead();
},
onReceiveHalfClose() {
if (!requestMessage) {
call.sendStatus({
code: constants_1.Status.UNIMPLEMENTED,
details: `Received no request message for server streaming method ${handler.path}`,
metadata: null
});
return;
}
stream2 = new server_call_1.ServerWritableStreamImpl(handler.path, call, requestMetadata, requestMessage);
try {
handler.func(stream2, respond);
} catch (err2) {
call.sendStatus({
code: constants_1.Status.UNKNOWN,
details: `Server method handler threw error ${err2.message}`,
metadata: null
});
}
},
onCancel() {
if (stream2) {
stream2.cancelled = true;
stream2.emit("cancelled", "cancelled");
}
}
});
}
function handleClientStreaming(call, handler) {
let stream2;
function respond(err2, value, trailer, flags2) {
if (err2) {
call.sendStatus((0, server_call_1.serverErrorToStatus)(err2, trailer));
return;
}
call.sendMessage(value, () => {
call.sendStatus({
code: constants_1.Status.OK,
details: "OK",
metadata: trailer !== null && trailer !== void 0 ? trailer : null
});
});
}
call.start({
onReceiveMetadata(metadata2) {
stream2 = new server_call_1.ServerDuplexStreamImpl(handler.path, call, metadata2);
try {
handler.func(stream2, respond);
} catch (err2) {
call.sendStatus({
code: constants_1.Status.UNKNOWN,
details: `Server method handler threw error ${err2.message}`,
metadata: null
});
}
},
onReceiveMessage(message) {
stream2.push(message);
},
onReceiveHalfClose() {
stream2.push(null);
},
onCancel() {
if (stream2) {
stream2.cancelled = true;
stream2.emit("cancelled", "cancelled");
stream2.destroy();
}
}
});
}
function handleServerStreaming(call, handler) {
let stream2;
let requestMetadata;
let requestMessage = null;
call.start({
onReceiveMetadata(metadata2) {
requestMetadata = metadata2;
call.startRead();
},
onReceiveMessage(message) {
if (requestMessage) {
call.sendStatus({
code: constants_1.Status.UNIMPLEMENTED,
details: `Received a second request message for server streaming method ${handler.path}`,
metadata: null
});
return;
}
requestMessage = message;
call.startRead();
},
onReceiveHalfClose() {
if (!requestMessage) {
call.sendStatus({
code: constants_1.Status.UNIMPLEMENTED,
details: `Received no request message for server streaming method ${handler.path}`,
metadata: null
});
return;
}
stream2 = new server_call_1.ServerWritableStreamImpl(handler.path, call, requestMetadata, requestMessage);
try {
handler.func(stream2);
} catch (err2) {
call.sendStatus({
code: constants_1.Status.UNKNOWN,
details: `Server method handler threw error ${err2.message}`,
metadata: null
});
}
},
onCancel() {
if (stream2) {
stream2.cancelled = true;
stream2.emit("cancelled", "cancelled");
stream2.destroy();
}
}
});
}
function handleBidiStreaming(call, handler) {
let stream2;
call.start({
onReceiveMetadata(metadata2) {
stream2 = new server_call_1.ServerDuplexStreamImpl(handler.path, call, metadata2);
try {
handler.func(stream2);
} catch (err2) {
call.sendStatus({
code: constants_1.Status.UNKNOWN,
details: `Server method handler threw error ${err2.message}`,
metadata: null
});
}
},
onReceiveMessage(message) {
stream2.push(message);
},
onReceiveHalfClose() {
stream2.push(null);
},
onCancel() {
if (stream2) {
stream2.cancelled = true;
stream2.emit("cancelled", "cancelled");
stream2.destroy();
}
}
});
}
}
});
// node_modules/@grpc/grpc-js/build/src/status-builder.js
var require_status_builder = __commonJS({
"node_modules/@grpc/grpc-js/build/src/status-builder.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StatusBuilder = void 0;
var StatusBuilder = class {
constructor() {
this.code = null;
this.details = null;
this.metadata = null;
}
/**
* Adds a status code to the builder.
*/
withCode(code) {
this.code = code;
return this;
}
/**
* Adds details to the builder.
*/
withDetails(details) {
this.details = details;
return this;
}
/**
* Adds metadata to the builder.
*/
withMetadata(metadata2) {
this.metadata = metadata2;
return this;
}
/**
* Builds the status object.
*/
build() {
const status2 = {};
if (this.code !== null) {
status2.code = this.code;
}
if (this.details !== null) {
status2.details = this.details;
}
if (this.metadata !== null) {
status2.metadata = this.metadata;
}
return status2;
}
};
exports2.StatusBuilder = StatusBuilder;
}
});
// node_modules/@grpc/grpc-js/build/src/duration.js
var require_duration = __commonJS({
"node_modules/@grpc/grpc-js/build/src/duration.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.msToDuration = msToDuration;
exports2.durationToMs = durationToMs;
exports2.isDuration = isDuration;
exports2.parseDuration = parseDuration;
function msToDuration(millis) {
return {
seconds: millis / 1e3 | 0,
nanos: millis % 1e3 * 1e6 | 0
};
}
function durationToMs(duration3) {
return duration3.seconds * 1e3 + duration3.nanos / 1e6 | 0;
}
function isDuration(value) {
return typeof value.seconds === "number" && typeof value.nanos === "number";
}
var durationRegex = /^(\d+)(?:\.(\d+))?s$/;
function parseDuration(value) {
const match2 = value.match(durationRegex);
if (!match2) {
return null;
}
return {
seconds: Number.parseInt(match2[1], 10),
nanos: match2[2] ? Number.parseInt(match2[2].padEnd(9, "0"), 10) : 0
};
}
}
});
// node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js
var require_load_balancer_pick_first = __commonJS({
"node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LeafLoadBalancer = exports2.PickFirstLoadBalancer = exports2.PickFirstLoadBalancingConfig = void 0;
exports2.shuffled = shuffled;
exports2.setup = setup;
var load_balancer_1 = require_load_balancer();
var connectivity_state_1 = require_connectivity_state();
var picker_1 = require_picker();
var subchannel_address_1 = require_subchannel_address();
var logging = require_logging();
var constants_1 = require_constants2();
var subchannel_address_2 = require_subchannel_address();
var net_1 = __require("net");
var TRACER_NAME2 = "pick_first";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var TYPE_NAME = "pick_first";
var CONNECTION_DELAY_INTERVAL_MS = 250;
var PickFirstLoadBalancingConfig = class _PickFirstLoadBalancingConfig {
constructor(shuffleAddressList) {
this.shuffleAddressList = shuffleAddressList;
}
getLoadBalancerName() {
return TYPE_NAME;
}
toJsonObject() {
return {
[TYPE_NAME]: {
shuffleAddressList: this.shuffleAddressList
}
};
}
getShuffleAddressList() {
return this.shuffleAddressList;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
static createFromJson(obj) {
if ("shuffleAddressList" in obj && !(typeof obj.shuffleAddressList === "boolean")) {
throw new Error("pick_first config field shuffleAddressList must be a boolean if provided");
}
return new _PickFirstLoadBalancingConfig(obj.shuffleAddressList === true);
}
};
exports2.PickFirstLoadBalancingConfig = PickFirstLoadBalancingConfig;
var PickFirstPicker = class {
constructor(subchannel) {
this.subchannel = subchannel;
}
pick(pickArgs) {
return {
pickResultType: picker_1.PickResultType.COMPLETE,
subchannel: this.subchannel,
status: null,
onCallStarted: null,
onCallEnded: null
};
}
};
function shuffled(list) {
const result2 = list.slice();
for (let i3 = result2.length - 1; i3 > 1; i3--) {
const j = Math.floor(Math.random() * (i3 + 1));
const temp = result2[i3];
result2[i3] = result2[j];
result2[j] = temp;
}
return result2;
}
function interleaveAddressFamilies(addressList) {
if (addressList.length === 0) {
return [];
}
const result2 = [];
const ipv6Addresses = [];
const ipv4Addresses = [];
const ipv6First = (0, subchannel_address_2.isTcpSubchannelAddress)(addressList[0]) && (0, net_1.isIPv6)(addressList[0].host);
for (const address of addressList) {
if ((0, subchannel_address_2.isTcpSubchannelAddress)(address) && (0, net_1.isIPv6)(address.host)) {
ipv6Addresses.push(address);
} else {
ipv4Addresses.push(address);
}
}
const firstList = ipv6First ? ipv6Addresses : ipv4Addresses;
const secondList = ipv6First ? ipv4Addresses : ipv6Addresses;
for (let i3 = 0; i3 < Math.max(firstList.length, secondList.length); i3++) {
if (i3 < firstList.length) {
result2.push(firstList[i3]);
}
if (i3 < secondList.length) {
result2.push(secondList[i3]);
}
}
return result2;
}
var REPORT_HEALTH_STATUS_OPTION_NAME = "grpc-node.internal.pick-first.report_health_status";
var PickFirstLoadBalancer = class {
/**
* Load balancer that attempts to connect to each backend in the address list
* in order, and picks the first one that connects, using it for every
* request.
* @param channelControlHelper `ChannelControlHelper` instance provided by
* this load balancer's owner.
*/
constructor(channelControlHelper) {
this.channelControlHelper = channelControlHelper;
this.children = [];
this.currentState = connectivity_state_1.ConnectivityState.IDLE;
this.currentSubchannelIndex = 0;
this.currentPick = null;
this.subchannelStateListener = (subchannel, previousState, newState, keepaliveTime, errorMessage) => {
this.onSubchannelStateUpdate(subchannel, previousState, newState, errorMessage);
};
this.pickedSubchannelHealthListener = () => this.calculateAndReportNewState();
this.stickyTransientFailureMode = false;
this.reportHealthStatus = false;
this.lastError = null;
this.latestAddressList = null;
this.latestOptions = {};
this.connectionDelayTimeout = setTimeout(() => {
}, 0);
clearTimeout(this.connectionDelayTimeout);
}
allChildrenHaveReportedTF() {
return this.children.every((child) => child.hasReportedTransientFailure);
}
resetChildrenReportedTF() {
this.children.every((child) => child.hasReportedTransientFailure = false);
}
calculateAndReportNewState() {
var _a4;
if (this.currentPick) {
if (this.reportHealthStatus && !this.currentPick.isHealthy()) {
const errorMessage = `Picked subchannel ${this.currentPick.getAddress()} is unhealthy`;
this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({
details: errorMessage
}), errorMessage);
} else {
this.updateState(connectivity_state_1.ConnectivityState.READY, new PickFirstPicker(this.currentPick), null);
}
} else if (((_a4 = this.latestAddressList) === null || _a4 === void 0 ? void 0 : _a4.length) === 0) {
const errorMessage = `No connection established. Last error: ${this.lastError}`;
this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({
details: errorMessage
}), errorMessage);
} else if (this.children.length === 0) {
this.updateState(connectivity_state_1.ConnectivityState.IDLE, new picker_1.QueuePicker(this), null);
} else {
if (this.stickyTransientFailureMode) {
const errorMessage = `No connection established. Last error: ${this.lastError}`;
this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({
details: errorMessage
}), errorMessage);
} else {
this.updateState(connectivity_state_1.ConnectivityState.CONNECTING, new picker_1.QueuePicker(this), null);
}
}
}
requestReresolution() {
this.channelControlHelper.requestReresolution();
}
maybeEnterStickyTransientFailureMode() {
if (!this.allChildrenHaveReportedTF()) {
return;
}
this.requestReresolution();
this.resetChildrenReportedTF();
if (this.stickyTransientFailureMode) {
this.calculateAndReportNewState();
return;
}
this.stickyTransientFailureMode = true;
for (const { subchannel } of this.children) {
subchannel.startConnecting();
}
this.calculateAndReportNewState();
}
removeCurrentPick() {
if (this.currentPick !== null) {
this.currentPick.removeConnectivityStateListener(this.subchannelStateListener);
this.channelControlHelper.removeChannelzChild(this.currentPick.getChannelzRef());
this.currentPick.removeHealthStateWatcher(this.pickedSubchannelHealthListener);
this.currentPick.unref();
this.currentPick = null;
}
}
onSubchannelStateUpdate(subchannel, previousState, newState, errorMessage) {
var _a4;
if ((_a4 = this.currentPick) === null || _a4 === void 0 ? void 0 : _a4.realSubchannelEquals(subchannel)) {
if (newState !== connectivity_state_1.ConnectivityState.READY) {
this.removeCurrentPick();
this.calculateAndReportNewState();
}
return;
}
for (const [index, child] of this.children.entries()) {
if (subchannel.realSubchannelEquals(child.subchannel)) {
if (newState === connectivity_state_1.ConnectivityState.READY) {
this.pickSubchannel(child.subchannel);
}
if (newState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
child.hasReportedTransientFailure = true;
if (errorMessage) {
this.lastError = errorMessage;
}
this.maybeEnterStickyTransientFailureMode();
if (index === this.currentSubchannelIndex) {
this.startNextSubchannelConnecting(index + 1);
}
}
child.subchannel.startConnecting();
return;
}
}
}
startNextSubchannelConnecting(startIndex) {
clearTimeout(this.connectionDelayTimeout);
for (const [index, child] of this.children.entries()) {
if (index >= startIndex) {
const subchannelState = child.subchannel.getConnectivityState();
if (subchannelState === connectivity_state_1.ConnectivityState.IDLE || subchannelState === connectivity_state_1.ConnectivityState.CONNECTING) {
this.startConnecting(index);
return;
}
}
}
this.maybeEnterStickyTransientFailureMode();
}
/**
* Have a single subchannel in the `subchannels` list start connecting.
* @param subchannelIndex The index into the `subchannels` list.
*/
startConnecting(subchannelIndex) {
var _a4, _b;
clearTimeout(this.connectionDelayTimeout);
this.currentSubchannelIndex = subchannelIndex;
if (this.children[subchannelIndex].subchannel.getConnectivityState() === connectivity_state_1.ConnectivityState.IDLE) {
trace2("Start connecting to subchannel with address " + this.children[subchannelIndex].subchannel.getAddress());
process.nextTick(() => {
var _a5;
(_a5 = this.children[subchannelIndex]) === null || _a5 === void 0 ? void 0 : _a5.subchannel.startConnecting();
});
}
this.connectionDelayTimeout = setTimeout(() => {
this.startNextSubchannelConnecting(subchannelIndex + 1);
}, CONNECTION_DELAY_INTERVAL_MS);
(_b = (_a4 = this.connectionDelayTimeout).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
/**
* Declare that the specified subchannel should be used to make requests.
* This functions the same independent of whether subchannel is a member of
* this.children and whether it is equal to this.currentPick.
* Prerequisite: subchannel.getConnectivityState() === READY.
* @param subchannel
*/
pickSubchannel(subchannel) {
trace2("Pick subchannel with address " + subchannel.getAddress());
this.stickyTransientFailureMode = false;
subchannel.ref();
this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
this.removeCurrentPick();
this.resetSubchannelList();
subchannel.addConnectivityStateListener(this.subchannelStateListener);
subchannel.addHealthStateWatcher(this.pickedSubchannelHealthListener);
this.currentPick = subchannel;
clearTimeout(this.connectionDelayTimeout);
this.calculateAndReportNewState();
}
updateState(newState, picker, errorMessage) {
trace2(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
this.currentState = newState;
this.channelControlHelper.updateState(newState, picker, errorMessage);
}
resetSubchannelList() {
for (const child of this.children) {
child.subchannel.removeConnectivityStateListener(this.subchannelStateListener);
child.subchannel.unref();
this.channelControlHelper.removeChannelzChild(child.subchannel.getChannelzRef());
}
this.currentSubchannelIndex = 0;
this.children = [];
}
connectToAddressList(addressList, options) {
trace2("connectToAddressList([" + addressList.map((address) => (0, subchannel_address_1.subchannelAddressToString)(address)) + "])");
const newChildrenList = addressList.map((address) => ({
subchannel: this.channelControlHelper.createSubchannel(address, options),
hasReportedTransientFailure: false
}));
for (const { subchannel } of newChildrenList) {
if (subchannel.getConnectivityState() === connectivity_state_1.ConnectivityState.READY) {
this.pickSubchannel(subchannel);
return;
}
}
for (const { subchannel } of newChildrenList) {
subchannel.ref();
this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
}
this.resetSubchannelList();
this.children = newChildrenList;
for (const { subchannel } of this.children) {
subchannel.addConnectivityStateListener(this.subchannelStateListener);
}
for (const child of this.children) {
if (child.subchannel.getConnectivityState() === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
child.hasReportedTransientFailure = true;
}
}
this.startNextSubchannelConnecting(0);
this.calculateAndReportNewState();
}
updateAddressList(endpointList, lbConfig, options) {
if (!(lbConfig instanceof PickFirstLoadBalancingConfig)) {
return;
}
this.reportHealthStatus = options[REPORT_HEALTH_STATUS_OPTION_NAME];
if (lbConfig.getShuffleAddressList()) {
endpointList = shuffled(endpointList);
}
const rawAddressList = [].concat(...endpointList.map((endpoint) => endpoint.addresses));
trace2("updateAddressList([" + rawAddressList.map((address) => (0, subchannel_address_1.subchannelAddressToString)(address)) + "])");
if (rawAddressList.length === 0) {
this.lastError = "No addresses resolved";
}
const addressList = interleaveAddressFamilies(rawAddressList);
this.latestAddressList = addressList;
this.latestOptions = options;
this.connectToAddressList(addressList, options);
}
exitIdle() {
if (this.currentState === connectivity_state_1.ConnectivityState.IDLE && this.latestAddressList) {
this.connectToAddressList(this.latestAddressList, this.latestOptions);
}
}
resetBackoff() {
}
destroy() {
this.resetSubchannelList();
this.removeCurrentPick();
}
getTypeName() {
return TYPE_NAME;
}
};
exports2.PickFirstLoadBalancer = PickFirstLoadBalancer;
var LEAF_CONFIG = new PickFirstLoadBalancingConfig(false);
var LeafLoadBalancer = class {
constructor(endpoint, channelControlHelper, options) {
this.endpoint = endpoint;
this.options = options;
this.latestState = connectivity_state_1.ConnectivityState.IDLE;
const childChannelControlHelper = (0, load_balancer_1.createChildChannelControlHelper)(channelControlHelper, {
updateState: (connectivityState, picker, errorMessage) => {
this.latestState = connectivityState;
this.latestPicker = picker;
channelControlHelper.updateState(connectivityState, picker, errorMessage);
}
});
this.pickFirstBalancer = new PickFirstLoadBalancer(childChannelControlHelper);
this.latestPicker = new picker_1.QueuePicker(this.pickFirstBalancer);
}
startConnecting() {
this.pickFirstBalancer.updateAddressList([this.endpoint], LEAF_CONFIG, Object.assign(Object.assign({}, this.options), { [REPORT_HEALTH_STATUS_OPTION_NAME]: true }));
}
/**
* Update the endpoint associated with this LeafLoadBalancer to a new
* endpoint. Does not trigger connection establishment if a connection
* attempt is not already in progress.
* @param newEndpoint
*/
updateEndpoint(newEndpoint, newOptions) {
this.options = newOptions;
this.endpoint = newEndpoint;
if (this.latestState !== connectivity_state_1.ConnectivityState.IDLE) {
this.startConnecting();
}
}
getConnectivityState() {
return this.latestState;
}
getPicker() {
return this.latestPicker;
}
getEndpoint() {
return this.endpoint;
}
exitIdle() {
this.pickFirstBalancer.exitIdle();
}
destroy() {
this.pickFirstBalancer.destroy();
}
};
exports2.LeafLoadBalancer = LeafLoadBalancer;
function setup() {
(0, load_balancer_1.registerLoadBalancerType)(TYPE_NAME, PickFirstLoadBalancer, PickFirstLoadBalancingConfig);
(0, load_balancer_1.registerDefaultLoadBalancerType)(TYPE_NAME);
}
}
});
// node_modules/@grpc/grpc-js/build/src/certificate-provider.js
var require_certificate_provider = __commonJS({
"node_modules/@grpc/grpc-js/build/src/certificate-provider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.FileWatcherCertificateProvider = void 0;
var fs84 = __require("fs");
var logging = require_logging();
var constants_1 = require_constants2();
var util_1 = __require("util");
var TRACER_NAME2 = "certificate_provider";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var readFilePromise = (0, util_1.promisify)(fs84.readFile);
var FileWatcherCertificateProvider = class {
constructor(config2) {
this.config = config2;
this.refreshTimer = null;
this.fileResultPromise = null;
this.latestCaUpdate = void 0;
this.caListeners = /* @__PURE__ */ new Set();
this.latestIdentityUpdate = void 0;
this.identityListeners = /* @__PURE__ */ new Set();
this.lastUpdateTime = null;
if (config2.certificateFile === void 0 !== (config2.privateKeyFile === void 0)) {
throw new Error("certificateFile and privateKeyFile must be set or unset together");
}
if (config2.certificateFile === void 0 && config2.caCertificateFile === void 0) {
throw new Error("At least one of certificateFile and caCertificateFile must be set");
}
trace2("File watcher constructed with config " + JSON.stringify(config2));
}
updateCertificates() {
if (this.fileResultPromise) {
return;
}
this.fileResultPromise = Promise.allSettled([
this.config.certificateFile ? readFilePromise(this.config.certificateFile) : Promise.reject(),
this.config.privateKeyFile ? readFilePromise(this.config.privateKeyFile) : Promise.reject(),
this.config.caCertificateFile ? readFilePromise(this.config.caCertificateFile) : Promise.reject()
]);
this.fileResultPromise.then(([certificateResult, privateKeyResult, caCertificateResult]) => {
if (!this.refreshTimer) {
return;
}
trace2("File watcher read certificates certificate " + certificateResult.status + ", privateKey " + privateKeyResult.status + ", CA certificate " + caCertificateResult.status);
this.lastUpdateTime = /* @__PURE__ */ new Date();
this.fileResultPromise = null;
if (certificateResult.status === "fulfilled" && privateKeyResult.status === "fulfilled") {
this.latestIdentityUpdate = {
certificate: certificateResult.value,
privateKey: privateKeyResult.value
};
} else {
this.latestIdentityUpdate = null;
}
if (caCertificateResult.status === "fulfilled") {
this.latestCaUpdate = {
caCertificate: caCertificateResult.value
};
} else {
this.latestCaUpdate = null;
}
for (const listener of this.identityListeners) {
listener(this.latestIdentityUpdate);
}
for (const listener of this.caListeners) {
listener(this.latestCaUpdate);
}
});
trace2("File watcher initiated certificate update");
}
maybeStartWatchingFiles() {
if (!this.refreshTimer) {
const timeSinceLastUpdate = this.lastUpdateTime ? (/* @__PURE__ */ new Date()).getTime() - this.lastUpdateTime.getTime() : Infinity;
if (timeSinceLastUpdate > this.config.refreshIntervalMs) {
this.updateCertificates();
}
if (timeSinceLastUpdate > this.config.refreshIntervalMs * 2) {
this.latestCaUpdate = void 0;
this.latestIdentityUpdate = void 0;
}
this.refreshTimer = setInterval(() => this.updateCertificates(), this.config.refreshIntervalMs);
trace2("File watcher started watching");
}
}
maybeStopWatchingFiles() {
if (this.caListeners.size === 0 && this.identityListeners.size === 0) {
this.fileResultPromise = null;
if (this.refreshTimer) {
clearInterval(this.refreshTimer);
this.refreshTimer = null;
}
}
}
addCaCertificateListener(listener) {
this.caListeners.add(listener);
this.maybeStartWatchingFiles();
if (this.latestCaUpdate !== void 0) {
process.nextTick(listener, this.latestCaUpdate);
}
}
removeCaCertificateListener(listener) {
this.caListeners.delete(listener);
this.maybeStopWatchingFiles();
}
addIdentityCertificateListener(listener) {
this.identityListeners.add(listener);
this.maybeStartWatchingFiles();
if (this.latestIdentityUpdate !== void 0) {
process.nextTick(listener, this.latestIdentityUpdate);
}
}
removeIdentityCertificateListener(listener) {
this.identityListeners.delete(listener);
this.maybeStopWatchingFiles();
}
};
exports2.FileWatcherCertificateProvider = FileWatcherCertificateProvider;
}
});
// node_modules/@grpc/grpc-js/build/src/experimental.js
var require_experimental = __commonJS({
"node_modules/@grpc/grpc-js/build/src/experimental.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX = exports2.createCertificateProviderChannelCredentials = exports2.FileWatcherCertificateProvider = exports2.createCertificateProviderServerCredentials = exports2.createServerCredentialsWithInterceptors = exports2.BaseSubchannelWrapper = exports2.registerAdminService = exports2.FilterStackFactory = exports2.BaseFilter = exports2.PickResultType = exports2.QueuePicker = exports2.UnavailablePicker = exports2.ChildLoadBalancerHandler = exports2.EndpointMap = exports2.endpointHasAddress = exports2.endpointToString = exports2.subchannelAddressToString = exports2.LeafLoadBalancer = exports2.isLoadBalancerNameRegistered = exports2.parseLoadBalancingConfig = exports2.selectLbConfigFromList = exports2.registerLoadBalancerType = exports2.createChildChannelControlHelper = exports2.BackoffTimeout = exports2.parseDuration = exports2.durationToMs = exports2.splitHostPort = exports2.uriToString = exports2.createResolver = exports2.registerResolver = exports2.log = exports2.trace = void 0;
var logging_1 = require_logging();
Object.defineProperty(exports2, "trace", { enumerable: true, get: function() {
return logging_1.trace;
} });
Object.defineProperty(exports2, "log", { enumerable: true, get: function() {
return logging_1.log;
} });
var resolver_1 = require_resolver();
Object.defineProperty(exports2, "registerResolver", { enumerable: true, get: function() {
return resolver_1.registerResolver;
} });
Object.defineProperty(exports2, "createResolver", { enumerable: true, get: function() {
return resolver_1.createResolver;
} });
var uri_parser_1 = require_uri_parser();
Object.defineProperty(exports2, "uriToString", { enumerable: true, get: function() {
return uri_parser_1.uriToString;
} });
Object.defineProperty(exports2, "splitHostPort", { enumerable: true, get: function() {
return uri_parser_1.splitHostPort;
} });
var duration_1 = require_duration();
Object.defineProperty(exports2, "durationToMs", { enumerable: true, get: function() {
return duration_1.durationToMs;
} });
Object.defineProperty(exports2, "parseDuration", { enumerable: true, get: function() {
return duration_1.parseDuration;
} });
var backoff_timeout_1 = require_backoff_timeout();
Object.defineProperty(exports2, "BackoffTimeout", { enumerable: true, get: function() {
return backoff_timeout_1.BackoffTimeout;
} });
var load_balancer_1 = require_load_balancer();
Object.defineProperty(exports2, "createChildChannelControlHelper", { enumerable: true, get: function() {
return load_balancer_1.createChildChannelControlHelper;
} });
Object.defineProperty(exports2, "registerLoadBalancerType", { enumerable: true, get: function() {
return load_balancer_1.registerLoadBalancerType;
} });
Object.defineProperty(exports2, "selectLbConfigFromList", { enumerable: true, get: function() {
return load_balancer_1.selectLbConfigFromList;
} });
Object.defineProperty(exports2, "parseLoadBalancingConfig", { enumerable: true, get: function() {
return load_balancer_1.parseLoadBalancingConfig;
} });
Object.defineProperty(exports2, "isLoadBalancerNameRegistered", { enumerable: true, get: function() {
return load_balancer_1.isLoadBalancerNameRegistered;
} });
var load_balancer_pick_first_1 = require_load_balancer_pick_first();
Object.defineProperty(exports2, "LeafLoadBalancer", { enumerable: true, get: function() {
return load_balancer_pick_first_1.LeafLoadBalancer;
} });
var subchannel_address_1 = require_subchannel_address();
Object.defineProperty(exports2, "subchannelAddressToString", { enumerable: true, get: function() {
return subchannel_address_1.subchannelAddressToString;
} });
Object.defineProperty(exports2, "endpointToString", { enumerable: true, get: function() {
return subchannel_address_1.endpointToString;
} });
Object.defineProperty(exports2, "endpointHasAddress", { enumerable: true, get: function() {
return subchannel_address_1.endpointHasAddress;
} });
Object.defineProperty(exports2, "EndpointMap", { enumerable: true, get: function() {
return subchannel_address_1.EndpointMap;
} });
var load_balancer_child_handler_1 = require_load_balancer_child_handler();
Object.defineProperty(exports2, "ChildLoadBalancerHandler", { enumerable: true, get: function() {
return load_balancer_child_handler_1.ChildLoadBalancerHandler;
} });
var picker_1 = require_picker();
Object.defineProperty(exports2, "UnavailablePicker", { enumerable: true, get: function() {
return picker_1.UnavailablePicker;
} });
Object.defineProperty(exports2, "QueuePicker", { enumerable: true, get: function() {
return picker_1.QueuePicker;
} });
Object.defineProperty(exports2, "PickResultType", { enumerable: true, get: function() {
return picker_1.PickResultType;
} });
var filter_1 = require_filter();
Object.defineProperty(exports2, "BaseFilter", { enumerable: true, get: function() {
return filter_1.BaseFilter;
} });
var filter_stack_1 = require_filter_stack();
Object.defineProperty(exports2, "FilterStackFactory", { enumerable: true, get: function() {
return filter_stack_1.FilterStackFactory;
} });
var admin_1 = require_admin();
Object.defineProperty(exports2, "registerAdminService", { enumerable: true, get: function() {
return admin_1.registerAdminService;
} });
var subchannel_interface_1 = require_subchannel_interface();
Object.defineProperty(exports2, "BaseSubchannelWrapper", { enumerable: true, get: function() {
return subchannel_interface_1.BaseSubchannelWrapper;
} });
var server_credentials_1 = require_server_credentials();
Object.defineProperty(exports2, "createServerCredentialsWithInterceptors", { enumerable: true, get: function() {
return server_credentials_1.createServerCredentialsWithInterceptors;
} });
Object.defineProperty(exports2, "createCertificateProviderServerCredentials", { enumerable: true, get: function() {
return server_credentials_1.createCertificateProviderServerCredentials;
} });
var certificate_provider_1 = require_certificate_provider();
Object.defineProperty(exports2, "FileWatcherCertificateProvider", { enumerable: true, get: function() {
return certificate_provider_1.FileWatcherCertificateProvider;
} });
var channel_credentials_1 = require_channel_credentials();
Object.defineProperty(exports2, "createCertificateProviderChannelCredentials", { enumerable: true, get: function() {
return channel_credentials_1.createCertificateProviderChannelCredentials;
} });
var internal_channel_1 = require_internal_channel();
Object.defineProperty(exports2, "SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX", { enumerable: true, get: function() {
return internal_channel_1.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX;
} });
}
});
// node_modules/@grpc/grpc-js/build/src/resolver-uds.js
var require_resolver_uds = __commonJS({
"node_modules/@grpc/grpc-js/build/src/resolver-uds.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.setup = setup;
var resolver_1 = require_resolver();
var UdsResolver = class {
constructor(target, listener, channelOptions) {
this.listener = listener;
this.hasReturnedResult = false;
this.endpoints = [];
let path101;
if (target.authority === "") {
path101 = "/" + target.path;
} else {
path101 = target.path;
}
this.endpoints = [{ addresses: [{ path: path101 }] }];
}
updateResolution() {
if (!this.hasReturnedResult) {
this.hasReturnedResult = true;
process.nextTick(this.listener.onSuccessfulResolution, this.endpoints, null, null, null, {});
}
}
destroy() {
this.hasReturnedResult = false;
}
static getDefaultAuthority(target) {
return "localhost";
}
};
function setup() {
(0, resolver_1.registerResolver)("unix", UdsResolver);
}
}
});
// node_modules/@grpc/grpc-js/build/src/resolver-ip.js
var require_resolver_ip = __commonJS({
"node_modules/@grpc/grpc-js/build/src/resolver-ip.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.setup = setup;
var net_1 = __require("net");
var constants_1 = require_constants2();
var metadata_1 = require_metadata();
var resolver_1 = require_resolver();
var uri_parser_1 = require_uri_parser();
var logging = require_logging();
var TRACER_NAME2 = "ip_resolver";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var IPV4_SCHEME = "ipv4";
var IPV6_SCHEME = "ipv6";
var DEFAULT_PORT = 443;
var IpResolver = class {
constructor(target, listener, channelOptions) {
var _a4;
this.listener = listener;
this.endpoints = [];
this.error = null;
this.hasReturnedResult = false;
trace2("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
const addresses = [];
if (!(target.scheme === IPV4_SCHEME || target.scheme === IPV6_SCHEME)) {
this.error = {
code: constants_1.Status.UNAVAILABLE,
details: `Unrecognized scheme ${target.scheme} in IP resolver`,
metadata: new metadata_1.Metadata()
};
return;
}
const pathList = target.path.split(",");
for (const path101 of pathList) {
const hostPort = (0, uri_parser_1.splitHostPort)(path101);
if (hostPort === null) {
this.error = {
code: constants_1.Status.UNAVAILABLE,
details: `Failed to parse ${target.scheme} address ${path101}`,
metadata: new metadata_1.Metadata()
};
return;
}
if (target.scheme === IPV4_SCHEME && !(0, net_1.isIPv4)(hostPort.host) || target.scheme === IPV6_SCHEME && !(0, net_1.isIPv6)(hostPort.host)) {
this.error = {
code: constants_1.Status.UNAVAILABLE,
details: `Failed to parse ${target.scheme} address ${path101}`,
metadata: new metadata_1.Metadata()
};
return;
}
addresses.push({
host: hostPort.host,
port: (_a4 = hostPort.port) !== null && _a4 !== void 0 ? _a4 : DEFAULT_PORT
});
}
this.endpoints = addresses.map((address) => ({ addresses: [address] }));
trace2("Parsed " + target.scheme + " address list " + addresses);
}
updateResolution() {
if (!this.hasReturnedResult) {
this.hasReturnedResult = true;
process.nextTick(() => {
if (this.error) {
this.listener.onError(this.error);
} else {
this.listener.onSuccessfulResolution(this.endpoints, null, null, null, {});
}
});
}
}
destroy() {
this.hasReturnedResult = false;
}
static getDefaultAuthority(target) {
return target.path.split(",")[0];
}
};
function setup() {
(0, resolver_1.registerResolver)(IPV4_SCHEME, IpResolver);
(0, resolver_1.registerResolver)(IPV6_SCHEME, IpResolver);
}
}
});
// node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js
var require_load_balancer_round_robin = __commonJS({
"node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RoundRobinLoadBalancer = void 0;
exports2.setup = setup;
var load_balancer_1 = require_load_balancer();
var connectivity_state_1 = require_connectivity_state();
var picker_1 = require_picker();
var logging = require_logging();
var constants_1 = require_constants2();
var subchannel_address_1 = require_subchannel_address();
var load_balancer_pick_first_1 = require_load_balancer_pick_first();
var TRACER_NAME2 = "round_robin";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var TYPE_NAME = "round_robin";
var RoundRobinLoadBalancingConfig = class _RoundRobinLoadBalancingConfig {
getLoadBalancerName() {
return TYPE_NAME;
}
constructor() {
}
toJsonObject() {
return {
[TYPE_NAME]: {}
};
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
static createFromJson(obj) {
return new _RoundRobinLoadBalancingConfig();
}
};
var RoundRobinPicker = class {
constructor(children, nextIndex = 0) {
this.children = children;
this.nextIndex = nextIndex;
}
pick(pickArgs) {
const childPicker = this.children[this.nextIndex].picker;
this.nextIndex = (this.nextIndex + 1) % this.children.length;
return childPicker.pick(pickArgs);
}
/**
* Check what the next subchannel returned would be. Used by the load
* balancer implementation to preserve this part of the picker state if
* possible when a subchannel connects or disconnects.
*/
peekNextEndpoint() {
return this.children[this.nextIndex].endpoint;
}
};
var RoundRobinLoadBalancer = class {
constructor(channelControlHelper) {
this.channelControlHelper = channelControlHelper;
this.children = [];
this.currentState = connectivity_state_1.ConnectivityState.IDLE;
this.currentReadyPicker = null;
this.updatesPaused = false;
this.lastError = null;
this.childChannelControlHelper = (0, load_balancer_1.createChildChannelControlHelper)(channelControlHelper, {
updateState: (connectivityState, picker, errorMessage) => {
if (this.currentState === connectivity_state_1.ConnectivityState.READY && connectivityState !== connectivity_state_1.ConnectivityState.READY) {
this.channelControlHelper.requestReresolution();
}
if (errorMessage) {
this.lastError = errorMessage;
}
this.calculateAndUpdateState();
}
});
}
countChildrenWithState(state) {
return this.children.filter((child) => child.getConnectivityState() === state).length;
}
calculateAndUpdateState() {
if (this.updatesPaused) {
return;
}
if (this.countChildrenWithState(connectivity_state_1.ConnectivityState.READY) > 0) {
const readyChildren = this.children.filter((child) => child.getConnectivityState() === connectivity_state_1.ConnectivityState.READY);
let index = 0;
if (this.currentReadyPicker !== null) {
const nextPickedEndpoint = this.currentReadyPicker.peekNextEndpoint();
index = readyChildren.findIndex((child) => (0, subchannel_address_1.endpointEqual)(child.getEndpoint(), nextPickedEndpoint));
if (index < 0) {
index = 0;
}
}
this.updateState(connectivity_state_1.ConnectivityState.READY, new RoundRobinPicker(readyChildren.map((child) => ({
endpoint: child.getEndpoint(),
picker: child.getPicker()
})), index), null);
} else if (this.countChildrenWithState(connectivity_state_1.ConnectivityState.CONNECTING) > 0) {
this.updateState(connectivity_state_1.ConnectivityState.CONNECTING, new picker_1.QueuePicker(this), null);
} else if (this.countChildrenWithState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) > 0) {
const errorMessage = `round_robin: No connection established. Last error: ${this.lastError}`;
this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker({
details: errorMessage
}), errorMessage);
} else {
this.updateState(connectivity_state_1.ConnectivityState.IDLE, new picker_1.QueuePicker(this), null);
}
for (const child of this.children) {
if (child.getConnectivityState() === connectivity_state_1.ConnectivityState.IDLE) {
child.exitIdle();
}
}
}
updateState(newState, picker, errorMessage) {
trace2(connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
if (newState === connectivity_state_1.ConnectivityState.READY) {
this.currentReadyPicker = picker;
} else {
this.currentReadyPicker = null;
}
this.currentState = newState;
this.channelControlHelper.updateState(newState, picker, errorMessage);
}
resetSubchannelList() {
for (const child of this.children) {
child.destroy();
}
}
updateAddressList(endpointList, lbConfig, options) {
this.resetSubchannelList();
trace2("Connect to endpoint list " + endpointList.map(subchannel_address_1.endpointToString));
this.updatesPaused = true;
this.children = endpointList.map((endpoint) => new load_balancer_pick_first_1.LeafLoadBalancer(endpoint, this.childChannelControlHelper, options));
for (const child of this.children) {
child.startConnecting();
}
this.updatesPaused = false;
this.calculateAndUpdateState();
}
exitIdle() {
}
resetBackoff() {
}
destroy() {
this.resetSubchannelList();
}
getTypeName() {
return TYPE_NAME;
}
};
exports2.RoundRobinLoadBalancer = RoundRobinLoadBalancer;
function setup() {
(0, load_balancer_1.registerLoadBalancerType)(TYPE_NAME, RoundRobinLoadBalancer, RoundRobinLoadBalancingConfig);
}
}
});
// node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js
var require_load_balancer_outlier_detection = __commonJS({
"node_modules/@grpc/grpc-js/build/src/load-balancer-outlier-detection.js"(exports2) {
"use strict";
var _a4;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OutlierDetectionLoadBalancer = exports2.OutlierDetectionLoadBalancingConfig = void 0;
exports2.setup = setup;
var connectivity_state_1 = require_connectivity_state();
var constants_1 = require_constants2();
var duration_1 = require_duration();
var experimental_1 = require_experimental();
var load_balancer_1 = require_load_balancer();
var load_balancer_child_handler_1 = require_load_balancer_child_handler();
var picker_1 = require_picker();
var subchannel_address_1 = require_subchannel_address();
var subchannel_interface_1 = require_subchannel_interface();
var logging = require_logging();
var TRACER_NAME2 = "outlier_detection";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var TYPE_NAME = "outlier_detection";
var OUTLIER_DETECTION_ENABLED = ((_a4 = process.env.GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION) !== null && _a4 !== void 0 ? _a4 : "true") === "true";
var defaultSuccessRateEjectionConfig = {
stdev_factor: 1900,
enforcement_percentage: 100,
minimum_hosts: 5,
request_volume: 100
};
var defaultFailurePercentageEjectionConfig = {
threshold: 85,
enforcement_percentage: 100,
minimum_hosts: 5,
request_volume: 50
};
function validateFieldType(obj, fieldName, expectedType, objectName) {
if (fieldName in obj && obj[fieldName] !== void 0 && typeof obj[fieldName] !== expectedType) {
const fullFieldName = objectName ? `${objectName}.${fieldName}` : fieldName;
throw new Error(`outlier detection config ${fullFieldName} parse error: expected ${expectedType}, got ${typeof obj[fieldName]}`);
}
}
function validatePositiveDuration(obj, fieldName, objectName) {
const fullFieldName = objectName ? `${objectName}.${fieldName}` : fieldName;
if (fieldName in obj && obj[fieldName] !== void 0) {
if (!(0, duration_1.isDuration)(obj[fieldName])) {
throw new Error(`outlier detection config ${fullFieldName} parse error: expected Duration, got ${typeof obj[fieldName]}`);
}
if (!(obj[fieldName].seconds >= 0 && obj[fieldName].seconds <= 315576e6 && obj[fieldName].nanos >= 0 && obj[fieldName].nanos <= 999999999)) {
throw new Error(`outlier detection config ${fullFieldName} parse error: values out of range for non-negative Duaration`);
}
}
}
function validatePercentage(obj, fieldName, objectName) {
const fullFieldName = objectName ? `${objectName}.${fieldName}` : fieldName;
validateFieldType(obj, fieldName, "number", objectName);
if (fieldName in obj && obj[fieldName] !== void 0 && !(obj[fieldName] >= 0 && obj[fieldName] <= 100)) {
throw new Error(`outlier detection config ${fullFieldName} parse error: value out of range for percentage (0-100)`);
}
}
var OutlierDetectionLoadBalancingConfig = class _OutlierDetectionLoadBalancingConfig {
constructor(intervalMs, baseEjectionTimeMs, maxEjectionTimeMs, maxEjectionPercent, successRateEjection, failurePercentageEjection, childPolicy) {
this.childPolicy = childPolicy;
if (childPolicy.getLoadBalancerName() === "pick_first") {
throw new Error("outlier_detection LB policy cannot have a pick_first child policy");
}
this.intervalMs = intervalMs !== null && intervalMs !== void 0 ? intervalMs : 1e4;
this.baseEjectionTimeMs = baseEjectionTimeMs !== null && baseEjectionTimeMs !== void 0 ? baseEjectionTimeMs : 3e4;
this.maxEjectionTimeMs = maxEjectionTimeMs !== null && maxEjectionTimeMs !== void 0 ? maxEjectionTimeMs : 3e5;
this.maxEjectionPercent = maxEjectionPercent !== null && maxEjectionPercent !== void 0 ? maxEjectionPercent : 10;
this.successRateEjection = successRateEjection ? Object.assign(Object.assign({}, defaultSuccessRateEjectionConfig), successRateEjection) : null;
this.failurePercentageEjection = failurePercentageEjection ? Object.assign(Object.assign({}, defaultFailurePercentageEjectionConfig), failurePercentageEjection) : null;
}
getLoadBalancerName() {
return TYPE_NAME;
}
toJsonObject() {
var _a5, _b;
return {
outlier_detection: {
interval: (0, duration_1.msToDuration)(this.intervalMs),
base_ejection_time: (0, duration_1.msToDuration)(this.baseEjectionTimeMs),
max_ejection_time: (0, duration_1.msToDuration)(this.maxEjectionTimeMs),
max_ejection_percent: this.maxEjectionPercent,
success_rate_ejection: (_a5 = this.successRateEjection) !== null && _a5 !== void 0 ? _a5 : void 0,
failure_percentage_ejection: (_b = this.failurePercentageEjection) !== null && _b !== void 0 ? _b : void 0,
child_policy: [this.childPolicy.toJsonObject()]
}
};
}
getIntervalMs() {
return this.intervalMs;
}
getBaseEjectionTimeMs() {
return this.baseEjectionTimeMs;
}
getMaxEjectionTimeMs() {
return this.maxEjectionTimeMs;
}
getMaxEjectionPercent() {
return this.maxEjectionPercent;
}
getSuccessRateEjectionConfig() {
return this.successRateEjection;
}
getFailurePercentageEjectionConfig() {
return this.failurePercentageEjection;
}
getChildPolicy() {
return this.childPolicy;
}
static createFromJson(obj) {
var _a5;
validatePositiveDuration(obj, "interval");
validatePositiveDuration(obj, "base_ejection_time");
validatePositiveDuration(obj, "max_ejection_time");
validatePercentage(obj, "max_ejection_percent");
if ("success_rate_ejection" in obj && obj.success_rate_ejection !== void 0) {
if (typeof obj.success_rate_ejection !== "object") {
throw new Error("outlier detection config success_rate_ejection must be an object");
}
validateFieldType(obj.success_rate_ejection, "stdev_factor", "number", "success_rate_ejection");
validatePercentage(obj.success_rate_ejection, "enforcement_percentage", "success_rate_ejection");
validateFieldType(obj.success_rate_ejection, "minimum_hosts", "number", "success_rate_ejection");
validateFieldType(obj.success_rate_ejection, "request_volume", "number", "success_rate_ejection");
}
if ("failure_percentage_ejection" in obj && obj.failure_percentage_ejection !== void 0) {
if (typeof obj.failure_percentage_ejection !== "object") {
throw new Error("outlier detection config failure_percentage_ejection must be an object");
}
validatePercentage(obj.failure_percentage_ejection, "threshold", "failure_percentage_ejection");
validatePercentage(obj.failure_percentage_ejection, "enforcement_percentage", "failure_percentage_ejection");
validateFieldType(obj.failure_percentage_ejection, "minimum_hosts", "number", "failure_percentage_ejection");
validateFieldType(obj.failure_percentage_ejection, "request_volume", "number", "failure_percentage_ejection");
}
if (!("child_policy" in obj) || !Array.isArray(obj.child_policy)) {
throw new Error("outlier detection config child_policy must be an array");
}
const childPolicy = (0, load_balancer_1.selectLbConfigFromList)(obj.child_policy);
if (!childPolicy) {
throw new Error("outlier detection config child_policy: no valid recognized policy found");
}
return new _OutlierDetectionLoadBalancingConfig(obj.interval ? (0, duration_1.durationToMs)(obj.interval) : null, obj.base_ejection_time ? (0, duration_1.durationToMs)(obj.base_ejection_time) : null, obj.max_ejection_time ? (0, duration_1.durationToMs)(obj.max_ejection_time) : null, (_a5 = obj.max_ejection_percent) !== null && _a5 !== void 0 ? _a5 : null, obj.success_rate_ejection, obj.failure_percentage_ejection, childPolicy);
}
};
exports2.OutlierDetectionLoadBalancingConfig = OutlierDetectionLoadBalancingConfig;
var OutlierDetectionSubchannelWrapper = class extends subchannel_interface_1.BaseSubchannelWrapper {
constructor(childSubchannel, mapEntry) {
super(childSubchannel);
this.mapEntry = mapEntry;
this.refCount = 0;
}
ref() {
this.child.ref();
this.refCount += 1;
}
unref() {
this.child.unref();
this.refCount -= 1;
if (this.refCount <= 0) {
if (this.mapEntry) {
const index = this.mapEntry.subchannelWrappers.indexOf(this);
if (index >= 0) {
this.mapEntry.subchannelWrappers.splice(index, 1);
}
}
}
}
eject() {
this.setHealthy(false);
}
uneject() {
this.setHealthy(true);
}
getMapEntry() {
return this.mapEntry;
}
getWrappedSubchannel() {
return this.child;
}
};
function createEmptyBucket() {
return {
success: 0,
failure: 0
};
}
var CallCounter = class {
constructor() {
this.activeBucket = createEmptyBucket();
this.inactiveBucket = createEmptyBucket();
}
addSuccess() {
this.activeBucket.success += 1;
}
addFailure() {
this.activeBucket.failure += 1;
}
switchBuckets() {
this.inactiveBucket = this.activeBucket;
this.activeBucket = createEmptyBucket();
}
getLastSuccesses() {
return this.inactiveBucket.success;
}
getLastFailures() {
return this.inactiveBucket.failure;
}
};
var OutlierDetectionPicker = class {
constructor(wrappedPicker, countCalls) {
this.wrappedPicker = wrappedPicker;
this.countCalls = countCalls;
}
pick(pickArgs) {
const wrappedPick = this.wrappedPicker.pick(pickArgs);
if (wrappedPick.pickResultType === picker_1.PickResultType.COMPLETE) {
const subchannelWrapper = wrappedPick.subchannel;
const mapEntry = subchannelWrapper.getMapEntry();
if (mapEntry) {
let onCallEnded = wrappedPick.onCallEnded;
if (this.countCalls) {
onCallEnded = (statusCode) => {
var _a5;
if (statusCode === constants_1.Status.OK) {
mapEntry.counter.addSuccess();
} else {
mapEntry.counter.addFailure();
}
(_a5 = wrappedPick.onCallEnded) === null || _a5 === void 0 ? void 0 : _a5.call(wrappedPick, statusCode);
};
}
return Object.assign(Object.assign({}, wrappedPick), { subchannel: subchannelWrapper.getWrappedSubchannel(), onCallEnded });
} else {
return Object.assign(Object.assign({}, wrappedPick), { subchannel: subchannelWrapper.getWrappedSubchannel() });
}
} else {
return wrappedPick;
}
}
};
var OutlierDetectionLoadBalancer = class {
constructor(channelControlHelper) {
this.entryMap = new subchannel_address_1.EndpointMap();
this.latestConfig = null;
this.timerStartTime = null;
this.childBalancer = new load_balancer_child_handler_1.ChildLoadBalancerHandler((0, experimental_1.createChildChannelControlHelper)(channelControlHelper, {
createSubchannel: (subchannelAddress, subchannelArgs) => {
const originalSubchannel = channelControlHelper.createSubchannel(subchannelAddress, subchannelArgs);
const mapEntry = this.entryMap.getForSubchannelAddress(subchannelAddress);
const subchannelWrapper = new OutlierDetectionSubchannelWrapper(originalSubchannel, mapEntry);
if ((mapEntry === null || mapEntry === void 0 ? void 0 : mapEntry.currentEjectionTimestamp) !== null) {
subchannelWrapper.eject();
}
mapEntry === null || mapEntry === void 0 ? void 0 : mapEntry.subchannelWrappers.push(subchannelWrapper);
return subchannelWrapper;
},
updateState: (connectivityState, picker, errorMessage) => {
if (connectivityState === connectivity_state_1.ConnectivityState.READY) {
channelControlHelper.updateState(connectivityState, new OutlierDetectionPicker(picker, this.isCountingEnabled()), errorMessage);
} else {
channelControlHelper.updateState(connectivityState, picker, errorMessage);
}
}
}));
this.ejectionTimer = setInterval(() => {
}, 0);
clearInterval(this.ejectionTimer);
}
isCountingEnabled() {
return this.latestConfig !== null && (this.latestConfig.getSuccessRateEjectionConfig() !== null || this.latestConfig.getFailurePercentageEjectionConfig() !== null);
}
getCurrentEjectionPercent() {
let ejectionCount = 0;
for (const mapEntry of this.entryMap.values()) {
if (mapEntry.currentEjectionTimestamp !== null) {
ejectionCount += 1;
}
}
return ejectionCount * 100 / this.entryMap.size;
}
runSuccessRateCheck(ejectionTimestamp) {
if (!this.latestConfig) {
return;
}
const successRateConfig = this.latestConfig.getSuccessRateEjectionConfig();
if (!successRateConfig) {
return;
}
trace2("Running success rate check");
const targetRequestVolume = successRateConfig.request_volume;
let addresesWithTargetVolume = 0;
const successRates = [];
for (const [endpoint, mapEntry] of this.entryMap.entries()) {
const successes = mapEntry.counter.getLastSuccesses();
const failures = mapEntry.counter.getLastFailures();
trace2("Stats for " + (0, subchannel_address_1.endpointToString)(endpoint) + ": successes=" + successes + " failures=" + failures + " targetRequestVolume=" + targetRequestVolume);
if (successes + failures >= targetRequestVolume) {
addresesWithTargetVolume += 1;
successRates.push(successes / (successes + failures));
}
}
trace2("Found " + addresesWithTargetVolume + " success rate candidates; currentEjectionPercent=" + this.getCurrentEjectionPercent() + " successRates=[" + successRates + "]");
if (addresesWithTargetVolume < successRateConfig.minimum_hosts) {
return;
}
const successRateMean = successRates.reduce((a2, b) => a2 + b) / successRates.length;
let successRateDeviationSum = 0;
for (const rate of successRates) {
const deviation = rate - successRateMean;
successRateDeviationSum += deviation * deviation;
}
const successRateVariance = successRateDeviationSum / successRates.length;
const successRateStdev = Math.sqrt(successRateVariance);
const ejectionThreshold = successRateMean - successRateStdev * (successRateConfig.stdev_factor / 1e3);
trace2("stdev=" + successRateStdev + " ejectionThreshold=" + ejectionThreshold);
for (const [address, mapEntry] of this.entryMap.entries()) {
if (this.getCurrentEjectionPercent() >= this.latestConfig.getMaxEjectionPercent()) {
break;
}
const successes = mapEntry.counter.getLastSuccesses();
const failures = mapEntry.counter.getLastFailures();
if (successes + failures < targetRequestVolume) {
continue;
}
const successRate = successes / (successes + failures);
trace2("Checking candidate " + address + " successRate=" + successRate);
if (successRate < ejectionThreshold) {
const randomNumber = Math.random() * 100;
trace2("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + successRateConfig.enforcement_percentage);
if (randomNumber < successRateConfig.enforcement_percentage) {
trace2("Ejecting candidate " + address);
this.eject(mapEntry, ejectionTimestamp);
}
}
}
}
runFailurePercentageCheck(ejectionTimestamp) {
if (!this.latestConfig) {
return;
}
const failurePercentageConfig = this.latestConfig.getFailurePercentageEjectionConfig();
if (!failurePercentageConfig) {
return;
}
trace2("Running failure percentage check. threshold=" + failurePercentageConfig.threshold + " request volume threshold=" + failurePercentageConfig.request_volume);
let addressesWithTargetVolume = 0;
for (const mapEntry of this.entryMap.values()) {
const successes = mapEntry.counter.getLastSuccesses();
const failures = mapEntry.counter.getLastFailures();
if (successes + failures >= failurePercentageConfig.request_volume) {
addressesWithTargetVolume += 1;
}
}
if (addressesWithTargetVolume < failurePercentageConfig.minimum_hosts) {
return;
}
for (const [address, mapEntry] of this.entryMap.entries()) {
if (this.getCurrentEjectionPercent() >= this.latestConfig.getMaxEjectionPercent()) {
break;
}
const successes = mapEntry.counter.getLastSuccesses();
const failures = mapEntry.counter.getLastFailures();
trace2("Candidate successes=" + successes + " failures=" + failures);
if (successes + failures < failurePercentageConfig.request_volume) {
continue;
}
const failurePercentage = failures * 100 / (failures + successes);
if (failurePercentage > failurePercentageConfig.threshold) {
const randomNumber = Math.random() * 100;
trace2("Candidate " + address + " randomNumber=" + randomNumber + " enforcement_percentage=" + failurePercentageConfig.enforcement_percentage);
if (randomNumber < failurePercentageConfig.enforcement_percentage) {
trace2("Ejecting candidate " + address);
this.eject(mapEntry, ejectionTimestamp);
}
}
}
}
eject(mapEntry, ejectionTimestamp) {
mapEntry.currentEjectionTimestamp = /* @__PURE__ */ new Date();
mapEntry.ejectionTimeMultiplier += 1;
for (const subchannelWrapper of mapEntry.subchannelWrappers) {
subchannelWrapper.eject();
}
}
uneject(mapEntry) {
mapEntry.currentEjectionTimestamp = null;
for (const subchannelWrapper of mapEntry.subchannelWrappers) {
subchannelWrapper.uneject();
}
}
switchAllBuckets() {
for (const mapEntry of this.entryMap.values()) {
mapEntry.counter.switchBuckets();
}
}
startTimer(delayMs) {
var _a5, _b;
this.ejectionTimer = setTimeout(() => this.runChecks(), delayMs);
(_b = (_a5 = this.ejectionTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a5);
}
runChecks() {
const ejectionTimestamp = /* @__PURE__ */ new Date();
trace2("Ejection timer running");
this.switchAllBuckets();
if (!this.latestConfig) {
return;
}
this.timerStartTime = ejectionTimestamp;
this.startTimer(this.latestConfig.getIntervalMs());
this.runSuccessRateCheck(ejectionTimestamp);
this.runFailurePercentageCheck(ejectionTimestamp);
for (const [address, mapEntry] of this.entryMap.entries()) {
if (mapEntry.currentEjectionTimestamp === null) {
if (mapEntry.ejectionTimeMultiplier > 0) {
mapEntry.ejectionTimeMultiplier -= 1;
}
} else {
const baseEjectionTimeMs = this.latestConfig.getBaseEjectionTimeMs();
const maxEjectionTimeMs = this.latestConfig.getMaxEjectionTimeMs();
const returnTime = new Date(mapEntry.currentEjectionTimestamp.getTime());
returnTime.setMilliseconds(returnTime.getMilliseconds() + Math.min(baseEjectionTimeMs * mapEntry.ejectionTimeMultiplier, Math.max(baseEjectionTimeMs, maxEjectionTimeMs)));
if (returnTime < /* @__PURE__ */ new Date()) {
trace2("Unejecting " + address);
this.uneject(mapEntry);
}
}
}
}
updateAddressList(endpointList, lbConfig, options) {
if (!(lbConfig instanceof OutlierDetectionLoadBalancingConfig)) {
return;
}
trace2("Received update with config: " + JSON.stringify(lbConfig.toJsonObject(), void 0, 2));
for (const endpoint of endpointList) {
if (!this.entryMap.has(endpoint)) {
trace2("Adding map entry for " + (0, subchannel_address_1.endpointToString)(endpoint));
this.entryMap.set(endpoint, {
counter: new CallCounter(),
currentEjectionTimestamp: null,
ejectionTimeMultiplier: 0,
subchannelWrappers: []
});
}
}
this.entryMap.deleteMissing(endpointList);
const childPolicy = lbConfig.getChildPolicy();
this.childBalancer.updateAddressList(endpointList, childPolicy, options);
if (lbConfig.getSuccessRateEjectionConfig() || lbConfig.getFailurePercentageEjectionConfig()) {
if (this.timerStartTime) {
trace2("Previous timer existed. Replacing timer");
clearTimeout(this.ejectionTimer);
const remainingDelay = lbConfig.getIntervalMs() - ((/* @__PURE__ */ new Date()).getTime() - this.timerStartTime.getTime());
this.startTimer(remainingDelay);
} else {
trace2("Starting new timer");
this.timerStartTime = /* @__PURE__ */ new Date();
this.startTimer(lbConfig.getIntervalMs());
this.switchAllBuckets();
}
} else {
trace2("Counting disabled. Cancelling timer.");
this.timerStartTime = null;
clearTimeout(this.ejectionTimer);
for (const mapEntry of this.entryMap.values()) {
this.uneject(mapEntry);
mapEntry.ejectionTimeMultiplier = 0;
}
}
this.latestConfig = lbConfig;
}
exitIdle() {
this.childBalancer.exitIdle();
}
resetBackoff() {
this.childBalancer.resetBackoff();
}
destroy() {
clearTimeout(this.ejectionTimer);
this.childBalancer.destroy();
}
getTypeName() {
return TYPE_NAME;
}
};
exports2.OutlierDetectionLoadBalancer = OutlierDetectionLoadBalancer;
function setup() {
if (OUTLIER_DETECTION_ENABLED) {
(0, experimental_1.registerLoadBalancerType)(TYPE_NAME, OutlierDetectionLoadBalancer, OutlierDetectionLoadBalancingConfig);
}
}
}
});
// node_modules/@grpc/grpc-js/build/src/index.js
var require_src11 = __commonJS({
"node_modules/@grpc/grpc-js/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.experimental = exports2.ServerInterceptingCall = exports2.ResponderBuilder = exports2.ServerListenerBuilder = exports2.addAdminServicesToServer = exports2.getChannelzHandlers = exports2.getChannelzServiceDefinition = exports2.InterceptorConfigurationError = exports2.InterceptingCall = exports2.RequesterBuilder = exports2.ListenerBuilder = exports2.StatusBuilder = exports2.getClientChannel = exports2.ServerCredentials = exports2.Server = exports2.setLogVerbosity = exports2.setLogger = exports2.load = exports2.loadObject = exports2.CallCredentials = exports2.ChannelCredentials = exports2.waitForClientReady = exports2.closeClient = exports2.Channel = exports2.makeGenericClientConstructor = exports2.makeClientConstructor = exports2.loadPackageDefinition = exports2.Client = exports2.compressionAlgorithms = exports2.propagate = exports2.connectivityState = exports2.status = exports2.logVerbosity = exports2.Metadata = exports2.credentials = void 0;
var call_credentials_1 = require_call_credentials();
Object.defineProperty(exports2, "CallCredentials", { enumerable: true, get: function() {
return call_credentials_1.CallCredentials;
} });
var channel_1 = require_channel();
Object.defineProperty(exports2, "Channel", { enumerable: true, get: function() {
return channel_1.ChannelImplementation;
} });
var compression_algorithms_1 = require_compression_algorithms();
Object.defineProperty(exports2, "compressionAlgorithms", { enumerable: true, get: function() {
return compression_algorithms_1.CompressionAlgorithms;
} });
var connectivity_state_1 = require_connectivity_state();
Object.defineProperty(exports2, "connectivityState", { enumerable: true, get: function() {
return connectivity_state_1.ConnectivityState;
} });
var channel_credentials_1 = require_channel_credentials();
Object.defineProperty(exports2, "ChannelCredentials", { enumerable: true, get: function() {
return channel_credentials_1.ChannelCredentials;
} });
var client_1 = require_client();
Object.defineProperty(exports2, "Client", { enumerable: true, get: function() {
return client_1.Client;
} });
var constants_1 = require_constants2();
Object.defineProperty(exports2, "logVerbosity", { enumerable: true, get: function() {
return constants_1.LogVerbosity;
} });
Object.defineProperty(exports2, "status", { enumerable: true, get: function() {
return constants_1.Status;
} });
Object.defineProperty(exports2, "propagate", { enumerable: true, get: function() {
return constants_1.Propagate;
} });
var logging = require_logging();
var make_client_1 = require_make_client();
Object.defineProperty(exports2, "loadPackageDefinition", { enumerable: true, get: function() {
return make_client_1.loadPackageDefinition;
} });
Object.defineProperty(exports2, "makeClientConstructor", { enumerable: true, get: function() {
return make_client_1.makeClientConstructor;
} });
Object.defineProperty(exports2, "makeGenericClientConstructor", { enumerable: true, get: function() {
return make_client_1.makeClientConstructor;
} });
var metadata_1 = require_metadata();
Object.defineProperty(exports2, "Metadata", { enumerable: true, get: function() {
return metadata_1.Metadata;
} });
var server_1 = require_server();
Object.defineProperty(exports2, "Server", { enumerable: true, get: function() {
return server_1.Server;
} });
var server_credentials_1 = require_server_credentials();
Object.defineProperty(exports2, "ServerCredentials", { enumerable: true, get: function() {
return server_credentials_1.ServerCredentials;
} });
var status_builder_1 = require_status_builder();
Object.defineProperty(exports2, "StatusBuilder", { enumerable: true, get: function() {
return status_builder_1.StatusBuilder;
} });
exports2.credentials = {
/**
* Combine a ChannelCredentials with any number of CallCredentials into a
* single ChannelCredentials object.
* @param channelCredentials The ChannelCredentials object.
* @param callCredentials Any number of CallCredentials objects.
* @return The resulting ChannelCredentials object.
*/
combineChannelCredentials: (channelCredentials, ...callCredentials) => {
return callCredentials.reduce((acc, other) => acc.compose(other), channelCredentials);
},
/**
* Combine any number of CallCredentials into a single CallCredentials
* object.
* @param first The first CallCredentials object.
* @param additional Any number of additional CallCredentials objects.
* @return The resulting CallCredentials object.
*/
combineCallCredentials: (first2, ...additional) => {
return additional.reduce((acc, other) => acc.compose(other), first2);
},
// from channel-credentials.ts
createInsecure: channel_credentials_1.ChannelCredentials.createInsecure,
createSsl: channel_credentials_1.ChannelCredentials.createSsl,
createFromSecureContext: channel_credentials_1.ChannelCredentials.createFromSecureContext,
// from call-credentials.ts
createFromMetadataGenerator: call_credentials_1.CallCredentials.createFromMetadataGenerator,
createFromGoogleCredential: call_credentials_1.CallCredentials.createFromGoogleCredential,
createEmpty: call_credentials_1.CallCredentials.createEmpty
};
var closeClient = (client) => client.close();
exports2.closeClient = closeClient;
var waitForClientReady = (client, deadline, callback) => client.waitForReady(deadline, callback);
exports2.waitForClientReady = waitForClientReady;
var loadObject = (value, options) => {
throw new Error("Not available in this library. Use @grpc/proto-loader and loadPackageDefinition instead");
};
exports2.loadObject = loadObject;
var load3 = (filename, format2, options) => {
throw new Error("Not available in this library. Use @grpc/proto-loader and loadPackageDefinition instead");
};
exports2.load = load3;
var setLogger = (logger3) => {
logging.setLogger(logger3);
};
exports2.setLogger = setLogger;
var setLogVerbosity = (verbosity) => {
logging.setLoggerVerbosity(verbosity);
};
exports2.setLogVerbosity = setLogVerbosity;
var getClientChannel = (client) => {
return client_1.Client.prototype.getChannel.call(client);
};
exports2.getClientChannel = getClientChannel;
var client_interceptors_1 = require_client_interceptors();
Object.defineProperty(exports2, "ListenerBuilder", { enumerable: true, get: function() {
return client_interceptors_1.ListenerBuilder;
} });
Object.defineProperty(exports2, "RequesterBuilder", { enumerable: true, get: function() {
return client_interceptors_1.RequesterBuilder;
} });
Object.defineProperty(exports2, "InterceptingCall", { enumerable: true, get: function() {
return client_interceptors_1.InterceptingCall;
} });
Object.defineProperty(exports2, "InterceptorConfigurationError", { enumerable: true, get: function() {
return client_interceptors_1.InterceptorConfigurationError;
} });
var channelz_1 = require_channelz();
Object.defineProperty(exports2, "getChannelzServiceDefinition", { enumerable: true, get: function() {
return channelz_1.getChannelzServiceDefinition;
} });
Object.defineProperty(exports2, "getChannelzHandlers", { enumerable: true, get: function() {
return channelz_1.getChannelzHandlers;
} });
var admin_1 = require_admin();
Object.defineProperty(exports2, "addAdminServicesToServer", { enumerable: true, get: function() {
return admin_1.addAdminServicesToServer;
} });
var server_interceptors_1 = require_server_interceptors();
Object.defineProperty(exports2, "ServerListenerBuilder", { enumerable: true, get: function() {
return server_interceptors_1.ServerListenerBuilder;
} });
Object.defineProperty(exports2, "ResponderBuilder", { enumerable: true, get: function() {
return server_interceptors_1.ResponderBuilder;
} });
Object.defineProperty(exports2, "ServerInterceptingCall", { enumerable: true, get: function() {
return server_interceptors_1.ServerInterceptingCall;
} });
var experimental = require_experimental();
exports2.experimental = experimental;
var resolver_dns = require_resolver_dns();
var resolver_uds = require_resolver_uds();
var resolver_ip = require_resolver_ip();
var load_balancer_pick_first = require_load_balancer_pick_first();
var load_balancer_round_robin = require_load_balancer_round_robin();
var load_balancer_outlier_detection = require_load_balancer_outlier_detection();
var channelz = require_channelz();
(() => {
resolver_dns.setup();
resolver_uds.setup();
resolver_ip.setup();
load_balancer_pick_first.setup();
load_balancer_round_robin.setup();
load_balancer_outlier_detection.setup();
channelz.setup();
})();
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/create-service-client-constructor.js
var require_create_service_client_constructor = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/create-service-client-constructor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createServiceClientConstructor = void 0;
var grpc3 = require_src11();
function createServiceClientConstructor(path101, name3) {
const serviceDefinition = {
export: {
path: path101,
requestStream: false,
responseStream: false,
requestSerialize: (arg) => {
return arg;
},
requestDeserialize: (arg) => {
return arg;
},
responseSerialize: (arg) => {
return arg;
},
responseDeserialize: (arg) => {
return arg;
}
}
};
return grpc3.makeGenericClientConstructor(serviceDefinition, name3);
}
exports2.createServiceClientConstructor = createServiceClientConstructor;
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.js
var require_grpc_exporter_transport = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createOtlpGrpcExporterTransport = exports2.GrpcExporterTransport = exports2.createEmptyMetadata = exports2.createSslCredentials = exports2.createInsecureCredentials = void 0;
var version_1 = require_version2();
var DEFAULT_USER_AGENT2 = `OTel-OTLP-Exporter-JavaScript/${version_1.VERSION}`;
function createUserAgent(userAgent) {
if (userAgent) {
return `${userAgent} ${DEFAULT_USER_AGENT2}`;
}
return DEFAULT_USER_AGENT2;
}
var GRPC_COMPRESSION_NONE = 0;
var GRPC_COMPRESSION_GZIP = 2;
function toGrpcCompression(compression) {
return compression === "gzip" ? GRPC_COMPRESSION_GZIP : GRPC_COMPRESSION_NONE;
}
function createInsecureCredentials() {
const {
credentials: credentials3
// eslint-disable-next-line @typescript-eslint/no-require-imports
} = require_src11();
return credentials3.createInsecure();
}
exports2.createInsecureCredentials = createInsecureCredentials;
function createSslCredentials(rootCert, privateKey, certChain) {
const {
credentials: credentials3
// eslint-disable-next-line @typescript-eslint/no-require-imports
} = require_src11();
return credentials3.createSsl(rootCert, privateKey, certChain);
}
exports2.createSslCredentials = createSslCredentials;
function createEmptyMetadata() {
const {
Metadata: Metadata2
// eslint-disable-next-line @typescript-eslint/no-require-imports
} = require_src11();
return new Metadata2();
}
exports2.createEmptyMetadata = createEmptyMetadata;
var GrpcExporterTransport = class {
_client;
_metadata;
_parameters;
constructor(parameters) {
this._parameters = parameters;
}
shutdown() {
this._client?.close();
}
send(data, timeoutMillis) {
const buffer = Buffer.from(data);
if (this._client == null) {
const {
createServiceClientConstructor
// eslint-disable-next-line @typescript-eslint/no-require-imports
} = require_create_service_client_constructor();
try {
this._metadata = this._parameters.metadata();
} catch (error40) {
return Promise.resolve({
status: "failure",
error: error40
});
}
const clientConstructor = createServiceClientConstructor(this._parameters.grpcPath, this._parameters.grpcName);
try {
this._client = new clientConstructor(this._parameters.address, this._parameters.credentials(), {
"grpc.default_compression_algorithm": toGrpcCompression(this._parameters.compression),
"grpc.primary_user_agent": createUserAgent(this._parameters.userAgent)
});
} catch (error40) {
return Promise.resolve({
status: "failure",
error: error40
});
}
}
return new Promise((resolve25) => {
const deadline = Date.now() + timeoutMillis;
if (this._metadata == null) {
return resolve25({
error: new Error("metadata was null"),
status: "failure"
});
}
this._client.export(buffer, this._metadata, { deadline }, (err2, response) => {
if (err2) {
resolve25({
status: "failure",
error: err2
});
} else {
resolve25({
data: response,
status: "success"
});
}
});
});
}
};
exports2.GrpcExporterTransport = GrpcExporterTransport;
function createOtlpGrpcExporterTransport(options) {
return new GrpcExporterTransport(options);
}
exports2.createOtlpGrpcExporterTransport = createOtlpGrpcExporterTransport;
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-configuration.js
var require_otlp_grpc_configuration = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-configuration.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getOtlpGrpcDefaultConfiguration = exports2.mergeOtlpGrpcConfigurationWithDefaults = exports2.validateAndNormalizeUrl = void 0;
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var grpc_exporter_transport_1 = require_grpc_exporter_transport();
var url_1 = __require("url");
var api_1 = (init_esm(), __toCommonJS(esm_exports));
function validateAndNormalizeUrl(url3) {
url3 = url3.trim();
const hasProtocol = url3.match(/^([\w]{1,8}):\/\//);
if (!hasProtocol) {
url3 = `https://${url3}`;
}
const target = new url_1.URL(url3);
if (target.protocol === "unix:") {
return url3;
}
if (target.pathname && target.pathname !== "/") {
api_1.diag.warn("URL path should not be set when using grpc, the path part of the URL will be ignored.");
}
if (target.protocol !== "" && !target.protocol?.match(/^(http)s?:$/)) {
api_1.diag.warn("URL protocol should be http(s)://. Using http://.");
}
return target.host;
}
exports2.validateAndNormalizeUrl = validateAndNormalizeUrl;
function overrideMetadataEntriesIfNotPresent(metadata2, additionalMetadata) {
for (const [key, value] of Object.entries(additionalMetadata.getMap())) {
if (metadata2.get(key).length < 1) {
metadata2.set(key, value);
}
}
}
function mergeOtlpGrpcConfigurationWithDefaults(userProvidedConfiguration, fallbackConfiguration, defaultConfiguration) {
const rawUrl = userProvidedConfiguration.url ?? fallbackConfiguration.url ?? defaultConfiguration.url;
return {
...(0, otlp_exporter_base_1.mergeOtlpSharedConfigurationWithDefaults)(userProvidedConfiguration, fallbackConfiguration, defaultConfiguration),
metadata: () => {
const metadata2 = defaultConfiguration.metadata();
overrideMetadataEntriesIfNotPresent(
metadata2,
// clone to ensure we don't modify what the user gave us in case they hold on to the returned reference
userProvidedConfiguration.metadata?.().clone() ?? (0, grpc_exporter_transport_1.createEmptyMetadata)()
);
overrideMetadataEntriesIfNotPresent(metadata2, fallbackConfiguration.metadata?.() ?? (0, grpc_exporter_transport_1.createEmptyMetadata)());
return metadata2;
},
url: validateAndNormalizeUrl(rawUrl),
credentials: userProvidedConfiguration.credentials ?? fallbackConfiguration.credentials?.(rawUrl) ?? defaultConfiguration.credentials(rawUrl),
userAgent: userProvidedConfiguration.userAgent
};
}
exports2.mergeOtlpGrpcConfigurationWithDefaults = mergeOtlpGrpcConfigurationWithDefaults;
function getOtlpGrpcDefaultConfiguration() {
return {
...(0, otlp_exporter_base_1.getSharedConfigurationDefaults)(),
metadata: () => (0, grpc_exporter_transport_1.createEmptyMetadata)(),
url: "http://localhost:4317",
credentials: (url3) => {
if (url3.startsWith("http://")) {
return () => (0, grpc_exporter_transport_1.createInsecureCredentials)();
} else {
return () => (0, grpc_exporter_transport_1.createSslCredentials)();
}
}
};
}
exports2.getOtlpGrpcDefaultConfiguration = getOtlpGrpcDefaultConfiguration;
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.js
function validateAndNormalizeHeaders(partialHeaders) {
const headers = {};
Object.entries(partialHeaders ?? {}).forEach(([key, value]) => {
if (typeof value !== "undefined") {
headers[key] = String(value);
} else {
diag.warn(`Header "${key}" has invalid value (${value}) and will be ignored`);
}
});
return headers;
}
var init_util = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/util.js"() {
init_esm();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.js
function mergeHeaders(userProvidedHeaders, fallbackHeaders, defaultHeaders) {
return async () => {
const requiredHeaders = {
...await defaultHeaders()
};
const headers = {};
if (fallbackHeaders != null) {
Object.assign(headers, await fallbackHeaders());
}
if (userProvidedHeaders != null) {
Object.assign(headers, validateAndNormalizeHeaders(await userProvidedHeaders()));
}
return Object.assign(headers, requiredHeaders);
};
}
function validateUserProvidedUrl(url3) {
if (url3 == null) {
return void 0;
}
try {
const base = globalThis.location?.href;
return new URL(url3, base).href;
} catch {
throw new Error(`Configuration: Could not parse user-provided export URL: '${url3}'`);
}
}
function mergeOtlpHttpConfigurationWithDefaults(userProvidedConfiguration, fallbackConfiguration, defaultConfiguration) {
return {
...mergeOtlpSharedConfigurationWithDefaults(userProvidedConfiguration, fallbackConfiguration, defaultConfiguration),
headers: mergeHeaders(userProvidedConfiguration.headers, fallbackConfiguration.headers, defaultConfiguration.headers),
url: validateUserProvidedUrl(userProvidedConfiguration.url) ?? fallbackConfiguration.url ?? defaultConfiguration.url
};
}
function getHttpConfigurationDefaults(requiredHeaders, signalResourcePath) {
return {
...getSharedConfigurationDefaults(),
headers: async () => requiredHeaders,
url: "http://localhost:4318/" + signalResourcePath
};
}
var init_otlp_http_configuration = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-configuration.js"() {
init_shared_configuration();
init_util();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-node-http-configuration.js
function httpAgentFactoryFromOptions(options) {
return async (protocol) => {
const isInsecure = protocol === "http:";
const module2 = isInsecure ? import("http") : import("https");
const { Agent: Agent2 } = await module2;
if (isInsecure) {
const { ca, cert, key, ...insecureOptions } = options;
return new Agent2(insecureOptions);
}
return new Agent2(options);
};
}
function mergeOtlpNodeHttpConfigurationWithDefaults(userProvidedConfiguration, fallbackConfiguration, defaultConfiguration) {
return {
...mergeOtlpHttpConfigurationWithDefaults(userProvidedConfiguration, fallbackConfiguration, defaultConfiguration),
agentFactory: userProvidedConfiguration.agentFactory ?? fallbackConfiguration.agentFactory ?? defaultConfiguration.agentFactory,
userAgent: userProvidedConfiguration.userAgent
};
}
function getNodeHttpConfigurationDefaults(requiredHeaders, signalResourcePath) {
return {
...getHttpConfigurationDefaults(requiredHeaders, signalResourcePath),
agentFactory: httpAgentFactoryFromOptions({ keepAlive: true })
};
}
var init_otlp_node_http_configuration = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-node-http-configuration.js"() {
init_otlp_http_configuration();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.js
function isExportHTTPErrorRetryable(statusCode) {
return statusCode === 429 || statusCode === 502 || statusCode === 503 || statusCode === 504;
}
function parseRetryAfterToMills(retryAfter) {
if (retryAfter == null) {
return void 0;
}
const seconds = Number.parseInt(retryAfter, 10);
if (Number.isInteger(seconds)) {
return seconds > 0 ? seconds * 1e3 : -1;
}
const delay3 = new Date(retryAfter).getTime() - Date.now();
if (delay3 >= 0) {
return delay3;
}
return 0;
}
var init_is_export_retryable = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/is-export-retryable.js"() {
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js
var VERSION;
var init_version2 = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js"() {
VERSION = "0.211.0";
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.js
import * as zlib from "zlib";
import { Readable } from "stream";
function sendWithHttp(request, url3, headers, compression, userAgent, agent, data, onDone, timeoutMillis) {
const parsedUrl = new URL(url3);
if (userAgent) {
headers["User-Agent"] = `${userAgent} ${DEFAULT_USER_AGENT}`;
} else {
headers["User-Agent"] = DEFAULT_USER_AGENT;
}
const options = {
hostname: parsedUrl.hostname,
port: parsedUrl.port,
path: parsedUrl.pathname,
method: "POST",
headers,
agent
};
const req = request(options, (res) => {
const responseData = [];
res.on("data", (chunk) => responseData.push(chunk));
res.on("end", () => {
if (res.statusCode && res.statusCode < 299) {
onDone({
status: "success",
data: Buffer.concat(responseData)
});
} else if (res.statusCode && isExportHTTPErrorRetryable(res.statusCode)) {
onDone({
status: "retryable",
retryInMillis: parseRetryAfterToMills(res.headers["retry-after"])
});
} else {
const error40 = new OTLPExporterError(res.statusMessage, res.statusCode, Buffer.concat(responseData).toString());
onDone({
status: "failure",
error: error40
});
}
});
});
req.setTimeout(timeoutMillis, () => {
req.destroy();
onDone({
status: "retryable",
error: new Error("Request timed out")
});
});
req.on("error", (error40) => {
if (isHttpTransportNetworkErrorRetryable(error40)) {
onDone({
status: "retryable",
error: error40
});
} else {
onDone({
status: "failure",
error: error40
});
}
});
compressAndSend(req, compression, data, (error40) => {
onDone({
status: "failure",
error: error40
});
});
}
function compressAndSend(req, compression, data, onError2) {
let dataStream = readableFromUint8Array(data);
if (compression === "gzip") {
req.setHeader("Content-Encoding", "gzip");
dataStream = dataStream.on("error", onError2).pipe(zlib.createGzip()).on("error", onError2);
}
dataStream.pipe(req).on("error", onError2);
}
function readableFromUint8Array(buff) {
const readable2 = new Readable();
readable2.push(buff);
readable2.push(null);
return readable2;
}
function isHttpTransportNetworkErrorRetryable(error40) {
const RETRYABLE_NETWORK_ERROR_CODES = /* @__PURE__ */ new Set([
"ECONNRESET",
"ECONNREFUSED",
"EPIPE",
"ETIMEDOUT",
"EAI_AGAIN",
"ENOTFOUND",
"ENETUNREACH",
"EHOSTUNREACH"
]);
if ("code" in error40 && typeof error40.code === "string") {
return RETRYABLE_NETWORK_ERROR_CODES.has(error40.code);
}
return false;
}
var DEFAULT_USER_AGENT;
var init_http_transport_utils = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-transport-utils.js"() {
init_is_export_retryable();
init_types();
init_version2();
DEFAULT_USER_AGENT = `OTel-OTLP-Exporter-JavaScript/${VERSION}`;
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-exporter-transport.js
async function requestFunctionFactory(protocol) {
const module2 = protocol === "http:" ? import("http") : import("https");
const { request } = await module2;
return request;
}
function createHttpExporterTransport(parameters) {
return new HttpExporterTransport(parameters);
}
var HttpExporterTransport;
var init_http_exporter_transport = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/transport/http-exporter-transport.js"() {
init_http_transport_utils();
HttpExporterTransport = class {
_utils = null;
_parameters;
constructor(parameters) {
this._parameters = parameters;
}
async send(data, timeoutMillis) {
const { agent, request } = await this._loadUtils();
const headers = await this._parameters.headers();
return new Promise((resolve25) => {
sendWithHttp(request, this._parameters.url, headers, this._parameters.compression, this._parameters.userAgent, agent, data, (result2) => {
resolve25(result2);
}, timeoutMillis);
});
}
shutdown() {
}
async _loadUtils() {
let utils = this._utils;
if (utils === null) {
const protocol = new URL(this._parameters.url).protocol;
const [agent, request] = await Promise.all([
this._parameters.agentFactory(protocol),
requestFunctionFactory(protocol)
]);
utils = this._utils = { agent, request };
}
return utils;
}
};
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/retrying-transport.js
function getJitter() {
return Math.random() * (2 * JITTER) - JITTER;
}
function createRetryingTransport(options) {
return new RetryingTransport(options.transport);
}
var MAX_ATTEMPTS, INITIAL_BACKOFF, MAX_BACKOFF, BACKOFF_MULTIPLIER, JITTER, RetryingTransport;
var init_retrying_transport = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/retrying-transport.js"() {
init_esm();
MAX_ATTEMPTS = 5;
INITIAL_BACKOFF = 1e3;
MAX_BACKOFF = 5e3;
BACKOFF_MULTIPLIER = 1.5;
JITTER = 0.2;
RetryingTransport = class {
_transport;
constructor(transport) {
this._transport = transport;
}
retry(data, timeoutMillis, inMillis) {
return new Promise((resolve25, reject) => {
setTimeout(() => {
this._transport.send(data, timeoutMillis).then(resolve25, reject);
}, inMillis);
});
}
async send(data, timeoutMillis) {
let attempts = MAX_ATTEMPTS;
let nextBackoff = INITIAL_BACKOFF;
const deadline = Date.now() + timeoutMillis;
let result2 = await this._transport.send(data, timeoutMillis);
while (result2.status === "retryable" && attempts > 0) {
attempts--;
const backoff = Math.max(Math.min(nextBackoff * (1 + getJitter()), MAX_BACKOFF), 0);
nextBackoff = nextBackoff * BACKOFF_MULTIPLIER;
const retryInMillis = result2.retryInMillis ?? backoff;
const remainingTimeoutMillis = deadline - Date.now();
if (retryInMillis > remainingTimeoutMillis) {
diag.info(`Export retry time ${Math.round(retryInMillis)}ms exceeds remaining timeout ${Math.round(remainingTimeoutMillis)}ms, not retrying further.`);
return result2;
}
diag.verbose(`Scheduling export retry in ${Math.round(retryInMillis)}ms`);
result2 = await this.retry(data, remainingTimeoutMillis, retryInMillis);
}
if (result2.status === "success") {
diag.verbose(`Export succeeded after ${MAX_ATTEMPTS - attempts} retry attempts.`);
} else if (result2.status === "retryable") {
diag.info(`Export failed after maximum retry attempts (${MAX_ATTEMPTS}).`);
} else {
diag.info(`Export failed with non-retryable error: ${result2.error}`);
}
return result2;
}
shutdown() {
return this._transport.shutdown();
}
};
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-http-export-delegate.js
function createOtlpHttpExportDelegate(options, serializer) {
return createOtlpExportDelegate({
transport: createRetryingTransport({
transport: createHttpExporterTransport(options)
}),
serializer,
promiseHandler: createBoundedQueueExportPromiseHandler(options)
}, { timeout: options.timeoutMillis });
}
var init_otlp_http_export_delegate = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-http-export-delegate.js"() {
init_otlp_export_delegate();
init_http_exporter_transport();
init_bounded_queue_export_promise_handler();
init_retrying_transport();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-env-configuration.js
function parseAndValidateTimeoutFromEnv(timeoutEnvVar) {
const envTimeout = (0, import_core2.getNumberFromEnv)(timeoutEnvVar);
if (envTimeout != null) {
if (Number.isFinite(envTimeout) && envTimeout > 0) {
return envTimeout;
}
diag.warn(`Configuration: ${timeoutEnvVar} is invalid, expected number greater than 0 (actual: ${envTimeout})`);
}
return void 0;
}
function getTimeoutFromEnv(signalIdentifier) {
const specificTimeout = parseAndValidateTimeoutFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_TIMEOUT`);
const nonSpecificTimeout = parseAndValidateTimeoutFromEnv("OTEL_EXPORTER_OTLP_TIMEOUT");
return specificTimeout ?? nonSpecificTimeout;
}
function parseAndValidateCompressionFromEnv(compressionEnvVar) {
const compression = (0, import_core2.getStringFromEnv)(compressionEnvVar)?.trim();
if (compression == null || compression === "none" || compression === "gzip") {
return compression;
}
diag.warn(`Configuration: ${compressionEnvVar} is invalid, expected 'none' or 'gzip' (actual: '${compression}')`);
return void 0;
}
function getCompressionFromEnv(signalIdentifier) {
const specificCompression = parseAndValidateCompressionFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_COMPRESSION`);
const nonSpecificCompression = parseAndValidateCompressionFromEnv("OTEL_EXPORTER_OTLP_COMPRESSION");
return specificCompression ?? nonSpecificCompression;
}
function getSharedConfigurationFromEnvironment(signalIdentifier) {
return {
timeoutMillis: getTimeoutFromEnv(signalIdentifier),
compression: getCompressionFromEnv(signalIdentifier)
};
}
var import_core2;
var init_shared_env_configuration = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/shared-env-configuration.js"() {
import_core2 = __toESM(require_src8());
init_esm();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-node-http-env-configuration.js
import * as fs21 from "fs";
import * as path18 from "path";
function getStaticHeadersFromEnv(signalIdentifier) {
const signalSpecificRawHeaders = (0, import_core3.getStringFromEnv)(`OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS`);
const nonSignalSpecificRawHeaders = (0, import_core3.getStringFromEnv)("OTEL_EXPORTER_OTLP_HEADERS");
const signalSpecificHeaders = (0, import_core3.parseKeyPairsIntoRecord)(signalSpecificRawHeaders);
const nonSignalSpecificHeaders = (0, import_core3.parseKeyPairsIntoRecord)(nonSignalSpecificRawHeaders);
if (Object.keys(signalSpecificHeaders).length === 0 && Object.keys(nonSignalSpecificHeaders).length === 0) {
return void 0;
}
return Object.assign({}, (0, import_core3.parseKeyPairsIntoRecord)(nonSignalSpecificRawHeaders), (0, import_core3.parseKeyPairsIntoRecord)(signalSpecificRawHeaders));
}
function appendRootPathToUrlIfNeeded(url3) {
try {
const parsedUrl = new URL(url3);
return parsedUrl.toString();
} catch {
diag.warn(`Configuration: Could not parse environment-provided export URL: '${url3}', falling back to undefined`);
return void 0;
}
}
function appendResourcePathToUrl(url3, path101) {
try {
new URL(url3);
} catch {
diag.warn(`Configuration: Could not parse environment-provided export URL: '${url3}', falling back to undefined`);
return void 0;
}
if (!url3.endsWith("/")) {
url3 = url3 + "/";
}
url3 += path101;
try {
new URL(url3);
} catch {
diag.warn(`Configuration: Provided URL appended with '${path101}' is not a valid URL, using 'undefined' instead of '${url3}'`);
return void 0;
}
return url3;
}
function getNonSpecificUrlFromEnv(signalResourcePath) {
const envUrl = (0, import_core3.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT");
if (envUrl === void 0) {
return void 0;
}
return appendResourcePathToUrl(envUrl, signalResourcePath);
}
function getSpecificUrlFromEnv(signalIdentifier) {
const envUrl = (0, import_core3.getStringFromEnv)(`OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT`);
if (envUrl === void 0) {
return void 0;
}
return appendRootPathToUrlIfNeeded(envUrl);
}
function readFileFromEnv(signalSpecificEnvVar, nonSignalSpecificEnvVar, warningMessage) {
const signalSpecificPath = (0, import_core3.getStringFromEnv)(signalSpecificEnvVar);
const nonSignalSpecificPath = (0, import_core3.getStringFromEnv)(nonSignalSpecificEnvVar);
const filePath = signalSpecificPath ?? nonSignalSpecificPath;
if (filePath != null) {
try {
return fs21.readFileSync(path18.resolve(process.cwd(), filePath));
} catch {
diag.warn(warningMessage);
return void 0;
}
} else {
return void 0;
}
}
function getClientCertificateFromEnv(signalIdentifier) {
return readFileFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_CLIENT_CERTIFICATE`, "OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE", "Failed to read client certificate chain file");
}
function getClientKeyFromEnv(signalIdentifier) {
return readFileFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_CLIENT_KEY`, "OTEL_EXPORTER_OTLP_CLIENT_KEY", "Failed to read client certificate private key file");
}
function getRootCertificateFromEnv(signalIdentifier) {
return readFileFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_CERTIFICATE`, "OTEL_EXPORTER_OTLP_CERTIFICATE", "Failed to read root certificate file");
}
function getNodeHttpConfigurationFromEnvironment(signalIdentifier, signalResourcePath) {
return {
...getSharedConfigurationFromEnvironment(signalIdentifier),
url: getSpecificUrlFromEnv(signalIdentifier) ?? getNonSpecificUrlFromEnv(signalResourcePath),
headers: wrapStaticHeadersInFunction(getStaticHeadersFromEnv(signalIdentifier)),
agentFactory: httpAgentFactoryFromOptions({
keepAlive: true,
ca: getRootCertificateFromEnv(signalIdentifier),
cert: getClientCertificateFromEnv(signalIdentifier),
key: getClientKeyFromEnv(signalIdentifier)
})
};
}
var import_core3;
var init_otlp_node_http_env_configuration = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-node-http-env-configuration.js"() {
import_core3 = __toESM(require_src8());
init_esm();
init_shared_env_configuration();
init_shared_configuration();
init_otlp_node_http_configuration();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.js
function convertLegacyHeaders(config2) {
if (typeof config2.headers === "function") {
return config2.headers;
}
return wrapStaticHeadersInFunction(config2.headers);
}
var init_convert_legacy_http_options = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-http-options.js"() {
init_shared_configuration();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-node-http-options.js
function convertLegacyAgentOptions(config2) {
if (typeof config2.httpAgentOptions === "function") {
return config2.httpAgentOptions;
}
let legacy = config2.httpAgentOptions;
if (config2.keepAlive != null) {
legacy = { keepAlive: config2.keepAlive, ...legacy };
}
if (legacy != null) {
return httpAgentFactoryFromOptions(legacy);
} else {
return void 0;
}
}
function convertLegacyHttpOptions(config2, signalIdentifier, signalResourcePath, requiredHeaders) {
if (config2.metadata) {
diag.warn("Metadata cannot be set when using http");
}
return mergeOtlpNodeHttpConfigurationWithDefaults({
url: config2.url,
headers: convertLegacyHeaders(config2),
concurrencyLimit: config2.concurrencyLimit,
timeoutMillis: config2.timeoutMillis,
compression: config2.compression,
agentFactory: convertLegacyAgentOptions(config2),
userAgent: config2.userAgent
}, getNodeHttpConfigurationFromEnvironment(signalIdentifier, signalResourcePath), getNodeHttpConfigurationDefaults(requiredHeaders, signalResourcePath));
}
var init_convert_legacy_node_http_options = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/convert-legacy-node-http-options.js"() {
init_esm();
init_otlp_node_http_configuration();
init_index_node_http();
init_otlp_node_http_env_configuration();
init_convert_legacy_http_options();
}
});
// node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-node-http.js
var index_node_http_exports = {};
__export(index_node_http_exports, {
convertLegacyHttpOptions: () => convertLegacyHttpOptions,
createOtlpHttpExportDelegate: () => createOtlpHttpExportDelegate,
getSharedConfigurationFromEnvironment: () => getSharedConfigurationFromEnvironment,
httpAgentFactoryFromOptions: () => httpAgentFactoryFromOptions
});
var init_index_node_http = __esm({
"node_modules/@opentelemetry/otlp-exporter-base/build/esm/index-node-http.js"() {
init_otlp_node_http_configuration();
init_otlp_http_export_delegate();
init_shared_env_configuration();
init_convert_legacy_node_http_options();
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-env-configuration.js
var require_otlp_grpc_env_configuration = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-env-configuration.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getOtlpGrpcConfigurationFromEnv = void 0;
var core_1 = require_src8();
var grpc_exporter_transport_1 = require_grpc_exporter_transport();
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
var fs84 = __require("fs");
var path101 = __require("path");
var api_1 = (init_esm(), __toCommonJS(esm_exports));
function fallbackIfNullishOrBlank(signalSpecific, nonSignalSpecific) {
if (signalSpecific != null && signalSpecific !== "") {
return signalSpecific;
}
if (nonSignalSpecific != null && nonSignalSpecific !== "") {
return nonSignalSpecific;
}
return void 0;
}
function getMetadataFromEnv(signalIdentifier) {
const signalSpecificRawHeaders = process.env[`OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS`]?.trim();
const nonSignalSpecificRawHeaders = process.env["OTEL_EXPORTER_OTLP_HEADERS"]?.trim();
const signalSpecificHeaders = (0, core_1.parseKeyPairsIntoRecord)(signalSpecificRawHeaders);
const nonSignalSpecificHeaders = (0, core_1.parseKeyPairsIntoRecord)(nonSignalSpecificRawHeaders);
if (Object.keys(signalSpecificHeaders).length === 0 && Object.keys(nonSignalSpecificHeaders).length === 0) {
return void 0;
}
const mergeHeaders2 = Object.assign({}, nonSignalSpecificHeaders, signalSpecificHeaders);
const metadata2 = (0, grpc_exporter_transport_1.createEmptyMetadata)();
for (const [key, value] of Object.entries(mergeHeaders2)) {
metadata2.set(key, value);
}
return metadata2;
}
function getMetadataProviderFromEnv(signalIdentifier) {
const metadata2 = getMetadataFromEnv(signalIdentifier);
if (metadata2 == null) {
return void 0;
}
return () => metadata2;
}
function getUrlFromEnv(signalIdentifier) {
const specificEndpoint = process.env[`OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT`]?.trim();
const nonSpecificEndpoint = process.env[`OTEL_EXPORTER_OTLP_ENDPOINT`]?.trim();
return fallbackIfNullishOrBlank(specificEndpoint, nonSpecificEndpoint);
}
function getInsecureSettingFromEnv(signalIdentifier) {
const signalSpecificInsecureValue = process.env[`OTEL_EXPORTER_OTLP_${signalIdentifier}_INSECURE`]?.toLowerCase().trim();
const nonSignalSpecificInsecureValue = process.env[`OTEL_EXPORTER_OTLP_INSECURE`]?.toLowerCase().trim();
return fallbackIfNullishOrBlank(signalSpecificInsecureValue, nonSignalSpecificInsecureValue) === "true";
}
function readFileFromEnv2(signalSpecificEnvVar, nonSignalSpecificEnvVar, warningMessage) {
const signalSpecificPath = process.env[signalSpecificEnvVar]?.trim();
const nonSignalSpecificPath = process.env[nonSignalSpecificEnvVar]?.trim();
const filePath = fallbackIfNullishOrBlank(signalSpecificPath, nonSignalSpecificPath);
if (filePath != null) {
try {
return fs84.readFileSync(path101.resolve(process.cwd(), filePath));
} catch {
api_1.diag.warn(warningMessage);
return void 0;
}
} else {
return void 0;
}
}
function getClientCertificateFromEnv2(signalIdentifier) {
return readFileFromEnv2(`OTEL_EXPORTER_OTLP_${signalIdentifier}_CLIENT_CERTIFICATE`, "OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE", "Failed to read client certificate chain file");
}
function getClientKeyFromEnv2(signalIdentifier) {
return readFileFromEnv2(`OTEL_EXPORTER_OTLP_${signalIdentifier}_CLIENT_KEY`, "OTEL_EXPORTER_OTLP_CLIENT_KEY", "Failed to read client certificate private key file");
}
function getRootCertificateFromEnv2(signalIdentifier) {
return readFileFromEnv2(`OTEL_EXPORTER_OTLP_${signalIdentifier}_CERTIFICATE`, "OTEL_EXPORTER_OTLP_CERTIFICATE", "Failed to read root certificate file");
}
function getCredentialsFromEnvIgnoreInsecure(signalIdentifier) {
const clientKey = getClientKeyFromEnv2(signalIdentifier);
const clientCertificate = getClientCertificateFromEnv2(signalIdentifier);
const rootCertificate = getRootCertificateFromEnv2(signalIdentifier);
const clientChainIntact = clientKey != null && clientCertificate != null;
if (rootCertificate != null && !clientChainIntact) {
api_1.diag.warn("Client key and certificate must both be provided, but one was missing - attempting to create credentials from just the root certificate");
return (0, grpc_exporter_transport_1.createSslCredentials)(getRootCertificateFromEnv2(signalIdentifier));
}
return (0, grpc_exporter_transport_1.createSslCredentials)(rootCertificate, clientKey, clientCertificate);
}
function getCredentialsFromEnv(signalIdentifier) {
if (getInsecureSettingFromEnv(signalIdentifier)) {
return (0, grpc_exporter_transport_1.createInsecureCredentials)();
}
return getCredentialsFromEnvIgnoreInsecure(signalIdentifier);
}
function getOtlpGrpcConfigurationFromEnv(signalIdentifier) {
return {
...(0, node_http_1.getSharedConfigurationFromEnvironment)(signalIdentifier),
metadata: getMetadataProviderFromEnv(signalIdentifier),
url: getUrlFromEnv(signalIdentifier),
credentials: (finalResolvedUrl) => {
if (finalResolvedUrl.startsWith("http://")) {
return () => {
return (0, grpc_exporter_transport_1.createInsecureCredentials)();
};
} else if (finalResolvedUrl.startsWith("https://")) {
return () => {
return getCredentialsFromEnvIgnoreInsecure(signalIdentifier);
};
}
return () => {
return getCredentialsFromEnv(signalIdentifier);
};
}
};
}
exports2.getOtlpGrpcConfigurationFromEnv = getOtlpGrpcConfigurationFromEnv;
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/convert-legacy-otlp-grpc-options.js
var require_convert_legacy_otlp_grpc_options = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/convert-legacy-otlp-grpc-options.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.convertLegacyOtlpGrpcOptions = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var otlp_grpc_configuration_1 = require_otlp_grpc_configuration();
var grpc_exporter_transport_1 = require_grpc_exporter_transport();
var otlp_grpc_env_configuration_1 = require_otlp_grpc_env_configuration();
function convertLegacyOtlpGrpcOptions(config2, signalIdentifier) {
if (config2.headers) {
api_1.diag.warn("Headers cannot be set when using grpc");
}
const userProvidedCredentials = config2.credentials;
return (0, otlp_grpc_configuration_1.mergeOtlpGrpcConfigurationWithDefaults)({
url: config2.url,
metadata: () => {
return config2.metadata ?? (0, grpc_exporter_transport_1.createEmptyMetadata)();
},
compression: config2.compression,
timeoutMillis: config2.timeoutMillis,
concurrencyLimit: config2.concurrencyLimit,
credentials: userProvidedCredentials != null ? () => userProvidedCredentials : void 0,
userAgent: config2.userAgent
}, (0, otlp_grpc_env_configuration_1.getOtlpGrpcConfigurationFromEnv)(signalIdentifier), (0, otlp_grpc_configuration_1.getOtlpGrpcDefaultConfiguration)());
}
exports2.convertLegacyOtlpGrpcOptions = convertLegacyOtlpGrpcOptions;
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/otlp-grpc-export-delegate.js
var require_otlp_grpc_export_delegate = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/otlp-grpc-export-delegate.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createOtlpGrpcExportDelegate = void 0;
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var grpc_exporter_transport_1 = require_grpc_exporter_transport();
function createOtlpGrpcExportDelegate(options, serializer, grpcName, grpcPath) {
return (0, otlp_exporter_base_1.createOtlpNetworkExportDelegate)(options, serializer, (0, grpc_exporter_transport_1.createOtlpGrpcExporterTransport)({
address: options.url,
compression: options.compression,
credentials: options.credentials,
metadata: options.metadata,
userAgent: options.userAgent,
grpcName,
grpcPath
}));
}
exports2.createOtlpGrpcExportDelegate = createOtlpGrpcExportDelegate;
}
});
// node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.js
var require_src12 = __commonJS({
"node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createOtlpGrpcExportDelegate = exports2.convertLegacyOtlpGrpcOptions = void 0;
var convert_legacy_otlp_grpc_options_1 = require_convert_legacy_otlp_grpc_options();
Object.defineProperty(exports2, "convertLegacyOtlpGrpcOptions", { enumerable: true, get: function() {
return convert_legacy_otlp_grpc_options_1.convertLegacyOtlpGrpcOptions;
} });
var otlp_grpc_export_delegate_1 = require_otlp_grpc_export_delegate();
Object.defineProperty(exports2, "createOtlpGrpcExportDelegate", { enumerable: true, get: function() {
return otlp_grpc_export_delegate_1.createOtlpGrpcExportDelegate;
} });
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/util/longbits.js
var require_longbits2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/util/longbits.js"(exports2, module2) {
"use strict";
module2.exports = LongBits;
var util2 = require_minimal2();
function LongBits(lo, hi) {
this.lo = lo >>> 0;
this.hi = hi >>> 0;
}
var zero = LongBits.zero = new LongBits(0, 0);
zero.toNumber = function() {
return 0;
};
zero.zzEncode = zero.zzDecode = function() {
return this;
};
zero.length = function() {
return 1;
};
var zeroHash = LongBits.zeroHash = "\0\0\0\0\0\0\0\0";
LongBits.fromNumber = function fromNumber(value) {
if (value === 0)
return zero;
var sign = value < 0;
if (sign)
value = -value;
var lo = value >>> 0, hi = (value - lo) / 4294967296 >>> 0;
if (sign) {
hi = ~hi >>> 0;
lo = ~lo >>> 0;
if (++lo > 4294967295) {
lo = 0;
if (++hi > 4294967295)
hi = 0;
}
}
return new LongBits(lo, hi);
};
LongBits.from = function from(value) {
if (typeof value === "number")
return LongBits.fromNumber(value);
if (util2.isString(value)) {
if (util2.Long)
value = util2.Long.fromString(value);
else
return LongBits.fromNumber(parseInt(value, 10));
}
return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;
};
LongBits.prototype.toNumber = function toNumber2(unsigned) {
if (!unsigned && this.hi >>> 31) {
var lo = ~this.lo + 1 >>> 0, hi = ~this.hi >>> 0;
if (!lo)
hi = hi + 1 >>> 0;
return -(lo + hi * 4294967296);
}
return this.lo + this.hi * 4294967296;
};
LongBits.prototype.toLong = function toLong(unsigned) {
return util2.Long ? new util2.Long(this.lo | 0, this.hi | 0, Boolean(unsigned)) : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };
};
var charCodeAt = String.prototype.charCodeAt;
LongBits.fromHash = function fromHash(hash) {
if (hash === zeroHash)
return zero;
return new LongBits(
(charCodeAt.call(hash, 0) | charCodeAt.call(hash, 1) << 8 | charCodeAt.call(hash, 2) << 16 | charCodeAt.call(hash, 3) << 24) >>> 0,
(charCodeAt.call(hash, 4) | charCodeAt.call(hash, 5) << 8 | charCodeAt.call(hash, 6) << 16 | charCodeAt.call(hash, 7) << 24) >>> 0
);
};
LongBits.prototype.toHash = function toHash() {
return String.fromCharCode(
this.lo & 255,
this.lo >>> 8 & 255,
this.lo >>> 16 & 255,
this.lo >>> 24,
this.hi & 255,
this.hi >>> 8 & 255,
this.hi >>> 16 & 255,
this.hi >>> 24
);
};
LongBits.prototype.zzEncode = function zzEncode() {
var mask = this.hi >> 31;
this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;
this.lo = (this.lo << 1 ^ mask) >>> 0;
return this;
};
LongBits.prototype.zzDecode = function zzDecode() {
var mask = -(this.lo & 1);
this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;
this.hi = (this.hi >>> 1 ^ mask) >>> 0;
return this;
};
LongBits.prototype.length = function length() {
var part0 = this.lo, part1 = (this.lo >>> 28 | this.hi << 4) >>> 0, part2 = this.hi >>> 24;
return part2 === 0 ? part1 === 0 ? part0 < 16384 ? part0 < 128 ? 1 : 2 : part0 < 2097152 ? 3 : 4 : part1 < 16384 ? part1 < 128 ? 5 : 6 : part1 < 2097152 ? 7 : 8 : part2 < 128 ? 9 : 10;
};
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/util/minimal.js
var require_minimal2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/util/minimal.js"(exports2) {
"use strict";
var util2 = exports2;
util2.asPromise = require_aspromise();
util2.base64 = require_base64();
util2.EventEmitter = require_eventemitter();
util2.float = require_float();
util2.inquire = require_inquire();
util2.utf8 = require_utf8();
util2.pool = require_pool();
util2.LongBits = require_longbits2();
util2.isNode = Boolean(typeof global !== "undefined" && global && global.process && global.process.versions && global.process.versions.node);
util2.global = util2.isNode && global || typeof window !== "undefined" && window || typeof self !== "undefined" && self || exports2;
util2.emptyArray = Object.freeze ? Object.freeze([]) : (
/* istanbul ignore next */
[]
);
util2.emptyObject = Object.freeze ? Object.freeze({}) : (
/* istanbul ignore next */
{}
);
util2.isInteger = Number.isInteger || /* istanbul ignore next */
function isInteger3(value) {
return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
};
util2.isString = function isString2(value) {
return typeof value === "string" || value instanceof String;
};
util2.isObject = function isObject6(value) {
return value && typeof value === "object";
};
util2.isset = /**
* Checks if a property on a message is considered to be present.
* @param {Object} obj Plain object or message instance
* @param {string} prop Property name
* @returns {boolean} `true` if considered to be present, otherwise `false`
*/
util2.isSet = function isSet2(obj, prop) {
var value = obj[prop];
if (value != null && obj.hasOwnProperty(prop))
return typeof value !== "object" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;
return false;
};
util2.Buffer = function() {
try {
var Buffer6 = util2.inquire("buffer").Buffer;
return Buffer6.prototype.utf8Write ? Buffer6 : (
/* istanbul ignore next */
null
);
} catch (e2) {
return null;
}
}();
util2._Buffer_from = null;
util2._Buffer_allocUnsafe = null;
util2.newBuffer = function newBuffer(sizeOrArray) {
return typeof sizeOrArray === "number" ? util2.Buffer ? util2._Buffer_allocUnsafe(sizeOrArray) : new util2.Array(sizeOrArray) : util2.Buffer ? util2._Buffer_from(sizeOrArray) : typeof Uint8Array === "undefined" ? sizeOrArray : new Uint8Array(sizeOrArray);
};
util2.Array = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
util2.Long = /* istanbul ignore next */
util2.global.dcodeIO && /* istanbul ignore next */
util2.global.dcodeIO.Long || /* istanbul ignore next */
util2.global.Long || util2.inquire("long");
util2.key2Re = /^true|false|0|1$/;
util2.key32Re = /^-?(?:0|[1-9][0-9]*)$/;
util2.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;
util2.longToHash = function longToHash(value) {
return value ? util2.LongBits.from(value).toHash() : util2.LongBits.zeroHash;
};
util2.longFromHash = function longFromHash(hash, unsigned) {
var bits = util2.LongBits.fromHash(hash);
if (util2.Long)
return util2.Long.fromBits(bits.lo, bits.hi, unsigned);
return bits.toNumber(Boolean(unsigned));
};
function merge4(dst, src, ifNotSet) {
for (var keys = Object.keys(src), i3 = 0; i3 < keys.length; ++i3)
if (dst[keys[i3]] === void 0 || !ifNotSet)
dst[keys[i3]] = src[keys[i3]];
return dst;
}
util2.merge = merge4;
util2.lcFirst = function lcFirst(str2) {
return str2.charAt(0).toLowerCase() + str2.substring(1);
};
function newError(name3) {
function CustomError(message, properties) {
if (!(this instanceof CustomError))
return new CustomError(message, properties);
Object.defineProperty(this, "message", { get: function() {
return message;
} });
if (Error.captureStackTrace)
Error.captureStackTrace(this, CustomError);
else
Object.defineProperty(this, "stack", { value: new Error().stack || "" });
if (properties)
merge4(this, properties);
}
CustomError.prototype = Object.create(Error.prototype, {
constructor: {
value: CustomError,
writable: true,
enumerable: false,
configurable: true
},
name: {
get: function get2() {
return name3;
},
set: void 0,
enumerable: false,
// configurable: false would accurately preserve the behavior of
// the original, but I'm guessing that was not intentional.
// For an actual error subclass, this property would
// be configurable.
configurable: true
},
toString: {
value: function value() {
return this.name + ": " + this.message;
},
writable: true,
enumerable: false,
configurable: true
}
});
return CustomError;
}
util2.newError = newError;
util2.ProtocolError = newError("ProtocolError");
util2.oneOfGetter = function getOneOf(fieldNames) {
var fieldMap = {};
for (var i3 = 0; i3 < fieldNames.length; ++i3)
fieldMap[fieldNames[i3]] = 1;
return function() {
for (var keys = Object.keys(this), i4 = keys.length - 1; i4 > -1; --i4)
if (fieldMap[keys[i4]] === 1 && this[keys[i4]] !== void 0 && this[keys[i4]] !== null)
return keys[i4];
};
};
util2.oneOfSetter = function setOneOf(fieldNames) {
return function(name3) {
for (var i3 = 0; i3 < fieldNames.length; ++i3)
if (fieldNames[i3] !== name3)
delete this[fieldNames[i3]];
};
};
util2.toJSONOptions = {
longs: String,
enums: String,
bytes: String,
json: true
};
util2._configure = function() {
var Buffer6 = util2.Buffer;
if (!Buffer6) {
util2._Buffer_from = util2._Buffer_allocUnsafe = null;
return;
}
util2._Buffer_from = Buffer6.from !== Uint8Array.from && Buffer6.from || /* istanbul ignore next */
function Buffer_from(value, encoding) {
return new Buffer6(value, encoding);
};
util2._Buffer_allocUnsafe = Buffer6.allocUnsafe || /* istanbul ignore next */
function Buffer_allocUnsafe(size) {
return new Buffer6(size);
};
};
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/writer.js
var require_writer2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/writer.js"(exports2, module2) {
"use strict";
module2.exports = Writer;
var util2 = require_minimal2();
var BufferWriter;
var LongBits = util2.LongBits;
var base643 = util2.base64;
var utf8 = util2.utf8;
function Op(fn, len, val) {
this.fn = fn;
this.len = len;
this.next = void 0;
this.val = val;
}
function noop4() {
}
function State3(writer) {
this.head = writer.head;
this.tail = writer.tail;
this.len = writer.len;
this.next = writer.states;
}
function Writer() {
this.len = 0;
this.head = new Op(noop4, 0, 0);
this.tail = this.head;
this.states = null;
}
var create = function create2() {
return util2.Buffer ? function create_buffer_setup() {
return (Writer.create = function create_buffer() {
return new BufferWriter();
})();
} : function create_array() {
return new Writer();
};
};
Writer.create = create();
Writer.alloc = function alloc(size) {
return new util2.Array(size);
};
if (util2.Array !== Array)
Writer.alloc = util2.pool(Writer.alloc, util2.Array.prototype.subarray);
Writer.prototype._push = function push(fn, len, val) {
this.tail = this.tail.next = new Op(fn, len, val);
this.len += len;
return this;
};
function writeByte(val, buf, pos) {
buf[pos] = val & 255;
}
function writeVarint32(val, buf, pos) {
while (val > 127) {
buf[pos++] = val & 127 | 128;
val >>>= 7;
}
buf[pos] = val;
}
function VarintOp(len, val) {
this.len = len;
this.next = void 0;
this.val = val;
}
VarintOp.prototype = Object.create(Op.prototype);
VarintOp.prototype.fn = writeVarint32;
Writer.prototype.uint32 = function write_uint32(value) {
this.len += (this.tail = this.tail.next = new VarintOp(
(value = value >>> 0) < 128 ? 1 : value < 16384 ? 2 : value < 2097152 ? 3 : value < 268435456 ? 4 : 5,
value
)).len;
return this;
};
Writer.prototype.int32 = function write_int32(value) {
return value < 0 ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) : this.uint32(value);
};
Writer.prototype.sint32 = function write_sint32(value) {
return this.uint32((value << 1 ^ value >> 31) >>> 0);
};
function writeVarint64(val, buf, pos) {
while (val.hi) {
buf[pos++] = val.lo & 127 | 128;
val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;
val.hi >>>= 7;
}
while (val.lo > 127) {
buf[pos++] = val.lo & 127 | 128;
val.lo = val.lo >>> 7;
}
buf[pos++] = val.lo;
}
Writer.prototype.uint64 = function write_uint64(value) {
var bits = LongBits.from(value);
return this._push(writeVarint64, bits.length(), bits);
};
Writer.prototype.int64 = Writer.prototype.uint64;
Writer.prototype.sint64 = function write_sint64(value) {
var bits = LongBits.from(value).zzEncode();
return this._push(writeVarint64, bits.length(), bits);
};
Writer.prototype.bool = function write_bool(value) {
return this._push(writeByte, 1, value ? 1 : 0);
};
function writeFixed32(val, buf, pos) {
buf[pos] = val & 255;
buf[pos + 1] = val >>> 8 & 255;
buf[pos + 2] = val >>> 16 & 255;
buf[pos + 3] = val >>> 24;
}
Writer.prototype.fixed32 = function write_fixed32(value) {
return this._push(writeFixed32, 4, value >>> 0);
};
Writer.prototype.sfixed32 = Writer.prototype.fixed32;
Writer.prototype.fixed64 = function write_fixed64(value) {
var bits = LongBits.from(value);
return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);
};
Writer.prototype.sfixed64 = Writer.prototype.fixed64;
Writer.prototype.float = function write_float(value) {
return this._push(util2.float.writeFloatLE, 4, value);
};
Writer.prototype.double = function write_double(value) {
return this._push(util2.float.writeDoubleLE, 8, value);
};
var writeBytes = util2.Array.prototype.set ? function writeBytes_set(val, buf, pos) {
buf.set(val, pos);
} : function writeBytes_for(val, buf, pos) {
for (var i3 = 0; i3 < val.length; ++i3)
buf[pos + i3] = val[i3];
};
Writer.prototype.bytes = function write_bytes(value) {
var len = value.length >>> 0;
if (!len)
return this._push(writeByte, 1, 0);
if (util2.isString(value)) {
var buf = Writer.alloc(len = base643.length(value));
base643.decode(value, buf, 0);
value = buf;
}
return this.uint32(len)._push(writeBytes, len, value);
};
Writer.prototype.string = function write_string(value) {
var len = utf8.length(value);
return len ? this.uint32(len)._push(utf8.write, len, value) : this._push(writeByte, 1, 0);
};
Writer.prototype.fork = function fork() {
this.states = new State3(this);
this.head = this.tail = new Op(noop4, 0, 0);
this.len = 0;
return this;
};
Writer.prototype.reset = function reset2() {
if (this.states) {
this.head = this.states.head;
this.tail = this.states.tail;
this.len = this.states.len;
this.states = this.states.next;
} else {
this.head = this.tail = new Op(noop4, 0, 0);
this.len = 0;
}
return this;
};
Writer.prototype.ldelim = function ldelim() {
var head = this.head, tail = this.tail, len = this.len;
this.reset().uint32(len);
if (len) {
this.tail.next = head.next;
this.tail = tail;
this.len += len;
}
return this;
};
Writer.prototype.finish = function finish() {
var head = this.head.next, buf = this.constructor.alloc(this.len), pos = 0;
while (head) {
head.fn(head.val, buf, pos);
pos += head.len;
head = head.next;
}
return buf;
};
Writer._configure = function(BufferWriter_) {
BufferWriter = BufferWriter_;
Writer.create = create();
BufferWriter._configure();
};
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/writer_buffer.js
var require_writer_buffer2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/writer_buffer.js"(exports2, module2) {
"use strict";
module2.exports = BufferWriter;
var Writer = require_writer2();
(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;
var util2 = require_minimal2();
function BufferWriter() {
Writer.call(this);
}
BufferWriter._configure = function() {
BufferWriter.alloc = util2._Buffer_allocUnsafe;
BufferWriter.writeBytesBuffer = util2.Buffer && util2.Buffer.prototype instanceof Uint8Array && util2.Buffer.prototype.set.name === "set" ? function writeBytesBuffer_set(val, buf, pos) {
buf.set(val, pos);
} : function writeBytesBuffer_copy(val, buf, pos) {
if (val.copy)
val.copy(buf, pos, 0, val.length);
else for (var i3 = 0; i3 < val.length; )
buf[pos++] = val[i3++];
};
};
BufferWriter.prototype.bytes = function write_bytes_buffer(value) {
if (util2.isString(value))
value = util2._Buffer_from(value, "base64");
var len = value.length >>> 0;
this.uint32(len);
if (len)
this._push(BufferWriter.writeBytesBuffer, len, value);
return this;
};
function writeStringBuffer(val, buf, pos) {
if (val.length < 40)
util2.utf8.write(val, buf, pos);
else if (buf.utf8Write)
buf.utf8Write(val, pos);
else
buf.write(val, pos);
}
BufferWriter.prototype.string = function write_string_buffer(value) {
var len = util2.Buffer.byteLength(value);
this.uint32(len);
if (len)
this._push(writeStringBuffer, len, value);
return this;
};
BufferWriter._configure();
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/reader.js
var require_reader2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/reader.js"(exports2, module2) {
"use strict";
module2.exports = Reader;
var util2 = require_minimal2();
var BufferReader;
var LongBits = util2.LongBits;
var utf8 = util2.utf8;
function indexOutOfRange(reader, writeLength) {
return RangeError("index out of range: " + reader.pos + " + " + (writeLength || 1) + " > " + reader.len);
}
function Reader(buffer) {
this.buf = buffer;
this.pos = 0;
this.len = buffer.length;
}
var create_array = typeof Uint8Array !== "undefined" ? function create_typed_array(buffer) {
if (buffer instanceof Uint8Array || Array.isArray(buffer))
return new Reader(buffer);
throw Error("illegal buffer");
} : function create_array2(buffer) {
if (Array.isArray(buffer))
return new Reader(buffer);
throw Error("illegal buffer");
};
var create = function create2() {
return util2.Buffer ? function create_buffer_setup(buffer) {
return (Reader.create = function create_buffer(buffer2) {
return util2.Buffer.isBuffer(buffer2) ? new BufferReader(buffer2) : create_array(buffer2);
})(buffer);
} : create_array;
};
Reader.create = create();
Reader.prototype._slice = util2.Array.prototype.subarray || /* istanbul ignore next */
util2.Array.prototype.slice;
Reader.prototype.uint32 = /* @__PURE__ */ function read_uint32_setup() {
var value = 4294967295;
return function read_uint32() {
value = (this.buf[this.pos] & 127) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 127) << 7) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 127) << 14) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 127) << 21) >>> 0;
if (this.buf[this.pos++] < 128) return value;
value = (value | (this.buf[this.pos] & 15) << 28) >>> 0;
if (this.buf[this.pos++] < 128) return value;
if ((this.pos += 5) > this.len) {
this.pos = this.len;
throw indexOutOfRange(this, 10);
}
return value;
};
}();
Reader.prototype.int32 = function read_int32() {
return this.uint32() | 0;
};
Reader.prototype.sint32 = function read_sint32() {
var value = this.uint32();
return value >>> 1 ^ -(value & 1) | 0;
};
function readLongVarint() {
var bits = new LongBits(0, 0);
var i3 = 0;
if (this.len - this.pos > 4) {
for (; i3 < 4; ++i3) {
bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i3 * 7) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;
bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
i3 = 0;
} else {
for (; i3 < 3; ++i3) {
if (this.pos >= this.len)
throw indexOutOfRange(this);
bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i3 * 7) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i3 * 7) >>> 0;
return bits;
}
if (this.len - this.pos > 4) {
for (; i3 < 5; ++i3) {
bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i3 * 7 + 3) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
} else {
for (; i3 < 5; ++i3) {
if (this.pos >= this.len)
throw indexOutOfRange(this);
bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i3 * 7 + 3) >>> 0;
if (this.buf[this.pos++] < 128)
return bits;
}
}
throw Error("invalid varint encoding");
}
Reader.prototype.bool = function read_bool() {
return this.uint32() !== 0;
};
function readFixed32_end(buf, end) {
return (buf[end - 4] | buf[end - 3] << 8 | buf[end - 2] << 16 | buf[end - 1] << 24) >>> 0;
}
Reader.prototype.fixed32 = function read_fixed32() {
if (this.pos + 4 > this.len)
throw indexOutOfRange(this, 4);
return readFixed32_end(this.buf, this.pos += 4);
};
Reader.prototype.sfixed32 = function read_sfixed32() {
if (this.pos + 4 > this.len)
throw indexOutOfRange(this, 4);
return readFixed32_end(this.buf, this.pos += 4) | 0;
};
function readFixed64() {
if (this.pos + 8 > this.len)
throw indexOutOfRange(this, 8);
return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));
}
Reader.prototype.float = function read_float() {
if (this.pos + 4 > this.len)
throw indexOutOfRange(this, 4);
var value = util2.float.readFloatLE(this.buf, this.pos);
this.pos += 4;
return value;
};
Reader.prototype.double = function read_double() {
if (this.pos + 8 > this.len)
throw indexOutOfRange(this, 4);
var value = util2.float.readDoubleLE(this.buf, this.pos);
this.pos += 8;
return value;
};
Reader.prototype.bytes = function read_bytes() {
var length = this.uint32(), start2 = this.pos, end = this.pos + length;
if (end > this.len)
throw indexOutOfRange(this, length);
this.pos += length;
if (Array.isArray(this.buf))
return this.buf.slice(start2, end);
if (start2 === end) {
var nativeBuffer = util2.Buffer;
return nativeBuffer ? nativeBuffer.alloc(0) : new this.buf.constructor(0);
}
return this._slice.call(this.buf, start2, end);
};
Reader.prototype.string = function read_string() {
var bytes = this.bytes();
return utf8.read(bytes, 0, bytes.length);
};
Reader.prototype.skip = function skip(length) {
if (typeof length === "number") {
if (this.pos + length > this.len)
throw indexOutOfRange(this, length);
this.pos += length;
} else {
do {
if (this.pos >= this.len)
throw indexOutOfRange(this);
} while (this.buf[this.pos++] & 128);
}
return this;
};
Reader.prototype.skipType = function(wireType) {
switch (wireType) {
case 0:
this.skip();
break;
case 1:
this.skip(8);
break;
case 2:
this.skip(this.uint32());
break;
case 3:
while ((wireType = this.uint32() & 7) !== 4) {
this.skipType(wireType);
}
break;
case 5:
this.skip(4);
break;
/* istanbul ignore next */
default:
throw Error("invalid wire type " + wireType + " at offset " + this.pos);
}
return this;
};
Reader._configure = function(BufferReader_) {
BufferReader = BufferReader_;
Reader.create = create();
BufferReader._configure();
var fn = util2.Long ? "toLong" : (
/* istanbul ignore next */
"toNumber"
);
util2.merge(Reader.prototype, {
int64: function read_int64() {
return readLongVarint.call(this)[fn](false);
},
uint64: function read_uint64() {
return readLongVarint.call(this)[fn](true);
},
sint64: function read_sint64() {
return readLongVarint.call(this).zzDecode()[fn](false);
},
fixed64: function read_fixed64() {
return readFixed64.call(this)[fn](true);
},
sfixed64: function read_sfixed64() {
return readFixed64.call(this)[fn](false);
}
});
};
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/reader_buffer.js
var require_reader_buffer2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/reader_buffer.js"(exports2, module2) {
"use strict";
module2.exports = BufferReader;
var Reader = require_reader2();
(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;
var util2 = require_minimal2();
function BufferReader(buffer) {
Reader.call(this, buffer);
}
BufferReader._configure = function() {
if (util2.Buffer)
BufferReader.prototype._slice = util2.Buffer.prototype.slice;
};
BufferReader.prototype.string = function read_string_buffer() {
var len = this.uint32();
return this.buf.utf8Slice ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len)) : this.buf.toString("utf-8", this.pos, this.pos = Math.min(this.pos + len, this.len));
};
BufferReader._configure();
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/rpc/service.js
var require_service3 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/rpc/service.js"(exports2, module2) {
"use strict";
module2.exports = Service;
var util2 = require_minimal2();
(Service.prototype = Object.create(util2.EventEmitter.prototype)).constructor = Service;
function Service(rpcImpl, requestDelimited, responseDelimited) {
if (typeof rpcImpl !== "function")
throw TypeError("rpcImpl must be a function");
util2.EventEmitter.call(this);
this.rpcImpl = rpcImpl;
this.requestDelimited = Boolean(requestDelimited);
this.responseDelimited = Boolean(responseDelimited);
}
Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {
if (!request)
throw TypeError("request must be specified");
var self2 = this;
if (!callback)
return util2.asPromise(rpcCall, self2, method, requestCtor, responseCtor, request);
if (!self2.rpcImpl) {
setTimeout(function() {
callback(Error("already ended"));
}, 0);
return void 0;
}
try {
return self2.rpcImpl(
method,
requestCtor[self2.requestDelimited ? "encodeDelimited" : "encode"](request).finish(),
function rpcCallback(err2, response) {
if (err2) {
self2.emit("error", err2, method);
return callback(err2);
}
if (response === null) {
self2.end(
/* endedByRPC */
true
);
return void 0;
}
if (!(response instanceof responseCtor)) {
try {
response = responseCtor[self2.responseDelimited ? "decodeDelimited" : "decode"](response);
} catch (err3) {
self2.emit("error", err3, method);
return callback(err3);
}
}
self2.emit("data", response, method);
return callback(null, response);
}
);
} catch (err2) {
self2.emit("error", err2, method);
setTimeout(function() {
callback(err2);
}, 0);
return void 0;
}
};
Service.prototype.end = function end(endedByRPC) {
if (this.rpcImpl) {
if (!endedByRPC)
this.rpcImpl(null, null, null);
this.rpcImpl = null;
this.emit("end").off();
}
return this;
};
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/rpc.js
var require_rpc2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/rpc.js"(exports2) {
"use strict";
var rpc = exports2;
rpc.Service = require_service3();
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/roots.js
var require_roots2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/roots.js"(exports2, module2) {
"use strict";
module2.exports = {};
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/index-minimal.js
var require_index_minimal2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/src/index-minimal.js"(exports2) {
"use strict";
var protobuf = exports2;
protobuf.build = "minimal";
protobuf.Writer = require_writer2();
protobuf.BufferWriter = require_writer_buffer2();
protobuf.Reader = require_reader2();
protobuf.BufferReader = require_reader_buffer2();
protobuf.util = require_minimal2();
protobuf.rpc = require_rpc2();
protobuf.roots = require_roots2();
protobuf.configure = configure;
function configure() {
protobuf.util._configure();
protobuf.Writer._configure(protobuf.BufferWriter);
protobuf.Reader._configure(protobuf.BufferReader);
}
configure();
}
});
// node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/minimal.js
var require_minimal3 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/node_modules/protobufjs/minimal.js"(exports2, module2) {
"use strict";
module2.exports = require_index_minimal2();
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/generated/root.js
var require_root2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/generated/root.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var $protobuf = require_minimal3();
var $Reader = $protobuf.Reader;
var $Writer = $protobuf.Writer;
var $util = $protobuf.util;
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});
$root.opentelemetry = function() {
var opentelemetry = {};
opentelemetry.proto = function() {
var proto = {};
proto.common = function() {
var common3 = {};
common3.v1 = function() {
var v13 = {};
v13.AnyValue = function() {
function AnyValue(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
AnyValue.prototype.stringValue = null;
AnyValue.prototype.boolValue = null;
AnyValue.prototype.intValue = null;
AnyValue.prototype.doubleValue = null;
AnyValue.prototype.arrayValue = null;
AnyValue.prototype.kvlistValue = null;
AnyValue.prototype.bytesValue = null;
var $oneOfFields;
Object.defineProperty(AnyValue.prototype, "value", {
get: $util.oneOfGetter($oneOfFields = ["stringValue", "boolValue", "intValue", "doubleValue", "arrayValue", "kvlistValue", "bytesValue"]),
set: $util.oneOfSetter($oneOfFields)
});
AnyValue.create = function create(properties) {
return new AnyValue(properties);
};
AnyValue.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.stringValue);
if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).bool(message.boolValue);
if (message.intValue != null && Object.hasOwnProperty.call(message, "intValue"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int64(message.intValue);
if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue"))
writer.uint32(
/* id 4, wireType 1 =*/
33
).double(message.doubleValue);
if (message.arrayValue != null && Object.hasOwnProperty.call(message, "arrayValue"))
$root.opentelemetry.proto.common.v1.ArrayValue.encode(message.arrayValue, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.kvlistValue != null && Object.hasOwnProperty.call(message, "kvlistValue"))
$root.opentelemetry.proto.common.v1.KeyValueList.encode(message.kvlistValue, writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
if (message.bytesValue != null && Object.hasOwnProperty.call(message, "bytesValue"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).bytes(message.bytesValue);
return writer;
};
AnyValue.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
AnyValue.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.common.v1.AnyValue();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.stringValue = reader.string();
break;
}
case 2: {
message.boolValue = reader.bool();
break;
}
case 3: {
message.intValue = reader.int64();
break;
}
case 4: {
message.doubleValue = reader.double();
break;
}
case 5: {
message.arrayValue = $root.opentelemetry.proto.common.v1.ArrayValue.decode(reader, reader.uint32());
break;
}
case 6: {
message.kvlistValue = $root.opentelemetry.proto.common.v1.KeyValueList.decode(reader, reader.uint32());
break;
}
case 7: {
message.bytesValue = reader.bytes();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
AnyValue.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
AnyValue.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
properties.value = 1;
if (!$util.isString(message.stringValue))
return "stringValue: string expected";
}
if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
if (typeof message.boolValue !== "boolean")
return "boolValue: boolean expected";
}
if (message.intValue != null && message.hasOwnProperty("intValue")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
if (!$util.isInteger(message.intValue) && !(message.intValue && $util.isInteger(message.intValue.low) && $util.isInteger(message.intValue.high)))
return "intValue: integer|Long expected";
}
if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
if (typeof message.doubleValue !== "number")
return "doubleValue: number expected";
}
if (message.arrayValue != null && message.hasOwnProperty("arrayValue")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
{
var error40 = $root.opentelemetry.proto.common.v1.ArrayValue.verify(message.arrayValue);
if (error40)
return "arrayValue." + error40;
}
}
if (message.kvlistValue != null && message.hasOwnProperty("kvlistValue")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
{
var error40 = $root.opentelemetry.proto.common.v1.KeyValueList.verify(message.kvlistValue);
if (error40)
return "kvlistValue." + error40;
}
}
if (message.bytesValue != null && message.hasOwnProperty("bytesValue")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
if (!(message.bytesValue && typeof message.bytesValue.length === "number" || $util.isString(message.bytesValue)))
return "bytesValue: buffer expected";
}
return null;
};
AnyValue.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.common.v1.AnyValue)
return object3;
var message = new $root.opentelemetry.proto.common.v1.AnyValue();
if (object3.stringValue != null)
message.stringValue = String(object3.stringValue);
if (object3.boolValue != null)
message.boolValue = Boolean(object3.boolValue);
if (object3.intValue != null) {
if ($util.Long)
(message.intValue = $util.Long.fromValue(object3.intValue)).unsigned = false;
else if (typeof object3.intValue === "string")
message.intValue = parseInt(object3.intValue, 10);
else if (typeof object3.intValue === "number")
message.intValue = object3.intValue;
else if (typeof object3.intValue === "object")
message.intValue = new $util.LongBits(object3.intValue.low >>> 0, object3.intValue.high >>> 0).toNumber();
}
if (object3.doubleValue != null)
message.doubleValue = Number(object3.doubleValue);
if (object3.arrayValue != null) {
if (typeof object3.arrayValue !== "object")
throw TypeError(".opentelemetry.proto.common.v1.AnyValue.arrayValue: object expected");
message.arrayValue = $root.opentelemetry.proto.common.v1.ArrayValue.fromObject(object3.arrayValue);
}
if (object3.kvlistValue != null) {
if (typeof object3.kvlistValue !== "object")
throw TypeError(".opentelemetry.proto.common.v1.AnyValue.kvlistValue: object expected");
message.kvlistValue = $root.opentelemetry.proto.common.v1.KeyValueList.fromObject(object3.kvlistValue);
}
if (object3.bytesValue != null) {
if (typeof object3.bytesValue === "string")
$util.base64.decode(object3.bytesValue, message.bytesValue = $util.newBuffer($util.base64.length(object3.bytesValue)), 0);
else if (object3.bytesValue.length >= 0)
message.bytesValue = object3.bytesValue;
}
return message;
};
AnyValue.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
object3.stringValue = message.stringValue;
if (options.oneofs)
object3.value = "stringValue";
}
if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
object3.boolValue = message.boolValue;
if (options.oneofs)
object3.value = "boolValue";
}
if (message.intValue != null && message.hasOwnProperty("intValue")) {
if (typeof message.intValue === "number")
object3.intValue = options.longs === String ? String(message.intValue) : message.intValue;
else
object3.intValue = options.longs === String ? $util.Long.prototype.toString.call(message.intValue) : options.longs === Number ? new $util.LongBits(message.intValue.low >>> 0, message.intValue.high >>> 0).toNumber() : message.intValue;
if (options.oneofs)
object3.value = "intValue";
}
if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
object3.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue;
if (options.oneofs)
object3.value = "doubleValue";
}
if (message.arrayValue != null && message.hasOwnProperty("arrayValue")) {
object3.arrayValue = $root.opentelemetry.proto.common.v1.ArrayValue.toObject(message.arrayValue, options);
if (options.oneofs)
object3.value = "arrayValue";
}
if (message.kvlistValue != null && message.hasOwnProperty("kvlistValue")) {
object3.kvlistValue = $root.opentelemetry.proto.common.v1.KeyValueList.toObject(message.kvlistValue, options);
if (options.oneofs)
object3.value = "kvlistValue";
}
if (message.bytesValue != null && message.hasOwnProperty("bytesValue")) {
object3.bytesValue = options.bytes === String ? $util.base64.encode(message.bytesValue, 0, message.bytesValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.bytesValue) : message.bytesValue;
if (options.oneofs)
object3.value = "bytesValue";
}
return object3;
};
AnyValue.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
AnyValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.common.v1.AnyValue";
};
return AnyValue;
}();
v13.ArrayValue = function() {
function ArrayValue(properties) {
this.values = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ArrayValue.prototype.values = $util.emptyArray;
ArrayValue.create = function create(properties) {
return new ArrayValue(properties);
};
ArrayValue.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.values != null && message.values.length)
for (var i3 = 0; i3 < message.values.length; ++i3)
$root.opentelemetry.proto.common.v1.AnyValue.encode(message.values[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ArrayValue.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ArrayValue.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.common.v1.ArrayValue();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.values && message.values.length))
message.values = [];
message.values.push($root.opentelemetry.proto.common.v1.AnyValue.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ArrayValue.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ArrayValue.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.values != null && message.hasOwnProperty("values")) {
if (!Array.isArray(message.values))
return "values: array expected";
for (var i3 = 0; i3 < message.values.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.AnyValue.verify(message.values[i3]);
if (error40)
return "values." + error40;
}
}
return null;
};
ArrayValue.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.common.v1.ArrayValue)
return object3;
var message = new $root.opentelemetry.proto.common.v1.ArrayValue();
if (object3.values) {
if (!Array.isArray(object3.values))
throw TypeError(".opentelemetry.proto.common.v1.ArrayValue.values: array expected");
message.values = [];
for (var i3 = 0; i3 < object3.values.length; ++i3) {
if (typeof object3.values[i3] !== "object")
throw TypeError(".opentelemetry.proto.common.v1.ArrayValue.values: object expected");
message.values[i3] = $root.opentelemetry.proto.common.v1.AnyValue.fromObject(object3.values[i3]);
}
}
return message;
};
ArrayValue.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.values = [];
if (message.values && message.values.length) {
object3.values = [];
for (var j = 0; j < message.values.length; ++j)
object3.values[j] = $root.opentelemetry.proto.common.v1.AnyValue.toObject(message.values[j], options);
}
return object3;
};
ArrayValue.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ArrayValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.common.v1.ArrayValue";
};
return ArrayValue;
}();
v13.KeyValueList = function() {
function KeyValueList(properties) {
this.values = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
KeyValueList.prototype.values = $util.emptyArray;
KeyValueList.create = function create(properties) {
return new KeyValueList(properties);
};
KeyValueList.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.values != null && message.values.length)
for (var i3 = 0; i3 < message.values.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.values[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
KeyValueList.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
KeyValueList.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.common.v1.KeyValueList();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.values && message.values.length))
message.values = [];
message.values.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
KeyValueList.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
KeyValueList.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.values != null && message.hasOwnProperty("values")) {
if (!Array.isArray(message.values))
return "values: array expected";
for (var i3 = 0; i3 < message.values.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.values[i3]);
if (error40)
return "values." + error40;
}
}
return null;
};
KeyValueList.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.common.v1.KeyValueList)
return object3;
var message = new $root.opentelemetry.proto.common.v1.KeyValueList();
if (object3.values) {
if (!Array.isArray(object3.values))
throw TypeError(".opentelemetry.proto.common.v1.KeyValueList.values: array expected");
message.values = [];
for (var i3 = 0; i3 < object3.values.length; ++i3) {
if (typeof object3.values[i3] !== "object")
throw TypeError(".opentelemetry.proto.common.v1.KeyValueList.values: object expected");
message.values[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.values[i3]);
}
}
return message;
};
KeyValueList.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.values = [];
if (message.values && message.values.length) {
object3.values = [];
for (var j = 0; j < message.values.length; ++j)
object3.values[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.values[j], options);
}
return object3;
};
KeyValueList.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
KeyValueList.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.common.v1.KeyValueList";
};
return KeyValueList;
}();
v13.KeyValue = function() {
function KeyValue(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
KeyValue.prototype.key = null;
KeyValue.prototype.value = null;
KeyValue.create = function create(properties) {
return new KeyValue(properties);
};
KeyValue.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.key != null && Object.hasOwnProperty.call(message, "key"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.key);
if (message.value != null && Object.hasOwnProperty.call(message, "value"))
$root.opentelemetry.proto.common.v1.AnyValue.encode(message.value, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
return writer;
};
KeyValue.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
KeyValue.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.common.v1.KeyValue();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.key = reader.string();
break;
}
case 2: {
message.value = $root.opentelemetry.proto.common.v1.AnyValue.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
KeyValue.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
KeyValue.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.key != null && message.hasOwnProperty("key")) {
if (!$util.isString(message.key))
return "key: string expected";
}
if (message.value != null && message.hasOwnProperty("value")) {
var error40 = $root.opentelemetry.proto.common.v1.AnyValue.verify(message.value);
if (error40)
return "value." + error40;
}
return null;
};
KeyValue.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.common.v1.KeyValue)
return object3;
var message = new $root.opentelemetry.proto.common.v1.KeyValue();
if (object3.key != null)
message.key = String(object3.key);
if (object3.value != null) {
if (typeof object3.value !== "object")
throw TypeError(".opentelemetry.proto.common.v1.KeyValue.value: object expected");
message.value = $root.opentelemetry.proto.common.v1.AnyValue.fromObject(object3.value);
}
return message;
};
KeyValue.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.key = "";
object3.value = null;
}
if (message.key != null && message.hasOwnProperty("key"))
object3.key = message.key;
if (message.value != null && message.hasOwnProperty("value"))
object3.value = $root.opentelemetry.proto.common.v1.AnyValue.toObject(message.value, options);
return object3;
};
KeyValue.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
KeyValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.common.v1.KeyValue";
};
return KeyValue;
}();
v13.InstrumentationScope = function() {
function InstrumentationScope(properties) {
this.attributes = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
InstrumentationScope.prototype.name = null;
InstrumentationScope.prototype.version = null;
InstrumentationScope.prototype.attributes = $util.emptyArray;
InstrumentationScope.prototype.droppedAttributesCount = null;
InstrumentationScope.create = function create(properties) {
return new InstrumentationScope(properties);
};
InstrumentationScope.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.version != null && Object.hasOwnProperty.call(message, "version"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.version);
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
if (message.droppedAttributesCount != null && Object.hasOwnProperty.call(message, "droppedAttributesCount"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).uint32(message.droppedAttributesCount);
return writer;
};
InstrumentationScope.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
InstrumentationScope.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.common.v1.InstrumentationScope();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.version = reader.string();
break;
}
case 3: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 4: {
message.droppedAttributesCount = reader.uint32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
InstrumentationScope.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
InstrumentationScope.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.version != null && message.hasOwnProperty("version")) {
if (!$util.isString(message.version))
return "version: string expected";
}
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount")) {
if (!$util.isInteger(message.droppedAttributesCount))
return "droppedAttributesCount: integer expected";
}
return null;
};
InstrumentationScope.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.common.v1.InstrumentationScope)
return object3;
var message = new $root.opentelemetry.proto.common.v1.InstrumentationScope();
if (object3.name != null)
message.name = String(object3.name);
if (object3.version != null)
message.version = String(object3.version);
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.common.v1.InstrumentationScope.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.common.v1.InstrumentationScope.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.droppedAttributesCount != null)
message.droppedAttributesCount = object3.droppedAttributesCount >>> 0;
return message;
};
InstrumentationScope.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.attributes = [];
if (options.defaults) {
object3.name = "";
object3.version = "";
object3.droppedAttributesCount = 0;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.version != null && message.hasOwnProperty("version"))
object3.version = message.version;
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount"))
object3.droppedAttributesCount = message.droppedAttributesCount;
return object3;
};
InstrumentationScope.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
InstrumentationScope.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.common.v1.InstrumentationScope";
};
return InstrumentationScope;
}();
v13.EntityRef = function() {
function EntityRef(properties) {
this.idKeys = [];
this.descriptionKeys = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
EntityRef.prototype.schemaUrl = null;
EntityRef.prototype.type = null;
EntityRef.prototype.idKeys = $util.emptyArray;
EntityRef.prototype.descriptionKeys = $util.emptyArray;
EntityRef.create = function create(properties) {
return new EntityRef(properties);
};
EntityRef.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.schemaUrl != null && Object.hasOwnProperty.call(message, "schemaUrl"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.schemaUrl);
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.type);
if (message.idKeys != null && message.idKeys.length)
for (var i3 = 0; i3 < message.idKeys.length; ++i3)
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.idKeys[i3]);
if (message.descriptionKeys != null && message.descriptionKeys.length)
for (var i3 = 0; i3 < message.descriptionKeys.length; ++i3)
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.descriptionKeys[i3]);
return writer;
};
EntityRef.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
EntityRef.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.common.v1.EntityRef();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.schemaUrl = reader.string();
break;
}
case 2: {
message.type = reader.string();
break;
}
case 3: {
if (!(message.idKeys && message.idKeys.length))
message.idKeys = [];
message.idKeys.push(reader.string());
break;
}
case 4: {
if (!(message.descriptionKeys && message.descriptionKeys.length))
message.descriptionKeys = [];
message.descriptionKeys.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
EntityRef.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
EntityRef.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl")) {
if (!$util.isString(message.schemaUrl))
return "schemaUrl: string expected";
}
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.idKeys != null && message.hasOwnProperty("idKeys")) {
if (!Array.isArray(message.idKeys))
return "idKeys: array expected";
for (var i3 = 0; i3 < message.idKeys.length; ++i3)
if (!$util.isString(message.idKeys[i3]))
return "idKeys: string[] expected";
}
if (message.descriptionKeys != null && message.hasOwnProperty("descriptionKeys")) {
if (!Array.isArray(message.descriptionKeys))
return "descriptionKeys: array expected";
for (var i3 = 0; i3 < message.descriptionKeys.length; ++i3)
if (!$util.isString(message.descriptionKeys[i3]))
return "descriptionKeys: string[] expected";
}
return null;
};
EntityRef.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.common.v1.EntityRef)
return object3;
var message = new $root.opentelemetry.proto.common.v1.EntityRef();
if (object3.schemaUrl != null)
message.schemaUrl = String(object3.schemaUrl);
if (object3.type != null)
message.type = String(object3.type);
if (object3.idKeys) {
if (!Array.isArray(object3.idKeys))
throw TypeError(".opentelemetry.proto.common.v1.EntityRef.idKeys: array expected");
message.idKeys = [];
for (var i3 = 0; i3 < object3.idKeys.length; ++i3)
message.idKeys[i3] = String(object3.idKeys[i3]);
}
if (object3.descriptionKeys) {
if (!Array.isArray(object3.descriptionKeys))
throw TypeError(".opentelemetry.proto.common.v1.EntityRef.descriptionKeys: array expected");
message.descriptionKeys = [];
for (var i3 = 0; i3 < object3.descriptionKeys.length; ++i3)
message.descriptionKeys[i3] = String(object3.descriptionKeys[i3]);
}
return message;
};
EntityRef.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.idKeys = [];
object3.descriptionKeys = [];
}
if (options.defaults) {
object3.schemaUrl = "";
object3.type = "";
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl"))
object3.schemaUrl = message.schemaUrl;
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
if (message.idKeys && message.idKeys.length) {
object3.idKeys = [];
for (var j = 0; j < message.idKeys.length; ++j)
object3.idKeys[j] = message.idKeys[j];
}
if (message.descriptionKeys && message.descriptionKeys.length) {
object3.descriptionKeys = [];
for (var j = 0; j < message.descriptionKeys.length; ++j)
object3.descriptionKeys[j] = message.descriptionKeys[j];
}
return object3;
};
EntityRef.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
EntityRef.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.common.v1.EntityRef";
};
return EntityRef;
}();
return v13;
}();
return common3;
}();
proto.resource = function() {
var resource = {};
resource.v1 = function() {
var v13 = {};
v13.Resource = function() {
function Resource(properties) {
this.attributes = [];
this.entityRefs = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Resource.prototype.attributes = $util.emptyArray;
Resource.prototype.droppedAttributesCount = null;
Resource.prototype.entityRefs = $util.emptyArray;
Resource.create = function create(properties) {
return new Resource(properties);
};
Resource.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.droppedAttributesCount != null && Object.hasOwnProperty.call(message, "droppedAttributesCount"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).uint32(message.droppedAttributesCount);
if (message.entityRefs != null && message.entityRefs.length)
for (var i3 = 0; i3 < message.entityRefs.length; ++i3)
$root.opentelemetry.proto.common.v1.EntityRef.encode(message.entityRefs[i3], writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
Resource.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Resource.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.resource.v1.Resource();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 2: {
message.droppedAttributesCount = reader.uint32();
break;
}
case 3: {
if (!(message.entityRefs && message.entityRefs.length))
message.entityRefs = [];
message.entityRefs.push($root.opentelemetry.proto.common.v1.EntityRef.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Resource.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Resource.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount")) {
if (!$util.isInteger(message.droppedAttributesCount))
return "droppedAttributesCount: integer expected";
}
if (message.entityRefs != null && message.hasOwnProperty("entityRefs")) {
if (!Array.isArray(message.entityRefs))
return "entityRefs: array expected";
for (var i3 = 0; i3 < message.entityRefs.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.EntityRef.verify(message.entityRefs[i3]);
if (error40)
return "entityRefs." + error40;
}
}
return null;
};
Resource.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.resource.v1.Resource)
return object3;
var message = new $root.opentelemetry.proto.resource.v1.Resource();
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.resource.v1.Resource.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.resource.v1.Resource.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.droppedAttributesCount != null)
message.droppedAttributesCount = object3.droppedAttributesCount >>> 0;
if (object3.entityRefs) {
if (!Array.isArray(object3.entityRefs))
throw TypeError(".opentelemetry.proto.resource.v1.Resource.entityRefs: array expected");
message.entityRefs = [];
for (var i3 = 0; i3 < object3.entityRefs.length; ++i3) {
if (typeof object3.entityRefs[i3] !== "object")
throw TypeError(".opentelemetry.proto.resource.v1.Resource.entityRefs: object expected");
message.entityRefs[i3] = $root.opentelemetry.proto.common.v1.EntityRef.fromObject(object3.entityRefs[i3]);
}
}
return message;
};
Resource.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.attributes = [];
object3.entityRefs = [];
}
if (options.defaults)
object3.droppedAttributesCount = 0;
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount"))
object3.droppedAttributesCount = message.droppedAttributesCount;
if (message.entityRefs && message.entityRefs.length) {
object3.entityRefs = [];
for (var j = 0; j < message.entityRefs.length; ++j)
object3.entityRefs[j] = $root.opentelemetry.proto.common.v1.EntityRef.toObject(message.entityRefs[j], options);
}
return object3;
};
Resource.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Resource.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.resource.v1.Resource";
};
return Resource;
}();
return v13;
}();
return resource;
}();
proto.trace = function() {
var trace2 = {};
trace2.v1 = function() {
var v13 = {};
v13.TracesData = function() {
function TracesData(properties) {
this.resourceSpans = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
TracesData.prototype.resourceSpans = $util.emptyArray;
TracesData.create = function create(properties) {
return new TracesData(properties);
};
TracesData.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceSpans != null && message.resourceSpans.length)
for (var i3 = 0; i3 < message.resourceSpans.length; ++i3)
$root.opentelemetry.proto.trace.v1.ResourceSpans.encode(message.resourceSpans[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
TracesData.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
TracesData.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.trace.v1.TracesData();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceSpans && message.resourceSpans.length))
message.resourceSpans = [];
message.resourceSpans.push($root.opentelemetry.proto.trace.v1.ResourceSpans.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
TracesData.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
TracesData.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceSpans != null && message.hasOwnProperty("resourceSpans")) {
if (!Array.isArray(message.resourceSpans))
return "resourceSpans: array expected";
for (var i3 = 0; i3 < message.resourceSpans.length; ++i3) {
var error40 = $root.opentelemetry.proto.trace.v1.ResourceSpans.verify(message.resourceSpans[i3]);
if (error40)
return "resourceSpans." + error40;
}
}
return null;
};
TracesData.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.trace.v1.TracesData)
return object3;
var message = new $root.opentelemetry.proto.trace.v1.TracesData();
if (object3.resourceSpans) {
if (!Array.isArray(object3.resourceSpans))
throw TypeError(".opentelemetry.proto.trace.v1.TracesData.resourceSpans: array expected");
message.resourceSpans = [];
for (var i3 = 0; i3 < object3.resourceSpans.length; ++i3) {
if (typeof object3.resourceSpans[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.TracesData.resourceSpans: object expected");
message.resourceSpans[i3] = $root.opentelemetry.proto.trace.v1.ResourceSpans.fromObject(object3.resourceSpans[i3]);
}
}
return message;
};
TracesData.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceSpans = [];
if (message.resourceSpans && message.resourceSpans.length) {
object3.resourceSpans = [];
for (var j = 0; j < message.resourceSpans.length; ++j)
object3.resourceSpans[j] = $root.opentelemetry.proto.trace.v1.ResourceSpans.toObject(message.resourceSpans[j], options);
}
return object3;
};
TracesData.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
TracesData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.trace.v1.TracesData";
};
return TracesData;
}();
v13.ResourceSpans = function() {
function ResourceSpans(properties) {
this.scopeSpans = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ResourceSpans.prototype.resource = null;
ResourceSpans.prototype.scopeSpans = $util.emptyArray;
ResourceSpans.prototype.schemaUrl = null;
ResourceSpans.create = function create(properties) {
return new ResourceSpans(properties);
};
ResourceSpans.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resource != null && Object.hasOwnProperty.call(message, "resource"))
$root.opentelemetry.proto.resource.v1.Resource.encode(message.resource, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.scopeSpans != null && message.scopeSpans.length)
for (var i3 = 0; i3 < message.scopeSpans.length; ++i3)
$root.opentelemetry.proto.trace.v1.ScopeSpans.encode(message.scopeSpans[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.schemaUrl != null && Object.hasOwnProperty.call(message, "schemaUrl"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.schemaUrl);
return writer;
};
ResourceSpans.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ResourceSpans.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.trace.v1.ResourceSpans();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.resource = $root.opentelemetry.proto.resource.v1.Resource.decode(reader, reader.uint32());
break;
}
case 2: {
if (!(message.scopeSpans && message.scopeSpans.length))
message.scopeSpans = [];
message.scopeSpans.push($root.opentelemetry.proto.trace.v1.ScopeSpans.decode(reader, reader.uint32()));
break;
}
case 3: {
message.schemaUrl = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ResourceSpans.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ResourceSpans.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resource != null && message.hasOwnProperty("resource")) {
var error40 = $root.opentelemetry.proto.resource.v1.Resource.verify(message.resource);
if (error40)
return "resource." + error40;
}
if (message.scopeSpans != null && message.hasOwnProperty("scopeSpans")) {
if (!Array.isArray(message.scopeSpans))
return "scopeSpans: array expected";
for (var i3 = 0; i3 < message.scopeSpans.length; ++i3) {
var error40 = $root.opentelemetry.proto.trace.v1.ScopeSpans.verify(message.scopeSpans[i3]);
if (error40)
return "scopeSpans." + error40;
}
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl")) {
if (!$util.isString(message.schemaUrl))
return "schemaUrl: string expected";
}
return null;
};
ResourceSpans.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.trace.v1.ResourceSpans)
return object3;
var message = new $root.opentelemetry.proto.trace.v1.ResourceSpans();
if (object3.resource != null) {
if (typeof object3.resource !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.ResourceSpans.resource: object expected");
message.resource = $root.opentelemetry.proto.resource.v1.Resource.fromObject(object3.resource);
}
if (object3.scopeSpans) {
if (!Array.isArray(object3.scopeSpans))
throw TypeError(".opentelemetry.proto.trace.v1.ResourceSpans.scopeSpans: array expected");
message.scopeSpans = [];
for (var i3 = 0; i3 < object3.scopeSpans.length; ++i3) {
if (typeof object3.scopeSpans[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.ResourceSpans.scopeSpans: object expected");
message.scopeSpans[i3] = $root.opentelemetry.proto.trace.v1.ScopeSpans.fromObject(object3.scopeSpans[i3]);
}
}
if (object3.schemaUrl != null)
message.schemaUrl = String(object3.schemaUrl);
return message;
};
ResourceSpans.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.scopeSpans = [];
if (options.defaults) {
object3.resource = null;
object3.schemaUrl = "";
}
if (message.resource != null && message.hasOwnProperty("resource"))
object3.resource = $root.opentelemetry.proto.resource.v1.Resource.toObject(message.resource, options);
if (message.scopeSpans && message.scopeSpans.length) {
object3.scopeSpans = [];
for (var j = 0; j < message.scopeSpans.length; ++j)
object3.scopeSpans[j] = $root.opentelemetry.proto.trace.v1.ScopeSpans.toObject(message.scopeSpans[j], options);
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl"))
object3.schemaUrl = message.schemaUrl;
return object3;
};
ResourceSpans.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ResourceSpans.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.trace.v1.ResourceSpans";
};
return ResourceSpans;
}();
v13.ScopeSpans = function() {
function ScopeSpans(properties) {
this.spans = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ScopeSpans.prototype.scope = null;
ScopeSpans.prototype.spans = $util.emptyArray;
ScopeSpans.prototype.schemaUrl = null;
ScopeSpans.create = function create(properties) {
return new ScopeSpans(properties);
};
ScopeSpans.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
$root.opentelemetry.proto.common.v1.InstrumentationScope.encode(message.scope, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.spans != null && message.spans.length)
for (var i3 = 0; i3 < message.spans.length; ++i3)
$root.opentelemetry.proto.trace.v1.Span.encode(message.spans[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.schemaUrl != null && Object.hasOwnProperty.call(message, "schemaUrl"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.schemaUrl);
return writer;
};
ScopeSpans.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ScopeSpans.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.trace.v1.ScopeSpans();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.decode(reader, reader.uint32());
break;
}
case 2: {
if (!(message.spans && message.spans.length))
message.spans = [];
message.spans.push($root.opentelemetry.proto.trace.v1.Span.decode(reader, reader.uint32()));
break;
}
case 3: {
message.schemaUrl = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ScopeSpans.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ScopeSpans.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.scope != null && message.hasOwnProperty("scope")) {
var error40 = $root.opentelemetry.proto.common.v1.InstrumentationScope.verify(message.scope);
if (error40)
return "scope." + error40;
}
if (message.spans != null && message.hasOwnProperty("spans")) {
if (!Array.isArray(message.spans))
return "spans: array expected";
for (var i3 = 0; i3 < message.spans.length; ++i3) {
var error40 = $root.opentelemetry.proto.trace.v1.Span.verify(message.spans[i3]);
if (error40)
return "spans." + error40;
}
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl")) {
if (!$util.isString(message.schemaUrl))
return "schemaUrl: string expected";
}
return null;
};
ScopeSpans.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.trace.v1.ScopeSpans)
return object3;
var message = new $root.opentelemetry.proto.trace.v1.ScopeSpans();
if (object3.scope != null) {
if (typeof object3.scope !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.ScopeSpans.scope: object expected");
message.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.fromObject(object3.scope);
}
if (object3.spans) {
if (!Array.isArray(object3.spans))
throw TypeError(".opentelemetry.proto.trace.v1.ScopeSpans.spans: array expected");
message.spans = [];
for (var i3 = 0; i3 < object3.spans.length; ++i3) {
if (typeof object3.spans[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.ScopeSpans.spans: object expected");
message.spans[i3] = $root.opentelemetry.proto.trace.v1.Span.fromObject(object3.spans[i3]);
}
}
if (object3.schemaUrl != null)
message.schemaUrl = String(object3.schemaUrl);
return message;
};
ScopeSpans.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.spans = [];
if (options.defaults) {
object3.scope = null;
object3.schemaUrl = "";
}
if (message.scope != null && message.hasOwnProperty("scope"))
object3.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.toObject(message.scope, options);
if (message.spans && message.spans.length) {
object3.spans = [];
for (var j = 0; j < message.spans.length; ++j)
object3.spans[j] = $root.opentelemetry.proto.trace.v1.Span.toObject(message.spans[j], options);
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl"))
object3.schemaUrl = message.schemaUrl;
return object3;
};
ScopeSpans.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ScopeSpans.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.trace.v1.ScopeSpans";
};
return ScopeSpans;
}();
v13.Span = function() {
function Span(properties) {
this.attributes = [];
this.events = [];
this.links = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Span.prototype.traceId = null;
Span.prototype.spanId = null;
Span.prototype.traceState = null;
Span.prototype.parentSpanId = null;
Span.prototype.flags = null;
Span.prototype.name = null;
Span.prototype.kind = null;
Span.prototype.startTimeUnixNano = null;
Span.prototype.endTimeUnixNano = null;
Span.prototype.attributes = $util.emptyArray;
Span.prototype.droppedAttributesCount = null;
Span.prototype.events = $util.emptyArray;
Span.prototype.droppedEventsCount = null;
Span.prototype.links = $util.emptyArray;
Span.prototype.droppedLinksCount = null;
Span.prototype.status = null;
Span.create = function create(properties) {
return new Span(properties);
};
Span.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.traceId != null && Object.hasOwnProperty.call(message, "traceId"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).bytes(message.traceId);
if (message.spanId != null && Object.hasOwnProperty.call(message, "spanId"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).bytes(message.spanId);
if (message.traceState != null && Object.hasOwnProperty.call(message, "traceState"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.traceState);
if (message.parentSpanId != null && Object.hasOwnProperty.call(message, "parentSpanId"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).bytes(message.parentSpanId);
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.name);
if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).int32(message.kind);
if (message.startTimeUnixNano != null && Object.hasOwnProperty.call(message, "startTimeUnixNano"))
writer.uint32(
/* id 7, wireType 1 =*/
57
).fixed64(message.startTimeUnixNano);
if (message.endTimeUnixNano != null && Object.hasOwnProperty.call(message, "endTimeUnixNano"))
writer.uint32(
/* id 8, wireType 1 =*/
65
).fixed64(message.endTimeUnixNano);
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.droppedAttributesCount != null && Object.hasOwnProperty.call(message, "droppedAttributesCount"))
writer.uint32(
/* id 10, wireType 0 =*/
80
).uint32(message.droppedAttributesCount);
if (message.events != null && message.events.length)
for (var i3 = 0; i3 < message.events.length; ++i3)
$root.opentelemetry.proto.trace.v1.Span.Event.encode(message.events[i3], writer.uint32(
/* id 11, wireType 2 =*/
90
).fork()).ldelim();
if (message.droppedEventsCount != null && Object.hasOwnProperty.call(message, "droppedEventsCount"))
writer.uint32(
/* id 12, wireType 0 =*/
96
).uint32(message.droppedEventsCount);
if (message.links != null && message.links.length)
for (var i3 = 0; i3 < message.links.length; ++i3)
$root.opentelemetry.proto.trace.v1.Span.Link.encode(message.links[i3], writer.uint32(
/* id 13, wireType 2 =*/
106
).fork()).ldelim();
if (message.droppedLinksCount != null && Object.hasOwnProperty.call(message, "droppedLinksCount"))
writer.uint32(
/* id 14, wireType 0 =*/
112
).uint32(message.droppedLinksCount);
if (message.status != null && Object.hasOwnProperty.call(message, "status"))
$root.opentelemetry.proto.trace.v1.Status.encode(message.status, writer.uint32(
/* id 15, wireType 2 =*/
122
).fork()).ldelim();
if (message.flags != null && Object.hasOwnProperty.call(message, "flags"))
writer.uint32(
/* id 16, wireType 5 =*/
133
).fixed32(message.flags);
return writer;
};
Span.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Span.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.trace.v1.Span();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.traceId = reader.bytes();
break;
}
case 2: {
message.spanId = reader.bytes();
break;
}
case 3: {
message.traceState = reader.string();
break;
}
case 4: {
message.parentSpanId = reader.bytes();
break;
}
case 16: {
message.flags = reader.fixed32();
break;
}
case 5: {
message.name = reader.string();
break;
}
case 6: {
message.kind = reader.int32();
break;
}
case 7: {
message.startTimeUnixNano = reader.fixed64();
break;
}
case 8: {
message.endTimeUnixNano = reader.fixed64();
break;
}
case 9: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 10: {
message.droppedAttributesCount = reader.uint32();
break;
}
case 11: {
if (!(message.events && message.events.length))
message.events = [];
message.events.push($root.opentelemetry.proto.trace.v1.Span.Event.decode(reader, reader.uint32()));
break;
}
case 12: {
message.droppedEventsCount = reader.uint32();
break;
}
case 13: {
if (!(message.links && message.links.length))
message.links = [];
message.links.push($root.opentelemetry.proto.trace.v1.Span.Link.decode(reader, reader.uint32()));
break;
}
case 14: {
message.droppedLinksCount = reader.uint32();
break;
}
case 15: {
message.status = $root.opentelemetry.proto.trace.v1.Status.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Span.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Span.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.traceId != null && message.hasOwnProperty("traceId")) {
if (!(message.traceId && typeof message.traceId.length === "number" || $util.isString(message.traceId)))
return "traceId: buffer expected";
}
if (message.spanId != null && message.hasOwnProperty("spanId")) {
if (!(message.spanId && typeof message.spanId.length === "number" || $util.isString(message.spanId)))
return "spanId: buffer expected";
}
if (message.traceState != null && message.hasOwnProperty("traceState")) {
if (!$util.isString(message.traceState))
return "traceState: string expected";
}
if (message.parentSpanId != null && message.hasOwnProperty("parentSpanId")) {
if (!(message.parentSpanId && typeof message.parentSpanId.length === "number" || $util.isString(message.parentSpanId)))
return "parentSpanId: buffer expected";
}
if (message.flags != null && message.hasOwnProperty("flags")) {
if (!$util.isInteger(message.flags))
return "flags: integer expected";
}
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.kind != null && message.hasOwnProperty("kind"))
switch (message.kind) {
default:
return "kind: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano")) {
if (!$util.isInteger(message.startTimeUnixNano) && !(message.startTimeUnixNano && $util.isInteger(message.startTimeUnixNano.low) && $util.isInteger(message.startTimeUnixNano.high)))
return "startTimeUnixNano: integer|Long expected";
}
if (message.endTimeUnixNano != null && message.hasOwnProperty("endTimeUnixNano")) {
if (!$util.isInteger(message.endTimeUnixNano) && !(message.endTimeUnixNano && $util.isInteger(message.endTimeUnixNano.low) && $util.isInteger(message.endTimeUnixNano.high)))
return "endTimeUnixNano: integer|Long expected";
}
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount")) {
if (!$util.isInteger(message.droppedAttributesCount))
return "droppedAttributesCount: integer expected";
}
if (message.events != null && message.hasOwnProperty("events")) {
if (!Array.isArray(message.events))
return "events: array expected";
for (var i3 = 0; i3 < message.events.length; ++i3) {
var error40 = $root.opentelemetry.proto.trace.v1.Span.Event.verify(message.events[i3]);
if (error40)
return "events." + error40;
}
}
if (message.droppedEventsCount != null && message.hasOwnProperty("droppedEventsCount")) {
if (!$util.isInteger(message.droppedEventsCount))
return "droppedEventsCount: integer expected";
}
if (message.links != null && message.hasOwnProperty("links")) {
if (!Array.isArray(message.links))
return "links: array expected";
for (var i3 = 0; i3 < message.links.length; ++i3) {
var error40 = $root.opentelemetry.proto.trace.v1.Span.Link.verify(message.links[i3]);
if (error40)
return "links." + error40;
}
}
if (message.droppedLinksCount != null && message.hasOwnProperty("droppedLinksCount")) {
if (!$util.isInteger(message.droppedLinksCount))
return "droppedLinksCount: integer expected";
}
if (message.status != null && message.hasOwnProperty("status")) {
var error40 = $root.opentelemetry.proto.trace.v1.Status.verify(message.status);
if (error40)
return "status." + error40;
}
return null;
};
Span.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.trace.v1.Span)
return object3;
var message = new $root.opentelemetry.proto.trace.v1.Span();
if (object3.traceId != null) {
if (typeof object3.traceId === "string")
$util.base64.decode(object3.traceId, message.traceId = $util.newBuffer($util.base64.length(object3.traceId)), 0);
else if (object3.traceId.length >= 0)
message.traceId = object3.traceId;
}
if (object3.spanId != null) {
if (typeof object3.spanId === "string")
$util.base64.decode(object3.spanId, message.spanId = $util.newBuffer($util.base64.length(object3.spanId)), 0);
else if (object3.spanId.length >= 0)
message.spanId = object3.spanId;
}
if (object3.traceState != null)
message.traceState = String(object3.traceState);
if (object3.parentSpanId != null) {
if (typeof object3.parentSpanId === "string")
$util.base64.decode(object3.parentSpanId, message.parentSpanId = $util.newBuffer($util.base64.length(object3.parentSpanId)), 0);
else if (object3.parentSpanId.length >= 0)
message.parentSpanId = object3.parentSpanId;
}
if (object3.flags != null)
message.flags = object3.flags >>> 0;
if (object3.name != null)
message.name = String(object3.name);
switch (object3.kind) {
default:
if (typeof object3.kind === "number") {
message.kind = object3.kind;
break;
}
break;
case "SPAN_KIND_UNSPECIFIED":
case 0:
message.kind = 0;
break;
case "SPAN_KIND_INTERNAL":
case 1:
message.kind = 1;
break;
case "SPAN_KIND_SERVER":
case 2:
message.kind = 2;
break;
case "SPAN_KIND_CLIENT":
case 3:
message.kind = 3;
break;
case "SPAN_KIND_PRODUCER":
case 4:
message.kind = 4;
break;
case "SPAN_KIND_CONSUMER":
case 5:
message.kind = 5;
break;
}
if (object3.startTimeUnixNano != null) {
if ($util.Long)
(message.startTimeUnixNano = $util.Long.fromValue(object3.startTimeUnixNano)).unsigned = false;
else if (typeof object3.startTimeUnixNano === "string")
message.startTimeUnixNano = parseInt(object3.startTimeUnixNano, 10);
else if (typeof object3.startTimeUnixNano === "number")
message.startTimeUnixNano = object3.startTimeUnixNano;
else if (typeof object3.startTimeUnixNano === "object")
message.startTimeUnixNano = new $util.LongBits(object3.startTimeUnixNano.low >>> 0, object3.startTimeUnixNano.high >>> 0).toNumber();
}
if (object3.endTimeUnixNano != null) {
if ($util.Long)
(message.endTimeUnixNano = $util.Long.fromValue(object3.endTimeUnixNano)).unsigned = false;
else if (typeof object3.endTimeUnixNano === "string")
message.endTimeUnixNano = parseInt(object3.endTimeUnixNano, 10);
else if (typeof object3.endTimeUnixNano === "number")
message.endTimeUnixNano = object3.endTimeUnixNano;
else if (typeof object3.endTimeUnixNano === "object")
message.endTimeUnixNano = new $util.LongBits(object3.endTimeUnixNano.low >>> 0, object3.endTimeUnixNano.high >>> 0).toNumber();
}
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.trace.v1.Span.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.Span.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.droppedAttributesCount != null)
message.droppedAttributesCount = object3.droppedAttributesCount >>> 0;
if (object3.events) {
if (!Array.isArray(object3.events))
throw TypeError(".opentelemetry.proto.trace.v1.Span.events: array expected");
message.events = [];
for (var i3 = 0; i3 < object3.events.length; ++i3) {
if (typeof object3.events[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.Span.events: object expected");
message.events[i3] = $root.opentelemetry.proto.trace.v1.Span.Event.fromObject(object3.events[i3]);
}
}
if (object3.droppedEventsCount != null)
message.droppedEventsCount = object3.droppedEventsCount >>> 0;
if (object3.links) {
if (!Array.isArray(object3.links))
throw TypeError(".opentelemetry.proto.trace.v1.Span.links: array expected");
message.links = [];
for (var i3 = 0; i3 < object3.links.length; ++i3) {
if (typeof object3.links[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.Span.links: object expected");
message.links[i3] = $root.opentelemetry.proto.trace.v1.Span.Link.fromObject(object3.links[i3]);
}
}
if (object3.droppedLinksCount != null)
message.droppedLinksCount = object3.droppedLinksCount >>> 0;
if (object3.status != null) {
if (typeof object3.status !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.Span.status: object expected");
message.status = $root.opentelemetry.proto.trace.v1.Status.fromObject(object3.status);
}
return message;
};
Span.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.attributes = [];
object3.events = [];
object3.links = [];
}
if (options.defaults) {
if (options.bytes === String)
object3.traceId = "";
else {
object3.traceId = [];
if (options.bytes !== Array)
object3.traceId = $util.newBuffer(object3.traceId);
}
if (options.bytes === String)
object3.spanId = "";
else {
object3.spanId = [];
if (options.bytes !== Array)
object3.spanId = $util.newBuffer(object3.spanId);
}
object3.traceState = "";
if (options.bytes === String)
object3.parentSpanId = "";
else {
object3.parentSpanId = [];
if (options.bytes !== Array)
object3.parentSpanId = $util.newBuffer(object3.parentSpanId);
}
object3.name = "";
object3.kind = options.enums === String ? "SPAN_KIND_UNSPECIFIED" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.startTimeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.startTimeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.endTimeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.endTimeUnixNano = options.longs === String ? "0" : 0;
object3.droppedAttributesCount = 0;
object3.droppedEventsCount = 0;
object3.droppedLinksCount = 0;
object3.status = null;
object3.flags = 0;
}
if (message.traceId != null && message.hasOwnProperty("traceId"))
object3.traceId = options.bytes === String ? $util.base64.encode(message.traceId, 0, message.traceId.length) : options.bytes === Array ? Array.prototype.slice.call(message.traceId) : message.traceId;
if (message.spanId != null && message.hasOwnProperty("spanId"))
object3.spanId = options.bytes === String ? $util.base64.encode(message.spanId, 0, message.spanId.length) : options.bytes === Array ? Array.prototype.slice.call(message.spanId) : message.spanId;
if (message.traceState != null && message.hasOwnProperty("traceState"))
object3.traceState = message.traceState;
if (message.parentSpanId != null && message.hasOwnProperty("parentSpanId"))
object3.parentSpanId = options.bytes === String ? $util.base64.encode(message.parentSpanId, 0, message.parentSpanId.length) : options.bytes === Array ? Array.prototype.slice.call(message.parentSpanId) : message.parentSpanId;
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.kind != null && message.hasOwnProperty("kind"))
object3.kind = options.enums === String ? $root.opentelemetry.proto.trace.v1.Span.SpanKind[message.kind] === void 0 ? message.kind : $root.opentelemetry.proto.trace.v1.Span.SpanKind[message.kind] : message.kind;
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano"))
if (typeof message.startTimeUnixNano === "number")
object3.startTimeUnixNano = options.longs === String ? String(message.startTimeUnixNano) : message.startTimeUnixNano;
else
object3.startTimeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeUnixNano) : options.longs === Number ? new $util.LongBits(message.startTimeUnixNano.low >>> 0, message.startTimeUnixNano.high >>> 0).toNumber() : message.startTimeUnixNano;
if (message.endTimeUnixNano != null && message.hasOwnProperty("endTimeUnixNano"))
if (typeof message.endTimeUnixNano === "number")
object3.endTimeUnixNano = options.longs === String ? String(message.endTimeUnixNano) : message.endTimeUnixNano;
else
object3.endTimeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.endTimeUnixNano) : options.longs === Number ? new $util.LongBits(message.endTimeUnixNano.low >>> 0, message.endTimeUnixNano.high >>> 0).toNumber() : message.endTimeUnixNano;
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount"))
object3.droppedAttributesCount = message.droppedAttributesCount;
if (message.events && message.events.length) {
object3.events = [];
for (var j = 0; j < message.events.length; ++j)
object3.events[j] = $root.opentelemetry.proto.trace.v1.Span.Event.toObject(message.events[j], options);
}
if (message.droppedEventsCount != null && message.hasOwnProperty("droppedEventsCount"))
object3.droppedEventsCount = message.droppedEventsCount;
if (message.links && message.links.length) {
object3.links = [];
for (var j = 0; j < message.links.length; ++j)
object3.links[j] = $root.opentelemetry.proto.trace.v1.Span.Link.toObject(message.links[j], options);
}
if (message.droppedLinksCount != null && message.hasOwnProperty("droppedLinksCount"))
object3.droppedLinksCount = message.droppedLinksCount;
if (message.status != null && message.hasOwnProperty("status"))
object3.status = $root.opentelemetry.proto.trace.v1.Status.toObject(message.status, options);
if (message.flags != null && message.hasOwnProperty("flags"))
object3.flags = message.flags;
return object3;
};
Span.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Span.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.trace.v1.Span";
};
Span.SpanKind = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "SPAN_KIND_UNSPECIFIED"] = 0;
values[valuesById[1] = "SPAN_KIND_INTERNAL"] = 1;
values[valuesById[2] = "SPAN_KIND_SERVER"] = 2;
values[valuesById[3] = "SPAN_KIND_CLIENT"] = 3;
values[valuesById[4] = "SPAN_KIND_PRODUCER"] = 4;
values[valuesById[5] = "SPAN_KIND_CONSUMER"] = 5;
return values;
}();
Span.Event = function() {
function Event2(properties) {
this.attributes = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Event2.prototype.timeUnixNano = null;
Event2.prototype.name = null;
Event2.prototype.attributes = $util.emptyArray;
Event2.prototype.droppedAttributesCount = null;
Event2.create = function create(properties) {
return new Event2(properties);
};
Event2.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.timeUnixNano != null && Object.hasOwnProperty.call(message, "timeUnixNano"))
writer.uint32(
/* id 1, wireType 1 =*/
9
).fixed64(message.timeUnixNano);
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.name);
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
if (message.droppedAttributesCount != null && Object.hasOwnProperty.call(message, "droppedAttributesCount"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).uint32(message.droppedAttributesCount);
return writer;
};
Event2.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Event2.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.trace.v1.Span.Event();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.timeUnixNano = reader.fixed64();
break;
}
case 2: {
message.name = reader.string();
break;
}
case 3: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 4: {
message.droppedAttributesCount = reader.uint32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Event2.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Event2.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano")) {
if (!$util.isInteger(message.timeUnixNano) && !(message.timeUnixNano && $util.isInteger(message.timeUnixNano.low) && $util.isInteger(message.timeUnixNano.high)))
return "timeUnixNano: integer|Long expected";
}
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount")) {
if (!$util.isInteger(message.droppedAttributesCount))
return "droppedAttributesCount: integer expected";
}
return null;
};
Event2.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.trace.v1.Span.Event)
return object3;
var message = new $root.opentelemetry.proto.trace.v1.Span.Event();
if (object3.timeUnixNano != null) {
if ($util.Long)
(message.timeUnixNano = $util.Long.fromValue(object3.timeUnixNano)).unsigned = false;
else if (typeof object3.timeUnixNano === "string")
message.timeUnixNano = parseInt(object3.timeUnixNano, 10);
else if (typeof object3.timeUnixNano === "number")
message.timeUnixNano = object3.timeUnixNano;
else if (typeof object3.timeUnixNano === "object")
message.timeUnixNano = new $util.LongBits(object3.timeUnixNano.low >>> 0, object3.timeUnixNano.high >>> 0).toNumber();
}
if (object3.name != null)
message.name = String(object3.name);
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.trace.v1.Span.Event.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.Span.Event.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.droppedAttributesCount != null)
message.droppedAttributesCount = object3.droppedAttributesCount >>> 0;
return message;
};
Event2.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.attributes = [];
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.timeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.timeUnixNano = options.longs === String ? "0" : 0;
object3.name = "";
object3.droppedAttributesCount = 0;
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano"))
if (typeof message.timeUnixNano === "number")
object3.timeUnixNano = options.longs === String ? String(message.timeUnixNano) : message.timeUnixNano;
else
object3.timeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.timeUnixNano) : options.longs === Number ? new $util.LongBits(message.timeUnixNano.low >>> 0, message.timeUnixNano.high >>> 0).toNumber() : message.timeUnixNano;
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount"))
object3.droppedAttributesCount = message.droppedAttributesCount;
return object3;
};
Event2.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Event2.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.trace.v1.Span.Event";
};
return Event2;
}();
Span.Link = function() {
function Link(properties) {
this.attributes = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Link.prototype.traceId = null;
Link.prototype.spanId = null;
Link.prototype.traceState = null;
Link.prototype.attributes = $util.emptyArray;
Link.prototype.droppedAttributesCount = null;
Link.prototype.flags = null;
Link.create = function create(properties) {
return new Link(properties);
};
Link.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.traceId != null && Object.hasOwnProperty.call(message, "traceId"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).bytes(message.traceId);
if (message.spanId != null && Object.hasOwnProperty.call(message, "spanId"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).bytes(message.spanId);
if (message.traceState != null && Object.hasOwnProperty.call(message, "traceState"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.traceState);
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.droppedAttributesCount != null && Object.hasOwnProperty.call(message, "droppedAttributesCount"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).uint32(message.droppedAttributesCount);
if (message.flags != null && Object.hasOwnProperty.call(message, "flags"))
writer.uint32(
/* id 6, wireType 5 =*/
53
).fixed32(message.flags);
return writer;
};
Link.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Link.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.trace.v1.Span.Link();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.traceId = reader.bytes();
break;
}
case 2: {
message.spanId = reader.bytes();
break;
}
case 3: {
message.traceState = reader.string();
break;
}
case 4: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 5: {
message.droppedAttributesCount = reader.uint32();
break;
}
case 6: {
message.flags = reader.fixed32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Link.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Link.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.traceId != null && message.hasOwnProperty("traceId")) {
if (!(message.traceId && typeof message.traceId.length === "number" || $util.isString(message.traceId)))
return "traceId: buffer expected";
}
if (message.spanId != null && message.hasOwnProperty("spanId")) {
if (!(message.spanId && typeof message.spanId.length === "number" || $util.isString(message.spanId)))
return "spanId: buffer expected";
}
if (message.traceState != null && message.hasOwnProperty("traceState")) {
if (!$util.isString(message.traceState))
return "traceState: string expected";
}
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount")) {
if (!$util.isInteger(message.droppedAttributesCount))
return "droppedAttributesCount: integer expected";
}
if (message.flags != null && message.hasOwnProperty("flags")) {
if (!$util.isInteger(message.flags))
return "flags: integer expected";
}
return null;
};
Link.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.trace.v1.Span.Link)
return object3;
var message = new $root.opentelemetry.proto.trace.v1.Span.Link();
if (object3.traceId != null) {
if (typeof object3.traceId === "string")
$util.base64.decode(object3.traceId, message.traceId = $util.newBuffer($util.base64.length(object3.traceId)), 0);
else if (object3.traceId.length >= 0)
message.traceId = object3.traceId;
}
if (object3.spanId != null) {
if (typeof object3.spanId === "string")
$util.base64.decode(object3.spanId, message.spanId = $util.newBuffer($util.base64.length(object3.spanId)), 0);
else if (object3.spanId.length >= 0)
message.spanId = object3.spanId;
}
if (object3.traceState != null)
message.traceState = String(object3.traceState);
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.trace.v1.Span.Link.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.trace.v1.Span.Link.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.droppedAttributesCount != null)
message.droppedAttributesCount = object3.droppedAttributesCount >>> 0;
if (object3.flags != null)
message.flags = object3.flags >>> 0;
return message;
};
Link.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.attributes = [];
if (options.defaults) {
if (options.bytes === String)
object3.traceId = "";
else {
object3.traceId = [];
if (options.bytes !== Array)
object3.traceId = $util.newBuffer(object3.traceId);
}
if (options.bytes === String)
object3.spanId = "";
else {
object3.spanId = [];
if (options.bytes !== Array)
object3.spanId = $util.newBuffer(object3.spanId);
}
object3.traceState = "";
object3.droppedAttributesCount = 0;
object3.flags = 0;
}
if (message.traceId != null && message.hasOwnProperty("traceId"))
object3.traceId = options.bytes === String ? $util.base64.encode(message.traceId, 0, message.traceId.length) : options.bytes === Array ? Array.prototype.slice.call(message.traceId) : message.traceId;
if (message.spanId != null && message.hasOwnProperty("spanId"))
object3.spanId = options.bytes === String ? $util.base64.encode(message.spanId, 0, message.spanId.length) : options.bytes === Array ? Array.prototype.slice.call(message.spanId) : message.spanId;
if (message.traceState != null && message.hasOwnProperty("traceState"))
object3.traceState = message.traceState;
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount"))
object3.droppedAttributesCount = message.droppedAttributesCount;
if (message.flags != null && message.hasOwnProperty("flags"))
object3.flags = message.flags;
return object3;
};
Link.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Link.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.trace.v1.Span.Link";
};
return Link;
}();
return Span;
}();
v13.Status = function() {
function Status(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Status.prototype.message = null;
Status.prototype.code = null;
Status.create = function create(properties) {
return new Status(properties);
};
Status.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.message != null && Object.hasOwnProperty.call(message, "message"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.message);
if (message.code != null && Object.hasOwnProperty.call(message, "code"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.code);
return writer;
};
Status.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Status.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.trace.v1.Status();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 2: {
message.message = reader.string();
break;
}
case 3: {
message.code = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Status.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Status.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.message != null && message.hasOwnProperty("message")) {
if (!$util.isString(message.message))
return "message: string expected";
}
if (message.code != null && message.hasOwnProperty("code"))
switch (message.code) {
default:
return "code: enum value expected";
case 0:
case 1:
case 2:
break;
}
return null;
};
Status.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.trace.v1.Status)
return object3;
var message = new $root.opentelemetry.proto.trace.v1.Status();
if (object3.message != null)
message.message = String(object3.message);
switch (object3.code) {
default:
if (typeof object3.code === "number") {
message.code = object3.code;
break;
}
break;
case "STATUS_CODE_UNSET":
case 0:
message.code = 0;
break;
case "STATUS_CODE_OK":
case 1:
message.code = 1;
break;
case "STATUS_CODE_ERROR":
case 2:
message.code = 2;
break;
}
return message;
};
Status.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.message = "";
object3.code = options.enums === String ? "STATUS_CODE_UNSET" : 0;
}
if (message.message != null && message.hasOwnProperty("message"))
object3.message = message.message;
if (message.code != null && message.hasOwnProperty("code"))
object3.code = options.enums === String ? $root.opentelemetry.proto.trace.v1.Status.StatusCode[message.code] === void 0 ? message.code : $root.opentelemetry.proto.trace.v1.Status.StatusCode[message.code] : message.code;
return object3;
};
Status.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Status.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.trace.v1.Status";
};
Status.StatusCode = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "STATUS_CODE_UNSET"] = 0;
values[valuesById[1] = "STATUS_CODE_OK"] = 1;
values[valuesById[2] = "STATUS_CODE_ERROR"] = 2;
return values;
}();
return Status;
}();
v13.SpanFlags = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "SPAN_FLAGS_DO_NOT_USE"] = 0;
values[valuesById[255] = "SPAN_FLAGS_TRACE_FLAGS_MASK"] = 255;
values[valuesById[256] = "SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK"] = 256;
values[valuesById[512] = "SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK"] = 512;
return values;
}();
return v13;
}();
return trace2;
}();
proto.collector = function() {
var collector = {};
collector.trace = function() {
var trace2 = {};
trace2.v1 = function() {
var v13 = {};
v13.TraceService = function() {
function TraceService(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(TraceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = TraceService;
TraceService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
Object.defineProperty(TraceService.prototype["export"] = function export_(request, callback) {
return this.rpcCall(export_, $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest, $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse, request, callback);
}, "name", { value: "Export" });
return TraceService;
}();
v13.ExportTraceServiceRequest = function() {
function ExportTraceServiceRequest(properties) {
this.resourceSpans = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportTraceServiceRequest.prototype.resourceSpans = $util.emptyArray;
ExportTraceServiceRequest.create = function create(properties) {
return new ExportTraceServiceRequest(properties);
};
ExportTraceServiceRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceSpans != null && message.resourceSpans.length)
for (var i3 = 0; i3 < message.resourceSpans.length; ++i3)
$root.opentelemetry.proto.trace.v1.ResourceSpans.encode(message.resourceSpans[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ExportTraceServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportTraceServiceRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceSpans && message.resourceSpans.length))
message.resourceSpans = [];
message.resourceSpans.push($root.opentelemetry.proto.trace.v1.ResourceSpans.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportTraceServiceRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportTraceServiceRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceSpans != null && message.hasOwnProperty("resourceSpans")) {
if (!Array.isArray(message.resourceSpans))
return "resourceSpans: array expected";
for (var i3 = 0; i3 < message.resourceSpans.length; ++i3) {
var error40 = $root.opentelemetry.proto.trace.v1.ResourceSpans.verify(message.resourceSpans[i3]);
if (error40)
return "resourceSpans." + error40;
}
}
return null;
};
ExportTraceServiceRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest)
return object3;
var message = new $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest();
if (object3.resourceSpans) {
if (!Array.isArray(object3.resourceSpans))
throw TypeError(".opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest.resourceSpans: array expected");
message.resourceSpans = [];
for (var i3 = 0; i3 < object3.resourceSpans.length; ++i3) {
if (typeof object3.resourceSpans[i3] !== "object")
throw TypeError(".opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest.resourceSpans: object expected");
message.resourceSpans[i3] = $root.opentelemetry.proto.trace.v1.ResourceSpans.fromObject(object3.resourceSpans[i3]);
}
}
return message;
};
ExportTraceServiceRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceSpans = [];
if (message.resourceSpans && message.resourceSpans.length) {
object3.resourceSpans = [];
for (var j = 0; j < message.resourceSpans.length; ++j)
object3.resourceSpans[j] = $root.opentelemetry.proto.trace.v1.ResourceSpans.toObject(message.resourceSpans[j], options);
}
return object3;
};
ExportTraceServiceRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportTraceServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest";
};
return ExportTraceServiceRequest;
}();
v13.ExportTraceServiceResponse = function() {
function ExportTraceServiceResponse(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportTraceServiceResponse.prototype.partialSuccess = null;
ExportTraceServiceResponse.create = function create(properties) {
return new ExportTraceServiceResponse(properties);
};
ExportTraceServiceResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.partialSuccess != null && Object.hasOwnProperty.call(message, "partialSuccess"))
$root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess.encode(message.partialSuccess, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ExportTraceServiceResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportTraceServiceResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.partialSuccess = $root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportTraceServiceResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportTraceServiceResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess")) {
var error40 = $root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess.verify(message.partialSuccess);
if (error40)
return "partialSuccess." + error40;
}
return null;
};
ExportTraceServiceResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse)
return object3;
var message = new $root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse();
if (object3.partialSuccess != null) {
if (typeof object3.partialSuccess !== "object")
throw TypeError(".opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse.partialSuccess: object expected");
message.partialSuccess = $root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess.fromObject(object3.partialSuccess);
}
return message;
};
ExportTraceServiceResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.partialSuccess = null;
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess"))
object3.partialSuccess = $root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess.toObject(message.partialSuccess, options);
return object3;
};
ExportTraceServiceResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportTraceServiceResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse";
};
return ExportTraceServiceResponse;
}();
v13.ExportTracePartialSuccess = function() {
function ExportTracePartialSuccess(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportTracePartialSuccess.prototype.rejectedSpans = null;
ExportTracePartialSuccess.prototype.errorMessage = null;
ExportTracePartialSuccess.create = function create(properties) {
return new ExportTracePartialSuccess(properties);
};
ExportTracePartialSuccess.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.rejectedSpans != null && Object.hasOwnProperty.call(message, "rejectedSpans"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int64(message.rejectedSpans);
if (message.errorMessage != null && Object.hasOwnProperty.call(message, "errorMessage"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.errorMessage);
return writer;
};
ExportTracePartialSuccess.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportTracePartialSuccess.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.rejectedSpans = reader.int64();
break;
}
case 2: {
message.errorMessage = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportTracePartialSuccess.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportTracePartialSuccess.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.rejectedSpans != null && message.hasOwnProperty("rejectedSpans")) {
if (!$util.isInteger(message.rejectedSpans) && !(message.rejectedSpans && $util.isInteger(message.rejectedSpans.low) && $util.isInteger(message.rejectedSpans.high)))
return "rejectedSpans: integer|Long expected";
}
if (message.errorMessage != null && message.hasOwnProperty("errorMessage")) {
if (!$util.isString(message.errorMessage))
return "errorMessage: string expected";
}
return null;
};
ExportTracePartialSuccess.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess)
return object3;
var message = new $root.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess();
if (object3.rejectedSpans != null) {
if ($util.Long)
(message.rejectedSpans = $util.Long.fromValue(object3.rejectedSpans)).unsigned = false;
else if (typeof object3.rejectedSpans === "string")
message.rejectedSpans = parseInt(object3.rejectedSpans, 10);
else if (typeof object3.rejectedSpans === "number")
message.rejectedSpans = object3.rejectedSpans;
else if (typeof object3.rejectedSpans === "object")
message.rejectedSpans = new $util.LongBits(object3.rejectedSpans.low >>> 0, object3.rejectedSpans.high >>> 0).toNumber();
}
if (object3.errorMessage != null)
message.errorMessage = String(object3.errorMessage);
return message;
};
ExportTracePartialSuccess.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.rejectedSpans = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.rejectedSpans = options.longs === String ? "0" : 0;
object3.errorMessage = "";
}
if (message.rejectedSpans != null && message.hasOwnProperty("rejectedSpans"))
if (typeof message.rejectedSpans === "number")
object3.rejectedSpans = options.longs === String ? String(message.rejectedSpans) : message.rejectedSpans;
else
object3.rejectedSpans = options.longs === String ? $util.Long.prototype.toString.call(message.rejectedSpans) : options.longs === Number ? new $util.LongBits(message.rejectedSpans.low >>> 0, message.rejectedSpans.high >>> 0).toNumber() : message.rejectedSpans;
if (message.errorMessage != null && message.hasOwnProperty("errorMessage"))
object3.errorMessage = message.errorMessage;
return object3;
};
ExportTracePartialSuccess.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportTracePartialSuccess.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess";
};
return ExportTracePartialSuccess;
}();
return v13;
}();
return trace2;
}();
collector.metrics = function() {
var metrics2 = {};
metrics2.v1 = function() {
var v13 = {};
v13.MetricsService = function() {
function MetricsService(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(MetricsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = MetricsService;
MetricsService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
Object.defineProperty(MetricsService.prototype["export"] = function export_(request, callback) {
return this.rpcCall(export_, $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest, $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse, request, callback);
}, "name", { value: "Export" });
return MetricsService;
}();
v13.ExportMetricsServiceRequest = function() {
function ExportMetricsServiceRequest(properties) {
this.resourceMetrics = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportMetricsServiceRequest.prototype.resourceMetrics = $util.emptyArray;
ExportMetricsServiceRequest.create = function create(properties) {
return new ExportMetricsServiceRequest(properties);
};
ExportMetricsServiceRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceMetrics != null && message.resourceMetrics.length)
for (var i3 = 0; i3 < message.resourceMetrics.length; ++i3)
$root.opentelemetry.proto.metrics.v1.ResourceMetrics.encode(message.resourceMetrics[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ExportMetricsServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportMetricsServiceRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceMetrics && message.resourceMetrics.length))
message.resourceMetrics = [];
message.resourceMetrics.push($root.opentelemetry.proto.metrics.v1.ResourceMetrics.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportMetricsServiceRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportMetricsServiceRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceMetrics != null && message.hasOwnProperty("resourceMetrics")) {
if (!Array.isArray(message.resourceMetrics))
return "resourceMetrics: array expected";
for (var i3 = 0; i3 < message.resourceMetrics.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.ResourceMetrics.verify(message.resourceMetrics[i3]);
if (error40)
return "resourceMetrics." + error40;
}
}
return null;
};
ExportMetricsServiceRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest)
return object3;
var message = new $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest();
if (object3.resourceMetrics) {
if (!Array.isArray(object3.resourceMetrics))
throw TypeError(".opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest.resourceMetrics: array expected");
message.resourceMetrics = [];
for (var i3 = 0; i3 < object3.resourceMetrics.length; ++i3) {
if (typeof object3.resourceMetrics[i3] !== "object")
throw TypeError(".opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest.resourceMetrics: object expected");
message.resourceMetrics[i3] = $root.opentelemetry.proto.metrics.v1.ResourceMetrics.fromObject(object3.resourceMetrics[i3]);
}
}
return message;
};
ExportMetricsServiceRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceMetrics = [];
if (message.resourceMetrics && message.resourceMetrics.length) {
object3.resourceMetrics = [];
for (var j = 0; j < message.resourceMetrics.length; ++j)
object3.resourceMetrics[j] = $root.opentelemetry.proto.metrics.v1.ResourceMetrics.toObject(message.resourceMetrics[j], options);
}
return object3;
};
ExportMetricsServiceRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportMetricsServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest";
};
return ExportMetricsServiceRequest;
}();
v13.ExportMetricsServiceResponse = function() {
function ExportMetricsServiceResponse(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportMetricsServiceResponse.prototype.partialSuccess = null;
ExportMetricsServiceResponse.create = function create(properties) {
return new ExportMetricsServiceResponse(properties);
};
ExportMetricsServiceResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.partialSuccess != null && Object.hasOwnProperty.call(message, "partialSuccess"))
$root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess.encode(message.partialSuccess, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ExportMetricsServiceResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportMetricsServiceResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.partialSuccess = $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportMetricsServiceResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportMetricsServiceResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess")) {
var error40 = $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess.verify(message.partialSuccess);
if (error40)
return "partialSuccess." + error40;
}
return null;
};
ExportMetricsServiceResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse)
return object3;
var message = new $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse();
if (object3.partialSuccess != null) {
if (typeof object3.partialSuccess !== "object")
throw TypeError(".opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse.partialSuccess: object expected");
message.partialSuccess = $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess.fromObject(object3.partialSuccess);
}
return message;
};
ExportMetricsServiceResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.partialSuccess = null;
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess"))
object3.partialSuccess = $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess.toObject(message.partialSuccess, options);
return object3;
};
ExportMetricsServiceResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportMetricsServiceResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse";
};
return ExportMetricsServiceResponse;
}();
v13.ExportMetricsPartialSuccess = function() {
function ExportMetricsPartialSuccess(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportMetricsPartialSuccess.prototype.rejectedDataPoints = null;
ExportMetricsPartialSuccess.prototype.errorMessage = null;
ExportMetricsPartialSuccess.create = function create(properties) {
return new ExportMetricsPartialSuccess(properties);
};
ExportMetricsPartialSuccess.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.rejectedDataPoints != null && Object.hasOwnProperty.call(message, "rejectedDataPoints"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int64(message.rejectedDataPoints);
if (message.errorMessage != null && Object.hasOwnProperty.call(message, "errorMessage"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.errorMessage);
return writer;
};
ExportMetricsPartialSuccess.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportMetricsPartialSuccess.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.rejectedDataPoints = reader.int64();
break;
}
case 2: {
message.errorMessage = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportMetricsPartialSuccess.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportMetricsPartialSuccess.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.rejectedDataPoints != null && message.hasOwnProperty("rejectedDataPoints")) {
if (!$util.isInteger(message.rejectedDataPoints) && !(message.rejectedDataPoints && $util.isInteger(message.rejectedDataPoints.low) && $util.isInteger(message.rejectedDataPoints.high)))
return "rejectedDataPoints: integer|Long expected";
}
if (message.errorMessage != null && message.hasOwnProperty("errorMessage")) {
if (!$util.isString(message.errorMessage))
return "errorMessage: string expected";
}
return null;
};
ExportMetricsPartialSuccess.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess)
return object3;
var message = new $root.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess();
if (object3.rejectedDataPoints != null) {
if ($util.Long)
(message.rejectedDataPoints = $util.Long.fromValue(object3.rejectedDataPoints)).unsigned = false;
else if (typeof object3.rejectedDataPoints === "string")
message.rejectedDataPoints = parseInt(object3.rejectedDataPoints, 10);
else if (typeof object3.rejectedDataPoints === "number")
message.rejectedDataPoints = object3.rejectedDataPoints;
else if (typeof object3.rejectedDataPoints === "object")
message.rejectedDataPoints = new $util.LongBits(object3.rejectedDataPoints.low >>> 0, object3.rejectedDataPoints.high >>> 0).toNumber();
}
if (object3.errorMessage != null)
message.errorMessage = String(object3.errorMessage);
return message;
};
ExportMetricsPartialSuccess.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.rejectedDataPoints = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.rejectedDataPoints = options.longs === String ? "0" : 0;
object3.errorMessage = "";
}
if (message.rejectedDataPoints != null && message.hasOwnProperty("rejectedDataPoints"))
if (typeof message.rejectedDataPoints === "number")
object3.rejectedDataPoints = options.longs === String ? String(message.rejectedDataPoints) : message.rejectedDataPoints;
else
object3.rejectedDataPoints = options.longs === String ? $util.Long.prototype.toString.call(message.rejectedDataPoints) : options.longs === Number ? new $util.LongBits(message.rejectedDataPoints.low >>> 0, message.rejectedDataPoints.high >>> 0).toNumber() : message.rejectedDataPoints;
if (message.errorMessage != null && message.hasOwnProperty("errorMessage"))
object3.errorMessage = message.errorMessage;
return object3;
};
ExportMetricsPartialSuccess.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportMetricsPartialSuccess.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess";
};
return ExportMetricsPartialSuccess;
}();
return v13;
}();
return metrics2;
}();
collector.logs = function() {
var logs3 = {};
logs3.v1 = function() {
var v13 = {};
v13.LogsService = function() {
function LogsService(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(LogsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = LogsService;
LogsService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
Object.defineProperty(LogsService.prototype["export"] = function export_(request, callback) {
return this.rpcCall(export_, $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest, $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse, request, callback);
}, "name", { value: "Export" });
return LogsService;
}();
v13.ExportLogsServiceRequest = function() {
function ExportLogsServiceRequest(properties) {
this.resourceLogs = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportLogsServiceRequest.prototype.resourceLogs = $util.emptyArray;
ExportLogsServiceRequest.create = function create(properties) {
return new ExportLogsServiceRequest(properties);
};
ExportLogsServiceRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceLogs != null && message.resourceLogs.length)
for (var i3 = 0; i3 < message.resourceLogs.length; ++i3)
$root.opentelemetry.proto.logs.v1.ResourceLogs.encode(message.resourceLogs[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ExportLogsServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportLogsServiceRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceLogs && message.resourceLogs.length))
message.resourceLogs = [];
message.resourceLogs.push($root.opentelemetry.proto.logs.v1.ResourceLogs.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportLogsServiceRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportLogsServiceRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceLogs != null && message.hasOwnProperty("resourceLogs")) {
if (!Array.isArray(message.resourceLogs))
return "resourceLogs: array expected";
for (var i3 = 0; i3 < message.resourceLogs.length; ++i3) {
var error40 = $root.opentelemetry.proto.logs.v1.ResourceLogs.verify(message.resourceLogs[i3]);
if (error40)
return "resourceLogs." + error40;
}
}
return null;
};
ExportLogsServiceRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest)
return object3;
var message = new $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest();
if (object3.resourceLogs) {
if (!Array.isArray(object3.resourceLogs))
throw TypeError(".opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest.resourceLogs: array expected");
message.resourceLogs = [];
for (var i3 = 0; i3 < object3.resourceLogs.length; ++i3) {
if (typeof object3.resourceLogs[i3] !== "object")
throw TypeError(".opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest.resourceLogs: object expected");
message.resourceLogs[i3] = $root.opentelemetry.proto.logs.v1.ResourceLogs.fromObject(object3.resourceLogs[i3]);
}
}
return message;
};
ExportLogsServiceRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceLogs = [];
if (message.resourceLogs && message.resourceLogs.length) {
object3.resourceLogs = [];
for (var j = 0; j < message.resourceLogs.length; ++j)
object3.resourceLogs[j] = $root.opentelemetry.proto.logs.v1.ResourceLogs.toObject(message.resourceLogs[j], options);
}
return object3;
};
ExportLogsServiceRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportLogsServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest";
};
return ExportLogsServiceRequest;
}();
v13.ExportLogsServiceResponse = function() {
function ExportLogsServiceResponse(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportLogsServiceResponse.prototype.partialSuccess = null;
ExportLogsServiceResponse.create = function create(properties) {
return new ExportLogsServiceResponse(properties);
};
ExportLogsServiceResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.partialSuccess != null && Object.hasOwnProperty.call(message, "partialSuccess"))
$root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess.encode(message.partialSuccess, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ExportLogsServiceResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportLogsServiceResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.partialSuccess = $root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportLogsServiceResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportLogsServiceResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess")) {
var error40 = $root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess.verify(message.partialSuccess);
if (error40)
return "partialSuccess." + error40;
}
return null;
};
ExportLogsServiceResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse)
return object3;
var message = new $root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse();
if (object3.partialSuccess != null) {
if (typeof object3.partialSuccess !== "object")
throw TypeError(".opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse.partialSuccess: object expected");
message.partialSuccess = $root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess.fromObject(object3.partialSuccess);
}
return message;
};
ExportLogsServiceResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.partialSuccess = null;
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess"))
object3.partialSuccess = $root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess.toObject(message.partialSuccess, options);
return object3;
};
ExportLogsServiceResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportLogsServiceResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse";
};
return ExportLogsServiceResponse;
}();
v13.ExportLogsPartialSuccess = function() {
function ExportLogsPartialSuccess(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExportLogsPartialSuccess.prototype.rejectedLogRecords = null;
ExportLogsPartialSuccess.prototype.errorMessage = null;
ExportLogsPartialSuccess.create = function create(properties) {
return new ExportLogsPartialSuccess(properties);
};
ExportLogsPartialSuccess.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.rejectedLogRecords != null && Object.hasOwnProperty.call(message, "rejectedLogRecords"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int64(message.rejectedLogRecords);
if (message.errorMessage != null && Object.hasOwnProperty.call(message, "errorMessage"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.errorMessage);
return writer;
};
ExportLogsPartialSuccess.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExportLogsPartialSuccess.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.rejectedLogRecords = reader.int64();
break;
}
case 2: {
message.errorMessage = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExportLogsPartialSuccess.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExportLogsPartialSuccess.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.rejectedLogRecords != null && message.hasOwnProperty("rejectedLogRecords")) {
if (!$util.isInteger(message.rejectedLogRecords) && !(message.rejectedLogRecords && $util.isInteger(message.rejectedLogRecords.low) && $util.isInteger(message.rejectedLogRecords.high)))
return "rejectedLogRecords: integer|Long expected";
}
if (message.errorMessage != null && message.hasOwnProperty("errorMessage")) {
if (!$util.isString(message.errorMessage))
return "errorMessage: string expected";
}
return null;
};
ExportLogsPartialSuccess.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess)
return object3;
var message = new $root.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess();
if (object3.rejectedLogRecords != null) {
if ($util.Long)
(message.rejectedLogRecords = $util.Long.fromValue(object3.rejectedLogRecords)).unsigned = false;
else if (typeof object3.rejectedLogRecords === "string")
message.rejectedLogRecords = parseInt(object3.rejectedLogRecords, 10);
else if (typeof object3.rejectedLogRecords === "number")
message.rejectedLogRecords = object3.rejectedLogRecords;
else if (typeof object3.rejectedLogRecords === "object")
message.rejectedLogRecords = new $util.LongBits(object3.rejectedLogRecords.low >>> 0, object3.rejectedLogRecords.high >>> 0).toNumber();
}
if (object3.errorMessage != null)
message.errorMessage = String(object3.errorMessage);
return message;
};
ExportLogsPartialSuccess.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.rejectedLogRecords = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.rejectedLogRecords = options.longs === String ? "0" : 0;
object3.errorMessage = "";
}
if (message.rejectedLogRecords != null && message.hasOwnProperty("rejectedLogRecords"))
if (typeof message.rejectedLogRecords === "number")
object3.rejectedLogRecords = options.longs === String ? String(message.rejectedLogRecords) : message.rejectedLogRecords;
else
object3.rejectedLogRecords = options.longs === String ? $util.Long.prototype.toString.call(message.rejectedLogRecords) : options.longs === Number ? new $util.LongBits(message.rejectedLogRecords.low >>> 0, message.rejectedLogRecords.high >>> 0).toNumber() : message.rejectedLogRecords;
if (message.errorMessage != null && message.hasOwnProperty("errorMessage"))
object3.errorMessage = message.errorMessage;
return object3;
};
ExportLogsPartialSuccess.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExportLogsPartialSuccess.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess";
};
return ExportLogsPartialSuccess;
}();
return v13;
}();
return logs3;
}();
return collector;
}();
proto.metrics = function() {
var metrics2 = {};
metrics2.v1 = function() {
var v13 = {};
v13.MetricsData = function() {
function MetricsData(properties) {
this.resourceMetrics = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MetricsData.prototype.resourceMetrics = $util.emptyArray;
MetricsData.create = function create(properties) {
return new MetricsData(properties);
};
MetricsData.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceMetrics != null && message.resourceMetrics.length)
for (var i3 = 0; i3 < message.resourceMetrics.length; ++i3)
$root.opentelemetry.proto.metrics.v1.ResourceMetrics.encode(message.resourceMetrics[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
MetricsData.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MetricsData.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.MetricsData();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceMetrics && message.resourceMetrics.length))
message.resourceMetrics = [];
message.resourceMetrics.push($root.opentelemetry.proto.metrics.v1.ResourceMetrics.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MetricsData.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MetricsData.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceMetrics != null && message.hasOwnProperty("resourceMetrics")) {
if (!Array.isArray(message.resourceMetrics))
return "resourceMetrics: array expected";
for (var i3 = 0; i3 < message.resourceMetrics.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.ResourceMetrics.verify(message.resourceMetrics[i3]);
if (error40)
return "resourceMetrics." + error40;
}
}
return null;
};
MetricsData.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.MetricsData)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.MetricsData();
if (object3.resourceMetrics) {
if (!Array.isArray(object3.resourceMetrics))
throw TypeError(".opentelemetry.proto.metrics.v1.MetricsData.resourceMetrics: array expected");
message.resourceMetrics = [];
for (var i3 = 0; i3 < object3.resourceMetrics.length; ++i3) {
if (typeof object3.resourceMetrics[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.MetricsData.resourceMetrics: object expected");
message.resourceMetrics[i3] = $root.opentelemetry.proto.metrics.v1.ResourceMetrics.fromObject(object3.resourceMetrics[i3]);
}
}
return message;
};
MetricsData.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceMetrics = [];
if (message.resourceMetrics && message.resourceMetrics.length) {
object3.resourceMetrics = [];
for (var j = 0; j < message.resourceMetrics.length; ++j)
object3.resourceMetrics[j] = $root.opentelemetry.proto.metrics.v1.ResourceMetrics.toObject(message.resourceMetrics[j], options);
}
return object3;
};
MetricsData.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MetricsData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.MetricsData";
};
return MetricsData;
}();
v13.ResourceMetrics = function() {
function ResourceMetrics(properties) {
this.scopeMetrics = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ResourceMetrics.prototype.resource = null;
ResourceMetrics.prototype.scopeMetrics = $util.emptyArray;
ResourceMetrics.prototype.schemaUrl = null;
ResourceMetrics.create = function create(properties) {
return new ResourceMetrics(properties);
};
ResourceMetrics.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resource != null && Object.hasOwnProperty.call(message, "resource"))
$root.opentelemetry.proto.resource.v1.Resource.encode(message.resource, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.scopeMetrics != null && message.scopeMetrics.length)
for (var i3 = 0; i3 < message.scopeMetrics.length; ++i3)
$root.opentelemetry.proto.metrics.v1.ScopeMetrics.encode(message.scopeMetrics[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.schemaUrl != null && Object.hasOwnProperty.call(message, "schemaUrl"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.schemaUrl);
return writer;
};
ResourceMetrics.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ResourceMetrics.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.ResourceMetrics();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.resource = $root.opentelemetry.proto.resource.v1.Resource.decode(reader, reader.uint32());
break;
}
case 2: {
if (!(message.scopeMetrics && message.scopeMetrics.length))
message.scopeMetrics = [];
message.scopeMetrics.push($root.opentelemetry.proto.metrics.v1.ScopeMetrics.decode(reader, reader.uint32()));
break;
}
case 3: {
message.schemaUrl = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ResourceMetrics.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ResourceMetrics.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resource != null && message.hasOwnProperty("resource")) {
var error40 = $root.opentelemetry.proto.resource.v1.Resource.verify(message.resource);
if (error40)
return "resource." + error40;
}
if (message.scopeMetrics != null && message.hasOwnProperty("scopeMetrics")) {
if (!Array.isArray(message.scopeMetrics))
return "scopeMetrics: array expected";
for (var i3 = 0; i3 < message.scopeMetrics.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.ScopeMetrics.verify(message.scopeMetrics[i3]);
if (error40)
return "scopeMetrics." + error40;
}
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl")) {
if (!$util.isString(message.schemaUrl))
return "schemaUrl: string expected";
}
return null;
};
ResourceMetrics.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.ResourceMetrics)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.ResourceMetrics();
if (object3.resource != null) {
if (typeof object3.resource !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ResourceMetrics.resource: object expected");
message.resource = $root.opentelemetry.proto.resource.v1.Resource.fromObject(object3.resource);
}
if (object3.scopeMetrics) {
if (!Array.isArray(object3.scopeMetrics))
throw TypeError(".opentelemetry.proto.metrics.v1.ResourceMetrics.scopeMetrics: array expected");
message.scopeMetrics = [];
for (var i3 = 0; i3 < object3.scopeMetrics.length; ++i3) {
if (typeof object3.scopeMetrics[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ResourceMetrics.scopeMetrics: object expected");
message.scopeMetrics[i3] = $root.opentelemetry.proto.metrics.v1.ScopeMetrics.fromObject(object3.scopeMetrics[i3]);
}
}
if (object3.schemaUrl != null)
message.schemaUrl = String(object3.schemaUrl);
return message;
};
ResourceMetrics.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.scopeMetrics = [];
if (options.defaults) {
object3.resource = null;
object3.schemaUrl = "";
}
if (message.resource != null && message.hasOwnProperty("resource"))
object3.resource = $root.opentelemetry.proto.resource.v1.Resource.toObject(message.resource, options);
if (message.scopeMetrics && message.scopeMetrics.length) {
object3.scopeMetrics = [];
for (var j = 0; j < message.scopeMetrics.length; ++j)
object3.scopeMetrics[j] = $root.opentelemetry.proto.metrics.v1.ScopeMetrics.toObject(message.scopeMetrics[j], options);
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl"))
object3.schemaUrl = message.schemaUrl;
return object3;
};
ResourceMetrics.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ResourceMetrics.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.ResourceMetrics";
};
return ResourceMetrics;
}();
v13.ScopeMetrics = function() {
function ScopeMetrics(properties) {
this.metrics = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ScopeMetrics.prototype.scope = null;
ScopeMetrics.prototype.metrics = $util.emptyArray;
ScopeMetrics.prototype.schemaUrl = null;
ScopeMetrics.create = function create(properties) {
return new ScopeMetrics(properties);
};
ScopeMetrics.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
$root.opentelemetry.proto.common.v1.InstrumentationScope.encode(message.scope, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.metrics != null && message.metrics.length)
for (var i3 = 0; i3 < message.metrics.length; ++i3)
$root.opentelemetry.proto.metrics.v1.Metric.encode(message.metrics[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.schemaUrl != null && Object.hasOwnProperty.call(message, "schemaUrl"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.schemaUrl);
return writer;
};
ScopeMetrics.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ScopeMetrics.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.ScopeMetrics();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.decode(reader, reader.uint32());
break;
}
case 2: {
if (!(message.metrics && message.metrics.length))
message.metrics = [];
message.metrics.push($root.opentelemetry.proto.metrics.v1.Metric.decode(reader, reader.uint32()));
break;
}
case 3: {
message.schemaUrl = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ScopeMetrics.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ScopeMetrics.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.scope != null && message.hasOwnProperty("scope")) {
var error40 = $root.opentelemetry.proto.common.v1.InstrumentationScope.verify(message.scope);
if (error40)
return "scope." + error40;
}
if (message.metrics != null && message.hasOwnProperty("metrics")) {
if (!Array.isArray(message.metrics))
return "metrics: array expected";
for (var i3 = 0; i3 < message.metrics.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.Metric.verify(message.metrics[i3]);
if (error40)
return "metrics." + error40;
}
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl")) {
if (!$util.isString(message.schemaUrl))
return "schemaUrl: string expected";
}
return null;
};
ScopeMetrics.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.ScopeMetrics)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.ScopeMetrics();
if (object3.scope != null) {
if (typeof object3.scope !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ScopeMetrics.scope: object expected");
message.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.fromObject(object3.scope);
}
if (object3.metrics) {
if (!Array.isArray(object3.metrics))
throw TypeError(".opentelemetry.proto.metrics.v1.ScopeMetrics.metrics: array expected");
message.metrics = [];
for (var i3 = 0; i3 < object3.metrics.length; ++i3) {
if (typeof object3.metrics[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ScopeMetrics.metrics: object expected");
message.metrics[i3] = $root.opentelemetry.proto.metrics.v1.Metric.fromObject(object3.metrics[i3]);
}
}
if (object3.schemaUrl != null)
message.schemaUrl = String(object3.schemaUrl);
return message;
};
ScopeMetrics.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.metrics = [];
if (options.defaults) {
object3.scope = null;
object3.schemaUrl = "";
}
if (message.scope != null && message.hasOwnProperty("scope"))
object3.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.toObject(message.scope, options);
if (message.metrics && message.metrics.length) {
object3.metrics = [];
for (var j = 0; j < message.metrics.length; ++j)
object3.metrics[j] = $root.opentelemetry.proto.metrics.v1.Metric.toObject(message.metrics[j], options);
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl"))
object3.schemaUrl = message.schemaUrl;
return object3;
};
ScopeMetrics.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ScopeMetrics.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.ScopeMetrics";
};
return ScopeMetrics;
}();
v13.Metric = function() {
function Metric(properties) {
this.metadata = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Metric.prototype.name = null;
Metric.prototype.description = null;
Metric.prototype.unit = null;
Metric.prototype.gauge = null;
Metric.prototype.sum = null;
Metric.prototype.histogram = null;
Metric.prototype.exponentialHistogram = null;
Metric.prototype.summary = null;
Metric.prototype.metadata = $util.emptyArray;
var $oneOfFields;
Object.defineProperty(Metric.prototype, "data", {
get: $util.oneOfGetter($oneOfFields = ["gauge", "sum", "histogram", "exponentialHistogram", "summary"]),
set: $util.oneOfSetter($oneOfFields)
});
Metric.create = function create(properties) {
return new Metric(properties);
};
Metric.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.description);
if (message.unit != null && Object.hasOwnProperty.call(message, "unit"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.unit);
if (message.gauge != null && Object.hasOwnProperty.call(message, "gauge"))
$root.opentelemetry.proto.metrics.v1.Gauge.encode(message.gauge, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.sum != null && Object.hasOwnProperty.call(message, "sum"))
$root.opentelemetry.proto.metrics.v1.Sum.encode(message.sum, writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
if (message.histogram != null && Object.hasOwnProperty.call(message, "histogram"))
$root.opentelemetry.proto.metrics.v1.Histogram.encode(message.histogram, writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.exponentialHistogram != null && Object.hasOwnProperty.call(message, "exponentialHistogram"))
$root.opentelemetry.proto.metrics.v1.ExponentialHistogram.encode(message.exponentialHistogram, writer.uint32(
/* id 10, wireType 2 =*/
82
).fork()).ldelim();
if (message.summary != null && Object.hasOwnProperty.call(message, "summary"))
$root.opentelemetry.proto.metrics.v1.Summary.encode(message.summary, writer.uint32(
/* id 11, wireType 2 =*/
90
).fork()).ldelim();
if (message.metadata != null && message.metadata.length)
for (var i3 = 0; i3 < message.metadata.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.metadata[i3], writer.uint32(
/* id 12, wireType 2 =*/
98
).fork()).ldelim();
return writer;
};
Metric.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Metric.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.Metric();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.description = reader.string();
break;
}
case 3: {
message.unit = reader.string();
break;
}
case 5: {
message.gauge = $root.opentelemetry.proto.metrics.v1.Gauge.decode(reader, reader.uint32());
break;
}
case 7: {
message.sum = $root.opentelemetry.proto.metrics.v1.Sum.decode(reader, reader.uint32());
break;
}
case 9: {
message.histogram = $root.opentelemetry.proto.metrics.v1.Histogram.decode(reader, reader.uint32());
break;
}
case 10: {
message.exponentialHistogram = $root.opentelemetry.proto.metrics.v1.ExponentialHistogram.decode(reader, reader.uint32());
break;
}
case 11: {
message.summary = $root.opentelemetry.proto.metrics.v1.Summary.decode(reader, reader.uint32());
break;
}
case 12: {
if (!(message.metadata && message.metadata.length))
message.metadata = [];
message.metadata.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Metric.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Metric.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.unit != null && message.hasOwnProperty("unit")) {
if (!$util.isString(message.unit))
return "unit: string expected";
}
if (message.gauge != null && message.hasOwnProperty("gauge")) {
properties.data = 1;
{
var error40 = $root.opentelemetry.proto.metrics.v1.Gauge.verify(message.gauge);
if (error40)
return "gauge." + error40;
}
}
if (message.sum != null && message.hasOwnProperty("sum")) {
if (properties.data === 1)
return "data: multiple values";
properties.data = 1;
{
var error40 = $root.opentelemetry.proto.metrics.v1.Sum.verify(message.sum);
if (error40)
return "sum." + error40;
}
}
if (message.histogram != null && message.hasOwnProperty("histogram")) {
if (properties.data === 1)
return "data: multiple values";
properties.data = 1;
{
var error40 = $root.opentelemetry.proto.metrics.v1.Histogram.verify(message.histogram);
if (error40)
return "histogram." + error40;
}
}
if (message.exponentialHistogram != null && message.hasOwnProperty("exponentialHistogram")) {
if (properties.data === 1)
return "data: multiple values";
properties.data = 1;
{
var error40 = $root.opentelemetry.proto.metrics.v1.ExponentialHistogram.verify(message.exponentialHistogram);
if (error40)
return "exponentialHistogram." + error40;
}
}
if (message.summary != null && message.hasOwnProperty("summary")) {
if (properties.data === 1)
return "data: multiple values";
properties.data = 1;
{
var error40 = $root.opentelemetry.proto.metrics.v1.Summary.verify(message.summary);
if (error40)
return "summary." + error40;
}
}
if (message.metadata != null && message.hasOwnProperty("metadata")) {
if (!Array.isArray(message.metadata))
return "metadata: array expected";
for (var i3 = 0; i3 < message.metadata.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.metadata[i3]);
if (error40)
return "metadata." + error40;
}
}
return null;
};
Metric.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.Metric)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.Metric();
if (object3.name != null)
message.name = String(object3.name);
if (object3.description != null)
message.description = String(object3.description);
if (object3.unit != null)
message.unit = String(object3.unit);
if (object3.gauge != null) {
if (typeof object3.gauge !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Metric.gauge: object expected");
message.gauge = $root.opentelemetry.proto.metrics.v1.Gauge.fromObject(object3.gauge);
}
if (object3.sum != null) {
if (typeof object3.sum !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Metric.sum: object expected");
message.sum = $root.opentelemetry.proto.metrics.v1.Sum.fromObject(object3.sum);
}
if (object3.histogram != null) {
if (typeof object3.histogram !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Metric.histogram: object expected");
message.histogram = $root.opentelemetry.proto.metrics.v1.Histogram.fromObject(object3.histogram);
}
if (object3.exponentialHistogram != null) {
if (typeof object3.exponentialHistogram !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Metric.exponentialHistogram: object expected");
message.exponentialHistogram = $root.opentelemetry.proto.metrics.v1.ExponentialHistogram.fromObject(object3.exponentialHistogram);
}
if (object3.summary != null) {
if (typeof object3.summary !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Metric.summary: object expected");
message.summary = $root.opentelemetry.proto.metrics.v1.Summary.fromObject(object3.summary);
}
if (object3.metadata) {
if (!Array.isArray(object3.metadata))
throw TypeError(".opentelemetry.proto.metrics.v1.Metric.metadata: array expected");
message.metadata = [];
for (var i3 = 0; i3 < object3.metadata.length; ++i3) {
if (typeof object3.metadata[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Metric.metadata: object expected");
message.metadata[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.metadata[i3]);
}
}
return message;
};
Metric.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.metadata = [];
if (options.defaults) {
object3.name = "";
object3.description = "";
object3.unit = "";
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.unit != null && message.hasOwnProperty("unit"))
object3.unit = message.unit;
if (message.gauge != null && message.hasOwnProperty("gauge")) {
object3.gauge = $root.opentelemetry.proto.metrics.v1.Gauge.toObject(message.gauge, options);
if (options.oneofs)
object3.data = "gauge";
}
if (message.sum != null && message.hasOwnProperty("sum")) {
object3.sum = $root.opentelemetry.proto.metrics.v1.Sum.toObject(message.sum, options);
if (options.oneofs)
object3.data = "sum";
}
if (message.histogram != null && message.hasOwnProperty("histogram")) {
object3.histogram = $root.opentelemetry.proto.metrics.v1.Histogram.toObject(message.histogram, options);
if (options.oneofs)
object3.data = "histogram";
}
if (message.exponentialHistogram != null && message.hasOwnProperty("exponentialHistogram")) {
object3.exponentialHistogram = $root.opentelemetry.proto.metrics.v1.ExponentialHistogram.toObject(message.exponentialHistogram, options);
if (options.oneofs)
object3.data = "exponentialHistogram";
}
if (message.summary != null && message.hasOwnProperty("summary")) {
object3.summary = $root.opentelemetry.proto.metrics.v1.Summary.toObject(message.summary, options);
if (options.oneofs)
object3.data = "summary";
}
if (message.metadata && message.metadata.length) {
object3.metadata = [];
for (var j = 0; j < message.metadata.length; ++j)
object3.metadata[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.metadata[j], options);
}
return object3;
};
Metric.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Metric.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.Metric";
};
return Metric;
}();
v13.Gauge = function() {
function Gauge(properties) {
this.dataPoints = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Gauge.prototype.dataPoints = $util.emptyArray;
Gauge.create = function create(properties) {
return new Gauge(properties);
};
Gauge.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.dataPoints != null && message.dataPoints.length)
for (var i3 = 0; i3 < message.dataPoints.length; ++i3)
$root.opentelemetry.proto.metrics.v1.NumberDataPoint.encode(message.dataPoints[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
Gauge.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Gauge.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.Gauge();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.dataPoints && message.dataPoints.length))
message.dataPoints = [];
message.dataPoints.push($root.opentelemetry.proto.metrics.v1.NumberDataPoint.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Gauge.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Gauge.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.dataPoints != null && message.hasOwnProperty("dataPoints")) {
if (!Array.isArray(message.dataPoints))
return "dataPoints: array expected";
for (var i3 = 0; i3 < message.dataPoints.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.NumberDataPoint.verify(message.dataPoints[i3]);
if (error40)
return "dataPoints." + error40;
}
}
return null;
};
Gauge.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.Gauge)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.Gauge();
if (object3.dataPoints) {
if (!Array.isArray(object3.dataPoints))
throw TypeError(".opentelemetry.proto.metrics.v1.Gauge.dataPoints: array expected");
message.dataPoints = [];
for (var i3 = 0; i3 < object3.dataPoints.length; ++i3) {
if (typeof object3.dataPoints[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Gauge.dataPoints: object expected");
message.dataPoints[i3] = $root.opentelemetry.proto.metrics.v1.NumberDataPoint.fromObject(object3.dataPoints[i3]);
}
}
return message;
};
Gauge.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.dataPoints = [];
if (message.dataPoints && message.dataPoints.length) {
object3.dataPoints = [];
for (var j = 0; j < message.dataPoints.length; ++j)
object3.dataPoints[j] = $root.opentelemetry.proto.metrics.v1.NumberDataPoint.toObject(message.dataPoints[j], options);
}
return object3;
};
Gauge.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Gauge.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.Gauge";
};
return Gauge;
}();
v13.Sum = function() {
function Sum(properties) {
this.dataPoints = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Sum.prototype.dataPoints = $util.emptyArray;
Sum.prototype.aggregationTemporality = null;
Sum.prototype.isMonotonic = null;
Sum.create = function create(properties) {
return new Sum(properties);
};
Sum.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.dataPoints != null && message.dataPoints.length)
for (var i3 = 0; i3 < message.dataPoints.length; ++i3)
$root.opentelemetry.proto.metrics.v1.NumberDataPoint.encode(message.dataPoints[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.aggregationTemporality != null && Object.hasOwnProperty.call(message, "aggregationTemporality"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.aggregationTemporality);
if (message.isMonotonic != null && Object.hasOwnProperty.call(message, "isMonotonic"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.isMonotonic);
return writer;
};
Sum.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Sum.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.Sum();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.dataPoints && message.dataPoints.length))
message.dataPoints = [];
message.dataPoints.push($root.opentelemetry.proto.metrics.v1.NumberDataPoint.decode(reader, reader.uint32()));
break;
}
case 2: {
message.aggregationTemporality = reader.int32();
break;
}
case 3: {
message.isMonotonic = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Sum.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Sum.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.dataPoints != null && message.hasOwnProperty("dataPoints")) {
if (!Array.isArray(message.dataPoints))
return "dataPoints: array expected";
for (var i3 = 0; i3 < message.dataPoints.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.NumberDataPoint.verify(message.dataPoints[i3]);
if (error40)
return "dataPoints." + error40;
}
}
if (message.aggregationTemporality != null && message.hasOwnProperty("aggregationTemporality"))
switch (message.aggregationTemporality) {
default:
return "aggregationTemporality: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.isMonotonic != null && message.hasOwnProperty("isMonotonic")) {
if (typeof message.isMonotonic !== "boolean")
return "isMonotonic: boolean expected";
}
return null;
};
Sum.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.Sum)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.Sum();
if (object3.dataPoints) {
if (!Array.isArray(object3.dataPoints))
throw TypeError(".opentelemetry.proto.metrics.v1.Sum.dataPoints: array expected");
message.dataPoints = [];
for (var i3 = 0; i3 < object3.dataPoints.length; ++i3) {
if (typeof object3.dataPoints[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Sum.dataPoints: object expected");
message.dataPoints[i3] = $root.opentelemetry.proto.metrics.v1.NumberDataPoint.fromObject(object3.dataPoints[i3]);
}
}
switch (object3.aggregationTemporality) {
default:
if (typeof object3.aggregationTemporality === "number") {
message.aggregationTemporality = object3.aggregationTemporality;
break;
}
break;
case "AGGREGATION_TEMPORALITY_UNSPECIFIED":
case 0:
message.aggregationTemporality = 0;
break;
case "AGGREGATION_TEMPORALITY_DELTA":
case 1:
message.aggregationTemporality = 1;
break;
case "AGGREGATION_TEMPORALITY_CUMULATIVE":
case 2:
message.aggregationTemporality = 2;
break;
}
if (object3.isMonotonic != null)
message.isMonotonic = Boolean(object3.isMonotonic);
return message;
};
Sum.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.dataPoints = [];
if (options.defaults) {
object3.aggregationTemporality = options.enums === String ? "AGGREGATION_TEMPORALITY_UNSPECIFIED" : 0;
object3.isMonotonic = false;
}
if (message.dataPoints && message.dataPoints.length) {
object3.dataPoints = [];
for (var j = 0; j < message.dataPoints.length; ++j)
object3.dataPoints[j] = $root.opentelemetry.proto.metrics.v1.NumberDataPoint.toObject(message.dataPoints[j], options);
}
if (message.aggregationTemporality != null && message.hasOwnProperty("aggregationTemporality"))
object3.aggregationTemporality = options.enums === String ? $root.opentelemetry.proto.metrics.v1.AggregationTemporality[message.aggregationTemporality] === void 0 ? message.aggregationTemporality : $root.opentelemetry.proto.metrics.v1.AggregationTemporality[message.aggregationTemporality] : message.aggregationTemporality;
if (message.isMonotonic != null && message.hasOwnProperty("isMonotonic"))
object3.isMonotonic = message.isMonotonic;
return object3;
};
Sum.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Sum.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.Sum";
};
return Sum;
}();
v13.Histogram = function() {
function Histogram(properties) {
this.dataPoints = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Histogram.prototype.dataPoints = $util.emptyArray;
Histogram.prototype.aggregationTemporality = null;
Histogram.create = function create(properties) {
return new Histogram(properties);
};
Histogram.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.dataPoints != null && message.dataPoints.length)
for (var i3 = 0; i3 < message.dataPoints.length; ++i3)
$root.opentelemetry.proto.metrics.v1.HistogramDataPoint.encode(message.dataPoints[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.aggregationTemporality != null && Object.hasOwnProperty.call(message, "aggregationTemporality"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.aggregationTemporality);
return writer;
};
Histogram.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Histogram.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.Histogram();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.dataPoints && message.dataPoints.length))
message.dataPoints = [];
message.dataPoints.push($root.opentelemetry.proto.metrics.v1.HistogramDataPoint.decode(reader, reader.uint32()));
break;
}
case 2: {
message.aggregationTemporality = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Histogram.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Histogram.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.dataPoints != null && message.hasOwnProperty("dataPoints")) {
if (!Array.isArray(message.dataPoints))
return "dataPoints: array expected";
for (var i3 = 0; i3 < message.dataPoints.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.HistogramDataPoint.verify(message.dataPoints[i3]);
if (error40)
return "dataPoints." + error40;
}
}
if (message.aggregationTemporality != null && message.hasOwnProperty("aggregationTemporality"))
switch (message.aggregationTemporality) {
default:
return "aggregationTemporality: enum value expected";
case 0:
case 1:
case 2:
break;
}
return null;
};
Histogram.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.Histogram)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.Histogram();
if (object3.dataPoints) {
if (!Array.isArray(object3.dataPoints))
throw TypeError(".opentelemetry.proto.metrics.v1.Histogram.dataPoints: array expected");
message.dataPoints = [];
for (var i3 = 0; i3 < object3.dataPoints.length; ++i3) {
if (typeof object3.dataPoints[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Histogram.dataPoints: object expected");
message.dataPoints[i3] = $root.opentelemetry.proto.metrics.v1.HistogramDataPoint.fromObject(object3.dataPoints[i3]);
}
}
switch (object3.aggregationTemporality) {
default:
if (typeof object3.aggregationTemporality === "number") {
message.aggregationTemporality = object3.aggregationTemporality;
break;
}
break;
case "AGGREGATION_TEMPORALITY_UNSPECIFIED":
case 0:
message.aggregationTemporality = 0;
break;
case "AGGREGATION_TEMPORALITY_DELTA":
case 1:
message.aggregationTemporality = 1;
break;
case "AGGREGATION_TEMPORALITY_CUMULATIVE":
case 2:
message.aggregationTemporality = 2;
break;
}
return message;
};
Histogram.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.dataPoints = [];
if (options.defaults)
object3.aggregationTemporality = options.enums === String ? "AGGREGATION_TEMPORALITY_UNSPECIFIED" : 0;
if (message.dataPoints && message.dataPoints.length) {
object3.dataPoints = [];
for (var j = 0; j < message.dataPoints.length; ++j)
object3.dataPoints[j] = $root.opentelemetry.proto.metrics.v1.HistogramDataPoint.toObject(message.dataPoints[j], options);
}
if (message.aggregationTemporality != null && message.hasOwnProperty("aggregationTemporality"))
object3.aggregationTemporality = options.enums === String ? $root.opentelemetry.proto.metrics.v1.AggregationTemporality[message.aggregationTemporality] === void 0 ? message.aggregationTemporality : $root.opentelemetry.proto.metrics.v1.AggregationTemporality[message.aggregationTemporality] : message.aggregationTemporality;
return object3;
};
Histogram.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Histogram.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.Histogram";
};
return Histogram;
}();
v13.ExponentialHistogram = function() {
function ExponentialHistogram(properties) {
this.dataPoints = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExponentialHistogram.prototype.dataPoints = $util.emptyArray;
ExponentialHistogram.prototype.aggregationTemporality = null;
ExponentialHistogram.create = function create(properties) {
return new ExponentialHistogram(properties);
};
ExponentialHistogram.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.dataPoints != null && message.dataPoints.length)
for (var i3 = 0; i3 < message.dataPoints.length; ++i3)
$root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.encode(message.dataPoints[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.aggregationTemporality != null && Object.hasOwnProperty.call(message, "aggregationTemporality"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.aggregationTemporality);
return writer;
};
ExponentialHistogram.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExponentialHistogram.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.ExponentialHistogram();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.dataPoints && message.dataPoints.length))
message.dataPoints = [];
message.dataPoints.push($root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.decode(reader, reader.uint32()));
break;
}
case 2: {
message.aggregationTemporality = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExponentialHistogram.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExponentialHistogram.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.dataPoints != null && message.hasOwnProperty("dataPoints")) {
if (!Array.isArray(message.dataPoints))
return "dataPoints: array expected";
for (var i3 = 0; i3 < message.dataPoints.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.verify(message.dataPoints[i3]);
if (error40)
return "dataPoints." + error40;
}
}
if (message.aggregationTemporality != null && message.hasOwnProperty("aggregationTemporality"))
switch (message.aggregationTemporality) {
default:
return "aggregationTemporality: enum value expected";
case 0:
case 1:
case 2:
break;
}
return null;
};
ExponentialHistogram.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.ExponentialHistogram)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.ExponentialHistogram();
if (object3.dataPoints) {
if (!Array.isArray(object3.dataPoints))
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogram.dataPoints: array expected");
message.dataPoints = [];
for (var i3 = 0; i3 < object3.dataPoints.length; ++i3) {
if (typeof object3.dataPoints[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogram.dataPoints: object expected");
message.dataPoints[i3] = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.fromObject(object3.dataPoints[i3]);
}
}
switch (object3.aggregationTemporality) {
default:
if (typeof object3.aggregationTemporality === "number") {
message.aggregationTemporality = object3.aggregationTemporality;
break;
}
break;
case "AGGREGATION_TEMPORALITY_UNSPECIFIED":
case 0:
message.aggregationTemporality = 0;
break;
case "AGGREGATION_TEMPORALITY_DELTA":
case 1:
message.aggregationTemporality = 1;
break;
case "AGGREGATION_TEMPORALITY_CUMULATIVE":
case 2:
message.aggregationTemporality = 2;
break;
}
return message;
};
ExponentialHistogram.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.dataPoints = [];
if (options.defaults)
object3.aggregationTemporality = options.enums === String ? "AGGREGATION_TEMPORALITY_UNSPECIFIED" : 0;
if (message.dataPoints && message.dataPoints.length) {
object3.dataPoints = [];
for (var j = 0; j < message.dataPoints.length; ++j)
object3.dataPoints[j] = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.toObject(message.dataPoints[j], options);
}
if (message.aggregationTemporality != null && message.hasOwnProperty("aggregationTemporality"))
object3.aggregationTemporality = options.enums === String ? $root.opentelemetry.proto.metrics.v1.AggregationTemporality[message.aggregationTemporality] === void 0 ? message.aggregationTemporality : $root.opentelemetry.proto.metrics.v1.AggregationTemporality[message.aggregationTemporality] : message.aggregationTemporality;
return object3;
};
ExponentialHistogram.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExponentialHistogram.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.ExponentialHistogram";
};
return ExponentialHistogram;
}();
v13.Summary = function() {
function Summary(properties) {
this.dataPoints = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Summary.prototype.dataPoints = $util.emptyArray;
Summary.create = function create(properties) {
return new Summary(properties);
};
Summary.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.dataPoints != null && message.dataPoints.length)
for (var i3 = 0; i3 < message.dataPoints.length; ++i3)
$root.opentelemetry.proto.metrics.v1.SummaryDataPoint.encode(message.dataPoints[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
Summary.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Summary.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.Summary();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.dataPoints && message.dataPoints.length))
message.dataPoints = [];
message.dataPoints.push($root.opentelemetry.proto.metrics.v1.SummaryDataPoint.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Summary.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Summary.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.dataPoints != null && message.hasOwnProperty("dataPoints")) {
if (!Array.isArray(message.dataPoints))
return "dataPoints: array expected";
for (var i3 = 0; i3 < message.dataPoints.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.verify(message.dataPoints[i3]);
if (error40)
return "dataPoints." + error40;
}
}
return null;
};
Summary.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.Summary)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.Summary();
if (object3.dataPoints) {
if (!Array.isArray(object3.dataPoints))
throw TypeError(".opentelemetry.proto.metrics.v1.Summary.dataPoints: array expected");
message.dataPoints = [];
for (var i3 = 0; i3 < object3.dataPoints.length; ++i3) {
if (typeof object3.dataPoints[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Summary.dataPoints: object expected");
message.dataPoints[i3] = $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.fromObject(object3.dataPoints[i3]);
}
}
return message;
};
Summary.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.dataPoints = [];
if (message.dataPoints && message.dataPoints.length) {
object3.dataPoints = [];
for (var j = 0; j < message.dataPoints.length; ++j)
object3.dataPoints[j] = $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.toObject(message.dataPoints[j], options);
}
return object3;
};
Summary.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Summary.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.Summary";
};
return Summary;
}();
v13.AggregationTemporality = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "AGGREGATION_TEMPORALITY_UNSPECIFIED"] = 0;
values[valuesById[1] = "AGGREGATION_TEMPORALITY_DELTA"] = 1;
values[valuesById[2] = "AGGREGATION_TEMPORALITY_CUMULATIVE"] = 2;
return values;
}();
v13.DataPointFlags = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "DATA_POINT_FLAGS_DO_NOT_USE"] = 0;
values[valuesById[1] = "DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK"] = 1;
return values;
}();
v13.NumberDataPoint = function() {
function NumberDataPoint(properties) {
this.attributes = [];
this.exemplars = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
NumberDataPoint.prototype.attributes = $util.emptyArray;
NumberDataPoint.prototype.startTimeUnixNano = null;
NumberDataPoint.prototype.timeUnixNano = null;
NumberDataPoint.prototype.asDouble = null;
NumberDataPoint.prototype.asInt = null;
NumberDataPoint.prototype.exemplars = $util.emptyArray;
NumberDataPoint.prototype.flags = null;
var $oneOfFields;
Object.defineProperty(NumberDataPoint.prototype, "value", {
get: $util.oneOfGetter($oneOfFields = ["asDouble", "asInt"]),
set: $util.oneOfSetter($oneOfFields)
});
NumberDataPoint.create = function create(properties) {
return new NumberDataPoint(properties);
};
NumberDataPoint.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.startTimeUnixNano != null && Object.hasOwnProperty.call(message, "startTimeUnixNano"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).fixed64(message.startTimeUnixNano);
if (message.timeUnixNano != null && Object.hasOwnProperty.call(message, "timeUnixNano"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).fixed64(message.timeUnixNano);
if (message.asDouble != null && Object.hasOwnProperty.call(message, "asDouble"))
writer.uint32(
/* id 4, wireType 1 =*/
33
).double(message.asDouble);
if (message.exemplars != null && message.exemplars.length)
for (var i3 = 0; i3 < message.exemplars.length; ++i3)
$root.opentelemetry.proto.metrics.v1.Exemplar.encode(message.exemplars[i3], writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.asInt != null && Object.hasOwnProperty.call(message, "asInt"))
writer.uint32(
/* id 6, wireType 1 =*/
49
).sfixed64(message.asInt);
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
if (message.flags != null && Object.hasOwnProperty.call(message, "flags"))
writer.uint32(
/* id 8, wireType 0 =*/
64
).uint32(message.flags);
return writer;
};
NumberDataPoint.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
NumberDataPoint.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.NumberDataPoint();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 7: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 2: {
message.startTimeUnixNano = reader.fixed64();
break;
}
case 3: {
message.timeUnixNano = reader.fixed64();
break;
}
case 4: {
message.asDouble = reader.double();
break;
}
case 6: {
message.asInt = reader.sfixed64();
break;
}
case 5: {
if (!(message.exemplars && message.exemplars.length))
message.exemplars = [];
message.exemplars.push($root.opentelemetry.proto.metrics.v1.Exemplar.decode(reader, reader.uint32()));
break;
}
case 8: {
message.flags = reader.uint32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
NumberDataPoint.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
NumberDataPoint.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano")) {
if (!$util.isInteger(message.startTimeUnixNano) && !(message.startTimeUnixNano && $util.isInteger(message.startTimeUnixNano.low) && $util.isInteger(message.startTimeUnixNano.high)))
return "startTimeUnixNano: integer|Long expected";
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano")) {
if (!$util.isInteger(message.timeUnixNano) && !(message.timeUnixNano && $util.isInteger(message.timeUnixNano.low) && $util.isInteger(message.timeUnixNano.high)))
return "timeUnixNano: integer|Long expected";
}
if (message.asDouble != null && message.hasOwnProperty("asDouble")) {
properties.value = 1;
if (typeof message.asDouble !== "number")
return "asDouble: number expected";
}
if (message.asInt != null && message.hasOwnProperty("asInt")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
if (!$util.isInteger(message.asInt) && !(message.asInt && $util.isInteger(message.asInt.low) && $util.isInteger(message.asInt.high)))
return "asInt: integer|Long expected";
}
if (message.exemplars != null && message.hasOwnProperty("exemplars")) {
if (!Array.isArray(message.exemplars))
return "exemplars: array expected";
for (var i3 = 0; i3 < message.exemplars.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.Exemplar.verify(message.exemplars[i3]);
if (error40)
return "exemplars." + error40;
}
}
if (message.flags != null && message.hasOwnProperty("flags")) {
if (!$util.isInteger(message.flags))
return "flags: integer expected";
}
return null;
};
NumberDataPoint.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.NumberDataPoint)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.NumberDataPoint();
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.metrics.v1.NumberDataPoint.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.NumberDataPoint.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.startTimeUnixNano != null) {
if ($util.Long)
(message.startTimeUnixNano = $util.Long.fromValue(object3.startTimeUnixNano)).unsigned = false;
else if (typeof object3.startTimeUnixNano === "string")
message.startTimeUnixNano = parseInt(object3.startTimeUnixNano, 10);
else if (typeof object3.startTimeUnixNano === "number")
message.startTimeUnixNano = object3.startTimeUnixNano;
else if (typeof object3.startTimeUnixNano === "object")
message.startTimeUnixNano = new $util.LongBits(object3.startTimeUnixNano.low >>> 0, object3.startTimeUnixNano.high >>> 0).toNumber();
}
if (object3.timeUnixNano != null) {
if ($util.Long)
(message.timeUnixNano = $util.Long.fromValue(object3.timeUnixNano)).unsigned = false;
else if (typeof object3.timeUnixNano === "string")
message.timeUnixNano = parseInt(object3.timeUnixNano, 10);
else if (typeof object3.timeUnixNano === "number")
message.timeUnixNano = object3.timeUnixNano;
else if (typeof object3.timeUnixNano === "object")
message.timeUnixNano = new $util.LongBits(object3.timeUnixNano.low >>> 0, object3.timeUnixNano.high >>> 0).toNumber();
}
if (object3.asDouble != null)
message.asDouble = Number(object3.asDouble);
if (object3.asInt != null) {
if ($util.Long)
(message.asInt = $util.Long.fromValue(object3.asInt)).unsigned = false;
else if (typeof object3.asInt === "string")
message.asInt = parseInt(object3.asInt, 10);
else if (typeof object3.asInt === "number")
message.asInt = object3.asInt;
else if (typeof object3.asInt === "object")
message.asInt = new $util.LongBits(object3.asInt.low >>> 0, object3.asInt.high >>> 0).toNumber();
}
if (object3.exemplars) {
if (!Array.isArray(object3.exemplars))
throw TypeError(".opentelemetry.proto.metrics.v1.NumberDataPoint.exemplars: array expected");
message.exemplars = [];
for (var i3 = 0; i3 < object3.exemplars.length; ++i3) {
if (typeof object3.exemplars[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.NumberDataPoint.exemplars: object expected");
message.exemplars[i3] = $root.opentelemetry.proto.metrics.v1.Exemplar.fromObject(object3.exemplars[i3]);
}
}
if (object3.flags != null)
message.flags = object3.flags >>> 0;
return message;
};
NumberDataPoint.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.exemplars = [];
object3.attributes = [];
}
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.startTimeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.startTimeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.timeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.timeUnixNano = options.longs === String ? "0" : 0;
object3.flags = 0;
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano"))
if (typeof message.startTimeUnixNano === "number")
object3.startTimeUnixNano = options.longs === String ? String(message.startTimeUnixNano) : message.startTimeUnixNano;
else
object3.startTimeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeUnixNano) : options.longs === Number ? new $util.LongBits(message.startTimeUnixNano.low >>> 0, message.startTimeUnixNano.high >>> 0).toNumber() : message.startTimeUnixNano;
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano"))
if (typeof message.timeUnixNano === "number")
object3.timeUnixNano = options.longs === String ? String(message.timeUnixNano) : message.timeUnixNano;
else
object3.timeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.timeUnixNano) : options.longs === Number ? new $util.LongBits(message.timeUnixNano.low >>> 0, message.timeUnixNano.high >>> 0).toNumber() : message.timeUnixNano;
if (message.asDouble != null && message.hasOwnProperty("asDouble")) {
object3.asDouble = options.json && !isFinite(message.asDouble) ? String(message.asDouble) : message.asDouble;
if (options.oneofs)
object3.value = "asDouble";
}
if (message.exemplars && message.exemplars.length) {
object3.exemplars = [];
for (var j = 0; j < message.exemplars.length; ++j)
object3.exemplars[j] = $root.opentelemetry.proto.metrics.v1.Exemplar.toObject(message.exemplars[j], options);
}
if (message.asInt != null && message.hasOwnProperty("asInt")) {
if (typeof message.asInt === "number")
object3.asInt = options.longs === String ? String(message.asInt) : message.asInt;
else
object3.asInt = options.longs === String ? $util.Long.prototype.toString.call(message.asInt) : options.longs === Number ? new $util.LongBits(message.asInt.low >>> 0, message.asInt.high >>> 0).toNumber() : message.asInt;
if (options.oneofs)
object3.value = "asInt";
}
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.flags != null && message.hasOwnProperty("flags"))
object3.flags = message.flags;
return object3;
};
NumberDataPoint.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
NumberDataPoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.NumberDataPoint";
};
return NumberDataPoint;
}();
v13.HistogramDataPoint = function() {
function HistogramDataPoint(properties) {
this.attributes = [];
this.bucketCounts = [];
this.explicitBounds = [];
this.exemplars = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
HistogramDataPoint.prototype.attributes = $util.emptyArray;
HistogramDataPoint.prototype.startTimeUnixNano = null;
HistogramDataPoint.prototype.timeUnixNano = null;
HistogramDataPoint.prototype.count = null;
HistogramDataPoint.prototype.sum = null;
HistogramDataPoint.prototype.bucketCounts = $util.emptyArray;
HistogramDataPoint.prototype.explicitBounds = $util.emptyArray;
HistogramDataPoint.prototype.exemplars = $util.emptyArray;
HistogramDataPoint.prototype.flags = null;
HistogramDataPoint.prototype.min = null;
HistogramDataPoint.prototype.max = null;
var $oneOfFields;
Object.defineProperty(HistogramDataPoint.prototype, "_sum", {
get: $util.oneOfGetter($oneOfFields = ["sum"]),
set: $util.oneOfSetter($oneOfFields)
});
Object.defineProperty(HistogramDataPoint.prototype, "_min", {
get: $util.oneOfGetter($oneOfFields = ["min"]),
set: $util.oneOfSetter($oneOfFields)
});
Object.defineProperty(HistogramDataPoint.prototype, "_max", {
get: $util.oneOfGetter($oneOfFields = ["max"]),
set: $util.oneOfSetter($oneOfFields)
});
HistogramDataPoint.create = function create(properties) {
return new HistogramDataPoint(properties);
};
HistogramDataPoint.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.startTimeUnixNano != null && Object.hasOwnProperty.call(message, "startTimeUnixNano"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).fixed64(message.startTimeUnixNano);
if (message.timeUnixNano != null && Object.hasOwnProperty.call(message, "timeUnixNano"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).fixed64(message.timeUnixNano);
if (message.count != null && Object.hasOwnProperty.call(message, "count"))
writer.uint32(
/* id 4, wireType 1 =*/
33
).fixed64(message.count);
if (message.sum != null && Object.hasOwnProperty.call(message, "sum"))
writer.uint32(
/* id 5, wireType 1 =*/
41
).double(message.sum);
if (message.bucketCounts != null && message.bucketCounts.length) {
writer.uint32(
/* id 6, wireType 2 =*/
50
).fork();
for (var i3 = 0; i3 < message.bucketCounts.length; ++i3)
writer.fixed64(message.bucketCounts[i3]);
writer.ldelim();
}
if (message.explicitBounds != null && message.explicitBounds.length) {
writer.uint32(
/* id 7, wireType 2 =*/
58
).fork();
for (var i3 = 0; i3 < message.explicitBounds.length; ++i3)
writer.double(message.explicitBounds[i3]);
writer.ldelim();
}
if (message.exemplars != null && message.exemplars.length)
for (var i3 = 0; i3 < message.exemplars.length; ++i3)
$root.opentelemetry.proto.metrics.v1.Exemplar.encode(message.exemplars[i3], writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.flags != null && Object.hasOwnProperty.call(message, "flags"))
writer.uint32(
/* id 10, wireType 0 =*/
80
).uint32(message.flags);
if (message.min != null && Object.hasOwnProperty.call(message, "min"))
writer.uint32(
/* id 11, wireType 1 =*/
89
).double(message.min);
if (message.max != null && Object.hasOwnProperty.call(message, "max"))
writer.uint32(
/* id 12, wireType 1 =*/
97
).double(message.max);
return writer;
};
HistogramDataPoint.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
HistogramDataPoint.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.HistogramDataPoint();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 9: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 2: {
message.startTimeUnixNano = reader.fixed64();
break;
}
case 3: {
message.timeUnixNano = reader.fixed64();
break;
}
case 4: {
message.count = reader.fixed64();
break;
}
case 5: {
message.sum = reader.double();
break;
}
case 6: {
if (!(message.bucketCounts && message.bucketCounts.length))
message.bucketCounts = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.bucketCounts.push(reader.fixed64());
} else
message.bucketCounts.push(reader.fixed64());
break;
}
case 7: {
if (!(message.explicitBounds && message.explicitBounds.length))
message.explicitBounds = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.explicitBounds.push(reader.double());
} else
message.explicitBounds.push(reader.double());
break;
}
case 8: {
if (!(message.exemplars && message.exemplars.length))
message.exemplars = [];
message.exemplars.push($root.opentelemetry.proto.metrics.v1.Exemplar.decode(reader, reader.uint32()));
break;
}
case 10: {
message.flags = reader.uint32();
break;
}
case 11: {
message.min = reader.double();
break;
}
case 12: {
message.max = reader.double();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
HistogramDataPoint.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
HistogramDataPoint.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano")) {
if (!$util.isInteger(message.startTimeUnixNano) && !(message.startTimeUnixNano && $util.isInteger(message.startTimeUnixNano.low) && $util.isInteger(message.startTimeUnixNano.high)))
return "startTimeUnixNano: integer|Long expected";
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano")) {
if (!$util.isInteger(message.timeUnixNano) && !(message.timeUnixNano && $util.isInteger(message.timeUnixNano.low) && $util.isInteger(message.timeUnixNano.high)))
return "timeUnixNano: integer|Long expected";
}
if (message.count != null && message.hasOwnProperty("count")) {
if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high)))
return "count: integer|Long expected";
}
if (message.sum != null && message.hasOwnProperty("sum")) {
properties._sum = 1;
if (typeof message.sum !== "number")
return "sum: number expected";
}
if (message.bucketCounts != null && message.hasOwnProperty("bucketCounts")) {
if (!Array.isArray(message.bucketCounts))
return "bucketCounts: array expected";
for (var i3 = 0; i3 < message.bucketCounts.length; ++i3)
if (!$util.isInteger(message.bucketCounts[i3]) && !(message.bucketCounts[i3] && $util.isInteger(message.bucketCounts[i3].low) && $util.isInteger(message.bucketCounts[i3].high)))
return "bucketCounts: integer|Long[] expected";
}
if (message.explicitBounds != null && message.hasOwnProperty("explicitBounds")) {
if (!Array.isArray(message.explicitBounds))
return "explicitBounds: array expected";
for (var i3 = 0; i3 < message.explicitBounds.length; ++i3)
if (typeof message.explicitBounds[i3] !== "number")
return "explicitBounds: number[] expected";
}
if (message.exemplars != null && message.hasOwnProperty("exemplars")) {
if (!Array.isArray(message.exemplars))
return "exemplars: array expected";
for (var i3 = 0; i3 < message.exemplars.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.Exemplar.verify(message.exemplars[i3]);
if (error40)
return "exemplars." + error40;
}
}
if (message.flags != null && message.hasOwnProperty("flags")) {
if (!$util.isInteger(message.flags))
return "flags: integer expected";
}
if (message.min != null && message.hasOwnProperty("min")) {
properties._min = 1;
if (typeof message.min !== "number")
return "min: number expected";
}
if (message.max != null && message.hasOwnProperty("max")) {
properties._max = 1;
if (typeof message.max !== "number")
return "max: number expected";
}
return null;
};
HistogramDataPoint.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.HistogramDataPoint)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.HistogramDataPoint();
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.metrics.v1.HistogramDataPoint.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.HistogramDataPoint.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.startTimeUnixNano != null) {
if ($util.Long)
(message.startTimeUnixNano = $util.Long.fromValue(object3.startTimeUnixNano)).unsigned = false;
else if (typeof object3.startTimeUnixNano === "string")
message.startTimeUnixNano = parseInt(object3.startTimeUnixNano, 10);
else if (typeof object3.startTimeUnixNano === "number")
message.startTimeUnixNano = object3.startTimeUnixNano;
else if (typeof object3.startTimeUnixNano === "object")
message.startTimeUnixNano = new $util.LongBits(object3.startTimeUnixNano.low >>> 0, object3.startTimeUnixNano.high >>> 0).toNumber();
}
if (object3.timeUnixNano != null) {
if ($util.Long)
(message.timeUnixNano = $util.Long.fromValue(object3.timeUnixNano)).unsigned = false;
else if (typeof object3.timeUnixNano === "string")
message.timeUnixNano = parseInt(object3.timeUnixNano, 10);
else if (typeof object3.timeUnixNano === "number")
message.timeUnixNano = object3.timeUnixNano;
else if (typeof object3.timeUnixNano === "object")
message.timeUnixNano = new $util.LongBits(object3.timeUnixNano.low >>> 0, object3.timeUnixNano.high >>> 0).toNumber();
}
if (object3.count != null) {
if ($util.Long)
(message.count = $util.Long.fromValue(object3.count)).unsigned = false;
else if (typeof object3.count === "string")
message.count = parseInt(object3.count, 10);
else if (typeof object3.count === "number")
message.count = object3.count;
else if (typeof object3.count === "object")
message.count = new $util.LongBits(object3.count.low >>> 0, object3.count.high >>> 0).toNumber();
}
if (object3.sum != null)
message.sum = Number(object3.sum);
if (object3.bucketCounts) {
if (!Array.isArray(object3.bucketCounts))
throw TypeError(".opentelemetry.proto.metrics.v1.HistogramDataPoint.bucketCounts: array expected");
message.bucketCounts = [];
for (var i3 = 0; i3 < object3.bucketCounts.length; ++i3)
if ($util.Long)
(message.bucketCounts[i3] = $util.Long.fromValue(object3.bucketCounts[i3])).unsigned = false;
else if (typeof object3.bucketCounts[i3] === "string")
message.bucketCounts[i3] = parseInt(object3.bucketCounts[i3], 10);
else if (typeof object3.bucketCounts[i3] === "number")
message.bucketCounts[i3] = object3.bucketCounts[i3];
else if (typeof object3.bucketCounts[i3] === "object")
message.bucketCounts[i3] = new $util.LongBits(object3.bucketCounts[i3].low >>> 0, object3.bucketCounts[i3].high >>> 0).toNumber();
}
if (object3.explicitBounds) {
if (!Array.isArray(object3.explicitBounds))
throw TypeError(".opentelemetry.proto.metrics.v1.HistogramDataPoint.explicitBounds: array expected");
message.explicitBounds = [];
for (var i3 = 0; i3 < object3.explicitBounds.length; ++i3)
message.explicitBounds[i3] = Number(object3.explicitBounds[i3]);
}
if (object3.exemplars) {
if (!Array.isArray(object3.exemplars))
throw TypeError(".opentelemetry.proto.metrics.v1.HistogramDataPoint.exemplars: array expected");
message.exemplars = [];
for (var i3 = 0; i3 < object3.exemplars.length; ++i3) {
if (typeof object3.exemplars[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.HistogramDataPoint.exemplars: object expected");
message.exemplars[i3] = $root.opentelemetry.proto.metrics.v1.Exemplar.fromObject(object3.exemplars[i3]);
}
}
if (object3.flags != null)
message.flags = object3.flags >>> 0;
if (object3.min != null)
message.min = Number(object3.min);
if (object3.max != null)
message.max = Number(object3.max);
return message;
};
HistogramDataPoint.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.bucketCounts = [];
object3.explicitBounds = [];
object3.exemplars = [];
object3.attributes = [];
}
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.startTimeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.startTimeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.timeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.timeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.count = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.count = options.longs === String ? "0" : 0;
object3.flags = 0;
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano"))
if (typeof message.startTimeUnixNano === "number")
object3.startTimeUnixNano = options.longs === String ? String(message.startTimeUnixNano) : message.startTimeUnixNano;
else
object3.startTimeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeUnixNano) : options.longs === Number ? new $util.LongBits(message.startTimeUnixNano.low >>> 0, message.startTimeUnixNano.high >>> 0).toNumber() : message.startTimeUnixNano;
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano"))
if (typeof message.timeUnixNano === "number")
object3.timeUnixNano = options.longs === String ? String(message.timeUnixNano) : message.timeUnixNano;
else
object3.timeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.timeUnixNano) : options.longs === Number ? new $util.LongBits(message.timeUnixNano.low >>> 0, message.timeUnixNano.high >>> 0).toNumber() : message.timeUnixNano;
if (message.count != null && message.hasOwnProperty("count"))
if (typeof message.count === "number")
object3.count = options.longs === String ? String(message.count) : message.count;
else
object3.count = options.longs === String ? $util.Long.prototype.toString.call(message.count) : options.longs === Number ? new $util.LongBits(message.count.low >>> 0, message.count.high >>> 0).toNumber() : message.count;
if (message.sum != null && message.hasOwnProperty("sum")) {
object3.sum = options.json && !isFinite(message.sum) ? String(message.sum) : message.sum;
if (options.oneofs)
object3._sum = "sum";
}
if (message.bucketCounts && message.bucketCounts.length) {
object3.bucketCounts = [];
for (var j = 0; j < message.bucketCounts.length; ++j)
if (typeof message.bucketCounts[j] === "number")
object3.bucketCounts[j] = options.longs === String ? String(message.bucketCounts[j]) : message.bucketCounts[j];
else
object3.bucketCounts[j] = options.longs === String ? $util.Long.prototype.toString.call(message.bucketCounts[j]) : options.longs === Number ? new $util.LongBits(message.bucketCounts[j].low >>> 0, message.bucketCounts[j].high >>> 0).toNumber() : message.bucketCounts[j];
}
if (message.explicitBounds && message.explicitBounds.length) {
object3.explicitBounds = [];
for (var j = 0; j < message.explicitBounds.length; ++j)
object3.explicitBounds[j] = options.json && !isFinite(message.explicitBounds[j]) ? String(message.explicitBounds[j]) : message.explicitBounds[j];
}
if (message.exemplars && message.exemplars.length) {
object3.exemplars = [];
for (var j = 0; j < message.exemplars.length; ++j)
object3.exemplars[j] = $root.opentelemetry.proto.metrics.v1.Exemplar.toObject(message.exemplars[j], options);
}
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.flags != null && message.hasOwnProperty("flags"))
object3.flags = message.flags;
if (message.min != null && message.hasOwnProperty("min")) {
object3.min = options.json && !isFinite(message.min) ? String(message.min) : message.min;
if (options.oneofs)
object3._min = "min";
}
if (message.max != null && message.hasOwnProperty("max")) {
object3.max = options.json && !isFinite(message.max) ? String(message.max) : message.max;
if (options.oneofs)
object3._max = "max";
}
return object3;
};
HistogramDataPoint.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
HistogramDataPoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.HistogramDataPoint";
};
return HistogramDataPoint;
}();
v13.ExponentialHistogramDataPoint = function() {
function ExponentialHistogramDataPoint(properties) {
this.attributes = [];
this.exemplars = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExponentialHistogramDataPoint.prototype.attributes = $util.emptyArray;
ExponentialHistogramDataPoint.prototype.startTimeUnixNano = null;
ExponentialHistogramDataPoint.prototype.timeUnixNano = null;
ExponentialHistogramDataPoint.prototype.count = null;
ExponentialHistogramDataPoint.prototype.sum = null;
ExponentialHistogramDataPoint.prototype.scale = null;
ExponentialHistogramDataPoint.prototype.zeroCount = null;
ExponentialHistogramDataPoint.prototype.positive = null;
ExponentialHistogramDataPoint.prototype.negative = null;
ExponentialHistogramDataPoint.prototype.flags = null;
ExponentialHistogramDataPoint.prototype.exemplars = $util.emptyArray;
ExponentialHistogramDataPoint.prototype.min = null;
ExponentialHistogramDataPoint.prototype.max = null;
ExponentialHistogramDataPoint.prototype.zeroThreshold = null;
var $oneOfFields;
Object.defineProperty(ExponentialHistogramDataPoint.prototype, "_sum", {
get: $util.oneOfGetter($oneOfFields = ["sum"]),
set: $util.oneOfSetter($oneOfFields)
});
Object.defineProperty(ExponentialHistogramDataPoint.prototype, "_min", {
get: $util.oneOfGetter($oneOfFields = ["min"]),
set: $util.oneOfSetter($oneOfFields)
});
Object.defineProperty(ExponentialHistogramDataPoint.prototype, "_max", {
get: $util.oneOfGetter($oneOfFields = ["max"]),
set: $util.oneOfSetter($oneOfFields)
});
ExponentialHistogramDataPoint.create = function create(properties) {
return new ExponentialHistogramDataPoint(properties);
};
ExponentialHistogramDataPoint.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.startTimeUnixNano != null && Object.hasOwnProperty.call(message, "startTimeUnixNano"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).fixed64(message.startTimeUnixNano);
if (message.timeUnixNano != null && Object.hasOwnProperty.call(message, "timeUnixNano"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).fixed64(message.timeUnixNano);
if (message.count != null && Object.hasOwnProperty.call(message, "count"))
writer.uint32(
/* id 4, wireType 1 =*/
33
).fixed64(message.count);
if (message.sum != null && Object.hasOwnProperty.call(message, "sum"))
writer.uint32(
/* id 5, wireType 1 =*/
41
).double(message.sum);
if (message.scale != null && Object.hasOwnProperty.call(message, "scale"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).sint32(message.scale);
if (message.zeroCount != null && Object.hasOwnProperty.call(message, "zeroCount"))
writer.uint32(
/* id 7, wireType 1 =*/
57
).fixed64(message.zeroCount);
if (message.positive != null && Object.hasOwnProperty.call(message, "positive"))
$root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.encode(message.positive, writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.negative != null && Object.hasOwnProperty.call(message, "negative"))
$root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.encode(message.negative, writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.flags != null && Object.hasOwnProperty.call(message, "flags"))
writer.uint32(
/* id 10, wireType 0 =*/
80
).uint32(message.flags);
if (message.exemplars != null && message.exemplars.length)
for (var i3 = 0; i3 < message.exemplars.length; ++i3)
$root.opentelemetry.proto.metrics.v1.Exemplar.encode(message.exemplars[i3], writer.uint32(
/* id 11, wireType 2 =*/
90
).fork()).ldelim();
if (message.min != null && Object.hasOwnProperty.call(message, "min"))
writer.uint32(
/* id 12, wireType 1 =*/
97
).double(message.min);
if (message.max != null && Object.hasOwnProperty.call(message, "max"))
writer.uint32(
/* id 13, wireType 1 =*/
105
).double(message.max);
if (message.zeroThreshold != null && Object.hasOwnProperty.call(message, "zeroThreshold"))
writer.uint32(
/* id 14, wireType 1 =*/
113
).double(message.zeroThreshold);
return writer;
};
ExponentialHistogramDataPoint.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExponentialHistogramDataPoint.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 2: {
message.startTimeUnixNano = reader.fixed64();
break;
}
case 3: {
message.timeUnixNano = reader.fixed64();
break;
}
case 4: {
message.count = reader.fixed64();
break;
}
case 5: {
message.sum = reader.double();
break;
}
case 6: {
message.scale = reader.sint32();
break;
}
case 7: {
message.zeroCount = reader.fixed64();
break;
}
case 8: {
message.positive = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.decode(reader, reader.uint32());
break;
}
case 9: {
message.negative = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.decode(reader, reader.uint32());
break;
}
case 10: {
message.flags = reader.uint32();
break;
}
case 11: {
if (!(message.exemplars && message.exemplars.length))
message.exemplars = [];
message.exemplars.push($root.opentelemetry.proto.metrics.v1.Exemplar.decode(reader, reader.uint32()));
break;
}
case 12: {
message.min = reader.double();
break;
}
case 13: {
message.max = reader.double();
break;
}
case 14: {
message.zeroThreshold = reader.double();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExponentialHistogramDataPoint.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExponentialHistogramDataPoint.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano")) {
if (!$util.isInteger(message.startTimeUnixNano) && !(message.startTimeUnixNano && $util.isInteger(message.startTimeUnixNano.low) && $util.isInteger(message.startTimeUnixNano.high)))
return "startTimeUnixNano: integer|Long expected";
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano")) {
if (!$util.isInteger(message.timeUnixNano) && !(message.timeUnixNano && $util.isInteger(message.timeUnixNano.low) && $util.isInteger(message.timeUnixNano.high)))
return "timeUnixNano: integer|Long expected";
}
if (message.count != null && message.hasOwnProperty("count")) {
if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high)))
return "count: integer|Long expected";
}
if (message.sum != null && message.hasOwnProperty("sum")) {
properties._sum = 1;
if (typeof message.sum !== "number")
return "sum: number expected";
}
if (message.scale != null && message.hasOwnProperty("scale")) {
if (!$util.isInteger(message.scale))
return "scale: integer expected";
}
if (message.zeroCount != null && message.hasOwnProperty("zeroCount")) {
if (!$util.isInteger(message.zeroCount) && !(message.zeroCount && $util.isInteger(message.zeroCount.low) && $util.isInteger(message.zeroCount.high)))
return "zeroCount: integer|Long expected";
}
if (message.positive != null && message.hasOwnProperty("positive")) {
var error40 = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.verify(message.positive);
if (error40)
return "positive." + error40;
}
if (message.negative != null && message.hasOwnProperty("negative")) {
var error40 = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.verify(message.negative);
if (error40)
return "negative." + error40;
}
if (message.flags != null && message.hasOwnProperty("flags")) {
if (!$util.isInteger(message.flags))
return "flags: integer expected";
}
if (message.exemplars != null && message.hasOwnProperty("exemplars")) {
if (!Array.isArray(message.exemplars))
return "exemplars: array expected";
for (var i3 = 0; i3 < message.exemplars.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.Exemplar.verify(message.exemplars[i3]);
if (error40)
return "exemplars." + error40;
}
}
if (message.min != null && message.hasOwnProperty("min")) {
properties._min = 1;
if (typeof message.min !== "number")
return "min: number expected";
}
if (message.max != null && message.hasOwnProperty("max")) {
properties._max = 1;
if (typeof message.max !== "number")
return "max: number expected";
}
if (message.zeroThreshold != null && message.hasOwnProperty("zeroThreshold")) {
if (typeof message.zeroThreshold !== "number")
return "zeroThreshold: number expected";
}
return null;
};
ExponentialHistogramDataPoint.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint();
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.startTimeUnixNano != null) {
if ($util.Long)
(message.startTimeUnixNano = $util.Long.fromValue(object3.startTimeUnixNano)).unsigned = false;
else if (typeof object3.startTimeUnixNano === "string")
message.startTimeUnixNano = parseInt(object3.startTimeUnixNano, 10);
else if (typeof object3.startTimeUnixNano === "number")
message.startTimeUnixNano = object3.startTimeUnixNano;
else if (typeof object3.startTimeUnixNano === "object")
message.startTimeUnixNano = new $util.LongBits(object3.startTimeUnixNano.low >>> 0, object3.startTimeUnixNano.high >>> 0).toNumber();
}
if (object3.timeUnixNano != null) {
if ($util.Long)
(message.timeUnixNano = $util.Long.fromValue(object3.timeUnixNano)).unsigned = false;
else if (typeof object3.timeUnixNano === "string")
message.timeUnixNano = parseInt(object3.timeUnixNano, 10);
else if (typeof object3.timeUnixNano === "number")
message.timeUnixNano = object3.timeUnixNano;
else if (typeof object3.timeUnixNano === "object")
message.timeUnixNano = new $util.LongBits(object3.timeUnixNano.low >>> 0, object3.timeUnixNano.high >>> 0).toNumber();
}
if (object3.count != null) {
if ($util.Long)
(message.count = $util.Long.fromValue(object3.count)).unsigned = false;
else if (typeof object3.count === "string")
message.count = parseInt(object3.count, 10);
else if (typeof object3.count === "number")
message.count = object3.count;
else if (typeof object3.count === "object")
message.count = new $util.LongBits(object3.count.low >>> 0, object3.count.high >>> 0).toNumber();
}
if (object3.sum != null)
message.sum = Number(object3.sum);
if (object3.scale != null)
message.scale = object3.scale | 0;
if (object3.zeroCount != null) {
if ($util.Long)
(message.zeroCount = $util.Long.fromValue(object3.zeroCount)).unsigned = false;
else if (typeof object3.zeroCount === "string")
message.zeroCount = parseInt(object3.zeroCount, 10);
else if (typeof object3.zeroCount === "number")
message.zeroCount = object3.zeroCount;
else if (typeof object3.zeroCount === "object")
message.zeroCount = new $util.LongBits(object3.zeroCount.low >>> 0, object3.zeroCount.high >>> 0).toNumber();
}
if (object3.positive != null) {
if (typeof object3.positive !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.positive: object expected");
message.positive = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.fromObject(object3.positive);
}
if (object3.negative != null) {
if (typeof object3.negative !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.negative: object expected");
message.negative = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.fromObject(object3.negative);
}
if (object3.flags != null)
message.flags = object3.flags >>> 0;
if (object3.exemplars) {
if (!Array.isArray(object3.exemplars))
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.exemplars: array expected");
message.exemplars = [];
for (var i3 = 0; i3 < object3.exemplars.length; ++i3) {
if (typeof object3.exemplars[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.exemplars: object expected");
message.exemplars[i3] = $root.opentelemetry.proto.metrics.v1.Exemplar.fromObject(object3.exemplars[i3]);
}
}
if (object3.min != null)
message.min = Number(object3.min);
if (object3.max != null)
message.max = Number(object3.max);
if (object3.zeroThreshold != null)
message.zeroThreshold = Number(object3.zeroThreshold);
return message;
};
ExponentialHistogramDataPoint.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.attributes = [];
object3.exemplars = [];
}
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.startTimeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.startTimeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.timeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.timeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.count = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.count = options.longs === String ? "0" : 0;
object3.scale = 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.zeroCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.zeroCount = options.longs === String ? "0" : 0;
object3.positive = null;
object3.negative = null;
object3.flags = 0;
object3.zeroThreshold = 0;
}
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano"))
if (typeof message.startTimeUnixNano === "number")
object3.startTimeUnixNano = options.longs === String ? String(message.startTimeUnixNano) : message.startTimeUnixNano;
else
object3.startTimeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeUnixNano) : options.longs === Number ? new $util.LongBits(message.startTimeUnixNano.low >>> 0, message.startTimeUnixNano.high >>> 0).toNumber() : message.startTimeUnixNano;
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano"))
if (typeof message.timeUnixNano === "number")
object3.timeUnixNano = options.longs === String ? String(message.timeUnixNano) : message.timeUnixNano;
else
object3.timeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.timeUnixNano) : options.longs === Number ? new $util.LongBits(message.timeUnixNano.low >>> 0, message.timeUnixNano.high >>> 0).toNumber() : message.timeUnixNano;
if (message.count != null && message.hasOwnProperty("count"))
if (typeof message.count === "number")
object3.count = options.longs === String ? String(message.count) : message.count;
else
object3.count = options.longs === String ? $util.Long.prototype.toString.call(message.count) : options.longs === Number ? new $util.LongBits(message.count.low >>> 0, message.count.high >>> 0).toNumber() : message.count;
if (message.sum != null && message.hasOwnProperty("sum")) {
object3.sum = options.json && !isFinite(message.sum) ? String(message.sum) : message.sum;
if (options.oneofs)
object3._sum = "sum";
}
if (message.scale != null && message.hasOwnProperty("scale"))
object3.scale = message.scale;
if (message.zeroCount != null && message.hasOwnProperty("zeroCount"))
if (typeof message.zeroCount === "number")
object3.zeroCount = options.longs === String ? String(message.zeroCount) : message.zeroCount;
else
object3.zeroCount = options.longs === String ? $util.Long.prototype.toString.call(message.zeroCount) : options.longs === Number ? new $util.LongBits(message.zeroCount.low >>> 0, message.zeroCount.high >>> 0).toNumber() : message.zeroCount;
if (message.positive != null && message.hasOwnProperty("positive"))
object3.positive = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.toObject(message.positive, options);
if (message.negative != null && message.hasOwnProperty("negative"))
object3.negative = $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.toObject(message.negative, options);
if (message.flags != null && message.hasOwnProperty("flags"))
object3.flags = message.flags;
if (message.exemplars && message.exemplars.length) {
object3.exemplars = [];
for (var j = 0; j < message.exemplars.length; ++j)
object3.exemplars[j] = $root.opentelemetry.proto.metrics.v1.Exemplar.toObject(message.exemplars[j], options);
}
if (message.min != null && message.hasOwnProperty("min")) {
object3.min = options.json && !isFinite(message.min) ? String(message.min) : message.min;
if (options.oneofs)
object3._min = "min";
}
if (message.max != null && message.hasOwnProperty("max")) {
object3.max = options.json && !isFinite(message.max) ? String(message.max) : message.max;
if (options.oneofs)
object3._max = "max";
}
if (message.zeroThreshold != null && message.hasOwnProperty("zeroThreshold"))
object3.zeroThreshold = options.json && !isFinite(message.zeroThreshold) ? String(message.zeroThreshold) : message.zeroThreshold;
return object3;
};
ExponentialHistogramDataPoint.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExponentialHistogramDataPoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint";
};
ExponentialHistogramDataPoint.Buckets = function() {
function Buckets(properties) {
this.bucketCounts = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Buckets.prototype.offset = null;
Buckets.prototype.bucketCounts = $util.emptyArray;
Buckets.create = function create(properties) {
return new Buckets(properties);
};
Buckets.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).sint32(message.offset);
if (message.bucketCounts != null && message.bucketCounts.length) {
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork();
for (var i3 = 0; i3 < message.bucketCounts.length; ++i3)
writer.uint64(message.bucketCounts[i3]);
writer.ldelim();
}
return writer;
};
Buckets.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Buckets.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.offset = reader.sint32();
break;
}
case 2: {
if (!(message.bucketCounts && message.bucketCounts.length))
message.bucketCounts = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.bucketCounts.push(reader.uint64());
} else
message.bucketCounts.push(reader.uint64());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Buckets.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Buckets.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.offset != null && message.hasOwnProperty("offset")) {
if (!$util.isInteger(message.offset))
return "offset: integer expected";
}
if (message.bucketCounts != null && message.hasOwnProperty("bucketCounts")) {
if (!Array.isArray(message.bucketCounts))
return "bucketCounts: array expected";
for (var i3 = 0; i3 < message.bucketCounts.length; ++i3)
if (!$util.isInteger(message.bucketCounts[i3]) && !(message.bucketCounts[i3] && $util.isInteger(message.bucketCounts[i3].low) && $util.isInteger(message.bucketCounts[i3].high)))
return "bucketCounts: integer|Long[] expected";
}
return null;
};
Buckets.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets();
if (object3.offset != null)
message.offset = object3.offset | 0;
if (object3.bucketCounts) {
if (!Array.isArray(object3.bucketCounts))
throw TypeError(".opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.bucketCounts: array expected");
message.bucketCounts = [];
for (var i3 = 0; i3 < object3.bucketCounts.length; ++i3)
if ($util.Long)
(message.bucketCounts[i3] = $util.Long.fromValue(object3.bucketCounts[i3])).unsigned = true;
else if (typeof object3.bucketCounts[i3] === "string")
message.bucketCounts[i3] = parseInt(object3.bucketCounts[i3], 10);
else if (typeof object3.bucketCounts[i3] === "number")
message.bucketCounts[i3] = object3.bucketCounts[i3];
else if (typeof object3.bucketCounts[i3] === "object")
message.bucketCounts[i3] = new $util.LongBits(object3.bucketCounts[i3].low >>> 0, object3.bucketCounts[i3].high >>> 0).toNumber(true);
}
return message;
};
Buckets.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.bucketCounts = [];
if (options.defaults)
object3.offset = 0;
if (message.offset != null && message.hasOwnProperty("offset"))
object3.offset = message.offset;
if (message.bucketCounts && message.bucketCounts.length) {
object3.bucketCounts = [];
for (var j = 0; j < message.bucketCounts.length; ++j)
if (typeof message.bucketCounts[j] === "number")
object3.bucketCounts[j] = options.longs === String ? String(message.bucketCounts[j]) : message.bucketCounts[j];
else
object3.bucketCounts[j] = options.longs === String ? $util.Long.prototype.toString.call(message.bucketCounts[j]) : options.longs === Number ? new $util.LongBits(message.bucketCounts[j].low >>> 0, message.bucketCounts[j].high >>> 0).toNumber(true) : message.bucketCounts[j];
}
return object3;
};
Buckets.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Buckets.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets";
};
return Buckets;
}();
return ExponentialHistogramDataPoint;
}();
v13.SummaryDataPoint = function() {
function SummaryDataPoint(properties) {
this.attributes = [];
this.quantileValues = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
SummaryDataPoint.prototype.attributes = $util.emptyArray;
SummaryDataPoint.prototype.startTimeUnixNano = null;
SummaryDataPoint.prototype.timeUnixNano = null;
SummaryDataPoint.prototype.count = null;
SummaryDataPoint.prototype.sum = null;
SummaryDataPoint.prototype.quantileValues = $util.emptyArray;
SummaryDataPoint.prototype.flags = null;
SummaryDataPoint.create = function create(properties) {
return new SummaryDataPoint(properties);
};
SummaryDataPoint.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.startTimeUnixNano != null && Object.hasOwnProperty.call(message, "startTimeUnixNano"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).fixed64(message.startTimeUnixNano);
if (message.timeUnixNano != null && Object.hasOwnProperty.call(message, "timeUnixNano"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).fixed64(message.timeUnixNano);
if (message.count != null && Object.hasOwnProperty.call(message, "count"))
writer.uint32(
/* id 4, wireType 1 =*/
33
).fixed64(message.count);
if (message.sum != null && Object.hasOwnProperty.call(message, "sum"))
writer.uint32(
/* id 5, wireType 1 =*/
41
).double(message.sum);
if (message.quantileValues != null && message.quantileValues.length)
for (var i3 = 0; i3 < message.quantileValues.length; ++i3)
$root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile.encode(message.quantileValues[i3], writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
if (message.flags != null && Object.hasOwnProperty.call(message, "flags"))
writer.uint32(
/* id 8, wireType 0 =*/
64
).uint32(message.flags);
return writer;
};
SummaryDataPoint.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
SummaryDataPoint.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.SummaryDataPoint();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 7: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 2: {
message.startTimeUnixNano = reader.fixed64();
break;
}
case 3: {
message.timeUnixNano = reader.fixed64();
break;
}
case 4: {
message.count = reader.fixed64();
break;
}
case 5: {
message.sum = reader.double();
break;
}
case 6: {
if (!(message.quantileValues && message.quantileValues.length))
message.quantileValues = [];
message.quantileValues.push($root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile.decode(reader, reader.uint32()));
break;
}
case 8: {
message.flags = reader.uint32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
SummaryDataPoint.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
SummaryDataPoint.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano")) {
if (!$util.isInteger(message.startTimeUnixNano) && !(message.startTimeUnixNano && $util.isInteger(message.startTimeUnixNano.low) && $util.isInteger(message.startTimeUnixNano.high)))
return "startTimeUnixNano: integer|Long expected";
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano")) {
if (!$util.isInteger(message.timeUnixNano) && !(message.timeUnixNano && $util.isInteger(message.timeUnixNano.low) && $util.isInteger(message.timeUnixNano.high)))
return "timeUnixNano: integer|Long expected";
}
if (message.count != null && message.hasOwnProperty("count")) {
if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high)))
return "count: integer|Long expected";
}
if (message.sum != null && message.hasOwnProperty("sum")) {
if (typeof message.sum !== "number")
return "sum: number expected";
}
if (message.quantileValues != null && message.hasOwnProperty("quantileValues")) {
if (!Array.isArray(message.quantileValues))
return "quantileValues: array expected";
for (var i3 = 0; i3 < message.quantileValues.length; ++i3) {
var error40 = $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile.verify(message.quantileValues[i3]);
if (error40)
return "quantileValues." + error40;
}
}
if (message.flags != null && message.hasOwnProperty("flags")) {
if (!$util.isInteger(message.flags))
return "flags: integer expected";
}
return null;
};
SummaryDataPoint.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.SummaryDataPoint)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.SummaryDataPoint();
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.metrics.v1.SummaryDataPoint.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.SummaryDataPoint.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.startTimeUnixNano != null) {
if ($util.Long)
(message.startTimeUnixNano = $util.Long.fromValue(object3.startTimeUnixNano)).unsigned = false;
else if (typeof object3.startTimeUnixNano === "string")
message.startTimeUnixNano = parseInt(object3.startTimeUnixNano, 10);
else if (typeof object3.startTimeUnixNano === "number")
message.startTimeUnixNano = object3.startTimeUnixNano;
else if (typeof object3.startTimeUnixNano === "object")
message.startTimeUnixNano = new $util.LongBits(object3.startTimeUnixNano.low >>> 0, object3.startTimeUnixNano.high >>> 0).toNumber();
}
if (object3.timeUnixNano != null) {
if ($util.Long)
(message.timeUnixNano = $util.Long.fromValue(object3.timeUnixNano)).unsigned = false;
else if (typeof object3.timeUnixNano === "string")
message.timeUnixNano = parseInt(object3.timeUnixNano, 10);
else if (typeof object3.timeUnixNano === "number")
message.timeUnixNano = object3.timeUnixNano;
else if (typeof object3.timeUnixNano === "object")
message.timeUnixNano = new $util.LongBits(object3.timeUnixNano.low >>> 0, object3.timeUnixNano.high >>> 0).toNumber();
}
if (object3.count != null) {
if ($util.Long)
(message.count = $util.Long.fromValue(object3.count)).unsigned = false;
else if (typeof object3.count === "string")
message.count = parseInt(object3.count, 10);
else if (typeof object3.count === "number")
message.count = object3.count;
else if (typeof object3.count === "object")
message.count = new $util.LongBits(object3.count.low >>> 0, object3.count.high >>> 0).toNumber();
}
if (object3.sum != null)
message.sum = Number(object3.sum);
if (object3.quantileValues) {
if (!Array.isArray(object3.quantileValues))
throw TypeError(".opentelemetry.proto.metrics.v1.SummaryDataPoint.quantileValues: array expected");
message.quantileValues = [];
for (var i3 = 0; i3 < object3.quantileValues.length; ++i3) {
if (typeof object3.quantileValues[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.SummaryDataPoint.quantileValues: object expected");
message.quantileValues[i3] = $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile.fromObject(object3.quantileValues[i3]);
}
}
if (object3.flags != null)
message.flags = object3.flags >>> 0;
return message;
};
SummaryDataPoint.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.quantileValues = [];
object3.attributes = [];
}
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.startTimeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.startTimeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.timeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.timeUnixNano = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.count = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.count = options.longs === String ? "0" : 0;
object3.sum = 0;
object3.flags = 0;
}
if (message.startTimeUnixNano != null && message.hasOwnProperty("startTimeUnixNano"))
if (typeof message.startTimeUnixNano === "number")
object3.startTimeUnixNano = options.longs === String ? String(message.startTimeUnixNano) : message.startTimeUnixNano;
else
object3.startTimeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeUnixNano) : options.longs === Number ? new $util.LongBits(message.startTimeUnixNano.low >>> 0, message.startTimeUnixNano.high >>> 0).toNumber() : message.startTimeUnixNano;
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano"))
if (typeof message.timeUnixNano === "number")
object3.timeUnixNano = options.longs === String ? String(message.timeUnixNano) : message.timeUnixNano;
else
object3.timeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.timeUnixNano) : options.longs === Number ? new $util.LongBits(message.timeUnixNano.low >>> 0, message.timeUnixNano.high >>> 0).toNumber() : message.timeUnixNano;
if (message.count != null && message.hasOwnProperty("count"))
if (typeof message.count === "number")
object3.count = options.longs === String ? String(message.count) : message.count;
else
object3.count = options.longs === String ? $util.Long.prototype.toString.call(message.count) : options.longs === Number ? new $util.LongBits(message.count.low >>> 0, message.count.high >>> 0).toNumber() : message.count;
if (message.sum != null && message.hasOwnProperty("sum"))
object3.sum = options.json && !isFinite(message.sum) ? String(message.sum) : message.sum;
if (message.quantileValues && message.quantileValues.length) {
object3.quantileValues = [];
for (var j = 0; j < message.quantileValues.length; ++j)
object3.quantileValues[j] = $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile.toObject(message.quantileValues[j], options);
}
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.flags != null && message.hasOwnProperty("flags"))
object3.flags = message.flags;
return object3;
};
SummaryDataPoint.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
SummaryDataPoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.SummaryDataPoint";
};
SummaryDataPoint.ValueAtQuantile = function() {
function ValueAtQuantile(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ValueAtQuantile.prototype.quantile = null;
ValueAtQuantile.prototype.value = null;
ValueAtQuantile.create = function create(properties) {
return new ValueAtQuantile(properties);
};
ValueAtQuantile.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.quantile != null && Object.hasOwnProperty.call(message, "quantile"))
writer.uint32(
/* id 1, wireType 1 =*/
9
).double(message.quantile);
if (message.value != null && Object.hasOwnProperty.call(message, "value"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).double(message.value);
return writer;
};
ValueAtQuantile.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ValueAtQuantile.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.quantile = reader.double();
break;
}
case 2: {
message.value = reader.double();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ValueAtQuantile.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ValueAtQuantile.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.quantile != null && message.hasOwnProperty("quantile")) {
if (typeof message.quantile !== "number")
return "quantile: number expected";
}
if (message.value != null && message.hasOwnProperty("value")) {
if (typeof message.value !== "number")
return "value: number expected";
}
return null;
};
ValueAtQuantile.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile();
if (object3.quantile != null)
message.quantile = Number(object3.quantile);
if (object3.value != null)
message.value = Number(object3.value);
return message;
};
ValueAtQuantile.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.quantile = 0;
object3.value = 0;
}
if (message.quantile != null && message.hasOwnProperty("quantile"))
object3.quantile = options.json && !isFinite(message.quantile) ? String(message.quantile) : message.quantile;
if (message.value != null && message.hasOwnProperty("value"))
object3.value = options.json && !isFinite(message.value) ? String(message.value) : message.value;
return object3;
};
ValueAtQuantile.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ValueAtQuantile.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile";
};
return ValueAtQuantile;
}();
return SummaryDataPoint;
}();
v13.Exemplar = function() {
function Exemplar(properties) {
this.filteredAttributes = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Exemplar.prototype.filteredAttributes = $util.emptyArray;
Exemplar.prototype.timeUnixNano = null;
Exemplar.prototype.asDouble = null;
Exemplar.prototype.asInt = null;
Exemplar.prototype.spanId = null;
Exemplar.prototype.traceId = null;
var $oneOfFields;
Object.defineProperty(Exemplar.prototype, "value", {
get: $util.oneOfGetter($oneOfFields = ["asDouble", "asInt"]),
set: $util.oneOfSetter($oneOfFields)
});
Exemplar.create = function create(properties) {
return new Exemplar(properties);
};
Exemplar.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.timeUnixNano != null && Object.hasOwnProperty.call(message, "timeUnixNano"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).fixed64(message.timeUnixNano);
if (message.asDouble != null && Object.hasOwnProperty.call(message, "asDouble"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).double(message.asDouble);
if (message.spanId != null && Object.hasOwnProperty.call(message, "spanId"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).bytes(message.spanId);
if (message.traceId != null && Object.hasOwnProperty.call(message, "traceId"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).bytes(message.traceId);
if (message.asInt != null && Object.hasOwnProperty.call(message, "asInt"))
writer.uint32(
/* id 6, wireType 1 =*/
49
).sfixed64(message.asInt);
if (message.filteredAttributes != null && message.filteredAttributes.length)
for (var i3 = 0; i3 < message.filteredAttributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.filteredAttributes[i3], writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
return writer;
};
Exemplar.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Exemplar.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.metrics.v1.Exemplar();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 7: {
if (!(message.filteredAttributes && message.filteredAttributes.length))
message.filteredAttributes = [];
message.filteredAttributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 2: {
message.timeUnixNano = reader.fixed64();
break;
}
case 3: {
message.asDouble = reader.double();
break;
}
case 6: {
message.asInt = reader.sfixed64();
break;
}
case 4: {
message.spanId = reader.bytes();
break;
}
case 5: {
message.traceId = reader.bytes();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Exemplar.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Exemplar.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.filteredAttributes != null && message.hasOwnProperty("filteredAttributes")) {
if (!Array.isArray(message.filteredAttributes))
return "filteredAttributes: array expected";
for (var i3 = 0; i3 < message.filteredAttributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.filteredAttributes[i3]);
if (error40)
return "filteredAttributes." + error40;
}
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano")) {
if (!$util.isInteger(message.timeUnixNano) && !(message.timeUnixNano && $util.isInteger(message.timeUnixNano.low) && $util.isInteger(message.timeUnixNano.high)))
return "timeUnixNano: integer|Long expected";
}
if (message.asDouble != null && message.hasOwnProperty("asDouble")) {
properties.value = 1;
if (typeof message.asDouble !== "number")
return "asDouble: number expected";
}
if (message.asInt != null && message.hasOwnProperty("asInt")) {
if (properties.value === 1)
return "value: multiple values";
properties.value = 1;
if (!$util.isInteger(message.asInt) && !(message.asInt && $util.isInteger(message.asInt.low) && $util.isInteger(message.asInt.high)))
return "asInt: integer|Long expected";
}
if (message.spanId != null && message.hasOwnProperty("spanId")) {
if (!(message.spanId && typeof message.spanId.length === "number" || $util.isString(message.spanId)))
return "spanId: buffer expected";
}
if (message.traceId != null && message.hasOwnProperty("traceId")) {
if (!(message.traceId && typeof message.traceId.length === "number" || $util.isString(message.traceId)))
return "traceId: buffer expected";
}
return null;
};
Exemplar.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.metrics.v1.Exemplar)
return object3;
var message = new $root.opentelemetry.proto.metrics.v1.Exemplar();
if (object3.filteredAttributes) {
if (!Array.isArray(object3.filteredAttributes))
throw TypeError(".opentelemetry.proto.metrics.v1.Exemplar.filteredAttributes: array expected");
message.filteredAttributes = [];
for (var i3 = 0; i3 < object3.filteredAttributes.length; ++i3) {
if (typeof object3.filteredAttributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.metrics.v1.Exemplar.filteredAttributes: object expected");
message.filteredAttributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.filteredAttributes[i3]);
}
}
if (object3.timeUnixNano != null) {
if ($util.Long)
(message.timeUnixNano = $util.Long.fromValue(object3.timeUnixNano)).unsigned = false;
else if (typeof object3.timeUnixNano === "string")
message.timeUnixNano = parseInt(object3.timeUnixNano, 10);
else if (typeof object3.timeUnixNano === "number")
message.timeUnixNano = object3.timeUnixNano;
else if (typeof object3.timeUnixNano === "object")
message.timeUnixNano = new $util.LongBits(object3.timeUnixNano.low >>> 0, object3.timeUnixNano.high >>> 0).toNumber();
}
if (object3.asDouble != null)
message.asDouble = Number(object3.asDouble);
if (object3.asInt != null) {
if ($util.Long)
(message.asInt = $util.Long.fromValue(object3.asInt)).unsigned = false;
else if (typeof object3.asInt === "string")
message.asInt = parseInt(object3.asInt, 10);
else if (typeof object3.asInt === "number")
message.asInt = object3.asInt;
else if (typeof object3.asInt === "object")
message.asInt = new $util.LongBits(object3.asInt.low >>> 0, object3.asInt.high >>> 0).toNumber();
}
if (object3.spanId != null) {
if (typeof object3.spanId === "string")
$util.base64.decode(object3.spanId, message.spanId = $util.newBuffer($util.base64.length(object3.spanId)), 0);
else if (object3.spanId.length >= 0)
message.spanId = object3.spanId;
}
if (object3.traceId != null) {
if (typeof object3.traceId === "string")
$util.base64.decode(object3.traceId, message.traceId = $util.newBuffer($util.base64.length(object3.traceId)), 0);
else if (object3.traceId.length >= 0)
message.traceId = object3.traceId;
}
return message;
};
Exemplar.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.filteredAttributes = [];
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.timeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.timeUnixNano = options.longs === String ? "0" : 0;
if (options.bytes === String)
object3.spanId = "";
else {
object3.spanId = [];
if (options.bytes !== Array)
object3.spanId = $util.newBuffer(object3.spanId);
}
if (options.bytes === String)
object3.traceId = "";
else {
object3.traceId = [];
if (options.bytes !== Array)
object3.traceId = $util.newBuffer(object3.traceId);
}
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano"))
if (typeof message.timeUnixNano === "number")
object3.timeUnixNano = options.longs === String ? String(message.timeUnixNano) : message.timeUnixNano;
else
object3.timeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.timeUnixNano) : options.longs === Number ? new $util.LongBits(message.timeUnixNano.low >>> 0, message.timeUnixNano.high >>> 0).toNumber() : message.timeUnixNano;
if (message.asDouble != null && message.hasOwnProperty("asDouble")) {
object3.asDouble = options.json && !isFinite(message.asDouble) ? String(message.asDouble) : message.asDouble;
if (options.oneofs)
object3.value = "asDouble";
}
if (message.spanId != null && message.hasOwnProperty("spanId"))
object3.spanId = options.bytes === String ? $util.base64.encode(message.spanId, 0, message.spanId.length) : options.bytes === Array ? Array.prototype.slice.call(message.spanId) : message.spanId;
if (message.traceId != null && message.hasOwnProperty("traceId"))
object3.traceId = options.bytes === String ? $util.base64.encode(message.traceId, 0, message.traceId.length) : options.bytes === Array ? Array.prototype.slice.call(message.traceId) : message.traceId;
if (message.asInt != null && message.hasOwnProperty("asInt")) {
if (typeof message.asInt === "number")
object3.asInt = options.longs === String ? String(message.asInt) : message.asInt;
else
object3.asInt = options.longs === String ? $util.Long.prototype.toString.call(message.asInt) : options.longs === Number ? new $util.LongBits(message.asInt.low >>> 0, message.asInt.high >>> 0).toNumber() : message.asInt;
if (options.oneofs)
object3.value = "asInt";
}
if (message.filteredAttributes && message.filteredAttributes.length) {
object3.filteredAttributes = [];
for (var j = 0; j < message.filteredAttributes.length; ++j)
object3.filteredAttributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.filteredAttributes[j], options);
}
return object3;
};
Exemplar.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Exemplar.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.metrics.v1.Exemplar";
};
return Exemplar;
}();
return v13;
}();
return metrics2;
}();
proto.logs = function() {
var logs3 = {};
logs3.v1 = function() {
var v13 = {};
v13.LogsData = function() {
function LogsData(properties) {
this.resourceLogs = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogsData.prototype.resourceLogs = $util.emptyArray;
LogsData.create = function create(properties) {
return new LogsData(properties);
};
LogsData.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceLogs != null && message.resourceLogs.length)
for (var i3 = 0; i3 < message.resourceLogs.length; ++i3)
$root.opentelemetry.proto.logs.v1.ResourceLogs.encode(message.resourceLogs[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
LogsData.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogsData.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.logs.v1.LogsData();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceLogs && message.resourceLogs.length))
message.resourceLogs = [];
message.resourceLogs.push($root.opentelemetry.proto.logs.v1.ResourceLogs.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogsData.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogsData.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceLogs != null && message.hasOwnProperty("resourceLogs")) {
if (!Array.isArray(message.resourceLogs))
return "resourceLogs: array expected";
for (var i3 = 0; i3 < message.resourceLogs.length; ++i3) {
var error40 = $root.opentelemetry.proto.logs.v1.ResourceLogs.verify(message.resourceLogs[i3]);
if (error40)
return "resourceLogs." + error40;
}
}
return null;
};
LogsData.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.logs.v1.LogsData)
return object3;
var message = new $root.opentelemetry.proto.logs.v1.LogsData();
if (object3.resourceLogs) {
if (!Array.isArray(object3.resourceLogs))
throw TypeError(".opentelemetry.proto.logs.v1.LogsData.resourceLogs: array expected");
message.resourceLogs = [];
for (var i3 = 0; i3 < object3.resourceLogs.length; ++i3) {
if (typeof object3.resourceLogs[i3] !== "object")
throw TypeError(".opentelemetry.proto.logs.v1.LogsData.resourceLogs: object expected");
message.resourceLogs[i3] = $root.opentelemetry.proto.logs.v1.ResourceLogs.fromObject(object3.resourceLogs[i3]);
}
}
return message;
};
LogsData.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceLogs = [];
if (message.resourceLogs && message.resourceLogs.length) {
object3.resourceLogs = [];
for (var j = 0; j < message.resourceLogs.length; ++j)
object3.resourceLogs[j] = $root.opentelemetry.proto.logs.v1.ResourceLogs.toObject(message.resourceLogs[j], options);
}
return object3;
};
LogsData.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogsData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.logs.v1.LogsData";
};
return LogsData;
}();
v13.ResourceLogs = function() {
function ResourceLogs(properties) {
this.scopeLogs = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ResourceLogs.prototype.resource = null;
ResourceLogs.prototype.scopeLogs = $util.emptyArray;
ResourceLogs.prototype.schemaUrl = null;
ResourceLogs.create = function create(properties) {
return new ResourceLogs(properties);
};
ResourceLogs.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resource != null && Object.hasOwnProperty.call(message, "resource"))
$root.opentelemetry.proto.resource.v1.Resource.encode(message.resource, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.scopeLogs != null && message.scopeLogs.length)
for (var i3 = 0; i3 < message.scopeLogs.length; ++i3)
$root.opentelemetry.proto.logs.v1.ScopeLogs.encode(message.scopeLogs[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.schemaUrl != null && Object.hasOwnProperty.call(message, "schemaUrl"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.schemaUrl);
return writer;
};
ResourceLogs.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ResourceLogs.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.logs.v1.ResourceLogs();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.resource = $root.opentelemetry.proto.resource.v1.Resource.decode(reader, reader.uint32());
break;
}
case 2: {
if (!(message.scopeLogs && message.scopeLogs.length))
message.scopeLogs = [];
message.scopeLogs.push($root.opentelemetry.proto.logs.v1.ScopeLogs.decode(reader, reader.uint32()));
break;
}
case 3: {
message.schemaUrl = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ResourceLogs.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ResourceLogs.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resource != null && message.hasOwnProperty("resource")) {
var error40 = $root.opentelemetry.proto.resource.v1.Resource.verify(message.resource);
if (error40)
return "resource." + error40;
}
if (message.scopeLogs != null && message.hasOwnProperty("scopeLogs")) {
if (!Array.isArray(message.scopeLogs))
return "scopeLogs: array expected";
for (var i3 = 0; i3 < message.scopeLogs.length; ++i3) {
var error40 = $root.opentelemetry.proto.logs.v1.ScopeLogs.verify(message.scopeLogs[i3]);
if (error40)
return "scopeLogs." + error40;
}
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl")) {
if (!$util.isString(message.schemaUrl))
return "schemaUrl: string expected";
}
return null;
};
ResourceLogs.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.logs.v1.ResourceLogs)
return object3;
var message = new $root.opentelemetry.proto.logs.v1.ResourceLogs();
if (object3.resource != null) {
if (typeof object3.resource !== "object")
throw TypeError(".opentelemetry.proto.logs.v1.ResourceLogs.resource: object expected");
message.resource = $root.opentelemetry.proto.resource.v1.Resource.fromObject(object3.resource);
}
if (object3.scopeLogs) {
if (!Array.isArray(object3.scopeLogs))
throw TypeError(".opentelemetry.proto.logs.v1.ResourceLogs.scopeLogs: array expected");
message.scopeLogs = [];
for (var i3 = 0; i3 < object3.scopeLogs.length; ++i3) {
if (typeof object3.scopeLogs[i3] !== "object")
throw TypeError(".opentelemetry.proto.logs.v1.ResourceLogs.scopeLogs: object expected");
message.scopeLogs[i3] = $root.opentelemetry.proto.logs.v1.ScopeLogs.fromObject(object3.scopeLogs[i3]);
}
}
if (object3.schemaUrl != null)
message.schemaUrl = String(object3.schemaUrl);
return message;
};
ResourceLogs.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.scopeLogs = [];
if (options.defaults) {
object3.resource = null;
object3.schemaUrl = "";
}
if (message.resource != null && message.hasOwnProperty("resource"))
object3.resource = $root.opentelemetry.proto.resource.v1.Resource.toObject(message.resource, options);
if (message.scopeLogs && message.scopeLogs.length) {
object3.scopeLogs = [];
for (var j = 0; j < message.scopeLogs.length; ++j)
object3.scopeLogs[j] = $root.opentelemetry.proto.logs.v1.ScopeLogs.toObject(message.scopeLogs[j], options);
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl"))
object3.schemaUrl = message.schemaUrl;
return object3;
};
ResourceLogs.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ResourceLogs.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.logs.v1.ResourceLogs";
};
return ResourceLogs;
}();
v13.ScopeLogs = function() {
function ScopeLogs(properties) {
this.logRecords = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ScopeLogs.prototype.scope = null;
ScopeLogs.prototype.logRecords = $util.emptyArray;
ScopeLogs.prototype.schemaUrl = null;
ScopeLogs.create = function create(properties) {
return new ScopeLogs(properties);
};
ScopeLogs.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
$root.opentelemetry.proto.common.v1.InstrumentationScope.encode(message.scope, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.logRecords != null && message.logRecords.length)
for (var i3 = 0; i3 < message.logRecords.length; ++i3)
$root.opentelemetry.proto.logs.v1.LogRecord.encode(message.logRecords[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.schemaUrl != null && Object.hasOwnProperty.call(message, "schemaUrl"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.schemaUrl);
return writer;
};
ScopeLogs.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ScopeLogs.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.logs.v1.ScopeLogs();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.decode(reader, reader.uint32());
break;
}
case 2: {
if (!(message.logRecords && message.logRecords.length))
message.logRecords = [];
message.logRecords.push($root.opentelemetry.proto.logs.v1.LogRecord.decode(reader, reader.uint32()));
break;
}
case 3: {
message.schemaUrl = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ScopeLogs.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ScopeLogs.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.scope != null && message.hasOwnProperty("scope")) {
var error40 = $root.opentelemetry.proto.common.v1.InstrumentationScope.verify(message.scope);
if (error40)
return "scope." + error40;
}
if (message.logRecords != null && message.hasOwnProperty("logRecords")) {
if (!Array.isArray(message.logRecords))
return "logRecords: array expected";
for (var i3 = 0; i3 < message.logRecords.length; ++i3) {
var error40 = $root.opentelemetry.proto.logs.v1.LogRecord.verify(message.logRecords[i3]);
if (error40)
return "logRecords." + error40;
}
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl")) {
if (!$util.isString(message.schemaUrl))
return "schemaUrl: string expected";
}
return null;
};
ScopeLogs.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.logs.v1.ScopeLogs)
return object3;
var message = new $root.opentelemetry.proto.logs.v1.ScopeLogs();
if (object3.scope != null) {
if (typeof object3.scope !== "object")
throw TypeError(".opentelemetry.proto.logs.v1.ScopeLogs.scope: object expected");
message.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.fromObject(object3.scope);
}
if (object3.logRecords) {
if (!Array.isArray(object3.logRecords))
throw TypeError(".opentelemetry.proto.logs.v1.ScopeLogs.logRecords: array expected");
message.logRecords = [];
for (var i3 = 0; i3 < object3.logRecords.length; ++i3) {
if (typeof object3.logRecords[i3] !== "object")
throw TypeError(".opentelemetry.proto.logs.v1.ScopeLogs.logRecords: object expected");
message.logRecords[i3] = $root.opentelemetry.proto.logs.v1.LogRecord.fromObject(object3.logRecords[i3]);
}
}
if (object3.schemaUrl != null)
message.schemaUrl = String(object3.schemaUrl);
return message;
};
ScopeLogs.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.logRecords = [];
if (options.defaults) {
object3.scope = null;
object3.schemaUrl = "";
}
if (message.scope != null && message.hasOwnProperty("scope"))
object3.scope = $root.opentelemetry.proto.common.v1.InstrumentationScope.toObject(message.scope, options);
if (message.logRecords && message.logRecords.length) {
object3.logRecords = [];
for (var j = 0; j < message.logRecords.length; ++j)
object3.logRecords[j] = $root.opentelemetry.proto.logs.v1.LogRecord.toObject(message.logRecords[j], options);
}
if (message.schemaUrl != null && message.hasOwnProperty("schemaUrl"))
object3.schemaUrl = message.schemaUrl;
return object3;
};
ScopeLogs.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ScopeLogs.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.logs.v1.ScopeLogs";
};
return ScopeLogs;
}();
v13.SeverityNumber = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "SEVERITY_NUMBER_UNSPECIFIED"] = 0;
values[valuesById[1] = "SEVERITY_NUMBER_TRACE"] = 1;
values[valuesById[2] = "SEVERITY_NUMBER_TRACE2"] = 2;
values[valuesById[3] = "SEVERITY_NUMBER_TRACE3"] = 3;
values[valuesById[4] = "SEVERITY_NUMBER_TRACE4"] = 4;
values[valuesById[5] = "SEVERITY_NUMBER_DEBUG"] = 5;
values[valuesById[6] = "SEVERITY_NUMBER_DEBUG2"] = 6;
values[valuesById[7] = "SEVERITY_NUMBER_DEBUG3"] = 7;
values[valuesById[8] = "SEVERITY_NUMBER_DEBUG4"] = 8;
values[valuesById[9] = "SEVERITY_NUMBER_INFO"] = 9;
values[valuesById[10] = "SEVERITY_NUMBER_INFO2"] = 10;
values[valuesById[11] = "SEVERITY_NUMBER_INFO3"] = 11;
values[valuesById[12] = "SEVERITY_NUMBER_INFO4"] = 12;
values[valuesById[13] = "SEVERITY_NUMBER_WARN"] = 13;
values[valuesById[14] = "SEVERITY_NUMBER_WARN2"] = 14;
values[valuesById[15] = "SEVERITY_NUMBER_WARN3"] = 15;
values[valuesById[16] = "SEVERITY_NUMBER_WARN4"] = 16;
values[valuesById[17] = "SEVERITY_NUMBER_ERROR"] = 17;
values[valuesById[18] = "SEVERITY_NUMBER_ERROR2"] = 18;
values[valuesById[19] = "SEVERITY_NUMBER_ERROR3"] = 19;
values[valuesById[20] = "SEVERITY_NUMBER_ERROR4"] = 20;
values[valuesById[21] = "SEVERITY_NUMBER_FATAL"] = 21;
values[valuesById[22] = "SEVERITY_NUMBER_FATAL2"] = 22;
values[valuesById[23] = "SEVERITY_NUMBER_FATAL3"] = 23;
values[valuesById[24] = "SEVERITY_NUMBER_FATAL4"] = 24;
return values;
}();
v13.LogRecordFlags = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "LOG_RECORD_FLAGS_DO_NOT_USE"] = 0;
values[valuesById[255] = "LOG_RECORD_FLAGS_TRACE_FLAGS_MASK"] = 255;
return values;
}();
v13.LogRecord = function() {
function LogRecord(properties) {
this.attributes = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogRecord.prototype.timeUnixNano = null;
LogRecord.prototype.observedTimeUnixNano = null;
LogRecord.prototype.severityNumber = null;
LogRecord.prototype.severityText = null;
LogRecord.prototype.body = null;
LogRecord.prototype.attributes = $util.emptyArray;
LogRecord.prototype.droppedAttributesCount = null;
LogRecord.prototype.flags = null;
LogRecord.prototype.traceId = null;
LogRecord.prototype.spanId = null;
LogRecord.prototype.eventName = null;
LogRecord.create = function create(properties) {
return new LogRecord(properties);
};
LogRecord.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.timeUnixNano != null && Object.hasOwnProperty.call(message, "timeUnixNano"))
writer.uint32(
/* id 1, wireType 1 =*/
9
).fixed64(message.timeUnixNano);
if (message.severityNumber != null && Object.hasOwnProperty.call(message, "severityNumber"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.severityNumber);
if (message.severityText != null && Object.hasOwnProperty.call(message, "severityText"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.severityText);
if (message.body != null && Object.hasOwnProperty.call(message, "body"))
$root.opentelemetry.proto.common.v1.AnyValue.encode(message.body, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.attributes != null && message.attributes.length)
for (var i3 = 0; i3 < message.attributes.length; ++i3)
$root.opentelemetry.proto.common.v1.KeyValue.encode(message.attributes[i3], writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
if (message.droppedAttributesCount != null && Object.hasOwnProperty.call(message, "droppedAttributesCount"))
writer.uint32(
/* id 7, wireType 0 =*/
56
).uint32(message.droppedAttributesCount);
if (message.flags != null && Object.hasOwnProperty.call(message, "flags"))
writer.uint32(
/* id 8, wireType 5 =*/
69
).fixed32(message.flags);
if (message.traceId != null && Object.hasOwnProperty.call(message, "traceId"))
writer.uint32(
/* id 9, wireType 2 =*/
74
).bytes(message.traceId);
if (message.spanId != null && Object.hasOwnProperty.call(message, "spanId"))
writer.uint32(
/* id 10, wireType 2 =*/
82
).bytes(message.spanId);
if (message.observedTimeUnixNano != null && Object.hasOwnProperty.call(message, "observedTimeUnixNano"))
writer.uint32(
/* id 11, wireType 1 =*/
89
).fixed64(message.observedTimeUnixNano);
if (message.eventName != null && Object.hasOwnProperty.call(message, "eventName"))
writer.uint32(
/* id 12, wireType 2 =*/
98
).string(message.eventName);
return writer;
};
LogRecord.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogRecord.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.opentelemetry.proto.logs.v1.LogRecord();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.timeUnixNano = reader.fixed64();
break;
}
case 11: {
message.observedTimeUnixNano = reader.fixed64();
break;
}
case 2: {
message.severityNumber = reader.int32();
break;
}
case 3: {
message.severityText = reader.string();
break;
}
case 5: {
message.body = $root.opentelemetry.proto.common.v1.AnyValue.decode(reader, reader.uint32());
break;
}
case 6: {
if (!(message.attributes && message.attributes.length))
message.attributes = [];
message.attributes.push($root.opentelemetry.proto.common.v1.KeyValue.decode(reader, reader.uint32()));
break;
}
case 7: {
message.droppedAttributesCount = reader.uint32();
break;
}
case 8: {
message.flags = reader.fixed32();
break;
}
case 9: {
message.traceId = reader.bytes();
break;
}
case 10: {
message.spanId = reader.bytes();
break;
}
case 12: {
message.eventName = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogRecord.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogRecord.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano")) {
if (!$util.isInteger(message.timeUnixNano) && !(message.timeUnixNano && $util.isInteger(message.timeUnixNano.low) && $util.isInteger(message.timeUnixNano.high)))
return "timeUnixNano: integer|Long expected";
}
if (message.observedTimeUnixNano != null && message.hasOwnProperty("observedTimeUnixNano")) {
if (!$util.isInteger(message.observedTimeUnixNano) && !(message.observedTimeUnixNano && $util.isInteger(message.observedTimeUnixNano.low) && $util.isInteger(message.observedTimeUnixNano.high)))
return "observedTimeUnixNano: integer|Long expected";
}
if (message.severityNumber != null && message.hasOwnProperty("severityNumber"))
switch (message.severityNumber) {
default:
return "severityNumber: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
break;
}
if (message.severityText != null && message.hasOwnProperty("severityText")) {
if (!$util.isString(message.severityText))
return "severityText: string expected";
}
if (message.body != null && message.hasOwnProperty("body")) {
var error40 = $root.opentelemetry.proto.common.v1.AnyValue.verify(message.body);
if (error40)
return "body." + error40;
}
if (message.attributes != null && message.hasOwnProperty("attributes")) {
if (!Array.isArray(message.attributes))
return "attributes: array expected";
for (var i3 = 0; i3 < message.attributes.length; ++i3) {
var error40 = $root.opentelemetry.proto.common.v1.KeyValue.verify(message.attributes[i3]);
if (error40)
return "attributes." + error40;
}
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount")) {
if (!$util.isInteger(message.droppedAttributesCount))
return "droppedAttributesCount: integer expected";
}
if (message.flags != null && message.hasOwnProperty("flags")) {
if (!$util.isInteger(message.flags))
return "flags: integer expected";
}
if (message.traceId != null && message.hasOwnProperty("traceId")) {
if (!(message.traceId && typeof message.traceId.length === "number" || $util.isString(message.traceId)))
return "traceId: buffer expected";
}
if (message.spanId != null && message.hasOwnProperty("spanId")) {
if (!(message.spanId && typeof message.spanId.length === "number" || $util.isString(message.spanId)))
return "spanId: buffer expected";
}
if (message.eventName != null && message.hasOwnProperty("eventName")) {
if (!$util.isString(message.eventName))
return "eventName: string expected";
}
return null;
};
LogRecord.fromObject = function fromObject(object3) {
if (object3 instanceof $root.opentelemetry.proto.logs.v1.LogRecord)
return object3;
var message = new $root.opentelemetry.proto.logs.v1.LogRecord();
if (object3.timeUnixNano != null) {
if ($util.Long)
(message.timeUnixNano = $util.Long.fromValue(object3.timeUnixNano)).unsigned = false;
else if (typeof object3.timeUnixNano === "string")
message.timeUnixNano = parseInt(object3.timeUnixNano, 10);
else if (typeof object3.timeUnixNano === "number")
message.timeUnixNano = object3.timeUnixNano;
else if (typeof object3.timeUnixNano === "object")
message.timeUnixNano = new $util.LongBits(object3.timeUnixNano.low >>> 0, object3.timeUnixNano.high >>> 0).toNumber();
}
if (object3.observedTimeUnixNano != null) {
if ($util.Long)
(message.observedTimeUnixNano = $util.Long.fromValue(object3.observedTimeUnixNano)).unsigned = false;
else if (typeof object3.observedTimeUnixNano === "string")
message.observedTimeUnixNano = parseInt(object3.observedTimeUnixNano, 10);
else if (typeof object3.observedTimeUnixNano === "number")
message.observedTimeUnixNano = object3.observedTimeUnixNano;
else if (typeof object3.observedTimeUnixNano === "object")
message.observedTimeUnixNano = new $util.LongBits(object3.observedTimeUnixNano.low >>> 0, object3.observedTimeUnixNano.high >>> 0).toNumber();
}
switch (object3.severityNumber) {
default:
if (typeof object3.severityNumber === "number") {
message.severityNumber = object3.severityNumber;
break;
}
break;
case "SEVERITY_NUMBER_UNSPECIFIED":
case 0:
message.severityNumber = 0;
break;
case "SEVERITY_NUMBER_TRACE":
case 1:
message.severityNumber = 1;
break;
case "SEVERITY_NUMBER_TRACE2":
case 2:
message.severityNumber = 2;
break;
case "SEVERITY_NUMBER_TRACE3":
case 3:
message.severityNumber = 3;
break;
case "SEVERITY_NUMBER_TRACE4":
case 4:
message.severityNumber = 4;
break;
case "SEVERITY_NUMBER_DEBUG":
case 5:
message.severityNumber = 5;
break;
case "SEVERITY_NUMBER_DEBUG2":
case 6:
message.severityNumber = 6;
break;
case "SEVERITY_NUMBER_DEBUG3":
case 7:
message.severityNumber = 7;
break;
case "SEVERITY_NUMBER_DEBUG4":
case 8:
message.severityNumber = 8;
break;
case "SEVERITY_NUMBER_INFO":
case 9:
message.severityNumber = 9;
break;
case "SEVERITY_NUMBER_INFO2":
case 10:
message.severityNumber = 10;
break;
case "SEVERITY_NUMBER_INFO3":
case 11:
message.severityNumber = 11;
break;
case "SEVERITY_NUMBER_INFO4":
case 12:
message.severityNumber = 12;
break;
case "SEVERITY_NUMBER_WARN":
case 13:
message.severityNumber = 13;
break;
case "SEVERITY_NUMBER_WARN2":
case 14:
message.severityNumber = 14;
break;
case "SEVERITY_NUMBER_WARN3":
case 15:
message.severityNumber = 15;
break;
case "SEVERITY_NUMBER_WARN4":
case 16:
message.severityNumber = 16;
break;
case "SEVERITY_NUMBER_ERROR":
case 17:
message.severityNumber = 17;
break;
case "SEVERITY_NUMBER_ERROR2":
case 18:
message.severityNumber = 18;
break;
case "SEVERITY_NUMBER_ERROR3":
case 19:
message.severityNumber = 19;
break;
case "SEVERITY_NUMBER_ERROR4":
case 20:
message.severityNumber = 20;
break;
case "SEVERITY_NUMBER_FATAL":
case 21:
message.severityNumber = 21;
break;
case "SEVERITY_NUMBER_FATAL2":
case 22:
message.severityNumber = 22;
break;
case "SEVERITY_NUMBER_FATAL3":
case 23:
message.severityNumber = 23;
break;
case "SEVERITY_NUMBER_FATAL4":
case 24:
message.severityNumber = 24;
break;
}
if (object3.severityText != null)
message.severityText = String(object3.severityText);
if (object3.body != null) {
if (typeof object3.body !== "object")
throw TypeError(".opentelemetry.proto.logs.v1.LogRecord.body: object expected");
message.body = $root.opentelemetry.proto.common.v1.AnyValue.fromObject(object3.body);
}
if (object3.attributes) {
if (!Array.isArray(object3.attributes))
throw TypeError(".opentelemetry.proto.logs.v1.LogRecord.attributes: array expected");
message.attributes = [];
for (var i3 = 0; i3 < object3.attributes.length; ++i3) {
if (typeof object3.attributes[i3] !== "object")
throw TypeError(".opentelemetry.proto.logs.v1.LogRecord.attributes: object expected");
message.attributes[i3] = $root.opentelemetry.proto.common.v1.KeyValue.fromObject(object3.attributes[i3]);
}
}
if (object3.droppedAttributesCount != null)
message.droppedAttributesCount = object3.droppedAttributesCount >>> 0;
if (object3.flags != null)
message.flags = object3.flags >>> 0;
if (object3.traceId != null) {
if (typeof object3.traceId === "string")
$util.base64.decode(object3.traceId, message.traceId = $util.newBuffer($util.base64.length(object3.traceId)), 0);
else if (object3.traceId.length >= 0)
message.traceId = object3.traceId;
}
if (object3.spanId != null) {
if (typeof object3.spanId === "string")
$util.base64.decode(object3.spanId, message.spanId = $util.newBuffer($util.base64.length(object3.spanId)), 0);
else if (object3.spanId.length >= 0)
message.spanId = object3.spanId;
}
if (object3.eventName != null)
message.eventName = String(object3.eventName);
return message;
};
LogRecord.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.attributes = [];
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.timeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.timeUnixNano = options.longs === String ? "0" : 0;
object3.severityNumber = options.enums === String ? "SEVERITY_NUMBER_UNSPECIFIED" : 0;
object3.severityText = "";
object3.body = null;
object3.droppedAttributesCount = 0;
object3.flags = 0;
if (options.bytes === String)
object3.traceId = "";
else {
object3.traceId = [];
if (options.bytes !== Array)
object3.traceId = $util.newBuffer(object3.traceId);
}
if (options.bytes === String)
object3.spanId = "";
else {
object3.spanId = [];
if (options.bytes !== Array)
object3.spanId = $util.newBuffer(object3.spanId);
}
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.observedTimeUnixNano = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.observedTimeUnixNano = options.longs === String ? "0" : 0;
object3.eventName = "";
}
if (message.timeUnixNano != null && message.hasOwnProperty("timeUnixNano"))
if (typeof message.timeUnixNano === "number")
object3.timeUnixNano = options.longs === String ? String(message.timeUnixNano) : message.timeUnixNano;
else
object3.timeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.timeUnixNano) : options.longs === Number ? new $util.LongBits(message.timeUnixNano.low >>> 0, message.timeUnixNano.high >>> 0).toNumber() : message.timeUnixNano;
if (message.severityNumber != null && message.hasOwnProperty("severityNumber"))
object3.severityNumber = options.enums === String ? $root.opentelemetry.proto.logs.v1.SeverityNumber[message.severityNumber] === void 0 ? message.severityNumber : $root.opentelemetry.proto.logs.v1.SeverityNumber[message.severityNumber] : message.severityNumber;
if (message.severityText != null && message.hasOwnProperty("severityText"))
object3.severityText = message.severityText;
if (message.body != null && message.hasOwnProperty("body"))
object3.body = $root.opentelemetry.proto.common.v1.AnyValue.toObject(message.body, options);
if (message.attributes && message.attributes.length) {
object3.attributes = [];
for (var j = 0; j < message.attributes.length; ++j)
object3.attributes[j] = $root.opentelemetry.proto.common.v1.KeyValue.toObject(message.attributes[j], options);
}
if (message.droppedAttributesCount != null && message.hasOwnProperty("droppedAttributesCount"))
object3.droppedAttributesCount = message.droppedAttributesCount;
if (message.flags != null && message.hasOwnProperty("flags"))
object3.flags = message.flags;
if (message.traceId != null && message.hasOwnProperty("traceId"))
object3.traceId = options.bytes === String ? $util.base64.encode(message.traceId, 0, message.traceId.length) : options.bytes === Array ? Array.prototype.slice.call(message.traceId) : message.traceId;
if (message.spanId != null && message.hasOwnProperty("spanId"))
object3.spanId = options.bytes === String ? $util.base64.encode(message.spanId, 0, message.spanId.length) : options.bytes === Array ? Array.prototype.slice.call(message.spanId) : message.spanId;
if (message.observedTimeUnixNano != null && message.hasOwnProperty("observedTimeUnixNano"))
if (typeof message.observedTimeUnixNano === "number")
object3.observedTimeUnixNano = options.longs === String ? String(message.observedTimeUnixNano) : message.observedTimeUnixNano;
else
object3.observedTimeUnixNano = options.longs === String ? $util.Long.prototype.toString.call(message.observedTimeUnixNano) : options.longs === Number ? new $util.LongBits(message.observedTimeUnixNano.low >>> 0, message.observedTimeUnixNano.high >>> 0).toNumber() : message.observedTimeUnixNano;
if (message.eventName != null && message.hasOwnProperty("eventName"))
object3.eventName = message.eventName;
return object3;
};
LogRecord.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/opentelemetry.proto.logs.v1.LogRecord";
};
return LogRecord;
}();
return v13;
}();
return logs3;
}();
return proto;
}();
return opentelemetry;
}();
module2.exports = $root;
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/common/hex-to-binary.js
var require_hex_to_binary = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/common/hex-to-binary.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.hexToBinary = void 0;
function intValue(charCode) {
if (charCode >= 48 && charCode <= 57) {
return charCode - 48;
}
if (charCode >= 97 && charCode <= 102) {
return charCode - 87;
}
return charCode - 55;
}
function hexToBinary(hexStr) {
const buf = new Uint8Array(hexStr.length / 2);
let offset = 0;
for (let i3 = 0; i3 < hexStr.length; i3 += 2) {
const hi = intValue(hexStr.charCodeAt(i3));
const lo = intValue(hexStr.charCodeAt(i3 + 1));
buf[offset++] = hi << 4 | lo;
}
return buf;
}
exports2.hexToBinary = hexToBinary;
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/common/utils.js
var require_utils3 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/common/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getOtlpEncoder = exports2.encodeAsString = exports2.encodeAsLongBits = exports2.toLongBits = exports2.hrTimeToNanos = void 0;
var core_1 = require_src8();
var hex_to_binary_1 = require_hex_to_binary();
function hrTimeToNanos(hrTime) {
const NANOSECONDS = BigInt(1e9);
return BigInt(Math.trunc(hrTime[0])) * NANOSECONDS + BigInt(Math.trunc(hrTime[1]));
}
exports2.hrTimeToNanos = hrTimeToNanos;
function toLongBits(value) {
const low = Number(BigInt.asUintN(32, value));
const high = Number(BigInt.asUintN(32, value >> BigInt(32)));
return { low, high };
}
exports2.toLongBits = toLongBits;
function encodeAsLongBits(hrTime) {
const nanos = hrTimeToNanos(hrTime);
return toLongBits(nanos);
}
exports2.encodeAsLongBits = encodeAsLongBits;
function encodeAsString(hrTime) {
const nanos = hrTimeToNanos(hrTime);
return nanos.toString();
}
exports2.encodeAsString = encodeAsString;
var encodeTimestamp = typeof BigInt !== "undefined" ? encodeAsString : core_1.hrTimeToNanoseconds;
function identity3(value) {
return value;
}
function optionalHexToBinary(str2) {
if (str2 === void 0)
return void 0;
return (0, hex_to_binary_1.hexToBinary)(str2);
}
var DEFAULT_ENCODER = {
encodeHrTime: encodeAsLongBits,
encodeSpanContext: hex_to_binary_1.hexToBinary,
encodeOptionalSpanContext: optionalHexToBinary
};
function getOtlpEncoder(options) {
if (options === void 0) {
return DEFAULT_ENCODER;
}
const useLongBits = options.useLongBits ?? true;
const useHex = options.useHex ?? false;
return {
encodeHrTime: useLongBits ? encodeAsLongBits : encodeTimestamp,
encodeSpanContext: useHex ? identity3 : hex_to_binary_1.hexToBinary,
encodeOptionalSpanContext: useHex ? identity3 : optionalHexToBinary
};
}
exports2.getOtlpEncoder = getOtlpEncoder;
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.js
var require_internal = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.toAnyValue = exports2.toKeyValue = exports2.toAttributes = exports2.createInstrumentationScope = exports2.createResource = void 0;
function createResource(resource) {
const result2 = {
attributes: toAttributes(resource.attributes),
droppedAttributesCount: 0
};
const schemaUrl = resource.schemaUrl;
if (schemaUrl && schemaUrl !== "")
result2.schemaUrl = schemaUrl;
return result2;
}
exports2.createResource = createResource;
function createInstrumentationScope(scope) {
return {
name: scope.name,
version: scope.version
};
}
exports2.createInstrumentationScope = createInstrumentationScope;
function toAttributes(attributes) {
return Object.keys(attributes).map((key) => toKeyValue(key, attributes[key]));
}
exports2.toAttributes = toAttributes;
function toKeyValue(key, value) {
return {
key,
value: toAnyValue(value)
};
}
exports2.toKeyValue = toKeyValue;
function toAnyValue(value) {
const t2 = typeof value;
if (t2 === "string")
return { stringValue: value };
if (t2 === "number") {
if (!Number.isInteger(value))
return { doubleValue: value };
return { intValue: value };
}
if (t2 === "boolean")
return { boolValue: value };
if (value instanceof Uint8Array)
return { bytesValue: value };
if (Array.isArray(value))
return { arrayValue: { values: value.map(toAnyValue) } };
if (t2 === "object" && value != null)
return {
kvlistValue: {
values: Object.entries(value).map(([k, v]) => toKeyValue(k, v))
}
};
return {};
}
exports2.toAnyValue = toAnyValue;
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.js
var require_internal2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.toLogAttributes = exports2.createExportLogsServiceRequest = void 0;
var utils_1 = require_utils3();
var internal_1 = require_internal();
function createExportLogsServiceRequest(logRecords, options) {
const encoder = (0, utils_1.getOtlpEncoder)(options);
return {
resourceLogs: logRecordsToResourceLogs(logRecords, encoder)
};
}
exports2.createExportLogsServiceRequest = createExportLogsServiceRequest;
function createResourceMap(logRecords) {
const resourceMap = /* @__PURE__ */ new Map();
for (const record2 of logRecords) {
const { resource, instrumentationScope: { name: name3, version: version4 = "", schemaUrl = "" } } = record2;
let ismMap = resourceMap.get(resource);
if (!ismMap) {
ismMap = /* @__PURE__ */ new Map();
resourceMap.set(resource, ismMap);
}
const ismKey = `${name3}@${version4}:${schemaUrl}`;
let records = ismMap.get(ismKey);
if (!records) {
records = [];
ismMap.set(ismKey, records);
}
records.push(record2);
}
return resourceMap;
}
function logRecordsToResourceLogs(logRecords, encoder) {
const resourceMap = createResourceMap(logRecords);
return Array.from(resourceMap, ([resource, ismMap]) => {
const processedResource = (0, internal_1.createResource)(resource);
return {
resource: processedResource,
scopeLogs: Array.from(ismMap, ([, scopeLogs]) => {
return {
scope: (0, internal_1.createInstrumentationScope)(scopeLogs[0].instrumentationScope),
logRecords: scopeLogs.map((log) => toLogRecord(log, encoder)),
schemaUrl: scopeLogs[0].instrumentationScope.schemaUrl
};
}),
schemaUrl: processedResource.schemaUrl
};
});
}
function toLogRecord(log, encoder) {
return {
timeUnixNano: encoder.encodeHrTime(log.hrTime),
observedTimeUnixNano: encoder.encodeHrTime(log.hrTimeObserved),
severityNumber: toSeverityNumber(log.severityNumber),
severityText: log.severityText,
body: (0, internal_1.toAnyValue)(log.body),
eventName: log.eventName,
attributes: toLogAttributes(log.attributes),
droppedAttributesCount: log.droppedAttributesCount,
flags: log.spanContext?.traceFlags,
traceId: encoder.encodeOptionalSpanContext(log.spanContext?.traceId),
spanId: encoder.encodeOptionalSpanContext(log.spanContext?.spanId)
};
}
function toSeverityNumber(severityNumber) {
return severityNumber;
}
function toLogAttributes(attributes) {
return Object.keys(attributes).map((key) => (0, internal_1.toKeyValue)(key, attributes[key]));
}
exports2.toLogAttributes = toLogAttributes;
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js
var require_logs2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProtobufLogsSerializer = void 0;
var root = require_root2();
var internal_1 = require_internal2();
var logsResponseType = root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse;
var logsRequestType = root.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest;
exports2.ProtobufLogsSerializer = {
serializeRequest: (arg) => {
const request = (0, internal_1.createExportLogsServiceRequest)(arg);
return logsRequestType.encode(request).finish();
},
deserializeResponse: (arg) => {
return logsResponseType.decode(arg);
}
};
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.js
var require_protobuf = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProtobufLogsSerializer = void 0;
var logs_1 = require_logs2();
Object.defineProperty(exports2, "ProtobufLogsSerializer", { enumerable: true, get: function() {
return logs_1.ProtobufLogsSerializer;
} });
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationTemporality.js
var require_AggregationTemporality = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationTemporality.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AggregationTemporality = void 0;
var AggregationTemporality2;
(function(AggregationTemporality3) {
AggregationTemporality3[AggregationTemporality3["DELTA"] = 0] = "DELTA";
AggregationTemporality3[AggregationTemporality3["CUMULATIVE"] = 1] = "CUMULATIVE";
})(AggregationTemporality2 = exports2.AggregationTemporality || (exports2.AggregationTemporality = {}));
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.js
var require_MetricData = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DataPointType = exports2.InstrumentType = void 0;
var InstrumentType;
(function(InstrumentType2) {
InstrumentType2["COUNTER"] = "COUNTER";
InstrumentType2["GAUGE"] = "GAUGE";
InstrumentType2["HISTOGRAM"] = "HISTOGRAM";
InstrumentType2["UP_DOWN_COUNTER"] = "UP_DOWN_COUNTER";
InstrumentType2["OBSERVABLE_COUNTER"] = "OBSERVABLE_COUNTER";
InstrumentType2["OBSERVABLE_GAUGE"] = "OBSERVABLE_GAUGE";
InstrumentType2["OBSERVABLE_UP_DOWN_COUNTER"] = "OBSERVABLE_UP_DOWN_COUNTER";
})(InstrumentType = exports2.InstrumentType || (exports2.InstrumentType = {}));
var DataPointType;
(function(DataPointType2) {
DataPointType2[DataPointType2["HISTOGRAM"] = 0] = "HISTOGRAM";
DataPointType2[DataPointType2["EXPONENTIAL_HISTOGRAM"] = 1] = "EXPONENTIAL_HISTOGRAM";
DataPointType2[DataPointType2["GAUGE"] = 2] = "GAUGE";
DataPointType2[DataPointType2["SUM"] = 3] = "SUM";
})(DataPointType = exports2.DataPointType || (exports2.DataPointType = {}));
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/utils.js
var require_utils4 = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.equalsCaseInsensitive = exports2.binarySearchUB = exports2.setEquals = exports2.callWithTimeout = exports2.TimeoutError = exports2.instrumentationScopeId = exports2.hashAttributes = void 0;
function hashAttributes(attributes) {
let keys = Object.keys(attributes);
if (keys.length === 0)
return "";
keys = keys.sort();
return JSON.stringify(keys.map((key) => [key, attributes[key]]));
}
exports2.hashAttributes = hashAttributes;
function instrumentationScopeId(instrumentationScope) {
return `${instrumentationScope.name}:${instrumentationScope.version ?? ""}:${instrumentationScope.schemaUrl ?? ""}`;
}
exports2.instrumentationScopeId = instrumentationScopeId;
var TimeoutError = class _TimeoutError extends Error {
constructor(message) {
super(message);
Object.setPrototypeOf(this, _TimeoutError.prototype);
}
};
exports2.TimeoutError = TimeoutError;
function callWithTimeout(promise2, timeout) {
let timeoutHandle;
const timeoutPromise = new Promise(function timeoutFunction(_resolve, reject) {
timeoutHandle = setTimeout(function timeoutHandler() {
reject(new TimeoutError("Operation timed out."));
}, timeout);
});
return Promise.race([promise2, timeoutPromise]).then((result2) => {
clearTimeout(timeoutHandle);
return result2;
}, (reason) => {
clearTimeout(timeoutHandle);
throw reason;
});
}
exports2.callWithTimeout = callWithTimeout;
function setEquals(lhs, rhs) {
if (lhs.size !== rhs.size) {
return false;
}
for (const item of lhs) {
if (!rhs.has(item)) {
return false;
}
}
return true;
}
exports2.setEquals = setEquals;
function binarySearchUB(arr, value) {
let lo = 0;
let hi = arr.length - 1;
let ret = arr.length;
while (hi >= lo) {
const mid = lo + Math.trunc((hi - lo) / 2);
if (arr[mid] < value) {
lo = mid + 1;
} else {
ret = mid;
hi = mid - 1;
}
}
return ret;
}
exports2.binarySearchUB = binarySearchUB;
function equalsCaseInsensitive(lhs, rhs) {
return lhs.toLowerCase() === rhs.toLowerCase();
}
exports2.equalsCaseInsensitive = equalsCaseInsensitive;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.js
var require_types2 = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AggregatorKind = void 0;
var AggregatorKind;
(function(AggregatorKind2) {
AggregatorKind2[AggregatorKind2["DROP"] = 0] = "DROP";
AggregatorKind2[AggregatorKind2["SUM"] = 1] = "SUM";
AggregatorKind2[AggregatorKind2["LAST_VALUE"] = 2] = "LAST_VALUE";
AggregatorKind2[AggregatorKind2["HISTOGRAM"] = 3] = "HISTOGRAM";
AggregatorKind2[AggregatorKind2["EXPONENTIAL_HISTOGRAM"] = 4] = "EXPONENTIAL_HISTOGRAM";
})(AggregatorKind = exports2.AggregatorKind || (exports2.AggregatorKind = {}));
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.js
var require_Drop = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DropAggregator = void 0;
var types_1 = require_types2();
var DropAggregator = class {
kind = types_1.AggregatorKind.DROP;
createAccumulation() {
return void 0;
}
merge(_previous, _delta) {
return void 0;
}
diff(_previous, _current) {
return void 0;
}
toMetricData(_descriptor, _aggregationTemporality, _accumulationByAttributes, _endTime) {
return void 0;
}
};
exports2.DropAggregator = DropAggregator;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js
var require_Histogram = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HistogramAggregator = exports2.HistogramAccumulation = void 0;
var types_1 = require_types2();
var MetricData_1 = require_MetricData();
var utils_1 = require_utils4();
function createNewEmptyCheckpoint(boundaries) {
const counts = boundaries.map(() => 0);
counts.push(0);
return {
buckets: {
boundaries,
counts
},
sum: 0,
count: 0,
hasMinMax: false,
min: Infinity,
max: -Infinity
};
}
var HistogramAccumulation = class {
startTime;
_boundaries;
_recordMinMax;
_current;
constructor(startTime, boundaries, recordMinMax = true, current = createNewEmptyCheckpoint(boundaries)) {
this.startTime = startTime;
this._boundaries = boundaries;
this._recordMinMax = recordMinMax;
this._current = current;
}
record(value) {
if (Number.isNaN(value)) {
return;
}
this._current.count += 1;
this._current.sum += value;
if (this._recordMinMax) {
this._current.min = Math.min(value, this._current.min);
this._current.max = Math.max(value, this._current.max);
this._current.hasMinMax = true;
}
const idx = (0, utils_1.binarySearchUB)(this._boundaries, value);
this._current.buckets.counts[idx] += 1;
}
setStartTime(startTime) {
this.startTime = startTime;
}
toPointValue() {
return this._current;
}
};
exports2.HistogramAccumulation = HistogramAccumulation;
var HistogramAggregator = class {
kind = types_1.AggregatorKind.HISTOGRAM;
_boundaries;
_recordMinMax;
/**
* @param _boundaries sorted upper bounds of recorded values.
* @param _recordMinMax If set to true, min and max will be recorded. Otherwise, min and max will not be recorded.
*/
constructor(boundaries, recordMinMax) {
this._boundaries = boundaries;
this._recordMinMax = recordMinMax;
}
createAccumulation(startTime) {
return new HistogramAccumulation(startTime, this._boundaries, this._recordMinMax);
}
/**
* Return the result of the merge of two histogram accumulations. As long as one Aggregator
* instance produces all Accumulations with constant boundaries we don't need to worry about
* merging accumulations with different boundaries.
*/
merge(previous, delta) {
const previousValue = previous.toPointValue();
const deltaValue = delta.toPointValue();
const previousCounts = previousValue.buckets.counts;
const deltaCounts = deltaValue.buckets.counts;
const mergedCounts = new Array(previousCounts.length);
for (let idx = 0; idx < previousCounts.length; idx++) {
mergedCounts[idx] = previousCounts[idx] + deltaCounts[idx];
}
let min = Infinity;
let max = -Infinity;
if (this._recordMinMax) {
if (previousValue.hasMinMax && deltaValue.hasMinMax) {
min = Math.min(previousValue.min, deltaValue.min);
max = Math.max(previousValue.max, deltaValue.max);
} else if (previousValue.hasMinMax) {
min = previousValue.min;
max = previousValue.max;
} else if (deltaValue.hasMinMax) {
min = deltaValue.min;
max = deltaValue.max;
}
}
return new HistogramAccumulation(previous.startTime, previousValue.buckets.boundaries, this._recordMinMax, {
buckets: {
boundaries: previousValue.buckets.boundaries,
counts: mergedCounts
},
count: previousValue.count + deltaValue.count,
sum: previousValue.sum + deltaValue.sum,
hasMinMax: this._recordMinMax && (previousValue.hasMinMax || deltaValue.hasMinMax),
min,
max
});
}
/**
* Returns a new DELTA aggregation by comparing two cumulative measurements.
*/
diff(previous, current) {
const previousValue = previous.toPointValue();
const currentValue = current.toPointValue();
const previousCounts = previousValue.buckets.counts;
const currentCounts = currentValue.buckets.counts;
const diffedCounts = new Array(previousCounts.length);
for (let idx = 0; idx < previousCounts.length; idx++) {
diffedCounts[idx] = currentCounts[idx] - previousCounts[idx];
}
return new HistogramAccumulation(current.startTime, previousValue.buckets.boundaries, this._recordMinMax, {
buckets: {
boundaries: previousValue.buckets.boundaries,
counts: diffedCounts
},
count: currentValue.count - previousValue.count,
sum: currentValue.sum - previousValue.sum,
hasMinMax: false,
min: Infinity,
max: -Infinity
});
}
toMetricData(descriptor2, aggregationTemporality, accumulationByAttributes, endTime) {
return {
descriptor: descriptor2,
aggregationTemporality,
dataPointType: MetricData_1.DataPointType.HISTOGRAM,
dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => {
const pointValue = accumulation.toPointValue();
const allowsNegativeValues = descriptor2.type === MetricData_1.InstrumentType.GAUGE || descriptor2.type === MetricData_1.InstrumentType.UP_DOWN_COUNTER || descriptor2.type === MetricData_1.InstrumentType.OBSERVABLE_GAUGE || descriptor2.type === MetricData_1.InstrumentType.OBSERVABLE_UP_DOWN_COUNTER;
return {
attributes,
startTime: accumulation.startTime,
endTime,
value: {
min: pointValue.hasMinMax ? pointValue.min : void 0,
max: pointValue.hasMinMax ? pointValue.max : void 0,
sum: !allowsNegativeValues ? pointValue.sum : void 0,
buckets: pointValue.buckets,
count: pointValue.count
}
};
})
};
}
};
exports2.HistogramAggregator = HistogramAggregator;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js
var require_Buckets = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Buckets = void 0;
var Buckets = class _Buckets {
backing;
indexBase;
indexStart;
indexEnd;
/**
* The term index refers to the number of the exponential histogram bucket
* used to determine its boundaries. The lower boundary of a bucket is
* determined by base ** index and the upper boundary of a bucket is
* determined by base ** (index + 1). index values are signed to account
* for values less than or equal to 1.
*
* indexBase is the index of the 0th position in the
* backing array, i.e., backing[0] is the count
* in the bucket with index `indexBase`.
*
* indexStart is the smallest index value represented
* in the backing array.
*
* indexEnd is the largest index value represented in
* the backing array.
*/
constructor(backing = new BucketsBacking(), indexBase = 0, indexStart = 0, indexEnd = 0) {
this.backing = backing;
this.indexBase = indexBase;
this.indexStart = indexStart;
this.indexEnd = indexEnd;
}
/**
* Offset is the bucket index of the smallest entry in the counts array
* @returns {number}
*/
get offset() {
return this.indexStart;
}
/**
* Buckets is a view into the backing array.
* @returns {number}
*/
get length() {
if (this.backing.length === 0) {
return 0;
}
if (this.indexEnd === this.indexStart && this.at(0) === 0) {
return 0;
}
return this.indexEnd - this.indexStart + 1;
}
/**
* An array of counts, where count[i] carries the count
* of the bucket at index (offset+i). count[i] is the count of
* values greater than base^(offset+i) and less than or equal to
* base^(offset+i+1).
* @returns {number} The logical counts based on the backing array
*/
counts() {
return Array.from({ length: this.length }, (_, i3) => this.at(i3));
}
/**
* At returns the count of the bucket at a position in the logical
* array of counts.
* @param position
* @returns {number}
*/
at(position) {
const bias = this.indexBase - this.indexStart;
if (position < bias) {
position += this.backing.length;
}
position -= bias;
return this.backing.countAt(position);
}
/**
* incrementBucket increments the backing array index by `increment`
* @param bucketIndex
* @param increment
*/
incrementBucket(bucketIndex, increment2) {
this.backing.increment(bucketIndex, increment2);
}
/**
* decrementBucket decrements the backing array index by `decrement`
* if decrement is greater than the current value, it's set to 0.
* @param bucketIndex
* @param decrement
*/
decrementBucket(bucketIndex, decrement) {
this.backing.decrement(bucketIndex, decrement);
}
/**
* trim removes leading and / or trailing zero buckets (which can occur
* after diffing two histos) and rotates the backing array so that the
* smallest non-zero index is in the 0th position of the backing array
*/
trim() {
for (let i3 = 0; i3 < this.length; i3++) {
if (this.at(i3) !== 0) {
this.indexStart += i3;
break;
} else if (i3 === this.length - 1) {
this.indexStart = this.indexEnd = this.indexBase = 0;
return;
}
}
for (let i3 = this.length - 1; i3 >= 0; i3--) {
if (this.at(i3) !== 0) {
this.indexEnd -= this.length - i3 - 1;
break;
}
}
this._rotate();
}
/**
* downscale first rotates, then collapses 2**`by`-to-1 buckets.
* @param by
*/
downscale(by) {
this._rotate();
const size = 1 + this.indexEnd - this.indexStart;
const each = 1 << by;
let inpos = 0;
let outpos = 0;
for (let pos = this.indexStart; pos <= this.indexEnd; ) {
let mod2 = pos % each;
if (mod2 < 0) {
mod2 += each;
}
for (let i3 = mod2; i3 < each && inpos < size; i3++) {
this._relocateBucket(outpos, inpos);
inpos++;
pos++;
}
outpos++;
}
this.indexStart >>= by;
this.indexEnd >>= by;
this.indexBase = this.indexStart;
}
/**
* Clone returns a deep copy of Buckets
* @returns {Buckets}
*/
clone() {
return new _Buckets(this.backing.clone(), this.indexBase, this.indexStart, this.indexEnd);
}
/**
* _rotate shifts the backing array contents so that indexStart ==
* indexBase to simplify the downscale logic.
*/
_rotate() {
const bias = this.indexBase - this.indexStart;
if (bias === 0) {
return;
} else if (bias > 0) {
this.backing.reverse(0, this.backing.length);
this.backing.reverse(0, bias);
this.backing.reverse(bias, this.backing.length);
} else {
this.backing.reverse(0, this.backing.length);
this.backing.reverse(0, this.backing.length + bias);
}
this.indexBase = this.indexStart;
}
/**
* _relocateBucket adds the count in counts[src] to counts[dest] and
* resets count[src] to zero.
*/
_relocateBucket(dest, src) {
if (dest === src) {
return;
}
this.incrementBucket(dest, this.backing.emptyBucket(src));
}
};
exports2.Buckets = Buckets;
var BucketsBacking = class _BucketsBacking {
_counts;
constructor(counts = [0]) {
this._counts = counts;
}
/**
* length returns the physical size of the backing array, which
* is >= buckets.length()
*/
get length() {
return this._counts.length;
}
/**
* countAt returns the count in a specific bucket
*/
countAt(pos) {
return this._counts[pos];
}
/**
* growTo grows a backing array and copies old entries
* into their correct new positions.
*/
growTo(newSize, oldPositiveLimit, newPositiveLimit) {
const tmp = new Array(newSize).fill(0);
tmp.splice(newPositiveLimit, this._counts.length - oldPositiveLimit, ...this._counts.slice(oldPositiveLimit));
tmp.splice(0, oldPositiveLimit, ...this._counts.slice(0, oldPositiveLimit));
this._counts = tmp;
}
/**
* reverse the items in the backing array in the range [from, limit).
*/
reverse(from, limit) {
const num = Math.floor((from + limit) / 2) - from;
for (let i3 = 0; i3 < num; i3++) {
const tmp = this._counts[from + i3];
this._counts[from + i3] = this._counts[limit - i3 - 1];
this._counts[limit - i3 - 1] = tmp;
}
}
/**
* emptyBucket empties the count from a bucket, for
* moving into another.
*/
emptyBucket(src) {
const tmp = this._counts[src];
this._counts[src] = 0;
return tmp;
}
/**
* increments a bucket by `increment`
*/
increment(bucketIndex, increment2) {
this._counts[bucketIndex] += increment2;
}
/**
* decrements a bucket by `decrement`
*/
decrement(bucketIndex, decrement) {
if (this._counts[bucketIndex] >= decrement) {
this._counts[bucketIndex] -= decrement;
} else {
this._counts[bucketIndex] = 0;
}
}
/**
* clone returns a deep copy of BucketsBacking
*/
clone() {
return new _BucketsBacking([...this._counts]);
}
};
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.js
var require_ieee754 = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getSignificand = exports2.getNormalBase2 = exports2.MIN_VALUE = exports2.MAX_NORMAL_EXPONENT = exports2.MIN_NORMAL_EXPONENT = exports2.SIGNIFICAND_WIDTH = void 0;
exports2.SIGNIFICAND_WIDTH = 52;
var EXPONENT_MASK = 2146435072;
var SIGNIFICAND_MASK = 1048575;
var EXPONENT_BIAS = 1023;
exports2.MIN_NORMAL_EXPONENT = -EXPONENT_BIAS + 1;
exports2.MAX_NORMAL_EXPONENT = EXPONENT_BIAS;
exports2.MIN_VALUE = Math.pow(2, -1022);
function getNormalBase2(value) {
const dv = new DataView(new ArrayBuffer(8));
dv.setFloat64(0, value);
const hiBits = dv.getUint32(0);
const expBits = (hiBits & EXPONENT_MASK) >> 20;
return expBits - EXPONENT_BIAS;
}
exports2.getNormalBase2 = getNormalBase2;
function getSignificand(value) {
const dv = new DataView(new ArrayBuffer(8));
dv.setFloat64(0, value);
const hiBits = dv.getUint32(0);
const loBits = dv.getUint32(4);
const significandHiBits = (hiBits & SIGNIFICAND_MASK) * Math.pow(2, 32);
return significandHiBits + loBits;
}
exports2.getSignificand = getSignificand;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/util.js
var require_util5 = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.nextGreaterSquare = exports2.ldexp = void 0;
function ldexp(frac, exp) {
if (frac === 0 || frac === Number.POSITIVE_INFINITY || frac === Number.NEGATIVE_INFINITY || Number.isNaN(frac)) {
return frac;
}
return frac * Math.pow(2, exp);
}
exports2.ldexp = ldexp;
function nextGreaterSquare(v) {
v--;
v |= v >> 1;
v |= v >> 2;
v |= v >> 4;
v |= v >> 8;
v |= v >> 16;
v++;
return v;
}
exports2.nextGreaterSquare = nextGreaterSquare;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/types.js
var require_types3 = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MappingError = void 0;
var MappingError = class extends Error {
};
exports2.MappingError = MappingError;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.js
var require_ExponentMapping = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ExponentMapping = void 0;
var ieee754 = require_ieee754();
var util2 = require_util5();
var types_1 = require_types3();
var ExponentMapping = class {
_shift;
constructor(scale) {
this._shift = -scale;
}
/**
* Maps positive floating point values to indexes corresponding to scale
* @param value
* @returns {number} index for provided value at the current scale
*/
mapToIndex(value) {
if (value < ieee754.MIN_VALUE) {
return this._minNormalLowerBoundaryIndex();
}
const exp = ieee754.getNormalBase2(value);
const correction = this._rightShift(ieee754.getSignificand(value) - 1, ieee754.SIGNIFICAND_WIDTH);
return exp + correction >> this._shift;
}
/**
* Returns the lower bucket boundary for the given index for scale
*
* @param index
* @returns {number}
*/
lowerBoundary(index) {
const minIndex = this._minNormalLowerBoundaryIndex();
if (index < minIndex) {
throw new types_1.MappingError(`underflow: ${index} is < minimum lower boundary: ${minIndex}`);
}
const maxIndex = this._maxNormalLowerBoundaryIndex();
if (index > maxIndex) {
throw new types_1.MappingError(`overflow: ${index} is > maximum lower boundary: ${maxIndex}`);
}
return util2.ldexp(1, index << this._shift);
}
/**
* The scale used by this mapping
* @returns {number}
*/
get scale() {
if (this._shift === 0) {
return 0;
}
return -this._shift;
}
_minNormalLowerBoundaryIndex() {
let index = ieee754.MIN_NORMAL_EXPONENT >> this._shift;
if (this._shift < 2) {
index--;
}
return index;
}
_maxNormalLowerBoundaryIndex() {
return ieee754.MAX_NORMAL_EXPONENT >> this._shift;
}
_rightShift(value, shift) {
return Math.floor(value * Math.pow(2, -shift));
}
};
exports2.ExponentMapping = ExponentMapping;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.js
var require_LogarithmMapping = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LogarithmMapping = void 0;
var ieee754 = require_ieee754();
var util2 = require_util5();
var types_1 = require_types3();
var LogarithmMapping = class {
_scale;
_scaleFactor;
_inverseFactor;
constructor(scale) {
this._scale = scale;
this._scaleFactor = util2.ldexp(Math.LOG2E, scale);
this._inverseFactor = util2.ldexp(Math.LN2, -scale);
}
/**
* Maps positive floating point values to indexes corresponding to scale
* @param value
* @returns {number} index for provided value at the current scale
*/
mapToIndex(value) {
if (value <= ieee754.MIN_VALUE) {
return this._minNormalLowerBoundaryIndex() - 1;
}
if (ieee754.getSignificand(value) === 0) {
const exp = ieee754.getNormalBase2(value);
return (exp << this._scale) - 1;
}
const index = Math.floor(Math.log(value) * this._scaleFactor);
const maxIndex = this._maxNormalLowerBoundaryIndex();
if (index >= maxIndex) {
return maxIndex;
}
return index;
}
/**
* Returns the lower bucket boundary for the given index for scale
*
* @param index
* @returns {number}
*/
lowerBoundary(index) {
const maxIndex = this._maxNormalLowerBoundaryIndex();
if (index >= maxIndex) {
if (index === maxIndex) {
return 2 * Math.exp((index - (1 << this._scale)) / this._scaleFactor);
}
throw new types_1.MappingError(`overflow: ${index} is > maximum lower boundary: ${maxIndex}`);
}
const minIndex = this._minNormalLowerBoundaryIndex();
if (index <= minIndex) {
if (index === minIndex) {
return ieee754.MIN_VALUE;
} else if (index === minIndex - 1) {
return Math.exp((index + (1 << this._scale)) / this._scaleFactor) / 2;
}
throw new types_1.MappingError(`overflow: ${index} is < minimum lower boundary: ${minIndex}`);
}
return Math.exp(index * this._inverseFactor);
}
/**
* The scale used by this mapping
* @returns {number}
*/
get scale() {
return this._scale;
}
_minNormalLowerBoundaryIndex() {
return ieee754.MIN_NORMAL_EXPONENT << this._scale;
}
_maxNormalLowerBoundaryIndex() {
return (ieee754.MAX_NORMAL_EXPONENT + 1 << this._scale) - 1;
}
};
exports2.LogarithmMapping = LogarithmMapping;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/getMapping.js
var require_getMapping = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/getMapping.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getMapping = void 0;
var ExponentMapping_1 = require_ExponentMapping();
var LogarithmMapping_1 = require_LogarithmMapping();
var types_1 = require_types3();
var MIN_SCALE = -10;
var MAX_SCALE = 20;
var PREBUILT_MAPPINGS = Array.from({ length: 31 }, (_, i3) => {
if (i3 > 10) {
return new LogarithmMapping_1.LogarithmMapping(i3 - 10);
}
return new ExponentMapping_1.ExponentMapping(i3 - 10);
});
function getMapping(scale) {
if (scale > MAX_SCALE || scale < MIN_SCALE) {
throw new types_1.MappingError(`expected scale >= ${MIN_SCALE} && <= ${MAX_SCALE}, got: ${scale}`);
}
return PREBUILT_MAPPINGS[scale + 10];
}
exports2.getMapping = getMapping;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js
var require_ExponentialHistogram = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ExponentialHistogramAggregator = exports2.ExponentialHistogramAccumulation = void 0;
var types_1 = require_types2();
var MetricData_1 = require_MetricData();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var Buckets_1 = require_Buckets();
var getMapping_1 = require_getMapping();
var util_1 = require_util5();
var HighLow = class _HighLow {
static combine(h1, h2) {
return new _HighLow(Math.min(h1.low, h2.low), Math.max(h1.high, h2.high));
}
low;
high;
constructor(low, high) {
this.low = low;
this.high = high;
}
};
var MAX_SCALE = 20;
var DEFAULT_MAX_SIZE = 160;
var MIN_MAX_SIZE = 2;
var ExponentialHistogramAccumulation = class _ExponentialHistogramAccumulation {
startTime;
_maxSize;
_recordMinMax;
_sum;
_count;
_zeroCount;
_min;
_max;
_positive;
_negative;
_mapping;
constructor(startTime, maxSize = DEFAULT_MAX_SIZE, recordMinMax = true, sum = 0, count2 = 0, zeroCount = 0, min = Number.POSITIVE_INFINITY, max = Number.NEGATIVE_INFINITY, positive = new Buckets_1.Buckets(), negative = new Buckets_1.Buckets(), mapping = (0, getMapping_1.getMapping)(MAX_SCALE)) {
this.startTime = startTime;
this._maxSize = maxSize;
this._recordMinMax = recordMinMax;
this._sum = sum;
this._count = count2;
this._zeroCount = zeroCount;
this._min = min;
this._max = max;
this._positive = positive;
this._negative = negative;
this._mapping = mapping;
if (this._maxSize < MIN_MAX_SIZE) {
api_1.diag.warn(`Exponential Histogram Max Size set to ${this._maxSize}, changing to the minimum size of: ${MIN_MAX_SIZE}`);
this._maxSize = MIN_MAX_SIZE;
}
}
/**
* record updates a histogram with a single count
* @param {Number} value
*/
record(value) {
this.updateByIncrement(value, 1);
}
/**
* Sets the start time for this accumulation
* @param {HrTime} startTime
*/
setStartTime(startTime) {
this.startTime = startTime;
}
/**
* Returns the datapoint representation of this accumulation
* @param {HrTime} startTime
*/
toPointValue() {
return {
hasMinMax: this._recordMinMax,
min: this.min,
max: this.max,
sum: this.sum,
positive: {
offset: this.positive.offset,
bucketCounts: this.positive.counts()
},
negative: {
offset: this.negative.offset,
bucketCounts: this.negative.counts()
},
count: this.count,
scale: this.scale,
zeroCount: this.zeroCount
};
}
/**
* @returns {Number} The sum of values recorded by this accumulation
*/
get sum() {
return this._sum;
}
/**
* @returns {Number} The minimum value recorded by this accumulation
*/
get min() {
return this._min;
}
/**
* @returns {Number} The maximum value recorded by this accumulation
*/
get max() {
return this._max;
}
/**
* @returns {Number} The count of values recorded by this accumulation
*/
get count() {
return this._count;
}
/**
* @returns {Number} The number of 0 values recorded by this accumulation
*/
get zeroCount() {
return this._zeroCount;
}
/**
* @returns {Number} The scale used by this accumulation
*/
get scale() {
if (this._count === this._zeroCount) {
return 0;
}
return this._mapping.scale;
}
/**
* positive holds the positive values
* @returns {Buckets}
*/
get positive() {
return this._positive;
}
/**
* negative holds the negative values by their absolute value
* @returns {Buckets}
*/
get negative() {
return this._negative;
}
/**
* updateByIncr supports updating a histogram with a non-negative
* increment.
* @param value
* @param increment
*/
updateByIncrement(value, increment2) {
if (Number.isNaN(value)) {
return;
}
if (value > this._max) {
this._max = value;
}
if (value < this._min) {
this._min = value;
}
this._count += increment2;
if (value === 0) {
this._zeroCount += increment2;
return;
}
this._sum += value * increment2;
if (value > 0) {
this._updateBuckets(this._positive, value, increment2);
} else {
this._updateBuckets(this._negative, -value, increment2);
}
}
/**
* merge combines data from previous value into self
* @param {ExponentialHistogramAccumulation} previous
*/
merge(previous) {
if (this._count === 0) {
this._min = previous.min;
this._max = previous.max;
} else if (previous.count !== 0) {
if (previous.min < this.min) {
this._min = previous.min;
}
if (previous.max > this.max) {
this._max = previous.max;
}
}
this.startTime = previous.startTime;
this._sum += previous.sum;
this._count += previous.count;
this._zeroCount += previous.zeroCount;
const minScale = this._minScale(previous);
this._downscale(this.scale - minScale);
this._mergeBuckets(this.positive, previous, previous.positive, minScale);
this._mergeBuckets(this.negative, previous, previous.negative, minScale);
}
/**
* diff subtracts other from self
* @param {ExponentialHistogramAccumulation} other
*/
diff(other) {
this._min = Infinity;
this._max = -Infinity;
this._sum -= other.sum;
this._count -= other.count;
this._zeroCount -= other.zeroCount;
const minScale = this._minScale(other);
this._downscale(this.scale - minScale);
this._diffBuckets(this.positive, other, other.positive, minScale);
this._diffBuckets(this.negative, other, other.negative, minScale);
}
/**
* clone returns a deep copy of self
* @returns {ExponentialHistogramAccumulation}
*/
clone() {
return new _ExponentialHistogramAccumulation(this.startTime, this._maxSize, this._recordMinMax, this._sum, this._count, this._zeroCount, this._min, this._max, this.positive.clone(), this.negative.clone(), this._mapping);
}
/**
* _updateBuckets maps the incoming value to a bucket index for the current
* scale. If the bucket index is outside of the range of the backing array,
* it will rescale the backing array and update the mapping for the new scale.
*/
_updateBuckets(buckets, value, increment2) {
let index = this._mapping.mapToIndex(value);
let rescalingNeeded = false;
let high = 0;
let low = 0;
if (buckets.length === 0) {
buckets.indexStart = index;
buckets.indexEnd = buckets.indexStart;
buckets.indexBase = buckets.indexStart;
} else if (index < buckets.indexStart && buckets.indexEnd - index >= this._maxSize) {
rescalingNeeded = true;
low = index;
high = buckets.indexEnd;
} else if (index > buckets.indexEnd && index - buckets.indexStart >= this._maxSize) {
rescalingNeeded = true;
low = buckets.indexStart;
high = index;
}
if (rescalingNeeded) {
const change = this._changeScale(high, low);
this._downscale(change);
index = this._mapping.mapToIndex(value);
}
this._incrementIndexBy(buckets, index, increment2);
}
/**
* _incrementIndexBy increments the count of the bucket specified by `index`.
* If the index is outside of the range [buckets.indexStart, buckets.indexEnd]
* the boundaries of the backing array will be adjusted and more buckets will
* be added if needed.
*/
_incrementIndexBy(buckets, index, increment2) {
if (increment2 === 0) {
return;
}
if (buckets.length === 0) {
buckets.indexStart = buckets.indexEnd = buckets.indexBase = index;
}
if (index < buckets.indexStart) {
const span = buckets.indexEnd - index;
if (span >= buckets.backing.length) {
this._grow(buckets, span + 1);
}
buckets.indexStart = index;
} else if (index > buckets.indexEnd) {
const span = index - buckets.indexStart;
if (span >= buckets.backing.length) {
this._grow(buckets, span + 1);
}
buckets.indexEnd = index;
}
let bucketIndex = index - buckets.indexBase;
if (bucketIndex < 0) {
bucketIndex += buckets.backing.length;
}
buckets.incrementBucket(bucketIndex, increment2);
}
/**
* grow resizes the backing array by doubling in size up to maxSize.
* This extends the array with a bunch of zeros and copies the
* existing counts to the same position.
*/
_grow(buckets, needed) {
const size = buckets.backing.length;
const bias = buckets.indexBase - buckets.indexStart;
const oldPositiveLimit = size - bias;
let newSize = (0, util_1.nextGreaterSquare)(needed);
if (newSize > this._maxSize) {
newSize = this._maxSize;
}
const newPositiveLimit = newSize - bias;
buckets.backing.growTo(newSize, oldPositiveLimit, newPositiveLimit);
}
/**
* _changeScale computes how much downscaling is needed by shifting the
* high and low values until they are separated by no more than size.
*/
_changeScale(high, low) {
let change = 0;
while (high - low >= this._maxSize) {
high >>= 1;
low >>= 1;
change++;
}
return change;
}
/**
* _downscale subtracts `change` from the current mapping scale.
*/
_downscale(change) {
if (change === 0) {
return;
}
if (change < 0) {
throw new Error(`impossible change of scale: ${this.scale}`);
}
const newScale = this._mapping.scale - change;
this._positive.downscale(change);
this._negative.downscale(change);
this._mapping = (0, getMapping_1.getMapping)(newScale);
}
/**
* _minScale is used by diff and merge to compute an ideal combined scale
*/
_minScale(other) {
const minScale = Math.min(this.scale, other.scale);
const highLowPos = HighLow.combine(this._highLowAtScale(this.positive, this.scale, minScale), this._highLowAtScale(other.positive, other.scale, minScale));
const highLowNeg = HighLow.combine(this._highLowAtScale(this.negative, this.scale, minScale), this._highLowAtScale(other.negative, other.scale, minScale));
return Math.min(minScale - this._changeScale(highLowPos.high, highLowPos.low), minScale - this._changeScale(highLowNeg.high, highLowNeg.low));
}
/**
* _highLowAtScale is used by diff and merge to compute an ideal combined scale.
*/
_highLowAtScale(buckets, currentScale, newScale) {
if (buckets.length === 0) {
return new HighLow(0, -1);
}
const shift = currentScale - newScale;
return new HighLow(buckets.indexStart >> shift, buckets.indexEnd >> shift);
}
/**
* _mergeBuckets translates index values from another histogram and
* adds the values into the corresponding buckets of this histogram.
*/
_mergeBuckets(ours, other, theirs, scale) {
const theirOffset = theirs.offset;
const theirChange = other.scale - scale;
for (let i3 = 0; i3 < theirs.length; i3++) {
this._incrementIndexBy(ours, theirOffset + i3 >> theirChange, theirs.at(i3));
}
}
/**
* _diffBuckets translates index values from another histogram and
* subtracts the values in the corresponding buckets of this histogram.
*/
_diffBuckets(ours, other, theirs, scale) {
const theirOffset = theirs.offset;
const theirChange = other.scale - scale;
for (let i3 = 0; i3 < theirs.length; i3++) {
const ourIndex = theirOffset + i3 >> theirChange;
let bucketIndex = ourIndex - ours.indexBase;
if (bucketIndex < 0) {
bucketIndex += ours.backing.length;
}
ours.decrementBucket(bucketIndex, theirs.at(i3));
}
ours.trim();
}
};
exports2.ExponentialHistogramAccumulation = ExponentialHistogramAccumulation;
var ExponentialHistogramAggregator = class {
kind = types_1.AggregatorKind.EXPONENTIAL_HISTOGRAM;
_maxSize;
_recordMinMax;
/**
* @param _maxSize Maximum number of buckets for each of the positive
* and negative ranges, exclusive of the zero-bucket.
* @param _recordMinMax If set to true, min and max will be recorded.
* Otherwise, min and max will not be recorded.
*/
constructor(maxSize, recordMinMax) {
this._maxSize = maxSize;
this._recordMinMax = recordMinMax;
}
createAccumulation(startTime) {
return new ExponentialHistogramAccumulation(startTime, this._maxSize, this._recordMinMax);
}
/**
* Return the result of the merge of two exponential histogram accumulations.
*/
merge(previous, delta) {
const result2 = delta.clone();
result2.merge(previous);
return result2;
}
/**
* Returns a new DELTA aggregation by comparing two cumulative measurements.
*/
diff(previous, current) {
const result2 = current.clone();
result2.diff(previous);
return result2;
}
toMetricData(descriptor2, aggregationTemporality, accumulationByAttributes, endTime) {
return {
descriptor: descriptor2,
aggregationTemporality,
dataPointType: MetricData_1.DataPointType.EXPONENTIAL_HISTOGRAM,
dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => {
const pointValue = accumulation.toPointValue();
const allowsNegativeValues = descriptor2.type === MetricData_1.InstrumentType.GAUGE || descriptor2.type === MetricData_1.InstrumentType.UP_DOWN_COUNTER || descriptor2.type === MetricData_1.InstrumentType.OBSERVABLE_GAUGE || descriptor2.type === MetricData_1.InstrumentType.OBSERVABLE_UP_DOWN_COUNTER;
return {
attributes,
startTime: accumulation.startTime,
endTime,
value: {
min: pointValue.hasMinMax ? pointValue.min : void 0,
max: pointValue.hasMinMax ? pointValue.max : void 0,
sum: !allowsNegativeValues ? pointValue.sum : void 0,
positive: {
offset: pointValue.positive.offset,
bucketCounts: pointValue.positive.bucketCounts
},
negative: {
offset: pointValue.negative.offset,
bucketCounts: pointValue.negative.bucketCounts
},
count: pointValue.count,
scale: pointValue.scale,
zeroCount: pointValue.zeroCount
}
};
})
};
}
};
exports2.ExponentialHistogramAggregator = ExponentialHistogramAggregator;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js
var require_LastValue = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LastValueAggregator = exports2.LastValueAccumulation = void 0;
var types_1 = require_types2();
var core_1 = require_src8();
var MetricData_1 = require_MetricData();
var LastValueAccumulation = class {
startTime;
_current;
sampleTime;
constructor(startTime, current = 0, sampleTime = [0, 0]) {
this.startTime = startTime;
this._current = current;
this.sampleTime = sampleTime;
}
record(value) {
this._current = value;
this.sampleTime = (0, core_1.millisToHrTime)(Date.now());
}
setStartTime(startTime) {
this.startTime = startTime;
}
toPointValue() {
return this._current;
}
};
exports2.LastValueAccumulation = LastValueAccumulation;
var LastValueAggregator = class {
kind = types_1.AggregatorKind.LAST_VALUE;
createAccumulation(startTime) {
return new LastValueAccumulation(startTime);
}
/**
* Returns the result of the merge of the given accumulations.
*
* Return the newly captured (delta) accumulation for LastValueAggregator.
*/
merge(previous, delta) {
const latestAccumulation = (0, core_1.hrTimeToMicroseconds)(delta.sampleTime) >= (0, core_1.hrTimeToMicroseconds)(previous.sampleTime) ? delta : previous;
return new LastValueAccumulation(previous.startTime, latestAccumulation.toPointValue(), latestAccumulation.sampleTime);
}
/**
* Returns a new DELTA aggregation by comparing two cumulative measurements.
*
* A delta aggregation is not meaningful to LastValueAggregator, just return
* the newly captured (delta) accumulation for LastValueAggregator.
*/
diff(previous, current) {
const latestAccumulation = (0, core_1.hrTimeToMicroseconds)(current.sampleTime) >= (0, core_1.hrTimeToMicroseconds)(previous.sampleTime) ? current : previous;
return new LastValueAccumulation(current.startTime, latestAccumulation.toPointValue(), latestAccumulation.sampleTime);
}
toMetricData(descriptor2, aggregationTemporality, accumulationByAttributes, endTime) {
return {
descriptor: descriptor2,
aggregationTemporality,
dataPointType: MetricData_1.DataPointType.GAUGE,
dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => {
return {
attributes,
startTime: accumulation.startTime,
endTime,
value: accumulation.toPointValue()
};
})
};
}
};
exports2.LastValueAggregator = LastValueAggregator;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js
var require_Sum = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SumAggregator = exports2.SumAccumulation = void 0;
var types_1 = require_types2();
var MetricData_1 = require_MetricData();
var SumAccumulation = class {
startTime;
monotonic;
_current;
reset;
constructor(startTime, monotonic, current = 0, reset2 = false) {
this.startTime = startTime;
this.monotonic = monotonic;
this._current = current;
this.reset = reset2;
}
record(value) {
if (this.monotonic && value < 0) {
return;
}
this._current += value;
}
setStartTime(startTime) {
this.startTime = startTime;
}
toPointValue() {
return this._current;
}
};
exports2.SumAccumulation = SumAccumulation;
var SumAggregator = class {
kind = types_1.AggregatorKind.SUM;
monotonic;
constructor(monotonic) {
this.monotonic = monotonic;
}
createAccumulation(startTime) {
return new SumAccumulation(startTime, this.monotonic);
}
/**
* Returns the result of the merge of the given accumulations.
*/
merge(previous, delta) {
const prevPv = previous.toPointValue();
const deltaPv = delta.toPointValue();
if (delta.reset) {
return new SumAccumulation(delta.startTime, this.monotonic, deltaPv, delta.reset);
}
return new SumAccumulation(previous.startTime, this.monotonic, prevPv + deltaPv);
}
/**
* Returns a new DELTA aggregation by comparing two cumulative measurements.
*/
diff(previous, current) {
const prevPv = previous.toPointValue();
const currPv = current.toPointValue();
if (this.monotonic && prevPv > currPv) {
return new SumAccumulation(current.startTime, this.monotonic, currPv, true);
}
return new SumAccumulation(current.startTime, this.monotonic, currPv - prevPv);
}
toMetricData(descriptor2, aggregationTemporality, accumulationByAttributes, endTime) {
return {
descriptor: descriptor2,
aggregationTemporality,
dataPointType: MetricData_1.DataPointType.SUM,
dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => {
return {
attributes,
startTime: accumulation.startTime,
endTime,
value: accumulation.toPointValue()
};
}),
isMonotonic: this.monotonic
};
}
};
exports2.SumAggregator = SumAggregator;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.js
var require_aggregator = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SumAggregator = exports2.SumAccumulation = exports2.LastValueAggregator = exports2.LastValueAccumulation = exports2.ExponentialHistogramAggregator = exports2.ExponentialHistogramAccumulation = exports2.HistogramAggregator = exports2.HistogramAccumulation = exports2.DropAggregator = void 0;
var Drop_1 = require_Drop();
Object.defineProperty(exports2, "DropAggregator", { enumerable: true, get: function() {
return Drop_1.DropAggregator;
} });
var Histogram_1 = require_Histogram();
Object.defineProperty(exports2, "HistogramAccumulation", { enumerable: true, get: function() {
return Histogram_1.HistogramAccumulation;
} });
Object.defineProperty(exports2, "HistogramAggregator", { enumerable: true, get: function() {
return Histogram_1.HistogramAggregator;
} });
var ExponentialHistogram_1 = require_ExponentialHistogram();
Object.defineProperty(exports2, "ExponentialHistogramAccumulation", { enumerable: true, get: function() {
return ExponentialHistogram_1.ExponentialHistogramAccumulation;
} });
Object.defineProperty(exports2, "ExponentialHistogramAggregator", { enumerable: true, get: function() {
return ExponentialHistogram_1.ExponentialHistogramAggregator;
} });
var LastValue_1 = require_LastValue();
Object.defineProperty(exports2, "LastValueAccumulation", { enumerable: true, get: function() {
return LastValue_1.LastValueAccumulation;
} });
Object.defineProperty(exports2, "LastValueAggregator", { enumerable: true, get: function() {
return LastValue_1.LastValueAggregator;
} });
var Sum_1 = require_Sum();
Object.defineProperty(exports2, "SumAccumulation", { enumerable: true, get: function() {
return Sum_1.SumAccumulation;
} });
Object.defineProperty(exports2, "SumAggregator", { enumerable: true, get: function() {
return Sum_1.SumAggregator;
} });
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js
var require_Aggregation = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_AGGREGATION = exports2.EXPONENTIAL_HISTOGRAM_AGGREGATION = exports2.HISTOGRAM_AGGREGATION = exports2.LAST_VALUE_AGGREGATION = exports2.SUM_AGGREGATION = exports2.DROP_AGGREGATION = exports2.DefaultAggregation = exports2.ExponentialHistogramAggregation = exports2.ExplicitBucketHistogramAggregation = exports2.HistogramAggregation = exports2.LastValueAggregation = exports2.SumAggregation = exports2.DropAggregation = void 0;
var api = (init_esm(), __toCommonJS(esm_exports));
var aggregator_1 = require_aggregator();
var MetricData_1 = require_MetricData();
var DropAggregation = class _DropAggregation {
static DEFAULT_INSTANCE = new aggregator_1.DropAggregator();
createAggregator(_instrument) {
return _DropAggregation.DEFAULT_INSTANCE;
}
};
exports2.DropAggregation = DropAggregation;
var SumAggregation = class _SumAggregation {
static MONOTONIC_INSTANCE = new aggregator_1.SumAggregator(true);
static NON_MONOTONIC_INSTANCE = new aggregator_1.SumAggregator(false);
createAggregator(instrument) {
switch (instrument.type) {
case MetricData_1.InstrumentType.COUNTER:
case MetricData_1.InstrumentType.OBSERVABLE_COUNTER:
case MetricData_1.InstrumentType.HISTOGRAM: {
return _SumAggregation.MONOTONIC_INSTANCE;
}
default: {
return _SumAggregation.NON_MONOTONIC_INSTANCE;
}
}
}
};
exports2.SumAggregation = SumAggregation;
var LastValueAggregation = class _LastValueAggregation {
static DEFAULT_INSTANCE = new aggregator_1.LastValueAggregator();
createAggregator(_instrument) {
return _LastValueAggregation.DEFAULT_INSTANCE;
}
};
exports2.LastValueAggregation = LastValueAggregation;
var HistogramAggregation = class _HistogramAggregation {
static DEFAULT_INSTANCE = new aggregator_1.HistogramAggregator([0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1e3, 2500, 5e3, 7500, 1e4], true);
createAggregator(_instrument) {
return _HistogramAggregation.DEFAULT_INSTANCE;
}
};
exports2.HistogramAggregation = HistogramAggregation;
var ExplicitBucketHistogramAggregation = class {
_boundaries;
_recordMinMax;
/**
* @param boundaries the bucket boundaries of the histogram aggregation
* @param _recordMinMax If set to true, min and max will be recorded. Otherwise, min and max will not be recorded.
*/
constructor(boundaries, recordMinMax = true) {
if (boundaries == null) {
throw new Error("ExplicitBucketHistogramAggregation should be created with explicit boundaries, if a single bucket histogram is required, please pass an empty array");
}
boundaries = boundaries.concat();
boundaries = boundaries.sort((a2, b) => a2 - b);
const minusInfinityIndex = boundaries.lastIndexOf(-Infinity);
let infinityIndex = boundaries.indexOf(Infinity);
if (infinityIndex === -1) {
infinityIndex = void 0;
}
this._boundaries = boundaries.slice(minusInfinityIndex + 1, infinityIndex);
this._recordMinMax = recordMinMax;
}
createAggregator(_instrument) {
return new aggregator_1.HistogramAggregator(this._boundaries, this._recordMinMax);
}
};
exports2.ExplicitBucketHistogramAggregation = ExplicitBucketHistogramAggregation;
var ExponentialHistogramAggregation = class {
_maxSize;
_recordMinMax;
constructor(maxSize = 160, recordMinMax = true) {
this._maxSize = maxSize;
this._recordMinMax = recordMinMax;
}
createAggregator(_instrument) {
return new aggregator_1.ExponentialHistogramAggregator(this._maxSize, this._recordMinMax);
}
};
exports2.ExponentialHistogramAggregation = ExponentialHistogramAggregation;
var DefaultAggregation = class {
_resolve(instrument) {
switch (instrument.type) {
case MetricData_1.InstrumentType.COUNTER:
case MetricData_1.InstrumentType.UP_DOWN_COUNTER:
case MetricData_1.InstrumentType.OBSERVABLE_COUNTER:
case MetricData_1.InstrumentType.OBSERVABLE_UP_DOWN_COUNTER: {
return exports2.SUM_AGGREGATION;
}
case MetricData_1.InstrumentType.GAUGE:
case MetricData_1.InstrumentType.OBSERVABLE_GAUGE: {
return exports2.LAST_VALUE_AGGREGATION;
}
case MetricData_1.InstrumentType.HISTOGRAM: {
if (instrument.advice.explicitBucketBoundaries) {
return new ExplicitBucketHistogramAggregation(instrument.advice.explicitBucketBoundaries);
}
return exports2.HISTOGRAM_AGGREGATION;
}
}
api.diag.warn(`Unable to recognize instrument type: ${instrument.type}`);
return exports2.DROP_AGGREGATION;
}
createAggregator(instrument) {
return this._resolve(instrument).createAggregator(instrument);
}
};
exports2.DefaultAggregation = DefaultAggregation;
exports2.DROP_AGGREGATION = new DropAggregation();
exports2.SUM_AGGREGATION = new SumAggregation();
exports2.LAST_VALUE_AGGREGATION = new LastValueAggregation();
exports2.HISTOGRAM_AGGREGATION = new HistogramAggregation();
exports2.EXPONENTIAL_HISTOGRAM_AGGREGATION = new ExponentialHistogramAggregation();
exports2.DEFAULT_AGGREGATION = new DefaultAggregation();
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.js
var require_AggregationOption = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.toAggregation = exports2.AggregationType = void 0;
var Aggregation_1 = require_Aggregation();
var AggregationType;
(function(AggregationType2) {
AggregationType2[AggregationType2["DEFAULT"] = 0] = "DEFAULT";
AggregationType2[AggregationType2["DROP"] = 1] = "DROP";
AggregationType2[AggregationType2["SUM"] = 2] = "SUM";
AggregationType2[AggregationType2["LAST_VALUE"] = 3] = "LAST_VALUE";
AggregationType2[AggregationType2["EXPLICIT_BUCKET_HISTOGRAM"] = 4] = "EXPLICIT_BUCKET_HISTOGRAM";
AggregationType2[AggregationType2["EXPONENTIAL_HISTOGRAM"] = 5] = "EXPONENTIAL_HISTOGRAM";
})(AggregationType = exports2.AggregationType || (exports2.AggregationType = {}));
function toAggregation(option2) {
switch (option2.type) {
case AggregationType.DEFAULT:
return Aggregation_1.DEFAULT_AGGREGATION;
case AggregationType.DROP:
return Aggregation_1.DROP_AGGREGATION;
case AggregationType.SUM:
return Aggregation_1.SUM_AGGREGATION;
case AggregationType.LAST_VALUE:
return Aggregation_1.LAST_VALUE_AGGREGATION;
case AggregationType.EXPONENTIAL_HISTOGRAM: {
const expOption = option2;
return new Aggregation_1.ExponentialHistogramAggregation(expOption.options?.maxSize, expOption.options?.recordMinMax);
}
case AggregationType.EXPLICIT_BUCKET_HISTOGRAM: {
const expOption = option2;
if (expOption.options == null) {
return Aggregation_1.HISTOGRAM_AGGREGATION;
} else {
return new Aggregation_1.ExplicitBucketHistogramAggregation(expOption.options?.boundaries, expOption.options?.recordMinMax);
}
}
default:
throw new Error("Unsupported Aggregation");
}
}
exports2.toAggregation = toAggregation;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.js
var require_AggregationSelector = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR = exports2.DEFAULT_AGGREGATION_SELECTOR = void 0;
var AggregationTemporality_1 = require_AggregationTemporality();
var AggregationOption_1 = require_AggregationOption();
var DEFAULT_AGGREGATION_SELECTOR = (_instrumentType) => {
return {
type: AggregationOption_1.AggregationType.DEFAULT
};
};
exports2.DEFAULT_AGGREGATION_SELECTOR = DEFAULT_AGGREGATION_SELECTOR;
var DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR = (_instrumentType) => AggregationTemporality_1.AggregationTemporality.CUMULATIVE;
exports2.DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR = DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js
var require_MetricReader = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MetricReader = void 0;
var api = (init_esm(), __toCommonJS(esm_exports));
var utils_1 = require_utils4();
var AggregationSelector_1 = require_AggregationSelector();
var MetricReader = class {
// Tracks the shutdown state.
// TODO: use BindOncePromise here once a new version of @opentelemetry/core is available.
_shutdown = false;
// Additional MetricProducers which will be combined with the SDK's output
_metricProducers;
// MetricProducer used by this instance which produces metrics from the SDK
_sdkMetricProducer;
_aggregationTemporalitySelector;
_aggregationSelector;
_cardinalitySelector;
constructor(options) {
this._aggregationSelector = options?.aggregationSelector ?? AggregationSelector_1.DEFAULT_AGGREGATION_SELECTOR;
this._aggregationTemporalitySelector = options?.aggregationTemporalitySelector ?? AggregationSelector_1.DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR;
this._metricProducers = options?.metricProducers ?? [];
this._cardinalitySelector = options?.cardinalitySelector;
}
setMetricProducer(metricProducer) {
if (this._sdkMetricProducer) {
throw new Error("MetricReader can not be bound to a MeterProvider again.");
}
this._sdkMetricProducer = metricProducer;
this.onInitialized();
}
selectAggregation(instrumentType) {
return this._aggregationSelector(instrumentType);
}
selectAggregationTemporality(instrumentType) {
return this._aggregationTemporalitySelector(instrumentType);
}
selectCardinalityLimit(instrumentType) {
return this._cardinalitySelector ? this._cardinalitySelector(instrumentType) : 2e3;
}
/**
* Handle once the SDK has initialized this {@link MetricReader}
* Overriding this method is optional.
*/
onInitialized() {
}
async collect(options) {
if (this._sdkMetricProducer === void 0) {
throw new Error("MetricReader is not bound to a MetricProducer");
}
if (this._shutdown) {
throw new Error("MetricReader is shutdown");
}
const [sdkCollectionResults, ...additionalCollectionResults] = await Promise.all([
this._sdkMetricProducer.collect({
timeoutMillis: options?.timeoutMillis
}),
...this._metricProducers.map((producer) => producer.collect({
timeoutMillis: options?.timeoutMillis
}))
]);
const errors = sdkCollectionResults.errors.concat(additionalCollectionResults.flatMap((result2) => result2.errors));
const resource = sdkCollectionResults.resourceMetrics.resource;
const scopeMetrics = sdkCollectionResults.resourceMetrics.scopeMetrics.concat(additionalCollectionResults.flatMap((result2) => result2.resourceMetrics.scopeMetrics));
return {
resourceMetrics: {
resource,
scopeMetrics
},
errors
};
}
async shutdown(options) {
if (this._shutdown) {
api.diag.error("Cannot call shutdown twice.");
return;
}
if (options?.timeoutMillis == null) {
await this.onShutdown();
} else {
await (0, utils_1.callWithTimeout)(this.onShutdown(), options.timeoutMillis);
}
this._shutdown = true;
}
async forceFlush(options) {
if (this._shutdown) {
api.diag.warn("Cannot forceFlush on already shutdown MetricReader.");
return;
}
if (options?.timeoutMillis == null) {
await this.onForceFlush();
return;
}
await (0, utils_1.callWithTimeout)(this.onForceFlush(), options.timeoutMillis);
}
};
exports2.MetricReader = MetricReader;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js
var require_PeriodicExportingMetricReader = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PeriodicExportingMetricReader = void 0;
var api = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var MetricReader_1 = require_MetricReader();
var utils_1 = require_utils4();
var PeriodicExportingMetricReader2 = class extends MetricReader_1.MetricReader {
_interval;
_exporter;
_exportInterval;
_exportTimeout;
constructor(options) {
const { exporter, exportIntervalMillis = 6e4, metricProducers } = options;
let { exportTimeoutMillis = 3e4 } = options;
super({
aggregationSelector: exporter.selectAggregation?.bind(exporter),
aggregationTemporalitySelector: exporter.selectAggregationTemporality?.bind(exporter),
metricProducers
});
if (exportIntervalMillis <= 0) {
throw Error("exportIntervalMillis must be greater than 0");
}
if (exportTimeoutMillis <= 0) {
throw Error("exportTimeoutMillis must be greater than 0");
}
if (exportIntervalMillis < exportTimeoutMillis) {
if ("exportIntervalMillis" in options && "exportTimeoutMillis" in options) {
throw Error("exportIntervalMillis must be greater than or equal to exportTimeoutMillis");
} else {
api.diag.info(`Timeout of ${exportTimeoutMillis} exceeds the interval of ${exportIntervalMillis}. Clamping timeout to interval duration.`);
exportTimeoutMillis = exportIntervalMillis;
}
}
this._exportInterval = exportIntervalMillis;
this._exportTimeout = exportTimeoutMillis;
this._exporter = exporter;
}
async _runOnce() {
try {
await (0, utils_1.callWithTimeout)(this._doRun(), this._exportTimeout);
} catch (err2) {
if (err2 instanceof utils_1.TimeoutError) {
api.diag.error("Export took longer than %s milliseconds and timed out.", this._exportTimeout);
return;
}
(0, core_1.globalErrorHandler)(err2);
}
}
async _doRun() {
const { resourceMetrics, errors } = await this.collect({
timeoutMillis: this._exportTimeout
});
if (errors.length > 0) {
api.diag.error("PeriodicExportingMetricReader: metrics collection errors", ...errors);
}
if (resourceMetrics.resource.asyncAttributesPending) {
try {
await resourceMetrics.resource.waitForAsyncAttributes?.();
} catch (e2) {
api.diag.debug("Error while resolving async portion of resource: ", e2);
(0, core_1.globalErrorHandler)(e2);
}
}
if (resourceMetrics.scopeMetrics.length === 0) {
return;
}
const result2 = await core_1.internal._export(this._exporter, resourceMetrics);
if (result2.code !== core_1.ExportResultCode.SUCCESS) {
throw new Error(`PeriodicExportingMetricReader: metrics export failed (error ${result2.error})`);
}
}
onInitialized() {
this._interval = setInterval(() => {
void this._runOnce();
}, this._exportInterval);
if (typeof this._interval !== "number") {
this._interval.unref();
}
}
async onForceFlush() {
await this._runOnce();
await this._exporter.forceFlush();
}
async onShutdown() {
if (this._interval) {
clearInterval(this._interval);
}
await this.onForceFlush();
await this._exporter.shutdown();
}
};
exports2.PeriodicExportingMetricReader = PeriodicExportingMetricReader2;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.js
var require_InMemoryMetricExporter = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InMemoryMetricExporter = void 0;
var core_1 = require_src8();
var InMemoryMetricExporter = class {
_shutdown = false;
_aggregationTemporality;
_metrics = [];
constructor(aggregationTemporality) {
this._aggregationTemporality = aggregationTemporality;
}
/**
* @inheritedDoc
*/
export(metrics2, resultCallback) {
if (this._shutdown) {
setTimeout(() => resultCallback({ code: core_1.ExportResultCode.FAILED }), 0);
return;
}
this._metrics.push(metrics2);
setTimeout(() => resultCallback({ code: core_1.ExportResultCode.SUCCESS }), 0);
}
/**
* Returns all the collected resource metrics
* @returns ResourceMetrics[]
*/
getMetrics() {
return this._metrics;
}
forceFlush() {
return Promise.resolve();
}
reset() {
this._metrics = [];
}
selectAggregationTemporality(_instrumentType) {
return this._aggregationTemporality;
}
shutdown() {
this._shutdown = true;
return Promise.resolve();
}
};
exports2.InMemoryMetricExporter = InMemoryMetricExporter;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js
var require_ConsoleMetricExporter = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ConsoleMetricExporter = void 0;
var core_1 = require_src8();
var AggregationSelector_1 = require_AggregationSelector();
var ConsoleMetricExporter2 = class _ConsoleMetricExporter {
_shutdown = false;
_temporalitySelector;
constructor(options) {
this._temporalitySelector = options?.temporalitySelector ?? AggregationSelector_1.DEFAULT_AGGREGATION_TEMPORALITY_SELECTOR;
}
export(metrics2, resultCallback) {
if (this._shutdown) {
resultCallback({ code: core_1.ExportResultCode.FAILED });
return;
}
return _ConsoleMetricExporter._sendMetrics(metrics2, resultCallback);
}
forceFlush() {
return Promise.resolve();
}
selectAggregationTemporality(_instrumentType) {
return this._temporalitySelector(_instrumentType);
}
shutdown() {
this._shutdown = true;
return Promise.resolve();
}
static _sendMetrics(metrics2, done) {
for (const scopeMetrics of metrics2.scopeMetrics) {
for (const metric of scopeMetrics.metrics) {
console.dir({
descriptor: metric.descriptor,
dataPointType: metric.dataPointType,
dataPoints: metric.dataPoints
}, { depth: null });
}
}
done({ code: core_1.ExportResultCode.SUCCESS });
}
};
exports2.ConsoleMetricExporter = ConsoleMetricExporter2;
}
});
// node_modules/@opentelemetry/resources/build/src/default-service-name.js
var require_default_service_name = __commonJS({
"node_modules/@opentelemetry/resources/build/src/default-service-name.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._clearDefaultServiceNameCache = exports2.defaultServiceName = void 0;
var serviceName;
function defaultServiceName() {
if (serviceName === void 0) {
try {
const argv0 = globalThis.process.argv0;
serviceName = argv0 ? `unknown_service:${argv0}` : "unknown_service";
} catch {
serviceName = "unknown_service";
}
}
return serviceName;
}
exports2.defaultServiceName = defaultServiceName;
function _clearDefaultServiceNameCache() {
serviceName = void 0;
}
exports2._clearDefaultServiceNameCache = _clearDefaultServiceNameCache;
}
});
// node_modules/@opentelemetry/resources/build/src/utils.js
var require_utils5 = __commonJS({
"node_modules/@opentelemetry/resources/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isPromiseLike = void 0;
var isPromiseLike = (val) => {
return val !== null && typeof val === "object" && typeof val.then === "function";
};
exports2.isPromiseLike = isPromiseLike;
}
});
// node_modules/@opentelemetry/resources/build/src/ResourceImpl.js
var require_ResourceImpl = __commonJS({
"node_modules/@opentelemetry/resources/build/src/ResourceImpl.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.defaultResource = exports2.emptyResource = exports2.resourceFromDetectedResource = exports2.resourceFromAttributes = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var default_service_name_1 = require_default_service_name();
var utils_1 = require_utils5();
var ResourceImpl = class _ResourceImpl {
_rawAttributes;
_asyncAttributesPending = false;
_schemaUrl;
_memoizedAttributes;
static FromAttributeList(attributes, options) {
const res = new _ResourceImpl({}, options);
res._rawAttributes = guardedRawAttributes(attributes);
res._asyncAttributesPending = attributes.filter(([_, val]) => (0, utils_1.isPromiseLike)(val)).length > 0;
return res;
}
constructor(resource, options) {
const attributes = resource.attributes ?? {};
this._rawAttributes = Object.entries(attributes).map(([k, v]) => {
if ((0, utils_1.isPromiseLike)(v)) {
this._asyncAttributesPending = true;
}
return [k, v];
});
this._rawAttributes = guardedRawAttributes(this._rawAttributes);
this._schemaUrl = validateSchemaUrl(options?.schemaUrl);
}
get asyncAttributesPending() {
return this._asyncAttributesPending;
}
async waitForAsyncAttributes() {
if (!this.asyncAttributesPending) {
return;
}
for (let i3 = 0; i3 < this._rawAttributes.length; i3++) {
const [k, v] = this._rawAttributes[i3];
this._rawAttributes[i3] = [k, (0, utils_1.isPromiseLike)(v) ? await v : v];
}
this._asyncAttributesPending = false;
}
get attributes() {
if (this.asyncAttributesPending) {
api_1.diag.error("Accessing resource attributes before async attributes settled");
}
if (this._memoizedAttributes) {
return this._memoizedAttributes;
}
const attrs = {};
for (const [k, v] of this._rawAttributes) {
if ((0, utils_1.isPromiseLike)(v)) {
api_1.diag.debug(`Unsettled resource attribute ${k} skipped`);
continue;
}
if (v != null) {
attrs[k] ??= v;
}
}
if (!this._asyncAttributesPending) {
this._memoizedAttributes = attrs;
}
return attrs;
}
getRawAttributes() {
return this._rawAttributes;
}
get schemaUrl() {
return this._schemaUrl;
}
merge(resource) {
if (resource == null)
return this;
const mergedSchemaUrl = mergeSchemaUrl(this, resource);
const mergedOptions = mergedSchemaUrl ? { schemaUrl: mergedSchemaUrl } : void 0;
return _ResourceImpl.FromAttributeList([...resource.getRawAttributes(), ...this.getRawAttributes()], mergedOptions);
}
};
function resourceFromAttributes2(attributes, options) {
return ResourceImpl.FromAttributeList(Object.entries(attributes), options);
}
exports2.resourceFromAttributes = resourceFromAttributes2;
function resourceFromDetectedResource(detectedResource, options) {
return new ResourceImpl(detectedResource, options);
}
exports2.resourceFromDetectedResource = resourceFromDetectedResource;
function emptyResource() {
return resourceFromAttributes2({});
}
exports2.emptyResource = emptyResource;
function defaultResource() {
return resourceFromAttributes2({
[semantic_conventions_1.ATTR_SERVICE_NAME]: (0, default_service_name_1.defaultServiceName)(),
[semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE]: core_1.SDK_INFO[semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE],
[semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME]: core_1.SDK_INFO[semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME],
[semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION]: core_1.SDK_INFO[semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION]
});
}
exports2.defaultResource = defaultResource;
function guardedRawAttributes(attributes) {
return attributes.map(([k, v]) => {
if ((0, utils_1.isPromiseLike)(v)) {
return [
k,
v.catch((err2) => {
api_1.diag.debug("promise rejection for resource attribute: %s - %s", k, err2);
return void 0;
})
];
}
return [k, v];
});
}
function validateSchemaUrl(schemaUrl) {
if (typeof schemaUrl === "string" || schemaUrl === void 0) {
return schemaUrl;
}
api_1.diag.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.", schemaUrl);
return void 0;
}
function mergeSchemaUrl(old, updating) {
const oldSchemaUrl = old?.schemaUrl;
const updatingSchemaUrl = updating?.schemaUrl;
const isOldEmpty = oldSchemaUrl === void 0 || oldSchemaUrl === "";
const isUpdatingEmpty = updatingSchemaUrl === void 0 || updatingSchemaUrl === "";
if (isOldEmpty) {
return updatingSchemaUrl;
}
if (isUpdatingEmpty) {
return oldSchemaUrl;
}
if (oldSchemaUrl === updatingSchemaUrl) {
return oldSchemaUrl;
}
api_1.diag.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.', oldSchemaUrl, updatingSchemaUrl);
return void 0;
}
}
});
// node_modules/@opentelemetry/resources/build/src/detect-resources.js
var require_detect_resources = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detect-resources.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.detectResources = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var ResourceImpl_1 = require_ResourceImpl();
var detectResources = (config2 = {}) => {
const resources = (config2.detectors || []).map((d) => {
try {
const resource = (0, ResourceImpl_1.resourceFromDetectedResource)(d.detect(config2));
api_1.diag.debug(`${d.constructor.name} found resource.`, resource);
return resource;
} catch (e2) {
api_1.diag.debug(`${d.constructor.name} failed: ${e2.message}`);
return (0, ResourceImpl_1.emptyResource)();
}
});
return resources.reduce((acc, resource) => acc.merge(resource), (0, ResourceImpl_1.emptyResource)());
};
exports2.detectResources = detectResources;
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/EnvDetector.js
var require_EnvDetector = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/EnvDetector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.envDetector = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var core_1 = require_src8();
var EnvDetector = class {
// Type, attribute keys, and attribute values should not exceed 256 characters.
_MAX_LENGTH = 255;
// OTEL_RESOURCE_ATTRIBUTES is a comma-separated list of attributes.
_COMMA_SEPARATOR = ",";
// OTEL_RESOURCE_ATTRIBUTES contains key value pair separated by '='.
_LABEL_KEY_VALUE_SPLITTER = "=";
_ERROR_MESSAGE_INVALID_CHARS = "should be a ASCII string with a length greater than 0 and not exceed " + this._MAX_LENGTH + " characters.";
_ERROR_MESSAGE_INVALID_VALUE = "should be a ASCII string with a length not exceed " + this._MAX_LENGTH + " characters.";
/**
* Returns a {@link Resource} populated with attributes from the
* OTEL_RESOURCE_ATTRIBUTES environment variable. Note this is an async
* function to conform to the Detector interface.
*
* @param config The resource detection config
*/
detect(_config) {
const attributes = {};
const rawAttributes = (0, core_1.getStringFromEnv)("OTEL_RESOURCE_ATTRIBUTES");
const serviceName = (0, core_1.getStringFromEnv)("OTEL_SERVICE_NAME");
if (rawAttributes) {
try {
const parsedAttributes = this._parseResourceAttributes(rawAttributes);
Object.assign(attributes, parsedAttributes);
} catch (e2) {
api_1.diag.debug(`EnvDetector failed: ${e2.message}`);
}
}
if (serviceName) {
attributes[semantic_conventions_1.ATTR_SERVICE_NAME] = serviceName;
}
return { attributes };
}
/**
* Creates an attribute map from the OTEL_RESOURCE_ATTRIBUTES environment
* variable.
*
* OTEL_RESOURCE_ATTRIBUTES: A comma-separated list of attributes describing
* the source in more detail, e.g. “key1=val1,key2=val2”. Domain names and
* paths are accepted as attribute keys. Values may be quoted or unquoted in
* general. If a value contains whitespace, =, or " characters, it must
* always be quoted.
*
* @param rawEnvAttributes The resource attributes as a comma-separated list
* of key/value pairs.
* @returns The sanitized resource attributes.
*/
_parseResourceAttributes(rawEnvAttributes) {
if (!rawEnvAttributes)
return {};
const attributes = {};
const rawAttributes = rawEnvAttributes.split(this._COMMA_SEPARATOR, -1);
for (const rawAttribute of rawAttributes) {
const keyValuePair = rawAttribute.split(this._LABEL_KEY_VALUE_SPLITTER, -1);
if (keyValuePair.length !== 2) {
continue;
}
let [key, value] = keyValuePair;
key = key.trim();
value = value.trim().split(/^"|"$/).join("");
if (!this._isValidAndNotEmpty(key)) {
throw new Error(`Attribute key ${this._ERROR_MESSAGE_INVALID_CHARS}`);
}
if (!this._isValid(value)) {
throw new Error(`Attribute value ${this._ERROR_MESSAGE_INVALID_VALUE}`);
}
attributes[key] = decodeURIComponent(value);
}
return attributes;
}
/**
* Determines whether the given String is a valid printable ASCII string with
* a length not exceed _MAX_LENGTH characters.
*
* @param str The String to be validated.
* @returns Whether the String is valid.
*/
_isValid(name3) {
return name3.length <= this._MAX_LENGTH && this._isBaggageOctetString(name3);
}
// https://www.w3.org/TR/baggage/#definition
_isBaggageOctetString(str2) {
for (let i3 = 0; i3 < str2.length; i3++) {
const ch = str2.charCodeAt(i3);
if (ch < 33 || ch === 44 || ch === 59 || ch === 92 || ch > 126) {
return false;
}
}
return true;
}
/**
* Determines whether the given String is a valid printable ASCII string with
* a length greater than 0 and not exceed _MAX_LENGTH characters.
*
* @param str The String to be validated.
* @returns Whether the String is valid and not empty.
*/
_isValidAndNotEmpty(str2) {
return str2.length > 0 && this._isValid(str2);
}
};
exports2.envDetector = new EnvDetector();
}
});
// node_modules/@opentelemetry/resources/build/src/semconv.js
var require_semconv2 = __commonJS({
"node_modules/@opentelemetry/resources/build/src/semconv.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ATTR_WEBENGINE_VERSION = exports2.ATTR_WEBENGINE_NAME = exports2.ATTR_WEBENGINE_DESCRIPTION = exports2.ATTR_SERVICE_NAMESPACE = exports2.ATTR_SERVICE_INSTANCE_ID = exports2.ATTR_PROCESS_RUNTIME_VERSION = exports2.ATTR_PROCESS_RUNTIME_NAME = exports2.ATTR_PROCESS_RUNTIME_DESCRIPTION = exports2.ATTR_PROCESS_PID = exports2.ATTR_PROCESS_OWNER = exports2.ATTR_PROCESS_EXECUTABLE_PATH = exports2.ATTR_PROCESS_EXECUTABLE_NAME = exports2.ATTR_PROCESS_COMMAND_ARGS = exports2.ATTR_PROCESS_COMMAND = exports2.ATTR_OS_VERSION = exports2.ATTR_OS_TYPE = exports2.ATTR_K8S_POD_NAME = exports2.ATTR_K8S_NAMESPACE_NAME = exports2.ATTR_K8S_DEPLOYMENT_NAME = exports2.ATTR_K8S_CLUSTER_NAME = exports2.ATTR_HOST_TYPE = exports2.ATTR_HOST_NAME = exports2.ATTR_HOST_IMAGE_VERSION = exports2.ATTR_HOST_IMAGE_NAME = exports2.ATTR_HOST_IMAGE_ID = exports2.ATTR_HOST_ID = exports2.ATTR_HOST_ARCH = exports2.ATTR_CONTAINER_NAME = exports2.ATTR_CONTAINER_IMAGE_TAGS = exports2.ATTR_CONTAINER_IMAGE_NAME = exports2.ATTR_CONTAINER_ID = exports2.ATTR_CLOUD_REGION = exports2.ATTR_CLOUD_PROVIDER = exports2.ATTR_CLOUD_AVAILABILITY_ZONE = exports2.ATTR_CLOUD_ACCOUNT_ID = void 0;
exports2.ATTR_CLOUD_ACCOUNT_ID = "cloud.account.id";
exports2.ATTR_CLOUD_AVAILABILITY_ZONE = "cloud.availability_zone";
exports2.ATTR_CLOUD_PROVIDER = "cloud.provider";
exports2.ATTR_CLOUD_REGION = "cloud.region";
exports2.ATTR_CONTAINER_ID = "container.id";
exports2.ATTR_CONTAINER_IMAGE_NAME = "container.image.name";
exports2.ATTR_CONTAINER_IMAGE_TAGS = "container.image.tags";
exports2.ATTR_CONTAINER_NAME = "container.name";
exports2.ATTR_HOST_ARCH = "host.arch";
exports2.ATTR_HOST_ID = "host.id";
exports2.ATTR_HOST_IMAGE_ID = "host.image.id";
exports2.ATTR_HOST_IMAGE_NAME = "host.image.name";
exports2.ATTR_HOST_IMAGE_VERSION = "host.image.version";
exports2.ATTR_HOST_NAME = "host.name";
exports2.ATTR_HOST_TYPE = "host.type";
exports2.ATTR_K8S_CLUSTER_NAME = "k8s.cluster.name";
exports2.ATTR_K8S_DEPLOYMENT_NAME = "k8s.deployment.name";
exports2.ATTR_K8S_NAMESPACE_NAME = "k8s.namespace.name";
exports2.ATTR_K8S_POD_NAME = "k8s.pod.name";
exports2.ATTR_OS_TYPE = "os.type";
exports2.ATTR_OS_VERSION = "os.version";
exports2.ATTR_PROCESS_COMMAND = "process.command";
exports2.ATTR_PROCESS_COMMAND_ARGS = "process.command_args";
exports2.ATTR_PROCESS_EXECUTABLE_NAME = "process.executable.name";
exports2.ATTR_PROCESS_EXECUTABLE_PATH = "process.executable.path";
exports2.ATTR_PROCESS_OWNER = "process.owner";
exports2.ATTR_PROCESS_PID = "process.pid";
exports2.ATTR_PROCESS_RUNTIME_DESCRIPTION = "process.runtime.description";
exports2.ATTR_PROCESS_RUNTIME_NAME = "process.runtime.name";
exports2.ATTR_PROCESS_RUNTIME_VERSION = "process.runtime.version";
exports2.ATTR_SERVICE_INSTANCE_ID = "service.instance.id";
exports2.ATTR_SERVICE_NAMESPACE = "service.namespace";
exports2.ATTR_WEBENGINE_DESCRIPTION = "webengine.description";
exports2.ATTR_WEBENGINE_NAME = "webengine.name";
exports2.ATTR_WEBENGINE_VERSION = "webengine.version";
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId.js
var require_getMachineId = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getMachineId = void 0;
var process25 = __require("process");
var getMachineIdImpl;
async function getMachineId() {
if (!getMachineIdImpl) {
switch (process25.platform) {
case "darwin":
getMachineIdImpl = (await import("./getMachineId-darwin-7OE4DDZ6.js")).getMachineId;
break;
case "linux":
getMachineIdImpl = (await import("./getMachineId-linux-SHIFKOOX.js")).getMachineId;
break;
case "freebsd":
getMachineIdImpl = (await import("./getMachineId-bsd-TXG52NKR.js")).getMachineId;
break;
case "win32":
getMachineIdImpl = (await import("./getMachineId-win-6KLLGOI4.js")).getMachineId;
break;
default:
getMachineIdImpl = (await import("./getMachineId-unsupported-5U5DOEYY.js")).getMachineId;
break;
}
}
return getMachineIdImpl();
}
exports2.getMachineId = getMachineId;
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/utils.js
var require_utils6 = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/node/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.normalizeType = exports2.normalizeArch = void 0;
var normalizeArch = (nodeArchString) => {
switch (nodeArchString) {
case "arm":
return "arm32";
case "ppc":
return "ppc32";
case "x64":
return "amd64";
default:
return nodeArchString;
}
};
exports2.normalizeArch = normalizeArch;
var normalizeType = (nodePlatform) => {
switch (nodePlatform) {
case "sunos":
return "solaris";
case "win32":
return "windows";
default:
return nodePlatform;
}
};
exports2.normalizeType = normalizeType;
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/HostDetector.js
var require_HostDetector = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/node/HostDetector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.hostDetector = void 0;
var semconv_1 = require_semconv2();
var os_1 = __require("os");
var getMachineId_1 = require_getMachineId();
var utils_1 = require_utils6();
var HostDetector = class {
detect(_config) {
const attributes = {
[semconv_1.ATTR_HOST_NAME]: (0, os_1.hostname)(),
[semconv_1.ATTR_HOST_ARCH]: (0, utils_1.normalizeArch)((0, os_1.arch)()),
[semconv_1.ATTR_HOST_ID]: (0, getMachineId_1.getMachineId)()
};
return { attributes };
}
};
exports2.hostDetector = new HostDetector();
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/OSDetector.js
var require_OSDetector = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/node/OSDetector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.osDetector = void 0;
var semconv_1 = require_semconv2();
var os_1 = __require("os");
var utils_1 = require_utils6();
var OSDetector = class {
detect(_config) {
const attributes = {
[semconv_1.ATTR_OS_TYPE]: (0, utils_1.normalizeType)((0, os_1.platform)()),
[semconv_1.ATTR_OS_VERSION]: (0, os_1.release)()
};
return { attributes };
}
};
exports2.osDetector = new OSDetector();
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ProcessDetector.js
var require_ProcessDetector = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ProcessDetector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.processDetector = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var semconv_1 = require_semconv2();
var os30 = __require("os");
var ProcessDetector = class {
detect(_config) {
const attributes = {
[semconv_1.ATTR_PROCESS_PID]: process.pid,
[semconv_1.ATTR_PROCESS_EXECUTABLE_NAME]: process.title,
[semconv_1.ATTR_PROCESS_EXECUTABLE_PATH]: process.execPath,
[semconv_1.ATTR_PROCESS_COMMAND_ARGS]: [
process.argv[0],
...process.execArgv,
...process.argv.slice(1)
],
[semconv_1.ATTR_PROCESS_RUNTIME_VERSION]: process.versions.node,
[semconv_1.ATTR_PROCESS_RUNTIME_NAME]: "nodejs",
[semconv_1.ATTR_PROCESS_RUNTIME_DESCRIPTION]: "Node.js"
};
if (process.argv.length > 1) {
attributes[semconv_1.ATTR_PROCESS_COMMAND] = process.argv[1];
}
try {
const userInfo2 = os30.userInfo();
attributes[semconv_1.ATTR_PROCESS_OWNER] = userInfo2.username;
} catch (e2) {
api_1.diag.debug(`error obtaining process owner: ${e2}`);
}
return { attributes };
}
};
exports2.processDetector = new ProcessDetector();
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ServiceInstanceIdDetector.js
var require_ServiceInstanceIdDetector = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ServiceInstanceIdDetector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.serviceInstanceIdDetector = void 0;
var semconv_1 = require_semconv2();
var crypto_1 = __require("crypto");
var ServiceInstanceIdDetector = class {
detect(_config) {
return {
attributes: {
[semconv_1.ATTR_SERVICE_INSTANCE_ID]: (0, crypto_1.randomUUID)()
}
};
}
};
exports2.serviceInstanceIdDetector = new ServiceInstanceIdDetector();
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/node/index.js
var require_node2 = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.serviceInstanceIdDetector = exports2.processDetector = exports2.osDetector = exports2.hostDetector = void 0;
var HostDetector_1 = require_HostDetector();
Object.defineProperty(exports2, "hostDetector", { enumerable: true, get: function() {
return HostDetector_1.hostDetector;
} });
var OSDetector_1 = require_OSDetector();
Object.defineProperty(exports2, "osDetector", { enumerable: true, get: function() {
return OSDetector_1.osDetector;
} });
var ProcessDetector_1 = require_ProcessDetector();
Object.defineProperty(exports2, "processDetector", { enumerable: true, get: function() {
return ProcessDetector_1.processDetector;
} });
var ServiceInstanceIdDetector_1 = require_ServiceInstanceIdDetector();
Object.defineProperty(exports2, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return ServiceInstanceIdDetector_1.serviceInstanceIdDetector;
} });
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/platform/index.js
var require_platform2 = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.serviceInstanceIdDetector = exports2.processDetector = exports2.osDetector = exports2.hostDetector = void 0;
var node_1 = require_node2();
Object.defineProperty(exports2, "hostDetector", { enumerable: true, get: function() {
return node_1.hostDetector;
} });
Object.defineProperty(exports2, "osDetector", { enumerable: true, get: function() {
return node_1.osDetector;
} });
Object.defineProperty(exports2, "processDetector", { enumerable: true, get: function() {
return node_1.processDetector;
} });
Object.defineProperty(exports2, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return node_1.serviceInstanceIdDetector;
} });
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/NoopDetector.js
var require_NoopDetector = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/NoopDetector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.noopDetector = exports2.NoopDetector = void 0;
var NoopDetector = class {
detect() {
return {
attributes: {}
};
}
};
exports2.NoopDetector = NoopDetector;
exports2.noopDetector = new NoopDetector();
}
});
// node_modules/@opentelemetry/resources/build/src/detectors/index.js
var require_detectors = __commonJS({
"node_modules/@opentelemetry/resources/build/src/detectors/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.noopDetector = exports2.serviceInstanceIdDetector = exports2.processDetector = exports2.osDetector = exports2.hostDetector = exports2.envDetector = void 0;
var EnvDetector_1 = require_EnvDetector();
Object.defineProperty(exports2, "envDetector", { enumerable: true, get: function() {
return EnvDetector_1.envDetector;
} });
var platform_1 = require_platform2();
Object.defineProperty(exports2, "hostDetector", { enumerable: true, get: function() {
return platform_1.hostDetector;
} });
Object.defineProperty(exports2, "osDetector", { enumerable: true, get: function() {
return platform_1.osDetector;
} });
Object.defineProperty(exports2, "processDetector", { enumerable: true, get: function() {
return platform_1.processDetector;
} });
Object.defineProperty(exports2, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return platform_1.serviceInstanceIdDetector;
} });
var NoopDetector_1 = require_NoopDetector();
Object.defineProperty(exports2, "noopDetector", { enumerable: true, get: function() {
return NoopDetector_1.noopDetector;
} });
}
});
// node_modules/@opentelemetry/resources/build/src/index.js
var require_src13 = __commonJS({
"node_modules/@opentelemetry/resources/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.defaultServiceName = exports2.emptyResource = exports2.defaultResource = exports2.resourceFromAttributes = exports2.serviceInstanceIdDetector = exports2.processDetector = exports2.osDetector = exports2.hostDetector = exports2.envDetector = exports2.detectResources = void 0;
var detect_resources_1 = require_detect_resources();
Object.defineProperty(exports2, "detectResources", { enumerable: true, get: function() {
return detect_resources_1.detectResources;
} });
var detectors_1 = require_detectors();
Object.defineProperty(exports2, "envDetector", { enumerable: true, get: function() {
return detectors_1.envDetector;
} });
Object.defineProperty(exports2, "hostDetector", { enumerable: true, get: function() {
return detectors_1.hostDetector;
} });
Object.defineProperty(exports2, "osDetector", { enumerable: true, get: function() {
return detectors_1.osDetector;
} });
Object.defineProperty(exports2, "processDetector", { enumerable: true, get: function() {
return detectors_1.processDetector;
} });
Object.defineProperty(exports2, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return detectors_1.serviceInstanceIdDetector;
} });
var ResourceImpl_1 = require_ResourceImpl();
Object.defineProperty(exports2, "resourceFromAttributes", { enumerable: true, get: function() {
return ResourceImpl_1.resourceFromAttributes;
} });
Object.defineProperty(exports2, "defaultResource", { enumerable: true, get: function() {
return ResourceImpl_1.defaultResource;
} });
Object.defineProperty(exports2, "emptyResource", { enumerable: true, get: function() {
return ResourceImpl_1.emptyResource;
} });
var default_service_name_1 = require_default_service_name();
Object.defineProperty(exports2, "defaultServiceName", { enumerable: true, get: function() {
return default_service_name_1.defaultServiceName;
} });
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/ViewRegistry.js
var require_ViewRegistry = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/ViewRegistry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ViewRegistry = void 0;
var ViewRegistry = class {
_registeredViews = [];
addView(view) {
this._registeredViews.push(view);
}
findViews(instrument, meter) {
const views = this._registeredViews.filter((registeredView) => {
return this._matchInstrument(registeredView.instrumentSelector, instrument) && this._matchMeter(registeredView.meterSelector, meter);
});
return views;
}
_matchInstrument(selector, instrument) {
return (selector.getType() === void 0 || instrument.type === selector.getType()) && selector.getNameFilter().match(instrument.name) && selector.getUnitFilter().match(instrument.unit);
}
_matchMeter(selector, meter) {
return selector.getNameFilter().match(meter.name) && (meter.version === void 0 || selector.getVersionFilter().match(meter.version)) && (meter.schemaUrl === void 0 || selector.getSchemaUrlFilter().match(meter.schemaUrl));
}
};
exports2.ViewRegistry = ViewRegistry;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js
var require_InstrumentDescriptor = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isValidName = exports2.isDescriptorCompatibleWith = exports2.createInstrumentDescriptorWithView = exports2.createInstrumentDescriptor = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var utils_1 = require_utils4();
function createInstrumentDescriptor(name3, type2, options) {
if (!isValidName(name3)) {
api_1.diag.warn(`Invalid metric name: "${name3}". The metric name should be a ASCII string with a length no greater than 255 characters.`);
}
return {
name: name3,
type: type2,
description: options?.description ?? "",
unit: options?.unit ?? "",
valueType: options?.valueType ?? api_1.ValueType.DOUBLE,
advice: options?.advice ?? {}
};
}
exports2.createInstrumentDescriptor = createInstrumentDescriptor;
function createInstrumentDescriptorWithView(view, instrument) {
return {
name: view.name ?? instrument.name,
description: view.description ?? instrument.description,
type: instrument.type,
unit: instrument.unit,
valueType: instrument.valueType,
advice: instrument.advice
};
}
exports2.createInstrumentDescriptorWithView = createInstrumentDescriptorWithView;
function isDescriptorCompatibleWith(descriptor2, otherDescriptor) {
return (0, utils_1.equalsCaseInsensitive)(descriptor2.name, otherDescriptor.name) && descriptor2.unit === otherDescriptor.unit && descriptor2.type === otherDescriptor.type && descriptor2.valueType === otherDescriptor.valueType;
}
exports2.isDescriptorCompatibleWith = isDescriptorCompatibleWith;
var NAME_REGEXP = /^[a-z][a-z0-9_.\-/]{0,254}$/i;
function isValidName(name3) {
return NAME_REGEXP.test(name3);
}
exports2.isValidName = isValidName;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js
var require_Instruments = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isObservableInstrument = exports2.ObservableUpDownCounterInstrument = exports2.ObservableGaugeInstrument = exports2.ObservableCounterInstrument = exports2.ObservableInstrument = exports2.HistogramInstrument = exports2.GaugeInstrument = exports2.CounterInstrument = exports2.UpDownCounterInstrument = exports2.SyncInstrument = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var SyncInstrument = class {
_writableMetricStorage;
_descriptor;
constructor(writableMetricStorage, descriptor2) {
this._writableMetricStorage = writableMetricStorage;
this._descriptor = descriptor2;
}
_record(value, attributes = {}, context2 = api_1.context.active()) {
if (typeof value !== "number") {
api_1.diag.warn(`non-number value provided to metric ${this._descriptor.name}: ${value}`);
return;
}
if (this._descriptor.valueType === api_1.ValueType.INT && !Number.isInteger(value)) {
api_1.diag.warn(`INT value type cannot accept a floating-point value for ${this._descriptor.name}, ignoring the fractional digits.`);
value = Math.trunc(value);
if (!Number.isInteger(value)) {
return;
}
}
this._writableMetricStorage.record(value, attributes, context2, (0, core_1.millisToHrTime)(Date.now()));
}
};
exports2.SyncInstrument = SyncInstrument;
var UpDownCounterInstrument = class extends SyncInstrument {
/**
* Increment value of counter by the input. Inputs may be negative.
*/
add(value, attributes, ctx) {
this._record(value, attributes, ctx);
}
};
exports2.UpDownCounterInstrument = UpDownCounterInstrument;
var CounterInstrument = class extends SyncInstrument {
/**
* Increment value of counter by the input. Inputs may not be negative.
*/
add(value, attributes, ctx) {
if (value < 0) {
api_1.diag.warn(`negative value provided to counter ${this._descriptor.name}: ${value}`);
return;
}
this._record(value, attributes, ctx);
}
};
exports2.CounterInstrument = CounterInstrument;
var GaugeInstrument = class extends SyncInstrument {
/**
* Records a measurement.
*/
record(value, attributes, ctx) {
this._record(value, attributes, ctx);
}
};
exports2.GaugeInstrument = GaugeInstrument;
var HistogramInstrument = class extends SyncInstrument {
/**
* Records a measurement. Value of the measurement must not be negative.
*/
record(value, attributes, ctx) {
if (value < 0) {
api_1.diag.warn(`negative value provided to histogram ${this._descriptor.name}: ${value}`);
return;
}
this._record(value, attributes, ctx);
}
};
exports2.HistogramInstrument = HistogramInstrument;
var ObservableInstrument = class {
/** @internal */
_metricStorages;
/** @internal */
_descriptor;
_observableRegistry;
constructor(descriptor2, metricStorages, observableRegistry) {
this._descriptor = descriptor2;
this._metricStorages = metricStorages;
this._observableRegistry = observableRegistry;
}
/**
* @see {Observable.addCallback}
*/
addCallback(callback) {
this._observableRegistry.addCallback(callback, this);
}
/**
* @see {Observable.removeCallback}
*/
removeCallback(callback) {
this._observableRegistry.removeCallback(callback, this);
}
};
exports2.ObservableInstrument = ObservableInstrument;
var ObservableCounterInstrument = class extends ObservableInstrument {
};
exports2.ObservableCounterInstrument = ObservableCounterInstrument;
var ObservableGaugeInstrument = class extends ObservableInstrument {
};
exports2.ObservableGaugeInstrument = ObservableGaugeInstrument;
var ObservableUpDownCounterInstrument = class extends ObservableInstrument {
};
exports2.ObservableUpDownCounterInstrument = ObservableUpDownCounterInstrument;
function isObservableInstrument(it) {
return it instanceof ObservableInstrument;
}
exports2.isObservableInstrument = isObservableInstrument;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js
var require_Meter = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/Meter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Meter = void 0;
var InstrumentDescriptor_1 = require_InstrumentDescriptor();
var Instruments_1 = require_Instruments();
var MetricData_1 = require_MetricData();
var Meter = class {
_meterSharedState;
constructor(meterSharedState) {
this._meterSharedState = meterSharedState;
}
/**
* Create a {@link Gauge} instrument.
*/
createGauge(name3, options) {
const descriptor2 = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(name3, MetricData_1.InstrumentType.GAUGE, options);
const storage2 = this._meterSharedState.registerMetricStorage(descriptor2);
return new Instruments_1.GaugeInstrument(storage2, descriptor2);
}
/**
* Create a {@link Histogram} instrument.
*/
createHistogram(name3, options) {
const descriptor2 = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(name3, MetricData_1.InstrumentType.HISTOGRAM, options);
const storage2 = this._meterSharedState.registerMetricStorage(descriptor2);
return new Instruments_1.HistogramInstrument(storage2, descriptor2);
}
/**
* Create a {@link Counter} instrument.
*/
createCounter(name3, options) {
const descriptor2 = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(name3, MetricData_1.InstrumentType.COUNTER, options);
const storage2 = this._meterSharedState.registerMetricStorage(descriptor2);
return new Instruments_1.CounterInstrument(storage2, descriptor2);
}
/**
* Create a {@link UpDownCounter} instrument.
*/
createUpDownCounter(name3, options) {
const descriptor2 = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(name3, MetricData_1.InstrumentType.UP_DOWN_COUNTER, options);
const storage2 = this._meterSharedState.registerMetricStorage(descriptor2);
return new Instruments_1.UpDownCounterInstrument(storage2, descriptor2);
}
/**
* Create a {@link ObservableGauge} instrument.
*/
createObservableGauge(name3, options) {
const descriptor2 = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(name3, MetricData_1.InstrumentType.OBSERVABLE_GAUGE, options);
const storages = this._meterSharedState.registerAsyncMetricStorage(descriptor2);
return new Instruments_1.ObservableGaugeInstrument(descriptor2, storages, this._meterSharedState.observableRegistry);
}
/**
* Create a {@link ObservableCounter} instrument.
*/
createObservableCounter(name3, options) {
const descriptor2 = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(name3, MetricData_1.InstrumentType.OBSERVABLE_COUNTER, options);
const storages = this._meterSharedState.registerAsyncMetricStorage(descriptor2);
return new Instruments_1.ObservableCounterInstrument(descriptor2, storages, this._meterSharedState.observableRegistry);
}
/**
* Create a {@link ObservableUpDownCounter} instrument.
*/
createObservableUpDownCounter(name3, options) {
const descriptor2 = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(name3, MetricData_1.InstrumentType.OBSERVABLE_UP_DOWN_COUNTER, options);
const storages = this._meterSharedState.registerAsyncMetricStorage(descriptor2);
return new Instruments_1.ObservableUpDownCounterInstrument(descriptor2, storages, this._meterSharedState.observableRegistry);
}
/**
* @see {@link Meter.addBatchObservableCallback}
*/
addBatchObservableCallback(callback, observables) {
this._meterSharedState.observableRegistry.addBatchCallback(callback, observables);
}
/**
* @see {@link Meter.removeBatchObservableCallback}
*/
removeBatchObservableCallback(callback, observables) {
this._meterSharedState.observableRegistry.removeBatchCallback(callback, observables);
}
};
exports2.Meter = Meter;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js
var require_MetricStorage = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MetricStorage = void 0;
var InstrumentDescriptor_1 = require_InstrumentDescriptor();
var MetricStorage = class {
_instrumentDescriptor;
constructor(instrumentDescriptor) {
this._instrumentDescriptor = instrumentDescriptor;
}
getInstrumentDescriptor() {
return this._instrumentDescriptor;
}
updateDescription(description) {
this._instrumentDescriptor = (0, InstrumentDescriptor_1.createInstrumentDescriptor)(this._instrumentDescriptor.name, this._instrumentDescriptor.type, {
description,
valueType: this._instrumentDescriptor.valueType,
unit: this._instrumentDescriptor.unit,
advice: this._instrumentDescriptor.advice
});
}
};
exports2.MetricStorage = MetricStorage;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js
var require_HashMap = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AttributeHashMap = exports2.HashMap = void 0;
var utils_1 = require_utils4();
var HashMap = class {
_valueMap = /* @__PURE__ */ new Map();
_keyMap = /* @__PURE__ */ new Map();
_hash;
constructor(hash) {
this._hash = hash;
}
get(key, hashCode) {
hashCode ??= this._hash(key);
return this._valueMap.get(hashCode);
}
getOrDefault(key, defaultFactory) {
const hash = this._hash(key);
if (this._valueMap.has(hash)) {
return this._valueMap.get(hash);
}
const val = defaultFactory();
if (!this._keyMap.has(hash)) {
this._keyMap.set(hash, key);
}
this._valueMap.set(hash, val);
return val;
}
set(key, value, hashCode) {
hashCode ??= this._hash(key);
if (!this._keyMap.has(hashCode)) {
this._keyMap.set(hashCode, key);
}
this._valueMap.set(hashCode, value);
}
has(key, hashCode) {
hashCode ??= this._hash(key);
return this._valueMap.has(hashCode);
}
*keys() {
const keyIterator = this._keyMap.entries();
let next = keyIterator.next();
while (next.done !== true) {
yield [next.value[1], next.value[0]];
next = keyIterator.next();
}
}
*entries() {
const valueIterator = this._valueMap.entries();
let next = valueIterator.next();
while (next.done !== true) {
yield [this._keyMap.get(next.value[0]), next.value[1], next.value[0]];
next = valueIterator.next();
}
}
get size() {
return this._valueMap.size;
}
};
exports2.HashMap = HashMap;
var AttributeHashMap = class extends HashMap {
constructor() {
super(utils_1.hashAttributes);
}
};
exports2.AttributeHashMap = AttributeHashMap;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js
var require_DeltaMetricProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DeltaMetricProcessor = void 0;
var utils_1 = require_utils4();
var HashMap_1 = require_HashMap();
var DeltaMetricProcessor = class {
_activeCollectionStorage = new HashMap_1.AttributeHashMap();
// TODO: find a reasonable mean to clean the memo;
// https://github.com/open-telemetry/opentelemetry-specification/pull/2208
_cumulativeMemoStorage = new HashMap_1.AttributeHashMap();
_cardinalityLimit;
_overflowAttributes = { "otel.metric.overflow": true };
_overflowHashCode;
_aggregator;
constructor(aggregator, aggregationCardinalityLimit) {
this._aggregator = aggregator;
this._cardinalityLimit = (aggregationCardinalityLimit ?? 2e3) - 1;
this._overflowHashCode = (0, utils_1.hashAttributes)(this._overflowAttributes);
}
record(value, attributes, _context, collectionTime) {
let accumulation = this._activeCollectionStorage.get(attributes);
if (!accumulation) {
if (this._activeCollectionStorage.size >= this._cardinalityLimit) {
const overflowAccumulation = this._activeCollectionStorage.getOrDefault(this._overflowAttributes, () => this._aggregator.createAccumulation(collectionTime));
overflowAccumulation?.record(value);
return;
}
accumulation = this._aggregator.createAccumulation(collectionTime);
this._activeCollectionStorage.set(attributes, accumulation);
}
accumulation?.record(value);
}
batchCumulate(measurements, collectionTime) {
Array.from(measurements.entries()).forEach(([attributes, value, hashCode]) => {
const accumulation = this._aggregator.createAccumulation(collectionTime);
accumulation?.record(value);
let delta = accumulation;
if (this._cumulativeMemoStorage.has(attributes, hashCode)) {
const previous = this._cumulativeMemoStorage.get(attributes, hashCode);
delta = this._aggregator.diff(previous, accumulation);
} else {
if (this._cumulativeMemoStorage.size >= this._cardinalityLimit) {
attributes = this._overflowAttributes;
hashCode = this._overflowHashCode;
if (this._cumulativeMemoStorage.has(attributes, hashCode)) {
const previous = this._cumulativeMemoStorage.get(attributes, hashCode);
delta = this._aggregator.diff(previous, accumulation);
}
}
}
if (this._activeCollectionStorage.has(attributes, hashCode)) {
const active = this._activeCollectionStorage.get(attributes, hashCode);
delta = this._aggregator.merge(active, delta);
}
this._cumulativeMemoStorage.set(attributes, accumulation, hashCode);
this._activeCollectionStorage.set(attributes, delta, hashCode);
});
}
/**
* Returns a collection of delta metrics. Start time is the when first
* time event collected.
*/
collect() {
const unreportedDelta = this._activeCollectionStorage;
this._activeCollectionStorage = new HashMap_1.AttributeHashMap();
return unreportedDelta;
}
};
exports2.DeltaMetricProcessor = DeltaMetricProcessor;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js
var require_TemporalMetricProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TemporalMetricProcessor = void 0;
var AggregationTemporality_1 = require_AggregationTemporality();
var HashMap_1 = require_HashMap();
var TemporalMetricProcessor = class _TemporalMetricProcessor {
_aggregator;
_unreportedAccumulations = /* @__PURE__ */ new Map();
_reportHistory = /* @__PURE__ */ new Map();
constructor(aggregator, collectorHandles) {
this._aggregator = aggregator;
collectorHandles.forEach((handle2) => {
this._unreportedAccumulations.set(handle2, []);
});
}
/**
* Builds the {@link MetricData} streams to report against a specific MetricCollector.
* @param collector The information of the MetricCollector.
* @param collectors The registered collectors.
* @param instrumentDescriptor The instrumentation descriptor that these metrics generated with.
* @param currentAccumulations The current accumulation of metric data from instruments.
* @param collectionTime The current collection timestamp.
* @returns The {@link MetricData} points or `null`.
*/
buildMetrics(collector, instrumentDescriptor, currentAccumulations, collectionTime) {
this._stashAccumulations(currentAccumulations);
const unreportedAccumulations = this._getMergedUnreportedAccumulations(collector);
let result2 = unreportedAccumulations;
let aggregationTemporality;
if (this._reportHistory.has(collector)) {
const last2 = this._reportHistory.get(collector);
const lastCollectionTime = last2.collectionTime;
aggregationTemporality = last2.aggregationTemporality;
if (aggregationTemporality === AggregationTemporality_1.AggregationTemporality.CUMULATIVE) {
result2 = _TemporalMetricProcessor.merge(last2.accumulations, unreportedAccumulations, this._aggregator);
} else {
result2 = _TemporalMetricProcessor.calibrateStartTime(last2.accumulations, unreportedAccumulations, lastCollectionTime);
}
} else {
aggregationTemporality = collector.selectAggregationTemporality(instrumentDescriptor.type);
}
this._reportHistory.set(collector, {
accumulations: result2,
collectionTime,
aggregationTemporality
});
const accumulationRecords = AttributesMapToAccumulationRecords(result2);
if (accumulationRecords.length === 0) {
return void 0;
}
return this._aggregator.toMetricData(
instrumentDescriptor,
aggregationTemporality,
accumulationRecords,
/* endTime */
collectionTime
);
}
_stashAccumulations(currentAccumulation) {
const registeredCollectors = this._unreportedAccumulations.keys();
for (const collector of registeredCollectors) {
let stash = this._unreportedAccumulations.get(collector);
if (stash === void 0) {
stash = [];
this._unreportedAccumulations.set(collector, stash);
}
stash.push(currentAccumulation);
}
}
_getMergedUnreportedAccumulations(collector) {
let result2 = new HashMap_1.AttributeHashMap();
const unreportedList = this._unreportedAccumulations.get(collector);
this._unreportedAccumulations.set(collector, []);
if (unreportedList === void 0) {
return result2;
}
for (const it of unreportedList) {
result2 = _TemporalMetricProcessor.merge(result2, it, this._aggregator);
}
return result2;
}
static merge(last2, current, aggregator) {
const result2 = last2;
const iterator = current.entries();
let next = iterator.next();
while (next.done !== true) {
const [key, record2, hash] = next.value;
if (last2.has(key, hash)) {
const lastAccumulation = last2.get(key, hash);
const accumulation = aggregator.merge(lastAccumulation, record2);
result2.set(key, accumulation, hash);
} else {
result2.set(key, record2, hash);
}
next = iterator.next();
}
return result2;
}
/**
* Calibrate the reported metric streams' startTime to lastCollectionTime. Leaves
* the new stream to be the initial observation time unchanged.
*/
static calibrateStartTime(last2, current, lastCollectionTime) {
for (const [key, hash] of last2.keys()) {
const currentAccumulation = current.get(key, hash);
currentAccumulation?.setStartTime(lastCollectionTime);
}
return current;
}
};
exports2.TemporalMetricProcessor = TemporalMetricProcessor;
function AttributesMapToAccumulationRecords(map4) {
return Array.from(map4.entries());
}
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js
var require_AsyncMetricStorage = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AsyncMetricStorage = void 0;
var MetricStorage_1 = require_MetricStorage();
var DeltaMetricProcessor_1 = require_DeltaMetricProcessor();
var TemporalMetricProcessor_1 = require_TemporalMetricProcessor();
var HashMap_1 = require_HashMap();
var AsyncMetricStorage = class extends MetricStorage_1.MetricStorage {
_aggregationCardinalityLimit;
_deltaMetricStorage;
_temporalMetricStorage;
_attributesProcessor;
constructor(_instrumentDescriptor, aggregator, attributesProcessor, collectorHandles, aggregationCardinalityLimit) {
super(_instrumentDescriptor);
this._aggregationCardinalityLimit = aggregationCardinalityLimit;
this._deltaMetricStorage = new DeltaMetricProcessor_1.DeltaMetricProcessor(aggregator, this._aggregationCardinalityLimit);
this._temporalMetricStorage = new TemporalMetricProcessor_1.TemporalMetricProcessor(aggregator, collectorHandles);
this._attributesProcessor = attributesProcessor;
}
record(measurements, observationTime) {
const processed = new HashMap_1.AttributeHashMap();
Array.from(measurements.entries()).forEach(([attributes, value]) => {
processed.set(this._attributesProcessor.process(attributes), value);
});
this._deltaMetricStorage.batchCumulate(processed, observationTime);
}
/**
* Collects the metrics from this storage. The ObservableCallback is invoked
* during the collection.
*
* Note: This is a stateful operation and may reset any interval-related
* state for the MetricCollector.
*/
collect(collector, collectionTime) {
const accumulations = this._deltaMetricStorage.collect();
return this._temporalMetricStorage.buildMetrics(collector, this._instrumentDescriptor, accumulations, collectionTime);
}
};
exports2.AsyncMetricStorage = AsyncMetricStorage;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/RegistrationConflicts.js
var require_RegistrationConflicts = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/RegistrationConflicts.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getConflictResolutionRecipe = exports2.getDescriptionResolutionRecipe = exports2.getTypeConflictResolutionRecipe = exports2.getUnitConflictResolutionRecipe = exports2.getValueTypeConflictResolutionRecipe = exports2.getIncompatibilityDetails = void 0;
function getIncompatibilityDetails(existing, otherDescriptor) {
let incompatibility = "";
if (existing.unit !== otherDescriptor.unit) {
incompatibility += ` - Unit '${existing.unit}' does not match '${otherDescriptor.unit}'
`;
}
if (existing.type !== otherDescriptor.type) {
incompatibility += ` - Type '${existing.type}' does not match '${otherDescriptor.type}'
`;
}
if (existing.valueType !== otherDescriptor.valueType) {
incompatibility += ` - Value Type '${existing.valueType}' does not match '${otherDescriptor.valueType}'
`;
}
if (existing.description !== otherDescriptor.description) {
incompatibility += ` - Description '${existing.description}' does not match '${otherDescriptor.description}'
`;
}
return incompatibility;
}
exports2.getIncompatibilityDetails = getIncompatibilityDetails;
function getValueTypeConflictResolutionRecipe(existing, otherDescriptor) {
return ` - use valueType '${existing.valueType}' on instrument creation or use an instrument name other than '${otherDescriptor.name}'`;
}
exports2.getValueTypeConflictResolutionRecipe = getValueTypeConflictResolutionRecipe;
function getUnitConflictResolutionRecipe(existing, otherDescriptor) {
return ` - use unit '${existing.unit}' on instrument creation or use an instrument name other than '${otherDescriptor.name}'`;
}
exports2.getUnitConflictResolutionRecipe = getUnitConflictResolutionRecipe;
function getTypeConflictResolutionRecipe(existing, otherDescriptor) {
const selector = {
name: otherDescriptor.name,
type: otherDescriptor.type,
unit: otherDescriptor.unit
};
const selectorString = JSON.stringify(selector);
return ` - create a new view with a name other than '${existing.name}' and InstrumentSelector '${selectorString}'`;
}
exports2.getTypeConflictResolutionRecipe = getTypeConflictResolutionRecipe;
function getDescriptionResolutionRecipe(existing, otherDescriptor) {
const selector = {
name: otherDescriptor.name,
type: otherDescriptor.type,
unit: otherDescriptor.unit
};
const selectorString = JSON.stringify(selector);
return ` - create a new view with a name other than '${existing.name}' and InstrumentSelector '${selectorString}'
- OR - create a new view with the name ${existing.name} and description '${existing.description}' and InstrumentSelector ${selectorString}
- OR - create a new view with the name ${otherDescriptor.name} and description '${existing.description}' and InstrumentSelector ${selectorString}`;
}
exports2.getDescriptionResolutionRecipe = getDescriptionResolutionRecipe;
function getConflictResolutionRecipe(existing, otherDescriptor) {
if (existing.valueType !== otherDescriptor.valueType) {
return getValueTypeConflictResolutionRecipe(existing, otherDescriptor);
}
if (existing.unit !== otherDescriptor.unit) {
return getUnitConflictResolutionRecipe(existing, otherDescriptor);
}
if (existing.type !== otherDescriptor.type) {
return getTypeConflictResolutionRecipe(existing, otherDescriptor);
}
if (existing.description !== otherDescriptor.description) {
return getDescriptionResolutionRecipe(existing, otherDescriptor);
}
return "";
}
exports2.getConflictResolutionRecipe = getConflictResolutionRecipe;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorageRegistry.js
var require_MetricStorageRegistry = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorageRegistry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MetricStorageRegistry = void 0;
var InstrumentDescriptor_1 = require_InstrumentDescriptor();
var api = (init_esm(), __toCommonJS(esm_exports));
var RegistrationConflicts_1 = require_RegistrationConflicts();
var MetricStorageRegistry = class _MetricStorageRegistry {
_sharedRegistry = /* @__PURE__ */ new Map();
_perCollectorRegistry = /* @__PURE__ */ new Map();
static create() {
return new _MetricStorageRegistry();
}
getStorages(collector) {
let storages = [];
for (const metricStorages of this._sharedRegistry.values()) {
storages = storages.concat(metricStorages);
}
const perCollectorStorages = this._perCollectorRegistry.get(collector);
if (perCollectorStorages != null) {
for (const metricStorages of perCollectorStorages.values()) {
storages = storages.concat(metricStorages);
}
}
return storages;
}
register(storage2) {
this._registerStorage(storage2, this._sharedRegistry);
}
registerForCollector(collector, storage2) {
let storageMap = this._perCollectorRegistry.get(collector);
if (storageMap == null) {
storageMap = /* @__PURE__ */ new Map();
this._perCollectorRegistry.set(collector, storageMap);
}
this._registerStorage(storage2, storageMap);
}
findOrUpdateCompatibleStorage(expectedDescriptor) {
const storages = this._sharedRegistry.get(expectedDescriptor.name);
if (storages === void 0) {
return null;
}
return this._findOrUpdateCompatibleStorage(expectedDescriptor, storages);
}
findOrUpdateCompatibleCollectorStorage(collector, expectedDescriptor) {
const storageMap = this._perCollectorRegistry.get(collector);
if (storageMap === void 0) {
return null;
}
const storages = storageMap.get(expectedDescriptor.name);
if (storages === void 0) {
return null;
}
return this._findOrUpdateCompatibleStorage(expectedDescriptor, storages);
}
_registerStorage(storage2, storageMap) {
const descriptor2 = storage2.getInstrumentDescriptor();
const storages = storageMap.get(descriptor2.name);
if (storages === void 0) {
storageMap.set(descriptor2.name, [storage2]);
return;
}
storages.push(storage2);
}
_findOrUpdateCompatibleStorage(expectedDescriptor, existingStorages) {
let compatibleStorage = null;
for (const existingStorage of existingStorages) {
const existingDescriptor = existingStorage.getInstrumentDescriptor();
if ((0, InstrumentDescriptor_1.isDescriptorCompatibleWith)(existingDescriptor, expectedDescriptor)) {
if (existingDescriptor.description !== expectedDescriptor.description) {
if (expectedDescriptor.description.length > existingDescriptor.description.length) {
existingStorage.updateDescription(expectedDescriptor.description);
}
api.diag.warn("A view or instrument with the name ", expectedDescriptor.name, " has already been registered, but has a different description and is incompatible with another registered view.\n", "Details:\n", (0, RegistrationConflicts_1.getIncompatibilityDetails)(existingDescriptor, expectedDescriptor), "The longer description will be used.\nTo resolve the conflict:", (0, RegistrationConflicts_1.getConflictResolutionRecipe)(existingDescriptor, expectedDescriptor));
}
compatibleStorage = existingStorage;
} else {
api.diag.warn("A view or instrument with the name ", expectedDescriptor.name, " has already been registered and is incompatible with another registered view.\n", "Details:\n", (0, RegistrationConflicts_1.getIncompatibilityDetails)(existingDescriptor, expectedDescriptor), "To resolve the conflict:\n", (0, RegistrationConflicts_1.getConflictResolutionRecipe)(existingDescriptor, expectedDescriptor));
}
}
return compatibleStorage;
}
};
exports2.MetricStorageRegistry = MetricStorageRegistry;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js
var require_MultiWritableMetricStorage = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MultiMetricStorage = void 0;
var MultiMetricStorage = class {
_backingStorages;
constructor(backingStorages) {
this._backingStorages = backingStorages;
}
record(value, attributes, context2, recordTime) {
this._backingStorages.forEach((it) => {
it.record(value, attributes, context2, recordTime);
});
}
};
exports2.MultiMetricStorage = MultiMetricStorage;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js
var require_ObservableResult = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BatchObservableResultImpl = exports2.ObservableResultImpl = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var HashMap_1 = require_HashMap();
var Instruments_1 = require_Instruments();
var ObservableResultImpl = class {
/**
* @internal
*/
_buffer = new HashMap_1.AttributeHashMap();
_instrumentName;
_valueType;
constructor(instrumentName, valueType) {
this._instrumentName = instrumentName;
this._valueType = valueType;
}
/**
* Observe a measurement of the value associated with the given attributes.
*/
observe(value, attributes = {}) {
if (typeof value !== "number") {
api_1.diag.warn(`non-number value provided to metric ${this._instrumentName}: ${value}`);
return;
}
if (this._valueType === api_1.ValueType.INT && !Number.isInteger(value)) {
api_1.diag.warn(`INT value type cannot accept a floating-point value for ${this._instrumentName}, ignoring the fractional digits.`);
value = Math.trunc(value);
if (!Number.isInteger(value)) {
return;
}
}
this._buffer.set(attributes, value);
}
};
exports2.ObservableResultImpl = ObservableResultImpl;
var BatchObservableResultImpl = class {
/**
* @internal
*/
_buffer = /* @__PURE__ */ new Map();
/**
* Observe a measurement of the value associated with the given attributes.
*/
observe(metric, value, attributes = {}) {
if (!(0, Instruments_1.isObservableInstrument)(metric)) {
return;
}
let map4 = this._buffer.get(metric);
if (map4 == null) {
map4 = new HashMap_1.AttributeHashMap();
this._buffer.set(metric, map4);
}
if (typeof value !== "number") {
api_1.diag.warn(`non-number value provided to metric ${metric._descriptor.name}: ${value}`);
return;
}
if (metric._descriptor.valueType === api_1.ValueType.INT && !Number.isInteger(value)) {
api_1.diag.warn(`INT value type cannot accept a floating-point value for ${metric._descriptor.name}, ignoring the fractional digits.`);
value = Math.trunc(value);
if (!Number.isInteger(value)) {
return;
}
}
map4.set(attributes, value);
}
};
exports2.BatchObservableResultImpl = BatchObservableResultImpl;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js
var require_ObservableRegistry = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ObservableRegistry = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var Instruments_1 = require_Instruments();
var ObservableResult_1 = require_ObservableResult();
var utils_1 = require_utils4();
var ObservableRegistry = class {
_callbacks = [];
_batchCallbacks = [];
addCallback(callback, instrument) {
const idx = this._findCallback(callback, instrument);
if (idx >= 0) {
return;
}
this._callbacks.push({ callback, instrument });
}
removeCallback(callback, instrument) {
const idx = this._findCallback(callback, instrument);
if (idx < 0) {
return;
}
this._callbacks.splice(idx, 1);
}
addBatchCallback(callback, instruments) {
const observableInstruments = new Set(instruments.filter(Instruments_1.isObservableInstrument));
if (observableInstruments.size === 0) {
api_1.diag.error("BatchObservableCallback is not associated with valid instruments", instruments);
return;
}
const idx = this._findBatchCallback(callback, observableInstruments);
if (idx >= 0) {
return;
}
this._batchCallbacks.push({ callback, instruments: observableInstruments });
}
removeBatchCallback(callback, instruments) {
const observableInstruments = new Set(instruments.filter(Instruments_1.isObservableInstrument));
const idx = this._findBatchCallback(callback, observableInstruments);
if (idx < 0) {
return;
}
this._batchCallbacks.splice(idx, 1);
}
/**
* @returns a promise of rejected reasons for invoking callbacks.
*/
async observe(collectionTime, timeoutMillis) {
const callbackFutures = this._observeCallbacks(collectionTime, timeoutMillis);
const batchCallbackFutures = this._observeBatchCallbacks(collectionTime, timeoutMillis);
const results = await Promise.allSettled([
...callbackFutures,
...batchCallbackFutures
]);
const rejections = results.filter((result2) => result2.status === "rejected").map((result2) => result2.reason);
return rejections;
}
_observeCallbacks(observationTime, timeoutMillis) {
return this._callbacks.map(async ({ callback, instrument }) => {
const observableResult = new ObservableResult_1.ObservableResultImpl(instrument._descriptor.name, instrument._descriptor.valueType);
let callPromise = Promise.resolve(callback(observableResult));
if (timeoutMillis != null) {
callPromise = (0, utils_1.callWithTimeout)(callPromise, timeoutMillis);
}
await callPromise;
instrument._metricStorages.forEach((metricStorage) => {
metricStorage.record(observableResult._buffer, observationTime);
});
});
}
_observeBatchCallbacks(observationTime, timeoutMillis) {
return this._batchCallbacks.map(async ({ callback, instruments }) => {
const observableResult = new ObservableResult_1.BatchObservableResultImpl();
let callPromise = Promise.resolve(callback(observableResult));
if (timeoutMillis != null) {
callPromise = (0, utils_1.callWithTimeout)(callPromise, timeoutMillis);
}
await callPromise;
instruments.forEach((instrument) => {
const buffer = observableResult._buffer.get(instrument);
if (buffer == null) {
return;
}
instrument._metricStorages.forEach((metricStorage) => {
metricStorage.record(buffer, observationTime);
});
});
});
}
_findCallback(callback, instrument) {
return this._callbacks.findIndex((record2) => {
return record2.callback === callback && record2.instrument === instrument;
});
}
_findBatchCallback(callback, instruments) {
return this._batchCallbacks.findIndex((record2) => {
return record2.callback === callback && (0, utils_1.setEquals)(record2.instruments, instruments);
});
}
};
exports2.ObservableRegistry = ObservableRegistry;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js
var require_SyncMetricStorage = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SyncMetricStorage = void 0;
var MetricStorage_1 = require_MetricStorage();
var DeltaMetricProcessor_1 = require_DeltaMetricProcessor();
var TemporalMetricProcessor_1 = require_TemporalMetricProcessor();
var SyncMetricStorage = class extends MetricStorage_1.MetricStorage {
_aggregationCardinalityLimit;
_deltaMetricStorage;
_temporalMetricStorage;
_attributesProcessor;
constructor(instrumentDescriptor, aggregator, attributesProcessor, collectorHandles, aggregationCardinalityLimit) {
super(instrumentDescriptor);
this._aggregationCardinalityLimit = aggregationCardinalityLimit;
this._deltaMetricStorage = new DeltaMetricProcessor_1.DeltaMetricProcessor(aggregator, this._aggregationCardinalityLimit);
this._temporalMetricStorage = new TemporalMetricProcessor_1.TemporalMetricProcessor(aggregator, collectorHandles);
this._attributesProcessor = attributesProcessor;
}
record(value, attributes, context2, recordTime) {
attributes = this._attributesProcessor.process(attributes, context2);
this._deltaMetricStorage.record(value, attributes, context2, recordTime);
}
/**
* Collects the metrics from this storage.
*
* Note: This is a stateful operation and may reset any interval-related
* state for the MetricCollector.
*/
collect(collector, collectionTime) {
const accumulations = this._deltaMetricStorage.collect();
return this._temporalMetricStorage.buildMetrics(collector, this._instrumentDescriptor, accumulations, collectionTime);
}
};
exports2.SyncMetricStorage = SyncMetricStorage;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js
var require_AttributesProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createDenyListAttributesProcessor = exports2.createAllowListAttributesProcessor = exports2.createMultiAttributesProcessor = exports2.createNoopAttributesProcessor = void 0;
var NoopAttributesProcessor = class {
process(incoming, _context) {
return incoming;
}
};
var MultiAttributesProcessor = class {
_processors;
constructor(processors) {
this._processors = processors;
}
process(incoming, context2) {
let filteredAttributes = incoming;
for (const processor of this._processors) {
filteredAttributes = processor.process(filteredAttributes, context2);
}
return filteredAttributes;
}
};
var AllowListProcessor = class {
_allowedAttributeNames;
constructor(allowedAttributeNames) {
this._allowedAttributeNames = allowedAttributeNames;
}
process(incoming, _context) {
const filteredAttributes = {};
Object.keys(incoming).forEach((attributeName) => {
if (this._allowedAttributeNames.includes(attributeName)) {
filteredAttributes[attributeName] = incoming[attributeName];
}
});
return filteredAttributes;
}
};
var DenyListProcessor = class {
_deniedAttributeNames;
constructor(deniedAttributeNames) {
this._deniedAttributeNames = deniedAttributeNames;
}
process(incoming, _context) {
const filteredAttributes = {};
Object.keys(incoming).forEach((attributeName) => {
if (!this._deniedAttributeNames.includes(attributeName)) {
filteredAttributes[attributeName] = incoming[attributeName];
}
});
return filteredAttributes;
}
};
function createNoopAttributesProcessor() {
return NOOP2;
}
exports2.createNoopAttributesProcessor = createNoopAttributesProcessor;
function createMultiAttributesProcessor(processors) {
return new MultiAttributesProcessor(processors);
}
exports2.createMultiAttributesProcessor = createMultiAttributesProcessor;
function createAllowListAttributesProcessor(attributeAllowList) {
return new AllowListProcessor(attributeAllowList);
}
exports2.createAllowListAttributesProcessor = createAllowListAttributesProcessor;
function createDenyListAttributesProcessor(attributeDenyList) {
return new DenyListProcessor(attributeDenyList);
}
exports2.createDenyListAttributesProcessor = createDenyListAttributesProcessor;
var NOOP2 = new NoopAttributesProcessor();
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js
var require_MeterSharedState = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MeterSharedState = void 0;
var InstrumentDescriptor_1 = require_InstrumentDescriptor();
var Meter_1 = require_Meter();
var AsyncMetricStorage_1 = require_AsyncMetricStorage();
var MetricStorageRegistry_1 = require_MetricStorageRegistry();
var MultiWritableMetricStorage_1 = require_MultiWritableMetricStorage();
var ObservableRegistry_1 = require_ObservableRegistry();
var SyncMetricStorage_1 = require_SyncMetricStorage();
var AttributesProcessor_1 = require_AttributesProcessor();
var MeterSharedState = class {
metricStorageRegistry = new MetricStorageRegistry_1.MetricStorageRegistry();
observableRegistry = new ObservableRegistry_1.ObservableRegistry();
meter;
_meterProviderSharedState;
_instrumentationScope;
constructor(meterProviderSharedState, instrumentationScope) {
this.meter = new Meter_1.Meter(this);
this._meterProviderSharedState = meterProviderSharedState;
this._instrumentationScope = instrumentationScope;
}
registerMetricStorage(descriptor2) {
const storages = this._registerMetricStorage(descriptor2, SyncMetricStorage_1.SyncMetricStorage);
if (storages.length === 1) {
return storages[0];
}
return new MultiWritableMetricStorage_1.MultiMetricStorage(storages);
}
registerAsyncMetricStorage(descriptor2) {
const storages = this._registerMetricStorage(descriptor2, AsyncMetricStorage_1.AsyncMetricStorage);
return storages;
}
/**
* @param collector opaque handle of {@link MetricCollector} which initiated the collection.
* @param collectionTime the HrTime at which the collection was initiated.
* @param options options for collection.
* @returns the list of metric data collected.
*/
async collect(collector, collectionTime, options) {
const errors = await this.observableRegistry.observe(collectionTime, options?.timeoutMillis);
const storages = this.metricStorageRegistry.getStorages(collector);
if (storages.length === 0) {
return null;
}
const metricDataList = [];
storages.forEach((metricStorage) => {
const metricData = metricStorage.collect(collector, collectionTime);
if (metricData != null) {
metricDataList.push(metricData);
}
});
if (metricDataList.length === 0) {
return { errors };
}
return {
scopeMetrics: {
scope: this._instrumentationScope,
metrics: metricDataList
},
errors
};
}
_registerMetricStorage(descriptor2, MetricStorageType) {
const views = this._meterProviderSharedState.viewRegistry.findViews(descriptor2, this._instrumentationScope);
let storages = views.map((view) => {
const viewDescriptor = (0, InstrumentDescriptor_1.createInstrumentDescriptorWithView)(view, descriptor2);
const compatibleStorage = this.metricStorageRegistry.findOrUpdateCompatibleStorage(viewDescriptor);
if (compatibleStorage != null) {
return compatibleStorage;
}
const aggregator = view.aggregation.createAggregator(viewDescriptor);
const viewStorage = new MetricStorageType(viewDescriptor, aggregator, view.attributesProcessor, this._meterProviderSharedState.metricCollectors, view.aggregationCardinalityLimit);
this.metricStorageRegistry.register(viewStorage);
return viewStorage;
});
if (storages.length === 0) {
const perCollectorAggregations = this._meterProviderSharedState.selectAggregations(descriptor2.type);
const collectorStorages = perCollectorAggregations.map(([collector, aggregation]) => {
const compatibleStorage = this.metricStorageRegistry.findOrUpdateCompatibleCollectorStorage(collector, descriptor2);
if (compatibleStorage != null) {
return compatibleStorage;
}
const aggregator = aggregation.createAggregator(descriptor2);
const cardinalityLimit = collector.selectCardinalityLimit(descriptor2.type);
const storage2 = new MetricStorageType(descriptor2, aggregator, (0, AttributesProcessor_1.createNoopAttributesProcessor)(), [collector], cardinalityLimit);
this.metricStorageRegistry.registerForCollector(collector, storage2);
return storage2;
});
storages = storages.concat(collectorStorages);
}
return storages;
}
};
exports2.MeterSharedState = MeterSharedState;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js
var require_MeterProviderSharedState = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MeterProviderSharedState = void 0;
var utils_1 = require_utils4();
var ViewRegistry_1 = require_ViewRegistry();
var MeterSharedState_1 = require_MeterSharedState();
var AggregationOption_1 = require_AggregationOption();
var MeterProviderSharedState = class {
viewRegistry = new ViewRegistry_1.ViewRegistry();
metricCollectors = [];
meterSharedStates = /* @__PURE__ */ new Map();
resource;
constructor(resource) {
this.resource = resource;
}
getMeterSharedState(instrumentationScope) {
const id = (0, utils_1.instrumentationScopeId)(instrumentationScope);
let meterSharedState = this.meterSharedStates.get(id);
if (meterSharedState == null) {
meterSharedState = new MeterSharedState_1.MeterSharedState(this, instrumentationScope);
this.meterSharedStates.set(id, meterSharedState);
}
return meterSharedState;
}
selectAggregations(instrumentType) {
const result2 = [];
for (const collector of this.metricCollectors) {
result2.push([
collector,
(0, AggregationOption_1.toAggregation)(collector.selectAggregation(instrumentType))
]);
}
return result2;
}
};
exports2.MeterProviderSharedState = MeterProviderSharedState;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js
var require_MetricCollector = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MetricCollector = void 0;
var core_1 = require_src8();
var MetricCollector = class {
_sharedState;
_metricReader;
constructor(sharedState, metricReader2) {
this._sharedState = sharedState;
this._metricReader = metricReader2;
}
async collect(options) {
const collectionTime = (0, core_1.millisToHrTime)(Date.now());
const scopeMetrics = [];
const errors = [];
const meterCollectionPromises = Array.from(this._sharedState.meterSharedStates.values()).map(async (meterSharedState) => {
const current = await meterSharedState.collect(this, collectionTime, options);
if (current?.scopeMetrics != null) {
scopeMetrics.push(current.scopeMetrics);
}
if (current?.errors != null) {
errors.push(...current.errors);
}
});
await Promise.all(meterCollectionPromises);
return {
resourceMetrics: {
resource: this._sharedState.resource,
scopeMetrics
},
errors
};
}
/**
* Delegates for MetricReader.forceFlush.
*/
async forceFlush(options) {
await this._metricReader.forceFlush(options);
}
/**
* Delegates for MetricReader.shutdown.
*/
async shutdown(options) {
await this._metricReader.shutdown(options);
}
selectAggregationTemporality(instrumentType) {
return this._metricReader.selectAggregationTemporality(instrumentType);
}
selectAggregation(instrumentType) {
return this._metricReader.selectAggregation(instrumentType);
}
/**
* Select the cardinality limit for the given {@link InstrumentType} for this
* collector.
*/
selectCardinalityLimit(instrumentType) {
return this._metricReader.selectCardinalityLimit?.(instrumentType) ?? 2e3;
}
};
exports2.MetricCollector = MetricCollector;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/Predicate.js
var require_Predicate = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/Predicate.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ExactPredicate = exports2.PatternPredicate = void 0;
var ESCAPE = /[\^$\\.+?()[\]{}|]/g;
var PatternPredicate = class _PatternPredicate {
_matchAll;
_regexp;
constructor(pattern) {
if (pattern === "*") {
this._matchAll = true;
this._regexp = /.*/;
} else {
this._matchAll = false;
this._regexp = new RegExp(_PatternPredicate.escapePattern(pattern));
}
}
match(str2) {
if (this._matchAll) {
return true;
}
return this._regexp.test(str2);
}
static escapePattern(pattern) {
return `^${pattern.replace(ESCAPE, "\\$&").replace("*", ".*")}$`;
}
static hasWildcard(pattern) {
return pattern.includes("*");
}
};
exports2.PatternPredicate = PatternPredicate;
var ExactPredicate = class {
_matchAll;
_pattern;
constructor(pattern) {
this._matchAll = pattern === void 0;
this._pattern = pattern;
}
match(str2) {
if (this._matchAll) {
return true;
}
if (str2 === this._pattern) {
return true;
}
return false;
}
};
exports2.ExactPredicate = ExactPredicate;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.js
var require_InstrumentSelector = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InstrumentSelector = void 0;
var Predicate_1 = require_Predicate();
var InstrumentSelector = class {
_nameFilter;
_type;
_unitFilter;
constructor(criteria) {
this._nameFilter = new Predicate_1.PatternPredicate(criteria?.name ?? "*");
this._type = criteria?.type;
this._unitFilter = new Predicate_1.ExactPredicate(criteria?.unit);
}
getType() {
return this._type;
}
getNameFilter() {
return this._nameFilter;
}
getUnitFilter() {
return this._unitFilter;
}
};
exports2.InstrumentSelector = InstrumentSelector;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/MeterSelector.js
var require_MeterSelector = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/MeterSelector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MeterSelector = void 0;
var Predicate_1 = require_Predicate();
var MeterSelector = class {
_nameFilter;
_versionFilter;
_schemaUrlFilter;
constructor(criteria) {
this._nameFilter = new Predicate_1.ExactPredicate(criteria?.name);
this._versionFilter = new Predicate_1.ExactPredicate(criteria?.version);
this._schemaUrlFilter = new Predicate_1.ExactPredicate(criteria?.schemaUrl);
}
getNameFilter() {
return this._nameFilter;
}
/**
* TODO: semver filter? no spec yet.
*/
getVersionFilter() {
return this._versionFilter;
}
getSchemaUrlFilter() {
return this._schemaUrlFilter;
}
};
exports2.MeterSelector = MeterSelector;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/view/View.js
var require_View = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/view/View.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.View = void 0;
var Predicate_1 = require_Predicate();
var AttributesProcessor_1 = require_AttributesProcessor();
var InstrumentSelector_1 = require_InstrumentSelector();
var MeterSelector_1 = require_MeterSelector();
var AggregationOption_1 = require_AggregationOption();
function isSelectorNotProvided(options) {
return options.instrumentName == null && options.instrumentType == null && options.instrumentUnit == null && options.meterName == null && options.meterVersion == null && options.meterSchemaUrl == null;
}
function validateViewOptions(viewOptions) {
if (isSelectorNotProvided(viewOptions)) {
throw new Error("Cannot create view with no selector arguments supplied");
}
if (viewOptions.name != null && (viewOptions?.instrumentName == null || Predicate_1.PatternPredicate.hasWildcard(viewOptions.instrumentName))) {
throw new Error("Views with a specified name must be declared with an instrument selector that selects at most one instrument per meter.");
}
}
var View = class {
name;
description;
aggregation;
attributesProcessor;
instrumentSelector;
meterSelector;
aggregationCardinalityLimit;
/**
* Create a new {@link View} instance.
*
* Parameters can be categorized as two types:
* Instrument selection criteria: Used to describe the instrument(s) this view will be applied to.
* Will be treated as additive (the Instrument has to meet all the provided criteria to be selected).
*
* Metric stream altering: Alter the metric stream of instruments selected by instrument selection criteria.
*
* @param viewOptions {@link ViewOptions} for altering the metric stream and instrument selection.
* @param viewOptions.name
* Alters the metric stream:
* This will be used as the name of the metrics stream.
* If not provided, the original Instrument name will be used.
* @param viewOptions.description
* Alters the metric stream:
* This will be used as the description of the metrics stream.
* If not provided, the original Instrument description will be used by default.
* @param viewOptions.attributesProcessors
* Alters the metric stream:
* If provided, the attributes will be modified as defined by the added processors.
* If not provided, all attribute keys will be used by default.
* @param viewOptions.aggregationCardinalityLimit
* Alters the metric stream:
* Sets a limit on the number of unique attribute combinations (cardinality) that can be aggregated.
* If not provided, the default limit of 2000 will be used.
* @param viewOptions.aggregation
* Alters the metric stream:
* Alters the {@link Aggregation} of the metric stream.
* @param viewOptions.instrumentName
* Instrument selection criteria:
* Original name of the Instrument(s) with wildcard support.
* @param viewOptions.instrumentType
* Instrument selection criteria:
* The original type of the Instrument(s).
* @param viewOptions.instrumentUnit
* Instrument selection criteria:
* The unit of the Instrument(s).
* @param viewOptions.meterName
* Instrument selection criteria:
* The name of the Meter. No wildcard support, name must match the meter exactly.
* @param viewOptions.meterVersion
* Instrument selection criteria:
* The version of the Meter. No wildcard support, version must match exactly.
* @param viewOptions.meterSchemaUrl
* Instrument selection criteria:
* The schema URL of the Meter. No wildcard support, schema URL must match exactly.
*
* @example
* // Create a view that changes the Instrument 'my.instrument' to use to an
* // ExplicitBucketHistogramAggregation with the boundaries [20, 30, 40]
* new View({
* aggregation: new ExplicitBucketHistogramAggregation([20, 30, 40]),
* instrumentName: 'my.instrument'
* })
*/
constructor(viewOptions) {
validateViewOptions(viewOptions);
if (viewOptions.attributesProcessors != null) {
this.attributesProcessor = (0, AttributesProcessor_1.createMultiAttributesProcessor)(viewOptions.attributesProcessors);
} else {
this.attributesProcessor = (0, AttributesProcessor_1.createNoopAttributesProcessor)();
}
this.name = viewOptions.name;
this.description = viewOptions.description;
this.aggregation = (0, AggregationOption_1.toAggregation)(viewOptions.aggregation ?? { type: AggregationOption_1.AggregationType.DEFAULT });
this.instrumentSelector = new InstrumentSelector_1.InstrumentSelector({
name: viewOptions.instrumentName,
type: viewOptions.instrumentType,
unit: viewOptions.instrumentUnit
});
this.meterSelector = new MeterSelector_1.MeterSelector({
name: viewOptions.meterName,
version: viewOptions.meterVersion,
schemaUrl: viewOptions.meterSchemaUrl
});
this.aggregationCardinalityLimit = viewOptions.aggregationCardinalityLimit;
}
};
exports2.View = View;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.js
var require_MeterProvider = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MeterProvider = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var resources_1 = require_src13();
var MeterProviderSharedState_1 = require_MeterProviderSharedState();
var MetricCollector_1 = require_MetricCollector();
var View_1 = require_View();
var MeterProvider = class {
_sharedState;
_shutdown = false;
constructor(options) {
this._sharedState = new MeterProviderSharedState_1.MeterProviderSharedState(options?.resource ?? (0, resources_1.defaultResource)());
if (options?.views != null && options.views.length > 0) {
for (const viewOption of options.views) {
this._sharedState.viewRegistry.addView(new View_1.View(viewOption));
}
}
if (options?.readers != null && options.readers.length > 0) {
for (const metricReader2 of options.readers) {
const collector = new MetricCollector_1.MetricCollector(this._sharedState, metricReader2);
metricReader2.setMetricProducer(collector);
this._sharedState.metricCollectors.push(collector);
}
}
}
/**
* Get a meter with the configuration of the MeterProvider.
*/
getMeter(name3, version4 = "", options = {}) {
if (this._shutdown) {
api_1.diag.warn("A shutdown MeterProvider cannot provide a Meter");
return (0, api_1.createNoopMeter)();
}
return this._sharedState.getMeterSharedState({
name: name3,
version: version4,
schemaUrl: options.schemaUrl
}).meter;
}
/**
* Shut down the MeterProvider and all registered
* MetricReaders.
*
* Returns a promise which is resolved when all flushes are complete.
*/
async shutdown(options) {
if (this._shutdown) {
api_1.diag.warn("shutdown may only be called once per MeterProvider");
return;
}
this._shutdown = true;
await Promise.all(this._sharedState.metricCollectors.map((collector) => {
return collector.shutdown(options);
}));
}
/**
* Notifies all registered MetricReaders to flush any buffered data.
*
* Returns a promise which is resolved when all flushes are complete.
*/
async forceFlush(options) {
if (this._shutdown) {
api_1.diag.warn("invalid attempt to force flush after MeterProvider shutdown");
return;
}
await Promise.all(this._sharedState.metricCollectors.map((collector) => {
return collector.forceFlush(options);
}));
}
};
exports2.MeterProvider = MeterProvider;
}
});
// node_modules/@opentelemetry/sdk-metrics/build/src/index.js
var require_src14 = __commonJS({
"node_modules/@opentelemetry/sdk-metrics/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TimeoutError = exports2.createDenyListAttributesProcessor = exports2.createAllowListAttributesProcessor = exports2.AggregationType = exports2.MeterProvider = exports2.ConsoleMetricExporter = exports2.InMemoryMetricExporter = exports2.PeriodicExportingMetricReader = exports2.MetricReader = exports2.InstrumentType = exports2.DataPointType = exports2.AggregationTemporality = void 0;
var AggregationTemporality_1 = require_AggregationTemporality();
Object.defineProperty(exports2, "AggregationTemporality", { enumerable: true, get: function() {
return AggregationTemporality_1.AggregationTemporality;
} });
var MetricData_1 = require_MetricData();
Object.defineProperty(exports2, "DataPointType", { enumerable: true, get: function() {
return MetricData_1.DataPointType;
} });
Object.defineProperty(exports2, "InstrumentType", { enumerable: true, get: function() {
return MetricData_1.InstrumentType;
} });
var MetricReader_1 = require_MetricReader();
Object.defineProperty(exports2, "MetricReader", { enumerable: true, get: function() {
return MetricReader_1.MetricReader;
} });
var PeriodicExportingMetricReader_1 = require_PeriodicExportingMetricReader();
Object.defineProperty(exports2, "PeriodicExportingMetricReader", { enumerable: true, get: function() {
return PeriodicExportingMetricReader_1.PeriodicExportingMetricReader;
} });
var InMemoryMetricExporter_1 = require_InMemoryMetricExporter();
Object.defineProperty(exports2, "InMemoryMetricExporter", { enumerable: true, get: function() {
return InMemoryMetricExporter_1.InMemoryMetricExporter;
} });
var ConsoleMetricExporter_1 = require_ConsoleMetricExporter();
Object.defineProperty(exports2, "ConsoleMetricExporter", { enumerable: true, get: function() {
return ConsoleMetricExporter_1.ConsoleMetricExporter;
} });
var MeterProvider_1 = require_MeterProvider();
Object.defineProperty(exports2, "MeterProvider", { enumerable: true, get: function() {
return MeterProvider_1.MeterProvider;
} });
var AggregationOption_1 = require_AggregationOption();
Object.defineProperty(exports2, "AggregationType", { enumerable: true, get: function() {
return AggregationOption_1.AggregationType;
} });
var AttributesProcessor_1 = require_AttributesProcessor();
Object.defineProperty(exports2, "createAllowListAttributesProcessor", { enumerable: true, get: function() {
return AttributesProcessor_1.createAllowListAttributesProcessor;
} });
Object.defineProperty(exports2, "createDenyListAttributesProcessor", { enumerable: true, get: function() {
return AttributesProcessor_1.createDenyListAttributesProcessor;
} });
var utils_1 = require_utils4();
Object.defineProperty(exports2, "TimeoutError", { enumerable: true, get: function() {
return utils_1.TimeoutError;
} });
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal-types.js
var require_internal_types = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal-types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.EAggregationTemporality = void 0;
var EAggregationTemporality;
(function(EAggregationTemporality2) {
EAggregationTemporality2[EAggregationTemporality2["AGGREGATION_TEMPORALITY_UNSPECIFIED"] = 0] = "AGGREGATION_TEMPORALITY_UNSPECIFIED";
EAggregationTemporality2[EAggregationTemporality2["AGGREGATION_TEMPORALITY_DELTA"] = 1] = "AGGREGATION_TEMPORALITY_DELTA";
EAggregationTemporality2[EAggregationTemporality2["AGGREGATION_TEMPORALITY_CUMULATIVE"] = 2] = "AGGREGATION_TEMPORALITY_CUMULATIVE";
})(EAggregationTemporality = exports2.EAggregationTemporality || (exports2.EAggregationTemporality = {}));
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.js
var require_internal3 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createExportMetricsServiceRequest = exports2.toMetric = exports2.toScopeMetrics = exports2.toResourceMetrics = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var sdk_metrics_1 = require_src14();
var internal_types_1 = require_internal_types();
var utils_1 = require_utils3();
var internal_1 = require_internal();
function toResourceMetrics(resourceMetrics, options) {
const encoder = (0, utils_1.getOtlpEncoder)(options);
const processedResource = (0, internal_1.createResource)(resourceMetrics.resource);
return {
resource: processedResource,
schemaUrl: processedResource.schemaUrl,
scopeMetrics: toScopeMetrics(resourceMetrics.scopeMetrics, encoder)
};
}
exports2.toResourceMetrics = toResourceMetrics;
function toScopeMetrics(scopeMetrics, encoder) {
return Array.from(scopeMetrics.map((metrics2) => ({
scope: (0, internal_1.createInstrumentationScope)(metrics2.scope),
metrics: metrics2.metrics.map((metricData) => toMetric(metricData, encoder)),
schemaUrl: metrics2.scope.schemaUrl
})));
}
exports2.toScopeMetrics = toScopeMetrics;
function toMetric(metricData, encoder) {
const out2 = {
name: metricData.descriptor.name,
description: metricData.descriptor.description,
unit: metricData.descriptor.unit
};
const aggregationTemporality = toAggregationTemporality(metricData.aggregationTemporality);
switch (metricData.dataPointType) {
case sdk_metrics_1.DataPointType.SUM:
out2.sum = {
aggregationTemporality,
isMonotonic: metricData.isMonotonic,
dataPoints: toSingularDataPoints(metricData, encoder)
};
break;
case sdk_metrics_1.DataPointType.GAUGE:
out2.gauge = {
dataPoints: toSingularDataPoints(metricData, encoder)
};
break;
case sdk_metrics_1.DataPointType.HISTOGRAM:
out2.histogram = {
aggregationTemporality,
dataPoints: toHistogramDataPoints(metricData, encoder)
};
break;
case sdk_metrics_1.DataPointType.EXPONENTIAL_HISTOGRAM:
out2.exponentialHistogram = {
aggregationTemporality,
dataPoints: toExponentialHistogramDataPoints(metricData, encoder)
};
break;
}
return out2;
}
exports2.toMetric = toMetric;
function toSingularDataPoint(dataPoint, valueType, encoder) {
const out2 = {
attributes: (0, internal_1.toAttributes)(dataPoint.attributes),
startTimeUnixNano: encoder.encodeHrTime(dataPoint.startTime),
timeUnixNano: encoder.encodeHrTime(dataPoint.endTime)
};
switch (valueType) {
case api_1.ValueType.INT:
out2.asInt = dataPoint.value;
break;
case api_1.ValueType.DOUBLE:
out2.asDouble = dataPoint.value;
break;
}
return out2;
}
function toSingularDataPoints(metricData, encoder) {
return metricData.dataPoints.map((dataPoint) => {
return toSingularDataPoint(dataPoint, metricData.descriptor.valueType, encoder);
});
}
function toHistogramDataPoints(metricData, encoder) {
return metricData.dataPoints.map((dataPoint) => {
const histogram = dataPoint.value;
return {
attributes: (0, internal_1.toAttributes)(dataPoint.attributes),
bucketCounts: histogram.buckets.counts,
explicitBounds: histogram.buckets.boundaries,
count: histogram.count,
sum: histogram.sum,
min: histogram.min,
max: histogram.max,
startTimeUnixNano: encoder.encodeHrTime(dataPoint.startTime),
timeUnixNano: encoder.encodeHrTime(dataPoint.endTime)
};
});
}
function toExponentialHistogramDataPoints(metricData, encoder) {
return metricData.dataPoints.map((dataPoint) => {
const histogram = dataPoint.value;
return {
attributes: (0, internal_1.toAttributes)(dataPoint.attributes),
count: histogram.count,
min: histogram.min,
max: histogram.max,
sum: histogram.sum,
positive: {
offset: histogram.positive.offset,
bucketCounts: histogram.positive.bucketCounts
},
negative: {
offset: histogram.negative.offset,
bucketCounts: histogram.negative.bucketCounts
},
scale: histogram.scale,
zeroCount: histogram.zeroCount,
startTimeUnixNano: encoder.encodeHrTime(dataPoint.startTime),
timeUnixNano: encoder.encodeHrTime(dataPoint.endTime)
};
});
}
function toAggregationTemporality(temporality) {
switch (temporality) {
case sdk_metrics_1.AggregationTemporality.DELTA:
return internal_types_1.EAggregationTemporality.AGGREGATION_TEMPORALITY_DELTA;
case sdk_metrics_1.AggregationTemporality.CUMULATIVE:
return internal_types_1.EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE;
}
}
function createExportMetricsServiceRequest(resourceMetrics, options) {
return {
resourceMetrics: resourceMetrics.map((metrics2) => toResourceMetrics(metrics2, options))
};
}
exports2.createExportMetricsServiceRequest = createExportMetricsServiceRequest;
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.js
var require_metrics = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProtobufMetricsSerializer = void 0;
var root = require_root2();
var internal_1 = require_internal3();
var metricsResponseType = root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse;
var metricsRequestType = root.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest;
exports2.ProtobufMetricsSerializer = {
serializeRequest: (arg) => {
const request = (0, internal_1.createExportMetricsServiceRequest)([arg]);
return metricsRequestType.encode(request).finish();
},
deserializeResponse: (arg) => {
return metricsResponseType.decode(arg);
}
};
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.js
var require_protobuf2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProtobufMetricsSerializer = void 0;
var metrics_1 = require_metrics();
Object.defineProperty(exports2, "ProtobufMetricsSerializer", { enumerable: true, get: function() {
return metrics_1.ProtobufMetricsSerializer;
} });
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js
var require_internal4 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createExportTraceServiceRequest = exports2.toOtlpSpanEvent = exports2.toOtlpLink = exports2.sdkSpanToOtlpSpan = void 0;
var internal_1 = require_internal();
var utils_1 = require_utils3();
var SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK = 256;
var SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK = 512;
function buildSpanFlagsFrom(traceFlags, isRemote) {
let flags2 = traceFlags & 255 | SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK;
if (isRemote) {
flags2 |= SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK;
}
return flags2;
}
function sdkSpanToOtlpSpan(span, encoder) {
const ctx = span.spanContext();
const status2 = span.status;
const parentSpanId = span.parentSpanContext?.spanId ? encoder.encodeSpanContext(span.parentSpanContext?.spanId) : void 0;
return {
traceId: encoder.encodeSpanContext(ctx.traceId),
spanId: encoder.encodeSpanContext(ctx.spanId),
parentSpanId,
traceState: ctx.traceState?.serialize(),
name: span.name,
// Span kind is offset by 1 because the API does not define a value for unset
kind: span.kind == null ? 0 : span.kind + 1,
startTimeUnixNano: encoder.encodeHrTime(span.startTime),
endTimeUnixNano: encoder.encodeHrTime(span.endTime),
attributes: (0, internal_1.toAttributes)(span.attributes),
droppedAttributesCount: span.droppedAttributesCount,
events: span.events.map((event) => toOtlpSpanEvent(event, encoder)),
droppedEventsCount: span.droppedEventsCount,
status: {
// API and proto enums share the same values
code: status2.code,
message: status2.message
},
links: span.links.map((link) => toOtlpLink(link, encoder)),
droppedLinksCount: span.droppedLinksCount,
flags: buildSpanFlagsFrom(ctx.traceFlags, span.parentSpanContext?.isRemote)
};
}
exports2.sdkSpanToOtlpSpan = sdkSpanToOtlpSpan;
function toOtlpLink(link, encoder) {
return {
attributes: link.attributes ? (0, internal_1.toAttributes)(link.attributes) : [],
spanId: encoder.encodeSpanContext(link.context.spanId),
traceId: encoder.encodeSpanContext(link.context.traceId),
traceState: link.context.traceState?.serialize(),
droppedAttributesCount: link.droppedAttributesCount || 0,
flags: buildSpanFlagsFrom(link.context.traceFlags, link.context.isRemote)
};
}
exports2.toOtlpLink = toOtlpLink;
function toOtlpSpanEvent(timedEvent, encoder) {
return {
attributes: timedEvent.attributes ? (0, internal_1.toAttributes)(timedEvent.attributes) : [],
name: timedEvent.name,
timeUnixNano: encoder.encodeHrTime(timedEvent.time),
droppedAttributesCount: timedEvent.droppedAttributesCount || 0
};
}
exports2.toOtlpSpanEvent = toOtlpSpanEvent;
function createExportTraceServiceRequest(spans, options) {
const encoder = (0, utils_1.getOtlpEncoder)(options);
return {
resourceSpans: spanRecordsToResourceSpans(spans, encoder)
};
}
exports2.createExportTraceServiceRequest = createExportTraceServiceRequest;
function createResourceMap(readableSpans) {
const resourceMap = /* @__PURE__ */ new Map();
for (const record2 of readableSpans) {
let ilsMap = resourceMap.get(record2.resource);
if (!ilsMap) {
ilsMap = /* @__PURE__ */ new Map();
resourceMap.set(record2.resource, ilsMap);
}
const instrumentationScopeKey = `${record2.instrumentationScope.name}@${record2.instrumentationScope.version || ""}:${record2.instrumentationScope.schemaUrl || ""}`;
let records = ilsMap.get(instrumentationScopeKey);
if (!records) {
records = [];
ilsMap.set(instrumentationScopeKey, records);
}
records.push(record2);
}
return resourceMap;
}
function spanRecordsToResourceSpans(readableSpans, encoder) {
const resourceMap = createResourceMap(readableSpans);
const out2 = [];
const entryIterator = resourceMap.entries();
let entry = entryIterator.next();
while (!entry.done) {
const [resource, ilmMap] = entry.value;
const scopeResourceSpans = [];
const ilmIterator = ilmMap.values();
let ilmEntry = ilmIterator.next();
while (!ilmEntry.done) {
const scopeSpans = ilmEntry.value;
if (scopeSpans.length > 0) {
const spans = scopeSpans.map((readableSpan) => sdkSpanToOtlpSpan(readableSpan, encoder));
scopeResourceSpans.push({
scope: (0, internal_1.createInstrumentationScope)(scopeSpans[0].instrumentationScope),
spans,
schemaUrl: scopeSpans[0].instrumentationScope.schemaUrl
});
}
ilmEntry = ilmIterator.next();
}
const processedResource = (0, internal_1.createResource)(resource);
const transformedSpans = {
resource: processedResource,
scopeSpans: scopeResourceSpans,
schemaUrl: processedResource.schemaUrl
};
out2.push(transformedSpans);
entry = entryIterator.next();
}
return out2;
}
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.js
var require_trace = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProtobufTraceSerializer = void 0;
var root = require_root2();
var internal_1 = require_internal4();
var traceResponseType = root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse;
var traceRequestType = root.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest;
exports2.ProtobufTraceSerializer = {
serializeRequest: (arg) => {
const request = (0, internal_1.createExportTraceServiceRequest)(arg);
return traceRequestType.encode(request).finish();
},
deserializeResponse: (arg) => {
return traceResponseType.decode(arg);
}
};
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.js
var require_protobuf3 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ProtobufTraceSerializer = void 0;
var trace_1 = require_trace();
Object.defineProperty(exports2, "ProtobufTraceSerializer", { enumerable: true, get: function() {
return trace_1.ProtobufTraceSerializer;
} });
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js
var require_logs3 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JsonLogsSerializer = void 0;
var internal_1 = require_internal2();
exports2.JsonLogsSerializer = {
serializeRequest: (arg) => {
const request = (0, internal_1.createExportLogsServiceRequest)(arg, {
useHex: true,
useLongBits: false
});
const encoder = new TextEncoder();
return encoder.encode(JSON.stringify(request));
},
deserializeResponse: (arg) => {
if (arg.length === 0) {
return {};
}
const decoder = new TextDecoder();
return JSON.parse(decoder.decode(arg));
}
};
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.js
var require_json = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JsonLogsSerializer = void 0;
var logs_1 = require_logs3();
Object.defineProperty(exports2, "JsonLogsSerializer", { enumerable: true, get: function() {
return logs_1.JsonLogsSerializer;
} });
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.js
var require_metrics2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JsonMetricsSerializer = void 0;
var internal_1 = require_internal3();
exports2.JsonMetricsSerializer = {
serializeRequest: (arg) => {
const request = (0, internal_1.createExportMetricsServiceRequest)([arg], {
useLongBits: false
});
const encoder = new TextEncoder();
return encoder.encode(JSON.stringify(request));
},
deserializeResponse: (arg) => {
if (arg.length === 0) {
return {};
}
const decoder = new TextDecoder();
return JSON.parse(decoder.decode(arg));
}
};
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.js
var require_json2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JsonMetricsSerializer = void 0;
var metrics_1 = require_metrics2();
Object.defineProperty(exports2, "JsonMetricsSerializer", { enumerable: true, get: function() {
return metrics_1.JsonMetricsSerializer;
} });
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.js
var require_trace2 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JsonTraceSerializer = void 0;
var internal_1 = require_internal4();
exports2.JsonTraceSerializer = {
serializeRequest: (arg) => {
const request = (0, internal_1.createExportTraceServiceRequest)(arg, {
useHex: true,
useLongBits: false
});
const encoder = new TextEncoder();
return encoder.encode(JSON.stringify(request));
},
deserializeResponse: (arg) => {
if (arg.length === 0) {
return {};
}
const decoder = new TextDecoder();
return JSON.parse(decoder.decode(arg));
}
};
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.js
var require_json3 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JsonTraceSerializer = void 0;
var trace_1 = require_trace2();
Object.defineProperty(exports2, "JsonTraceSerializer", { enumerable: true, get: function() {
return trace_1.JsonTraceSerializer;
} });
}
});
// node_modules/@opentelemetry/otlp-transformer/build/src/index.js
var require_src15 = __commonJS({
"node_modules/@opentelemetry/otlp-transformer/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JsonTraceSerializer = exports2.JsonMetricsSerializer = exports2.JsonLogsSerializer = exports2.ProtobufTraceSerializer = exports2.ProtobufMetricsSerializer = exports2.ProtobufLogsSerializer = void 0;
var protobuf_1 = require_protobuf();
Object.defineProperty(exports2, "ProtobufLogsSerializer", { enumerable: true, get: function() {
return protobuf_1.ProtobufLogsSerializer;
} });
var protobuf_2 = require_protobuf2();
Object.defineProperty(exports2, "ProtobufMetricsSerializer", { enumerable: true, get: function() {
return protobuf_2.ProtobufMetricsSerializer;
} });
var protobuf_3 = require_protobuf3();
Object.defineProperty(exports2, "ProtobufTraceSerializer", { enumerable: true, get: function() {
return protobuf_3.ProtobufTraceSerializer;
} });
var json_1 = require_json();
Object.defineProperty(exports2, "JsonLogsSerializer", { enumerable: true, get: function() {
return json_1.JsonLogsSerializer;
} });
var json_2 = require_json2();
Object.defineProperty(exports2, "JsonMetricsSerializer", { enumerable: true, get: function() {
return json_2.JsonMetricsSerializer;
} });
var json_3 = require_json3();
Object.defineProperty(exports2, "JsonTraceSerializer", { enumerable: true, get: function() {
return json_3.JsonTraceSerializer;
} });
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/OTLPTraceExporter.js
var require_OTLPTraceExporter = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/OTLPTraceExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var otlp_grpc_exporter_base_1 = require_src12();
var otlp_transformer_1 = require_src15();
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var OTLPTraceExporter2 = class extends otlp_exporter_base_1.OTLPExporterBase {
constructor(config2 = {}) {
super((0, otlp_grpc_exporter_base_1.createOtlpGrpcExportDelegate)((0, otlp_grpc_exporter_base_1.convertLegacyOtlpGrpcOptions)(config2, "TRACES"), otlp_transformer_1.ProtobufTraceSerializer, "TraceExportService", "/opentelemetry.proto.collector.trace.v1.TraceService/Export"));
}
};
exports2.OTLPTraceExporter = OTLPTraceExporter2;
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/index.js
var require_src16 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var OTLPTraceExporter_1 = require_OTLPTraceExporter();
Object.defineProperty(exports2, "OTLPTraceExporter", { enumerable: true, get: function() {
return OTLPTraceExporter_1.OTLPTraceExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/OTLPLogExporter.js
var require_OTLPLogExporter = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/OTLPLogExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var otlp_grpc_exporter_base_1 = require_src12();
var otlp_transformer_1 = require_src15();
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var OTLPLogExporter2 = class extends otlp_exporter_base_1.OTLPExporterBase {
constructor(config2 = {}) {
super((0, otlp_grpc_exporter_base_1.createOtlpGrpcExportDelegate)((0, otlp_grpc_exporter_base_1.convertLegacyOtlpGrpcOptions)(config2, "LOGS"), otlp_transformer_1.ProtobufLogsSerializer, "LogsExportService", "/opentelemetry.proto.collector.logs.v1.LogsService/Export"));
}
};
exports2.OTLPLogExporter = OTLPLogExporter2;
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/index.js
var require_src17 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var OTLPLogExporter_1 = require_OTLPLogExporter();
Object.defineProperty(exports2, "OTLPLogExporter", { enumerable: true, get: function() {
return OTLPLogExporter_1.OTLPLogExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/OTLPMetricExporterOptions.js
var require_OTLPMetricExporterOptions = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/OTLPMetricExporterOptions.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AggregationTemporalityPreference = void 0;
var AggregationTemporalityPreference;
(function(AggregationTemporalityPreference2) {
AggregationTemporalityPreference2[AggregationTemporalityPreference2["DELTA"] = 0] = "DELTA";
AggregationTemporalityPreference2[AggregationTemporalityPreference2["CUMULATIVE"] = 1] = "CUMULATIVE";
AggregationTemporalityPreference2[AggregationTemporalityPreference2["LOWMEMORY"] = 2] = "LOWMEMORY";
})(AggregationTemporalityPreference = exports2.AggregationTemporalityPreference || (exports2.AggregationTemporalityPreference = {}));
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/OTLPMetricExporterBase.js
var require_OTLPMetricExporterBase = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/OTLPMetricExporterBase.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporterBase = exports2.LowMemoryTemporalitySelector = exports2.DeltaTemporalitySelector = exports2.CumulativeTemporalitySelector = void 0;
var core_1 = require_src8();
var sdk_metrics_1 = require_src14();
var OTLPMetricExporterOptions_1 = require_OTLPMetricExporterOptions();
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var CumulativeTemporalitySelector = () => sdk_metrics_1.AggregationTemporality.CUMULATIVE;
exports2.CumulativeTemporalitySelector = CumulativeTemporalitySelector;
var DeltaTemporalitySelector = (instrumentType) => {
switch (instrumentType) {
case sdk_metrics_1.InstrumentType.COUNTER:
case sdk_metrics_1.InstrumentType.OBSERVABLE_COUNTER:
case sdk_metrics_1.InstrumentType.GAUGE:
case sdk_metrics_1.InstrumentType.HISTOGRAM:
case sdk_metrics_1.InstrumentType.OBSERVABLE_GAUGE:
return sdk_metrics_1.AggregationTemporality.DELTA;
case sdk_metrics_1.InstrumentType.UP_DOWN_COUNTER:
case sdk_metrics_1.InstrumentType.OBSERVABLE_UP_DOWN_COUNTER:
return sdk_metrics_1.AggregationTemporality.CUMULATIVE;
}
};
exports2.DeltaTemporalitySelector = DeltaTemporalitySelector;
var LowMemoryTemporalitySelector = (instrumentType) => {
switch (instrumentType) {
case sdk_metrics_1.InstrumentType.COUNTER:
case sdk_metrics_1.InstrumentType.HISTOGRAM:
return sdk_metrics_1.AggregationTemporality.DELTA;
case sdk_metrics_1.InstrumentType.GAUGE:
case sdk_metrics_1.InstrumentType.UP_DOWN_COUNTER:
case sdk_metrics_1.InstrumentType.OBSERVABLE_UP_DOWN_COUNTER:
case sdk_metrics_1.InstrumentType.OBSERVABLE_COUNTER:
case sdk_metrics_1.InstrumentType.OBSERVABLE_GAUGE:
return sdk_metrics_1.AggregationTemporality.CUMULATIVE;
}
};
exports2.LowMemoryTemporalitySelector = LowMemoryTemporalitySelector;
function chooseTemporalitySelectorFromEnvironment() {
const configuredTemporality = ((0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE") ?? "cumulative").toLowerCase();
if (configuredTemporality === "cumulative") {
return exports2.CumulativeTemporalitySelector;
}
if (configuredTemporality === "delta") {
return exports2.DeltaTemporalitySelector;
}
if (configuredTemporality === "lowmemory") {
return exports2.LowMemoryTemporalitySelector;
}
api_1.diag.warn(`OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE is set to '${configuredTemporality}', but only 'cumulative' and 'delta' are allowed. Using default ('cumulative') instead.`);
return exports2.CumulativeTemporalitySelector;
}
function chooseTemporalitySelector(temporalityPreference) {
if (temporalityPreference != null) {
if (temporalityPreference === OTLPMetricExporterOptions_1.AggregationTemporalityPreference.DELTA) {
return exports2.DeltaTemporalitySelector;
} else if (temporalityPreference === OTLPMetricExporterOptions_1.AggregationTemporalityPreference.LOWMEMORY) {
return exports2.LowMemoryTemporalitySelector;
}
return exports2.CumulativeTemporalitySelector;
}
return chooseTemporalitySelectorFromEnvironment();
}
var DEFAULT_AGGREGATION = Object.freeze({
type: sdk_metrics_1.AggregationType.DEFAULT
});
function chooseAggregationSelector(config2) {
return config2?.aggregationPreference ?? (() => DEFAULT_AGGREGATION);
}
var OTLPMetricExporterBase = class extends otlp_exporter_base_1.OTLPExporterBase {
_aggregationTemporalitySelector;
_aggregationSelector;
constructor(delegate, config2) {
super(delegate);
this._aggregationSelector = chooseAggregationSelector(config2);
this._aggregationTemporalitySelector = chooseTemporalitySelector(config2?.temporalityPreference);
}
selectAggregation(instrumentType) {
return this._aggregationSelector(instrumentType);
}
selectAggregationTemporality(instrumentType) {
return this._aggregationTemporalitySelector(instrumentType);
}
};
exports2.OTLPMetricExporterBase = OTLPMetricExporterBase;
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/platform/node/OTLPMetricExporter.js
var require_OTLPMetricExporter = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/platform/node/OTLPMetricExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var OTLPMetricExporterBase_1 = require_OTLPMetricExporterBase();
var otlp_transformer_1 = require_src15();
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
var OTLPMetricExporter2 = class extends OTLPMetricExporterBase_1.OTLPMetricExporterBase {
constructor(config2) {
super((0, node_http_1.createOtlpHttpExportDelegate)((0, node_http_1.convertLegacyHttpOptions)(config2 ?? {}, "METRICS", "v1/metrics", {
"Content-Type": "application/json"
}), otlp_transformer_1.JsonMetricsSerializer), config2);
}
};
exports2.OTLPMetricExporter = OTLPMetricExporter2;
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/platform/node/index.js
var require_node3 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var OTLPMetricExporter_1 = require_OTLPMetricExporter();
Object.defineProperty(exports2, "OTLPMetricExporter", { enumerable: true, get: function() {
return OTLPMetricExporter_1.OTLPMetricExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/platform/index.js
var require_platform3 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var node_1 = require_node3();
Object.defineProperty(exports2, "OTLPMetricExporter", { enumerable: true, get: function() {
return node_1.OTLPMetricExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/index.js
var require_src18 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporterBase = exports2.LowMemoryTemporalitySelector = exports2.DeltaTemporalitySelector = exports2.CumulativeTemporalitySelector = exports2.AggregationTemporalityPreference = exports2.OTLPMetricExporter = void 0;
var platform_1 = require_platform3();
Object.defineProperty(exports2, "OTLPMetricExporter", { enumerable: true, get: function() {
return platform_1.OTLPMetricExporter;
} });
var OTLPMetricExporterOptions_1 = require_OTLPMetricExporterOptions();
Object.defineProperty(exports2, "AggregationTemporalityPreference", { enumerable: true, get: function() {
return OTLPMetricExporterOptions_1.AggregationTemporalityPreference;
} });
var OTLPMetricExporterBase_1 = require_OTLPMetricExporterBase();
Object.defineProperty(exports2, "CumulativeTemporalitySelector", { enumerable: true, get: function() {
return OTLPMetricExporterBase_1.CumulativeTemporalitySelector;
} });
Object.defineProperty(exports2, "DeltaTemporalitySelector", { enumerable: true, get: function() {
return OTLPMetricExporterBase_1.DeltaTemporalitySelector;
} });
Object.defineProperty(exports2, "LowMemoryTemporalitySelector", { enumerable: true, get: function() {
return OTLPMetricExporterBase_1.LowMemoryTemporalitySelector;
} });
Object.defineProperty(exports2, "OTLPMetricExporterBase", { enumerable: true, get: function() {
return OTLPMetricExporterBase_1.OTLPMetricExporterBase;
} });
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/OTLPMetricExporter.js
var require_OTLPMetricExporter2 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/OTLPMetricExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var exporter_metrics_otlp_http_1 = require_src18();
var otlp_grpc_exporter_base_1 = require_src12();
var otlp_transformer_1 = require_src15();
var OTLPMetricExporter2 = class extends exporter_metrics_otlp_http_1.OTLPMetricExporterBase {
constructor(config2) {
super((0, otlp_grpc_exporter_base_1.createOtlpGrpcExportDelegate)((0, otlp_grpc_exporter_base_1.convertLegacyOtlpGrpcOptions)(config2 ?? {}, "METRICS"), otlp_transformer_1.ProtobufMetricsSerializer, "MetricsExportService", "/opentelemetry.proto.collector.metrics.v1.MetricsService/Export"), config2);
}
};
exports2.OTLPMetricExporter = OTLPMetricExporter2;
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/index.js
var require_src19 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var OTLPMetricExporter_1 = require_OTLPMetricExporter2();
Object.defineProperty(exports2, "OTLPMetricExporter", { enumerable: true, get: function() {
return OTLPMetricExporter_1.OTLPMetricExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/OTLPTraceExporter.js
var require_OTLPTraceExporter2 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/OTLPTraceExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var otlp_transformer_1 = require_src15();
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
var OTLPTraceExporter2 = class extends otlp_exporter_base_1.OTLPExporterBase {
constructor(config2 = {}) {
super((0, node_http_1.createOtlpHttpExportDelegate)((0, node_http_1.convertLegacyHttpOptions)(config2, "TRACES", "v1/traces", {
"Content-Type": "application/json"
}), otlp_transformer_1.JsonTraceSerializer));
}
};
exports2.OTLPTraceExporter = OTLPTraceExporter2;
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/index.js
var require_node4 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var OTLPTraceExporter_1 = require_OTLPTraceExporter2();
Object.defineProperty(exports2, "OTLPTraceExporter", { enumerable: true, get: function() {
return OTLPTraceExporter_1.OTLPTraceExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/index.js
var require_platform4 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var node_1 = require_node4();
Object.defineProperty(exports2, "OTLPTraceExporter", { enumerable: true, get: function() {
return node_1.OTLPTraceExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/index.js
var require_src20 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var platform_1 = require_platform4();
Object.defineProperty(exports2, "OTLPTraceExporter", { enumerable: true, get: function() {
return platform_1.OTLPTraceExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/platform/node/OTLPLogExporter.js
var require_OTLPLogExporter2 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/platform/node/OTLPLogExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var otlp_transformer_1 = require_src15();
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
var OTLPLogExporter2 = class extends otlp_exporter_base_1.OTLPExporterBase {
constructor(config2 = {}) {
super((0, node_http_1.createOtlpHttpExportDelegate)((0, node_http_1.convertLegacyHttpOptions)(config2, "LOGS", "v1/logs", {
"Content-Type": "application/json"
}), otlp_transformer_1.JsonLogsSerializer));
}
};
exports2.OTLPLogExporter = OTLPLogExporter2;
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/platform/node/index.js
var require_node5 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var OTLPLogExporter_1 = require_OTLPLogExporter2();
Object.defineProperty(exports2, "OTLPLogExporter", { enumerable: true, get: function() {
return OTLPLogExporter_1.OTLPLogExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/platform/index.js
var require_platform5 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var node_1 = require_node5();
Object.defineProperty(exports2, "OTLPLogExporter", { enumerable: true, get: function() {
return node_1.OTLPLogExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/index.js
var require_src21 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var platform_1 = require_platform5();
Object.defineProperty(exports2, "OTLPLogExporter", { enumerable: true, get: function() {
return platform_1.OTLPLogExporter;
} });
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.js
var require_validation = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isLogAttributeValue = void 0;
function isLogAttributeValue(val) {
return isLogAttributeValueInternal(val, /* @__PURE__ */ new WeakSet());
}
exports2.isLogAttributeValue = isLogAttributeValue;
function isLogAttributeValueInternal(val, visited) {
if (val == null) {
return true;
}
if (typeof val === "string" || typeof val === "number" || typeof val === "boolean") {
return true;
}
if (val instanceof Uint8Array) {
return true;
}
if (typeof val === "object") {
if (visited.has(val)) {
return false;
}
visited.add(val);
if (Array.isArray(val)) {
return val.every((item) => isLogAttributeValueInternal(item, visited));
}
const obj = val;
if (obj.constructor !== Object && obj.constructor !== void 0) {
return false;
}
return Object.values(obj).every((item) => isLogAttributeValueInternal(item, visited));
}
return false;
}
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.js
var require_LogRecordImpl = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LogRecordImpl = void 0;
var api = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var validation_1 = require_validation();
var LogRecordImpl = class {
hrTime;
hrTimeObserved;
spanContext;
resource;
instrumentationScope;
attributes = {};
_severityText;
_severityNumber;
_body;
_eventName;
totalAttributesCount = 0;
_isReadonly = false;
_logRecordLimits;
set severityText(severityText) {
if (this._isLogRecordReadonly()) {
return;
}
this._severityText = severityText;
}
get severityText() {
return this._severityText;
}
set severityNumber(severityNumber) {
if (this._isLogRecordReadonly()) {
return;
}
this._severityNumber = severityNumber;
}
get severityNumber() {
return this._severityNumber;
}
set body(body2) {
if (this._isLogRecordReadonly()) {
return;
}
this._body = body2;
}
get body() {
return this._body;
}
get eventName() {
return this._eventName;
}
set eventName(eventName) {
if (this._isLogRecordReadonly()) {
return;
}
this._eventName = eventName;
}
get droppedAttributesCount() {
return this.totalAttributesCount - Object.keys(this.attributes).length;
}
constructor(_sharedState, instrumentationScope, logRecord) {
const { timestamp: timestamp2, observedTimestamp, eventName, severityNumber, severityText, body: body2, attributes = {}, context: context2 } = logRecord;
const now = Date.now();
this.hrTime = (0, core_1.timeInputToHrTime)(timestamp2 ?? now);
this.hrTimeObserved = (0, core_1.timeInputToHrTime)(observedTimestamp ?? now);
if (context2) {
const spanContext = api.trace.getSpanContext(context2);
if (spanContext && api.isSpanContextValid(spanContext)) {
this.spanContext = spanContext;
}
}
this.severityNumber = severityNumber;
this.severityText = severityText;
this.body = body2;
this.resource = _sharedState.resource;
this.instrumentationScope = instrumentationScope;
this._logRecordLimits = _sharedState.logRecordLimits;
this._eventName = eventName;
this.setAttributes(attributes);
}
setAttribute(key, value) {
if (this._isLogRecordReadonly()) {
return this;
}
if (key.length === 0) {
api.diag.warn(`Invalid attribute key: ${key}`);
return this;
}
if (!(0, validation_1.isLogAttributeValue)(value)) {
api.diag.warn(`Invalid attribute value set for key: ${key}`);
return this;
}
this.totalAttributesCount += 1;
if (Object.keys(this.attributes).length >= this._logRecordLimits.attributeCountLimit && !Object.prototype.hasOwnProperty.call(this.attributes, key)) {
if (this.droppedAttributesCount === 1) {
api.diag.warn("Dropping extra attributes.");
}
return this;
}
this.attributes[key] = this._truncateToSize(value);
return this;
}
setAttributes(attributes) {
for (const [k, v] of Object.entries(attributes)) {
this.setAttribute(k, v);
}
return this;
}
setBody(body2) {
this.body = body2;
return this;
}
setEventName(eventName) {
this.eventName = eventName;
return this;
}
setSeverityNumber(severityNumber) {
this.severityNumber = severityNumber;
return this;
}
setSeverityText(severityText) {
this.severityText = severityText;
return this;
}
/**
* @internal
* A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.
* If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.
*/
_makeReadonly() {
this._isReadonly = true;
}
_truncateToSize(value) {
const limit = this._logRecordLimits.attributeValueLengthLimit;
if (limit <= 0) {
api.diag.warn(`Attribute value limit must be positive, got ${limit}`);
return value;
}
if (value == null) {
return value;
}
if (typeof value === "string") {
return this._truncateToLimitUtil(value, limit);
}
if (value instanceof Uint8Array) {
return value;
}
if (Array.isArray(value)) {
return value.map((val) => this._truncateToSize(val));
}
if (typeof value === "object") {
const truncatedObj = {};
for (const [k, v] of Object.entries(value)) {
truncatedObj[k] = this._truncateToSize(v);
}
return truncatedObj;
}
return value;
}
_truncateToLimitUtil(value, limit) {
if (value.length <= limit) {
return value;
}
return value.substring(0, limit);
}
_isLogRecordReadonly() {
if (this._isReadonly) {
api.diag.warn("Can not execute the operation on emitted log record");
}
return this._isReadonly;
}
};
exports2.LogRecordImpl = LogRecordImpl;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/Logger.js
var require_Logger = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/Logger.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Logger = void 0;
var api_logs_1 = require_src7();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var LogRecordImpl_1 = require_LogRecordImpl();
var Logger2 = class {
instrumentationScope;
_sharedState;
_loggerConfig;
constructor(instrumentationScope, sharedState) {
this.instrumentationScope = instrumentationScope;
this._sharedState = sharedState;
this._loggerConfig = this._sharedState.getLoggerConfig(this.instrumentationScope);
}
emit(logRecord) {
const loggerConfig = this._loggerConfig;
const currentContext = logRecord.context || api_1.context.active();
const recordSeverity = logRecord.severityNumber ?? api_logs_1.SeverityNumber.UNSPECIFIED;
if (recordSeverity !== api_logs_1.SeverityNumber.UNSPECIFIED && recordSeverity < loggerConfig.minimumSeverity) {
return;
}
if (loggerConfig.traceBased) {
const spanContext = api_1.trace.getSpanContext(currentContext);
if (spanContext && (0, api_1.isSpanContextValid)(spanContext)) {
const isSampled = (spanContext.traceFlags & api_1.TraceFlags.SAMPLED) === api_1.TraceFlags.SAMPLED;
if (!isSampled) {
return;
}
}
}
const logRecordInstance = new LogRecordImpl_1.LogRecordImpl(this._sharedState, this.instrumentationScope, {
context: currentContext,
...logRecord
});
this._sharedState.activeProcessor.onEmit(logRecordInstance, currentContext);
logRecordInstance._makeReadonly();
}
};
exports2.Logger = Logger2;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/config.js
var require_config = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/config.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.reconfigureLimits = exports2.loadDefaultConfig = void 0;
var core_1 = require_src8();
function loadDefaultConfig() {
return {
forceFlushTimeoutMillis: 3e4,
logRecordLimits: {
attributeValueLengthLimit: (0, core_1.getNumberFromEnv)("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT") ?? Infinity,
attributeCountLimit: (0, core_1.getNumberFromEnv)("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT") ?? 128
},
includeTraceContext: true
};
}
exports2.loadDefaultConfig = loadDefaultConfig;
function reconfigureLimits(logRecordLimits) {
return {
/**
* Reassign log record attribute count limit to use first non null value defined by user or use default value
*/
attributeCountLimit: logRecordLimits.attributeCountLimit ?? (0, core_1.getNumberFromEnv)("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT") ?? (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_COUNT_LIMIT") ?? 128,
/**
* Reassign log record attribute value length limit to use first non null value defined by user or use default value
*/
attributeValueLengthLimit: logRecordLimits.attributeValueLengthLimit ?? (0, core_1.getNumberFromEnv)("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT") ?? (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT") ?? Infinity
};
}
exports2.reconfigureLimits = reconfigureLimits;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/export/NoopLogRecordProcessor.js
var require_NoopLogRecordProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/export/NoopLogRecordProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NoopLogRecordProcessor = void 0;
var NoopLogRecordProcessor = class {
forceFlush() {
return Promise.resolve();
}
onEmit(_logRecord, _context) {
}
shutdown() {
return Promise.resolve();
}
};
exports2.NoopLogRecordProcessor = NoopLogRecordProcessor;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/MultiLogRecordProcessor.js
var require_MultiLogRecordProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/MultiLogRecordProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MultiLogRecordProcessor = void 0;
var core_1 = require_src8();
var MultiLogRecordProcessor = class {
processors;
forceFlushTimeoutMillis;
constructor(processors, forceFlushTimeoutMillis) {
this.processors = processors;
this.forceFlushTimeoutMillis = forceFlushTimeoutMillis;
}
async forceFlush() {
const timeout = this.forceFlushTimeoutMillis;
await Promise.all(this.processors.map((processor) => (0, core_1.callWithTimeout)(processor.forceFlush(), timeout)));
}
onEmit(logRecord, context2) {
this.processors.forEach((processors) => processors.onEmit(logRecord, context2));
}
async shutdown() {
await Promise.all(this.processors.map((processor) => processor.shutdown()));
}
};
exports2.MultiLogRecordProcessor = MultiLogRecordProcessor;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.js
var require_utils7 = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getInstrumentationScopeKey = void 0;
function getInstrumentationScopeKey(scope) {
return `${scope.name}@${scope.version || ""}:${scope.schemaUrl || ""}`;
}
exports2.getInstrumentationScopeKey = getInstrumentationScopeKey;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/internal/LoggerProviderSharedState.js
var require_LoggerProviderSharedState = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/internal/LoggerProviderSharedState.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LoggerProviderSharedState = void 0;
var api_logs_1 = require_src7();
var NoopLogRecordProcessor_1 = require_NoopLogRecordProcessor();
var MultiLogRecordProcessor_1 = require_MultiLogRecordProcessor();
var utils_1 = require_utils7();
var DEFAULT_LOGGER_CONFIG = {
disabled: false,
minimumSeverity: api_logs_1.SeverityNumber.UNSPECIFIED,
traceBased: false
};
var DEFAULT_LOGGER_CONFIGURATOR = () => ({
...DEFAULT_LOGGER_CONFIG
});
var LoggerProviderSharedState = class {
loggers = /* @__PURE__ */ new Map();
activeProcessor;
registeredLogRecordProcessors = [];
resource;
forceFlushTimeoutMillis;
logRecordLimits;
processors;
_loggerConfigurator;
_loggerConfigs = /* @__PURE__ */ new Map();
constructor(resource, forceFlushTimeoutMillis, logRecordLimits, processors, loggerConfigurator) {
this.resource = resource;
this.forceFlushTimeoutMillis = forceFlushTimeoutMillis;
this.logRecordLimits = logRecordLimits;
this.processors = processors;
if (processors.length > 0) {
this.registeredLogRecordProcessors = processors;
this.activeProcessor = new MultiLogRecordProcessor_1.MultiLogRecordProcessor(this.registeredLogRecordProcessors, this.forceFlushTimeoutMillis);
} else {
this.activeProcessor = new NoopLogRecordProcessor_1.NoopLogRecordProcessor();
}
this._loggerConfigurator = loggerConfigurator ?? DEFAULT_LOGGER_CONFIGURATOR;
}
/**
* Get the LoggerConfig for a given instrumentation scope.
* Uses the LoggerConfigurator function to compute the config on first access
* and caches the result.
*
* @experimental This feature is in development as per the OpenTelemetry specification.
*/
getLoggerConfig(instrumentationScope) {
const key = (0, utils_1.getInstrumentationScopeKey)(instrumentationScope);
let config2 = this._loggerConfigs.get(key);
if (config2) {
return config2;
}
config2 = this._loggerConfigurator(instrumentationScope);
this._loggerConfigs.set(key, config2);
return config2;
}
};
exports2.LoggerProviderSharedState = LoggerProviderSharedState;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js
var require_LoggerProvider = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LoggerProvider = exports2.DEFAULT_LOGGER_NAME = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var api_logs_1 = require_src7();
var resources_1 = require_src13();
var core_1 = require_src8();
var Logger_1 = require_Logger();
var config_1 = require_config();
var LoggerProviderSharedState_1 = require_LoggerProviderSharedState();
exports2.DEFAULT_LOGGER_NAME = "unknown";
var LoggerProvider = class {
_shutdownOnce;
_sharedState;
constructor(config2 = {}) {
const mergedConfig = (0, core_1.merge)({}, (0, config_1.loadDefaultConfig)(), config2);
const resource = config2.resource ?? (0, resources_1.defaultResource)();
this._sharedState = new LoggerProviderSharedState_1.LoggerProviderSharedState(resource, mergedConfig.forceFlushTimeoutMillis, (0, config_1.reconfigureLimits)(mergedConfig.logRecordLimits), config2?.processors ?? [], config2?.loggerConfigurator);
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
}
/**
* Get a logger with the configuration of the LoggerProvider.
*/
getLogger(name3, version4, options) {
if (this._shutdownOnce.isCalled) {
api_1.diag.warn("A shutdown LoggerProvider cannot provide a Logger");
return api_logs_1.NOOP_LOGGER;
}
if (!name3) {
api_1.diag.warn("Logger requested without instrumentation scope name.");
}
const loggerName = name3 || exports2.DEFAULT_LOGGER_NAME;
const key = `${loggerName}@${version4 || ""}:${options?.schemaUrl || ""}`;
if (!this._sharedState.loggers.has(key)) {
this._sharedState.loggers.set(key, new Logger_1.Logger({ name: loggerName, version: version4, schemaUrl: options?.schemaUrl }, this._sharedState));
}
return this._sharedState.loggers.get(key);
}
/**
* Notifies all registered LogRecordProcessor to flush any buffered data.
*
* Returns a promise which is resolved when all flushes are complete.
*/
forceFlush() {
if (this._shutdownOnce.isCalled) {
api_1.diag.warn("invalid attempt to force flush after LoggerProvider shutdown");
return this._shutdownOnce.promise;
}
return this._sharedState.activeProcessor.forceFlush();
}
/**
* Flush all buffered data and shut down the LoggerProvider and all registered
* LogRecordProcessor.
*
* Returns a promise which is resolved when all flushes are complete.
*/
shutdown() {
if (this._shutdownOnce.isCalled) {
api_1.diag.warn("shutdown may only be called once per LoggerProvider");
return this._shutdownOnce.promise;
}
return this._shutdownOnce.call();
}
_shutdown() {
return this._sharedState.activeProcessor.shutdown();
}
};
exports2.LoggerProvider = LoggerProvider;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/export/ConsoleLogRecordExporter.js
var require_ConsoleLogRecordExporter = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/export/ConsoleLogRecordExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ConsoleLogRecordExporter = void 0;
var core_1 = require_src8();
var ConsoleLogRecordExporter2 = class {
/**
* Export logs.
* @param logs
* @param resultCallback
*/
export(logs3, resultCallback) {
this._sendLogRecords(logs3, resultCallback);
}
/**
* Shutdown the exporter.
*/
shutdown() {
return Promise.resolve();
}
/**
* converts logRecord info into more readable format
* @param logRecord
*/
_exportInfo(logRecord) {
return {
resource: {
attributes: logRecord.resource.attributes
},
instrumentationScope: logRecord.instrumentationScope,
timestamp: (0, core_1.hrTimeToMicroseconds)(logRecord.hrTime),
traceId: logRecord.spanContext?.traceId,
spanId: logRecord.spanContext?.spanId,
traceFlags: logRecord.spanContext?.traceFlags,
severityText: logRecord.severityText,
severityNumber: logRecord.severityNumber,
eventName: logRecord.eventName,
body: logRecord.body,
attributes: logRecord.attributes
};
}
/**
* Showing logs in console
* @param logRecords
* @param done
*/
_sendLogRecords(logRecords, done) {
for (const logRecord of logRecords) {
console.dir(this._exportInfo(logRecord), { depth: 3 });
}
done?.({ code: core_1.ExportResultCode.SUCCESS });
}
};
exports2.ConsoleLogRecordExporter = ConsoleLogRecordExporter2;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js
var require_SimpleLogRecordProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SimpleLogRecordProcessor = void 0;
var core_1 = require_src8();
var SimpleLogRecordProcessor = class {
_exporter;
_shutdownOnce;
_unresolvedExports;
constructor(exporter) {
this._exporter = exporter;
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
this._unresolvedExports = /* @__PURE__ */ new Set();
}
onEmit(logRecord) {
if (this._shutdownOnce.isCalled) {
return;
}
const doExport = () => core_1.internal._export(this._exporter, [logRecord]).then((result2) => {
if (result2.code !== core_1.ExportResultCode.SUCCESS) {
(0, core_1.globalErrorHandler)(result2.error ?? new Error(`SimpleLogRecordProcessor: log record export failed (status ${result2})`));
}
}).catch(core_1.globalErrorHandler);
if (logRecord.resource.asyncAttributesPending) {
const exportPromise = logRecord.resource.waitForAsyncAttributes?.().then(() => {
this._unresolvedExports.delete(exportPromise);
return doExport();
}, core_1.globalErrorHandler);
if (exportPromise != null) {
this._unresolvedExports.add(exportPromise);
}
} else {
void doExport();
}
}
async forceFlush() {
await Promise.all(Array.from(this._unresolvedExports));
}
shutdown() {
return this._shutdownOnce.call();
}
_shutdown() {
return this._exporter.shutdown();
}
};
exports2.SimpleLogRecordProcessor = SimpleLogRecordProcessor;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/export/InMemoryLogRecordExporter.js
var require_InMemoryLogRecordExporter = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/export/InMemoryLogRecordExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InMemoryLogRecordExporter = void 0;
var core_1 = require_src8();
var InMemoryLogRecordExporter = class {
_finishedLogRecords = [];
/**
* Indicates if the exporter has been "shutdown."
* When false, exported log records will not be stored in-memory.
*/
_stopped = false;
export(logs3, resultCallback) {
if (this._stopped) {
return resultCallback({
code: core_1.ExportResultCode.FAILED,
error: new Error("Exporter has been stopped")
});
}
this._finishedLogRecords.push(...logs3);
resultCallback({ code: core_1.ExportResultCode.SUCCESS });
}
shutdown() {
this._stopped = true;
this.reset();
return Promise.resolve();
}
getFinishedLogRecords() {
return this._finishedLogRecords;
}
reset() {
this._finishedLogRecords = [];
}
};
exports2.InMemoryLogRecordExporter = InMemoryLogRecordExporter;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js
var require_BatchLogRecordProcessorBase = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BatchLogRecordProcessorBase = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var BatchLogRecordProcessorBase = class {
_maxExportBatchSize;
_maxQueueSize;
_scheduledDelayMillis;
_exportTimeoutMillis;
_exporter;
_isExporting = false;
_finishedLogRecords = [];
_timer;
_shutdownOnce;
constructor(exporter, config2) {
this._exporter = exporter;
this._maxExportBatchSize = config2?.maxExportBatchSize ?? (0, core_1.getNumberFromEnv)("OTEL_BLRP_MAX_EXPORT_BATCH_SIZE") ?? 512;
this._maxQueueSize = config2?.maxQueueSize ?? (0, core_1.getNumberFromEnv)("OTEL_BLRP_MAX_QUEUE_SIZE") ?? 2048;
this._scheduledDelayMillis = config2?.scheduledDelayMillis ?? (0, core_1.getNumberFromEnv)("OTEL_BLRP_SCHEDULE_DELAY") ?? 5e3;
this._exportTimeoutMillis = config2?.exportTimeoutMillis ?? (0, core_1.getNumberFromEnv)("OTEL_BLRP_EXPORT_TIMEOUT") ?? 3e4;
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
if (this._maxExportBatchSize > this._maxQueueSize) {
api_1.diag.warn("BatchLogRecordProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize");
this._maxExportBatchSize = this._maxQueueSize;
}
}
onEmit(logRecord) {
if (this._shutdownOnce.isCalled) {
return;
}
this._addToBuffer(logRecord);
}
forceFlush() {
if (this._shutdownOnce.isCalled) {
return this._shutdownOnce.promise;
}
return this._flushAll();
}
shutdown() {
return this._shutdownOnce.call();
}
async _shutdown() {
this.onShutdown();
await this._flushAll();
await this._exporter.shutdown();
}
/** Add a LogRecord in the buffer. */
_addToBuffer(logRecord) {
if (this._finishedLogRecords.length >= this._maxQueueSize) {
return;
}
this._finishedLogRecords.push(logRecord);
this._maybeStartTimer();
}
/**
* Send all LogRecords to the exporter respecting the batch size limit
* This function is used only on forceFlush or shutdown,
* for all other cases _flush should be used
* */
_flushAll() {
return new Promise((resolve25, reject) => {
const promises8 = [];
const batchCount = Math.ceil(this._finishedLogRecords.length / this._maxExportBatchSize);
for (let i3 = 0; i3 < batchCount; i3++) {
promises8.push(this._flushOneBatch());
}
Promise.all(promises8).then(() => {
resolve25();
}).catch(reject);
});
}
_flushOneBatch() {
this._clearTimer();
if (this._finishedLogRecords.length === 0) {
return Promise.resolve();
}
return (0, core_1.callWithTimeout)(this._export(this._finishedLogRecords.splice(0, this._maxExportBatchSize)), this._exportTimeoutMillis);
}
_maybeStartTimer() {
if (this._isExporting)
return;
const flush = () => {
this._isExporting = true;
this._flushOneBatch().then(() => {
this._isExporting = false;
if (this._finishedLogRecords.length > 0) {
this._clearTimer();
this._maybeStartTimer();
}
}).catch((e2) => {
this._isExporting = false;
(0, core_1.globalErrorHandler)(e2);
});
};
if (this._finishedLogRecords.length >= this._maxExportBatchSize) {
return flush();
}
if (this._timer !== void 0)
return;
this._timer = setTimeout(() => flush(), this._scheduledDelayMillis);
if (typeof this._timer !== "number") {
this._timer.unref();
}
}
_clearTimer() {
if (this._timer !== void 0) {
clearTimeout(this._timer);
this._timer = void 0;
}
}
_export(logRecords) {
const doExport = () => core_1.internal._export(this._exporter, logRecords).then((result2) => {
if (result2.code !== core_1.ExportResultCode.SUCCESS) {
(0, core_1.globalErrorHandler)(result2.error ?? new Error(`BatchLogRecordProcessor: log record export failed (status ${result2})`));
}
}).catch(core_1.globalErrorHandler);
const pendingResources = [];
for (let i3 = 0; i3 < logRecords.length; i3++) {
const resource = logRecords[i3].resource;
if (resource.asyncAttributesPending && typeof resource.waitForAsyncAttributes === "function") {
pendingResources.push(resource.waitForAsyncAttributes());
}
}
if (pendingResources.length === 0) {
return doExport();
} else {
return Promise.all(pendingResources).then(doExport, core_1.globalErrorHandler);
}
}
};
exports2.BatchLogRecordProcessorBase = BatchLogRecordProcessorBase;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/platform/node/export/BatchLogRecordProcessor.js
var require_BatchLogRecordProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/platform/node/export/BatchLogRecordProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BatchLogRecordProcessor = void 0;
var BatchLogRecordProcessorBase_1 = require_BatchLogRecordProcessorBase();
var BatchLogRecordProcessor2 = class extends BatchLogRecordProcessorBase_1.BatchLogRecordProcessorBase {
onShutdown() {
}
};
exports2.BatchLogRecordProcessor = BatchLogRecordProcessor2;
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/platform/node/index.js
var require_node6 = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BatchLogRecordProcessor = void 0;
var BatchLogRecordProcessor_1 = require_BatchLogRecordProcessor();
Object.defineProperty(exports2, "BatchLogRecordProcessor", { enumerable: true, get: function() {
return BatchLogRecordProcessor_1.BatchLogRecordProcessor;
} });
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/platform/index.js
var require_platform6 = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BatchLogRecordProcessor = void 0;
var node_1 = require_node6();
Object.defineProperty(exports2, "BatchLogRecordProcessor", { enumerable: true, get: function() {
return node_1.BatchLogRecordProcessor;
} });
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/config/LoggerConfigurators.js
var require_LoggerConfigurators = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/config/LoggerConfigurators.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createLoggerConfigurator = void 0;
var api_logs_1 = require_src7();
var DEFAULT_LOGGER_CONFIG = {
disabled: false,
minimumSeverity: api_logs_1.SeverityNumber.UNSPECIFIED,
traceBased: false
};
function createLoggerConfigurator(patterns) {
return (loggerScope) => {
const loggerName = loggerScope.name;
for (const { pattern, config: config2 } of patterns) {
if (matchesPattern(loggerName, pattern)) {
return {
disabled: config2.disabled ?? DEFAULT_LOGGER_CONFIG.disabled,
minimumSeverity: config2.minimumSeverity ?? DEFAULT_LOGGER_CONFIG.minimumSeverity,
traceBased: config2.traceBased ?? DEFAULT_LOGGER_CONFIG.traceBased
};
}
}
return { ...DEFAULT_LOGGER_CONFIG };
};
}
exports2.createLoggerConfigurator = createLoggerConfigurator;
function matchesPattern(name3, pattern) {
if (pattern === name3) {
return true;
}
if (pattern.includes("*")) {
const regexPattern = pattern.split("*").map((part) => part.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join(".*");
const regex2 = new RegExp(`^${regexPattern}$`);
return regex2.test(name3);
}
return false;
}
}
});
// node_modules/@opentelemetry/sdk-logs/build/src/index.js
var require_src22 = __commonJS({
"node_modules/@opentelemetry/sdk-logs/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createLoggerConfigurator = exports2.BatchLogRecordProcessor = exports2.InMemoryLogRecordExporter = exports2.SimpleLogRecordProcessor = exports2.ConsoleLogRecordExporter = exports2.LoggerProvider = void 0;
var LoggerProvider_1 = require_LoggerProvider();
Object.defineProperty(exports2, "LoggerProvider", { enumerable: true, get: function() {
return LoggerProvider_1.LoggerProvider;
} });
var ConsoleLogRecordExporter_1 = require_ConsoleLogRecordExporter();
Object.defineProperty(exports2, "ConsoleLogRecordExporter", { enumerable: true, get: function() {
return ConsoleLogRecordExporter_1.ConsoleLogRecordExporter;
} });
var SimpleLogRecordProcessor_1 = require_SimpleLogRecordProcessor();
Object.defineProperty(exports2, "SimpleLogRecordProcessor", { enumerable: true, get: function() {
return SimpleLogRecordProcessor_1.SimpleLogRecordProcessor;
} });
var InMemoryLogRecordExporter_1 = require_InMemoryLogRecordExporter();
Object.defineProperty(exports2, "InMemoryLogRecordExporter", { enumerable: true, get: function() {
return InMemoryLogRecordExporter_1.InMemoryLogRecordExporter;
} });
var platform_1 = require_platform6();
Object.defineProperty(exports2, "BatchLogRecordProcessor", { enumerable: true, get: function() {
return platform_1.BatchLogRecordProcessor;
} });
var LoggerConfigurators_1 = require_LoggerConfigurators();
Object.defineProperty(exports2, "createLoggerConfigurator", { enumerable: true, get: function() {
return LoggerConfigurators_1.createLoggerConfigurator;
} });
}
});
// node_modules/@opentelemetry/context-async-hooks/build/src/AbstractAsyncHooksContextManager.js
var require_AbstractAsyncHooksContextManager = __commonJS({
"node_modules/@opentelemetry/context-async-hooks/build/src/AbstractAsyncHooksContextManager.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AbstractAsyncHooksContextManager = void 0;
var events_1 = __require("events");
var ADD_LISTENER_METHODS = [
"addListener",
"on",
"once",
"prependListener",
"prependOnceListener"
];
var AbstractAsyncHooksContextManager = class {
/**
* Binds a the certain context or the active one to the target function and then returns the target
* @param context A context (span) to be bind to target
* @param target a function or event emitter. When target or one of its callbacks is called,
* the provided context will be used as the active context for the duration of the call.
*/
bind(context2, target) {
if (target instanceof events_1.EventEmitter) {
return this._bindEventEmitter(context2, target);
}
if (typeof target === "function") {
return this._bindFunction(context2, target);
}
return target;
}
_bindFunction(context2, target) {
const manager = this;
const contextWrapper = function(...args2) {
return manager.with(context2, () => target.apply(this, args2));
};
Object.defineProperty(contextWrapper, "length", {
enumerable: false,
configurable: true,
writable: false,
value: target.length
});
return contextWrapper;
}
/**
* By default, EventEmitter call their callback with their context, which we do
* not want, instead we will bind a specific context to all callbacks that
* go through it.
* @param context the context we want to bind
* @param ee EventEmitter an instance of EventEmitter to patch
*/
_bindEventEmitter(context2, ee) {
const map4 = this._getPatchMap(ee);
if (map4 !== void 0)
return ee;
this._createPatchMap(ee);
ADD_LISTENER_METHODS.forEach((methodName) => {
if (ee[methodName] === void 0)
return;
ee[methodName] = this._patchAddListener(ee, ee[methodName], context2);
});
if (typeof ee.removeListener === "function") {
ee.removeListener = this._patchRemoveListener(ee, ee.removeListener);
}
if (typeof ee.off === "function") {
ee.off = this._patchRemoveListener(ee, ee.off);
}
if (typeof ee.removeAllListeners === "function") {
ee.removeAllListeners = this._patchRemoveAllListeners(ee, ee.removeAllListeners);
}
return ee;
}
/**
* Patch methods that remove a given listener so that we match the "patched"
* version of that listener (the one that propagate context).
* @param ee EventEmitter instance
* @param original reference to the patched method
*/
_patchRemoveListener(ee, original) {
const contextManager = this;
return function(event, listener) {
const events = contextManager._getPatchMap(ee)?.[event];
if (events === void 0) {
return original.call(this, event, listener);
}
const patchedListener = events.get(listener);
return original.call(this, event, patchedListener || listener);
};
}
/**
* Patch methods that remove all listeners so we remove our
* internal references for a given event.
* @param ee EventEmitter instance
* @param original reference to the patched method
*/
_patchRemoveAllListeners(ee, original) {
const contextManager = this;
return function(event) {
const map4 = contextManager._getPatchMap(ee);
if (map4 !== void 0) {
if (arguments.length === 0) {
contextManager._createPatchMap(ee);
} else if (map4[event] !== void 0) {
delete map4[event];
}
}
return original.apply(this, arguments);
};
}
/**
* Patch methods on an event emitter instance that can add listeners so we
* can force them to propagate a given context.
* @param ee EventEmitter instance
* @param original reference to the patched method
* @param [context] context to propagate when calling listeners
*/
_patchAddListener(ee, original, context2) {
const contextManager = this;
return function(event, listener) {
if (contextManager._wrapped) {
return original.call(this, event, listener);
}
let map4 = contextManager._getPatchMap(ee);
if (map4 === void 0) {
map4 = contextManager._createPatchMap(ee);
}
let listeners = map4[event];
if (listeners === void 0) {
listeners = /* @__PURE__ */ new WeakMap();
map4[event] = listeners;
}
const patchedListener = contextManager.bind(context2, listener);
listeners.set(listener, patchedListener);
contextManager._wrapped = true;
try {
return original.call(this, event, patchedListener);
} finally {
contextManager._wrapped = false;
}
};
}
_createPatchMap(ee) {
const map4 = /* @__PURE__ */ Object.create(null);
ee[this._kOtListeners] = map4;
return map4;
}
_getPatchMap(ee) {
return ee[this._kOtListeners];
}
_kOtListeners = Symbol("OtListeners");
_wrapped = false;
};
exports2.AbstractAsyncHooksContextManager = AbstractAsyncHooksContextManager;
}
});
// node_modules/@opentelemetry/context-async-hooks/build/src/AsyncHooksContextManager.js
var require_AsyncHooksContextManager = __commonJS({
"node_modules/@opentelemetry/context-async-hooks/build/src/AsyncHooksContextManager.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AsyncHooksContextManager = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var asyncHooks = __require("async_hooks");
var AbstractAsyncHooksContextManager_1 = require_AbstractAsyncHooksContextManager();
var AsyncHooksContextManager = class extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager {
_asyncHook;
_contexts = /* @__PURE__ */ new Map();
_stack = [];
constructor() {
super();
this._asyncHook = asyncHooks.createHook({
init: this._init.bind(this),
before: this._before.bind(this),
after: this._after.bind(this),
destroy: this._destroy.bind(this),
promiseResolve: this._destroy.bind(this)
});
}
active() {
return this._stack[this._stack.length - 1] ?? api_1.ROOT_CONTEXT;
}
with(context2, fn, thisArg, ...args2) {
this._enterContext(context2);
try {
return fn.call(thisArg, ...args2);
} finally {
this._exitContext();
}
}
enable() {
this._asyncHook.enable();
return this;
}
disable() {
this._asyncHook.disable();
this._contexts.clear();
this._stack = [];
return this;
}
/**
* Init hook will be called when userland create a async context, setting the
* context as the current one if it exist.
* @param uid id of the async context
* @param type the resource type
*/
_init(uid, type2) {
if (type2 === "TIMERWRAP")
return;
const context2 = this._stack[this._stack.length - 1];
if (context2 !== void 0) {
this._contexts.set(uid, context2);
}
}
/**
* Destroy hook will be called when a given context is no longer used so we can
* remove its attached context.
* @param uid uid of the async context
*/
_destroy(uid) {
this._contexts.delete(uid);
}
/**
* Before hook is called just before executing a async context.
* @param uid uid of the async context
*/
_before(uid) {
const context2 = this._contexts.get(uid);
if (context2 !== void 0) {
this._enterContext(context2);
}
}
/**
* After hook is called just after completing the execution of a async context.
*/
_after() {
this._exitContext();
}
/**
* Set the given context as active
*/
_enterContext(context2) {
this._stack.push(context2);
}
/**
* Remove the context at the root of the stack
*/
_exitContext() {
this._stack.pop();
}
};
exports2.AsyncHooksContextManager = AsyncHooksContextManager;
}
});
// node_modules/@opentelemetry/context-async-hooks/build/src/AsyncLocalStorageContextManager.js
var require_AsyncLocalStorageContextManager = __commonJS({
"node_modules/@opentelemetry/context-async-hooks/build/src/AsyncLocalStorageContextManager.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AsyncLocalStorageContextManager = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var async_hooks_1 = __require("async_hooks");
var AbstractAsyncHooksContextManager_1 = require_AbstractAsyncHooksContextManager();
var AsyncLocalStorageContextManager = class extends AbstractAsyncHooksContextManager_1.AbstractAsyncHooksContextManager {
_asyncLocalStorage;
constructor() {
super();
this._asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
}
active() {
return this._asyncLocalStorage.getStore() ?? api_1.ROOT_CONTEXT;
}
with(context2, fn, thisArg, ...args2) {
const cb = thisArg == null ? fn : fn.bind(thisArg);
return this._asyncLocalStorage.run(context2, cb, ...args2);
}
enable() {
return this;
}
disable() {
this._asyncLocalStorage.disable();
return this;
}
};
exports2.AsyncLocalStorageContextManager = AsyncLocalStorageContextManager;
}
});
// node_modules/@opentelemetry/context-async-hooks/build/src/index.js
var require_src23 = __commonJS({
"node_modules/@opentelemetry/context-async-hooks/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AsyncLocalStorageContextManager = exports2.AsyncHooksContextManager = void 0;
var AsyncHooksContextManager_1 = require_AsyncHooksContextManager();
Object.defineProperty(exports2, "AsyncHooksContextManager", { enumerable: true, get: function() {
return AsyncHooksContextManager_1.AsyncHooksContextManager;
} });
var AsyncLocalStorageContextManager_1 = require_AsyncLocalStorageContextManager();
Object.defineProperty(exports2, "AsyncLocalStorageContextManager", { enumerable: true, get: function() {
return AsyncLocalStorageContextManager_1.AsyncLocalStorageContextManager;
} });
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/enums.js
var require_enums = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/enums.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ExceptionEventName = void 0;
exports2.ExceptionEventName = "exception";
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/Span.js
var require_Span = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/Span.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SpanImpl = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var enums_1 = require_enums();
var SpanImpl = class {
// Below properties are included to implement ReadableSpan for export
// purposes but are not intended to be written-to directly.
_spanContext;
kind;
parentSpanContext;
attributes = {};
links = [];
events = [];
startTime;
resource;
instrumentationScope;
_droppedAttributesCount = 0;
_droppedEventsCount = 0;
_droppedLinksCount = 0;
name;
status = {
code: api_1.SpanStatusCode.UNSET
};
endTime = [0, 0];
_ended = false;
_duration = [-1, -1];
_spanProcessor;
_spanLimits;
_attributeValueLengthLimit;
_performanceStartTime;
_performanceOffset;
_startTimeProvided;
/**
* Constructs a new SpanImpl instance.
*/
constructor(opts) {
const now = Date.now();
this._spanContext = opts.spanContext;
this._performanceStartTime = core_1.otperformance.now();
this._performanceOffset = now - (this._performanceStartTime + core_1.otperformance.timeOrigin);
this._startTimeProvided = opts.startTime != null;
this._spanLimits = opts.spanLimits;
this._attributeValueLengthLimit = this._spanLimits.attributeValueLengthLimit || 0;
this._spanProcessor = opts.spanProcessor;
this.name = opts.name;
this.parentSpanContext = opts.parentSpanContext;
this.kind = opts.kind;
this.links = opts.links || [];
this.startTime = this._getTime(opts.startTime ?? now);
this.resource = opts.resource;
this.instrumentationScope = opts.scope;
if (opts.attributes != null) {
this.setAttributes(opts.attributes);
}
this._spanProcessor.onStart(this, opts.context);
}
spanContext() {
return this._spanContext;
}
setAttribute(key, value) {
if (value == null || this._isSpanEnded())
return this;
if (key.length === 0) {
api_1.diag.warn(`Invalid attribute key: ${key}`);
return this;
}
if (!(0, core_1.isAttributeValue)(value)) {
api_1.diag.warn(`Invalid attribute value set for key: ${key}`);
return this;
}
const { attributeCountLimit } = this._spanLimits;
if (attributeCountLimit !== void 0 && Object.keys(this.attributes).length >= attributeCountLimit && !Object.prototype.hasOwnProperty.call(this.attributes, key)) {
this._droppedAttributesCount++;
return this;
}
this.attributes[key] = this._truncateToSize(value);
return this;
}
setAttributes(attributes) {
for (const [k, v] of Object.entries(attributes)) {
this.setAttribute(k, v);
}
return this;
}
/**
*
* @param name Span Name
* @param [attributesOrStartTime] Span attributes or start time
* if type is {@type TimeInput} and 3rd param is undefined
* @param [timeStamp] Specified time stamp for the event
*/
addEvent(name3, attributesOrStartTime, timeStamp) {
if (this._isSpanEnded())
return this;
const { eventCountLimit } = this._spanLimits;
if (eventCountLimit === 0) {
api_1.diag.warn("No events allowed.");
this._droppedEventsCount++;
return this;
}
if (eventCountLimit !== void 0 && this.events.length >= eventCountLimit) {
if (this._droppedEventsCount === 0) {
api_1.diag.debug("Dropping extra events.");
}
this.events.shift();
this._droppedEventsCount++;
}
if ((0, core_1.isTimeInput)(attributesOrStartTime)) {
if (!(0, core_1.isTimeInput)(timeStamp)) {
timeStamp = attributesOrStartTime;
}
attributesOrStartTime = void 0;
}
const attributes = (0, core_1.sanitizeAttributes)(attributesOrStartTime);
this.events.push({
name: name3,
attributes,
time: this._getTime(timeStamp),
droppedAttributesCount: 0
});
return this;
}
addLink(link) {
this.links.push(link);
return this;
}
addLinks(links) {
this.links.push(...links);
return this;
}
setStatus(status2) {
if (this._isSpanEnded())
return this;
this.status = { ...status2 };
if (this.status.message != null && typeof status2.message !== "string") {
api_1.diag.warn(`Dropping invalid status.message of type '${typeof status2.message}', expected 'string'`);
delete this.status.message;
}
return this;
}
updateName(name3) {
if (this._isSpanEnded())
return this;
this.name = name3;
return this;
}
end(endTime) {
if (this._isSpanEnded()) {
api_1.diag.error(`${this.name} ${this._spanContext.traceId}-${this._spanContext.spanId} - You can only call end() on a span once.`);
return;
}
this.endTime = this._getTime(endTime);
this._duration = (0, core_1.hrTimeDuration)(this.startTime, this.endTime);
if (this._duration[0] < 0) {
api_1.diag.warn("Inconsistent start and end time, startTime > endTime. Setting span duration to 0ms.", this.startTime, this.endTime);
this.endTime = this.startTime.slice();
this._duration = [0, 0];
}
if (this._droppedEventsCount > 0) {
api_1.diag.warn(`Dropped ${this._droppedEventsCount} events because eventCountLimit reached`);
}
if (this._spanProcessor.onEnding) {
this._spanProcessor.onEnding(this);
}
this._ended = true;
this._spanProcessor.onEnd(this);
}
_getTime(inp) {
if (typeof inp === "number" && inp <= core_1.otperformance.now()) {
return (0, core_1.hrTime)(inp + this._performanceOffset);
}
if (typeof inp === "number") {
return (0, core_1.millisToHrTime)(inp);
}
if (inp instanceof Date) {
return (0, core_1.millisToHrTime)(inp.getTime());
}
if ((0, core_1.isTimeInputHrTime)(inp)) {
return inp;
}
if (this._startTimeProvided) {
return (0, core_1.millisToHrTime)(Date.now());
}
const msDuration = core_1.otperformance.now() - this._performanceStartTime;
return (0, core_1.addHrTimes)(this.startTime, (0, core_1.millisToHrTime)(msDuration));
}
isRecording() {
return this._ended === false;
}
recordException(exception2, time3) {
const attributes = {};
if (typeof exception2 === "string") {
attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE] = exception2;
} else if (exception2) {
if (exception2.code) {
attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE] = exception2.code.toString();
} else if (exception2.name) {
attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE] = exception2.name;
}
if (exception2.message) {
attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE] = exception2.message;
}
if (exception2.stack) {
attributes[semantic_conventions_1.ATTR_EXCEPTION_STACKTRACE] = exception2.stack;
}
}
if (attributes[semantic_conventions_1.ATTR_EXCEPTION_TYPE] || attributes[semantic_conventions_1.ATTR_EXCEPTION_MESSAGE]) {
this.addEvent(enums_1.ExceptionEventName, attributes, time3);
} else {
api_1.diag.warn(`Failed to record an exception ${exception2}`);
}
}
get duration() {
return this._duration;
}
get ended() {
return this._ended;
}
get droppedAttributesCount() {
return this._droppedAttributesCount;
}
get droppedEventsCount() {
return this._droppedEventsCount;
}
get droppedLinksCount() {
return this._droppedLinksCount;
}
_isSpanEnded() {
if (this._ended) {
const error40 = new Error(`Operation attempted on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`);
api_1.diag.warn(`Cannot execute the operation on ended Span {traceId: ${this._spanContext.traceId}, spanId: ${this._spanContext.spanId}}`, error40);
}
return this._ended;
}
// Utility function to truncate given value within size
// for value type of string, will truncate to given limit
// for type of non-string, will return same value
_truncateToLimitUtil(value, limit) {
if (value.length <= limit) {
return value;
}
return value.substring(0, limit);
}
/**
* If the given attribute value is of type string and has more characters than given {@code attributeValueLengthLimit} then
* return string with truncated to {@code attributeValueLengthLimit} characters
*
* If the given attribute value is array of strings then
* return new array of strings with each element truncated to {@code attributeValueLengthLimit} characters
*
* Otherwise return same Attribute {@code value}
*
* @param value Attribute value
* @returns truncated attribute value if required, otherwise same value
*/
_truncateToSize(value) {
const limit = this._attributeValueLengthLimit;
if (limit <= 0) {
api_1.diag.warn(`Attribute value limit must be positive, got ${limit}`);
return value;
}
if (typeof value === "string") {
return this._truncateToLimitUtil(value, limit);
}
if (Array.isArray(value)) {
return value.map((val) => typeof val === "string" ? this._truncateToLimitUtil(val, limit) : val);
}
return value;
}
};
exports2.SpanImpl = SpanImpl;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/Sampler.js
var require_Sampler = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/Sampler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SamplingDecision = void 0;
var SamplingDecision;
(function(SamplingDecision2) {
SamplingDecision2[SamplingDecision2["NOT_RECORD"] = 0] = "NOT_RECORD";
SamplingDecision2[SamplingDecision2["RECORD"] = 1] = "RECORD";
SamplingDecision2[SamplingDecision2["RECORD_AND_SAMPLED"] = 2] = "RECORD_AND_SAMPLED";
})(SamplingDecision = exports2.SamplingDecision || (exports2.SamplingDecision = {}));
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/AlwaysOffSampler.js
var require_AlwaysOffSampler = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/AlwaysOffSampler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AlwaysOffSampler = void 0;
var Sampler_1 = require_Sampler();
var AlwaysOffSampler = class {
shouldSample() {
return {
decision: Sampler_1.SamplingDecision.NOT_RECORD
};
}
toString() {
return "AlwaysOffSampler";
}
};
exports2.AlwaysOffSampler = AlwaysOffSampler;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/AlwaysOnSampler.js
var require_AlwaysOnSampler = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/AlwaysOnSampler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AlwaysOnSampler = void 0;
var Sampler_1 = require_Sampler();
var AlwaysOnSampler = class {
shouldSample() {
return {
decision: Sampler_1.SamplingDecision.RECORD_AND_SAMPLED
};
}
toString() {
return "AlwaysOnSampler";
}
};
exports2.AlwaysOnSampler = AlwaysOnSampler;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/ParentBasedSampler.js
var require_ParentBasedSampler = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/ParentBasedSampler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ParentBasedSampler = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var AlwaysOffSampler_1 = require_AlwaysOffSampler();
var AlwaysOnSampler_1 = require_AlwaysOnSampler();
var ParentBasedSampler = class {
_root;
_remoteParentSampled;
_remoteParentNotSampled;
_localParentSampled;
_localParentNotSampled;
constructor(config2) {
this._root = config2.root;
if (!this._root) {
(0, core_1.globalErrorHandler)(new Error("ParentBasedSampler must have a root sampler configured"));
this._root = new AlwaysOnSampler_1.AlwaysOnSampler();
}
this._remoteParentSampled = config2.remoteParentSampled ?? new AlwaysOnSampler_1.AlwaysOnSampler();
this._remoteParentNotSampled = config2.remoteParentNotSampled ?? new AlwaysOffSampler_1.AlwaysOffSampler();
this._localParentSampled = config2.localParentSampled ?? new AlwaysOnSampler_1.AlwaysOnSampler();
this._localParentNotSampled = config2.localParentNotSampled ?? new AlwaysOffSampler_1.AlwaysOffSampler();
}
shouldSample(context2, traceId, spanName, spanKind, attributes, links) {
const parentContext = api_1.trace.getSpanContext(context2);
if (!parentContext || !(0, api_1.isSpanContextValid)(parentContext)) {
return this._root.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
}
if (parentContext.isRemote) {
if (parentContext.traceFlags & api_1.TraceFlags.SAMPLED) {
return this._remoteParentSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
}
return this._remoteParentNotSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
}
if (parentContext.traceFlags & api_1.TraceFlags.SAMPLED) {
return this._localParentSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
}
return this._localParentNotSampled.shouldSample(context2, traceId, spanName, spanKind, attributes, links);
}
toString() {
return `ParentBased{root=${this._root.toString()}, remoteParentSampled=${this._remoteParentSampled.toString()}, remoteParentNotSampled=${this._remoteParentNotSampled.toString()}, localParentSampled=${this._localParentSampled.toString()}, localParentNotSampled=${this._localParentNotSampled.toString()}}`;
}
};
exports2.ParentBasedSampler = ParentBasedSampler;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/TraceIdRatioBasedSampler.js
var require_TraceIdRatioBasedSampler = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/TraceIdRatioBasedSampler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TraceIdRatioBasedSampler = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var Sampler_1 = require_Sampler();
var TraceIdRatioBasedSampler = class {
_ratio;
_upperBound;
constructor(ratio = 0) {
this._ratio = this._normalize(ratio);
this._upperBound = Math.floor(this._ratio * 4294967295);
}
shouldSample(context2, traceId) {
return {
decision: (0, api_1.isValidTraceId)(traceId) && this._accumulate(traceId) < this._upperBound ? Sampler_1.SamplingDecision.RECORD_AND_SAMPLED : Sampler_1.SamplingDecision.NOT_RECORD
};
}
toString() {
return `TraceIdRatioBased{${this._ratio}}`;
}
_normalize(ratio) {
if (typeof ratio !== "number" || isNaN(ratio))
return 0;
return ratio >= 1 ? 1 : ratio <= 0 ? 0 : ratio;
}
_accumulate(traceId) {
let accumulation = 0;
for (let i3 = 0; i3 < traceId.length / 8; i3++) {
const pos = i3 * 8;
const part = parseInt(traceId.slice(pos, pos + 8), 16);
accumulation = (accumulation ^ part) >>> 0;
}
return accumulation;
}
};
exports2.TraceIdRatioBasedSampler = TraceIdRatioBasedSampler;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/config.js
var require_config2 = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/config.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.buildSamplerFromEnv = exports2.loadDefaultConfig = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var AlwaysOffSampler_1 = require_AlwaysOffSampler();
var AlwaysOnSampler_1 = require_AlwaysOnSampler();
var ParentBasedSampler_1 = require_ParentBasedSampler();
var TraceIdRatioBasedSampler_1 = require_TraceIdRatioBasedSampler();
var TracesSamplerValues;
(function(TracesSamplerValues2) {
TracesSamplerValues2["AlwaysOff"] = "always_off";
TracesSamplerValues2["AlwaysOn"] = "always_on";
TracesSamplerValues2["ParentBasedAlwaysOff"] = "parentbased_always_off";
TracesSamplerValues2["ParentBasedAlwaysOn"] = "parentbased_always_on";
TracesSamplerValues2["ParentBasedTraceIdRatio"] = "parentbased_traceidratio";
TracesSamplerValues2["TraceIdRatio"] = "traceidratio";
})(TracesSamplerValues || (TracesSamplerValues = {}));
var DEFAULT_RATIO = 1;
function loadDefaultConfig() {
return {
sampler: buildSamplerFromEnv(),
forceFlushTimeoutMillis: 3e4,
generalLimits: {
attributeValueLengthLimit: (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT") ?? Infinity,
attributeCountLimit: (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_COUNT_LIMIT") ?? 128
},
spanLimits: {
attributeValueLengthLimit: (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT") ?? Infinity,
attributeCountLimit: (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT") ?? 128,
linkCountLimit: (0, core_1.getNumberFromEnv)("OTEL_SPAN_LINK_COUNT_LIMIT") ?? 128,
eventCountLimit: (0, core_1.getNumberFromEnv)("OTEL_SPAN_EVENT_COUNT_LIMIT") ?? 128,
attributePerEventCountLimit: (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT") ?? 128,
attributePerLinkCountLimit: (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT") ?? 128
}
};
}
exports2.loadDefaultConfig = loadDefaultConfig;
function buildSamplerFromEnv() {
const sampler = (0, core_1.getStringFromEnv)("OTEL_TRACES_SAMPLER") ?? TracesSamplerValues.ParentBasedAlwaysOn;
switch (sampler) {
case TracesSamplerValues.AlwaysOn:
return new AlwaysOnSampler_1.AlwaysOnSampler();
case TracesSamplerValues.AlwaysOff:
return new AlwaysOffSampler_1.AlwaysOffSampler();
case TracesSamplerValues.ParentBasedAlwaysOn:
return new ParentBasedSampler_1.ParentBasedSampler({
root: new AlwaysOnSampler_1.AlwaysOnSampler()
});
case TracesSamplerValues.ParentBasedAlwaysOff:
return new ParentBasedSampler_1.ParentBasedSampler({
root: new AlwaysOffSampler_1.AlwaysOffSampler()
});
case TracesSamplerValues.TraceIdRatio:
return new TraceIdRatioBasedSampler_1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv());
case TracesSamplerValues.ParentBasedTraceIdRatio:
return new ParentBasedSampler_1.ParentBasedSampler({
root: new TraceIdRatioBasedSampler_1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv())
});
default:
api_1.diag.error(`OTEL_TRACES_SAMPLER value "${sampler}" invalid, defaulting to "${TracesSamplerValues.ParentBasedAlwaysOn}".`);
return new ParentBasedSampler_1.ParentBasedSampler({
root: new AlwaysOnSampler_1.AlwaysOnSampler()
});
}
}
exports2.buildSamplerFromEnv = buildSamplerFromEnv;
function getSamplerProbabilityFromEnv() {
const probability = (0, core_1.getNumberFromEnv)("OTEL_TRACES_SAMPLER_ARG");
if (probability == null) {
api_1.diag.error(`OTEL_TRACES_SAMPLER_ARG is blank, defaulting to ${DEFAULT_RATIO}.`);
return DEFAULT_RATIO;
}
if (probability < 0 || probability > 1) {
api_1.diag.error(`OTEL_TRACES_SAMPLER_ARG=${probability} was given, but it is out of range ([0..1]), defaulting to ${DEFAULT_RATIO}.`);
return DEFAULT_RATIO;
}
return probability;
}
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/utility.js
var require_utility = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/utility.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.reconfigureLimits = exports2.mergeConfig = exports2.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT = exports2.DEFAULT_ATTRIBUTE_COUNT_LIMIT = void 0;
var config_1 = require_config2();
var core_1 = require_src8();
exports2.DEFAULT_ATTRIBUTE_COUNT_LIMIT = 128;
exports2.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT = Infinity;
function mergeConfig(userConfig) {
const perInstanceDefaults = {
sampler: (0, config_1.buildSamplerFromEnv)()
};
const DEFAULT_CONFIG = (0, config_1.loadDefaultConfig)();
const target = Object.assign({}, DEFAULT_CONFIG, perInstanceDefaults, userConfig);
target.generalLimits = Object.assign({}, DEFAULT_CONFIG.generalLimits, userConfig.generalLimits || {});
target.spanLimits = Object.assign({}, DEFAULT_CONFIG.spanLimits, userConfig.spanLimits || {});
return target;
}
exports2.mergeConfig = mergeConfig;
function reconfigureLimits(userConfig) {
const spanLimits = Object.assign({}, userConfig.spanLimits);
spanLimits.attributeCountLimit = userConfig.spanLimits?.attributeCountLimit ?? userConfig.generalLimits?.attributeCountLimit ?? (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT") ?? (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_COUNT_LIMIT") ?? exports2.DEFAULT_ATTRIBUTE_COUNT_LIMIT;
spanLimits.attributeValueLengthLimit = userConfig.spanLimits?.attributeValueLengthLimit ?? userConfig.generalLimits?.attributeValueLengthLimit ?? (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT") ?? (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT") ?? exports2.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT;
return Object.assign({}, userConfig, { spanLimits });
}
exports2.reconfigureLimits = reconfigureLimits;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/export/BatchSpanProcessorBase.js
var require_BatchSpanProcessorBase = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/export/BatchSpanProcessorBase.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BatchSpanProcessorBase = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var BatchSpanProcessorBase = class {
_maxExportBatchSize;
_maxQueueSize;
_scheduledDelayMillis;
_exportTimeoutMillis;
_exporter;
_isExporting = false;
_finishedSpans = [];
_timer;
_shutdownOnce;
_droppedSpansCount = 0;
constructor(exporter, config2) {
this._exporter = exporter;
this._maxExportBatchSize = typeof config2?.maxExportBatchSize === "number" ? config2.maxExportBatchSize : (0, core_1.getNumberFromEnv)("OTEL_BSP_MAX_EXPORT_BATCH_SIZE") ?? 512;
this._maxQueueSize = typeof config2?.maxQueueSize === "number" ? config2.maxQueueSize : (0, core_1.getNumberFromEnv)("OTEL_BSP_MAX_QUEUE_SIZE") ?? 2048;
this._scheduledDelayMillis = typeof config2?.scheduledDelayMillis === "number" ? config2.scheduledDelayMillis : (0, core_1.getNumberFromEnv)("OTEL_BSP_SCHEDULE_DELAY") ?? 5e3;
this._exportTimeoutMillis = typeof config2?.exportTimeoutMillis === "number" ? config2.exportTimeoutMillis : (0, core_1.getNumberFromEnv)("OTEL_BSP_EXPORT_TIMEOUT") ?? 3e4;
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
if (this._maxExportBatchSize > this._maxQueueSize) {
api_1.diag.warn("BatchSpanProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize");
this._maxExportBatchSize = this._maxQueueSize;
}
}
forceFlush() {
if (this._shutdownOnce.isCalled) {
return this._shutdownOnce.promise;
}
return this._flushAll();
}
// does nothing.
onStart(_span, _parentContext) {
}
onEnd(span) {
if (this._shutdownOnce.isCalled) {
return;
}
if ((span.spanContext().traceFlags & api_1.TraceFlags.SAMPLED) === 0) {
return;
}
this._addToBuffer(span);
}
shutdown() {
return this._shutdownOnce.call();
}
_shutdown() {
return Promise.resolve().then(() => {
return this.onShutdown();
}).then(() => {
return this._flushAll();
}).then(() => {
return this._exporter.shutdown();
});
}
/** Add a span in the buffer. */
_addToBuffer(span) {
if (this._finishedSpans.length >= this._maxQueueSize) {
if (this._droppedSpansCount === 0) {
api_1.diag.debug("maxQueueSize reached, dropping spans");
}
this._droppedSpansCount++;
return;
}
if (this._droppedSpansCount > 0) {
api_1.diag.warn(`Dropped ${this._droppedSpansCount} spans because maxQueueSize reached`);
this._droppedSpansCount = 0;
}
this._finishedSpans.push(span);
this._maybeStartTimer();
}
/**
* Send all spans to the exporter respecting the batch size limit
* This function is used only on forceFlush or shutdown,
* for all other cases _flush should be used
* */
_flushAll() {
return new Promise((resolve25, reject) => {
const promises8 = [];
const count2 = Math.ceil(this._finishedSpans.length / this._maxExportBatchSize);
for (let i3 = 0, j = count2; i3 < j; i3++) {
promises8.push(this._flushOneBatch());
}
Promise.all(promises8).then(() => {
resolve25();
}).catch(reject);
});
}
_flushOneBatch() {
this._clearTimer();
if (this._finishedSpans.length === 0) {
return Promise.resolve();
}
return new Promise((resolve25, reject) => {
const timer = setTimeout(() => {
reject(new Error("Timeout"));
}, this._exportTimeoutMillis);
api_1.context.with((0, core_1.suppressTracing)(api_1.context.active()), () => {
let spans;
if (this._finishedSpans.length <= this._maxExportBatchSize) {
spans = this._finishedSpans;
this._finishedSpans = [];
} else {
spans = this._finishedSpans.splice(0, this._maxExportBatchSize);
}
const doExport = () => this._exporter.export(spans, (result2) => {
clearTimeout(timer);
if (result2.code === core_1.ExportResultCode.SUCCESS) {
resolve25();
} else {
reject(result2.error ?? new Error("BatchSpanProcessor: span export failed"));
}
});
let pendingResources = null;
for (let i3 = 0, len = spans.length; i3 < len; i3++) {
const span = spans[i3];
if (span.resource.asyncAttributesPending && span.resource.waitForAsyncAttributes) {
pendingResources ??= [];
pendingResources.push(span.resource.waitForAsyncAttributes());
}
}
if (pendingResources === null) {
doExport();
} else {
Promise.all(pendingResources).then(doExport, (err2) => {
(0, core_1.globalErrorHandler)(err2);
reject(err2);
});
}
});
});
}
_maybeStartTimer() {
if (this._isExporting)
return;
const flush = () => {
this._isExporting = true;
this._flushOneBatch().finally(() => {
this._isExporting = false;
if (this._finishedSpans.length > 0) {
this._clearTimer();
this._maybeStartTimer();
}
}).catch((e2) => {
this._isExporting = false;
(0, core_1.globalErrorHandler)(e2);
});
};
if (this._finishedSpans.length >= this._maxExportBatchSize) {
return flush();
}
if (this._timer !== void 0)
return;
this._timer = setTimeout(() => flush(), this._scheduledDelayMillis);
if (typeof this._timer !== "number") {
this._timer.unref();
}
}
_clearTimer() {
if (this._timer !== void 0) {
clearTimeout(this._timer);
this._timer = void 0;
}
}
};
exports2.BatchSpanProcessorBase = BatchSpanProcessorBase;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/export/BatchSpanProcessor.js
var require_BatchSpanProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/export/BatchSpanProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BatchSpanProcessor = void 0;
var BatchSpanProcessorBase_1 = require_BatchSpanProcessorBase();
var BatchSpanProcessor2 = class extends BatchSpanProcessorBase_1.BatchSpanProcessorBase {
onShutdown() {
}
};
exports2.BatchSpanProcessor = BatchSpanProcessor2;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/RandomIdGenerator.js
var require_RandomIdGenerator = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/RandomIdGenerator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RandomIdGenerator = void 0;
var SPAN_ID_BYTES = 8;
var TRACE_ID_BYTES = 16;
var RandomIdGenerator = class {
/**
* Returns a random 16-byte trace ID formatted/encoded as a 32 lowercase hex
* characters corresponding to 128 bits.
*/
generateTraceId = getIdGenerator(TRACE_ID_BYTES);
/**
* Returns a random 8-byte span ID formatted/encoded as a 16 lowercase hex
* characters corresponding to 64 bits.
*/
generateSpanId = getIdGenerator(SPAN_ID_BYTES);
};
exports2.RandomIdGenerator = RandomIdGenerator;
var SHARED_BUFFER = Buffer.allocUnsafe(TRACE_ID_BYTES);
function getIdGenerator(bytes) {
return function generateId() {
for (let i3 = 0; i3 < bytes / 4; i3++) {
SHARED_BUFFER.writeUInt32BE(Math.random() * 2 ** 32 >>> 0, i3 * 4);
}
for (let i3 = 0; i3 < bytes; i3++) {
if (SHARED_BUFFER[i3] > 0) {
break;
} else if (i3 === bytes - 1) {
SHARED_BUFFER[bytes - 1] = 1;
}
}
return SHARED_BUFFER.toString("hex", 0, bytes);
};
}
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/index.js
var require_node7 = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RandomIdGenerator = exports2.BatchSpanProcessor = void 0;
var BatchSpanProcessor_1 = require_BatchSpanProcessor();
Object.defineProperty(exports2, "BatchSpanProcessor", { enumerable: true, get: function() {
return BatchSpanProcessor_1.BatchSpanProcessor;
} });
var RandomIdGenerator_1 = require_RandomIdGenerator();
Object.defineProperty(exports2, "RandomIdGenerator", { enumerable: true, get: function() {
return RandomIdGenerator_1.RandomIdGenerator;
} });
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/platform/index.js
var require_platform7 = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RandomIdGenerator = exports2.BatchSpanProcessor = void 0;
var node_1 = require_node7();
Object.defineProperty(exports2, "BatchSpanProcessor", { enumerable: true, get: function() {
return node_1.BatchSpanProcessor;
} });
Object.defineProperty(exports2, "RandomIdGenerator", { enumerable: true, get: function() {
return node_1.RandomIdGenerator;
} });
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.js
var require_Tracer = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Tracer = void 0;
var api = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var Span_1 = require_Span();
var utility_1 = require_utility();
var platform_1 = require_platform7();
var Tracer = class {
_sampler;
_generalLimits;
_spanLimits;
_idGenerator;
instrumentationScope;
_resource;
_spanProcessor;
/**
* Constructs a new Tracer instance.
*/
constructor(instrumentationScope, config2, resource, spanProcessor2) {
const localConfig = (0, utility_1.mergeConfig)(config2);
this._sampler = localConfig.sampler;
this._generalLimits = localConfig.generalLimits;
this._spanLimits = localConfig.spanLimits;
this._idGenerator = config2.idGenerator || new platform_1.RandomIdGenerator();
this._resource = resource;
this._spanProcessor = spanProcessor2;
this.instrumentationScope = instrumentationScope;
}
/**
* Starts a new Span or returns the default NoopSpan based on the sampling
* decision.
*/
startSpan(name3, options = {}, context2 = api.context.active()) {
if (options.root) {
context2 = api.trace.deleteSpan(context2);
}
const parentSpan = api.trace.getSpan(context2);
if ((0, core_1.isTracingSuppressed)(context2)) {
api.diag.debug("Instrumentation suppressed, returning Noop Span");
const nonRecordingSpan = api.trace.wrapSpanContext(api.INVALID_SPAN_CONTEXT);
return nonRecordingSpan;
}
const parentSpanContext = parentSpan?.spanContext();
const spanId = this._idGenerator.generateSpanId();
let validParentSpanContext;
let traceId;
let traceState;
if (!parentSpanContext || !api.trace.isSpanContextValid(parentSpanContext)) {
traceId = this._idGenerator.generateTraceId();
} else {
traceId = parentSpanContext.traceId;
traceState = parentSpanContext.traceState;
validParentSpanContext = parentSpanContext;
}
const spanKind = options.kind ?? api.SpanKind.INTERNAL;
const links = (options.links ?? []).map((link) => {
return {
context: link.context,
attributes: (0, core_1.sanitizeAttributes)(link.attributes)
};
});
const attributes = (0, core_1.sanitizeAttributes)(options.attributes);
const samplingResult = this._sampler.shouldSample(context2, traceId, name3, spanKind, attributes, links);
traceState = samplingResult.traceState ?? traceState;
const traceFlags = samplingResult.decision === api.SamplingDecision.RECORD_AND_SAMPLED ? api.TraceFlags.SAMPLED : api.TraceFlags.NONE;
const spanContext = { traceId, spanId, traceFlags, traceState };
if (samplingResult.decision === api.SamplingDecision.NOT_RECORD) {
api.diag.debug("Recording is off, propagating context in a non-recording span");
const nonRecordingSpan = api.trace.wrapSpanContext(spanContext);
return nonRecordingSpan;
}
const initAttributes = (0, core_1.sanitizeAttributes)(Object.assign(attributes, samplingResult.attributes));
const span = new Span_1.SpanImpl({
resource: this._resource,
scope: this.instrumentationScope,
context: context2,
spanContext,
name: name3,
kind: spanKind,
links,
parentSpanContext: validParentSpanContext,
attributes: initAttributes,
startTime: options.startTime,
spanProcessor: this._spanProcessor,
spanLimits: this._spanLimits
});
return span;
}
startActiveSpan(name3, arg2, arg3, arg4) {
let opts;
let ctx;
let fn;
if (arguments.length < 2) {
return;
} else if (arguments.length === 2) {
fn = arg2;
} else if (arguments.length === 3) {
opts = arg2;
fn = arg3;
} else {
opts = arg2;
ctx = arg3;
fn = arg4;
}
const parentContext = ctx ?? api.context.active();
const span = this.startSpan(name3, opts, parentContext);
const contextWithSpanSet = api.trace.setSpan(parentContext, span);
return api.context.with(contextWithSpanSet, fn, void 0, span);
}
/** Returns the active {@link GeneralLimits}. */
getGeneralLimits() {
return this._generalLimits;
}
/** Returns the active {@link SpanLimits}. */
getSpanLimits() {
return this._spanLimits;
}
};
exports2.Tracer = Tracer;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/MultiSpanProcessor.js
var require_MultiSpanProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/MultiSpanProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MultiSpanProcessor = void 0;
var core_1 = require_src8();
var MultiSpanProcessor = class {
_spanProcessors;
constructor(spanProcessors) {
this._spanProcessors = spanProcessors;
}
forceFlush() {
const promises8 = [];
for (const spanProcessor2 of this._spanProcessors) {
promises8.push(spanProcessor2.forceFlush());
}
return new Promise((resolve25) => {
Promise.all(promises8).then(() => {
resolve25();
}).catch((error40) => {
(0, core_1.globalErrorHandler)(error40 || new Error("MultiSpanProcessor: forceFlush failed"));
resolve25();
});
});
}
onStart(span, context2) {
for (const spanProcessor2 of this._spanProcessors) {
spanProcessor2.onStart(span, context2);
}
}
onEnding(span) {
for (const spanProcessor2 of this._spanProcessors) {
if (spanProcessor2.onEnding) {
spanProcessor2.onEnding(span);
}
}
}
onEnd(span) {
for (const spanProcessor2 of this._spanProcessors) {
spanProcessor2.onEnd(span);
}
}
shutdown() {
const promises8 = [];
for (const spanProcessor2 of this._spanProcessors) {
promises8.push(spanProcessor2.shutdown());
}
return new Promise((resolve25, reject) => {
Promise.all(promises8).then(() => {
resolve25();
}, reject);
});
}
};
exports2.MultiSpanProcessor = MultiSpanProcessor;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.js
var require_BasicTracerProvider = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BasicTracerProvider = exports2.ForceFlushState = void 0;
var core_1 = require_src8();
var resources_1 = require_src13();
var Tracer_1 = require_Tracer();
var config_1 = require_config2();
var MultiSpanProcessor_1 = require_MultiSpanProcessor();
var utility_1 = require_utility();
var ForceFlushState;
(function(ForceFlushState2) {
ForceFlushState2[ForceFlushState2["resolved"] = 0] = "resolved";
ForceFlushState2[ForceFlushState2["timeout"] = 1] = "timeout";
ForceFlushState2[ForceFlushState2["error"] = 2] = "error";
ForceFlushState2[ForceFlushState2["unresolved"] = 3] = "unresolved";
})(ForceFlushState = exports2.ForceFlushState || (exports2.ForceFlushState = {}));
var BasicTracerProvider = class {
_config;
_tracers = /* @__PURE__ */ new Map();
_resource;
_activeSpanProcessor;
constructor(config2 = {}) {
const mergedConfig = (0, core_1.merge)({}, (0, config_1.loadDefaultConfig)(), (0, utility_1.reconfigureLimits)(config2));
this._resource = mergedConfig.resource ?? (0, resources_1.defaultResource)();
this._config = Object.assign({}, mergedConfig, {
resource: this._resource
});
const spanProcessors = [];
if (config2.spanProcessors?.length) {
spanProcessors.push(...config2.spanProcessors);
}
this._activeSpanProcessor = new MultiSpanProcessor_1.MultiSpanProcessor(spanProcessors);
}
getTracer(name3, version4, options) {
const key = `${name3}@${version4 || ""}:${options?.schemaUrl || ""}`;
if (!this._tracers.has(key)) {
this._tracers.set(key, new Tracer_1.Tracer({ name: name3, version: version4, schemaUrl: options?.schemaUrl }, this._config, this._resource, this._activeSpanProcessor));
}
return this._tracers.get(key);
}
forceFlush() {
const timeout = this._config.forceFlushTimeoutMillis;
const promises8 = this._activeSpanProcessor["_spanProcessors"].map((spanProcessor2) => {
return new Promise((resolve25) => {
let state;
const timeoutInterval = setTimeout(() => {
resolve25(new Error(`Span processor did not completed within timeout period of ${timeout} ms`));
state = ForceFlushState.timeout;
}, timeout);
spanProcessor2.forceFlush().then(() => {
clearTimeout(timeoutInterval);
if (state !== ForceFlushState.timeout) {
state = ForceFlushState.resolved;
resolve25(state);
}
}).catch((error40) => {
clearTimeout(timeoutInterval);
state = ForceFlushState.error;
resolve25(error40);
});
});
});
return new Promise((resolve25, reject) => {
Promise.all(promises8).then((results) => {
const errors = results.filter((result2) => result2 !== ForceFlushState.resolved);
if (errors.length > 0) {
reject(errors);
} else {
resolve25();
}
}).catch((error40) => reject([error40]));
});
}
shutdown() {
return this._activeSpanProcessor.shutdown();
}
};
exports2.BasicTracerProvider = BasicTracerProvider;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/export/ConsoleSpanExporter.js
var require_ConsoleSpanExporter = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/export/ConsoleSpanExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ConsoleSpanExporter = void 0;
var core_1 = require_src8();
var ConsoleSpanExporter2 = class {
/**
* Export spans.
* @param spans
* @param resultCallback
*/
export(spans, resultCallback) {
return this._sendSpans(spans, resultCallback);
}
/**
* Shutdown the exporter.
*/
shutdown() {
this._sendSpans([]);
return this.forceFlush();
}
/**
* Exports any pending spans in exporter
*/
forceFlush() {
return Promise.resolve();
}
/**
* converts span info into more readable format
* @param span
*/
_exportInfo(span) {
return {
resource: {
attributes: span.resource.attributes
},
instrumentationScope: span.instrumentationScope,
traceId: span.spanContext().traceId,
parentSpanContext: span.parentSpanContext,
traceState: span.spanContext().traceState?.serialize(),
name: span.name,
id: span.spanContext().spanId,
kind: span.kind,
timestamp: (0, core_1.hrTimeToMicroseconds)(span.startTime),
duration: (0, core_1.hrTimeToMicroseconds)(span.duration),
attributes: span.attributes,
status: span.status,
events: span.events,
links: span.links
};
}
/**
* Showing spans in console
* @param spans
* @param done
*/
_sendSpans(spans, done) {
for (const span of spans) {
console.dir(this._exportInfo(span), { depth: 3 });
}
if (done) {
return done({ code: core_1.ExportResultCode.SUCCESS });
}
}
};
exports2.ConsoleSpanExporter = ConsoleSpanExporter2;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/export/InMemorySpanExporter.js
var require_InMemorySpanExporter = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/export/InMemorySpanExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InMemorySpanExporter = void 0;
var core_1 = require_src8();
var InMemorySpanExporter = class {
_finishedSpans = [];
/**
* Indicates if the exporter has been "shutdown."
* When false, exported spans will not be stored in-memory.
*/
_stopped = false;
export(spans, resultCallback) {
if (this._stopped)
return resultCallback({
code: core_1.ExportResultCode.FAILED,
error: new Error("Exporter has been stopped")
});
this._finishedSpans.push(...spans);
setTimeout(() => resultCallback({ code: core_1.ExportResultCode.SUCCESS }), 0);
}
shutdown() {
this._stopped = true;
this._finishedSpans = [];
return this.forceFlush();
}
/**
* Exports any pending spans in the exporter
*/
forceFlush() {
return Promise.resolve();
}
reset() {
this._finishedSpans = [];
}
getFinishedSpans() {
return this._finishedSpans;
}
};
exports2.InMemorySpanExporter = InMemorySpanExporter;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/export/SimpleSpanProcessor.js
var require_SimpleSpanProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/export/SimpleSpanProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SimpleSpanProcessor = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var SimpleSpanProcessor = class {
_exporter;
_shutdownOnce;
_pendingExports;
constructor(exporter) {
this._exporter = exporter;
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
this._pendingExports = /* @__PURE__ */ new Set();
}
async forceFlush() {
await Promise.all(Array.from(this._pendingExports));
if (this._exporter.forceFlush) {
await this._exporter.forceFlush();
}
}
onStart(_span, _parentContext) {
}
onEnd(span) {
if (this._shutdownOnce.isCalled) {
return;
}
if ((span.spanContext().traceFlags & api_1.TraceFlags.SAMPLED) === 0) {
return;
}
const pendingExport = this._doExport(span).catch((err2) => (0, core_1.globalErrorHandler)(err2));
this._pendingExports.add(pendingExport);
void pendingExport.finally(() => this._pendingExports.delete(pendingExport));
}
async _doExport(span) {
if (span.resource.asyncAttributesPending) {
await span.resource.waitForAsyncAttributes?.();
}
const result2 = await core_1.internal._export(this._exporter, [span]);
if (result2.code !== core_1.ExportResultCode.SUCCESS) {
throw result2.error ?? new Error(`SimpleSpanProcessor: span export failed (status ${result2})`);
}
}
shutdown() {
return this._shutdownOnce.call();
}
_shutdown() {
return this._exporter.shutdown();
}
};
exports2.SimpleSpanProcessor = SimpleSpanProcessor;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/export/NoopSpanProcessor.js
var require_NoopSpanProcessor = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/export/NoopSpanProcessor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NoopSpanProcessor = void 0;
var NoopSpanProcessor = class {
onStart(_span, _context) {
}
onEnd(_span) {
}
shutdown() {
return Promise.resolve();
}
forceFlush() {
return Promise.resolve();
}
};
exports2.NoopSpanProcessor = NoopSpanProcessor;
}
});
// node_modules/@opentelemetry/sdk-trace-base/build/src/index.js
var require_src24 = __commonJS({
"node_modules/@opentelemetry/sdk-trace-base/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SamplingDecision = exports2.TraceIdRatioBasedSampler = exports2.ParentBasedSampler = exports2.AlwaysOnSampler = exports2.AlwaysOffSampler = exports2.NoopSpanProcessor = exports2.SimpleSpanProcessor = exports2.InMemorySpanExporter = exports2.ConsoleSpanExporter = exports2.RandomIdGenerator = exports2.BatchSpanProcessor = exports2.BasicTracerProvider = void 0;
var BasicTracerProvider_1 = require_BasicTracerProvider();
Object.defineProperty(exports2, "BasicTracerProvider", { enumerable: true, get: function() {
return BasicTracerProvider_1.BasicTracerProvider;
} });
var platform_1 = require_platform7();
Object.defineProperty(exports2, "BatchSpanProcessor", { enumerable: true, get: function() {
return platform_1.BatchSpanProcessor;
} });
Object.defineProperty(exports2, "RandomIdGenerator", { enumerable: true, get: function() {
return platform_1.RandomIdGenerator;
} });
var ConsoleSpanExporter_1 = require_ConsoleSpanExporter();
Object.defineProperty(exports2, "ConsoleSpanExporter", { enumerable: true, get: function() {
return ConsoleSpanExporter_1.ConsoleSpanExporter;
} });
var InMemorySpanExporter_1 = require_InMemorySpanExporter();
Object.defineProperty(exports2, "InMemorySpanExporter", { enumerable: true, get: function() {
return InMemorySpanExporter_1.InMemorySpanExporter;
} });
var SimpleSpanProcessor_1 = require_SimpleSpanProcessor();
Object.defineProperty(exports2, "SimpleSpanProcessor", { enumerable: true, get: function() {
return SimpleSpanProcessor_1.SimpleSpanProcessor;
} });
var NoopSpanProcessor_1 = require_NoopSpanProcessor();
Object.defineProperty(exports2, "NoopSpanProcessor", { enumerable: true, get: function() {
return NoopSpanProcessor_1.NoopSpanProcessor;
} });
var AlwaysOffSampler_1 = require_AlwaysOffSampler();
Object.defineProperty(exports2, "AlwaysOffSampler", { enumerable: true, get: function() {
return AlwaysOffSampler_1.AlwaysOffSampler;
} });
var AlwaysOnSampler_1 = require_AlwaysOnSampler();
Object.defineProperty(exports2, "AlwaysOnSampler", { enumerable: true, get: function() {
return AlwaysOnSampler_1.AlwaysOnSampler;
} });
var ParentBasedSampler_1 = require_ParentBasedSampler();
Object.defineProperty(exports2, "ParentBasedSampler", { enumerable: true, get: function() {
return ParentBasedSampler_1.ParentBasedSampler;
} });
var TraceIdRatioBasedSampler_1 = require_TraceIdRatioBasedSampler();
Object.defineProperty(exports2, "TraceIdRatioBasedSampler", { enumerable: true, get: function() {
return TraceIdRatioBasedSampler_1.TraceIdRatioBasedSampler;
} });
var Sampler_1 = require_Sampler();
Object.defineProperty(exports2, "SamplingDecision", { enumerable: true, get: function() {
return Sampler_1.SamplingDecision;
} });
}
});
// node_modules/@opentelemetry/sdk-trace-node/build/src/NodeTracerProvider.js
var require_NodeTracerProvider = __commonJS({
"node_modules/@opentelemetry/sdk-trace-node/build/src/NodeTracerProvider.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NodeTracerProvider = void 0;
var context_async_hooks_1 = require_src23();
var sdk_trace_base_1 = require_src24();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
function setupContextManager(contextManager) {
if (contextManager === null) {
return;
}
if (contextManager === void 0) {
const defaultContextManager = new context_async_hooks_1.AsyncLocalStorageContextManager();
defaultContextManager.enable();
api_1.context.setGlobalContextManager(defaultContextManager);
return;
}
contextManager.enable();
api_1.context.setGlobalContextManager(contextManager);
}
function setupPropagator(propagator) {
if (propagator === null) {
return;
}
if (propagator === void 0) {
api_1.propagation.setGlobalPropagator(new core_1.CompositePropagator({
propagators: [
new core_1.W3CTraceContextPropagator(),
new core_1.W3CBaggagePropagator()
]
}));
return;
}
api_1.propagation.setGlobalPropagator(propagator);
}
var NodeTracerProvider = class extends sdk_trace_base_1.BasicTracerProvider {
constructor(config2 = {}) {
super(config2);
}
/**
* Register this TracerProvider for use with the OpenTelemetry API.
* Undefined values may be replaced with defaults, and
* null values will be skipped.
*
* @param config Configuration object for SDK registration
*/
register(config2 = {}) {
api_1.trace.setGlobalTracerProvider(this);
setupContextManager(config2.contextManager);
setupPropagator(config2.propagator);
}
};
exports2.NodeTracerProvider = NodeTracerProvider;
}
});
// node_modules/@opentelemetry/sdk-trace-node/build/src/index.js
var require_src25 = __commonJS({
"node_modules/@opentelemetry/sdk-trace-node/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TraceIdRatioBasedSampler = exports2.SimpleSpanProcessor = exports2.SamplingDecision = exports2.RandomIdGenerator = exports2.ParentBasedSampler = exports2.NoopSpanProcessor = exports2.InMemorySpanExporter = exports2.ConsoleSpanExporter = exports2.BatchSpanProcessor = exports2.BasicTracerProvider = exports2.AlwaysOnSampler = exports2.AlwaysOffSampler = exports2.NodeTracerProvider = void 0;
var NodeTracerProvider_1 = require_NodeTracerProvider();
Object.defineProperty(exports2, "NodeTracerProvider", { enumerable: true, get: function() {
return NodeTracerProvider_1.NodeTracerProvider;
} });
var sdk_trace_base_1 = require_src24();
Object.defineProperty(exports2, "AlwaysOffSampler", { enumerable: true, get: function() {
return sdk_trace_base_1.AlwaysOffSampler;
} });
Object.defineProperty(exports2, "AlwaysOnSampler", { enumerable: true, get: function() {
return sdk_trace_base_1.AlwaysOnSampler;
} });
Object.defineProperty(exports2, "BasicTracerProvider", { enumerable: true, get: function() {
return sdk_trace_base_1.BasicTracerProvider;
} });
Object.defineProperty(exports2, "BatchSpanProcessor", { enumerable: true, get: function() {
return sdk_trace_base_1.BatchSpanProcessor;
} });
Object.defineProperty(exports2, "ConsoleSpanExporter", { enumerable: true, get: function() {
return sdk_trace_base_1.ConsoleSpanExporter;
} });
Object.defineProperty(exports2, "InMemorySpanExporter", { enumerable: true, get: function() {
return sdk_trace_base_1.InMemorySpanExporter;
} });
Object.defineProperty(exports2, "NoopSpanProcessor", { enumerable: true, get: function() {
return sdk_trace_base_1.NoopSpanProcessor;
} });
Object.defineProperty(exports2, "ParentBasedSampler", { enumerable: true, get: function() {
return sdk_trace_base_1.ParentBasedSampler;
} });
Object.defineProperty(exports2, "RandomIdGenerator", { enumerable: true, get: function() {
return sdk_trace_base_1.RandomIdGenerator;
} });
Object.defineProperty(exports2, "SamplingDecision", { enumerable: true, get: function() {
return sdk_trace_base_1.SamplingDecision;
} });
Object.defineProperty(exports2, "SimpleSpanProcessor", { enumerable: true, get: function() {
return sdk_trace_base_1.SimpleSpanProcessor;
} });
Object.defineProperty(exports2, "TraceIdRatioBasedSampler", { enumerable: true, get: function() {
return sdk_trace_base_1.TraceIdRatioBasedSampler;
} });
}
});
// node_modules/@opentelemetry/instrumentation/build/src/autoLoaderUtils.js
var require_autoLoaderUtils = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/autoLoaderUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.disableInstrumentations = exports2.enableInstrumentations = void 0;
function enableInstrumentations(instrumentations, tracerProvider, meterProvider, loggerProvider) {
for (let i3 = 0, j = instrumentations.length; i3 < j; i3++) {
const instrumentation = instrumentations[i3];
if (tracerProvider) {
instrumentation.setTracerProvider(tracerProvider);
}
if (meterProvider) {
instrumentation.setMeterProvider(meterProvider);
}
if (loggerProvider && instrumentation.setLoggerProvider) {
instrumentation.setLoggerProvider(loggerProvider);
}
if (!instrumentation.getConfig().enabled) {
instrumentation.enable();
}
}
}
exports2.enableInstrumentations = enableInstrumentations;
function disableInstrumentations(instrumentations) {
instrumentations.forEach((instrumentation) => instrumentation.disable());
}
exports2.disableInstrumentations = disableInstrumentations;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/autoLoader.js
var require_autoLoader = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/autoLoader.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.registerInstrumentations = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var api_logs_1 = require_src7();
var autoLoaderUtils_1 = require_autoLoaderUtils();
function registerInstrumentations(options) {
const tracerProvider = options.tracerProvider || api_1.trace.getTracerProvider();
const meterProvider = options.meterProvider || api_1.metrics.getMeterProvider();
const loggerProvider = options.loggerProvider || api_logs_1.logs.getLoggerProvider();
const instrumentations = options.instrumentations?.flat() ?? [];
(0, autoLoaderUtils_1.enableInstrumentations)(instrumentations, tracerProvider, meterProvider, loggerProvider);
return () => {
(0, autoLoaderUtils_1.disableInstrumentations)(instrumentations);
};
}
exports2.registerInstrumentations = registerInstrumentations;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/semver.js
var require_semver = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/semver.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.satisfies = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var VERSION_REGEXP = /^(?:v)?(?<version>(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*))(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
var RANGE_REGEXP = /^(?<op><|>|=|==|<=|>=|~|\^|~>)?\s*(?:v)?(?<version>(?<major>x|X|\*|0|[1-9]\d*)(?:\.(?<minor>x|X|\*|0|[1-9]\d*))?(?:\.(?<patch>x|X|\*|0|[1-9]\d*))?)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
var operatorResMap = {
">": [1],
">=": [0, 1],
"=": [0],
"<=": [-1, 0],
"<": [-1],
"!=": [-1, 1]
};
function satisfies(version4, range2, options) {
if (!_validateVersion(version4)) {
api_1.diag.error(`Invalid version: ${version4}`);
return false;
}
if (!range2) {
return true;
}
range2 = range2.replace(/([<>=~^]+)\s+/g, "$1");
const parsedVersion = _parseVersion(version4);
if (!parsedVersion) {
return false;
}
const allParsedRanges = [];
const checkResult = _doSatisfies(parsedVersion, range2, allParsedRanges, options);
if (checkResult && !options?.includePrerelease) {
return _doPreleaseCheck(parsedVersion, allParsedRanges);
}
return checkResult;
}
exports2.satisfies = satisfies;
function _validateVersion(version4) {
return typeof version4 === "string" && VERSION_REGEXP.test(version4);
}
function _doSatisfies(parsedVersion, range2, allParsedRanges, options) {
if (range2.includes("||")) {
const ranges2 = range2.trim().split("||");
for (const r2 of ranges2) {
if (_checkRange(parsedVersion, r2, allParsedRanges, options)) {
return true;
}
}
return false;
} else if (range2.includes(" - ")) {
range2 = replaceHyphen(range2, options);
} else if (range2.includes(" ")) {
const ranges2 = range2.trim().replace(/\s{2,}/g, " ").split(" ");
for (const r2 of ranges2) {
if (!_checkRange(parsedVersion, r2, allParsedRanges, options)) {
return false;
}
}
return true;
}
return _checkRange(parsedVersion, range2, allParsedRanges, options);
}
function _checkRange(parsedVersion, range2, allParsedRanges, options) {
range2 = _normalizeRange(range2, options);
if (range2.includes(" ")) {
return _doSatisfies(parsedVersion, range2, allParsedRanges, options);
} else {
const parsedRange = _parseRange(range2);
allParsedRanges.push(parsedRange);
return _satisfies(parsedVersion, parsedRange);
}
}
function _satisfies(parsedVersion, parsedRange) {
if (parsedRange.invalid) {
return false;
}
if (!parsedRange.version || _isWildcard(parsedRange.version)) {
return true;
}
let comparisonResult = _compareVersionSegments(parsedVersion.versionSegments || [], parsedRange.versionSegments || []);
if (comparisonResult === 0) {
const versionPrereleaseSegments = parsedVersion.prereleaseSegments || [];
const rangePrereleaseSegments = parsedRange.prereleaseSegments || [];
if (!versionPrereleaseSegments.length && !rangePrereleaseSegments.length) {
comparisonResult = 0;
} else if (!versionPrereleaseSegments.length && rangePrereleaseSegments.length) {
comparisonResult = 1;
} else if (versionPrereleaseSegments.length && !rangePrereleaseSegments.length) {
comparisonResult = -1;
} else {
comparisonResult = _compareVersionSegments(versionPrereleaseSegments, rangePrereleaseSegments);
}
}
return operatorResMap[parsedRange.op]?.includes(comparisonResult);
}
function _doPreleaseCheck(parsedVersion, allParsedRanges) {
if (parsedVersion.prerelease) {
return allParsedRanges.some((r2) => r2.prerelease && r2.version === parsedVersion.version);
}
return true;
}
function _normalizeRange(range2, options) {
range2 = range2.trim();
range2 = replaceCaret(range2, options);
range2 = replaceTilde(range2);
range2 = replaceXRange(range2, options);
range2 = range2.trim();
return range2;
}
function isX(id) {
return !id || id.toLowerCase() === "x" || id === "*";
}
function _parseVersion(versionString) {
const match2 = versionString.match(VERSION_REGEXP);
if (!match2) {
api_1.diag.error(`Invalid version: ${versionString}`);
return void 0;
}
const version4 = match2.groups.version;
const prerelease = match2.groups.prerelease;
const build = match2.groups.build;
const versionSegments = version4.split(".");
const prereleaseSegments = prerelease?.split(".");
return {
op: void 0,
version: version4,
versionSegments,
versionSegmentCount: versionSegments.length,
prerelease,
prereleaseSegments,
prereleaseSegmentCount: prereleaseSegments ? prereleaseSegments.length : 0,
build
};
}
function _parseRange(rangeString) {
if (!rangeString) {
return {};
}
const match2 = rangeString.match(RANGE_REGEXP);
if (!match2) {
api_1.diag.error(`Invalid range: ${rangeString}`);
return {
invalid: true
};
}
let op = match2.groups.op;
const version4 = match2.groups.version;
const prerelease = match2.groups.prerelease;
const build = match2.groups.build;
const versionSegments = version4.split(".");
const prereleaseSegments = prerelease?.split(".");
if (op === "==") {
op = "=";
}
return {
op: op || "=",
version: version4,
versionSegments,
versionSegmentCount: versionSegments.length,
prerelease,
prereleaseSegments,
prereleaseSegmentCount: prereleaseSegments ? prereleaseSegments.length : 0,
build
};
}
function _isWildcard(s2) {
return s2 === "*" || s2 === "x" || s2 === "X";
}
function _parseVersionString(v) {
const n3 = parseInt(v, 10);
return isNaN(n3) ? v : n3;
}
function _normalizeVersionType(a2, b) {
if (typeof a2 === typeof b) {
if (typeof a2 === "number") {
return [a2, b];
} else if (typeof a2 === "string") {
return [a2, b];
} else {
throw new Error("Version segments can only be strings or numbers");
}
} else {
return [String(a2), String(b)];
}
}
function _compareVersionStrings(v13, v2) {
if (_isWildcard(v13) || _isWildcard(v2)) {
return 0;
}
const [parsedV1, parsedV2] = _normalizeVersionType(_parseVersionString(v13), _parseVersionString(v2));
if (parsedV1 > parsedV2) {
return 1;
} else if (parsedV1 < parsedV2) {
return -1;
}
return 0;
}
function _compareVersionSegments(v13, v2) {
for (let i3 = 0; i3 < Math.max(v13.length, v2.length); i3++) {
const res = _compareVersionStrings(v13[i3] || "0", v2[i3] || "0");
if (res !== 0) {
return res;
}
}
return 0;
}
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
var NUMERICIDENTIFIER = "0|[1-9]\\d*";
var NONNUMERICIDENTIFIER = `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`;
var GTLT = "((?:<|>)?=?)";
var PRERELEASEIDENTIFIER = `(?:${NUMERICIDENTIFIER}|${NONNUMERICIDENTIFIER})`;
var PRERELEASE = `(?:-(${PRERELEASEIDENTIFIER}(?:\\.${PRERELEASEIDENTIFIER})*))`;
var BUILDIDENTIFIER = `${LETTERDASHNUMBER}+`;
var BUILD = `(?:\\+(${BUILDIDENTIFIER}(?:\\.${BUILDIDENTIFIER})*))`;
var XRANGEIDENTIFIER = `${NUMERICIDENTIFIER}|x|X|\\*`;
var XRANGEPLAIN = `[v=\\s]*(${XRANGEIDENTIFIER})(?:\\.(${XRANGEIDENTIFIER})(?:\\.(${XRANGEIDENTIFIER})(?:${PRERELEASE})?${BUILD}?)?)?`;
var XRANGE = `^${GTLT}\\s*${XRANGEPLAIN}$`;
var XRANGE_REGEXP = new RegExp(XRANGE);
var HYPHENRANGE = `^\\s*(${XRANGEPLAIN})\\s+-\\s+(${XRANGEPLAIN})\\s*$`;
var HYPHENRANGE_REGEXP = new RegExp(HYPHENRANGE);
var LONETILDE = "(?:~>?)";
var TILDE = `^${LONETILDE}${XRANGEPLAIN}$`;
var TILDE_REGEXP = new RegExp(TILDE);
var LONECARET = "(?:\\^)";
var CARET = `^${LONECARET}${XRANGEPLAIN}$`;
var CARET_REGEXP = new RegExp(CARET);
function replaceTilde(comp) {
const r2 = TILDE_REGEXP;
return comp.replace(r2, (_, M, m, p, pr) => {
let ret;
if (isX(M)) {
ret = "";
} else if (isX(m)) {
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
} else if (isX(p)) {
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
} else if (pr) {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
} else {
ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
}
return ret;
});
}
function replaceCaret(comp, options) {
const r2 = CARET_REGEXP;
const z = options?.includePrerelease ? "-0" : "";
return comp.replace(r2, (_, M, m, p, pr) => {
let ret;
if (isX(M)) {
ret = "";
} else if (isX(m)) {
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
} else if (isX(p)) {
if (M === "0") {
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
} else {
ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
}
} else if (pr) {
if (M === "0") {
if (m === "0") {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
} else {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
}
} else {
ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
}
} else {
if (M === "0") {
if (m === "0") {
ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
} else {
ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
}
} else {
ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
}
}
return ret;
});
}
function replaceXRange(comp, options) {
const r2 = XRANGE_REGEXP;
return comp.replace(r2, (ret, gtlt, M, m, p, pr) => {
const xM = isX(M);
const xm = xM || isX(m);
const xp = xm || isX(p);
const anyX = xp;
if (gtlt === "=" && anyX) {
gtlt = "";
}
pr = options?.includePrerelease ? "-0" : "";
if (xM) {
if (gtlt === ">" || gtlt === "<") {
ret = "<0.0.0-0";
} else {
ret = "*";
}
} else if (gtlt && anyX) {
if (xm) {
m = 0;
}
p = 0;
if (gtlt === ">") {
gtlt = ">=";
if (xm) {
M = +M + 1;
m = 0;
p = 0;
} else {
m = +m + 1;
p = 0;
}
} else if (gtlt === "<=") {
gtlt = "<";
if (xm) {
M = +M + 1;
} else {
m = +m + 1;
}
}
if (gtlt === "<") {
pr = "-0";
}
ret = `${gtlt + M}.${m}.${p}${pr}`;
} else if (xm) {
ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
} else if (xp) {
ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
}
return ret;
});
}
function replaceHyphen(comp, options) {
const r2 = HYPHENRANGE_REGEXP;
return comp.replace(r2, (_, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
if (isX(fM)) {
from = "";
} else if (isX(fm)) {
from = `>=${fM}.0.0${options?.includePrerelease ? "-0" : ""}`;
} else if (isX(fp)) {
from = `>=${fM}.${fm}.0${options?.includePrerelease ? "-0" : ""}`;
} else if (fpr) {
from = `>=${from}`;
} else {
from = `>=${from}${options?.includePrerelease ? "-0" : ""}`;
}
if (isX(tM)) {
to = "";
} else if (isX(tm)) {
to = `<${+tM + 1}.0.0-0`;
} else if (isX(tp)) {
to = `<${tM}.${+tm + 1}.0-0`;
} else if (tpr) {
to = `<=${tM}.${tm}.${tp}-${tpr}`;
} else if (options?.includePrerelease) {
to = `<${tM}.${tm}.${+tp + 1}-0`;
} else {
to = `<=${to}`;
}
return `${from} ${to}`.trim();
});
}
}
});
// node_modules/@opentelemetry/instrumentation/build/src/shimmer.js
var require_shimmer = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/shimmer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.massUnwrap = exports2.unwrap = exports2.massWrap = exports2.wrap = void 0;
var logger3 = console.error.bind(console);
function defineProperty2(obj, name3, value) {
const enumerable = !!obj[name3] && Object.prototype.propertyIsEnumerable.call(obj, name3);
Object.defineProperty(obj, name3, {
configurable: true,
enumerable,
writable: true,
value
});
}
var wrap = (nodule, name3, wrapper) => {
if (!nodule || !nodule[name3]) {
logger3("no original function " + String(name3) + " to wrap");
return;
}
if (!wrapper) {
logger3("no wrapper function");
logger3(new Error().stack);
return;
}
const original = nodule[name3];
if (typeof original !== "function" || typeof wrapper !== "function") {
logger3("original object and wrapper must be functions");
return;
}
const wrapped = wrapper(original, name3);
defineProperty2(wrapped, "__original", original);
defineProperty2(wrapped, "__unwrap", () => {
if (nodule[name3] === wrapped) {
defineProperty2(nodule, name3, original);
}
});
defineProperty2(wrapped, "__wrapped", true);
defineProperty2(nodule, name3, wrapped);
return wrapped;
};
exports2.wrap = wrap;
var massWrap = (nodules, names, wrapper) => {
if (!nodules) {
logger3("must provide one or more modules to patch");
logger3(new Error().stack);
return;
} else if (!Array.isArray(nodules)) {
nodules = [nodules];
}
if (!(names && Array.isArray(names))) {
logger3("must provide one or more functions to wrap on modules");
return;
}
nodules.forEach((nodule) => {
names.forEach((name3) => {
(0, exports2.wrap)(nodule, name3, wrapper);
});
});
};
exports2.massWrap = massWrap;
var unwrap = (nodule, name3) => {
if (!nodule || !nodule[name3]) {
logger3("no function to unwrap.");
logger3(new Error().stack);
return;
}
const wrapped = nodule[name3];
if (!wrapped.__unwrap) {
logger3("no original to unwrap to -- has " + String(name3) + " already been unwrapped?");
} else {
wrapped.__unwrap();
return;
}
};
exports2.unwrap = unwrap;
var massUnwrap = (nodules, names) => {
if (!nodules) {
logger3("must provide one or more modules to patch");
logger3(new Error().stack);
return;
} else if (!Array.isArray(nodules)) {
nodules = [nodules];
}
if (!(names && Array.isArray(names))) {
logger3("must provide one or more functions to unwrap on modules");
return;
}
nodules.forEach((nodule) => {
names.forEach((name3) => {
(0, exports2.unwrap)(nodule, name3);
});
});
};
exports2.massUnwrap = massUnwrap;
function shimmer(options) {
if (options && options.logger) {
if (typeof options.logger !== "function") {
logger3("new logger isn't a function, not replacing");
} else {
logger3 = options.logger;
}
}
}
exports2.default = shimmer;
shimmer.wrap = exports2.wrap;
shimmer.massWrap = exports2.massWrap;
shimmer.unwrap = exports2.unwrap;
shimmer.massUnwrap = exports2.massUnwrap;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js
var require_instrumentation = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InstrumentationAbstract = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var api_logs_1 = require_src7();
var shimmer = require_shimmer();
var InstrumentationAbstract = class {
_config = {};
_tracer;
_meter;
_logger;
_diag;
instrumentationName;
instrumentationVersion;
constructor(instrumentationName, instrumentationVersion, config2) {
this.instrumentationName = instrumentationName;
this.instrumentationVersion = instrumentationVersion;
this.setConfig(config2);
this._diag = api_1.diag.createComponentLogger({
namespace: instrumentationName
});
this._tracer = api_1.trace.getTracer(instrumentationName, instrumentationVersion);
this._meter = api_1.metrics.getMeter(instrumentationName, instrumentationVersion);
this._logger = api_logs_1.logs.getLogger(instrumentationName, instrumentationVersion);
this._updateMetricInstruments();
}
/* Api to wrap instrumented method */
_wrap = shimmer.wrap;
/* Api to unwrap instrumented methods */
_unwrap = shimmer.unwrap;
/* Api to mass wrap instrumented method */
_massWrap = shimmer.massWrap;
/* Api to mass unwrap instrumented methods */
_massUnwrap = shimmer.massUnwrap;
/* Returns meter */
get meter() {
return this._meter;
}
/**
* Sets MeterProvider to this plugin
* @param meterProvider
*/
setMeterProvider(meterProvider) {
this._meter = meterProvider.getMeter(this.instrumentationName, this.instrumentationVersion);
this._updateMetricInstruments();
}
/* Returns logger */
get logger() {
return this._logger;
}
/**
* Sets LoggerProvider to this plugin
* @param loggerProvider
*/
setLoggerProvider(loggerProvider) {
this._logger = loggerProvider.getLogger(this.instrumentationName, this.instrumentationVersion);
}
/**
* @experimental
*
* Get module definitions defined by {@link init}.
* This can be used for experimental compile-time instrumentation.
*
* @returns an array of {@link InstrumentationModuleDefinition}
*/
getModuleDefinitions() {
const initResult = this.init() ?? [];
if (!Array.isArray(initResult)) {
return [initResult];
}
return initResult;
}
/**
* Sets the new metric instruments with the current Meter.
*/
_updateMetricInstruments() {
return;
}
/* Returns InstrumentationConfig */
getConfig() {
return this._config;
}
/**
* Sets InstrumentationConfig to this plugin
* @param config
*/
setConfig(config2) {
this._config = {
enabled: true,
...config2
};
}
/**
* Sets TraceProvider to this plugin
* @param tracerProvider
*/
setTracerProvider(tracerProvider) {
this._tracer = tracerProvider.getTracer(this.instrumentationName, this.instrumentationVersion);
}
/* Returns tracer */
get tracer() {
return this._tracer;
}
/**
* Execute span customization hook, if configured, and log any errors.
* Any semantics of the trigger and info are defined by the specific instrumentation.
* @param hookHandler The optional hook handler which the user has configured via instrumentation config
* @param triggerName The name of the trigger for executing the hook for logging purposes
* @param span The span to which the hook should be applied
* @param info The info object to be passed to the hook, with useful data the hook may use
*/
_runSpanCustomizationHook(hookHandler, triggerName, span, info2) {
if (!hookHandler) {
return;
}
try {
hookHandler(span, info2);
} catch (e2) {
this._diag.error(`Error running span customization hook due to exception in handler`, { triggerName }, e2);
}
}
};
exports2.InstrumentationAbstract = InstrumentationAbstract;
}
});
// node_modules/module-details-from-path/index.js
var require_module_details_from_path = __commonJS({
"node_modules/module-details-from-path/index.js"(exports2, module2) {
"use strict";
var sep8 = __require("path").sep;
module2.exports = function(file2) {
var segments = file2.split(sep8);
var index = segments.lastIndexOf("node_modules");
if (index === -1) return;
if (!segments[index + 1]) return;
var scoped = segments[index + 1][0] === "@";
var name3 = scoped ? segments[index + 1] + "/" + segments[index + 2] : segments[index + 1];
var offset = scoped ? 3 : 2;
var basedir = "";
var lastBaseDirSegmentIndex = index + offset - 1;
for (var i3 = 0; i3 <= lastBaseDirSegmentIndex; i3++) {
if (i3 === lastBaseDirSegmentIndex) {
basedir += segments[i3];
} else {
basedir += segments[i3] + sep8;
}
}
var path101 = "";
var lastSegmentIndex = segments.length - 1;
for (var i22 = index + offset; i22 <= lastSegmentIndex; i22++) {
if (i22 === lastSegmentIndex) {
path101 += segments[i22];
} else {
path101 += segments[i22] + sep8;
}
}
return {
name: name3,
basedir,
path: path101
};
};
}
});
// node_modules/require-in-the-middle/index.js
var require_require_in_the_middle = __commonJS({
"node_modules/require-in-the-middle/index.js"(exports2, module2) {
"use strict";
var path101 = __require("path");
var Module4 = __require("module");
var debug2 = require_src()("require-in-the-middle");
var moduleDetailsFromPath = require_module_details_from_path();
module2.exports = Hook;
module2.exports.Hook = Hook;
var builtinModules;
var isCore;
if (Module4.isBuiltin) {
isCore = Module4.isBuiltin;
} else if (Module4.builtinModules) {
isCore = (moduleName2) => {
if (moduleName2.startsWith("node:")) {
return true;
}
if (builtinModules === void 0) {
builtinModules = new Set(Module4.builtinModules);
}
return builtinModules.has(moduleName2);
};
} else {
throw new Error("'require-in-the-middle' requires Node.js >=v9.3.0 or >=v8.10.0");
}
var normalize5 = /([/\\]index)?(\.js)?$/;
var ExportsCache = class {
constructor() {
this._localCache = /* @__PURE__ */ new Map();
this._kRitmExports = Symbol("RitmExports");
}
has(filename, isBuiltin) {
if (this._localCache.has(filename)) {
return true;
} else if (!isBuiltin) {
const mod2 = __require.cache[filename];
return !!(mod2 && this._kRitmExports in mod2);
} else {
return false;
}
}
get(filename, isBuiltin) {
const cachedExports = this._localCache.get(filename);
if (cachedExports !== void 0) {
return cachedExports;
} else if (!isBuiltin) {
const mod2 = __require.cache[filename];
return mod2 && mod2[this._kRitmExports];
}
}
set(filename, exports3, isBuiltin) {
if (isBuiltin) {
this._localCache.set(filename, exports3);
} else if (filename in __require.cache) {
__require.cache[filename][this._kRitmExports] = exports3;
} else {
debug2('non-core module is unexpectedly not in require.cache: "%s"', filename);
this._localCache.set(filename, exports3);
}
}
};
function Hook(modules, options, onrequire) {
if (this instanceof Hook === false) return new Hook(modules, options, onrequire);
if (typeof modules === "function") {
onrequire = modules;
modules = null;
options = null;
} else if (typeof options === "function") {
onrequire = options;
options = null;
}
if (typeof Module4._resolveFilename !== "function") {
console.error("Error: Expected Module._resolveFilename to be a function (was: %s) - aborting!", typeof Module4._resolveFilename);
console.error("Please report this error as an issue related to Node.js %s at https://github.com/nodejs/require-in-the-middle/issues", process.version);
return;
}
this._cache = new ExportsCache();
this._unhooked = false;
this._origRequire = Module4.prototype.require;
const self2 = this;
const patching = /* @__PURE__ */ new Set();
const internals = options ? options.internals === true : false;
const hasWhitelist = Array.isArray(modules);
debug2("registering require hook");
this._require = Module4.prototype.require = function(id) {
if (self2._unhooked === true) {
debug2("ignoring require call - module is soft-unhooked");
return self2._origRequire.apply(this, arguments);
}
return patchedRequire.call(this, arguments, false);
};
if (typeof process.getBuiltinModule === "function") {
this._origGetBuiltinModule = process.getBuiltinModule;
this._getBuiltinModule = process.getBuiltinModule = function(id) {
if (self2._unhooked === true) {
debug2("ignoring process.getBuiltinModule call - module is soft-unhooked");
return self2._origGetBuiltinModule.apply(this, arguments);
}
return patchedRequire.call(this, arguments, true);
};
}
function patchedRequire(args2, coreOnly) {
const id = args2[0];
const core2 = isCore(id);
let filename;
if (core2) {
filename = id;
if (id.startsWith("node:")) {
const idWithoutPrefix = id.slice(5);
if (isCore(idWithoutPrefix)) {
filename = idWithoutPrefix;
}
}
} else if (coreOnly) {
debug2("call to process.getBuiltinModule with unknown built-in id");
return self2._origGetBuiltinModule.apply(this, args2);
} else {
try {
filename = Module4._resolveFilename(id, this);
} catch (resolveErr) {
debug2('Module._resolveFilename("%s") threw %j, calling original Module.require', id, resolveErr.message);
return self2._origRequire.apply(this, args2);
}
}
let moduleName2, basedir;
debug2("processing %s module require('%s'): %s", core2 === true ? "core" : "non-core", id, filename);
if (self2._cache.has(filename, core2) === true) {
debug2("returning already patched cached module: %s", filename);
return self2._cache.get(filename, core2);
}
const isPatching = patching.has(filename);
if (isPatching === false) {
patching.add(filename);
}
const exports3 = coreOnly ? self2._origGetBuiltinModule.apply(this, args2) : self2._origRequire.apply(this, args2);
if (isPatching === true) {
debug2("module is in the process of being patched already - ignoring: %s", filename);
return exports3;
}
patching.delete(filename);
if (core2 === true) {
if (hasWhitelist === true && modules.includes(filename) === false) {
debug2("ignoring core module not on whitelist: %s", filename);
return exports3;
}
moduleName2 = filename;
} else if (hasWhitelist === true && modules.includes(filename)) {
const parsedPath = path101.parse(filename);
moduleName2 = parsedPath.name;
basedir = parsedPath.dir;
} else {
const stat9 = moduleDetailsFromPath(filename);
if (stat9 === void 0) {
debug2("could not parse filename: %s", filename);
return exports3;
}
moduleName2 = stat9.name;
basedir = stat9.basedir;
const fullModuleName = resolveModuleName(stat9);
debug2("resolved filename to module: %s (id: %s, resolved: %s, basedir: %s)", moduleName2, id, fullModuleName, basedir);
let matchFound = false;
if (hasWhitelist) {
if (!id.startsWith(".") && modules.includes(id)) {
moduleName2 = id;
matchFound = true;
}
if (!modules.includes(moduleName2) && !modules.includes(fullModuleName)) {
return exports3;
}
if (modules.includes(fullModuleName) && fullModuleName !== moduleName2) {
moduleName2 = fullModuleName;
matchFound = true;
}
}
if (!matchFound) {
let res;
try {
res = __require.resolve(moduleName2, { paths: [basedir] });
} catch (e2) {
debug2("could not resolve module: %s", moduleName2);
self2._cache.set(filename, exports3, core2);
return exports3;
}
if (res !== filename) {
if (internals === true) {
moduleName2 = moduleName2 + path101.sep + path101.relative(basedir, filename);
debug2("preparing to process require of internal file: %s", moduleName2);
} else {
debug2("ignoring require of non-main module file: %s", res);
self2._cache.set(filename, exports3, core2);
return exports3;
}
}
}
}
self2._cache.set(filename, exports3, core2);
debug2("calling require hook: %s", moduleName2);
const patchedExports = onrequire(exports3, moduleName2, basedir);
self2._cache.set(filename, patchedExports, core2);
debug2("returning module: %s", moduleName2);
return patchedExports;
}
}
Hook.prototype.unhook = function() {
this._unhooked = true;
if (this._require === Module4.prototype.require) {
Module4.prototype.require = this._origRequire;
debug2("require unhook successful");
} else {
debug2("require unhook unsuccessful");
}
if (process.getBuiltinModule !== void 0) {
if (this._getBuiltinModule === process.getBuiltinModule) {
process.getBuiltinModule = this._origGetBuiltinModule;
debug2("process.getBuiltinModule unhook successful");
} else {
debug2("process.getBuiltinModule unhook unsuccessful");
}
}
};
function resolveModuleName(stat9) {
const normalizedPath = path101.sep !== "/" ? stat9.path.split(path101.sep).join("/") : stat9.path;
return path101.posix.join(stat9.name, normalizedPath).replace(normalize5, "");
}
}
});
// node_modules/@opentelemetry/instrumentation/build/src/platform/node/ModuleNameTrie.js
var require_ModuleNameTrie = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/platform/node/ModuleNameTrie.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ModuleNameTrie = exports2.ModuleNameSeparator = void 0;
exports2.ModuleNameSeparator = "/";
var ModuleNameTrieNode = class {
hooks = [];
children = /* @__PURE__ */ new Map();
};
var ModuleNameTrie = class {
_trie = new ModuleNameTrieNode();
_counter = 0;
/**
* Insert a module hook into the trie
*
* @param {Hooked} hook Hook
*/
insert(hook) {
let trieNode = this._trie;
for (const moduleNamePart of hook.moduleName.split(exports2.ModuleNameSeparator)) {
let nextNode = trieNode.children.get(moduleNamePart);
if (!nextNode) {
nextNode = new ModuleNameTrieNode();
trieNode.children.set(moduleNamePart, nextNode);
}
trieNode = nextNode;
}
trieNode.hooks.push({ hook, insertedId: this._counter++ });
}
/**
* Search for matching hooks in the trie
*
* @param {string} moduleName Module name
* @param {boolean} maintainInsertionOrder Whether to return the results in insertion order
* @param {boolean} fullOnly Whether to return only full matches
* @returns {Hooked[]} Matching hooks
*/
search(moduleName2, { maintainInsertionOrder, fullOnly } = {}) {
let trieNode = this._trie;
const results = [];
let foundFull = true;
for (const moduleNamePart of moduleName2.split(exports2.ModuleNameSeparator)) {
const nextNode = trieNode.children.get(moduleNamePart);
if (!nextNode) {
foundFull = false;
break;
}
if (!fullOnly) {
results.push(...nextNode.hooks);
}
trieNode = nextNode;
}
if (fullOnly && foundFull) {
results.push(...trieNode.hooks);
}
if (results.length === 0) {
return [];
}
if (results.length === 1) {
return [results[0].hook];
}
if (maintainInsertionOrder) {
results.sort((a2, b) => a2.insertedId - b.insertedId);
}
return results.map(({ hook }) => hook);
}
};
exports2.ModuleNameTrie = ModuleNameTrie;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/platform/node/RequireInTheMiddleSingleton.js
var require_RequireInTheMiddleSingleton = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/platform/node/RequireInTheMiddleSingleton.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RequireInTheMiddleSingleton = void 0;
var require_in_the_middle_1 = require_require_in_the_middle();
var path101 = __require("path");
var ModuleNameTrie_1 = require_ModuleNameTrie();
var isMocha = [
"afterEach",
"after",
"beforeEach",
"before",
"describe",
"it"
].every((fn) => {
return typeof global[fn] === "function";
});
var RequireInTheMiddleSingleton = class _RequireInTheMiddleSingleton {
_moduleNameTrie = new ModuleNameTrie_1.ModuleNameTrie();
static _instance;
constructor() {
this._initialize();
}
_initialize() {
new require_in_the_middle_1.Hook(
// Intercept all `require` calls; we will filter the matching ones below
null,
{ internals: true },
(exports3, name3, basedir) => {
const normalizedModuleName = normalizePathSeparators(name3);
const matches = this._moduleNameTrie.search(normalizedModuleName, {
maintainInsertionOrder: true,
// For core modules (e.g. `fs`), do not match on sub-paths (e.g. `fs/promises').
// This matches the behavior of `require-in-the-middle`.
// `basedir` is always `undefined` for core modules.
fullOnly: basedir === void 0
});
for (const { onRequire } of matches) {
exports3 = onRequire(exports3, name3, basedir);
}
return exports3;
}
);
}
/**
* Register a hook with `require-in-the-middle`
*
* @param {string} moduleName Module name
* @param {OnRequireFn} onRequire Hook function
* @returns {Hooked} Registered hook
*/
register(moduleName2, onRequire) {
const hooked = { moduleName: moduleName2, onRequire };
this._moduleNameTrie.insert(hooked);
return hooked;
}
/**
* Get the `RequireInTheMiddleSingleton` singleton
*
* @returns {RequireInTheMiddleSingleton} Singleton of `RequireInTheMiddleSingleton`
*/
static getInstance() {
if (isMocha)
return new _RequireInTheMiddleSingleton();
return this._instance = this._instance ?? new _RequireInTheMiddleSingleton();
}
};
exports2.RequireInTheMiddleSingleton = RequireInTheMiddleSingleton;
function normalizePathSeparators(moduleNameOrPath) {
return path101.sep !== ModuleNameTrie_1.ModuleNameSeparator ? moduleNameOrPath.split(path101.sep).join(ModuleNameTrie_1.ModuleNameSeparator) : moduleNameOrPath;
}
}
});
// node_modules/import-in-the-middle/lib/register.js
var require_register = __commonJS({
"node_modules/import-in-the-middle/lib/register.js"(exports2) {
var importHooks = [];
var setters = /* @__PURE__ */ new WeakMap();
var getters = /* @__PURE__ */ new WeakMap();
var specifiers = /* @__PURE__ */ new Map();
var toHook = [];
var proxyHandler2 = {
set(target, name3, value) {
const set3 = setters.get(target);
const setter = set3 && set3[name3];
if (typeof setter === "function") {
return setter(value);
}
return true;
},
get(target, name3) {
if (name3 === Symbol.toStringTag) {
return "Module";
}
const getter = getters.get(target)[name3];
if (typeof getter === "function") {
return getter();
}
},
defineProperty(target, property, descriptor2) {
if (!("value" in descriptor2)) {
throw new Error("Getters/setters are not supported for exports property descriptors.");
}
const set3 = setters.get(target);
const setter = set3 && set3[property];
if (typeof setter === "function") {
return setter(descriptor2.value);
}
return true;
}
};
function register(name3, namespace, set3, get2, specifier) {
specifiers.set(name3, specifier);
setters.set(namespace, set3);
getters.set(namespace, get2);
const proxy2 = new Proxy(namespace, proxyHandler2);
importHooks.forEach((hook) => hook(name3, proxy2, specifier));
toHook.push([name3, proxy2, specifier]);
}
exports2.register = register;
exports2.importHooks = importHooks;
exports2.specifiers = specifiers;
exports2.toHook = toHook;
}
});
// node_modules/import-in-the-middle/index.js
var require_import_in_the_middle = __commonJS({
"node_modules/import-in-the-middle/index.js"(exports2, module2) {
var path101 = __require("path");
var moduleDetailsFromPath = require_module_details_from_path();
var { fileURLToPath: fileURLToPath17 } = __require("url");
var { MessageChannel } = __require("worker_threads");
var { isBuiltin } = __require("module");
if (!isBuiltin) {
isBuiltin = () => true;
}
var {
importHooks,
specifiers,
toHook
} = require_register();
function addHook(hook) {
importHooks.push(hook);
toHook.forEach(([name3, namespace, specifier]) => hook(name3, namespace, specifier));
}
function removeHook(hook) {
const index = importHooks.indexOf(hook);
if (index > -1) {
importHooks.splice(index, 1);
}
}
function callHookFn(hookFn, namespace, name3, baseDir) {
const newDefault = hookFn(namespace, name3, baseDir);
if (newDefault && newDefault !== namespace) {
if ("default" in namespace) {
namespace.default = newDefault;
}
}
}
var sendModulesToLoader;
function createAddHookMessageChannel() {
const { port1, port2 } = new MessageChannel();
let pendingAckCount = 0;
let resolveFn;
sendModulesToLoader = (modules) => {
pendingAckCount++;
port1.postMessage(modules);
};
port1.on("message", () => {
pendingAckCount--;
if (resolveFn && pendingAckCount <= 0) {
resolveFn();
}
}).unref();
function waitForAllMessagesAcknowledged() {
const timer = setInterval(() => {
}, 1e3);
const promise2 = new Promise((resolve25) => {
resolveFn = resolve25;
}).then(() => {
clearInterval(timer);
});
if (pendingAckCount === 0) {
resolveFn();
}
return promise2;
}
const addHookMessagePort = port2;
const registerOptions = { data: { addHookMessagePort, include: [] }, transferList: [addHookMessagePort] };
return { registerOptions, addHookMessagePort, waitForAllMessagesAcknowledged };
}
function Hook(modules, options, hookFn) {
if (this instanceof Hook === false) return new Hook(modules, options, hookFn);
if (typeof modules === "function") {
hookFn = modules;
modules = null;
options = null;
} else if (typeof options === "function") {
hookFn = options;
options = null;
}
const internals = options ? options.internals === true : false;
if (sendModulesToLoader && Array.isArray(modules)) {
sendModulesToLoader(modules);
}
this._iitmHook = (name3, namespace, specifier) => {
const loadUrl = name3;
const isNodeUrl = loadUrl.startsWith("node:");
let filePath, baseDir;
if (isNodeUrl) {
const unprefixed = name3.slice(5);
if (isBuiltin(unprefixed)) {
name3 = unprefixed;
}
} else if (loadUrl.startsWith("file://")) {
const stackTraceLimit = Error.stackTraceLimit;
Error.stackTraceLimit = 0;
try {
filePath = fileURLToPath17(name3);
name3 = filePath;
} catch (e2) {
}
Error.stackTraceLimit = stackTraceLimit;
if (filePath) {
const details = moduleDetailsFromPath(filePath);
if (details) {
name3 = details.name;
baseDir = details.basedir;
}
}
}
if (modules) {
for (const matchArg of modules) {
if (filePath && matchArg === filePath) {
callHookFn(hookFn, namespace, filePath, void 0);
} else if (matchArg === name3) {
if (!baseDir) {
callHookFn(hookFn, namespace, name3, baseDir);
} else if (baseDir.endsWith(specifiers.get(loadUrl))) {
callHookFn(hookFn, namespace, name3, baseDir);
} else if (internals) {
const internalPath = name3 + path101.sep + path101.relative(baseDir, filePath);
callHookFn(hookFn, namespace, internalPath, baseDir);
}
} else if (matchArg === specifier) {
callHookFn(hookFn, namespace, specifier, baseDir);
}
}
} else {
callHookFn(hookFn, namespace, name3, baseDir);
}
};
addHook(this._iitmHook);
}
Hook.prototype.unhook = function() {
removeHook(this._iitmHook);
};
module2.exports = Hook;
module2.exports.Hook = Hook;
module2.exports.addHook = addHook;
module2.exports.removeHook = removeHook;
module2.exports.createAddHookMessageChannel = createAddHookMessageChannel;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/utils.js
var require_utils8 = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isWrapped = exports2.safeExecuteInTheMiddleAsync = exports2.safeExecuteInTheMiddle = void 0;
function safeExecuteInTheMiddle(execute, onFinish, preventThrowingError) {
let error40;
let result2;
try {
result2 = execute();
} catch (e2) {
error40 = e2;
} finally {
onFinish(error40, result2);
if (error40 && !preventThrowingError) {
throw error40;
}
return result2;
}
}
exports2.safeExecuteInTheMiddle = safeExecuteInTheMiddle;
async function safeExecuteInTheMiddleAsync(execute, onFinish, preventThrowingError) {
let error40;
let result2;
try {
result2 = await execute();
} catch (e2) {
error40 = e2;
} finally {
await onFinish(error40, result2);
if (error40 && !preventThrowingError) {
throw error40;
}
return result2;
}
}
exports2.safeExecuteInTheMiddleAsync = safeExecuteInTheMiddleAsync;
function isWrapped(func2) {
return typeof func2 === "function" && typeof func2.__original === "function" && typeof func2.__unwrap === "function" && func2.__wrapped === true;
}
exports2.isWrapped = isWrapped;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/platform/node/instrumentation.js
var require_instrumentation2 = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/platform/node/instrumentation.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InstrumentationBase = void 0;
var path101 = __require("path");
var util_1 = __require("util");
var semver_1 = require_semver();
var shimmer_1 = require_shimmer();
var instrumentation_1 = require_instrumentation();
var RequireInTheMiddleSingleton_1 = require_RequireInTheMiddleSingleton();
var import_in_the_middle_1 = require_import_in_the_middle();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var require_in_the_middle_1 = require_require_in_the_middle();
var fs_1 = __require("fs");
var utils_1 = require_utils8();
var InstrumentationBase = class extends instrumentation_1.InstrumentationAbstract {
_modules;
_hooks = [];
_requireInTheMiddleSingleton = RequireInTheMiddleSingleton_1.RequireInTheMiddleSingleton.getInstance();
_enabled = false;
constructor(instrumentationName, instrumentationVersion, config2) {
super(instrumentationName, instrumentationVersion, config2);
let modules = this.init();
if (modules && !Array.isArray(modules)) {
modules = [modules];
}
this._modules = modules || [];
if (this._config.enabled) {
this.enable();
}
}
_wrap = (moduleExports2, name3, wrapper) => {
if ((0, utils_1.isWrapped)(moduleExports2[name3])) {
this._unwrap(moduleExports2, name3);
}
if (!util_1.types.isProxy(moduleExports2)) {
return (0, shimmer_1.wrap)(moduleExports2, name3, wrapper);
} else {
const wrapped = (0, shimmer_1.wrap)(Object.assign({}, moduleExports2), name3, wrapper);
Object.defineProperty(moduleExports2, name3, {
value: wrapped
});
return wrapped;
}
};
_unwrap = (moduleExports2, name3) => {
if (!util_1.types.isProxy(moduleExports2)) {
return (0, shimmer_1.unwrap)(moduleExports2, name3);
} else {
return Object.defineProperty(moduleExports2, name3, {
value: moduleExports2[name3]
});
}
};
_massWrap = (moduleExportsArray, names, wrapper) => {
if (!moduleExportsArray) {
api_1.diag.error("must provide one or more modules to patch");
return;
} else if (!Array.isArray(moduleExportsArray)) {
moduleExportsArray = [moduleExportsArray];
}
if (!(names && Array.isArray(names))) {
api_1.diag.error("must provide one or more functions to wrap on modules");
return;
}
moduleExportsArray.forEach((moduleExports2) => {
names.forEach((name3) => {
this._wrap(moduleExports2, name3, wrapper);
});
});
};
_massUnwrap = (moduleExportsArray, names) => {
if (!moduleExportsArray) {
api_1.diag.error("must provide one or more modules to patch");
return;
} else if (!Array.isArray(moduleExportsArray)) {
moduleExportsArray = [moduleExportsArray];
}
if (!(names && Array.isArray(names))) {
api_1.diag.error("must provide one or more functions to wrap on modules");
return;
}
moduleExportsArray.forEach((moduleExports2) => {
names.forEach((name3) => {
this._unwrap(moduleExports2, name3);
});
});
};
_warnOnPreloadedModules() {
this._modules.forEach((module3) => {
const { name: name3 } = module3;
try {
const resolvedModule = __require.resolve(name3);
if (__require.cache[resolvedModule]) {
this._diag.warn(`Module ${name3} has been loaded before ${this.instrumentationName} so it might not work, please initialize it before requiring ${name3}`);
}
} catch {
}
});
}
_extractPackageVersion(baseDir) {
try {
const json3 = (0, fs_1.readFileSync)(path101.join(baseDir, "package.json"), {
encoding: "utf8"
});
const version4 = JSON.parse(json3).version;
return typeof version4 === "string" ? version4 : void 0;
} catch {
api_1.diag.warn("Failed extracting version", baseDir);
}
return void 0;
}
_onRequire(module3, exports3, name3, baseDir) {
if (!baseDir) {
if (typeof module3.patch === "function") {
module3.moduleExports = exports3;
if (this._enabled) {
this._diag.debug("Applying instrumentation patch for nodejs core module on require hook", {
module: module3.name
});
return module3.patch(exports3);
}
}
return exports3;
}
const version4 = this._extractPackageVersion(baseDir);
module3.moduleVersion = version4;
if (module3.name === name3) {
if (isSupported(module3.supportedVersions, version4, module3.includePrerelease)) {
if (typeof module3.patch === "function") {
module3.moduleExports = exports3;
if (this._enabled) {
this._diag.debug("Applying instrumentation patch for module on require hook", {
module: module3.name,
version: module3.moduleVersion,
baseDir
});
return module3.patch(exports3, module3.moduleVersion);
}
}
}
return exports3;
}
const files = module3.files ?? [];
const normalizedName = path101.normalize(name3);
const supportedFileInstrumentations = files.filter((f) => f.name === normalizedName && isSupported(f.supportedVersions, version4, module3.includePrerelease));
return supportedFileInstrumentations.reduce((patchedExports, file2) => {
file2.moduleExports = patchedExports;
if (this._enabled) {
this._diag.debug("Applying instrumentation patch for nodejs module file on require hook", {
module: module3.name,
version: module3.moduleVersion,
fileName: file2.name,
baseDir
});
return file2.patch(patchedExports, module3.moduleVersion);
}
return patchedExports;
}, exports3);
}
enable() {
if (this._enabled) {
return;
}
this._enabled = true;
if (this._hooks.length > 0) {
for (const module3 of this._modules) {
if (typeof module3.patch === "function" && module3.moduleExports) {
this._diag.debug("Applying instrumentation patch for nodejs module on instrumentation enabled", {
module: module3.name,
version: module3.moduleVersion
});
module3.patch(module3.moduleExports, module3.moduleVersion);
}
for (const file2 of module3.files) {
if (file2.moduleExports) {
this._diag.debug("Applying instrumentation patch for nodejs module file on instrumentation enabled", {
module: module3.name,
version: module3.moduleVersion,
fileName: file2.name
});
file2.patch(file2.moduleExports, module3.moduleVersion);
}
}
}
return;
}
this._warnOnPreloadedModules();
for (const module3 of this._modules) {
const hookFn = (exports3, name3, baseDir) => {
if (!baseDir && path101.isAbsolute(name3)) {
const parsedPath = path101.parse(name3);
name3 = parsedPath.name;
baseDir = parsedPath.dir;
}
return this._onRequire(module3, exports3, name3, baseDir);
};
const onRequire = (exports3, name3, baseDir) => {
return this._onRequire(module3, exports3, name3, baseDir);
};
const hook = path101.isAbsolute(module3.name) ? new require_in_the_middle_1.Hook([module3.name], { internals: true }, onRequire) : this._requireInTheMiddleSingleton.register(module3.name, onRequire);
this._hooks.push(hook);
const esmHook = new import_in_the_middle_1.Hook([module3.name], { internals: false }, hookFn);
this._hooks.push(esmHook);
}
}
disable() {
if (!this._enabled) {
return;
}
this._enabled = false;
for (const module3 of this._modules) {
if (typeof module3.unpatch === "function" && module3.moduleExports) {
this._diag.debug("Removing instrumentation patch for nodejs module on instrumentation disabled", {
module: module3.name,
version: module3.moduleVersion
});
module3.unpatch(module3.moduleExports, module3.moduleVersion);
}
for (const file2 of module3.files) {
if (file2.moduleExports) {
this._diag.debug("Removing instrumentation patch for nodejs module file on instrumentation disabled", {
module: module3.name,
version: module3.moduleVersion,
fileName: file2.name
});
file2.unpatch(file2.moduleExports, module3.moduleVersion);
}
}
}
}
isEnabled() {
return this._enabled;
}
};
exports2.InstrumentationBase = InstrumentationBase;
function isSupported(supportedVersions, version4, includePrerelease) {
if (typeof version4 === "undefined") {
return supportedVersions.includes("*");
}
return supportedVersions.some((supportedVersion) => {
return (0, semver_1.satisfies)(version4, supportedVersion, { includePrerelease });
});
}
}
});
// node_modules/@opentelemetry/instrumentation/build/src/platform/node/normalize.js
var require_normalize = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/platform/node/normalize.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.normalize = void 0;
var path_1 = __require("path");
Object.defineProperty(exports2, "normalize", { enumerable: true, get: function() {
return path_1.normalize;
} });
}
});
// node_modules/@opentelemetry/instrumentation/build/src/platform/node/index.js
var require_node8 = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.normalize = exports2.InstrumentationBase = void 0;
var instrumentation_1 = require_instrumentation2();
Object.defineProperty(exports2, "InstrumentationBase", { enumerable: true, get: function() {
return instrumentation_1.InstrumentationBase;
} });
var normalize_1 = require_normalize();
Object.defineProperty(exports2, "normalize", { enumerable: true, get: function() {
return normalize_1.normalize;
} });
}
});
// node_modules/@opentelemetry/instrumentation/build/src/platform/index.js
var require_platform8 = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.normalize = exports2.InstrumentationBase = void 0;
var node_1 = require_node8();
Object.defineProperty(exports2, "InstrumentationBase", { enumerable: true, get: function() {
return node_1.InstrumentationBase;
} });
Object.defineProperty(exports2, "normalize", { enumerable: true, get: function() {
return node_1.normalize;
} });
}
});
// node_modules/@opentelemetry/instrumentation/build/src/instrumentationNodeModuleDefinition.js
var require_instrumentationNodeModuleDefinition = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/instrumentationNodeModuleDefinition.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InstrumentationNodeModuleDefinition = void 0;
var InstrumentationNodeModuleDefinition = class {
files;
name;
supportedVersions;
patch;
unpatch;
constructor(name3, supportedVersions, patch, unpatch, files) {
this.files = files || [];
this.name = name3;
this.supportedVersions = supportedVersions;
this.patch = patch;
this.unpatch = unpatch;
}
};
exports2.InstrumentationNodeModuleDefinition = InstrumentationNodeModuleDefinition;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/instrumentationNodeModuleFile.js
var require_instrumentationNodeModuleFile = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/instrumentationNodeModuleFile.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InstrumentationNodeModuleFile = void 0;
var index_1 = require_platform8();
var InstrumentationNodeModuleFile = class {
name;
supportedVersions;
patch;
unpatch;
constructor(name3, supportedVersions, patch, unpatch) {
this.name = (0, index_1.normalize)(name3);
this.supportedVersions = supportedVersions;
this.patch = patch;
this.unpatch = unpatch;
}
};
exports2.InstrumentationNodeModuleFile = InstrumentationNodeModuleFile;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/semconvStability.js
var require_semconvStability = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/semconvStability.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.semconvStabilityFromStr = exports2.SemconvStability = void 0;
var SemconvStability;
(function(SemconvStability2) {
SemconvStability2[SemconvStability2["STABLE"] = 1] = "STABLE";
SemconvStability2[SemconvStability2["OLD"] = 2] = "OLD";
SemconvStability2[SemconvStability2["DUPLICATE"] = 3] = "DUPLICATE";
})(SemconvStability = exports2.SemconvStability || (exports2.SemconvStability = {}));
function semconvStabilityFromStr(namespace, str2) {
let semconvStability = SemconvStability.OLD;
const entries = str2?.split(",").map((v) => v.trim()).filter((s2) => s2 !== "");
for (const entry of entries ?? []) {
if (entry.toLowerCase() === namespace + "/dup") {
semconvStability = SemconvStability.DUPLICATE;
break;
} else if (entry.toLowerCase() === namespace) {
semconvStability = SemconvStability.STABLE;
}
}
return semconvStability;
}
exports2.semconvStabilityFromStr = semconvStabilityFromStr;
}
});
// node_modules/@opentelemetry/instrumentation/build/src/index.js
var require_src26 = __commonJS({
"node_modules/@opentelemetry/instrumentation/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.semconvStabilityFromStr = exports2.SemconvStability = exports2.safeExecuteInTheMiddleAsync = exports2.safeExecuteInTheMiddle = exports2.isWrapped = exports2.InstrumentationNodeModuleFile = exports2.InstrumentationNodeModuleDefinition = exports2.InstrumentationBase = exports2.registerInstrumentations = void 0;
var autoLoader_1 = require_autoLoader();
Object.defineProperty(exports2, "registerInstrumentations", { enumerable: true, get: function() {
return autoLoader_1.registerInstrumentations;
} });
var index_1 = require_platform8();
Object.defineProperty(exports2, "InstrumentationBase", { enumerable: true, get: function() {
return index_1.InstrumentationBase;
} });
var instrumentationNodeModuleDefinition_1 = require_instrumentationNodeModuleDefinition();
Object.defineProperty(exports2, "InstrumentationNodeModuleDefinition", { enumerable: true, get: function() {
return instrumentationNodeModuleDefinition_1.InstrumentationNodeModuleDefinition;
} });
var instrumentationNodeModuleFile_1 = require_instrumentationNodeModuleFile();
Object.defineProperty(exports2, "InstrumentationNodeModuleFile", { enumerable: true, get: function() {
return instrumentationNodeModuleFile_1.InstrumentationNodeModuleFile;
} });
var utils_1 = require_utils8();
Object.defineProperty(exports2, "isWrapped", { enumerable: true, get: function() {
return utils_1.isWrapped;
} });
Object.defineProperty(exports2, "safeExecuteInTheMiddle", { enumerable: true, get: function() {
return utils_1.safeExecuteInTheMiddle;
} });
Object.defineProperty(exports2, "safeExecuteInTheMiddleAsync", { enumerable: true, get: function() {
return utils_1.safeExecuteInTheMiddleAsync;
} });
var semconvStability_1 = require_semconvStability();
Object.defineProperty(exports2, "SemconvStability", { enumerable: true, get: function() {
return semconvStability_1.SemconvStability;
} });
Object.defineProperty(exports2, "semconvStabilityFromStr", { enumerable: true, get: function() {
return semconvStability_1.semconvStabilityFromStr;
} });
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/platform/node/OTLPLogExporter.js
var require_OTLPLogExporter3 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/platform/node/OTLPLogExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var otlp_transformer_1 = require_src15();
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
var OTLPLogExporter2 = class extends otlp_exporter_base_1.OTLPExporterBase {
constructor(config2 = {}) {
super((0, node_http_1.createOtlpHttpExportDelegate)((0, node_http_1.convertLegacyHttpOptions)(config2, "LOGS", "v1/logs", {
"Content-Type": "application/x-protobuf"
}), otlp_transformer_1.ProtobufLogsSerializer));
}
};
exports2.OTLPLogExporter = OTLPLogExporter2;
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/platform/node/index.js
var require_node9 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var OTLPLogExporter_1 = require_OTLPLogExporter3();
Object.defineProperty(exports2, "OTLPLogExporter", { enumerable: true, get: function() {
return OTLPLogExporter_1.OTLPLogExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/platform/index.js
var require_platform9 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var node_1 = require_node9();
Object.defineProperty(exports2, "OTLPLogExporter", { enumerable: true, get: function() {
return node_1.OTLPLogExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/index.js
var require_src27 = __commonJS({
"node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPLogExporter = void 0;
var platform_1 = require_platform9();
Object.defineProperty(exports2, "OTLPLogExporter", { enumerable: true, get: function() {
return platform_1.OTLPLogExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusSerializer.js
var require_PrometheusSerializer = __commonJS({
"node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusSerializer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PrometheusSerializer = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var sdk_metrics_1 = require_src14();
var core_1 = require_src8();
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var ATTR_OTEL_SCOPE_SCHEMA_URL = "otel.scope.schema_url";
function escapeString2(str2) {
return str2.replace(/\\/g, "\\\\").replace(/\n/g, "\\n");
}
function escapeAttributeValue(str2 = "") {
if (typeof str2 !== "string") {
str2 = JSON.stringify(str2);
}
return escapeString2(str2).replace(/"/g, '\\"');
}
var invalidCharacterRegex = /[^a-z0-9_]/gi;
var multipleUnderscoreRegex = /_{2,}/g;
function sanitizePrometheusMetricName(name3) {
return name3.replace(invalidCharacterRegex, "_").replace(multipleUnderscoreRegex, "_");
}
function enforcePrometheusNamingConvention(name3, data) {
if (!name3.endsWith("_total") && data.dataPointType === sdk_metrics_1.DataPointType.SUM && data.isMonotonic) {
name3 = name3 + "_total";
}
return name3;
}
function valueString(value) {
if (value === Infinity) {
return "+Inf";
} else if (value === -Infinity) {
return "-Inf";
} else {
return `${value}`;
}
}
function toPrometheusType(metricData) {
switch (metricData.dataPointType) {
case sdk_metrics_1.DataPointType.SUM:
if (metricData.isMonotonic) {
return "counter";
}
return "gauge";
case sdk_metrics_1.DataPointType.GAUGE:
return "gauge";
case sdk_metrics_1.DataPointType.HISTOGRAM:
return "histogram";
default:
return "untyped";
}
}
function stringify3(metricName, attributes, value, timestamp2, additionalAttributes) {
let hasAttribute = false;
let attributesStr = "";
for (const [key, val] of Object.entries(attributes)) {
const sanitizedAttributeName = sanitizePrometheusMetricName(key);
hasAttribute = true;
attributesStr += `${attributesStr.length > 0 ? "," : ""}${sanitizedAttributeName}="${escapeAttributeValue(val)}"`;
}
if (additionalAttributes) {
for (const [key, val] of Object.entries(additionalAttributes)) {
const sanitizedAttributeName = sanitizePrometheusMetricName(key);
hasAttribute = true;
attributesStr += `${attributesStr.length > 0 ? "," : ""}${sanitizedAttributeName}="${escapeAttributeValue(val)}"`;
}
}
if (hasAttribute) {
metricName += `{${attributesStr}}`;
}
return `${metricName} ${valueString(value)}${timestamp2 !== void 0 ? " " + String(timestamp2) : ""}
`;
}
var NO_REGISTERED_METRICS = "# no registered metrics";
var PrometheusSerializer = class {
_prefix;
_appendTimestamp;
_additionalAttributes;
_withResourceConstantLabels;
_withoutScopeInfo;
_withoutTargetInfo;
constructor(prefix, appendTimestamp = false, withResourceConstantLabels, withoutTargetInfo, withoutScopeInfo) {
if (prefix) {
this._prefix = prefix + "_";
}
this._appendTimestamp = appendTimestamp;
this._withResourceConstantLabels = withResourceConstantLabels;
this._withoutScopeInfo = !!withoutScopeInfo;
this._withoutTargetInfo = !!withoutTargetInfo;
}
serialize(resourceMetrics) {
let str2 = "";
this._additionalAttributes = this._filterResourceConstantLabels(resourceMetrics.resource.attributes, this._withResourceConstantLabels);
for (const scopeMetrics of resourceMetrics.scopeMetrics) {
str2 += this._serializeScopeMetrics(scopeMetrics);
}
if (str2 === "") {
str2 += NO_REGISTERED_METRICS;
}
return this._serializeResource(resourceMetrics.resource) + str2;
}
_filterResourceConstantLabels(attributes, pattern) {
if (pattern) {
const filteredAttributes = {};
for (const [key, value] of Object.entries(attributes)) {
if (key.match(pattern)) {
filteredAttributes[key] = value;
}
}
return filteredAttributes;
}
return;
}
_serializeScopeMetrics(scopeMetrics) {
let str2 = "";
for (const metric of scopeMetrics.metrics) {
str2 += this._serializeMetricData(metric, scopeMetrics.scope) + "\n";
}
return str2;
}
_serializeMetricData(metricData, scope) {
let name3 = sanitizePrometheusMetricName(escapeString2(metricData.descriptor.name));
if (this._prefix) {
name3 = `${this._prefix}${name3}`;
}
const dataPointType = metricData.dataPointType;
name3 = enforcePrometheusNamingConvention(name3, metricData);
const help = `# HELP ${name3} ${escapeString2(metricData.descriptor.description || "description missing")}`;
const unit = metricData.descriptor.unit ? `
# UNIT ${name3} ${escapeString2(metricData.descriptor.unit)}` : "";
const type2 = `# TYPE ${name3} ${toPrometheusType(metricData)}`;
let additionalAttributes;
if (this._withoutScopeInfo) {
additionalAttributes = this._additionalAttributes;
} else {
const scopeInfo = { [semantic_conventions_1.ATTR_OTEL_SCOPE_NAME]: scope.name };
if (scope.schemaUrl) {
scopeInfo[ATTR_OTEL_SCOPE_SCHEMA_URL] = scope.schemaUrl;
}
if (scope.version) {
scopeInfo[semantic_conventions_1.ATTR_OTEL_SCOPE_VERSION] = scope.version;
}
additionalAttributes = Object.assign(scopeInfo, this._additionalAttributes);
}
let results = "";
switch (dataPointType) {
case sdk_metrics_1.DataPointType.SUM:
case sdk_metrics_1.DataPointType.GAUGE: {
results = metricData.dataPoints.map((it) => this._serializeSingularDataPoint(name3, metricData, it, additionalAttributes)).join("");
break;
}
case sdk_metrics_1.DataPointType.HISTOGRAM: {
results = metricData.dataPoints.map((it) => this._serializeHistogramDataPoint(name3, metricData, it, additionalAttributes)).join("");
break;
}
default: {
api_1.diag.error(`Unrecognizable DataPointType: ${dataPointType} for metric "${name3}"`);
}
}
return `${help}${unit}
${type2}
${results}`.trim();
}
_serializeSingularDataPoint(name3, data, dataPoint, additionalAttributes) {
let results = "";
name3 = enforcePrometheusNamingConvention(name3, data);
const { value, attributes } = dataPoint;
const timestamp2 = (0, core_1.hrTimeToMilliseconds)(dataPoint.endTime);
results += stringify3(name3, attributes, value, this._appendTimestamp ? timestamp2 : void 0, additionalAttributes);
return results;
}
_serializeHistogramDataPoint(name3, data, dataPoint, additionalAttributes) {
let results = "";
name3 = enforcePrometheusNamingConvention(name3, data);
const attributes = dataPoint.attributes;
const histogram = dataPoint.value;
const timestamp2 = (0, core_1.hrTimeToMilliseconds)(dataPoint.endTime);
for (const key of ["count", "sum"]) {
const value = histogram[key];
if (value != null)
results += stringify3(name3 + "_" + key, attributes, value, this._appendTimestamp ? timestamp2 : void 0, additionalAttributes);
}
let cumulativeSum = 0;
const countEntries = histogram.buckets.counts.entries();
let infiniteBoundaryDefined = false;
for (const [idx, val] of countEntries) {
cumulativeSum += val;
const upperBound = histogram.buckets.boundaries[idx];
if (upperBound === void 0 && infiniteBoundaryDefined) {
break;
}
if (upperBound === Infinity) {
infiniteBoundaryDefined = true;
}
results += stringify3(name3 + "_bucket", attributes, cumulativeSum, this._appendTimestamp ? timestamp2 : void 0, Object.assign({}, additionalAttributes, {
le: upperBound === void 0 || upperBound === Infinity ? "+Inf" : String(upperBound)
}));
}
return results;
}
_serializeResource(resource) {
if (this._withoutTargetInfo === true) {
return "";
}
const name3 = "target_info";
const help = `# HELP ${name3} Target metadata`;
const type2 = `# TYPE ${name3} gauge`;
const results = stringify3(name3, resource.attributes, 1).trim();
return `${help}
${type2}
${results}
`;
}
};
exports2.PrometheusSerializer = PrometheusSerializer;
}
});
// node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusExporter.js
var require_PrometheusExporter = __commonJS({
"node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PrometheusExporter = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var sdk_metrics_1 = require_src14();
var http_1 = __require("http");
var PrometheusSerializer_1 = require_PrometheusSerializer();
var url_1 = __require("url");
var PrometheusExporter = class _PrometheusExporter extends sdk_metrics_1.MetricReader {
static DEFAULT_OPTIONS = {
host: void 0,
port: 9464,
endpoint: "/metrics",
prefix: "",
appendTimestamp: false,
withResourceConstantLabels: void 0,
withoutScopeInfo: false,
withoutTargetInfo: false
};
_host;
_port;
_baseUrl;
_endpoint;
_server;
_prefix;
_appendTimestamp;
_serializer;
_startServerPromise;
// This will be required when histogram is implemented. Leaving here so it is not forgotten
// Histogram cannot have a attribute named 'le'
// private static readonly RESERVED_HISTOGRAM_LABEL = 'le';
/**
* Constructor
* @param config Exporter configuration
* @param callback Callback to be called after a server was started
*/
constructor(config2 = {}, callback = () => {
}) {
super({
aggregationSelector: (_instrumentType) => {
return {
type: sdk_metrics_1.AggregationType.DEFAULT
};
},
aggregationTemporalitySelector: (_instrumentType) => sdk_metrics_1.AggregationTemporality.CUMULATIVE,
metricProducers: config2.metricProducers
});
this._host = config2.host || process.env.OTEL_EXPORTER_PROMETHEUS_HOST || _PrometheusExporter.DEFAULT_OPTIONS.host;
this._port = config2.port || Number(process.env.OTEL_EXPORTER_PROMETHEUS_PORT) || _PrometheusExporter.DEFAULT_OPTIONS.port;
this._prefix = config2.prefix || _PrometheusExporter.DEFAULT_OPTIONS.prefix;
this._appendTimestamp = typeof config2.appendTimestamp === "boolean" ? config2.appendTimestamp : _PrometheusExporter.DEFAULT_OPTIONS.appendTimestamp;
const _withResourceConstantLabels = config2.withResourceConstantLabels || _PrometheusExporter.DEFAULT_OPTIONS.withResourceConstantLabels;
const _withoutScopeInfo = config2.withoutScopeInfo || _PrometheusExporter.DEFAULT_OPTIONS.withoutScopeInfo;
const _withoutTargetInfo = config2.withoutTargetInfo || _PrometheusExporter.DEFAULT_OPTIONS.withoutTargetInfo;
this._server = (0, http_1.createServer)(this._requestHandler).unref();
this._serializer = new PrometheusSerializer_1.PrometheusSerializer(this._prefix, this._appendTimestamp, _withResourceConstantLabels, _withoutTargetInfo, _withoutScopeInfo);
this._baseUrl = `http://${this._host}:${this._port}/`;
this._endpoint = (config2.endpoint || _PrometheusExporter.DEFAULT_OPTIONS.endpoint).replace(/^([^/])/, "/$1");
if (config2.preventServerStart !== true) {
this.startServer().then(callback, (err2) => {
api_1.diag.error(err2);
callback(err2);
});
} else if (callback) {
queueMicrotask(callback);
}
}
async onForceFlush() {
}
/**
* Shuts down the export server and clears the registry
*/
onShutdown() {
return this.stopServer();
}
/**
* Stops the Prometheus export server
*/
stopServer() {
if (!this._server) {
api_1.diag.debug("Prometheus stopServer() was called but server was never started.");
return Promise.resolve();
} else {
return new Promise((resolve25) => {
this._server.close((err2) => {
if (!err2) {
api_1.diag.debug("Prometheus exporter was stopped");
} else {
if (err2.code !== "ERR_SERVER_NOT_RUNNING") {
(0, core_1.globalErrorHandler)(err2);
}
}
resolve25();
});
});
}
}
/**
* Starts the Prometheus export server
*/
startServer() {
this._startServerPromise ??= new Promise((resolve25, reject) => {
this._server.once("error", reject);
this._server.listen({
port: this._port,
host: this._host
}, () => {
api_1.diag.debug(`Prometheus exporter server started: ${this._host}:${this._port}/${this._endpoint}`);
resolve25();
});
});
return this._startServerPromise;
}
/**
* Request handler that responds with the current state of metrics
* @param _request Incoming HTTP request of server instance
* @param response HTTP response object used to response to request
*/
getMetricsRequestHandler(_request, response) {
this._exportMetrics(response);
}
/**
* Request handler used by http library to respond to incoming requests
* for the current state of metrics by the Prometheus backend.
*
* @param request Incoming HTTP request to export server
* @param response HTTP response object used to respond to request
*/
_requestHandler = (request, response) => {
if (request.url != null && new url_1.URL(request.url, this._baseUrl).pathname === this._endpoint) {
this._exportMetrics(response);
} else {
this._notFound(response);
}
};
/**
* Responds to incoming message with current state of all metrics.
*/
_exportMetrics = (response) => {
response.statusCode = 200;
response.setHeader("content-type", "text/plain");
this.collect().then((collectionResult) => {
const { resourceMetrics, errors } = collectionResult;
if (errors.length) {
api_1.diag.error("PrometheusExporter: metrics collection errors", ...errors);
}
response.end(this._serializer.serialize(resourceMetrics));
}, (err2) => {
response.end(`# failed to export metrics: ${err2}`);
});
};
/**
* Responds with 404 status code to all requests that do not match the configured endpoint.
*/
_notFound = (response) => {
response.statusCode = 404;
response.end();
};
};
exports2.PrometheusExporter = PrometheusExporter;
}
});
// node_modules/@opentelemetry/exporter-prometheus/build/src/index.js
var require_src28 = __commonJS({
"node_modules/@opentelemetry/exporter-prometheus/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PrometheusSerializer = exports2.PrometheusExporter = void 0;
var PrometheusExporter_1 = require_PrometheusExporter();
Object.defineProperty(exports2, "PrometheusExporter", { enumerable: true, get: function() {
return PrometheusExporter_1.PrometheusExporter;
} });
var PrometheusSerializer_1 = require_PrometheusSerializer();
Object.defineProperty(exports2, "PrometheusSerializer", { enumerable: true, get: function() {
return PrometheusSerializer_1.PrometheusSerializer;
} });
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/node/OTLPTraceExporter.js
var require_OTLPTraceExporter3 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/node/OTLPTraceExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var otlp_exporter_base_1 = (init_esm3(), __toCommonJS(esm_exports3));
var otlp_transformer_1 = require_src15();
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
var OTLPTraceExporter2 = class extends otlp_exporter_base_1.OTLPExporterBase {
constructor(config2 = {}) {
super((0, node_http_1.createOtlpHttpExportDelegate)((0, node_http_1.convertLegacyHttpOptions)(config2, "TRACES", "v1/traces", {
"Content-Type": "application/x-protobuf"
}), otlp_transformer_1.ProtobufTraceSerializer));
}
};
exports2.OTLPTraceExporter = OTLPTraceExporter2;
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/node/index.js
var require_node10 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var OTLPTraceExporter_1 = require_OTLPTraceExporter3();
Object.defineProperty(exports2, "OTLPTraceExporter", { enumerable: true, get: function() {
return OTLPTraceExporter_1.OTLPTraceExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/index.js
var require_platform10 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var node_1 = require_node10();
Object.defineProperty(exports2, "OTLPTraceExporter", { enumerable: true, get: function() {
return node_1.OTLPTraceExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/index.js
var require_src29 = __commonJS({
"node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPTraceExporter = void 0;
var platform_1 = require_platform10();
Object.defineProperty(exports2, "OTLPTraceExporter", { enumerable: true, get: function() {
return platform_1.OTLPTraceExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/platform/node/util.js
var require_util6 = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/platform/node/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.prepareSend = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var http3 = __require("http");
var https = __require("https");
function prepareSend(urlStr, headers) {
const url3 = new URL(urlStr);
const reqOpts = Object.assign({
method: "POST",
headers: {
"Content-Type": "application/json",
...headers
}
});
return function send(zipkinSpans, done) {
if (zipkinSpans.length === 0) {
api_1.diag.debug("Zipkin send with empty spans");
return done({ code: core_1.ExportResultCode.SUCCESS });
}
const { request } = url3.protocol === "http:" ? http3 : https;
const req = request(url3, reqOpts, (res) => {
let rawData = "";
res.on("data", (chunk) => {
rawData += chunk;
});
res.on("end", () => {
const statusCode = res.statusCode || 0;
api_1.diag.debug(`Zipkin response status code: ${statusCode}, body: ${rawData}`);
if (statusCode < 400) {
return done({ code: core_1.ExportResultCode.SUCCESS });
} else {
return done({
code: core_1.ExportResultCode.FAILED,
error: new Error(`Got unexpected status code from zipkin: ${statusCode}`)
});
}
});
});
req.on("error", (error40) => {
return done({
code: core_1.ExportResultCode.FAILED,
error: error40
});
});
const payload = JSON.stringify(zipkinSpans);
api_1.diag.debug(`Zipkin request payload: ${payload}`);
req.write(payload, "utf8");
req.end();
};
}
exports2.prepareSend = prepareSend;
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/platform/node/index.js
var require_node11 = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.prepareSend = void 0;
var util_1 = require_util6();
Object.defineProperty(exports2, "prepareSend", { enumerable: true, get: function() {
return util_1.prepareSend;
} });
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/platform/index.js
var require_platform11 = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.prepareSend = void 0;
var node_1 = require_node11();
Object.defineProperty(exports2, "prepareSend", { enumerable: true, get: function() {
return node_1.prepareSend;
} });
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/types.js
var require_types4 = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SpanKind = void 0;
var SpanKind;
(function(SpanKind2) {
SpanKind2["CLIENT"] = "CLIENT";
SpanKind2["SERVER"] = "SERVER";
SpanKind2["CONSUMER"] = "CONSUMER";
SpanKind2["PRODUCER"] = "PRODUCER";
})(SpanKind = exports2.SpanKind || (exports2.SpanKind = {}));
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/transform.js
var require_transform = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/transform.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._toZipkinAnnotations = exports2._toZipkinTags = exports2.toZipkinSpan = exports2.defaultStatusErrorTagName = exports2.defaultStatusCodeTagName = void 0;
var api = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var zipkinTypes = require_types4();
var ZIPKIN_SPAN_KIND_MAPPING = {
[api.SpanKind.CLIENT]: zipkinTypes.SpanKind.CLIENT,
[api.SpanKind.SERVER]: zipkinTypes.SpanKind.SERVER,
[api.SpanKind.CONSUMER]: zipkinTypes.SpanKind.CONSUMER,
[api.SpanKind.PRODUCER]: zipkinTypes.SpanKind.PRODUCER,
// When absent, the span is local.
[api.SpanKind.INTERNAL]: void 0
};
exports2.defaultStatusCodeTagName = "otel.status_code";
exports2.defaultStatusErrorTagName = "error";
function toZipkinSpan(span, serviceName, statusCodeTagName, statusErrorTagName) {
const zipkinSpan = {
traceId: span.spanContext().traceId,
parentId: span.parentSpanContext?.spanId,
name: span.name,
id: span.spanContext().spanId,
kind: ZIPKIN_SPAN_KIND_MAPPING[span.kind],
timestamp: (0, core_1.hrTimeToMicroseconds)(span.startTime),
duration: Math.round((0, core_1.hrTimeToMicroseconds)(span.duration)),
localEndpoint: { serviceName },
tags: _toZipkinTags(span, statusCodeTagName, statusErrorTagName),
annotations: span.events.length ? _toZipkinAnnotations(span.events) : void 0
};
return zipkinSpan;
}
exports2.toZipkinSpan = toZipkinSpan;
function _toZipkinTags({ attributes, resource, status: status2, droppedAttributesCount, droppedEventsCount, droppedLinksCount }, statusCodeTagName, statusErrorTagName) {
const tags = {};
for (const key of Object.keys(attributes)) {
tags[key] = String(attributes[key]);
}
if (status2.code !== api.SpanStatusCode.UNSET) {
tags[statusCodeTagName] = String(api.SpanStatusCode[status2.code]);
}
if (status2.code === api.SpanStatusCode.ERROR && status2.message) {
tags[statusErrorTagName] = status2.message;
}
if (droppedAttributesCount) {
tags["otel.dropped_attributes_count"] = String(droppedAttributesCount);
}
if (droppedEventsCount) {
tags["otel.dropped_events_count"] = String(droppedEventsCount);
}
if (droppedLinksCount) {
tags["otel.dropped_links_count"] = String(droppedLinksCount);
}
Object.keys(resource.attributes).forEach((name3) => tags[name3] = String(resource.attributes[name3]));
return tags;
}
exports2._toZipkinTags = _toZipkinTags;
function _toZipkinAnnotations(events) {
return events.map((event) => ({
timestamp: Math.round((0, core_1.hrTimeToMicroseconds)(event.time)),
value: event.name
}));
}
exports2._toZipkinAnnotations = _toZipkinAnnotations;
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/utils.js
var require_utils9 = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.prepareGetHeaders = void 0;
function prepareGetHeaders(getExportRequestHeaders) {
return function() {
return getExportRequestHeaders();
};
}
exports2.prepareGetHeaders = prepareGetHeaders;
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/zipkin.js
var require_zipkin = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/zipkin.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ZipkinExporter = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var index_1 = require_platform11();
var transform_1 = require_transform();
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var utils_1 = require_utils9();
var ZipkinExporter = class {
DEFAULT_SERVICE_NAME = "OpenTelemetry Service";
_statusCodeTagName;
_statusDescriptionTagName;
_urlStr;
_send;
_getHeaders;
_serviceName;
_isShutdown;
_sendingPromises = [];
constructor(config2 = {}) {
this._urlStr = config2.url || ((0, core_1.getStringFromEnv)("OTEL_EXPORTER_ZIPKIN_ENDPOINT") ?? "http://localhost:9411/api/v2/spans");
this._send = (0, index_1.prepareSend)(this._urlStr, config2.headers);
this._serviceName = config2.serviceName;
this._statusCodeTagName = config2.statusCodeTagName || transform_1.defaultStatusCodeTagName;
this._statusDescriptionTagName = config2.statusDescriptionTagName || transform_1.defaultStatusErrorTagName;
this._isShutdown = false;
if (typeof config2.getExportRequestHeaders === "function") {
this._getHeaders = (0, utils_1.prepareGetHeaders)(config2.getExportRequestHeaders);
} else {
this._beforeSend = function() {
};
}
}
/**
* Export spans.
*/
export(spans, resultCallback) {
const serviceName = String(this._serviceName || spans[0].resource.attributes[semantic_conventions_1.ATTR_SERVICE_NAME] || this.DEFAULT_SERVICE_NAME);
api_1.diag.debug("Zipkin exporter export");
if (this._isShutdown) {
setTimeout(() => resultCallback({
code: core_1.ExportResultCode.FAILED,
error: new Error("Exporter has been shutdown")
}));
return;
}
const promise2 = new Promise((resolve25) => {
this._sendSpans(spans, serviceName, (result2) => {
resolve25();
resultCallback(result2);
});
});
this._sendingPromises.push(promise2);
const popPromise = () => {
const index = this._sendingPromises.indexOf(promise2);
void this._sendingPromises.splice(index, 1);
};
promise2.then(popPromise, popPromise);
}
/**
* Shutdown exporter. Noop operation in this exporter.
*/
shutdown() {
api_1.diag.debug("Zipkin exporter shutdown");
this._isShutdown = true;
return this.forceFlush();
}
/**
* Exports any pending spans in exporter
*/
forceFlush() {
return new Promise((resolve25, reject) => {
Promise.all(this._sendingPromises).then(() => {
resolve25();
}, reject);
});
}
/**
* if user defines getExportRequestHeaders in config then this will be called
* every time before send, otherwise it will be replaced with noop in
* constructor
* @default noop
*/
_beforeSend() {
if (this._getHeaders) {
this._send = (0, index_1.prepareSend)(this._urlStr, this._getHeaders());
}
}
/**
* Transform spans and sends to Zipkin service.
*/
_sendSpans(spans, serviceName, done) {
const zipkinSpans = spans.map((span) => (0, transform_1.toZipkinSpan)(span, String(span.attributes[semantic_conventions_1.ATTR_SERVICE_NAME] || span.resource.attributes[semantic_conventions_1.ATTR_SERVICE_NAME] || serviceName), this._statusCodeTagName, this._statusDescriptionTagName));
this._beforeSend();
return this._send(zipkinSpans, (result2) => {
if (done) {
return done(result2);
}
});
}
};
exports2.ZipkinExporter = ZipkinExporter;
}
});
// node_modules/@opentelemetry/exporter-zipkin/build/src/index.js
var require_src30 = __commonJS({
"node_modules/@opentelemetry/exporter-zipkin/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ZipkinExporter = exports2.prepareSend = void 0;
var platform_1 = require_platform11();
Object.defineProperty(exports2, "prepareSend", { enumerable: true, get: function() {
return platform_1.prepareSend;
} });
var zipkin_1 = require_zipkin();
Object.defineProperty(exports2, "ZipkinExporter", { enumerable: true, get: function() {
return zipkin_1.ZipkinExporter;
} });
}
});
// node_modules/@opentelemetry/propagator-b3/build/src/common.js
var require_common3 = __commonJS({
"node_modules/@opentelemetry/propagator-b3/build/src/common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.B3_DEBUG_FLAG_KEY = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
exports2.B3_DEBUG_FLAG_KEY = (0, api_1.createContextKey)("OpenTelemetry Context Key B3 Debug Flag");
}
});
// node_modules/@opentelemetry/propagator-b3/build/src/constants.js
var require_constants3 = __commonJS({
"node_modules/@opentelemetry/propagator-b3/build/src/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.X_B3_FLAGS = exports2.X_B3_PARENT_SPAN_ID = exports2.X_B3_SAMPLED = exports2.X_B3_SPAN_ID = exports2.X_B3_TRACE_ID = exports2.B3_CONTEXT_HEADER = void 0;
exports2.B3_CONTEXT_HEADER = "b3";
exports2.X_B3_TRACE_ID = "x-b3-traceid";
exports2.X_B3_SPAN_ID = "x-b3-spanid";
exports2.X_B3_SAMPLED = "x-b3-sampled";
exports2.X_B3_PARENT_SPAN_ID = "x-b3-parentspanid";
exports2.X_B3_FLAGS = "x-b3-flags";
}
});
// node_modules/@opentelemetry/propagator-b3/build/src/B3MultiPropagator.js
var require_B3MultiPropagator = __commonJS({
"node_modules/@opentelemetry/propagator-b3/build/src/B3MultiPropagator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.B3MultiPropagator = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var common_1 = require_common3();
var constants_1 = require_constants3();
var VALID_SAMPLED_VALUES = /* @__PURE__ */ new Set([true, "true", "True", "1", 1]);
var VALID_UNSAMPLED_VALUES = /* @__PURE__ */ new Set([false, "false", "False", "0", 0]);
function isValidSampledValue(sampled) {
return sampled === api_1.TraceFlags.SAMPLED || sampled === api_1.TraceFlags.NONE;
}
function parseHeader(header) {
return Array.isArray(header) ? header[0] : header;
}
function getHeaderValue(carrier, getter, key) {
const header = getter.get(carrier, key);
return parseHeader(header);
}
function getTraceId(carrier, getter) {
const traceId = getHeaderValue(carrier, getter, constants_1.X_B3_TRACE_ID);
if (typeof traceId === "string") {
return traceId.padStart(32, "0");
}
return "";
}
function getSpanId(carrier, getter) {
const spanId = getHeaderValue(carrier, getter, constants_1.X_B3_SPAN_ID);
if (typeof spanId === "string") {
return spanId;
}
return "";
}
function getDebug(carrier, getter) {
const debug2 = getHeaderValue(carrier, getter, constants_1.X_B3_FLAGS);
return debug2 === "1" ? "1" : void 0;
}
function getTraceFlags(carrier, getter) {
const traceFlags = getHeaderValue(carrier, getter, constants_1.X_B3_SAMPLED);
const debug2 = getDebug(carrier, getter);
if (debug2 === "1" || VALID_SAMPLED_VALUES.has(traceFlags)) {
return api_1.TraceFlags.SAMPLED;
}
if (traceFlags === void 0 || VALID_UNSAMPLED_VALUES.has(traceFlags)) {
return api_1.TraceFlags.NONE;
}
return;
}
var B3MultiPropagator = class {
inject(context2, carrier, setter) {
const spanContext = api_1.trace.getSpanContext(context2);
if (!spanContext || !(0, api_1.isSpanContextValid)(spanContext) || (0, core_1.isTracingSuppressed)(context2))
return;
const debug2 = context2.getValue(common_1.B3_DEBUG_FLAG_KEY);
setter.set(carrier, constants_1.X_B3_TRACE_ID, spanContext.traceId);
setter.set(carrier, constants_1.X_B3_SPAN_ID, spanContext.spanId);
if (debug2 === "1") {
setter.set(carrier, constants_1.X_B3_FLAGS, debug2);
} else if (spanContext.traceFlags !== void 0) {
setter.set(carrier, constants_1.X_B3_SAMPLED, (api_1.TraceFlags.SAMPLED & spanContext.traceFlags) === api_1.TraceFlags.SAMPLED ? "1" : "0");
}
}
extract(context2, carrier, getter) {
const traceId = getTraceId(carrier, getter);
const spanId = getSpanId(carrier, getter);
const traceFlags = getTraceFlags(carrier, getter);
const debug2 = getDebug(carrier, getter);
if ((0, api_1.isValidTraceId)(traceId) && (0, api_1.isValidSpanId)(spanId) && isValidSampledValue(traceFlags)) {
context2 = context2.setValue(common_1.B3_DEBUG_FLAG_KEY, debug2);
return api_1.trace.setSpanContext(context2, {
traceId,
spanId,
isRemote: true,
traceFlags
});
}
return context2;
}
fields() {
return [
constants_1.X_B3_TRACE_ID,
constants_1.X_B3_SPAN_ID,
constants_1.X_B3_FLAGS,
constants_1.X_B3_SAMPLED,
constants_1.X_B3_PARENT_SPAN_ID
];
}
};
exports2.B3MultiPropagator = B3MultiPropagator;
}
});
// node_modules/@opentelemetry/propagator-b3/build/src/B3SinglePropagator.js
var require_B3SinglePropagator = __commonJS({
"node_modules/@opentelemetry/propagator-b3/build/src/B3SinglePropagator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.B3SinglePropagator = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var common_1 = require_common3();
var constants_1 = require_constants3();
var B3_CONTEXT_REGEX = /((?:[0-9a-f]{16}){1,2})-([0-9a-f]{16})(?:-([01d](?![0-9a-f])))?(?:-([0-9a-f]{16}))?/;
var PADDING = "0".repeat(16);
var SAMPLED_VALUES = /* @__PURE__ */ new Set(["d", "1"]);
var DEBUG_STATE = "d";
function convertToTraceId128(traceId) {
return traceId.length === 32 ? traceId : `${PADDING}${traceId}`;
}
function convertToTraceFlags(samplingState) {
if (samplingState && SAMPLED_VALUES.has(samplingState)) {
return api_1.TraceFlags.SAMPLED;
}
return api_1.TraceFlags.NONE;
}
var B3SinglePropagator = class {
inject(context2, carrier, setter) {
const spanContext = api_1.trace.getSpanContext(context2);
if (!spanContext || !(0, api_1.isSpanContextValid)(spanContext) || (0, core_1.isTracingSuppressed)(context2))
return;
const samplingState = context2.getValue(common_1.B3_DEBUG_FLAG_KEY) || spanContext.traceFlags & 1;
const value = `${spanContext.traceId}-${spanContext.spanId}-${samplingState}`;
setter.set(carrier, constants_1.B3_CONTEXT_HEADER, value);
}
extract(context2, carrier, getter) {
const header = getter.get(carrier, constants_1.B3_CONTEXT_HEADER);
const b3Context = Array.isArray(header) ? header[0] : header;
if (typeof b3Context !== "string")
return context2;
const match2 = b3Context.match(B3_CONTEXT_REGEX);
if (!match2)
return context2;
const [, extractedTraceId, spanId, samplingState] = match2;
const traceId = convertToTraceId128(extractedTraceId);
if (!(0, api_1.isValidTraceId)(traceId) || !(0, api_1.isValidSpanId)(spanId))
return context2;
const traceFlags = convertToTraceFlags(samplingState);
if (samplingState === DEBUG_STATE) {
context2 = context2.setValue(common_1.B3_DEBUG_FLAG_KEY, samplingState);
}
return api_1.trace.setSpanContext(context2, {
traceId,
spanId,
isRemote: true,
traceFlags
});
}
fields() {
return [constants_1.B3_CONTEXT_HEADER];
}
};
exports2.B3SinglePropagator = B3SinglePropagator;
}
});
// node_modules/@opentelemetry/propagator-b3/build/src/types.js
var require_types5 = __commonJS({
"node_modules/@opentelemetry/propagator-b3/build/src/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.B3InjectEncoding = void 0;
var B3InjectEncoding;
(function(B3InjectEncoding2) {
B3InjectEncoding2[B3InjectEncoding2["SINGLE_HEADER"] = 0] = "SINGLE_HEADER";
B3InjectEncoding2[B3InjectEncoding2["MULTI_HEADER"] = 1] = "MULTI_HEADER";
})(B3InjectEncoding = exports2.B3InjectEncoding || (exports2.B3InjectEncoding = {}));
}
});
// node_modules/@opentelemetry/propagator-b3/build/src/B3Propagator.js
var require_B3Propagator = __commonJS({
"node_modules/@opentelemetry/propagator-b3/build/src/B3Propagator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.B3Propagator = void 0;
var core_1 = require_src8();
var B3MultiPropagator_1 = require_B3MultiPropagator();
var B3SinglePropagator_1 = require_B3SinglePropagator();
var constants_1 = require_constants3();
var types_1 = require_types5();
var B3Propagator = class {
_b3MultiPropagator = new B3MultiPropagator_1.B3MultiPropagator();
_b3SinglePropagator = new B3SinglePropagator_1.B3SinglePropagator();
_inject;
_fields;
constructor(config2 = {}) {
if (config2.injectEncoding === types_1.B3InjectEncoding.MULTI_HEADER) {
this._inject = this._b3MultiPropagator.inject;
this._fields = this._b3MultiPropagator.fields();
} else {
this._inject = this._b3SinglePropagator.inject;
this._fields = this._b3SinglePropagator.fields();
}
}
inject(context2, carrier, setter) {
if ((0, core_1.isTracingSuppressed)(context2)) {
return;
}
this._inject(context2, carrier, setter);
}
extract(context2, carrier, getter) {
const header = getter.get(carrier, constants_1.B3_CONTEXT_HEADER);
const b3Context = Array.isArray(header) ? header[0] : header;
if (b3Context) {
return this._b3SinglePropagator.extract(context2, carrier, getter);
} else {
return this._b3MultiPropagator.extract(context2, carrier, getter);
}
}
fields() {
return this._fields;
}
};
exports2.B3Propagator = B3Propagator;
}
});
// node_modules/@opentelemetry/propagator-b3/build/src/index.js
var require_src31 = __commonJS({
"node_modules/@opentelemetry/propagator-b3/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.B3InjectEncoding = exports2.X_B3_TRACE_ID = exports2.X_B3_SPAN_ID = exports2.X_B3_SAMPLED = exports2.X_B3_PARENT_SPAN_ID = exports2.X_B3_FLAGS = exports2.B3_CONTEXT_HEADER = exports2.B3Propagator = void 0;
var B3Propagator_1 = require_B3Propagator();
Object.defineProperty(exports2, "B3Propagator", { enumerable: true, get: function() {
return B3Propagator_1.B3Propagator;
} });
var constants_1 = require_constants3();
Object.defineProperty(exports2, "B3_CONTEXT_HEADER", { enumerable: true, get: function() {
return constants_1.B3_CONTEXT_HEADER;
} });
Object.defineProperty(exports2, "X_B3_FLAGS", { enumerable: true, get: function() {
return constants_1.X_B3_FLAGS;
} });
Object.defineProperty(exports2, "X_B3_PARENT_SPAN_ID", { enumerable: true, get: function() {
return constants_1.X_B3_PARENT_SPAN_ID;
} });
Object.defineProperty(exports2, "X_B3_SAMPLED", { enumerable: true, get: function() {
return constants_1.X_B3_SAMPLED;
} });
Object.defineProperty(exports2, "X_B3_SPAN_ID", { enumerable: true, get: function() {
return constants_1.X_B3_SPAN_ID;
} });
Object.defineProperty(exports2, "X_B3_TRACE_ID", { enumerable: true, get: function() {
return constants_1.X_B3_TRACE_ID;
} });
var types_1 = require_types5();
Object.defineProperty(exports2, "B3InjectEncoding", { enumerable: true, get: function() {
return types_1.B3InjectEncoding;
} });
}
});
// node_modules/@opentelemetry/propagator-jaeger/build/src/JaegerPropagator.js
var require_JaegerPropagator = __commonJS({
"node_modules/@opentelemetry/propagator-jaeger/build/src/JaegerPropagator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.JaegerPropagator = exports2.UBER_BAGGAGE_HEADER_PREFIX = exports2.UBER_TRACE_ID_HEADER = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
exports2.UBER_TRACE_ID_HEADER = "uber-trace-id";
exports2.UBER_BAGGAGE_HEADER_PREFIX = "uberctx";
var JaegerPropagator = class {
_jaegerTraceHeader;
_jaegerBaggageHeaderPrefix;
constructor(config2) {
if (typeof config2 === "string") {
this._jaegerTraceHeader = config2;
this._jaegerBaggageHeaderPrefix = exports2.UBER_BAGGAGE_HEADER_PREFIX;
} else {
this._jaegerTraceHeader = config2?.customTraceHeader || exports2.UBER_TRACE_ID_HEADER;
this._jaegerBaggageHeaderPrefix = config2?.customBaggageHeaderPrefix || exports2.UBER_BAGGAGE_HEADER_PREFIX;
}
}
inject(context2, carrier, setter) {
const spanContext = api_1.trace.getSpanContext(context2);
const baggage = api_1.propagation.getBaggage(context2);
if (spanContext && (0, core_1.isTracingSuppressed)(context2) === false) {
const traceFlags = `0${(spanContext.traceFlags || api_1.TraceFlags.NONE).toString(16)}`;
setter.set(carrier, this._jaegerTraceHeader, `${spanContext.traceId}:${spanContext.spanId}:0:${traceFlags}`);
}
if (baggage) {
for (const [key, entry] of baggage.getAllEntries()) {
setter.set(carrier, `${this._jaegerBaggageHeaderPrefix}-${key}`, encodeURIComponent(entry.value));
}
}
}
extract(context2, carrier, getter) {
const uberTraceIdHeader = getter.get(carrier, this._jaegerTraceHeader);
const uberTraceId = Array.isArray(uberTraceIdHeader) ? uberTraceIdHeader[0] : uberTraceIdHeader;
const baggageValues = getter.keys(carrier).filter((key) => key.startsWith(`${this._jaegerBaggageHeaderPrefix}-`)).map((key) => {
const value = getter.get(carrier, key);
return {
key: key.substring(this._jaegerBaggageHeaderPrefix.length + 1),
value: Array.isArray(value) ? value[0] : value
};
});
let newContext = context2;
if (typeof uberTraceId === "string") {
const spanContext = deserializeSpanContext(uberTraceId);
if (spanContext) {
newContext = api_1.trace.setSpanContext(newContext, spanContext);
}
}
if (baggageValues.length === 0)
return newContext;
let currentBaggage = api_1.propagation.getBaggage(context2) ?? api_1.propagation.createBaggage();
for (const baggageEntry of baggageValues) {
if (baggageEntry.value === void 0)
continue;
currentBaggage = currentBaggage.setEntry(baggageEntry.key, {
value: decodeURIComponent(baggageEntry.value)
});
}
newContext = api_1.propagation.setBaggage(newContext, currentBaggage);
return newContext;
}
fields() {
return [this._jaegerTraceHeader];
}
};
exports2.JaegerPropagator = JaegerPropagator;
var VALID_HEX_RE = /^[0-9a-f]{1,2}$/i;
function deserializeSpanContext(serializedString) {
const headers = decodeURIComponent(serializedString).split(":");
if (headers.length !== 4) {
return null;
}
const [_traceId, _spanId, , flags2] = headers;
const traceId = _traceId.padStart(32, "0");
const spanId = _spanId.padStart(16, "0");
const traceFlags = VALID_HEX_RE.test(flags2) ? parseInt(flags2, 16) & 1 : 1;
return { traceId, spanId, isRemote: true, traceFlags };
}
}
});
// node_modules/@opentelemetry/propagator-jaeger/build/src/index.js
var require_src32 = __commonJS({
"node_modules/@opentelemetry/propagator-jaeger/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.UBER_TRACE_ID_HEADER = exports2.UBER_BAGGAGE_HEADER_PREFIX = exports2.JaegerPropagator = void 0;
var JaegerPropagator_1 = require_JaegerPropagator();
Object.defineProperty(exports2, "JaegerPropagator", { enumerable: true, get: function() {
return JaegerPropagator_1.JaegerPropagator;
} });
Object.defineProperty(exports2, "UBER_BAGGAGE_HEADER_PREFIX", { enumerable: true, get: function() {
return JaegerPropagator_1.UBER_BAGGAGE_HEADER_PREFIX;
} });
Object.defineProperty(exports2, "UBER_TRACE_ID_HEADER", { enumerable: true, get: function() {
return JaegerPropagator_1.UBER_TRACE_ID_HEADER;
} });
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/platform/node/OTLPMetricExporter.js
var require_OTLPMetricExporter3 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/platform/node/OTLPMetricExporter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var exporter_metrics_otlp_http_1 = require_src18();
var otlp_transformer_1 = require_src15();
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
var OTLPMetricExporter2 = class extends exporter_metrics_otlp_http_1.OTLPMetricExporterBase {
constructor(config2) {
super((0, node_http_1.createOtlpHttpExportDelegate)((0, node_http_1.convertLegacyHttpOptions)(config2 ?? {}, "METRICS", "v1/metrics", {
"Content-Type": "application/x-protobuf"
}), otlp_transformer_1.ProtobufMetricsSerializer), config2);
}
};
exports2.OTLPMetricExporter = OTLPMetricExporter2;
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/platform/node/index.js
var require_node12 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/platform/node/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var OTLPMetricExporter_1 = require_OTLPMetricExporter3();
Object.defineProperty(exports2, "OTLPMetricExporter", { enumerable: true, get: function() {
return OTLPMetricExporter_1.OTLPMetricExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/platform/index.js
var require_platform12 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/platform/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var node_1 = require_node12();
Object.defineProperty(exports2, "OTLPMetricExporter", { enumerable: true, get: function() {
return node_1.OTLPMetricExporter;
} });
}
});
// node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/index.js
var require_src33 = __commonJS({
"node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OTLPMetricExporter = void 0;
var platform_1 = require_platform12();
Object.defineProperty(exports2, "OTLPMetricExporter", { enumerable: true, get: function() {
return platform_1.OTLPMetricExporter;
} });
}
});
// node_modules/@opentelemetry/sdk-node/build/src/utils.js
var require_utils10 = __commonJS({
"node_modules/@opentelemetry/sdk-node/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getOtlpMetricExporterFromEnv = exports2.getPeriodicExportingMetricReaderFromEnv = exports2.getAndValidateMillisFromEnv = exports2.getKeyListFromObjectArray = exports2.setupPropagator = exports2.setupDefaultContextManager = exports2.setupContextManager = exports2.getPropagatorFromConfiguration = exports2.getPropagatorFromEnv = exports2.getSpanProcessorsFromEnv = exports2.getOtlpProtocolFromEnv = exports2.getResourceDetectorsFromEnv = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var exporter_trace_otlp_proto_1 = require_src29();
var exporter_trace_otlp_http_1 = require_src20();
var exporter_trace_otlp_grpc_1 = require_src16();
var exporter_zipkin_1 = require_src30();
var resources_1 = require_src13();
var sdk_trace_base_1 = require_src24();
var propagator_b3_1 = require_src31();
var propagator_jaeger_1 = require_src32();
var context_async_hooks_1 = require_src23();
var sdk_metrics_1 = require_src14();
var exporter_metrics_otlp_grpc_1 = require_src19();
var exporter_metrics_otlp_http_1 = require_src18();
var exporter_metrics_otlp_proto_1 = require_src33();
var RESOURCE_DETECTOR_ENVIRONMENT = "env";
var RESOURCE_DETECTOR_HOST = "host";
var RESOURCE_DETECTOR_OS = "os";
var RESOURCE_DETECTOR_PROCESS = "process";
var RESOURCE_DETECTOR_SERVICE_INSTANCE_ID = "serviceinstance";
function getResourceDetectorsFromEnv() {
const resourceDetectors = /* @__PURE__ */ new Map([
[RESOURCE_DETECTOR_ENVIRONMENT, resources_1.envDetector],
[RESOURCE_DETECTOR_HOST, resources_1.hostDetector],
[RESOURCE_DETECTOR_OS, resources_1.osDetector],
[RESOURCE_DETECTOR_SERVICE_INSTANCE_ID, resources_1.serviceInstanceIdDetector],
[RESOURCE_DETECTOR_PROCESS, resources_1.processDetector]
]);
const resourceDetectorsFromEnv = (0, core_1.getStringListFromEnv)("OTEL_NODE_RESOURCE_DETECTORS") ?? ["all"];
if (resourceDetectorsFromEnv.includes("all")) {
return [...resourceDetectors.values()].flat();
}
if (resourceDetectorsFromEnv.includes("none")) {
return [];
}
return resourceDetectorsFromEnv.flatMap((detector) => {
const resourceDetector = resourceDetectors.get(detector);
if (!resourceDetector) {
api_1.diag.warn(`Invalid resource detector "${detector}" specified in the environment variable OTEL_NODE_RESOURCE_DETECTORS`);
}
return resourceDetector || [];
});
}
exports2.getResourceDetectorsFromEnv = getResourceDetectorsFromEnv;
function getOtlpProtocolFromEnv() {
return (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_PROTOCOL") ?? "http/protobuf";
}
exports2.getOtlpProtocolFromEnv = getOtlpProtocolFromEnv;
function getOtlpExporterFromEnv() {
const protocol = getOtlpProtocolFromEnv();
switch (protocol) {
case "grpc":
return new exporter_trace_otlp_grpc_1.OTLPTraceExporter();
case "http/json":
return new exporter_trace_otlp_http_1.OTLPTraceExporter();
case "http/protobuf":
return new exporter_trace_otlp_proto_1.OTLPTraceExporter();
default:
api_1.diag.warn(`Unsupported OTLP traces protocol: ${protocol}. Using http/protobuf.`);
return new exporter_trace_otlp_proto_1.OTLPTraceExporter();
}
}
function getSpanProcessorsFromEnv() {
const exportersMap = /* @__PURE__ */ new Map([
["otlp", () => getOtlpExporterFromEnv()],
["zipkin", () => new exporter_zipkin_1.ZipkinExporter()],
["console", () => new sdk_trace_base_1.ConsoleSpanExporter()]
]);
const exporters = [];
const processors = [];
let traceExportersList = Array.from(new Set((0, core_1.getStringListFromEnv)("OTEL_TRACES_EXPORTER"))).filter((s2) => s2 !== "null");
if (traceExportersList[0] === "none") {
api_1.diag.warn('OTEL_TRACES_EXPORTER contains "none". SDK will not be initialized.');
return [];
}
if (traceExportersList.length === 0) {
api_1.diag.debug("OTEL_TRACES_EXPORTER is empty. Using default otlp exporter.");
traceExportersList = ["otlp"];
} else if (traceExportersList.length > 1 && traceExportersList.includes("none")) {
api_1.diag.warn('OTEL_TRACES_EXPORTER contains "none" along with other exporters. Using default otlp exporter.');
traceExportersList = ["otlp"];
}
for (const name3 of traceExportersList) {
const exporter = exportersMap.get(name3)?.();
if (exporter) {
exporters.push(exporter);
} else {
api_1.diag.warn(`Unrecognized OTEL_TRACES_EXPORTER value: ${name3}.`);
}
}
for (const exp of exporters) {
if (exp instanceof sdk_trace_base_1.ConsoleSpanExporter) {
processors.push(new sdk_trace_base_1.SimpleSpanProcessor(exp));
} else {
processors.push(new sdk_trace_base_1.BatchSpanProcessor(exp));
}
}
if (exporters.length === 0) {
api_1.diag.warn("Unable to set up trace exporter(s) due to invalid exporter and/or protocol values.");
}
return processors;
}
exports2.getSpanProcessorsFromEnv = getSpanProcessorsFromEnv;
function getPropagatorFromEnv() {
const propagatorsEnvVarValue = (0, core_1.getStringListFromEnv)("OTEL_PROPAGATORS");
if (propagatorsEnvVarValue == null) {
return void 0;
}
if (propagatorsEnvVarValue.includes("none")) {
return null;
}
const propagatorsFactory = /* @__PURE__ */ new Map([
["tracecontext", () => new core_1.W3CTraceContextPropagator()],
["baggage", () => new core_1.W3CBaggagePropagator()],
["b3", () => new propagator_b3_1.B3Propagator()],
[
"b3multi",
() => new propagator_b3_1.B3Propagator({ injectEncoding: propagator_b3_1.B3InjectEncoding.MULTI_HEADER })
],
["jaeger", () => new propagator_jaeger_1.JaegerPropagator()]
]);
const uniquePropagatorNames = Array.from(new Set(propagatorsEnvVarValue));
const validPropagators = [];
uniquePropagatorNames.forEach((name3) => {
const propagator = propagatorsFactory.get(name3)?.();
if (!propagator) {
api_1.diag.warn(`Propagator "${name3}" requested through environment variable is unavailable.`);
return;
}
validPropagators.push(propagator);
});
if (validPropagators.length === 0) {
return null;
} else if (uniquePropagatorNames.length === 1) {
return validPropagators[0];
} else {
return new core_1.CompositePropagator({
propagators: validPropagators
});
}
}
exports2.getPropagatorFromEnv = getPropagatorFromEnv;
function getPropagatorFromConfiguration(config2) {
const propagatorsValue = getKeyListFromObjectArray(config2.propagator?.composite);
if (propagatorsValue == null) {
return void 0;
}
if (propagatorsValue.includes("none")) {
return null;
}
const propagatorsFactory = /* @__PURE__ */ new Map([
["tracecontext", () => new core_1.W3CTraceContextPropagator()],
["baggage", () => new core_1.W3CBaggagePropagator()],
["b3", () => new propagator_b3_1.B3Propagator()],
[
"b3multi",
() => new propagator_b3_1.B3Propagator({ injectEncoding: propagator_b3_1.B3InjectEncoding.MULTI_HEADER })
],
["jaeger", () => new propagator_jaeger_1.JaegerPropagator()]
]);
const uniquePropagatorNames = Array.from(new Set(propagatorsValue));
const validPropagators = [];
uniquePropagatorNames.forEach((name3) => {
const propagator = propagatorsFactory.get(name3)?.();
if (!propagator) {
api_1.diag.warn(`Propagator "${name3}" requested through configuration is unavailable.`);
return;
}
validPropagators.push(propagator);
});
if (validPropagators.length === 0) {
return null;
} else if (uniquePropagatorNames.length === 1) {
return validPropagators[0];
} else {
return new core_1.CompositePropagator({
propagators: validPropagators
});
}
}
exports2.getPropagatorFromConfiguration = getPropagatorFromConfiguration;
function setupContextManager(contextManager) {
if (contextManager === null) {
return;
}
if (contextManager === void 0) {
const defaultContextManager = new context_async_hooks_1.AsyncLocalStorageContextManager();
defaultContextManager.enable();
api_1.context.setGlobalContextManager(defaultContextManager);
return;
}
contextManager.enable();
api_1.context.setGlobalContextManager(contextManager);
}
exports2.setupContextManager = setupContextManager;
function setupDefaultContextManager() {
const defaultContextManager = new context_async_hooks_1.AsyncLocalStorageContextManager();
defaultContextManager.enable();
api_1.context.setGlobalContextManager(defaultContextManager);
}
exports2.setupDefaultContextManager = setupDefaultContextManager;
function setupPropagator(propagator) {
if (propagator === null) {
return;
}
if (propagator === void 0) {
api_1.propagation.setGlobalPropagator(new core_1.CompositePropagator({
propagators: [
new core_1.W3CTraceContextPropagator(),
new core_1.W3CBaggagePropagator()
]
}));
return;
}
api_1.propagation.setGlobalPropagator(propagator);
}
exports2.setupPropagator = setupPropagator;
function getKeyListFromObjectArray(obj) {
if (!obj || obj.length === 0) {
return void 0;
}
return obj.map((item) => Object.keys(item)).reduce((prev, curr) => prev.concat(curr), []);
}
exports2.getKeyListFromObjectArray = getKeyListFromObjectArray;
function getAndValidateMillisFromEnv(envVarName) {
const value = (0, core_1.getNumberFromEnv)(envVarName);
if (value != null && value <= 0) {
api_1.diag.warn(`${envVarName} (${value}) is invalid, expected number greater than 0, using default.`);
return void 0;
}
return value;
}
exports2.getAndValidateMillisFromEnv = getAndValidateMillisFromEnv;
function getPeriodicExportingMetricReaderFromEnv(exporter) {
const defaultTimeoutMillis = 3e4;
const defaultIntervalMillis = 6e4;
const rawExportIntervalMillis = getAndValidateMillisFromEnv("OTEL_METRIC_EXPORT_INTERVAL");
const rawExportTimeoutMillis = getAndValidateMillisFromEnv("OTEL_METRIC_EXPORT_TIMEOUT");
const exportIntervalMillis = rawExportIntervalMillis ?? defaultIntervalMillis;
let exportTimeoutMillis = rawExportTimeoutMillis ?? defaultTimeoutMillis;
if (exportTimeoutMillis > exportIntervalMillis) {
const timeoutSource = rawExportTimeoutMillis != null ? rawExportTimeoutMillis.toString() : `${defaultTimeoutMillis}, default`;
const intervalSource = rawExportIntervalMillis != null ? rawExportIntervalMillis.toString() : `${defaultIntervalMillis}, default`;
const bothSetByUser = rawExportTimeoutMillis != null && rawExportIntervalMillis != null;
const logMessage = `OTEL_METRIC_EXPORT_TIMEOUT (${timeoutSource}) is greater than OTEL_METRIC_EXPORT_INTERVAL (${intervalSource}). Clamping timeout to interval value.`;
if (bothSetByUser) {
api_1.diag.warn(logMessage);
} else {
api_1.diag.info(logMessage);
}
exportTimeoutMillis = exportIntervalMillis;
}
return new sdk_metrics_1.PeriodicExportingMetricReader({
exportTimeoutMillis,
exportIntervalMillis,
exporter
});
}
exports2.getPeriodicExportingMetricReaderFromEnv = getPeriodicExportingMetricReaderFromEnv;
function getOtlpMetricExporterFromEnv() {
const protocol = ((0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_PROTOCOL") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_PROTOCOL"))?.trim() || "http/protobuf";
switch (protocol) {
case "grpc":
return new exporter_metrics_otlp_grpc_1.OTLPMetricExporter();
case "http/json":
return new exporter_metrics_otlp_http_1.OTLPMetricExporter();
case "http/protobuf":
return new exporter_metrics_otlp_proto_1.OTLPMetricExporter();
}
api_1.diag.warn(`Unsupported OTLP metrics protocol: "${protocol}". Using http/protobuf.`);
return new exporter_metrics_otlp_proto_1.OTLPMetricExporter();
}
exports2.getOtlpMetricExporterFromEnv = getOtlpMetricExporterFromEnv;
}
});
// node_modules/@opentelemetry/sdk-node/build/src/sdk.js
var require_sdk = __commonJS({
"node_modules/@opentelemetry/sdk-node/build/src/sdk.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NodeSDK = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var api_logs_1 = require_src7();
var instrumentation_1 = require_src26();
var resources_1 = require_src13();
var sdk_logs_1 = require_src22();
var exporter_logs_otlp_http_1 = require_src21();
var exporter_logs_otlp_grpc_1 = require_src17();
var exporter_logs_otlp_proto_1 = require_src27();
var exporter_prometheus_1 = require_src28();
var sdk_metrics_1 = require_src14();
var sdk_trace_base_1 = require_src24();
var sdk_trace_node_1 = require_src25();
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var core_1 = require_src8();
var utils_1 = require_utils10();
function getMetricReadersFromEnv() {
const metricReaders = [];
const enabledExporters = Array.from(new Set((0, core_1.getStringListFromEnv)("OTEL_METRICS_EXPORTER") ?? []));
if (enabledExporters.length === 0) {
api_1.diag.debug("OTEL_METRICS_EXPORTER is empty. Using default otlp exporter.");
enabledExporters.push("otlp");
}
if (enabledExporters.includes("none")) {
api_1.diag.info(`OTEL_METRICS_EXPORTER contains "none". Metric provider will not be initialized.`);
return metricReaders;
}
enabledExporters.forEach((exporter) => {
if (exporter === "otlp") {
metricReaders.push((0, utils_1.getPeriodicExportingMetricReaderFromEnv)((0, utils_1.getOtlpMetricExporterFromEnv)()));
} else if (exporter === "console") {
metricReaders.push(new sdk_metrics_1.PeriodicExportingMetricReader({
exporter: new sdk_metrics_1.ConsoleMetricExporter()
}));
} else if (exporter === "prometheus") {
metricReaders.push(new exporter_prometheus_1.PrometheusExporter());
} else {
api_1.diag.warn(`Unsupported OTEL_METRICS_EXPORTER value: "${exporter}". Supported values are: otlp, console, prometheus, none.`);
}
});
return metricReaders;
}
var NodeSDK2 = class {
_tracerProviderConfig;
_loggerProviderConfig;
_meterProviderConfig;
_instrumentations;
_resource;
_resourceDetectors;
_autoDetectResources;
_tracerProvider;
_loggerProvider;
_meterProvider;
_serviceName;
_configuration;
_disabled;
/**
* Create a new NodeJS SDK instance
*/
constructor(configuration = {}) {
if ((0, core_1.getBooleanFromEnv)("OTEL_SDK_DISABLED")) {
this._disabled = true;
}
const logLevel = (0, core_1.getStringFromEnv)("OTEL_LOG_LEVEL");
if (logLevel != null) {
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), {
logLevel: (0, core_1.diagLogLevelFromString)(logLevel)
});
}
this._configuration = configuration;
this._resource = configuration.resource ?? (0, resources_1.defaultResource)();
this._autoDetectResources = configuration.autoDetectResources ?? true;
if (!this._autoDetectResources) {
this._resourceDetectors = [];
} else if (configuration.resourceDetectors != null) {
this._resourceDetectors = configuration.resourceDetectors;
} else if ((0, core_1.getStringFromEnv)("OTEL_NODE_RESOURCE_DETECTORS")) {
this._resourceDetectors = (0, utils_1.getResourceDetectorsFromEnv)();
} else {
this._resourceDetectors = [resources_1.envDetector, resources_1.processDetector, resources_1.hostDetector];
}
this._serviceName = configuration.serviceName;
if (configuration.traceExporter || configuration.spanProcessor || configuration.spanProcessors) {
const tracerProviderConfig = {};
if (configuration.sampler) {
tracerProviderConfig.sampler = configuration.sampler;
}
if (configuration.spanLimits) {
tracerProviderConfig.spanLimits = configuration.spanLimits;
}
if (configuration.idGenerator) {
tracerProviderConfig.idGenerator = configuration.idGenerator;
}
if (configuration.spanProcessor) {
api_1.diag.warn("The 'spanProcessor' option is deprecated. Please use 'spanProcessors' instead.");
}
const spanProcessor2 = configuration.spanProcessor ?? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
new sdk_trace_base_1.BatchSpanProcessor(configuration.traceExporter);
const spanProcessors = configuration.spanProcessors ?? [spanProcessor2];
this._tracerProviderConfig = {
tracerConfig: tracerProviderConfig,
spanProcessors
};
}
if (configuration.logRecordProcessors) {
this._loggerProviderConfig = {
logRecordProcessors: configuration.logRecordProcessors
};
} else if (configuration.logRecordProcessor) {
this._loggerProviderConfig = {
logRecordProcessors: [configuration.logRecordProcessor]
};
api_1.diag.warn("The 'logRecordProcessor' option is deprecated. Please use 'logRecordProcessors' instead.");
} else {
this.configureLoggerProviderFromEnv();
}
if (configuration.metricReaders) {
this._meterProviderConfig = {
readers: configuration.metricReaders,
views: configuration.views
};
} else if (configuration.metricReader) {
this._meterProviderConfig = {
readers: [configuration.metricReader],
views: configuration.views
};
api_1.diag.warn("The 'metricReader' option is deprecated. Please use 'metricReaders' instead.");
} else {
this._meterProviderConfig = {
readers: getMetricReadersFromEnv(),
views: configuration.views
};
}
this._instrumentations = configuration.instrumentations?.flat() ?? [];
}
/**
* Call this method to construct SDK components and register them with the OpenTelemetry API.
*/
start() {
if (this._disabled) {
return;
}
(0, instrumentation_1.registerInstrumentations)({
instrumentations: this._instrumentations
});
(0, utils_1.setupContextManager)(this._configuration?.contextManager);
(0, utils_1.setupPropagator)(this._configuration?.textMapPropagator === null ? null : this._configuration?.textMapPropagator ?? (0, utils_1.getPropagatorFromEnv)());
if (this._autoDetectResources) {
const internalConfig = {
detectors: this._resourceDetectors
};
this._resource = this._resource.merge((0, resources_1.detectResources)(internalConfig));
}
this._resource = this._serviceName === void 0 ? this._resource : this._resource.merge((0, resources_1.resourceFromAttributes)({
[semantic_conventions_1.ATTR_SERVICE_NAME]: this._serviceName
}));
const spanProcessors = this._tracerProviderConfig ? this._tracerProviderConfig.spanProcessors : (0, utils_1.getSpanProcessorsFromEnv)();
if (spanProcessors.length > 0) {
this._tracerProvider = new sdk_trace_node_1.NodeTracerProvider({
...this._configuration,
resource: this._resource,
spanProcessors
});
api_1.trace.setGlobalTracerProvider(this._tracerProvider);
}
if (this._loggerProviderConfig) {
const loggerProvider = new sdk_logs_1.LoggerProvider({
resource: this._resource,
processors: this._loggerProviderConfig.logRecordProcessors
});
this._loggerProvider = loggerProvider;
api_logs_1.logs.setGlobalLoggerProvider(loggerProvider);
}
if (this._meterProviderConfig?.readers && // only register if there is a reader, otherwise we waste compute/memory.
this._meterProviderConfig.readers.length > 0) {
const meterProvider = new sdk_metrics_1.MeterProvider({
resource: this._resource,
views: this._meterProviderConfig?.views ?? [],
readers: this._meterProviderConfig.readers
});
this._meterProvider = meterProvider;
api_1.metrics.setGlobalMeterProvider(meterProvider);
for (const instrumentation of this._instrumentations) {
instrumentation.setMeterProvider(api_1.metrics.getMeterProvider());
}
}
}
shutdown() {
const promises8 = [];
if (this._tracerProvider) {
promises8.push(this._tracerProvider.shutdown());
}
if (this._loggerProvider) {
promises8.push(this._loggerProvider.shutdown());
}
if (this._meterProvider) {
promises8.push(this._meterProvider.shutdown());
}
return Promise.all(promises8).then(() => {
});
}
configureLoggerProviderFromEnv() {
const enabledExporters = Array.from(new Set((0, core_1.getStringListFromEnv)("OTEL_LOGS_EXPORTER") ?? []));
if (enabledExporters.length === 0) {
api_1.diag.debug("OTEL_LOGS_EXPORTER is empty. Using default otlp exporter.");
enabledExporters.push("otlp");
}
if (enabledExporters.includes("none")) {
api_1.diag.info(`OTEL_LOGS_EXPORTER contains "none". Logger provider will not be initialized.`);
return;
}
const exporters = [];
enabledExporters.forEach((exporter) => {
if (exporter === "otlp") {
const protocol = ((0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_PROTOCOL") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_PROTOCOL"))?.trim() || "http/protobuf";
switch (protocol) {
case "grpc":
exporters.push(new exporter_logs_otlp_grpc_1.OTLPLogExporter());
break;
case "http/json":
exporters.push(new exporter_logs_otlp_http_1.OTLPLogExporter());
break;
case "http/protobuf":
exporters.push(new exporter_logs_otlp_proto_1.OTLPLogExporter());
break;
default:
api_1.diag.warn(`Unsupported OTLP logs protocol: "${protocol}". Using http/protobuf.`);
exporters.push(new exporter_logs_otlp_proto_1.OTLPLogExporter());
}
} else if (exporter === "console") {
exporters.push(new sdk_logs_1.ConsoleLogRecordExporter());
} else {
api_1.diag.warn(`Unsupported OTEL_LOGS_EXPORTER value: "${exporter}". Supported values are: otlp, console, none.`);
}
});
if (exporters.length > 0) {
this._loggerProviderConfig = {
logRecordProcessors: exporters.map((exporter) => {
if (exporter instanceof sdk_logs_1.ConsoleLogRecordExporter) {
return new sdk_logs_1.SimpleLogRecordProcessor(exporter);
} else {
return new sdk_logs_1.BatchLogRecordProcessor(exporter);
}
})
};
}
}
};
exports2.NodeSDK = NodeSDK2;
}
});
// node_modules/@opentelemetry/configuration/build/src/models/configModel.js
var require_configModel = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/models/configModel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.initializeDefaultConfiguration = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
function initializeDefaultConfiguration() {
const config2 = {
disabled: false,
log_level: api_1.DiagLogLevel.INFO,
resource: {},
attribute_limits: {
attribute_count_limit: 128
},
propagator: {
composite: [{ tracecontext: null }, { baggage: null }],
composite_list: "tracecontext,baggage"
}
};
return config2;
}
exports2.initializeDefaultConfiguration = initializeDefaultConfiguration;
}
});
// node_modules/@opentelemetry/configuration/build/src/models/meterProviderModel.js
var require_meterProviderModel = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/models/meterProviderModel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InstrumentType = exports2.ExporterDefaultHistogramAggregation = exports2.ExporterTemporalityPreference = exports2.ExemplarFilter = exports2.initializeDefaultMeterProviderConfiguration = void 0;
function initializeDefaultMeterProviderConfiguration() {
return {
readers: [],
exemplar_filter: ExemplarFilter.TraceBased
};
}
exports2.initializeDefaultMeterProviderConfiguration = initializeDefaultMeterProviderConfiguration;
var ExemplarFilter;
(function(ExemplarFilter2) {
ExemplarFilter2["AlwaysOff"] = "always_off";
ExemplarFilter2["AlwaysOn"] = "always_on";
ExemplarFilter2["TraceBased"] = "trace_based";
})(ExemplarFilter = exports2.ExemplarFilter || (exports2.ExemplarFilter = {}));
var ExporterTemporalityPreference;
(function(ExporterTemporalityPreference2) {
ExporterTemporalityPreference2["Cumulative"] = "cumulative";
ExporterTemporalityPreference2["Delta"] = "delta";
ExporterTemporalityPreference2["LowMemory"] = "low_memory";
})(ExporterTemporalityPreference = exports2.ExporterTemporalityPreference || (exports2.ExporterTemporalityPreference = {}));
var ExporterDefaultHistogramAggregation;
(function(ExporterDefaultHistogramAggregation2) {
ExporterDefaultHistogramAggregation2["Base2ExponentialBucketHistogram"] = "base2_exponential_bucket_histogram";
ExporterDefaultHistogramAggregation2["ExplicitBucketHistogram"] = "explicit_bucket_histogram";
})(ExporterDefaultHistogramAggregation = exports2.ExporterDefaultHistogramAggregation || (exports2.ExporterDefaultHistogramAggregation = {}));
var InstrumentType;
(function(InstrumentType2) {
InstrumentType2["Counter"] = "counter";
InstrumentType2["Gauge"] = "gauge";
InstrumentType2["Histogram"] = "histogram";
InstrumentType2["ObservableCounter"] = "observable_counter";
InstrumentType2["ObservableGauge"] = "observable_gauge";
InstrumentType2["ObservableUpDownCounter"] = "observable_up_down_counter";
InstrumentType2["UpDownCounter"] = "up_down_counter";
})(InstrumentType = exports2.InstrumentType || (exports2.InstrumentType = {}));
}
});
// node_modules/@opentelemetry/configuration/build/src/models/commonModel.js
var require_commonModel = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/models/commonModel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OtlpHttpEncoding = void 0;
var OtlpHttpEncoding;
(function(OtlpHttpEncoding2) {
OtlpHttpEncoding2["JSON"] = "json";
OtlpHttpEncoding2["Protobuf"] = "protobuf";
})(OtlpHttpEncoding = exports2.OtlpHttpEncoding || (exports2.OtlpHttpEncoding = {}));
}
});
// node_modules/@opentelemetry/configuration/build/src/models/tracerProviderModel.js
var require_tracerProviderModel = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/models/tracerProviderModel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.initializeDefaultTracerProviderConfiguration = void 0;
function initializeDefaultTracerProviderConfiguration() {
return {
processors: [],
limits: {
attribute_count_limit: 128,
event_count_limit: 128,
link_count_limit: 128,
event_attribute_count_limit: 128,
link_attribute_count_limit: 128
},
sampler: {
parent_based: {
root: { always_on: void 0 },
remote_parent_sampled: { always_on: void 0 },
remote_parent_not_sampled: { always_off: void 0 },
local_parent_sampled: { always_on: void 0 },
local_parent_not_sampled: { always_off: void 0 }
}
}
};
}
exports2.initializeDefaultTracerProviderConfiguration = initializeDefaultTracerProviderConfiguration;
}
});
// node_modules/@opentelemetry/configuration/build/src/models/loggerProviderModel.js
var require_loggerProviderModel = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/models/loggerProviderModel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.initializeDefaultLoggerProviderConfiguration = void 0;
function initializeDefaultLoggerProviderConfiguration() {
return {
processors: [],
limits: {
attribute_count_limit: 128
}
};
}
exports2.initializeDefaultLoggerProviderConfiguration = initializeDefaultLoggerProviderConfiguration;
}
});
// node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js
var require_EnvironmentConfigFactory = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.setLoggerProvider = exports2.setMeterProvider = exports2.setTracerProvider = exports2.setPropagators = exports2.setAttributeLimits = exports2.setResources = exports2.EnvironmentConfigFactory = void 0;
var configModel_1 = require_configModel();
var core_1 = require_src8();
var meterProviderModel_1 = require_meterProviderModel();
var commonModel_1 = require_commonModel();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var tracerProviderModel_1 = require_tracerProviderModel();
var loggerProviderModel_1 = require_loggerProviderModel();
var EnvironmentConfigFactory = class {
_config;
constructor() {
this._config = (0, configModel_1.initializeDefaultConfiguration)();
this._config.disabled = (0, core_1.getBooleanFromEnv)("OTEL_SDK_DISABLED");
const logLevel = (0, core_1.diagLogLevelFromString)((0, core_1.getStringFromEnv)("OTEL_LOG_LEVEL"));
if (logLevel) {
this._config.log_level = logLevel;
}
const nodeResourceDetectors = (0, core_1.getStringListFromEnv)("OTEL_NODE_RESOURCE_DETECTORS");
if (nodeResourceDetectors) {
this._config.node_resource_detectors = nodeResourceDetectors;
}
setResources(this._config);
setAttributeLimits(this._config);
setPropagators(this._config);
setTracerProvider(this._config);
setMeterProvider(this._config);
setLoggerProvider(this._config);
}
getConfigModel() {
return this._config;
}
};
exports2.EnvironmentConfigFactory = EnvironmentConfigFactory;
function setResources(config2) {
if (config2.resource == null) {
config2.resource = {};
}
const resourceAttrList = (0, core_1.getStringFromEnv)("OTEL_RESOURCE_ATTRIBUTES");
const list = (0, core_1.getStringListFromEnv)("OTEL_RESOURCE_ATTRIBUTES");
const serviceName = (0, core_1.getStringFromEnv)("OTEL_SERVICE_NAME");
if (serviceName) {
config2.resource.attributes = [
{
name: "service.name",
value: serviceName,
type: "string"
}
];
}
if (list && list.length > 0) {
config2.resource.attributes_list = resourceAttrList;
if (config2.resource.attributes == null) {
config2.resource.attributes = [];
}
for (let i3 = 0; i3 < list.length; i3++) {
const element = list[i3].split("=");
if (element[0] !== "service.name" || element[0] === "service.name" && serviceName === void 0) {
config2.resource.attributes.push({
name: element[0],
value: element[1],
type: "string"
});
}
}
}
}
exports2.setResources = setResources;
function setAttributeLimits(config2) {
const attributeValueLengthLimit = (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT");
if (attributeValueLengthLimit && attributeValueLengthLimit > 0) {
if (config2.attribute_limits == null) {
config2.attribute_limits = { attribute_count_limit: 128 };
}
config2.attribute_limits.attribute_value_length_limit = attributeValueLengthLimit;
}
const attributeCountLimit = (0, core_1.getNumberFromEnv)("OTEL_ATTRIBUTE_COUNT_LIMIT");
if (attributeCountLimit) {
if (config2.attribute_limits == null) {
config2.attribute_limits = { attribute_count_limit: attributeCountLimit };
} else {
config2.attribute_limits.attribute_count_limit = attributeCountLimit;
}
}
}
exports2.setAttributeLimits = setAttributeLimits;
function setPropagators(config2) {
if (config2.propagator == null) {
config2.propagator = {};
}
const composite = (0, core_1.getStringListFromEnv)("OTEL_PROPAGATORS");
if (composite && composite.length > 0) {
config2.propagator.composite = [];
for (let i3 = 0; i3 < composite.length; i3++) {
config2.propagator.composite.push({ [composite[i3]]: null });
}
}
const compositeList = (0, core_1.getStringFromEnv)("OTEL_PROPAGATORS");
if (compositeList) {
config2.propagator.composite_list = compositeList;
}
}
exports2.setPropagators = setPropagators;
function setTracerProvider(config2) {
const exportersType = Array.from(new Set((0, core_1.getStringListFromEnv)("OTEL_TRACES_EXPORTER")));
if (exportersType.length === 0) {
return;
}
if (exportersType.includes("none")) {
api_1.diag.info(`OTEL_TRACES_EXPORTER contains "none". Tracer provider will not be initialized.`);
return;
}
config2.tracer_provider = (0, tracerProviderModel_1.initializeDefaultTracerProviderConfiguration)();
if (config2.tracer_provider.limits == null) {
config2.tracer_provider.limits = {};
}
const attributeValueLengthLimit = (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT");
if (attributeValueLengthLimit) {
config2.tracer_provider.limits.attribute_value_length_limit = attributeValueLengthLimit;
}
const attributeCountLimit = (0, core_1.getNumberFromEnv)("OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT");
if (attributeCountLimit) {
config2.tracer_provider.limits.attribute_count_limit = attributeCountLimit;
}
const eventCountLimit = (0, core_1.getNumberFromEnv)("OTEL_SPAN_EVENT_COUNT_LIMIT");
if (eventCountLimit) {
config2.tracer_provider.limits.event_count_limit = eventCountLimit;
}
const linkCountLimit = (0, core_1.getNumberFromEnv)("OTEL_SPAN_LINK_COUNT_LIMIT");
if (linkCountLimit) {
config2.tracer_provider.limits.link_count_limit = linkCountLimit;
}
const eventAttributeCountLimit = (0, core_1.getNumberFromEnv)("OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT");
if (eventAttributeCountLimit) {
config2.tracer_provider.limits.event_attribute_count_limit = eventAttributeCountLimit;
}
const linkAttributeCountLimit = (0, core_1.getNumberFromEnv)("OTEL_LINK_ATTRIBUTE_COUNT_LIMIT");
if (linkAttributeCountLimit) {
config2.tracer_provider.limits.link_attribute_count_limit = linkAttributeCountLimit;
}
const batch = { exporter: {} };
const scheduleDelay = (0, core_1.getNumberFromEnv)("OTEL_BSP_SCHEDULE_DELAY") ?? 5e3;
if (scheduleDelay) {
batch.schedule_delay = scheduleDelay;
}
const exportTimeout = (0, core_1.getNumberFromEnv)("OTEL_BSP_EXPORT_TIMEOUT") ?? 3e4;
if (exportTimeout) {
batch.export_timeout = exportTimeout;
}
const maxQueueSize = (0, core_1.getNumberFromEnv)("OTEL_BSP_MAX_QUEUE_SIZE") ?? 2048;
if (maxQueueSize) {
batch.max_queue_size = maxQueueSize;
}
const maxExportBatchSize = (0, core_1.getNumberFromEnv)("OTEL_BSP_MAX_EXPORT_BATCH_SIZE") ?? 512;
if (maxExportBatchSize) {
batch.max_export_batch_size = maxExportBatchSize;
}
for (let i3 = 0; i3 < exportersType.length; i3++) {
const exporterType = exportersType[i3];
const batchInfo = { ...batch };
if (exporterType === "console") {
config2.tracer_provider.processors.push({
simple: { exporter: { console: {} } }
});
} else if (exporterType === "zipkin") {
batchInfo.exporter = {
zipkin: {
endpoint: (0, core_1.getStringFromEnv)("OTEL_EXPORTER_ZIPKIN_ENDPOINT") ?? "http://localhost:9411/api/v2/spans",
timeout: (0, core_1.getNumberFromEnv)("OTEL_EXPORTER_ZIPKIN_TIMEOUT") ?? 1e4
}
};
config2.tracer_provider.processors.push({ batch: batchInfo });
} else {
const protocol = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_PROTOCOL") ?? "http/protobuf";
const certificateFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CERTIFICATE");
const clientKeyFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CLIENT_KEY");
const clientCertificateFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE");
const compression = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_COMPRESSION") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_COMPRESSION");
const timeout = (0, core_1.getNumberFromEnv)("OTEL_EXPORTER_OTLP_TRACES_TIMEOUT") ?? (0, core_1.getNumberFromEnv)("OTEL_EXPORTER_OTLP_TIMEOUT") ?? 1e4;
const headersList = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_HEADERS") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_HEADERS");
if (protocol === "grpc") {
delete batchInfo.exporter.otlp_http;
batchInfo.exporter.otlp_grpc = {};
const endpoint = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT") ?? "http://localhost:4317";
if (endpoint) {
batchInfo.exporter.otlp_grpc.endpoint = endpoint;
}
if (certificateFile) {
batchInfo.exporter.otlp_grpc.certificate_file = certificateFile;
}
if (clientKeyFile) {
batchInfo.exporter.otlp_grpc.client_key_file = clientKeyFile;
}
if (clientCertificateFile) {
batchInfo.exporter.otlp_grpc.client_certificate_file = clientCertificateFile;
}
if (compression) {
batchInfo.exporter.otlp_grpc.compression = compression;
}
if (timeout) {
batchInfo.exporter.otlp_grpc.timeout = timeout;
}
if (headersList) {
batchInfo.exporter.otlp_grpc.headers_list = headersList;
}
} else {
if (batchInfo.exporter.otlp_http == null) {
batchInfo.exporter.otlp_http = {};
}
const endpoint = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT") ?? ((0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT") ? `${(0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT")}/v1/traces` : "http://localhost:4318/v1/traces");
if (endpoint) {
batchInfo.exporter.otlp_http.endpoint = endpoint;
}
if (certificateFile) {
batchInfo.exporter.otlp_http.certificate_file = certificateFile;
}
if (clientKeyFile) {
batchInfo.exporter.otlp_http.client_key_file = clientKeyFile;
}
if (clientCertificateFile) {
batchInfo.exporter.otlp_http.client_certificate_file = clientCertificateFile;
}
if (compression) {
batchInfo.exporter.otlp_http.compression = compression;
}
if (timeout) {
batchInfo.exporter.otlp_http.timeout = timeout;
}
if (headersList) {
batchInfo.exporter.otlp_http.headers_list = headersList;
}
if (protocol === "http/json") {
batchInfo.exporter.otlp_http.encoding = commonModel_1.OtlpHttpEncoding.JSON;
} else if (protocol === "http/protobuf") {
batchInfo.exporter.otlp_http.encoding = commonModel_1.OtlpHttpEncoding.Protobuf;
}
}
config2.tracer_provider.processors.push({ batch: batchInfo });
}
}
}
exports2.setTracerProvider = setTracerProvider;
function setMeterProvider(config2) {
const exportersType = Array.from(new Set((0, core_1.getStringListFromEnv)("OTEL_METRICS_EXPORTER")));
if (exportersType.length === 0) {
return;
}
if (exportersType.includes("none")) {
api_1.diag.info(`OTEL_METRICS_EXPORTER contains "none". Meter provider will not be initialized.`);
return;
}
config2.meter_provider = (0, meterProviderModel_1.initializeDefaultMeterProviderConfiguration)();
const readerPeriodic = { exporter: {} };
const interval = (0, core_1.getNumberFromEnv)("OTEL_METRIC_EXPORT_INTERVAL") ?? 6e4;
if (interval) {
readerPeriodic.interval = interval;
}
for (let i3 = 0; i3 < exportersType.length; i3++) {
const exporterType = exportersType[i3];
const readerPeriodicInfo = { ...readerPeriodic };
const timeout = (0, core_1.getNumberFromEnv)("OTEL_METRIC_EXPORT_TIMEOUT") ?? 3e4;
if (timeout) {
readerPeriodicInfo.timeout = timeout;
}
if (exporterType === "console") {
readerPeriodicInfo.exporter = { console: {} };
} else {
const protocol = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_PROTOCOL") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_PROTOCOL") ?? "http/protobuf";
const certificateFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CERTIFICATE");
const clientKeyFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CLIENT_KEY");
const clientCertificateFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE");
const compression = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_COMPRESSION") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_COMPRESSION");
const timeoutExporter = (0, core_1.getNumberFromEnv)("OTEL_EXPORTER_OTLP_METRICS_TIMEOUT") ?? (0, core_1.getNumberFromEnv)("OTEL_EXPORTER_OTLP_TIMEOUT") ?? 1e4;
const headersList = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_HEADERS") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_HEADERS");
const temporalityPreference = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE") ?? "cumulative";
const defaultHistogramAggregation = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION") ?? "explicit_bucket_histogram";
if (protocol === "grpc") {
delete readerPeriodicInfo.exporter.otlp_http;
readerPeriodicInfo.exporter.otlp_grpc = {};
const endpoint = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_ENDPOINT") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT") ?? "http://localhost:4317";
if (endpoint) {
readerPeriodicInfo.exporter.otlp_grpc.endpoint = endpoint;
}
if (certificateFile) {
readerPeriodicInfo.exporter.otlp_grpc.certificate_file = certificateFile;
}
if (clientKeyFile) {
readerPeriodicInfo.exporter.otlp_grpc.client_key_file = clientKeyFile;
}
if (clientCertificateFile) {
readerPeriodicInfo.exporter.otlp_grpc.client_certificate_file = clientCertificateFile;
}
if (compression) {
readerPeriodicInfo.exporter.otlp_grpc.compression = compression;
}
if (timeoutExporter) {
readerPeriodicInfo.exporter.otlp_grpc.timeout = timeoutExporter;
}
if (headersList) {
readerPeriodicInfo.exporter.otlp_grpc.headers_list = headersList;
}
if (temporalityPreference) {
switch (temporalityPreference) {
case "cumulative":
readerPeriodicInfo.exporter.otlp_grpc.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.Cumulative;
break;
case "delta":
readerPeriodicInfo.exporter.otlp_grpc.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.Delta;
break;
case "low_memory":
readerPeriodicInfo.exporter.otlp_grpc.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.LowMemory;
break;
default:
readerPeriodicInfo.exporter.otlp_grpc.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.Cumulative;
break;
}
}
if (defaultHistogramAggregation) {
switch (defaultHistogramAggregation) {
case "explicit_bucket_histogram":
readerPeriodicInfo.exporter.otlp_grpc.default_histogram_aggregation = meterProviderModel_1.ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;
break;
case "base2_exponential_bucket_histogram":
readerPeriodicInfo.exporter.otlp_grpc.default_histogram_aggregation = meterProviderModel_1.ExporterDefaultHistogramAggregation.Base2ExponentialBucketHistogram;
break;
default:
readerPeriodicInfo.exporter.otlp_grpc.default_histogram_aggregation = meterProviderModel_1.ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;
break;
}
}
} else {
if (readerPeriodicInfo.exporter.otlp_http == null) {
readerPeriodicInfo.exporter.otlp_http = {};
}
const endpoint = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_METRICS_ENDPOINT") ?? ((0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT") ? `${(0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT")}/v1/metrics` : "http://localhost:4318/v1/metrics");
if (endpoint) {
readerPeriodicInfo.exporter.otlp_http.endpoint = endpoint;
}
if (certificateFile) {
readerPeriodicInfo.exporter.otlp_http.certificate_file = certificateFile;
}
if (clientKeyFile) {
readerPeriodicInfo.exporter.otlp_http.client_key_file = clientKeyFile;
}
if (clientCertificateFile) {
readerPeriodicInfo.exporter.otlp_http.client_certificate_file = clientCertificateFile;
}
if (compression) {
readerPeriodicInfo.exporter.otlp_http.compression = compression;
}
if (timeoutExporter) {
readerPeriodicInfo.exporter.otlp_http.timeout = timeoutExporter;
}
if (headersList) {
readerPeriodicInfo.exporter.otlp_http.headers_list = headersList;
}
if (temporalityPreference) {
switch (temporalityPreference) {
case "cumulative":
readerPeriodicInfo.exporter.otlp_http.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.Cumulative;
break;
case "delta":
readerPeriodicInfo.exporter.otlp_http.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.Delta;
break;
case "low_memory":
readerPeriodicInfo.exporter.otlp_http.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.LowMemory;
break;
default:
readerPeriodicInfo.exporter.otlp_http.temporality_preference = meterProviderModel_1.ExporterTemporalityPreference.Cumulative;
break;
}
}
if (defaultHistogramAggregation) {
switch (defaultHistogramAggregation) {
case "explicit_bucket_histogram":
readerPeriodicInfo.exporter.otlp_http.default_histogram_aggregation = meterProviderModel_1.ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;
break;
case "base2_exponential_bucket_histogram":
readerPeriodicInfo.exporter.otlp_http.default_histogram_aggregation = meterProviderModel_1.ExporterDefaultHistogramAggregation.Base2ExponentialBucketHistogram;
break;
default:
readerPeriodicInfo.exporter.otlp_http.default_histogram_aggregation = meterProviderModel_1.ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;
break;
}
}
if (protocol === "http/json") {
readerPeriodicInfo.exporter.otlp_http.encoding = commonModel_1.OtlpHttpEncoding.JSON;
} else if (protocol === "http/protobuf") {
readerPeriodicInfo.exporter.otlp_http.encoding = commonModel_1.OtlpHttpEncoding.Protobuf;
}
}
}
config2.meter_provider.readers.push({ periodic: readerPeriodicInfo });
}
const exemplarFilter = (0, core_1.getStringFromEnv)("OTEL_METRICS_EXEMPLAR_FILTER") ?? "trace_based";
if (exemplarFilter) {
switch (exemplarFilter) {
case "trace_based":
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.TraceBased;
break;
case "always_on":
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.AlwaysOn;
break;
case "always_off":
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.AlwaysOff;
break;
default:
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.TraceBased;
break;
}
}
}
exports2.setMeterProvider = setMeterProvider;
function setLoggerProvider(config2) {
const exportersType = Array.from(new Set((0, core_1.getStringListFromEnv)("OTEL_LOGS_EXPORTER")));
if (exportersType.length === 0) {
return;
}
if (exportersType.includes("none")) {
api_1.diag.info(`OTEL_LOGS_EXPORTER contains "none". Logger provider will not be initialized.`);
return;
}
config2.logger_provider = (0, loggerProviderModel_1.initializeDefaultLoggerProviderConfiguration)();
const attributeValueLengthLimit = (0, core_1.getNumberFromEnv)("OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT");
const attributeCountLimit = (0, core_1.getNumberFromEnv)("OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT");
if (attributeValueLengthLimit || attributeCountLimit) {
if (config2.logger_provider.limits == null) {
config2.logger_provider.limits = { attribute_count_limit: 128 };
}
if (attributeValueLengthLimit) {
config2.logger_provider.limits.attribute_value_length_limit = attributeValueLengthLimit;
}
if (attributeCountLimit) {
config2.logger_provider.limits.attribute_count_limit = attributeCountLimit;
}
}
const batch = { exporter: {} };
const scheduleDelay = (0, core_1.getNumberFromEnv)("OTEL_BLRP_SCHEDULE_DELAY") ?? 1e3;
if (scheduleDelay) {
batch.schedule_delay = scheduleDelay;
}
const exportTimeout = (0, core_1.getNumberFromEnv)("OTEL_BLRP_EXPORT_TIMEOUT") ?? 3e4;
if (exportTimeout) {
batch.export_timeout = exportTimeout;
}
const maxQueueSize = (0, core_1.getNumberFromEnv)("OTEL_BLRP_MAX_QUEUE_SIZE") ?? 2048;
if (maxQueueSize) {
batch.max_queue_size = maxQueueSize;
}
const maxExportBatchSize = (0, core_1.getNumberFromEnv)("OTEL_BLRP_MAX_EXPORT_BATCH_SIZE") ?? 512;
if (maxExportBatchSize) {
batch.max_export_batch_size = maxExportBatchSize;
}
for (let i3 = 0; i3 < exportersType.length; i3++) {
const exporterType = exportersType[i3];
const batchInfo = { ...batch };
if (exporterType === "console") {
config2.logger_provider.processors.push({
simple: { exporter: { console: {} } }
});
} else {
const protocol = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_PROTOCOL") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_PROTOCOL") ?? "http/protobuf";
const certificateFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CERTIFICATE");
const clientKeyFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CLIENT_KEY");
const clientCertificateFile = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE");
const compression = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_COMPRESSION") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_COMPRESSION");
const timeout = (0, core_1.getNumberFromEnv)("OTEL_EXPORTER_OTLP_LOGS_TIMEOUT") ?? (0, core_1.getNumberFromEnv)("OTEL_EXPORTER_OTLP_TIMEOUT") ?? 1e4;
const headersList = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_HEADERS") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_HEADERS");
if (protocol === "grpc") {
delete batchInfo.exporter.otlp_http;
batchInfo.exporter.otlp_grpc = {};
const endpoint = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_ENDPOINT") ?? (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT") ?? "http://localhost:4317";
if (endpoint) {
batchInfo.exporter.otlp_grpc.endpoint = endpoint;
}
if (certificateFile) {
batchInfo.exporter.otlp_grpc.certificate_file = certificateFile;
}
if (clientKeyFile) {
batchInfo.exporter.otlp_grpc.client_key_file = clientKeyFile;
}
if (clientCertificateFile) {
batchInfo.exporter.otlp_grpc.client_certificate_file = clientCertificateFile;
}
if (compression) {
batchInfo.exporter.otlp_grpc.compression = compression;
}
if (timeout) {
batchInfo.exporter.otlp_grpc.timeout = timeout;
}
if (headersList) {
batchInfo.exporter.otlp_grpc.headers_list = headersList;
}
} else {
if (batchInfo.exporter.otlp_http == null) {
batchInfo.exporter.otlp_http = {};
}
const endpoint = (0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_LOGS_ENDPOINT") ?? ((0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT") ? `${(0, core_1.getStringFromEnv)("OTEL_EXPORTER_OTLP_ENDPOINT")}/v1/logs` : "http://localhost:4318/v1/logs");
if (endpoint) {
batchInfo.exporter.otlp_http.endpoint = endpoint;
}
if (certificateFile) {
batchInfo.exporter.otlp_http.certificate_file = certificateFile;
}
if (clientKeyFile) {
batchInfo.exporter.otlp_http.client_key_file = clientKeyFile;
}
if (clientCertificateFile) {
batchInfo.exporter.otlp_http.client_certificate_file = clientCertificateFile;
}
if (compression) {
batchInfo.exporter.otlp_http.compression = compression;
}
if (timeout) {
batchInfo.exporter.otlp_http.timeout = timeout;
}
if (headersList) {
batchInfo.exporter.otlp_http.headers_list = headersList;
}
if (protocol === "http/json") {
batchInfo.exporter.otlp_http.encoding = commonModel_1.OtlpHttpEncoding.JSON;
} else if (protocol === "http/protobuf") {
batchInfo.exporter.otlp_http.encoding = commonModel_1.OtlpHttpEncoding.Protobuf;
}
}
config2.logger_provider.processors.push({ batch: batchInfo });
}
}
}
exports2.setLoggerProvider = setLoggerProvider;
}
});
// node_modules/yaml/dist/nodes/identity.js
var require_identity = __commonJS({
"node_modules/yaml/dist/nodes/identity.js"(exports2) {
"use strict";
var ALIAS = Symbol.for("yaml.alias");
var DOC = Symbol.for("yaml.document");
var MAP = Symbol.for("yaml.map");
var PAIR = Symbol.for("yaml.pair");
var SCALAR = Symbol.for("yaml.scalar");
var SEQ = Symbol.for("yaml.seq");
var NODE_TYPE = Symbol.for("yaml.node.type");
var isAlias = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === ALIAS;
var isDocument2 = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === DOC;
var isMap = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === MAP;
var isPair = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === PAIR;
var isScalar = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SCALAR;
var isSeq = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SEQ;
function isCollection(node) {
if (node && typeof node === "object")
switch (node[NODE_TYPE]) {
case MAP:
case SEQ:
return true;
}
return false;
}
function isNode2(node) {
if (node && typeof node === "object")
switch (node[NODE_TYPE]) {
case ALIAS:
case MAP:
case SCALAR:
case SEQ:
return true;
}
return false;
}
var hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
exports2.ALIAS = ALIAS;
exports2.DOC = DOC;
exports2.MAP = MAP;
exports2.NODE_TYPE = NODE_TYPE;
exports2.PAIR = PAIR;
exports2.SCALAR = SCALAR;
exports2.SEQ = SEQ;
exports2.hasAnchor = hasAnchor;
exports2.isAlias = isAlias;
exports2.isCollection = isCollection;
exports2.isDocument = isDocument2;
exports2.isMap = isMap;
exports2.isNode = isNode2;
exports2.isPair = isPair;
exports2.isScalar = isScalar;
exports2.isSeq = isSeq;
}
});
// node_modules/yaml/dist/visit.js
var require_visit = __commonJS({
"node_modules/yaml/dist/visit.js"(exports2) {
"use strict";
var identity3 = require_identity();
var BREAK = Symbol("break visit");
var SKIP = Symbol("skip children");
var REMOVE = Symbol("remove node");
function visit(node, visitor) {
const visitor_ = initVisitor(visitor);
if (identity3.isDocument(node)) {
const cd = visit_(null, node.contents, visitor_, Object.freeze([node]));
if (cd === REMOVE)
node.contents = null;
} else
visit_(null, node, visitor_, Object.freeze([]));
}
visit.BREAK = BREAK;
visit.SKIP = SKIP;
visit.REMOVE = REMOVE;
function visit_(key, node, visitor, path101) {
const ctrl = callVisitor(key, node, visitor, path101);
if (identity3.isNode(ctrl) || identity3.isPair(ctrl)) {
replaceNode(key, path101, ctrl);
return visit_(key, ctrl, visitor, path101);
}
if (typeof ctrl !== "symbol") {
if (identity3.isCollection(node)) {
path101 = Object.freeze(path101.concat(node));
for (let i3 = 0; i3 < node.items.length; ++i3) {
const ci = visit_(i3, node.items[i3], visitor, path101);
if (typeof ci === "number")
i3 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
node.items.splice(i3, 1);
i3 -= 1;
}
}
} else if (identity3.isPair(node)) {
path101 = Object.freeze(path101.concat(node));
const ck = visit_("key", node.key, visitor, path101);
if (ck === BREAK)
return BREAK;
else if (ck === REMOVE)
node.key = null;
const cv = visit_("value", node.value, visitor, path101);
if (cv === BREAK)
return BREAK;
else if (cv === REMOVE)
node.value = null;
}
}
return ctrl;
}
async function visitAsync(node, visitor) {
const visitor_ = initVisitor(visitor);
if (identity3.isDocument(node)) {
const cd = await visitAsync_(null, node.contents, visitor_, Object.freeze([node]));
if (cd === REMOVE)
node.contents = null;
} else
await visitAsync_(null, node, visitor_, Object.freeze([]));
}
visitAsync.BREAK = BREAK;
visitAsync.SKIP = SKIP;
visitAsync.REMOVE = REMOVE;
async function visitAsync_(key, node, visitor, path101) {
const ctrl = await callVisitor(key, node, visitor, path101);
if (identity3.isNode(ctrl) || identity3.isPair(ctrl)) {
replaceNode(key, path101, ctrl);
return visitAsync_(key, ctrl, visitor, path101);
}
if (typeof ctrl !== "symbol") {
if (identity3.isCollection(node)) {
path101 = Object.freeze(path101.concat(node));
for (let i3 = 0; i3 < node.items.length; ++i3) {
const ci = await visitAsync_(i3, node.items[i3], visitor, path101);
if (typeof ci === "number")
i3 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
node.items.splice(i3, 1);
i3 -= 1;
}
}
} else if (identity3.isPair(node)) {
path101 = Object.freeze(path101.concat(node));
const ck = await visitAsync_("key", node.key, visitor, path101);
if (ck === BREAK)
return BREAK;
else if (ck === REMOVE)
node.key = null;
const cv = await visitAsync_("value", node.value, visitor, path101);
if (cv === BREAK)
return BREAK;
else if (cv === REMOVE)
node.value = null;
}
}
return ctrl;
}
function initVisitor(visitor) {
if (typeof visitor === "object" && (visitor.Collection || visitor.Node || visitor.Value)) {
return Object.assign({
Alias: visitor.Node,
Map: visitor.Node,
Scalar: visitor.Node,
Seq: visitor.Node
}, visitor.Value && {
Map: visitor.Value,
Scalar: visitor.Value,
Seq: visitor.Value
}, visitor.Collection && {
Map: visitor.Collection,
Seq: visitor.Collection
}, visitor);
}
return visitor;
}
function callVisitor(key, node, visitor, path101) {
if (typeof visitor === "function")
return visitor(key, node, path101);
if (identity3.isMap(node))
return visitor.Map?.(key, node, path101);
if (identity3.isSeq(node))
return visitor.Seq?.(key, node, path101);
if (identity3.isPair(node))
return visitor.Pair?.(key, node, path101);
if (identity3.isScalar(node))
return visitor.Scalar?.(key, node, path101);
if (identity3.isAlias(node))
return visitor.Alias?.(key, node, path101);
return void 0;
}
function replaceNode(key, path101, node) {
const parent = path101[path101.length - 1];
if (identity3.isCollection(parent)) {
parent.items[key] = node;
} else if (identity3.isPair(parent)) {
if (key === "key")
parent.key = node;
else
parent.value = node;
} else if (identity3.isDocument(parent)) {
parent.contents = node;
} else {
const pt = identity3.isAlias(parent) ? "alias" : "scalar";
throw new Error(`Cannot replace node with ${pt} parent`);
}
}
exports2.visit = visit;
exports2.visitAsync = visitAsync;
}
});
// node_modules/yaml/dist/doc/directives.js
var require_directives = __commonJS({
"node_modules/yaml/dist/doc/directives.js"(exports2) {
"use strict";
var identity3 = require_identity();
var visit = require_visit();
var escapeChars = {
"!": "%21",
",": "%2C",
"[": "%5B",
"]": "%5D",
"{": "%7B",
"}": "%7D"
};
var escapeTagName = (tn) => tn.replace(/[!,[\]{}]/g, (ch) => escapeChars[ch]);
var Directives = class _Directives {
constructor(yaml, tags) {
this.docStart = null;
this.docEnd = false;
this.yaml = Object.assign({}, _Directives.defaultYaml, yaml);
this.tags = Object.assign({}, _Directives.defaultTags, tags);
}
clone() {
const copy = new _Directives(this.yaml, this.tags);
copy.docStart = this.docStart;
return copy;
}
/**
* During parsing, get a Directives instance for the current document and
* update the stream state according to the current version's spec.
*/
atDocument() {
const res = new _Directives(this.yaml, this.tags);
switch (this.yaml.version) {
case "1.1":
this.atNextDocument = true;
break;
case "1.2":
this.atNextDocument = false;
this.yaml = {
explicit: _Directives.defaultYaml.explicit,
version: "1.2"
};
this.tags = Object.assign({}, _Directives.defaultTags);
break;
}
return res;
}
/**
* @param onError - May be called even if the action was successful
* @returns `true` on success
*/
add(line, onError2) {
if (this.atNextDocument) {
this.yaml = { explicit: _Directives.defaultYaml.explicit, version: "1.1" };
this.tags = Object.assign({}, _Directives.defaultTags);
this.atNextDocument = false;
}
const parts2 = line.trim().split(/[ \t]+/);
const name3 = parts2.shift();
switch (name3) {
case "%TAG": {
if (parts2.length !== 2) {
onError2(0, "%TAG directive should contain exactly two parts");
if (parts2.length < 2)
return false;
}
const [handle2, prefix] = parts2;
this.tags[handle2] = prefix;
return true;
}
case "%YAML": {
this.yaml.explicit = true;
if (parts2.length !== 1) {
onError2(0, "%YAML directive should contain exactly one part");
return false;
}
const [version4] = parts2;
if (version4 === "1.1" || version4 === "1.2") {
this.yaml.version = version4;
return true;
} else {
const isValid = /^\d+\.\d+$/.test(version4);
onError2(6, `Unsupported YAML version ${version4}`, isValid);
return false;
}
}
default:
onError2(0, `Unknown directive ${name3}`, true);
return false;
}
}
/**
* Resolves a tag, matching handles to those defined in %TAG directives.
*
* @returns Resolved tag, which may also be the non-specific tag `'!'` or a
* `'!local'` tag, or `null` if unresolvable.
*/
tagName(source, onError2) {
if (source === "!")
return "!";
if (source[0] !== "!") {
onError2(`Not a valid tag: ${source}`);
return null;
}
if (source[1] === "<") {
const verbatim = source.slice(2, -1);
if (verbatim === "!" || verbatim === "!!") {
onError2(`Verbatim tags aren't resolved, so ${source} is invalid.`);
return null;
}
if (source[source.length - 1] !== ">")
onError2("Verbatim tags must end with a >");
return verbatim;
}
const [, handle2, suffix] = source.match(/^(.*!)([^!]*)$/s);
if (!suffix)
onError2(`The ${source} tag has no suffix`);
const prefix = this.tags[handle2];
if (prefix) {
try {
return prefix + decodeURIComponent(suffix);
} catch (error40) {
onError2(String(error40));
return null;
}
}
if (handle2 === "!")
return source;
onError2(`Could not resolve tag: ${source}`);
return null;
}
/**
* Given a fully resolved tag, returns its printable string form,
* taking into account current tag prefixes and defaults.
*/
tagString(tag) {
for (const [handle2, prefix] of Object.entries(this.tags)) {
if (tag.startsWith(prefix))
return handle2 + escapeTagName(tag.substring(prefix.length));
}
return tag[0] === "!" ? tag : `!<${tag}>`;
}
toString(doc) {
const lines = this.yaml.explicit ? [`%YAML ${this.yaml.version || "1.2"}`] : [];
const tagEntries = Object.entries(this.tags);
let tagNames;
if (doc && tagEntries.length > 0 && identity3.isNode(doc.contents)) {
const tags = {};
visit.visit(doc.contents, (_key, node) => {
if (identity3.isNode(node) && node.tag)
tags[node.tag] = true;
});
tagNames = Object.keys(tags);
} else
tagNames = [];
for (const [handle2, prefix] of tagEntries) {
if (handle2 === "!!" && prefix === "tag:yaml.org,2002:")
continue;
if (!doc || tagNames.some((tn) => tn.startsWith(prefix)))
lines.push(`%TAG ${handle2} ${prefix}`);
}
return lines.join("\n");
}
};
Directives.defaultYaml = { explicit: false, version: "1.2" };
Directives.defaultTags = { "!!": "tag:yaml.org,2002:" };
exports2.Directives = Directives;
}
});
// node_modules/yaml/dist/doc/anchors.js
var require_anchors = __commonJS({
"node_modules/yaml/dist/doc/anchors.js"(exports2) {
"use strict";
var identity3 = require_identity();
var visit = require_visit();
function anchorIsValid(anchor) {
if (/[\x00-\x19\s,[\]{}]/.test(anchor)) {
const sa = JSON.stringify(anchor);
const msg = `Anchor must not contain whitespace or control characters: ${sa}`;
throw new Error(msg);
}
return true;
}
function anchorNames(root) {
const anchors = /* @__PURE__ */ new Set();
visit.visit(root, {
Value(_key, node) {
if (node.anchor)
anchors.add(node.anchor);
}
});
return anchors;
}
function findNewAnchor(prefix, exclude) {
for (let i3 = 1; true; ++i3) {
const name3 = `${prefix}${i3}`;
if (!exclude.has(name3))
return name3;
}
}
function createNodeAnchors(doc, prefix) {
const aliasObjects = [];
const sourceObjects = /* @__PURE__ */ new Map();
let prevAnchors = null;
return {
onAnchor: (source) => {
aliasObjects.push(source);
prevAnchors ?? (prevAnchors = anchorNames(doc));
const anchor = findNewAnchor(prefix, prevAnchors);
prevAnchors.add(anchor);
return anchor;
},
/**
* With circular references, the source node is only resolved after all
* of its child nodes are. This is why anchors are set only after all of
* the nodes have been created.
*/
setAnchors: () => {
for (const source of aliasObjects) {
const ref = sourceObjects.get(source);
if (typeof ref === "object" && ref.anchor && (identity3.isScalar(ref.node) || identity3.isCollection(ref.node))) {
ref.node.anchor = ref.anchor;
} else {
const error40 = new Error("Failed to resolve repeated object (this should not happen)");
error40.source = source;
throw error40;
}
}
},
sourceObjects
};
}
exports2.anchorIsValid = anchorIsValid;
exports2.anchorNames = anchorNames;
exports2.createNodeAnchors = createNodeAnchors;
exports2.findNewAnchor = findNewAnchor;
}
});
// node_modules/yaml/dist/doc/applyReviver.js
var require_applyReviver = __commonJS({
"node_modules/yaml/dist/doc/applyReviver.js"(exports2) {
"use strict";
function applyReviver(reviver, obj, key, val) {
if (val && typeof val === "object") {
if (Array.isArray(val)) {
for (let i3 = 0, len = val.length; i3 < len; ++i3) {
const v0 = val[i3];
const v13 = applyReviver(reviver, val, String(i3), v0);
if (v13 === void 0)
delete val[i3];
else if (v13 !== v0)
val[i3] = v13;
}
} else if (val instanceof Map) {
for (const k of Array.from(val.keys())) {
const v0 = val.get(k);
const v13 = applyReviver(reviver, val, k, v0);
if (v13 === void 0)
val.delete(k);
else if (v13 !== v0)
val.set(k, v13);
}
} else if (val instanceof Set) {
for (const v0 of Array.from(val)) {
const v13 = applyReviver(reviver, val, v0, v0);
if (v13 === void 0)
val.delete(v0);
else if (v13 !== v0) {
val.delete(v0);
val.add(v13);
}
}
} else {
for (const [k, v0] of Object.entries(val)) {
const v13 = applyReviver(reviver, val, k, v0);
if (v13 === void 0)
delete val[k];
else if (v13 !== v0)
val[k] = v13;
}
}
}
return reviver.call(obj, key, val);
}
exports2.applyReviver = applyReviver;
}
});
// node_modules/yaml/dist/nodes/toJS.js
var require_toJS = __commonJS({
"node_modules/yaml/dist/nodes/toJS.js"(exports2) {
"use strict";
var identity3 = require_identity();
function toJS(value, arg, ctx) {
if (Array.isArray(value))
return value.map((v, i3) => toJS(v, String(i3), ctx));
if (value && typeof value.toJSON === "function") {
if (!ctx || !identity3.hasAnchor(value))
return value.toJSON(arg, ctx);
const data = { aliasCount: 0, count: 1, res: void 0 };
ctx.anchors.set(value, data);
ctx.onCreate = (res2) => {
data.res = res2;
delete ctx.onCreate;
};
const res = value.toJSON(arg, ctx);
if (ctx.onCreate)
ctx.onCreate(res);
return res;
}
if (typeof value === "bigint" && !ctx?.keep)
return Number(value);
return value;
}
exports2.toJS = toJS;
}
});
// node_modules/yaml/dist/nodes/Node.js
var require_Node = __commonJS({
"node_modules/yaml/dist/nodes/Node.js"(exports2) {
"use strict";
var applyReviver = require_applyReviver();
var identity3 = require_identity();
var toJS = require_toJS();
var NodeBase = class {
constructor(type2) {
Object.defineProperty(this, identity3.NODE_TYPE, { value: type2 });
}
/** Create a copy of this node. */
clone() {
const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
if (this.range)
copy.range = this.range.slice();
return copy;
}
/** A plain JavaScript representation of this node. */
toJS(doc, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
if (!identity3.isDocument(doc))
throw new TypeError("A document argument is required");
const ctx = {
anchors: /* @__PURE__ */ new Map(),
doc,
keep: true,
mapAsMap: mapAsMap === true,
mapKeyWarned: false,
maxAliasCount: typeof maxAliasCount === "number" ? maxAliasCount : 100
};
const res = toJS.toJS(this, "", ctx);
if (typeof onAnchor === "function")
for (const { count: count2, res: res2 } of ctx.anchors.values())
onAnchor(res2, count2);
return typeof reviver === "function" ? applyReviver.applyReviver(reviver, { "": res }, "", res) : res;
}
};
exports2.NodeBase = NodeBase;
}
});
// node_modules/yaml/dist/nodes/Alias.js
var require_Alias = __commonJS({
"node_modules/yaml/dist/nodes/Alias.js"(exports2) {
"use strict";
var anchors = require_anchors();
var visit = require_visit();
var identity3 = require_identity();
var Node3 = require_Node();
var toJS = require_toJS();
var Alias = class extends Node3.NodeBase {
constructor(source) {
super(identity3.ALIAS);
this.source = source;
Object.defineProperty(this, "tag", {
set() {
throw new Error("Alias nodes cannot have tags");
}
});
}
/**
* Resolve the value of this alias within `doc`, finding the last
* instance of the `source` anchor before this node.
*/
resolve(doc, ctx) {
let nodes;
if (ctx?.aliasResolveCache) {
nodes = ctx.aliasResolveCache;
} else {
nodes = [];
visit.visit(doc, {
Node: (_key, node) => {
if (identity3.isAlias(node) || identity3.hasAnchor(node))
nodes.push(node);
}
});
if (ctx)
ctx.aliasResolveCache = nodes;
}
let found = void 0;
for (const node of nodes) {
if (node === this)
break;
if (node.anchor === this.source)
found = node;
}
return found;
}
toJSON(_arg, ctx) {
if (!ctx)
return { source: this.source };
const { anchors: anchors2, doc, maxAliasCount } = ctx;
const source = this.resolve(doc, ctx);
if (!source) {
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
throw new ReferenceError(msg);
}
let data = anchors2.get(source);
if (!data) {
toJS.toJS(source, null, ctx);
data = anchors2.get(source);
}
if (data?.res === void 0) {
const msg = "This should not happen: Alias anchor was not resolved?";
throw new ReferenceError(msg);
}
if (maxAliasCount >= 0) {
data.count += 1;
if (data.aliasCount === 0)
data.aliasCount = getAliasCount(doc, source, anchors2);
if (data.count * data.aliasCount > maxAliasCount) {
const msg = "Excessive alias count indicates a resource exhaustion attack";
throw new ReferenceError(msg);
}
}
return data.res;
}
toString(ctx, _onComment, _onChompKeep) {
const src = `*${this.source}`;
if (ctx) {
anchors.anchorIsValid(this.source);
if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) {
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
throw new Error(msg);
}
if (ctx.implicitKey)
return `${src} `;
}
return src;
}
};
function getAliasCount(doc, node, anchors2) {
if (identity3.isAlias(node)) {
const source = node.resolve(doc);
const anchor = anchors2 && source && anchors2.get(source);
return anchor ? anchor.count * anchor.aliasCount : 0;
} else if (identity3.isCollection(node)) {
let count2 = 0;
for (const item of node.items) {
const c4 = getAliasCount(doc, item, anchors2);
if (c4 > count2)
count2 = c4;
}
return count2;
} else if (identity3.isPair(node)) {
const kc = getAliasCount(doc, node.key, anchors2);
const vc = getAliasCount(doc, node.value, anchors2);
return Math.max(kc, vc);
}
return 1;
}
exports2.Alias = Alias;
}
});
// node_modules/yaml/dist/nodes/Scalar.js
var require_Scalar = __commonJS({
"node_modules/yaml/dist/nodes/Scalar.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Node3 = require_Node();
var toJS = require_toJS();
var isScalarValue = (value) => !value || typeof value !== "function" && typeof value !== "object";
var Scalar = class extends Node3.NodeBase {
constructor(value) {
super(identity3.SCALAR);
this.value = value;
}
toJSON(arg, ctx) {
return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
}
toString() {
return String(this.value);
}
};
Scalar.BLOCK_FOLDED = "BLOCK_FOLDED";
Scalar.BLOCK_LITERAL = "BLOCK_LITERAL";
Scalar.PLAIN = "PLAIN";
Scalar.QUOTE_DOUBLE = "QUOTE_DOUBLE";
Scalar.QUOTE_SINGLE = "QUOTE_SINGLE";
exports2.Scalar = Scalar;
exports2.isScalarValue = isScalarValue;
}
});
// node_modules/yaml/dist/doc/createNode.js
var require_createNode = __commonJS({
"node_modules/yaml/dist/doc/createNode.js"(exports2) {
"use strict";
var Alias = require_Alias();
var identity3 = require_identity();
var Scalar = require_Scalar();
var defaultTagPrefix = "tag:yaml.org,2002:";
function findTagObject(value, tagName, tags) {
if (tagName) {
const match2 = tags.filter((t2) => t2.tag === tagName);
const tagObj = match2.find((t2) => !t2.format) ?? match2[0];
if (!tagObj)
throw new Error(`Tag ${tagName} not found`);
return tagObj;
}
return tags.find((t2) => t2.identify?.(value) && !t2.format);
}
function createNode(value, tagName, ctx) {
if (identity3.isDocument(value))
value = value.contents;
if (identity3.isNode(value))
return value;
if (identity3.isPair(value)) {
const map4 = ctx.schema[identity3.MAP].createNode?.(ctx.schema, null, ctx);
map4.items.push(value);
return map4;
}
if (value instanceof String || value instanceof Number || value instanceof Boolean || typeof BigInt !== "undefined" && value instanceof BigInt) {
value = value.valueOf();
}
const { aliasDuplicateObjects, onAnchor, onTagObj, schema: schema2, sourceObjects } = ctx;
let ref = void 0;
if (aliasDuplicateObjects && value && typeof value === "object") {
ref = sourceObjects.get(value);
if (ref) {
ref.anchor ?? (ref.anchor = onAnchor(value));
return new Alias.Alias(ref.anchor);
} else {
ref = { anchor: null, node: null };
sourceObjects.set(value, ref);
}
}
if (tagName?.startsWith("!!"))
tagName = defaultTagPrefix + tagName.slice(2);
let tagObj = findTagObject(value, tagName, schema2.tags);
if (!tagObj) {
if (value && typeof value.toJSON === "function") {
value = value.toJSON();
}
if (!value || typeof value !== "object") {
const node2 = new Scalar.Scalar(value);
if (ref)
ref.node = node2;
return node2;
}
tagObj = value instanceof Map ? schema2[identity3.MAP] : Symbol.iterator in Object(value) ? schema2[identity3.SEQ] : schema2[identity3.MAP];
}
if (onTagObj) {
onTagObj(tagObj);
delete ctx.onTagObj;
}
const node = tagObj?.createNode ? tagObj.createNode(ctx.schema, value, ctx) : typeof tagObj?.nodeClass?.from === "function" ? tagObj.nodeClass.from(ctx.schema, value, ctx) : new Scalar.Scalar(value);
if (tagName)
node.tag = tagName;
else if (!tagObj.default)
node.tag = tagObj.tag;
if (ref)
ref.node = node;
return node;
}
exports2.createNode = createNode;
}
});
// node_modules/yaml/dist/nodes/Collection.js
var require_Collection = __commonJS({
"node_modules/yaml/dist/nodes/Collection.js"(exports2) {
"use strict";
var createNode = require_createNode();
var identity3 = require_identity();
var Node3 = require_Node();
function collectionFromPath(schema2, path101, value) {
let v = value;
for (let i3 = path101.length - 1; i3 >= 0; --i3) {
const k = path101[i3];
if (typeof k === "number" && Number.isInteger(k) && k >= 0) {
const a2 = [];
a2[k] = v;
v = a2;
} else {
v = /* @__PURE__ */ new Map([[k, v]]);
}
}
return createNode.createNode(v, void 0, {
aliasDuplicateObjects: false,
keepUndefined: false,
onAnchor: () => {
throw new Error("This should not happen, please report a bug.");
},
schema: schema2,
sourceObjects: /* @__PURE__ */ new Map()
});
}
var isEmptyPath = (path101) => path101 == null || typeof path101 === "object" && !!path101[Symbol.iterator]().next().done;
var Collection = class extends Node3.NodeBase {
constructor(type2, schema2) {
super(type2);
Object.defineProperty(this, "schema", {
value: schema2,
configurable: true,
enumerable: false,
writable: true
});
}
/**
* Create a copy of this collection.
*
* @param schema - If defined, overwrites the original's schema
*/
clone(schema2) {
const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
if (schema2)
copy.schema = schema2;
copy.items = copy.items.map((it) => identity3.isNode(it) || identity3.isPair(it) ? it.clone(schema2) : it);
if (this.range)
copy.range = this.range.slice();
return copy;
}
/**
* Adds a value to the collection. For `!!map` and `!!omap` the value must
* be a Pair instance or a `{ key, value }` object, which may not have a key
* that already exists in the map.
*/
addIn(path101, value) {
if (isEmptyPath(path101))
this.add(value);
else {
const [key, ...rest] = path101;
const node = this.get(key, true);
if (identity3.isCollection(node))
node.addIn(rest, value);
else if (node === void 0 && this.schema)
this.set(key, collectionFromPath(this.schema, rest, value));
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
}
/**
* Removes a value from the collection.
* @returns `true` if the item was found and removed.
*/
deleteIn(path101) {
const [key, ...rest] = path101;
if (rest.length === 0)
return this.delete(key);
const node = this.get(key, true);
if (identity3.isCollection(node))
return node.deleteIn(rest);
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
/**
* Returns item at `key`, or `undefined` if not found. By default unwraps
* scalar values from their surrounding node; to disable set `keepScalar` to
* `true` (collections are always returned intact).
*/
getIn(path101, keepScalar) {
const [key, ...rest] = path101;
const node = this.get(key, true);
if (rest.length === 0)
return !keepScalar && identity3.isScalar(node) ? node.value : node;
else
return identity3.isCollection(node) ? node.getIn(rest, keepScalar) : void 0;
}
hasAllNullValues(allowScalar) {
return this.items.every((node) => {
if (!identity3.isPair(node))
return false;
const n3 = node.value;
return n3 == null || allowScalar && identity3.isScalar(n3) && n3.value == null && !n3.commentBefore && !n3.comment && !n3.tag;
});
}
/**
* Checks if the collection includes a value with the key `key`.
*/
hasIn(path101) {
const [key, ...rest] = path101;
if (rest.length === 0)
return this.has(key);
const node = this.get(key, true);
return identity3.isCollection(node) ? node.hasIn(rest) : false;
}
/**
* Sets a value in this collection. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*/
setIn(path101, value) {
const [key, ...rest] = path101;
if (rest.length === 0) {
this.set(key, value);
} else {
const node = this.get(key, true);
if (identity3.isCollection(node))
node.setIn(rest, value);
else if (node === void 0 && this.schema)
this.set(key, collectionFromPath(this.schema, rest, value));
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
}
};
exports2.Collection = Collection;
exports2.collectionFromPath = collectionFromPath;
exports2.isEmptyPath = isEmptyPath;
}
});
// node_modules/yaml/dist/stringify/stringifyComment.js
var require_stringifyComment = __commonJS({
"node_modules/yaml/dist/stringify/stringifyComment.js"(exports2) {
"use strict";
var stringifyComment = (str2) => str2.replace(/^(?!$)(?: $)?/gm, "#");
function indentComment(comment, indent) {
if (/^\n+$/.test(comment))
return comment.substring(1);
return indent ? comment.replace(/^(?! *$)/gm, indent) : comment;
}
var lineComment = (str2, indent, comment) => str2.endsWith("\n") ? indentComment(comment, indent) : comment.includes("\n") ? "\n" + indentComment(comment, indent) : (str2.endsWith(" ") ? "" : " ") + comment;
exports2.indentComment = indentComment;
exports2.lineComment = lineComment;
exports2.stringifyComment = stringifyComment;
}
});
// node_modules/yaml/dist/stringify/foldFlowLines.js
var require_foldFlowLines = __commonJS({
"node_modules/yaml/dist/stringify/foldFlowLines.js"(exports2) {
"use strict";
var FOLD_FLOW = "flow";
var FOLD_BLOCK = "block";
var FOLD_QUOTED = "quoted";
function foldFlowLines(text, indent, mode = "flow", { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
if (!lineWidth || lineWidth < 0)
return text;
if (lineWidth < minContentWidth)
minContentWidth = 0;
const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
if (text.length <= endStep)
return text;
const folds = [];
const escapedFolds = {};
let end = lineWidth - indent.length;
if (typeof indentAtStart === "number") {
if (indentAtStart > lineWidth - Math.max(2, minContentWidth))
folds.push(0);
else
end = lineWidth - indentAtStart;
}
let split = void 0;
let prev = void 0;
let overflow = false;
let i3 = -1;
let escStart = -1;
let escEnd = -1;
if (mode === FOLD_BLOCK) {
i3 = consumeMoreIndentedLines(text, i3, indent.length);
if (i3 !== -1)
end = i3 + endStep;
}
for (let ch; ch = text[i3 += 1]; ) {
if (mode === FOLD_QUOTED && ch === "\\") {
escStart = i3;
switch (text[i3 + 1]) {
case "x":
i3 += 3;
break;
case "u":
i3 += 5;
break;
case "U":
i3 += 9;
break;
default:
i3 += 1;
}
escEnd = i3;
}
if (ch === "\n") {
if (mode === FOLD_BLOCK)
i3 = consumeMoreIndentedLines(text, i3, indent.length);
end = i3 + indent.length + endStep;
split = void 0;
} else {
if (ch === " " && prev && prev !== " " && prev !== "\n" && prev !== " ") {
const next = text[i3 + 1];
if (next && next !== " " && next !== "\n" && next !== " ")
split = i3;
}
if (i3 >= end) {
if (split) {
folds.push(split);
end = split + endStep;
split = void 0;
} else if (mode === FOLD_QUOTED) {
while (prev === " " || prev === " ") {
prev = ch;
ch = text[i3 += 1];
overflow = true;
}
const j = i3 > escEnd + 1 ? i3 - 2 : escStart - 1;
if (escapedFolds[j])
return text;
folds.push(j);
escapedFolds[j] = true;
end = j + endStep;
split = void 0;
} else {
overflow = true;
}
}
}
prev = ch;
}
if (overflow && onOverflow)
onOverflow();
if (folds.length === 0)
return text;
if (onFold)
onFold();
let res = text.slice(0, folds[0]);
for (let i4 = 0; i4 < folds.length; ++i4) {
const fold = folds[i4];
const end2 = folds[i4 + 1] || text.length;
if (fold === 0)
res = `
${indent}${text.slice(0, end2)}`;
else {
if (mode === FOLD_QUOTED && escapedFolds[fold])
res += `${text[fold]}\\`;
res += `
${indent}${text.slice(fold + 1, end2)}`;
}
}
return res;
}
function consumeMoreIndentedLines(text, i3, indent) {
let end = i3;
let start2 = i3 + 1;
let ch = text[start2];
while (ch === " " || ch === " ") {
if (i3 < start2 + indent) {
ch = text[++i3];
} else {
do {
ch = text[++i3];
} while (ch && ch !== "\n");
end = i3;
start2 = i3 + 1;
ch = text[start2];
}
}
return end;
}
exports2.FOLD_BLOCK = FOLD_BLOCK;
exports2.FOLD_FLOW = FOLD_FLOW;
exports2.FOLD_QUOTED = FOLD_QUOTED;
exports2.foldFlowLines = foldFlowLines;
}
});
// node_modules/yaml/dist/stringify/stringifyString.js
var require_stringifyString = __commonJS({
"node_modules/yaml/dist/stringify/stringifyString.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var foldFlowLines = require_foldFlowLines();
var getFoldOptions = (ctx, isBlock) => ({
indentAtStart: isBlock ? ctx.indent.length : ctx.indentAtStart,
lineWidth: ctx.options.lineWidth,
minContentWidth: ctx.options.minContentWidth
});
var containsDocumentMarker = (str2) => /^(%|---|\.\.\.)/m.test(str2);
function lineLengthOverLimit(str2, lineWidth, indentLength) {
if (!lineWidth || lineWidth < 0)
return false;
const limit = lineWidth - indentLength;
const strLen = str2.length;
if (strLen <= limit)
return false;
for (let i3 = 0, start2 = 0; i3 < strLen; ++i3) {
if (str2[i3] === "\n") {
if (i3 - start2 > limit)
return true;
start2 = i3 + 1;
if (strLen - start2 <= limit)
return false;
}
}
return true;
}
function doubleQuotedString(value, ctx) {
const json3 = JSON.stringify(value);
if (ctx.options.doubleQuotedAsJSON)
return json3;
const { implicitKey } = ctx;
const minMultiLineLength = ctx.options.doubleQuotedMinMultiLineLength;
const indent = ctx.indent || (containsDocumentMarker(value) ? " " : "");
let str2 = "";
let start2 = 0;
for (let i3 = 0, ch = json3[i3]; ch; ch = json3[++i3]) {
if (ch === " " && json3[i3 + 1] === "\\" && json3[i3 + 2] === "n") {
str2 += json3.slice(start2, i3) + "\\ ";
i3 += 1;
start2 = i3;
ch = "\\";
}
if (ch === "\\")
switch (json3[i3 + 1]) {
case "u":
{
str2 += json3.slice(start2, i3);
const code = json3.substr(i3 + 2, 4);
switch (code) {
case "0000":
str2 += "\\0";
break;
case "0007":
str2 += "\\a";
break;
case "000b":
str2 += "\\v";
break;
case "001b":
str2 += "\\e";
break;
case "0085":
str2 += "\\N";
break;
case "00a0":
str2 += "\\_";
break;
case "2028":
str2 += "\\L";
break;
case "2029":
str2 += "\\P";
break;
default:
if (code.substr(0, 2) === "00")
str2 += "\\x" + code.substr(2);
else
str2 += json3.substr(i3, 6);
}
i3 += 5;
start2 = i3 + 1;
}
break;
case "n":
if (implicitKey || json3[i3 + 2] === '"' || json3.length < minMultiLineLength) {
i3 += 1;
} else {
str2 += json3.slice(start2, i3) + "\n\n";
while (json3[i3 + 2] === "\\" && json3[i3 + 3] === "n" && json3[i3 + 4] !== '"') {
str2 += "\n";
i3 += 2;
}
str2 += indent;
if (json3[i3 + 2] === " ")
str2 += "\\";
i3 += 1;
start2 = i3 + 1;
}
break;
default:
i3 += 1;
}
}
str2 = start2 ? str2 + json3.slice(start2) : json3;
return implicitKey ? str2 : foldFlowLines.foldFlowLines(str2, indent, foldFlowLines.FOLD_QUOTED, getFoldOptions(ctx, false));
}
function singleQuotedString(value, ctx) {
if (ctx.options.singleQuote === false || ctx.implicitKey && value.includes("\n") || /[ \t]\n|\n[ \t]/.test(value))
return doubleQuotedString(value, ctx);
const indent = ctx.indent || (containsDocumentMarker(value) ? " " : "");
const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&
${indent}`) + "'";
return ctx.implicitKey ? res : foldFlowLines.foldFlowLines(res, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
}
function quotedString(value, ctx) {
const { singleQuote } = ctx.options;
let qs;
if (singleQuote === false)
qs = doubleQuotedString;
else {
const hasDouble = value.includes('"');
const hasSingle = value.includes("'");
if (hasDouble && !hasSingle)
qs = singleQuotedString;
else if (hasSingle && !hasDouble)
qs = doubleQuotedString;
else
qs = singleQuote ? singleQuotedString : doubleQuotedString;
}
return qs(value, ctx);
}
var blockEndNewlines;
try {
blockEndNewlines = new RegExp("(^|(?<!\n))\n+(?!\n|$)", "g");
} catch {
blockEndNewlines = /\n+(?!\n|$)/g;
}
function blockString({ comment, type: type2, value }, ctx, onComment, onChompKeep) {
const { blockQuote, commentString, lineWidth } = ctx.options;
if (!blockQuote || /\n[\t ]+$/.test(value)) {
return quotedString(value, ctx);
}
const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? " " : "");
const literal3 = blockQuote === "literal" ? true : blockQuote === "folded" || type2 === Scalar.Scalar.BLOCK_FOLDED ? false : type2 === Scalar.Scalar.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, lineWidth, indent.length);
if (!value)
return literal3 ? "|\n" : ">\n";
let chomp;
let endStart;
for (endStart = value.length; endStart > 0; --endStart) {
const ch = value[endStart - 1];
if (ch !== "\n" && ch !== " " && ch !== " ")
break;
}
let end = value.substring(endStart);
const endNlPos = end.indexOf("\n");
if (endNlPos === -1) {
chomp = "-";
} else if (value === end || endNlPos !== end.length - 1) {
chomp = "+";
if (onChompKeep)
onChompKeep();
} else {
chomp = "";
}
if (end) {
value = value.slice(0, -end.length);
if (end[end.length - 1] === "\n")
end = end.slice(0, -1);
end = end.replace(blockEndNewlines, `$&${indent}`);
}
let startWithSpace = false;
let startEnd;
let startNlPos = -1;
for (startEnd = 0; startEnd < value.length; ++startEnd) {
const ch = value[startEnd];
if (ch === " ")
startWithSpace = true;
else if (ch === "\n")
startNlPos = startEnd;
else
break;
}
let start2 = value.substring(0, startNlPos < startEnd ? startNlPos + 1 : startEnd);
if (start2) {
value = value.substring(start2.length);
start2 = start2.replace(/\n+/g, `$&${indent}`);
}
const indentSize = indent ? "2" : "1";
let header = (startWithSpace ? indentSize : "") + chomp;
if (comment) {
header += " " + commentString(comment.replace(/ ?[\r\n]+/g, " "));
if (onComment)
onComment();
}
if (!literal3) {
const foldedValue = value.replace(/\n+/g, "\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, `$&${indent}`);
let literalFallback = false;
const foldOptions = getFoldOptions(ctx, true);
if (blockQuote !== "folded" && type2 !== Scalar.Scalar.BLOCK_FOLDED) {
foldOptions.onOverflow = () => {
literalFallback = true;
};
}
const body2 = foldFlowLines.foldFlowLines(`${start2}${foldedValue}${end}`, indent, foldFlowLines.FOLD_BLOCK, foldOptions);
if (!literalFallback)
return `>${header}
${indent}${body2}`;
}
value = value.replace(/\n+/g, `$&${indent}`);
return `|${header}
${indent}${start2}${value}${end}`;
}
function plainString(item, ctx, onComment, onChompKeep) {
const { type: type2, value } = item;
const { actualString, implicitKey, indent, indentStep, inFlow } = ctx;
if (implicitKey && value.includes("\n") || inFlow && /[[\]{},]/.test(value)) {
return quotedString(value, ctx);
}
if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) {
return implicitKey || inFlow || !value.includes("\n") ? quotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);
}
if (!implicitKey && !inFlow && type2 !== Scalar.Scalar.PLAIN && value.includes("\n")) {
return blockString(item, ctx, onComment, onChompKeep);
}
if (containsDocumentMarker(value)) {
if (indent === "") {
ctx.forceBlockIndent = true;
return blockString(item, ctx, onComment, onChompKeep);
} else if (implicitKey && indent === indentStep) {
return quotedString(value, ctx);
}
}
const str2 = value.replace(/\n+/g, `$&
${indent}`);
if (actualString) {
const test = (tag) => tag.default && tag.tag !== "tag:yaml.org,2002:str" && tag.test?.test(str2);
const { compat, tags } = ctx.doc.schema;
if (tags.some(test) || compat?.some(test))
return quotedString(value, ctx);
}
return implicitKey ? str2 : foldFlowLines.foldFlowLines(str2, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
}
function stringifyString(item, ctx, onComment, onChompKeep) {
const { implicitKey, inFlow } = ctx;
const ss = typeof item.value === "string" ? item : Object.assign({}, item, { value: String(item.value) });
let { type: type2 } = item;
if (type2 !== Scalar.Scalar.QUOTE_DOUBLE) {
if (/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value))
type2 = Scalar.Scalar.QUOTE_DOUBLE;
}
const _stringify = (_type2) => {
switch (_type2) {
case Scalar.Scalar.BLOCK_FOLDED:
case Scalar.Scalar.BLOCK_LITERAL:
return implicitKey || inFlow ? quotedString(ss.value, ctx) : blockString(ss, ctx, onComment, onChompKeep);
case Scalar.Scalar.QUOTE_DOUBLE:
return doubleQuotedString(ss.value, ctx);
case Scalar.Scalar.QUOTE_SINGLE:
return singleQuotedString(ss.value, ctx);
case Scalar.Scalar.PLAIN:
return plainString(ss, ctx, onComment, onChompKeep);
default:
return null;
}
};
let res = _stringify(type2);
if (res === null) {
const { defaultKeyType, defaultStringType } = ctx.options;
const t2 = implicitKey && defaultKeyType || defaultStringType;
res = _stringify(t2);
if (res === null)
throw new Error(`Unsupported default string type ${t2}`);
}
return res;
}
exports2.stringifyString = stringifyString;
}
});
// node_modules/yaml/dist/stringify/stringify.js
var require_stringify2 = __commonJS({
"node_modules/yaml/dist/stringify/stringify.js"(exports2) {
"use strict";
var anchors = require_anchors();
var identity3 = require_identity();
var stringifyComment = require_stringifyComment();
var stringifyString = require_stringifyString();
function createStringifyContext(doc, options) {
const opt = Object.assign({
blockQuote: true,
commentString: stringifyComment.stringifyComment,
defaultKeyType: null,
defaultStringType: "PLAIN",
directives: null,
doubleQuotedAsJSON: false,
doubleQuotedMinMultiLineLength: 40,
falseStr: "false",
flowCollectionPadding: true,
indentSeq: true,
lineWidth: 80,
minContentWidth: 20,
nullStr: "null",
simpleKeys: false,
singleQuote: null,
trailingComma: false,
trueStr: "true",
verifyAliasOrder: true
}, doc.schema.toStringOptions, options);
let inFlow;
switch (opt.collectionStyle) {
case "block":
inFlow = false;
break;
case "flow":
inFlow = true;
break;
default:
inFlow = null;
}
return {
anchors: /* @__PURE__ */ new Set(),
doc,
flowCollectionPadding: opt.flowCollectionPadding ? " " : "",
indent: "",
indentStep: typeof opt.indent === "number" ? " ".repeat(opt.indent) : " ",
inFlow,
options: opt
};
}
function getTagObject(tags, item) {
if (item.tag) {
const match2 = tags.filter((t2) => t2.tag === item.tag);
if (match2.length > 0)
return match2.find((t2) => t2.format === item.format) ?? match2[0];
}
let tagObj = void 0;
let obj;
if (identity3.isScalar(item)) {
obj = item.value;
let match2 = tags.filter((t2) => t2.identify?.(obj));
if (match2.length > 1) {
const testMatch = match2.filter((t2) => t2.test);
if (testMatch.length > 0)
match2 = testMatch;
}
tagObj = match2.find((t2) => t2.format === item.format) ?? match2.find((t2) => !t2.format);
} else {
obj = item;
tagObj = tags.find((t2) => t2.nodeClass && obj instanceof t2.nodeClass);
}
if (!tagObj) {
const name3 = obj?.constructor?.name ?? (obj === null ? "null" : typeof obj);
throw new Error(`Tag not resolved for ${name3} value`);
}
return tagObj;
}
function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) {
if (!doc.directives)
return "";
const props = [];
const anchor = (identity3.isScalar(node) || identity3.isCollection(node)) && node.anchor;
if (anchor && anchors.anchorIsValid(anchor)) {
anchors$1.add(anchor);
props.push(`&${anchor}`);
}
const tag = node.tag ?? (tagObj.default ? null : tagObj.tag);
if (tag)
props.push(doc.directives.tagString(tag));
return props.join(" ");
}
function stringify3(item, ctx, onComment, onChompKeep) {
if (identity3.isPair(item))
return item.toString(ctx, onComment, onChompKeep);
if (identity3.isAlias(item)) {
if (ctx.doc.directives)
return item.toString(ctx);
if (ctx.resolvedAliases?.has(item)) {
throw new TypeError(`Cannot stringify circular structure without alias nodes`);
} else {
if (ctx.resolvedAliases)
ctx.resolvedAliases.add(item);
else
ctx.resolvedAliases = /* @__PURE__ */ new Set([item]);
item = item.resolve(ctx.doc);
}
}
let tagObj = void 0;
const node = identity3.isNode(item) ? item : ctx.doc.createNode(item, { onTagObj: (o3) => tagObj = o3 });
tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node));
const props = stringifyProps(node, tagObj, ctx);
if (props.length > 0)
ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1;
const str2 = typeof tagObj.stringify === "function" ? tagObj.stringify(node, ctx, onComment, onChompKeep) : identity3.isScalar(node) ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep) : node.toString(ctx, onComment, onChompKeep);
if (!props)
return str2;
return identity3.isScalar(node) || str2[0] === "{" || str2[0] === "[" ? `${props} ${str2}` : `${props}
${ctx.indent}${str2}`;
}
exports2.createStringifyContext = createStringifyContext;
exports2.stringify = stringify3;
}
});
// node_modules/yaml/dist/stringify/stringifyPair.js
var require_stringifyPair = __commonJS({
"node_modules/yaml/dist/stringify/stringifyPair.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Scalar = require_Scalar();
var stringify3 = require_stringify2();
var stringifyComment = require_stringifyComment();
function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
let keyComment = identity3.isNode(key) && key.comment || null;
if (simpleKeys) {
if (keyComment) {
throw new Error("With simple keys, key nodes cannot have comments");
}
if (identity3.isCollection(key) || !identity3.isNode(key) && typeof key === "object") {
const msg = "With simple keys, collection cannot be used as a key value";
throw new Error(msg);
}
}
let explicitKey = !simpleKeys && (!key || keyComment && value == null && !ctx.inFlow || identity3.isCollection(key) || (identity3.isScalar(key) ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL : typeof key === "object"));
ctx = Object.assign({}, ctx, {
allNullValues: false,
implicitKey: !explicitKey && (simpleKeys || !allNullValues),
indent: indent + indentStep
});
let keyCommentDone = false;
let chompKeep = false;
let str2 = stringify3.stringify(key, ctx, () => keyCommentDone = true, () => chompKeep = true);
if (!explicitKey && !ctx.inFlow && str2.length > 1024) {
if (simpleKeys)
throw new Error("With simple keys, single line scalar must not span more than 1024 characters");
explicitKey = true;
}
if (ctx.inFlow) {
if (allNullValues || value == null) {
if (keyCommentDone && onComment)
onComment();
return str2 === "" ? "?" : explicitKey ? `? ${str2}` : str2;
}
} else if (allNullValues && !simpleKeys || value == null && explicitKey) {
str2 = `? ${str2}`;
if (keyComment && !keyCommentDone) {
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(keyComment));
} else if (chompKeep && onChompKeep)
onChompKeep();
return str2;
}
if (keyCommentDone)
keyComment = null;
if (explicitKey) {
if (keyComment)
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(keyComment));
str2 = `? ${str2}
${indent}:`;
} else {
str2 = `${str2}:`;
if (keyComment)
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(keyComment));
}
let vsb, vcb, valueComment;
if (identity3.isNode(value)) {
vsb = !!value.spaceBefore;
vcb = value.commentBefore;
valueComment = value.comment;
} else {
vsb = false;
vcb = null;
valueComment = null;
if (value && typeof value === "object")
value = doc.createNode(value);
}
ctx.implicitKey = false;
if (!explicitKey && !keyComment && identity3.isScalar(value))
ctx.indentAtStart = str2.length + 1;
chompKeep = false;
if (!indentSeq && indentStep.length >= 2 && !ctx.inFlow && !explicitKey && identity3.isSeq(value) && !value.flow && !value.tag && !value.anchor) {
ctx.indent = ctx.indent.substring(2);
}
let valueCommentDone = false;
const valueStr = stringify3.stringify(value, ctx, () => valueCommentDone = true, () => chompKeep = true);
let ws2 = " ";
if (keyComment || vsb || vcb) {
ws2 = vsb ? "\n" : "";
if (vcb) {
const cs = commentString(vcb);
ws2 += `
${stringifyComment.indentComment(cs, ctx.indent)}`;
}
if (valueStr === "" && !ctx.inFlow) {
if (ws2 === "\n" && valueComment)
ws2 = "\n\n";
} else {
ws2 += `
${ctx.indent}`;
}
} else if (!explicitKey && identity3.isCollection(value)) {
const vs0 = valueStr[0];
const nl0 = valueStr.indexOf("\n");
const hasNewline = nl0 !== -1;
const flow = ctx.inFlow ?? value.flow ?? value.items.length === 0;
if (hasNewline || !flow) {
let hasPropsLine = false;
if (hasNewline && (vs0 === "&" || vs0 === "!")) {
let sp0 = valueStr.indexOf(" ");
if (vs0 === "&" && sp0 !== -1 && sp0 < nl0 && valueStr[sp0 + 1] === "!") {
sp0 = valueStr.indexOf(" ", sp0 + 1);
}
if (sp0 === -1 || nl0 < sp0)
hasPropsLine = true;
}
if (!hasPropsLine)
ws2 = `
${ctx.indent}`;
}
} else if (valueStr === "" || valueStr[0] === "\n") {
ws2 = "";
}
str2 += ws2 + valueStr;
if (ctx.inFlow) {
if (valueCommentDone && onComment)
onComment();
} else if (valueComment && !valueCommentDone) {
str2 += stringifyComment.lineComment(str2, ctx.indent, commentString(valueComment));
} else if (chompKeep && onChompKeep) {
onChompKeep();
}
return str2;
}
exports2.stringifyPair = stringifyPair;
}
});
// node_modules/yaml/dist/log.js
var require_log = __commonJS({
"node_modules/yaml/dist/log.js"(exports2) {
"use strict";
var node_process = __require("process");
function debug2(logLevel, ...messages) {
if (logLevel === "debug")
console.log(...messages);
}
function warn(logLevel, warning) {
if (logLevel === "debug" || logLevel === "warn") {
if (typeof node_process.emitWarning === "function")
node_process.emitWarning(warning);
else
console.warn(warning);
}
}
exports2.debug = debug2;
exports2.warn = warn;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/merge.js
var require_merge2 = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Scalar = require_Scalar();
var MERGE_KEY = "<<";
var merge4 = {
identify: (value) => value === MERGE_KEY || typeof value === "symbol" && value.description === MERGE_KEY,
default: "key",
tag: "tag:yaml.org,2002:merge",
test: /^<<$/,
resolve: () => Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)), {
addToJSMap: addMergeToJSMap
}),
stringify: () => MERGE_KEY
};
var isMergeKey = (ctx, key) => (merge4.identify(key) || identity3.isScalar(key) && (!key.type || key.type === Scalar.Scalar.PLAIN) && merge4.identify(key.value)) && ctx?.doc.schema.tags.some((tag) => tag.tag === merge4.tag && tag.default);
function addMergeToJSMap(ctx, map4, value) {
value = ctx && identity3.isAlias(value) ? value.resolve(ctx.doc) : value;
if (identity3.isSeq(value))
for (const it of value.items)
mergeValue(ctx, map4, it);
else if (Array.isArray(value))
for (const it of value)
mergeValue(ctx, map4, it);
else
mergeValue(ctx, map4, value);
}
function mergeValue(ctx, map4, value) {
const source = ctx && identity3.isAlias(value) ? value.resolve(ctx.doc) : value;
if (!identity3.isMap(source))
throw new Error("Merge sources must be maps or map aliases");
const srcMap = source.toJSON(null, ctx, Map);
for (const [key, value2] of srcMap) {
if (map4 instanceof Map) {
if (!map4.has(key))
map4.set(key, value2);
} else if (map4 instanceof Set) {
map4.add(key);
} else if (!Object.prototype.hasOwnProperty.call(map4, key)) {
Object.defineProperty(map4, key, {
value: value2,
writable: true,
enumerable: true,
configurable: true
});
}
}
return map4;
}
exports2.addMergeToJSMap = addMergeToJSMap;
exports2.isMergeKey = isMergeKey;
exports2.merge = merge4;
}
});
// node_modules/yaml/dist/nodes/addPairToJSMap.js
var require_addPairToJSMap = __commonJS({
"node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports2) {
"use strict";
var log = require_log();
var merge4 = require_merge2();
var stringify3 = require_stringify2();
var identity3 = require_identity();
var toJS = require_toJS();
function addPairToJSMap(ctx, map4, { key, value }) {
if (identity3.isNode(key) && key.addToJSMap)
key.addToJSMap(ctx, map4, value);
else if (merge4.isMergeKey(ctx, key))
merge4.addMergeToJSMap(ctx, map4, value);
else {
const jsKey = toJS.toJS(key, "", ctx);
if (map4 instanceof Map) {
map4.set(jsKey, toJS.toJS(value, jsKey, ctx));
} else if (map4 instanceof Set) {
map4.add(jsKey);
} else {
const stringKey = stringifyKey(key, jsKey, ctx);
const jsValue = toJS.toJS(value, stringKey, ctx);
if (stringKey in map4)
Object.defineProperty(map4, stringKey, {
value: jsValue,
writable: true,
enumerable: true,
configurable: true
});
else
map4[stringKey] = jsValue;
}
}
return map4;
}
function stringifyKey(key, jsKey, ctx) {
if (jsKey === null)
return "";
if (typeof jsKey !== "object")
return String(jsKey);
if (identity3.isNode(key) && ctx?.doc) {
const strCtx = stringify3.createStringifyContext(ctx.doc, {});
strCtx.anchors = /* @__PURE__ */ new Set();
for (const node of ctx.anchors.keys())
strCtx.anchors.add(node.anchor);
strCtx.inFlow = true;
strCtx.inStringifyKey = true;
const strKey = key.toString(strCtx);
if (!ctx.mapKeyWarned) {
let jsonStr = JSON.stringify(strKey);
if (jsonStr.length > 40)
jsonStr = jsonStr.substring(0, 36) + '..."';
log.warn(ctx.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`);
ctx.mapKeyWarned = true;
}
return strKey;
}
return JSON.stringify(jsKey);
}
exports2.addPairToJSMap = addPairToJSMap;
}
});
// node_modules/yaml/dist/nodes/Pair.js
var require_Pair = __commonJS({
"node_modules/yaml/dist/nodes/Pair.js"(exports2) {
"use strict";
var createNode = require_createNode();
var stringifyPair = require_stringifyPair();
var addPairToJSMap = require_addPairToJSMap();
var identity3 = require_identity();
function createPair(key, value, ctx) {
const k = createNode.createNode(key, void 0, ctx);
const v = createNode.createNode(value, void 0, ctx);
return new Pair(k, v);
}
var Pair = class _Pair {
constructor(key, value = null) {
Object.defineProperty(this, identity3.NODE_TYPE, { value: identity3.PAIR });
this.key = key;
this.value = value;
}
clone(schema2) {
let { key, value } = this;
if (identity3.isNode(key))
key = key.clone(schema2);
if (identity3.isNode(value))
value = value.clone(schema2);
return new _Pair(key, value);
}
toJSON(_, ctx) {
const pair = ctx?.mapAsMap ? /* @__PURE__ */ new Map() : {};
return addPairToJSMap.addPairToJSMap(ctx, pair, this);
}
toString(ctx, onComment, onChompKeep) {
return ctx?.doc ? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep) : JSON.stringify(this);
}
};
exports2.Pair = Pair;
exports2.createPair = createPair;
}
});
// node_modules/yaml/dist/stringify/stringifyCollection.js
var require_stringifyCollection = __commonJS({
"node_modules/yaml/dist/stringify/stringifyCollection.js"(exports2) {
"use strict";
var identity3 = require_identity();
var stringify3 = require_stringify2();
var stringifyComment = require_stringifyComment();
function stringifyCollection(collection, ctx, options) {
const flow = ctx.inFlow ?? collection.flow;
const stringify4 = flow ? stringifyFlowCollection : stringifyBlockCollection;
return stringify4(collection, ctx, options);
}
function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) {
const { indent, options: { commentString } } = ctx;
const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null });
let chompKeep = false;
const lines = [];
for (let i3 = 0; i3 < items.length; ++i3) {
const item = items[i3];
let comment2 = null;
if (identity3.isNode(item)) {
if (!chompKeep && item.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, item.commentBefore, chompKeep);
if (item.comment)
comment2 = item.comment;
} else if (identity3.isPair(item)) {
const ik = identity3.isNode(item.key) ? item.key : null;
if (ik) {
if (!chompKeep && ik.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, ik.commentBefore, chompKeep);
}
}
chompKeep = false;
let str3 = stringify3.stringify(item, itemCtx, () => comment2 = null, () => chompKeep = true);
if (comment2)
str3 += stringifyComment.lineComment(str3, itemIndent, commentString(comment2));
if (chompKeep && comment2)
chompKeep = false;
lines.push(blockItemPrefix + str3);
}
let str2;
if (lines.length === 0) {
str2 = flowChars.start + flowChars.end;
} else {
str2 = lines[0];
for (let i3 = 1; i3 < lines.length; ++i3) {
const line = lines[i3];
str2 += line ? `
${indent}${line}` : "\n";
}
}
if (comment) {
str2 += "\n" + stringifyComment.indentComment(commentString(comment), indent);
if (onComment)
onComment();
} else if (chompKeep && onChompKeep)
onChompKeep();
return str2;
}
function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
const { indent, indentStep, flowCollectionPadding: fcPadding, options: { commentString } } = ctx;
itemIndent += indentStep;
const itemCtx = Object.assign({}, ctx, {
indent: itemIndent,
inFlow: true,
type: null
});
let reqNewline = false;
let linesAtValue = 0;
const lines = [];
for (let i3 = 0; i3 < items.length; ++i3) {
const item = items[i3];
let comment = null;
if (identity3.isNode(item)) {
if (item.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, item.commentBefore, false);
if (item.comment)
comment = item.comment;
} else if (identity3.isPair(item)) {
const ik = identity3.isNode(item.key) ? item.key : null;
if (ik) {
if (ik.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, ik.commentBefore, false);
if (ik.comment)
reqNewline = true;
}
const iv = identity3.isNode(item.value) ? item.value : null;
if (iv) {
if (iv.comment)
comment = iv.comment;
if (iv.commentBefore)
reqNewline = true;
} else if (item.value == null && ik?.comment) {
comment = ik.comment;
}
}
if (comment)
reqNewline = true;
let str2 = stringify3.stringify(item, itemCtx, () => comment = null);
reqNewline || (reqNewline = lines.length > linesAtValue || str2.includes("\n"));
if (i3 < items.length - 1) {
str2 += ",";
} else if (ctx.options.trailingComma) {
if (ctx.options.lineWidth > 0) {
reqNewline || (reqNewline = lines.reduce((sum, line) => sum + line.length + 2, 2) + (str2.length + 2) > ctx.options.lineWidth);
}
if (reqNewline) {
str2 += ",";
}
}
if (comment)
str2 += stringifyComment.lineComment(str2, itemIndent, commentString(comment));
lines.push(str2);
linesAtValue = lines.length;
}
const { start: start2, end } = flowChars;
if (lines.length === 0) {
return start2 + end;
} else {
if (!reqNewline) {
const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
reqNewline = ctx.options.lineWidth > 0 && len > ctx.options.lineWidth;
}
if (reqNewline) {
let str2 = start2;
for (const line of lines)
str2 += line ? `
${indentStep}${indent}${line}` : "\n";
return `${str2}
${indent}${end}`;
} else {
return `${start2}${fcPadding}${lines.join(" ")}${fcPadding}${end}`;
}
}
}
function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
if (comment && chompKeep)
comment = comment.replace(/^\n+/, "");
if (comment) {
const ic = stringifyComment.indentComment(commentString(comment), indent);
lines.push(ic.trimStart());
}
}
exports2.stringifyCollection = stringifyCollection;
}
});
// node_modules/yaml/dist/nodes/YAMLMap.js
var require_YAMLMap = __commonJS({
"node_modules/yaml/dist/nodes/YAMLMap.js"(exports2) {
"use strict";
var stringifyCollection = require_stringifyCollection();
var addPairToJSMap = require_addPairToJSMap();
var Collection = require_Collection();
var identity3 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
function findPair(items, key) {
const k = identity3.isScalar(key) ? key.value : key;
for (const it of items) {
if (identity3.isPair(it)) {
if (it.key === key || it.key === k)
return it;
if (identity3.isScalar(it.key) && it.key.value === k)
return it;
}
}
return void 0;
}
var YAMLMap = class extends Collection.Collection {
static get tagName() {
return "tag:yaml.org,2002:map";
}
constructor(schema2) {
super(identity3.MAP, schema2);
this.items = [];
}
/**
* A generic collection parsing method that can be extended
* to other node classes that inherit from YAMLMap
*/
static from(schema2, obj, ctx) {
const { keepUndefined, replacer } = ctx;
const map4 = new this(schema2);
const add = (key, value) => {
if (typeof replacer === "function")
value = replacer.call(obj, key, value);
else if (Array.isArray(replacer) && !replacer.includes(key))
return;
if (value !== void 0 || keepUndefined)
map4.items.push(Pair.createPair(key, value, ctx));
};
if (obj instanceof Map) {
for (const [key, value] of obj)
add(key, value);
} else if (obj && typeof obj === "object") {
for (const key of Object.keys(obj))
add(key, obj[key]);
}
if (typeof schema2.sortMapEntries === "function") {
map4.items.sort(schema2.sortMapEntries);
}
return map4;
}
/**
* Adds a value to the collection.
*
* @param overwrite - If not set `true`, using a key that is already in the
* collection will throw. Otherwise, overwrites the previous value.
*/
add(pair, overwrite) {
let _pair;
if (identity3.isPair(pair))
_pair = pair;
else if (!pair || typeof pair !== "object" || !("key" in pair)) {
_pair = new Pair.Pair(pair, pair?.value);
} else
_pair = new Pair.Pair(pair.key, pair.value);
const prev = findPair(this.items, _pair.key);
const sortEntries = this.schema?.sortMapEntries;
if (prev) {
if (!overwrite)
throw new Error(`Key ${_pair.key} already set`);
if (identity3.isScalar(prev.value) && Scalar.isScalarValue(_pair.value))
prev.value.value = _pair.value;
else
prev.value = _pair.value;
} else if (sortEntries) {
const i3 = this.items.findIndex((item) => sortEntries(_pair, item) < 0);
if (i3 === -1)
this.items.push(_pair);
else
this.items.splice(i3, 0, _pair);
} else {
this.items.push(_pair);
}
}
delete(key) {
const it = findPair(this.items, key);
if (!it)
return false;
const del = this.items.splice(this.items.indexOf(it), 1);
return del.length > 0;
}
get(key, keepScalar) {
const it = findPair(this.items, key);
const node = it?.value;
return (!keepScalar && identity3.isScalar(node) ? node.value : node) ?? void 0;
}
has(key) {
return !!findPair(this.items, key);
}
set(key, value) {
this.add(new Pair.Pair(key, value), true);
}
/**
* @param ctx - Conversion context, originally set in Document#toJS()
* @param {Class} Type - If set, forces the returned collection type
* @returns Instance of Type, Map, or Object
*/
toJSON(_, ctx, Type2) {
const map4 = Type2 ? new Type2() : ctx?.mapAsMap ? /* @__PURE__ */ new Map() : {};
if (ctx?.onCreate)
ctx.onCreate(map4);
for (const item of this.items)
addPairToJSMap.addPairToJSMap(ctx, map4, item);
return map4;
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
for (const item of this.items) {
if (!identity3.isPair(item))
throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);
}
if (!ctx.allNullValues && this.hasAllNullValues(false))
ctx = Object.assign({}, ctx, { allNullValues: true });
return stringifyCollection.stringifyCollection(this, ctx, {
blockItemPrefix: "",
flowChars: { start: "{", end: "}" },
itemIndent: ctx.indent || "",
onChompKeep,
onComment
});
}
};
exports2.YAMLMap = YAMLMap;
exports2.findPair = findPair;
}
});
// node_modules/yaml/dist/schema/common/map.js
var require_map = __commonJS({
"node_modules/yaml/dist/schema/common/map.js"(exports2) {
"use strict";
var identity3 = require_identity();
var YAMLMap = require_YAMLMap();
var map4 = {
collection: "map",
default: true,
nodeClass: YAMLMap.YAMLMap,
tag: "tag:yaml.org,2002:map",
resolve(map5, onError2) {
if (!identity3.isMap(map5))
onError2("Expected a mapping for this tag");
return map5;
},
createNode: (schema2, obj, ctx) => YAMLMap.YAMLMap.from(schema2, obj, ctx)
};
exports2.map = map4;
}
});
// node_modules/yaml/dist/nodes/YAMLSeq.js
var require_YAMLSeq = __commonJS({
"node_modules/yaml/dist/nodes/YAMLSeq.js"(exports2) {
"use strict";
var createNode = require_createNode();
var stringifyCollection = require_stringifyCollection();
var Collection = require_Collection();
var identity3 = require_identity();
var Scalar = require_Scalar();
var toJS = require_toJS();
var YAMLSeq = class extends Collection.Collection {
static get tagName() {
return "tag:yaml.org,2002:seq";
}
constructor(schema2) {
super(identity3.SEQ, schema2);
this.items = [];
}
add(value) {
this.items.push(value);
}
/**
* Removes a value from the collection.
*
* `key` must contain a representation of an integer for this to succeed.
* It may be wrapped in a `Scalar`.
*
* @returns `true` if the item was found and removed.
*/
delete(key) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
return false;
const del = this.items.splice(idx, 1);
return del.length > 0;
}
get(key, keepScalar) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
return void 0;
const it = this.items[idx];
return !keepScalar && identity3.isScalar(it) ? it.value : it;
}
/**
* Checks if the collection includes a value with the key `key`.
*
* `key` must contain a representation of an integer for this to succeed.
* It may be wrapped in a `Scalar`.
*/
has(key) {
const idx = asItemIndex(key);
return typeof idx === "number" && idx < this.items.length;
}
/**
* Sets a value in this collection. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*
* If `key` does not contain a representation of an integer, this will throw.
* It may be wrapped in a `Scalar`.
*/
set(key, value) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
throw new Error(`Expected a valid index, not ${key}.`);
const prev = this.items[idx];
if (identity3.isScalar(prev) && Scalar.isScalarValue(value))
prev.value = value;
else
this.items[idx] = value;
}
toJSON(_, ctx) {
const seq2 = [];
if (ctx?.onCreate)
ctx.onCreate(seq2);
let i3 = 0;
for (const item of this.items)
seq2.push(toJS.toJS(item, String(i3++), ctx));
return seq2;
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
return stringifyCollection.stringifyCollection(this, ctx, {
blockItemPrefix: "- ",
flowChars: { start: "[", end: "]" },
itemIndent: (ctx.indent || "") + " ",
onChompKeep,
onComment
});
}
static from(schema2, obj, ctx) {
const { replacer } = ctx;
const seq2 = new this(schema2);
if (obj && Symbol.iterator in Object(obj)) {
let i3 = 0;
for (let it of obj) {
if (typeof replacer === "function") {
const key = obj instanceof Set ? it : String(i3++);
it = replacer.call(obj, key, it);
}
seq2.items.push(createNode.createNode(it, void 0, ctx));
}
}
return seq2;
}
};
function asItemIndex(key) {
let idx = identity3.isScalar(key) ? key.value : key;
if (idx && typeof idx === "string")
idx = Number(idx);
return typeof idx === "number" && Number.isInteger(idx) && idx >= 0 ? idx : null;
}
exports2.YAMLSeq = YAMLSeq;
}
});
// node_modules/yaml/dist/schema/common/seq.js
var require_seq = __commonJS({
"node_modules/yaml/dist/schema/common/seq.js"(exports2) {
"use strict";
var identity3 = require_identity();
var YAMLSeq = require_YAMLSeq();
var seq2 = {
collection: "seq",
default: true,
nodeClass: YAMLSeq.YAMLSeq,
tag: "tag:yaml.org,2002:seq",
resolve(seq3, onError2) {
if (!identity3.isSeq(seq3))
onError2("Expected a sequence for this tag");
return seq3;
},
createNode: (schema2, obj, ctx) => YAMLSeq.YAMLSeq.from(schema2, obj, ctx)
};
exports2.seq = seq2;
}
});
// node_modules/yaml/dist/schema/common/string.js
var require_string = __commonJS({
"node_modules/yaml/dist/schema/common/string.js"(exports2) {
"use strict";
var stringifyString = require_stringifyString();
var string4 = {
identify: (value) => typeof value === "string",
default: true,
tag: "tag:yaml.org,2002:str",
resolve: (str2) => str2,
stringify(item, ctx, onComment, onChompKeep) {
ctx = Object.assign({ actualString: true }, ctx);
return stringifyString.stringifyString(item, ctx, onComment, onChompKeep);
}
};
exports2.string = string4;
}
});
// node_modules/yaml/dist/schema/common/null.js
var require_null = __commonJS({
"node_modules/yaml/dist/schema/common/null.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var nullTag = {
identify: (value) => value == null,
createNode: () => new Scalar.Scalar(null),
default: true,
tag: "tag:yaml.org,2002:null",
test: /^(?:~|[Nn]ull|NULL)?$/,
resolve: () => new Scalar.Scalar(null),
stringify: ({ source }, ctx) => typeof source === "string" && nullTag.test.test(source) ? source : ctx.options.nullStr
};
exports2.nullTag = nullTag;
}
});
// node_modules/yaml/dist/schema/core/bool.js
var require_bool = __commonJS({
"node_modules/yaml/dist/schema/core/bool.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var boolTag = {
identify: (value) => typeof value === "boolean",
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
resolve: (str2) => new Scalar.Scalar(str2[0] === "t" || str2[0] === "T"),
stringify({ source, value }, ctx) {
if (source && boolTag.test.test(source)) {
const sv = source[0] === "t" || source[0] === "T";
if (value === sv)
return source;
}
return value ? ctx.options.trueStr : ctx.options.falseStr;
}
};
exports2.boolTag = boolTag;
}
});
// node_modules/yaml/dist/stringify/stringifyNumber.js
var require_stringifyNumber = __commonJS({
"node_modules/yaml/dist/stringify/stringifyNumber.js"(exports2) {
"use strict";
function stringifyNumber({ format: format2, minFractionDigits, tag, value }) {
if (typeof value === "bigint")
return String(value);
const num = typeof value === "number" ? value : Number(value);
if (!isFinite(num))
return isNaN(num) ? ".nan" : num < 0 ? "-.inf" : ".inf";
let n3 = Object.is(value, -0) ? "-0" : JSON.stringify(value);
if (!format2 && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^\d/.test(n3)) {
let i3 = n3.indexOf(".");
if (i3 < 0) {
i3 = n3.length;
n3 += ".";
}
let d = minFractionDigits - (n3.length - i3 - 1);
while (d-- > 0)
n3 += "0";
}
return n3;
}
exports2.stringifyNumber = stringifyNumber;
}
});
// node_modules/yaml/dist/schema/core/float.js
var require_float2 = __commonJS({
"node_modules/yaml/dist/schema/core/float.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var stringifyNumber = require_stringifyNumber();
var floatNaN = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
resolve: (str2) => str2.slice(-3).toLowerCase() === "nan" ? NaN : str2[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
stringify: stringifyNumber.stringifyNumber
};
var floatExp = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "EXP",
test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
resolve: (str2) => parseFloat(str2),
stringify(node) {
const num = Number(node.value);
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
}
};
var float2 = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
resolve(str2) {
const node = new Scalar.Scalar(parseFloat(str2));
const dot = str2.indexOf(".");
if (dot !== -1 && str2[str2.length - 1] === "0")
node.minFractionDigits = str2.length - dot - 1;
return node;
},
stringify: stringifyNumber.stringifyNumber
};
exports2.float = float2;
exports2.floatExp = floatExp;
exports2.floatNaN = floatNaN;
}
});
// node_modules/yaml/dist/schema/core/int.js
var require_int = __commonJS({
"node_modules/yaml/dist/schema/core/int.js"(exports2) {
"use strict";
var stringifyNumber = require_stringifyNumber();
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
var intResolve = (str2, offset, radix, { intAsBigInt }) => intAsBigInt ? BigInt(str2) : parseInt(str2.substring(offset), radix);
function intStringify(node, radix, prefix) {
const { value } = node;
if (intIdentify(value) && value >= 0)
return prefix + value.toString(radix);
return stringifyNumber.stringifyNumber(node);
}
var intOct = {
identify: (value) => intIdentify(value) && value >= 0,
default: true,
tag: "tag:yaml.org,2002:int",
format: "OCT",
test: /^0o[0-7]+$/,
resolve: (str2, _onError2, opt) => intResolve(str2, 2, 8, opt),
stringify: (node) => intStringify(node, 8, "0o")
};
var int3 = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^[-+]?[0-9]+$/,
resolve: (str2, _onError2, opt) => intResolve(str2, 0, 10, opt),
stringify: stringifyNumber.stringifyNumber
};
var intHex = {
identify: (value) => intIdentify(value) && value >= 0,
default: true,
tag: "tag:yaml.org,2002:int",
format: "HEX",
test: /^0x[0-9a-fA-F]+$/,
resolve: (str2, _onError2, opt) => intResolve(str2, 2, 16, opt),
stringify: (node) => intStringify(node, 16, "0x")
};
exports2.int = int3;
exports2.intHex = intHex;
exports2.intOct = intOct;
}
});
// node_modules/yaml/dist/schema/core/schema.js
var require_schema = __commonJS({
"node_modules/yaml/dist/schema/core/schema.js"(exports2) {
"use strict";
var map4 = require_map();
var _null5 = require_null();
var seq2 = require_seq();
var string4 = require_string();
var bool2 = require_bool();
var float2 = require_float2();
var int3 = require_int();
var schema2 = [
map4.map,
seq2.seq,
string4.string,
_null5.nullTag,
bool2.boolTag,
int3.intOct,
int3.int,
int3.intHex,
float2.floatNaN,
float2.floatExp,
float2.float
];
exports2.schema = schema2;
}
});
// node_modules/yaml/dist/schema/json/schema.js
var require_schema2 = __commonJS({
"node_modules/yaml/dist/schema/json/schema.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var map4 = require_map();
var seq2 = require_seq();
function intIdentify(value) {
return typeof value === "bigint" || Number.isInteger(value);
}
var stringifyJSON = ({ value }) => JSON.stringify(value);
var jsonScalars = [
{
identify: (value) => typeof value === "string",
default: true,
tag: "tag:yaml.org,2002:str",
resolve: (str2) => str2,
stringify: stringifyJSON
},
{
identify: (value) => value == null,
createNode: () => new Scalar.Scalar(null),
default: true,
tag: "tag:yaml.org,2002:null",
test: /^null$/,
resolve: () => null,
stringify: stringifyJSON
},
{
identify: (value) => typeof value === "boolean",
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^true$|^false$/,
resolve: (str2) => str2 === "true",
stringify: stringifyJSON
},
{
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^-?(?:0|[1-9][0-9]*)$/,
resolve: (str2, _onError2, { intAsBigInt }) => intAsBigInt ? BigInt(str2) : parseInt(str2, 10),
stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
},
{
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
resolve: (str2) => parseFloat(str2),
stringify: stringifyJSON
}
];
var jsonError = {
default: true,
tag: "",
test: /^/,
resolve(str2, onError2) {
onError2(`Unresolved plain scalar ${JSON.stringify(str2)}`);
return str2;
}
};
var schema2 = [map4.map, seq2.seq].concat(jsonScalars, jsonError);
exports2.schema = schema2;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/binary.js
var require_binary = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports2) {
"use strict";
var node_buffer = __require("buffer");
var Scalar = require_Scalar();
var stringifyString = require_stringifyString();
var binary3 = {
identify: (value) => value instanceof Uint8Array,
// Buffer inherits from Uint8Array
default: false,
tag: "tag:yaml.org,2002:binary",
/**
* Returns a Buffer in node and an Uint8Array in browsers
*
* To use the resulting buffer as an image, you'll want to do something like:
*
* const blob = new Blob([buffer], { type: 'image/jpeg' })
* document.querySelector('#photo').src = URL.createObjectURL(blob)
*/
resolve(src, onError2) {
if (typeof node_buffer.Buffer === "function") {
return node_buffer.Buffer.from(src, "base64");
} else if (typeof atob === "function") {
const str2 = atob(src.replace(/[\n\r]/g, ""));
const buffer = new Uint8Array(str2.length);
for (let i3 = 0; i3 < str2.length; ++i3)
buffer[i3] = str2.charCodeAt(i3);
return buffer;
} else {
onError2("This environment does not support reading binary tags; either Buffer or atob is required");
return src;
}
},
stringify({ comment, type: type2, value }, ctx, onComment, onChompKeep) {
if (!value)
return "";
const buf = value;
let str2;
if (typeof node_buffer.Buffer === "function") {
str2 = buf instanceof node_buffer.Buffer ? buf.toString("base64") : node_buffer.Buffer.from(buf.buffer).toString("base64");
} else if (typeof btoa === "function") {
let s2 = "";
for (let i3 = 0; i3 < buf.length; ++i3)
s2 += String.fromCharCode(buf[i3]);
str2 = btoa(s2);
} else {
throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");
}
type2 ?? (type2 = Scalar.Scalar.BLOCK_LITERAL);
if (type2 !== Scalar.Scalar.QUOTE_DOUBLE) {
const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
const n3 = Math.ceil(str2.length / lineWidth);
const lines = new Array(n3);
for (let i3 = 0, o3 = 0; i3 < n3; ++i3, o3 += lineWidth) {
lines[i3] = str2.substr(o3, lineWidth);
}
str2 = lines.join(type2 === Scalar.Scalar.BLOCK_LITERAL ? "\n" : " ");
}
return stringifyString.stringifyString({ comment, type: type2, value: str2 }, ctx, onComment, onChompKeep);
}
};
exports2.binary = binary3;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/pairs.js
var require_pairs = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
var YAMLSeq = require_YAMLSeq();
function resolvePairs(seq2, onError2) {
if (identity3.isSeq(seq2)) {
for (let i3 = 0; i3 < seq2.items.length; ++i3) {
let item = seq2.items[i3];
if (identity3.isPair(item))
continue;
else if (identity3.isMap(item)) {
if (item.items.length > 1)
onError2("Each pair must have its own sequence indicator");
const pair = item.items[0] || new Pair.Pair(new Scalar.Scalar(null));
if (item.commentBefore)
pair.key.commentBefore = pair.key.commentBefore ? `${item.commentBefore}
${pair.key.commentBefore}` : item.commentBefore;
if (item.comment) {
const cn = pair.value ?? pair.key;
cn.comment = cn.comment ? `${item.comment}
${cn.comment}` : item.comment;
}
item = pair;
}
seq2.items[i3] = identity3.isPair(item) ? item : new Pair.Pair(item);
}
} else
onError2("Expected a sequence for this tag");
return seq2;
}
function createPairs(schema2, iterable, ctx) {
const { replacer } = ctx;
const pairs3 = new YAMLSeq.YAMLSeq(schema2);
pairs3.tag = "tag:yaml.org,2002:pairs";
let i3 = 0;
if (iterable && Symbol.iterator in Object(iterable))
for (let it of iterable) {
if (typeof replacer === "function")
it = replacer.call(iterable, String(i3++), it);
let key, value;
if (Array.isArray(it)) {
if (it.length === 2) {
key = it[0];
value = it[1];
} else
throw new TypeError(`Expected [key, value] tuple: ${it}`);
} else if (it && it instanceof Object) {
const keys = Object.keys(it);
if (keys.length === 1) {
key = keys[0];
value = it[key];
} else {
throw new TypeError(`Expected tuple with one key, not ${keys.length} keys`);
}
} else {
key = it;
}
pairs3.items.push(Pair.createPair(key, value, ctx));
}
return pairs3;
}
var pairs2 = {
collection: "seq",
default: false,
tag: "tag:yaml.org,2002:pairs",
resolve: resolvePairs,
createNode: createPairs
};
exports2.createPairs = createPairs;
exports2.pairs = pairs2;
exports2.resolvePairs = resolvePairs;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/omap.js
var require_omap = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports2) {
"use strict";
var identity3 = require_identity();
var toJS = require_toJS();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var pairs2 = require_pairs();
var YAMLOMap = class _YAMLOMap extends YAMLSeq.YAMLSeq {
constructor() {
super();
this.add = YAMLMap.YAMLMap.prototype.add.bind(this);
this.delete = YAMLMap.YAMLMap.prototype.delete.bind(this);
this.get = YAMLMap.YAMLMap.prototype.get.bind(this);
this.has = YAMLMap.YAMLMap.prototype.has.bind(this);
this.set = YAMLMap.YAMLMap.prototype.set.bind(this);
this.tag = _YAMLOMap.tag;
}
/**
* If `ctx` is given, the return type is actually `Map<unknown, unknown>`,
* but TypeScript won't allow widening the signature of a child method.
*/
toJSON(_, ctx) {
if (!ctx)
return super.toJSON(_);
const map4 = /* @__PURE__ */ new Map();
if (ctx?.onCreate)
ctx.onCreate(map4);
for (const pair of this.items) {
let key, value;
if (identity3.isPair(pair)) {
key = toJS.toJS(pair.key, "", ctx);
value = toJS.toJS(pair.value, key, ctx);
} else {
key = toJS.toJS(pair, "", ctx);
}
if (map4.has(key))
throw new Error("Ordered maps must not include duplicate keys");
map4.set(key, value);
}
return map4;
}
static from(schema2, iterable, ctx) {
const pairs$1 = pairs2.createPairs(schema2, iterable, ctx);
const omap3 = new this();
omap3.items = pairs$1.items;
return omap3;
}
};
YAMLOMap.tag = "tag:yaml.org,2002:omap";
var omap2 = {
collection: "seq",
identify: (value) => value instanceof Map,
nodeClass: YAMLOMap,
default: false,
tag: "tag:yaml.org,2002:omap",
resolve(seq2, onError2) {
const pairs$1 = pairs2.resolvePairs(seq2, onError2);
const seenKeys = [];
for (const { key } of pairs$1.items) {
if (identity3.isScalar(key)) {
if (seenKeys.includes(key.value)) {
onError2(`Ordered maps must not include duplicate keys: ${key.value}`);
} else {
seenKeys.push(key.value);
}
}
}
return Object.assign(new YAMLOMap(), pairs$1);
},
createNode: (schema2, iterable, ctx) => YAMLOMap.from(schema2, iterable, ctx)
};
exports2.YAMLOMap = YAMLOMap;
exports2.omap = omap2;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/bool.js
var require_bool2 = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
function boolStringify({ value, source }, ctx) {
const boolObj = value ? trueTag : falseTag;
if (source && boolObj.test.test(source))
return source;
return value ? ctx.options.trueStr : ctx.options.falseStr;
}
var trueTag = {
identify: (value) => value === true,
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
resolve: () => new Scalar.Scalar(true),
stringify: boolStringify
};
var falseTag = {
identify: (value) => value === false,
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
resolve: () => new Scalar.Scalar(false),
stringify: boolStringify
};
exports2.falseTag = falseTag;
exports2.trueTag = trueTag;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/float.js
var require_float3 = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var stringifyNumber = require_stringifyNumber();
var floatNaN = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
resolve: (str2) => str2.slice(-3).toLowerCase() === "nan" ? NaN : str2[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
stringify: stringifyNumber.stringifyNumber
};
var floatExp = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "EXP",
test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
resolve: (str2) => parseFloat(str2.replace(/_/g, "")),
stringify(node) {
const num = Number(node.value);
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
}
};
var float2 = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
resolve(str2) {
const node = new Scalar.Scalar(parseFloat(str2.replace(/_/g, "")));
const dot = str2.indexOf(".");
if (dot !== -1) {
const f = str2.substring(dot + 1).replace(/_/g, "");
if (f[f.length - 1] === "0")
node.minFractionDigits = f.length;
}
return node;
},
stringify: stringifyNumber.stringifyNumber
};
exports2.float = float2;
exports2.floatExp = floatExp;
exports2.floatNaN = floatNaN;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/int.js
var require_int2 = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports2) {
"use strict";
var stringifyNumber = require_stringifyNumber();
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
function intResolve(str2, offset, radix, { intAsBigInt }) {
const sign = str2[0];
if (sign === "-" || sign === "+")
offset += 1;
str2 = str2.substring(offset).replace(/_/g, "");
if (intAsBigInt) {
switch (radix) {
case 2:
str2 = `0b${str2}`;
break;
case 8:
str2 = `0o${str2}`;
break;
case 16:
str2 = `0x${str2}`;
break;
}
const n4 = BigInt(str2);
return sign === "-" ? BigInt(-1) * n4 : n4;
}
const n3 = parseInt(str2, radix);
return sign === "-" ? -1 * n3 : n3;
}
function intStringify(node, radix, prefix) {
const { value } = node;
if (intIdentify(value)) {
const str2 = value.toString(radix);
return value < 0 ? "-" + prefix + str2.substr(1) : prefix + str2;
}
return stringifyNumber.stringifyNumber(node);
}
var intBin = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "BIN",
test: /^[-+]?0b[0-1_]+$/,
resolve: (str2, _onError2, opt) => intResolve(str2, 2, 2, opt),
stringify: (node) => intStringify(node, 2, "0b")
};
var intOct = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "OCT",
test: /^[-+]?0[0-7_]+$/,
resolve: (str2, _onError2, opt) => intResolve(str2, 1, 8, opt),
stringify: (node) => intStringify(node, 8, "0")
};
var int3 = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^[-+]?[0-9][0-9_]*$/,
resolve: (str2, _onError2, opt) => intResolve(str2, 0, 10, opt),
stringify: stringifyNumber.stringifyNumber
};
var intHex = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "HEX",
test: /^[-+]?0x[0-9a-fA-F_]+$/,
resolve: (str2, _onError2, opt) => intResolve(str2, 2, 16, opt),
stringify: (node) => intStringify(node, 16, "0x")
};
exports2.int = int3;
exports2.intBin = intBin;
exports2.intHex = intHex;
exports2.intOct = intOct;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/set.js
var require_set = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var YAMLSet = class _YAMLSet extends YAMLMap.YAMLMap {
constructor(schema2) {
super(schema2);
this.tag = _YAMLSet.tag;
}
add(key) {
let pair;
if (identity3.isPair(key))
pair = key;
else if (key && typeof key === "object" && "key" in key && "value" in key && key.value === null)
pair = new Pair.Pair(key.key, null);
else
pair = new Pair.Pair(key, null);
const prev = YAMLMap.findPair(this.items, pair.key);
if (!prev)
this.items.push(pair);
}
/**
* If `keepPair` is `true`, returns the Pair matching `key`.
* Otherwise, returns the value of that Pair's key.
*/
get(key, keepPair) {
const pair = YAMLMap.findPair(this.items, key);
return !keepPair && identity3.isPair(pair) ? identity3.isScalar(pair.key) ? pair.key.value : pair.key : pair;
}
set(key, value) {
if (typeof value !== "boolean")
throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
const prev = YAMLMap.findPair(this.items, key);
if (prev && !value) {
this.items.splice(this.items.indexOf(prev), 1);
} else if (!prev && value) {
this.items.push(new Pair.Pair(key));
}
}
toJSON(_, ctx) {
return super.toJSON(_, ctx, Set);
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
if (this.hasAllNullValues(true))
return super.toString(Object.assign({}, ctx, { allNullValues: true }), onComment, onChompKeep);
else
throw new Error("Set items must all have null values");
}
static from(schema2, iterable, ctx) {
const { replacer } = ctx;
const set4 = new this(schema2);
if (iterable && Symbol.iterator in Object(iterable))
for (let value of iterable) {
if (typeof replacer === "function")
value = replacer.call(iterable, value, value);
set4.items.push(Pair.createPair(value, null, ctx));
}
return set4;
}
};
YAMLSet.tag = "tag:yaml.org,2002:set";
var set3 = {
collection: "map",
identify: (value) => value instanceof Set,
nodeClass: YAMLSet,
default: false,
tag: "tag:yaml.org,2002:set",
createNode: (schema2, iterable, ctx) => YAMLSet.from(schema2, iterable, ctx),
resolve(map4, onError2) {
if (identity3.isMap(map4)) {
if (map4.hasAllNullValues(true))
return Object.assign(new YAMLSet(), map4);
else
onError2("Set items must all have null values");
} else
onError2("Expected a mapping for this tag");
return map4;
}
};
exports2.YAMLSet = YAMLSet;
exports2.set = set3;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
var require_timestamp = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports2) {
"use strict";
var stringifyNumber = require_stringifyNumber();
function parseSexagesimal(str2, asBigInt) {
const sign = str2[0];
const parts2 = sign === "-" || sign === "+" ? str2.substring(1) : str2;
const num = (n3) => asBigInt ? BigInt(n3) : Number(n3);
const res = parts2.replace(/_/g, "").split(":").reduce((res2, p) => res2 * num(60) + num(p), num(0));
return sign === "-" ? num(-1) * res : res;
}
function stringifySexagesimal(node) {
let { value } = node;
let num = (n3) => n3;
if (typeof value === "bigint")
num = (n3) => BigInt(n3);
else if (isNaN(value) || !isFinite(value))
return stringifyNumber.stringifyNumber(node);
let sign = "";
if (value < 0) {
sign = "-";
value *= num(-1);
}
const _60 = num(60);
const parts2 = [value % _60];
if (value < 60) {
parts2.unshift(0);
} else {
value = (value - parts2[0]) / _60;
parts2.unshift(value % _60);
if (value >= 60) {
value = (value - parts2[0]) / _60;
parts2.unshift(value);
}
}
return sign + parts2.map((n3) => String(n3).padStart(2, "0")).join(":").replace(/000000\d*$/, "");
}
var intTime = {
identify: (value) => typeof value === "bigint" || Number.isInteger(value),
default: true,
tag: "tag:yaml.org,2002:int",
format: "TIME",
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
resolve: (str2, _onError2, { intAsBigInt }) => parseSexagesimal(str2, intAsBigInt),
stringify: stringifySexagesimal
};
var floatTime = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "TIME",
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
resolve: (str2) => parseSexagesimal(str2, false),
stringify: stringifySexagesimal
};
var timestamp2 = {
identify: (value) => value instanceof Date,
default: true,
tag: "tag:yaml.org,2002:timestamp",
// If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
// may be omitted altogether, resulting in a date format. In such a case, the time part is
// assumed to be 00:00:00Z (start of day, UTC).
test: RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),
resolve(str2) {
const match2 = str2.match(timestamp2.test);
if (!match2)
throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");
const [, year, month, day, hour, minute, second] = match2.map(Number);
const millisec = match2[7] ? Number((match2[7] + "00").substr(1, 3)) : 0;
let date5 = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec);
const tz = match2[8];
if (tz && tz !== "Z") {
let d = parseSexagesimal(tz, false);
if (Math.abs(d) < 30)
d *= 60;
date5 -= 6e4 * d;
}
return new Date(date5);
},
stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, "") ?? ""
};
exports2.floatTime = floatTime;
exports2.intTime = intTime;
exports2.timestamp = timestamp2;
}
});
// node_modules/yaml/dist/schema/yaml-1.1/schema.js
var require_schema3 = __commonJS({
"node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports2) {
"use strict";
var map4 = require_map();
var _null5 = require_null();
var seq2 = require_seq();
var string4 = require_string();
var binary3 = require_binary();
var bool2 = require_bool2();
var float2 = require_float3();
var int3 = require_int2();
var merge4 = require_merge2();
var omap2 = require_omap();
var pairs2 = require_pairs();
var set3 = require_set();
var timestamp2 = require_timestamp();
var schema2 = [
map4.map,
seq2.seq,
string4.string,
_null5.nullTag,
bool2.trueTag,
bool2.falseTag,
int3.intBin,
int3.intOct,
int3.int,
int3.intHex,
float2.floatNaN,
float2.floatExp,
float2.float,
binary3.binary,
merge4.merge,
omap2.omap,
pairs2.pairs,
set3.set,
timestamp2.intTime,
timestamp2.floatTime,
timestamp2.timestamp
];
exports2.schema = schema2;
}
});
// node_modules/yaml/dist/schema/tags.js
var require_tags = __commonJS({
"node_modules/yaml/dist/schema/tags.js"(exports2) {
"use strict";
var map4 = require_map();
var _null5 = require_null();
var seq2 = require_seq();
var string4 = require_string();
var bool2 = require_bool();
var float2 = require_float2();
var int3 = require_int();
var schema2 = require_schema();
var schema$1 = require_schema2();
var binary3 = require_binary();
var merge4 = require_merge2();
var omap2 = require_omap();
var pairs2 = require_pairs();
var schema$2 = require_schema3();
var set3 = require_set();
var timestamp2 = require_timestamp();
var schemas = /* @__PURE__ */ new Map([
["core", schema2.schema],
["failsafe", [map4.map, seq2.seq, string4.string]],
["json", schema$1.schema],
["yaml11", schema$2.schema],
["yaml-1.1", schema$2.schema]
]);
var tagsByName = {
binary: binary3.binary,
bool: bool2.boolTag,
float: float2.float,
floatExp: float2.floatExp,
floatNaN: float2.floatNaN,
floatTime: timestamp2.floatTime,
int: int3.int,
intHex: int3.intHex,
intOct: int3.intOct,
intTime: timestamp2.intTime,
map: map4.map,
merge: merge4.merge,
null: _null5.nullTag,
omap: omap2.omap,
pairs: pairs2.pairs,
seq: seq2.seq,
set: set3.set,
timestamp: timestamp2.timestamp
};
var coreKnownTags = {
"tag:yaml.org,2002:binary": binary3.binary,
"tag:yaml.org,2002:merge": merge4.merge,
"tag:yaml.org,2002:omap": omap2.omap,
"tag:yaml.org,2002:pairs": pairs2.pairs,
"tag:yaml.org,2002:set": set3.set,
"tag:yaml.org,2002:timestamp": timestamp2.timestamp
};
function getTags(customTags, schemaName, addMergeTag) {
const schemaTags = schemas.get(schemaName);
if (schemaTags && !customTags) {
return addMergeTag && !schemaTags.includes(merge4.merge) ? schemaTags.concat(merge4.merge) : schemaTags.slice();
}
let tags = schemaTags;
if (!tags) {
if (Array.isArray(customTags))
tags = [];
else {
const keys = Array.from(schemas.keys()).filter((key) => key !== "yaml11").map((key) => JSON.stringify(key)).join(", ");
throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`);
}
}
if (Array.isArray(customTags)) {
for (const tag of customTags)
tags = tags.concat(tag);
} else if (typeof customTags === "function") {
tags = customTags(tags.slice());
}
if (addMergeTag)
tags = tags.concat(merge4.merge);
return tags.reduce((tags2, tag) => {
const tagObj = typeof tag === "string" ? tagsByName[tag] : tag;
if (!tagObj) {
const tagName = JSON.stringify(tag);
const keys = Object.keys(tagsByName).map((key) => JSON.stringify(key)).join(", ");
throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
}
if (!tags2.includes(tagObj))
tags2.push(tagObj);
return tags2;
}, []);
}
exports2.coreKnownTags = coreKnownTags;
exports2.getTags = getTags;
}
});
// node_modules/yaml/dist/schema/Schema.js
var require_Schema = __commonJS({
"node_modules/yaml/dist/schema/Schema.js"(exports2) {
"use strict";
var identity3 = require_identity();
var map4 = require_map();
var seq2 = require_seq();
var string4 = require_string();
var tags = require_tags();
var sortMapEntriesByKey = (a2, b) => a2.key < b.key ? -1 : a2.key > b.key ? 1 : 0;
var Schema = class _Schema {
constructor({ compat, customTags, merge: merge4, resolveKnownTags, schema: schema2, sortMapEntries, toStringDefaults }) {
this.compat = Array.isArray(compat) ? tags.getTags(compat, "compat") : compat ? tags.getTags(null, compat) : null;
this.name = typeof schema2 === "string" && schema2 || "core";
this.knownTags = resolveKnownTags ? tags.coreKnownTags : {};
this.tags = tags.getTags(customTags, this.name, merge4);
this.toStringOptions = toStringDefaults ?? null;
Object.defineProperty(this, identity3.MAP, { value: map4.map });
Object.defineProperty(this, identity3.SCALAR, { value: string4.string });
Object.defineProperty(this, identity3.SEQ, { value: seq2.seq });
this.sortMapEntries = typeof sortMapEntries === "function" ? sortMapEntries : sortMapEntries === true ? sortMapEntriesByKey : null;
}
clone() {
const copy = Object.create(_Schema.prototype, Object.getOwnPropertyDescriptors(this));
copy.tags = this.tags.slice();
return copy;
}
};
exports2.Schema = Schema;
}
});
// node_modules/yaml/dist/stringify/stringifyDocument.js
var require_stringifyDocument = __commonJS({
"node_modules/yaml/dist/stringify/stringifyDocument.js"(exports2) {
"use strict";
var identity3 = require_identity();
var stringify3 = require_stringify2();
var stringifyComment = require_stringifyComment();
function stringifyDocument(doc, options) {
const lines = [];
let hasDirectives = options.directives === true;
if (options.directives !== false && doc.directives) {
const dir = doc.directives.toString(doc);
if (dir) {
lines.push(dir);
hasDirectives = true;
} else if (doc.directives.docStart)
hasDirectives = true;
}
if (hasDirectives)
lines.push("---");
const ctx = stringify3.createStringifyContext(doc, options);
const { commentString } = ctx.options;
if (doc.commentBefore) {
if (lines.length !== 1)
lines.unshift("");
const cs = commentString(doc.commentBefore);
lines.unshift(stringifyComment.indentComment(cs, ""));
}
let chompKeep = false;
let contentComment = null;
if (doc.contents) {
if (identity3.isNode(doc.contents)) {
if (doc.contents.spaceBefore && hasDirectives)
lines.push("");
if (doc.contents.commentBefore) {
const cs = commentString(doc.contents.commentBefore);
lines.push(stringifyComment.indentComment(cs, ""));
}
ctx.forceBlockIndent = !!doc.comment;
contentComment = doc.contents.comment;
}
const onChompKeep = contentComment ? void 0 : () => chompKeep = true;
let body2 = stringify3.stringify(doc.contents, ctx, () => contentComment = null, onChompKeep);
if (contentComment)
body2 += stringifyComment.lineComment(body2, "", commentString(contentComment));
if ((body2[0] === "|" || body2[0] === ">") && lines[lines.length - 1] === "---") {
lines[lines.length - 1] = `--- ${body2}`;
} else
lines.push(body2);
} else {
lines.push(stringify3.stringify(doc.contents, ctx));
}
if (doc.directives?.docEnd) {
if (doc.comment) {
const cs = commentString(doc.comment);
if (cs.includes("\n")) {
lines.push("...");
lines.push(stringifyComment.indentComment(cs, ""));
} else {
lines.push(`... ${cs}`);
}
} else {
lines.push("...");
}
} else {
let dc = doc.comment;
if (dc && chompKeep)
dc = dc.replace(/^\n+/, "");
if (dc) {
if ((!chompKeep || contentComment) && lines[lines.length - 1] !== "")
lines.push("");
lines.push(stringifyComment.indentComment(commentString(dc), ""));
}
}
return lines.join("\n") + "\n";
}
exports2.stringifyDocument = stringifyDocument;
}
});
// node_modules/yaml/dist/doc/Document.js
var require_Document = __commonJS({
"node_modules/yaml/dist/doc/Document.js"(exports2) {
"use strict";
var Alias = require_Alias();
var Collection = require_Collection();
var identity3 = require_identity();
var Pair = require_Pair();
var toJS = require_toJS();
var Schema = require_Schema();
var stringifyDocument = require_stringifyDocument();
var anchors = require_anchors();
var applyReviver = require_applyReviver();
var createNode = require_createNode();
var directives = require_directives();
var Document2 = class _Document {
constructor(value, replacer, options) {
this.commentBefore = null;
this.comment = null;
this.errors = [];
this.warnings = [];
Object.defineProperty(this, identity3.NODE_TYPE, { value: identity3.DOC });
let _replacer = null;
if (typeof replacer === "function" || Array.isArray(replacer)) {
_replacer = replacer;
} else if (options === void 0 && replacer) {
options = replacer;
replacer = void 0;
}
const opt = Object.assign({
intAsBigInt: false,
keepSourceTokens: false,
logLevel: "warn",
prettyErrors: true,
strict: true,
stringKeys: false,
uniqueKeys: true,
version: "1.2"
}, options);
this.options = opt;
let { version: version4 } = opt;
if (options?._directives) {
this.directives = options._directives.atDocument();
if (this.directives.yaml.explicit)
version4 = this.directives.yaml.version;
} else
this.directives = new directives.Directives({ version: version4 });
this.setSchema(version4, options);
this.contents = value === void 0 ? null : this.createNode(value, _replacer, options);
}
/**
* Create a deep copy of this Document and its contents.
*
* Custom Node values that inherit from `Object` still refer to their original instances.
*/
clone() {
const copy = Object.create(_Document.prototype, {
[identity3.NODE_TYPE]: { value: identity3.DOC }
});
copy.commentBefore = this.commentBefore;
copy.comment = this.comment;
copy.errors = this.errors.slice();
copy.warnings = this.warnings.slice();
copy.options = Object.assign({}, this.options);
if (this.directives)
copy.directives = this.directives.clone();
copy.schema = this.schema.clone();
copy.contents = identity3.isNode(this.contents) ? this.contents.clone(copy.schema) : this.contents;
if (this.range)
copy.range = this.range.slice();
return copy;
}
/** Adds a value to the document. */
add(value) {
if (assertCollection(this.contents))
this.contents.add(value);
}
/** Adds a value to the document. */
addIn(path101, value) {
if (assertCollection(this.contents))
this.contents.addIn(path101, value);
}
/**
* Create a new `Alias` node, ensuring that the target `node` has the required anchor.
*
* If `node` already has an anchor, `name` is ignored.
* Otherwise, the `node.anchor` value will be set to `name`,
* or if an anchor with that name is already present in the document,
* `name` will be used as a prefix for a new unique anchor.
* If `name` is undefined, the generated anchor will use 'a' as a prefix.
*/
createAlias(node, name3) {
if (!node.anchor) {
const prev = anchors.anchorNames(this);
node.anchor = // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
!name3 || prev.has(name3) ? anchors.findNewAnchor(name3 || "a", prev) : name3;
}
return new Alias.Alias(node.anchor);
}
createNode(value, replacer, options) {
let _replacer = void 0;
if (typeof replacer === "function") {
value = replacer.call({ "": value }, "", value);
_replacer = replacer;
} else if (Array.isArray(replacer)) {
const keyToStr = (v) => typeof v === "number" || v instanceof String || v instanceof Number;
const asStr = replacer.filter(keyToStr).map(String);
if (asStr.length > 0)
replacer = replacer.concat(asStr);
_replacer = replacer;
} else if (options === void 0 && replacer) {
options = replacer;
replacer = void 0;
}
const { aliasDuplicateObjects, anchorPrefix, flow, keepUndefined, onTagObj, tag } = options ?? {};
const { onAnchor, setAnchors, sourceObjects } = anchors.createNodeAnchors(
this,
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
anchorPrefix || "a"
);
const ctx = {
aliasDuplicateObjects: aliasDuplicateObjects ?? true,
keepUndefined: keepUndefined ?? false,
onAnchor,
onTagObj,
replacer: _replacer,
schema: this.schema,
sourceObjects
};
const node = createNode.createNode(value, tag, ctx);
if (flow && identity3.isCollection(node))
node.flow = true;
setAnchors();
return node;
}
/**
* Convert a key and a value into a `Pair` using the current schema,
* recursively wrapping all values as `Scalar` or `Collection` nodes.
*/
createPair(key, value, options = {}) {
const k = this.createNode(key, null, options);
const v = this.createNode(value, null, options);
return new Pair.Pair(k, v);
}
/**
* Removes a value from the document.
* @returns `true` if the item was found and removed.
*/
delete(key) {
return assertCollection(this.contents) ? this.contents.delete(key) : false;
}
/**
* Removes a value from the document.
* @returns `true` if the item was found and removed.
*/
deleteIn(path101) {
if (Collection.isEmptyPath(path101)) {
if (this.contents == null)
return false;
this.contents = null;
return true;
}
return assertCollection(this.contents) ? this.contents.deleteIn(path101) : false;
}
/**
* Returns item at `key`, or `undefined` if not found. By default unwraps
* scalar values from their surrounding node; to disable set `keepScalar` to
* `true` (collections are always returned intact).
*/
get(key, keepScalar) {
return identity3.isCollection(this.contents) ? this.contents.get(key, keepScalar) : void 0;
}
/**
* Returns item at `path`, or `undefined` if not found. By default unwraps
* scalar values from their surrounding node; to disable set `keepScalar` to
* `true` (collections are always returned intact).
*/
getIn(path101, keepScalar) {
if (Collection.isEmptyPath(path101))
return !keepScalar && identity3.isScalar(this.contents) ? this.contents.value : this.contents;
return identity3.isCollection(this.contents) ? this.contents.getIn(path101, keepScalar) : void 0;
}
/**
* Checks if the document includes a value with the key `key`.
*/
has(key) {
return identity3.isCollection(this.contents) ? this.contents.has(key) : false;
}
/**
* Checks if the document includes a value at `path`.
*/
hasIn(path101) {
if (Collection.isEmptyPath(path101))
return this.contents !== void 0;
return identity3.isCollection(this.contents) ? this.contents.hasIn(path101) : false;
}
/**
* Sets a value in this document. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*/
set(key, value) {
if (this.contents == null) {
this.contents = Collection.collectionFromPath(this.schema, [key], value);
} else if (assertCollection(this.contents)) {
this.contents.set(key, value);
}
}
/**
* Sets a value in this document. For `!!set`, `value` needs to be a
* boolean to add/remove the item from the set.
*/
setIn(path101, value) {
if (Collection.isEmptyPath(path101)) {
this.contents = value;
} else if (this.contents == null) {
this.contents = Collection.collectionFromPath(this.schema, Array.from(path101), value);
} else if (assertCollection(this.contents)) {
this.contents.setIn(path101, value);
}
}
/**
* Change the YAML version and schema used by the document.
* A `null` version disables support for directives, explicit tags, anchors, and aliases.
* It also requires the `schema` option to be given as a `Schema` instance value.
*
* Overrides all previously set schema options.
*/
setSchema(version4, options = {}) {
if (typeof version4 === "number")
version4 = String(version4);
let opt;
switch (version4) {
case "1.1":
if (this.directives)
this.directives.yaml.version = "1.1";
else
this.directives = new directives.Directives({ version: "1.1" });
opt = { resolveKnownTags: false, schema: "yaml-1.1" };
break;
case "1.2":
case "next":
if (this.directives)
this.directives.yaml.version = version4;
else
this.directives = new directives.Directives({ version: version4 });
opt = { resolveKnownTags: true, schema: "core" };
break;
case null:
if (this.directives)
delete this.directives;
opt = null;
break;
default: {
const sv = JSON.stringify(version4);
throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`);
}
}
if (options.schema instanceof Object)
this.schema = options.schema;
else if (opt)
this.schema = new Schema.Schema(Object.assign(opt, options));
else
throw new Error(`With a null YAML version, the { schema: Schema } option is required`);
}
// json & jsonArg are only used from toJSON()
toJS({ json: json3, jsonArg, mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
const ctx = {
anchors: /* @__PURE__ */ new Map(),
doc: this,
keep: !json3,
mapAsMap: mapAsMap === true,
mapKeyWarned: false,
maxAliasCount: typeof maxAliasCount === "number" ? maxAliasCount : 100
};
const res = toJS.toJS(this.contents, jsonArg ?? "", ctx);
if (typeof onAnchor === "function")
for (const { count: count2, res: res2 } of ctx.anchors.values())
onAnchor(res2, count2);
return typeof reviver === "function" ? applyReviver.applyReviver(reviver, { "": res }, "", res) : res;
}
/**
* A JSON representation of the document `contents`.
*
* @param jsonArg Used by `JSON.stringify` to indicate the array index or
* property name.
*/
toJSON(jsonArg, onAnchor) {
return this.toJS({ json: true, jsonArg, mapAsMap: false, onAnchor });
}
/** A YAML representation of the document. */
toString(options = {}) {
if (this.errors.length > 0)
throw new Error("Document with errors cannot be stringified");
if ("indent" in options && (!Number.isInteger(options.indent) || Number(options.indent) <= 0)) {
const s2 = JSON.stringify(options.indent);
throw new Error(`"indent" option must be a positive integer, not ${s2}`);
}
return stringifyDocument.stringifyDocument(this, options);
}
};
function assertCollection(contents) {
if (identity3.isCollection(contents))
return true;
throw new Error("Expected a YAML collection as document contents");
}
exports2.Document = Document2;
}
});
// node_modules/yaml/dist/errors.js
var require_errors = __commonJS({
"node_modules/yaml/dist/errors.js"(exports2) {
"use strict";
var YAMLError = class extends Error {
constructor(name3, pos, code, message) {
super();
this.name = name3;
this.code = code;
this.message = message;
this.pos = pos;
}
};
var YAMLParseError = class extends YAMLError {
constructor(pos, code, message) {
super("YAMLParseError", pos, code, message);
}
};
var YAMLWarning = class extends YAMLError {
constructor(pos, code, message) {
super("YAMLWarning", pos, code, message);
}
};
var prettifyError2 = (src, lc) => (error40) => {
if (error40.pos[0] === -1)
return;
error40.linePos = error40.pos.map((pos) => lc.linePos(pos));
const { line, col } = error40.linePos[0];
error40.message += ` at line ${line}, column ${col}`;
let ci = col - 1;
let lineStr = src.substring(lc.lineStarts[line - 1], lc.lineStarts[line]).replace(/[\n\r]+$/, "");
if (ci >= 60 && lineStr.length > 80) {
const trimStart = Math.min(ci - 39, lineStr.length - 79);
lineStr = "\u2026" + lineStr.substring(trimStart);
ci -= trimStart - 1;
}
if (lineStr.length > 80)
lineStr = lineStr.substring(0, 79) + "\u2026";
if (line > 1 && /^ *$/.test(lineStr.substring(0, ci))) {
let prev = src.substring(lc.lineStarts[line - 2], lc.lineStarts[line - 1]);
if (prev.length > 80)
prev = prev.substring(0, 79) + "\u2026\n";
lineStr = prev + lineStr;
}
if (/[^ ]/.test(lineStr)) {
let count2 = 1;
const end = error40.linePos[1];
if (end?.line === line && end.col > col) {
count2 = Math.max(1, Math.min(end.col - col, 80 - ci));
}
const pointer = " ".repeat(ci) + "^".repeat(count2);
error40.message += `:
${lineStr}
${pointer}
`;
}
};
exports2.YAMLError = YAMLError;
exports2.YAMLParseError = YAMLParseError;
exports2.YAMLWarning = YAMLWarning;
exports2.prettifyError = prettifyError2;
}
});
// node_modules/yaml/dist/compose/resolve-props.js
var require_resolve_props = __commonJS({
"node_modules/yaml/dist/compose/resolve-props.js"(exports2) {
"use strict";
function resolveProps(tokens, { flow, indicator, next, offset, onError: onError2, parentIndent, startOnNewline }) {
let spaceBefore = false;
let atNewline = startOnNewline;
let hasSpace = startOnNewline;
let comment = "";
let commentSep = "";
let hasNewline = false;
let reqSpace = false;
let tab = null;
let anchor = null;
let tag = null;
let newlineAfterProp = null;
let comma = null;
let found = null;
let start2 = null;
for (const token2 of tokens) {
if (reqSpace) {
if (token2.type !== "space" && token2.type !== "newline" && token2.type !== "comma")
onError2(token2.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space");
reqSpace = false;
}
if (tab) {
if (atNewline && token2.type !== "comment" && token2.type !== "newline") {
onError2(tab, "TAB_AS_INDENT", "Tabs are not allowed as indentation");
}
tab = null;
}
switch (token2.type) {
case "space":
if (!flow && (indicator !== "doc-start" || next?.type !== "flow-collection") && token2.source.includes(" ")) {
tab = token2;
}
hasSpace = true;
break;
case "comment": {
if (!hasSpace)
onError2(token2, "MISSING_CHAR", "Comments must be separated from other tokens by white space characters");
const cb = token2.source.substring(1) || " ";
if (!comment)
comment = cb;
else
comment += commentSep + cb;
commentSep = "";
atNewline = false;
break;
}
case "newline":
if (atNewline) {
if (comment)
comment += token2.source;
else if (!found || indicator !== "seq-item-ind")
spaceBefore = true;
} else
commentSep += token2.source;
atNewline = true;
hasNewline = true;
if (anchor || tag)
newlineAfterProp = token2;
hasSpace = true;
break;
case "anchor":
if (anchor)
onError2(token2, "MULTIPLE_ANCHORS", "A node can have at most one anchor");
if (token2.source.endsWith(":"))
onError2(token2.offset + token2.source.length - 1, "BAD_ALIAS", "Anchor ending in : is ambiguous", true);
anchor = token2;
start2 ?? (start2 = token2.offset);
atNewline = false;
hasSpace = false;
reqSpace = true;
break;
case "tag": {
if (tag)
onError2(token2, "MULTIPLE_TAGS", "A node can have at most one tag");
tag = token2;
start2 ?? (start2 = token2.offset);
atNewline = false;
hasSpace = false;
reqSpace = true;
break;
}
case indicator:
if (anchor || tag)
onError2(token2, "BAD_PROP_ORDER", `Anchors and tags must be after the ${token2.source} indicator`);
if (found)
onError2(token2, "UNEXPECTED_TOKEN", `Unexpected ${token2.source} in ${flow ?? "collection"}`);
found = token2;
atNewline = indicator === "seq-item-ind" || indicator === "explicit-key-ind";
hasSpace = false;
break;
case "comma":
if (flow) {
if (comma)
onError2(token2, "UNEXPECTED_TOKEN", `Unexpected , in ${flow}`);
comma = token2;
atNewline = false;
hasSpace = false;
break;
}
// else fallthrough
default:
onError2(token2, "UNEXPECTED_TOKEN", `Unexpected ${token2.type} token`);
atNewline = false;
hasSpace = false;
}
}
const last2 = tokens[tokens.length - 1];
const end = last2 ? last2.offset + last2.source.length : offset;
if (reqSpace && next && next.type !== "space" && next.type !== "newline" && next.type !== "comma" && (next.type !== "scalar" || next.source !== "")) {
onError2(next.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space");
}
if (tab && (atNewline && tab.indent <= parentIndent || next?.type === "block-map" || next?.type === "block-seq"))
onError2(tab, "TAB_AS_INDENT", "Tabs are not allowed as indentation");
return {
comma,
found,
spaceBefore,
comment,
hasNewline,
anchor,
tag,
newlineAfterProp,
end,
start: start2 ?? end
};
}
exports2.resolveProps = resolveProps;
}
});
// node_modules/yaml/dist/compose/util-contains-newline.js
var require_util_contains_newline = __commonJS({
"node_modules/yaml/dist/compose/util-contains-newline.js"(exports2) {
"use strict";
function containsNewline(key) {
if (!key)
return null;
switch (key.type) {
case "alias":
case "scalar":
case "double-quoted-scalar":
case "single-quoted-scalar":
if (key.source.includes("\n"))
return true;
if (key.end) {
for (const st of key.end)
if (st.type === "newline")
return true;
}
return false;
case "flow-collection":
for (const it of key.items) {
for (const st of it.start)
if (st.type === "newline")
return true;
if (it.sep) {
for (const st of it.sep)
if (st.type === "newline")
return true;
}
if (containsNewline(it.key) || containsNewline(it.value))
return true;
}
return false;
default:
return true;
}
}
exports2.containsNewline = containsNewline;
}
});
// node_modules/yaml/dist/compose/util-flow-indent-check.js
var require_util_flow_indent_check = __commonJS({
"node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports2) {
"use strict";
var utilContainsNewline = require_util_contains_newline();
function flowIndentCheck(indent, fc, onError2) {
if (fc?.type === "flow-collection") {
const end = fc.end[0];
if (end.indent === indent && (end.source === "]" || end.source === "}") && utilContainsNewline.containsNewline(fc)) {
const msg = "Flow end indicator should be more indented than parent";
onError2(end, "BAD_INDENT", msg, true);
}
}
}
exports2.flowIndentCheck = flowIndentCheck;
}
});
// node_modules/yaml/dist/compose/util-map-includes.js
var require_util_map_includes = __commonJS({
"node_modules/yaml/dist/compose/util-map-includes.js"(exports2) {
"use strict";
var identity3 = require_identity();
function mapIncludes(ctx, items, search) {
const { uniqueKeys } = ctx.options;
if (uniqueKeys === false)
return false;
const isEqual = typeof uniqueKeys === "function" ? uniqueKeys : (a2, b) => a2 === b || identity3.isScalar(a2) && identity3.isScalar(b) && a2.value === b.value;
return items.some((pair) => isEqual(pair.key, search));
}
exports2.mapIncludes = mapIncludes;
}
});
// node_modules/yaml/dist/compose/resolve-block-map.js
var require_resolve_block_map = __commonJS({
"node_modules/yaml/dist/compose/resolve-block-map.js"(exports2) {
"use strict";
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var resolveProps = require_resolve_props();
var utilContainsNewline = require_util_contains_newline();
var utilFlowIndentCheck = require_util_flow_indent_check();
var utilMapIncludes = require_util_map_includes();
var startColMsg = "All mapping items must start at the same column";
function resolveBlockMap({ composeNode: composeNode2, composeEmptyNode }, ctx, bm, onError2, tag) {
const NodeClass = tag?.nodeClass ?? YAMLMap.YAMLMap;
const map4 = new NodeClass(ctx.schema);
if (ctx.atRoot)
ctx.atRoot = false;
let offset = bm.offset;
let commentEnd = null;
for (const collItem of bm.items) {
const { start: start2, key, sep: sep8, value } = collItem;
const keyProps = resolveProps.resolveProps(start2, {
indicator: "explicit-key-ind",
next: key ?? sep8?.[0],
offset,
onError: onError2,
parentIndent: bm.indent,
startOnNewline: true
});
const implicitKey = !keyProps.found;
if (implicitKey) {
if (key) {
if (key.type === "block-seq")
onError2(offset, "BLOCK_AS_IMPLICIT_KEY", "A block sequence may not be used as an implicit map key");
else if ("indent" in key && key.indent !== bm.indent)
onError2(offset, "BAD_INDENT", startColMsg);
}
if (!keyProps.anchor && !keyProps.tag && !sep8) {
commentEnd = keyProps.end;
if (keyProps.comment) {
if (map4.comment)
map4.comment += "\n" + keyProps.comment;
else
map4.comment = keyProps.comment;
}
continue;
}
if (keyProps.newlineAfterProp || utilContainsNewline.containsNewline(key)) {
onError2(key ?? start2[start2.length - 1], "MULTILINE_IMPLICIT_KEY", "Implicit keys need to be on a single line");
}
} else if (keyProps.found?.indent !== bm.indent) {
onError2(offset, "BAD_INDENT", startColMsg);
}
ctx.atKey = true;
const keyStart = keyProps.end;
const keyNode = key ? composeNode2(ctx, key, keyProps, onError2) : composeEmptyNode(ctx, keyStart, start2, null, keyProps, onError2);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError2);
ctx.atKey = false;
if (utilMapIncludes.mapIncludes(ctx, map4.items, keyNode))
onError2(keyStart, "DUPLICATE_KEY", "Map keys must be unique");
const valueProps = resolveProps.resolveProps(sep8 ?? [], {
indicator: "map-value-ind",
next: value,
offset: keyNode.range[2],
onError: onError2,
parentIndent: bm.indent,
startOnNewline: !key || key.type === "block-scalar"
});
offset = valueProps.end;
if (valueProps.found) {
if (implicitKey) {
if (value?.type === "block-map" && !valueProps.hasNewline)
onError2(offset, "BLOCK_AS_IMPLICIT_KEY", "Nested mappings are not allowed in compact mappings");
if (ctx.options.strict && keyProps.start < valueProps.found.offset - 1024)
onError2(keyNode.range, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit block mapping key");
}
const valueNode = value ? composeNode2(ctx, value, valueProps, onError2) : composeEmptyNode(ctx, offset, sep8, null, valueProps, onError2);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError2);
offset = valueNode.range[2];
const pair = new Pair.Pair(keyNode, valueNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
map4.items.push(pair);
} else {
if (implicitKey)
onError2(keyNode.range, "MISSING_CHAR", "Implicit map keys need to be followed by map values");
if (valueProps.comment) {
if (keyNode.comment)
keyNode.comment += "\n" + valueProps.comment;
else
keyNode.comment = valueProps.comment;
}
const pair = new Pair.Pair(keyNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
map4.items.push(pair);
}
}
if (commentEnd && commentEnd < offset)
onError2(commentEnd, "IMPOSSIBLE", "Map comment with trailing content");
map4.range = [bm.offset, offset, commentEnd ?? offset];
return map4;
}
exports2.resolveBlockMap = resolveBlockMap;
}
});
// node_modules/yaml/dist/compose/resolve-block-seq.js
var require_resolve_block_seq = __commonJS({
"node_modules/yaml/dist/compose/resolve-block-seq.js"(exports2) {
"use strict";
var YAMLSeq = require_YAMLSeq();
var resolveProps = require_resolve_props();
var utilFlowIndentCheck = require_util_flow_indent_check();
function resolveBlockSeq({ composeNode: composeNode2, composeEmptyNode }, ctx, bs, onError2, tag) {
const NodeClass = tag?.nodeClass ?? YAMLSeq.YAMLSeq;
const seq2 = new NodeClass(ctx.schema);
if (ctx.atRoot)
ctx.atRoot = false;
if (ctx.atKey)
ctx.atKey = false;
let offset = bs.offset;
let commentEnd = null;
for (const { start: start2, value } of bs.items) {
const props = resolveProps.resolveProps(start2, {
indicator: "seq-item-ind",
next: value,
offset,
onError: onError2,
parentIndent: bs.indent,
startOnNewline: true
});
if (!props.found) {
if (props.anchor || props.tag || value) {
if (value?.type === "block-seq")
onError2(props.end, "BAD_INDENT", "All sequence items must start at the same column");
else
onError2(offset, "MISSING_CHAR", "Sequence item without - indicator");
} else {
commentEnd = props.end;
if (props.comment)
seq2.comment = props.comment;
continue;
}
}
const node = value ? composeNode2(ctx, value, props, onError2) : composeEmptyNode(ctx, props.end, start2, null, props, onError2);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bs.indent, value, onError2);
offset = node.range[2];
seq2.items.push(node);
}
seq2.range = [bs.offset, offset, commentEnd ?? offset];
return seq2;
}
exports2.resolveBlockSeq = resolveBlockSeq;
}
});
// node_modules/yaml/dist/compose/resolve-end.js
var require_resolve_end = __commonJS({
"node_modules/yaml/dist/compose/resolve-end.js"(exports2) {
"use strict";
function resolveEnd(end, offset, reqSpace, onError2) {
let comment = "";
if (end) {
let hasSpace = false;
let sep8 = "";
for (const token2 of end) {
const { source, type: type2 } = token2;
switch (type2) {
case "space":
hasSpace = true;
break;
case "comment": {
if (reqSpace && !hasSpace)
onError2(token2, "MISSING_CHAR", "Comments must be separated from other tokens by white space characters");
const cb = source.substring(1) || " ";
if (!comment)
comment = cb;
else
comment += sep8 + cb;
sep8 = "";
break;
}
case "newline":
if (comment)
sep8 += source;
hasSpace = true;
break;
default:
onError2(token2, "UNEXPECTED_TOKEN", `Unexpected ${type2} at node end`);
}
offset += source.length;
}
}
return { comment, offset };
}
exports2.resolveEnd = resolveEnd;
}
});
// node_modules/yaml/dist/compose/resolve-flow-collection.js
var require_resolve_flow_collection = __commonJS({
"node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var resolveEnd = require_resolve_end();
var resolveProps = require_resolve_props();
var utilContainsNewline = require_util_contains_newline();
var utilMapIncludes = require_util_map_includes();
var blockMsg = "Block collections are not allowed within flow collections";
var isBlock = (token2) => token2 && (token2.type === "block-map" || token2.type === "block-seq");
function resolveFlowCollection({ composeNode: composeNode2, composeEmptyNode }, ctx, fc, onError2, tag) {
const isMap = fc.start.source === "{";
const fcName = isMap ? "flow map" : "flow sequence";
const NodeClass = tag?.nodeClass ?? (isMap ? YAMLMap.YAMLMap : YAMLSeq.YAMLSeq);
const coll = new NodeClass(ctx.schema);
coll.flow = true;
const atRoot = ctx.atRoot;
if (atRoot)
ctx.atRoot = false;
if (ctx.atKey)
ctx.atKey = false;
let offset = fc.offset + fc.start.source.length;
for (let i3 = 0; i3 < fc.items.length; ++i3) {
const collItem = fc.items[i3];
const { start: start2, key, sep: sep8, value } = collItem;
const props = resolveProps.resolveProps(start2, {
flow: fcName,
indicator: "explicit-key-ind",
next: key ?? sep8?.[0],
offset,
onError: onError2,
parentIndent: fc.indent,
startOnNewline: false
});
if (!props.found) {
if (!props.anchor && !props.tag && !sep8 && !value) {
if (i3 === 0 && props.comma)
onError2(props.comma, "UNEXPECTED_TOKEN", `Unexpected , in ${fcName}`);
else if (i3 < fc.items.length - 1)
onError2(props.start, "UNEXPECTED_TOKEN", `Unexpected empty item in ${fcName}`);
if (props.comment) {
if (coll.comment)
coll.comment += "\n" + props.comment;
else
coll.comment = props.comment;
}
offset = props.end;
continue;
}
if (!isMap && ctx.options.strict && utilContainsNewline.containsNewline(key))
onError2(
key,
// checked by containsNewline()
"MULTILINE_IMPLICIT_KEY",
"Implicit keys of flow sequence pairs need to be on a single line"
);
}
if (i3 === 0) {
if (props.comma)
onError2(props.comma, "UNEXPECTED_TOKEN", `Unexpected , in ${fcName}`);
} else {
if (!props.comma)
onError2(props.start, "MISSING_CHAR", `Missing , between ${fcName} items`);
if (props.comment) {
let prevItemComment = "";
loop: for (const st of start2) {
switch (st.type) {
case "comma":
case "space":
break;
case "comment":
prevItemComment = st.source.substring(1);
break loop;
default:
break loop;
}
}
if (prevItemComment) {
let prev = coll.items[coll.items.length - 1];
if (identity3.isPair(prev))
prev = prev.value ?? prev.key;
if (prev.comment)
prev.comment += "\n" + prevItemComment;
else
prev.comment = prevItemComment;
props.comment = props.comment.substring(prevItemComment.length + 1);
}
}
}
if (!isMap && !sep8 && !props.found) {
const valueNode = value ? composeNode2(ctx, value, props, onError2) : composeEmptyNode(ctx, props.end, sep8, null, props, onError2);
coll.items.push(valueNode);
offset = valueNode.range[2];
if (isBlock(value))
onError2(valueNode.range, "BLOCK_IN_FLOW", blockMsg);
} else {
ctx.atKey = true;
const keyStart = props.end;
const keyNode = key ? composeNode2(ctx, key, props, onError2) : composeEmptyNode(ctx, keyStart, start2, null, props, onError2);
if (isBlock(key))
onError2(keyNode.range, "BLOCK_IN_FLOW", blockMsg);
ctx.atKey = false;
const valueProps = resolveProps.resolveProps(sep8 ?? [], {
flow: fcName,
indicator: "map-value-ind",
next: value,
offset: keyNode.range[2],
onError: onError2,
parentIndent: fc.indent,
startOnNewline: false
});
if (valueProps.found) {
if (!isMap && !props.found && ctx.options.strict) {
if (sep8)
for (const st of sep8) {
if (st === valueProps.found)
break;
if (st.type === "newline") {
onError2(st, "MULTILINE_IMPLICIT_KEY", "Implicit keys of flow sequence pairs need to be on a single line");
break;
}
}
if (props.start < valueProps.found.offset - 1024)
onError2(valueProps.found, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit flow sequence key");
}
} else if (value) {
if ("source" in value && value.source?.[0] === ":")
onError2(value, "MISSING_CHAR", `Missing space after : in ${fcName}`);
else
onError2(valueProps.start, "MISSING_CHAR", `Missing , or : between ${fcName} items`);
}
const valueNode = value ? composeNode2(ctx, value, valueProps, onError2) : valueProps.found ? composeEmptyNode(ctx, valueProps.end, sep8, null, valueProps, onError2) : null;
if (valueNode) {
if (isBlock(value))
onError2(valueNode.range, "BLOCK_IN_FLOW", blockMsg);
} else if (valueProps.comment) {
if (keyNode.comment)
keyNode.comment += "\n" + valueProps.comment;
else
keyNode.comment = valueProps.comment;
}
const pair = new Pair.Pair(keyNode, valueNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
if (isMap) {
const map4 = coll;
if (utilMapIncludes.mapIncludes(ctx, map4.items, keyNode))
onError2(keyStart, "DUPLICATE_KEY", "Map keys must be unique");
map4.items.push(pair);
} else {
const map4 = new YAMLMap.YAMLMap(ctx.schema);
map4.flow = true;
map4.items.push(pair);
const endRange = (valueNode ?? keyNode).range;
map4.range = [keyNode.range[0], endRange[1], endRange[2]];
coll.items.push(map4);
}
offset = valueNode ? valueNode.range[2] : valueProps.end;
}
}
const expectedEnd = isMap ? "}" : "]";
const [ce, ...ee] = fc.end;
let cePos = offset;
if (ce?.source === expectedEnd)
cePos = ce.offset + ce.source.length;
else {
const name3 = fcName[0].toUpperCase() + fcName.substring(1);
const msg = atRoot ? `${name3} must end with a ${expectedEnd}` : `${name3} in block collection must be sufficiently indented and end with a ${expectedEnd}`;
onError2(offset, atRoot ? "MISSING_CHAR" : "BAD_INDENT", msg);
if (ce && ce.source.length !== 1)
ee.unshift(ce);
}
if (ee.length > 0) {
const end = resolveEnd.resolveEnd(ee, cePos, ctx.options.strict, onError2);
if (end.comment) {
if (coll.comment)
coll.comment += "\n" + end.comment;
else
coll.comment = end.comment;
}
coll.range = [fc.offset, cePos, end.offset];
} else {
coll.range = [fc.offset, cePos, cePos];
}
return coll;
}
exports2.resolveFlowCollection = resolveFlowCollection;
}
});
// node_modules/yaml/dist/compose/compose-collection.js
var require_compose_collection = __commonJS({
"node_modules/yaml/dist/compose/compose-collection.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Scalar = require_Scalar();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var resolveBlockMap = require_resolve_block_map();
var resolveBlockSeq = require_resolve_block_seq();
var resolveFlowCollection = require_resolve_flow_collection();
function resolveCollection(CN, ctx, token2, onError2, tagName, tag) {
const coll = token2.type === "block-map" ? resolveBlockMap.resolveBlockMap(CN, ctx, token2, onError2, tag) : token2.type === "block-seq" ? resolveBlockSeq.resolveBlockSeq(CN, ctx, token2, onError2, tag) : resolveFlowCollection.resolveFlowCollection(CN, ctx, token2, onError2, tag);
const Coll = coll.constructor;
if (tagName === "!" || tagName === Coll.tagName) {
coll.tag = Coll.tagName;
return coll;
}
if (tagName)
coll.tag = tagName;
return coll;
}
function composeCollection(CN, ctx, token2, props, onError2) {
const tagToken = props.tag;
const tagName = !tagToken ? null : ctx.directives.tagName(tagToken.source, (msg) => onError2(tagToken, "TAG_RESOLVE_FAILED", msg));
if (token2.type === "block-seq") {
const { anchor, newlineAfterProp: nl2 } = props;
const lastProp = anchor && tagToken ? anchor.offset > tagToken.offset ? anchor : tagToken : anchor ?? tagToken;
if (lastProp && (!nl2 || nl2.offset < lastProp.offset)) {
const message = "Missing newline after block sequence props";
onError2(lastProp, "MISSING_CHAR", message);
}
}
const expType = token2.type === "block-map" ? "map" : token2.type === "block-seq" ? "seq" : token2.start.source === "{" ? "map" : "seq";
if (!tagToken || !tagName || tagName === "!" || tagName === YAMLMap.YAMLMap.tagName && expType === "map" || tagName === YAMLSeq.YAMLSeq.tagName && expType === "seq") {
return resolveCollection(CN, ctx, token2, onError2, tagName);
}
let tag = ctx.schema.tags.find((t2) => t2.tag === tagName && t2.collection === expType);
if (!tag) {
const kt = ctx.schema.knownTags[tagName];
if (kt?.collection === expType) {
ctx.schema.tags.push(Object.assign({}, kt, { default: false }));
tag = kt;
} else {
if (kt) {
onError2(tagToken, "BAD_COLLECTION_TYPE", `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? "scalar"}`, true);
} else {
onError2(tagToken, "TAG_RESOLVE_FAILED", `Unresolved tag: ${tagName}`, true);
}
return resolveCollection(CN, ctx, token2, onError2, tagName);
}
}
const coll = resolveCollection(CN, ctx, token2, onError2, tagName, tag);
const res = tag.resolve?.(coll, (msg) => onError2(tagToken, "TAG_RESOLVE_FAILED", msg), ctx.options) ?? coll;
const node = identity3.isNode(res) ? res : new Scalar.Scalar(res);
node.range = coll.range;
node.tag = tagName;
if (tag?.format)
node.format = tag.format;
return node;
}
exports2.composeCollection = composeCollection;
}
});
// node_modules/yaml/dist/compose/resolve-block-scalar.js
var require_resolve_block_scalar = __commonJS({
"node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
function resolveBlockScalar(ctx, scalar, onError2) {
const start2 = scalar.offset;
const header = parseBlockScalarHeader(scalar, ctx.options.strict, onError2);
if (!header)
return { value: "", type: null, comment: "", range: [start2, start2, start2] };
const type2 = header.mode === ">" ? Scalar.Scalar.BLOCK_FOLDED : Scalar.Scalar.BLOCK_LITERAL;
const lines = scalar.source ? splitLines2(scalar.source) : [];
let chompStart = lines.length;
for (let i3 = lines.length - 1; i3 >= 0; --i3) {
const content = lines[i3][1];
if (content === "" || content === "\r")
chompStart = i3;
else
break;
}
if (chompStart === 0) {
const value2 = header.chomp === "+" && lines.length > 0 ? "\n".repeat(Math.max(1, lines.length - 1)) : "";
let end2 = start2 + header.length;
if (scalar.source)
end2 += scalar.source.length;
return { value: value2, type: type2, comment: header.comment, range: [start2, end2, end2] };
}
let trimIndent = scalar.indent + header.indent;
let offset = scalar.offset + header.length;
let contentStart = 0;
for (let i3 = 0; i3 < chompStart; ++i3) {
const [indent, content] = lines[i3];
if (content === "" || content === "\r") {
if (header.indent === 0 && indent.length > trimIndent)
trimIndent = indent.length;
} else {
if (indent.length < trimIndent) {
const message = "Block scalars with more-indented leading empty lines must use an explicit indentation indicator";
onError2(offset + indent.length, "MISSING_CHAR", message);
}
if (header.indent === 0)
trimIndent = indent.length;
contentStart = i3;
if (trimIndent === 0 && !ctx.atRoot) {
const message = "Block scalar values in collections must be indented";
onError2(offset, "BAD_INDENT", message);
}
break;
}
offset += indent.length + content.length + 1;
}
for (let i3 = lines.length - 1; i3 >= chompStart; --i3) {
if (lines[i3][0].length > trimIndent)
chompStart = i3 + 1;
}
let value = "";
let sep8 = "";
let prevMoreIndented = false;
for (let i3 = 0; i3 < contentStart; ++i3)
value += lines[i3][0].slice(trimIndent) + "\n";
for (let i3 = contentStart; i3 < chompStart; ++i3) {
let [indent, content] = lines[i3];
offset += indent.length + content.length + 1;
const crlf = content[content.length - 1] === "\r";
if (crlf)
content = content.slice(0, -1);
if (content && indent.length < trimIndent) {
const src = header.indent ? "explicit indentation indicator" : "first line";
const message = `Block scalar lines must not be less indented than their ${src}`;
onError2(offset - content.length - (crlf ? 2 : 1), "BAD_INDENT", message);
indent = "";
}
if (type2 === Scalar.Scalar.BLOCK_LITERAL) {
value += sep8 + indent.slice(trimIndent) + content;
sep8 = "\n";
} else if (indent.length > trimIndent || content[0] === " ") {
if (sep8 === " ")
sep8 = "\n";
else if (!prevMoreIndented && sep8 === "\n")
sep8 = "\n\n";
value += sep8 + indent.slice(trimIndent) + content;
sep8 = "\n";
prevMoreIndented = true;
} else if (content === "") {
if (sep8 === "\n")
value += "\n";
else
sep8 = "\n";
} else {
value += sep8 + content;
sep8 = " ";
prevMoreIndented = false;
}
}
switch (header.chomp) {
case "-":
break;
case "+":
for (let i3 = chompStart; i3 < lines.length; ++i3)
value += "\n" + lines[i3][0].slice(trimIndent);
if (value[value.length - 1] !== "\n")
value += "\n";
break;
default:
value += "\n";
}
const end = start2 + header.length + scalar.source.length;
return { value, type: type2, comment: header.comment, range: [start2, end, end] };
}
function parseBlockScalarHeader({ offset, props }, strict, onError2) {
if (props[0].type !== "block-scalar-header") {
onError2(props[0], "IMPOSSIBLE", "Block scalar header not found");
return null;
}
const { source } = props[0];
const mode = source[0];
let indent = 0;
let chomp = "";
let error40 = -1;
for (let i3 = 1; i3 < source.length; ++i3) {
const ch = source[i3];
if (!chomp && (ch === "-" || ch === "+"))
chomp = ch;
else {
const n3 = Number(ch);
if (!indent && n3)
indent = n3;
else if (error40 === -1)
error40 = offset + i3;
}
}
if (error40 !== -1)
onError2(error40, "UNEXPECTED_TOKEN", `Block scalar header includes extra characters: ${source}`);
let hasSpace = false;
let comment = "";
let length = source.length;
for (let i3 = 1; i3 < props.length; ++i3) {
const token2 = props[i3];
switch (token2.type) {
case "space":
hasSpace = true;
// fallthrough
case "newline":
length += token2.source.length;
break;
case "comment":
if (strict && !hasSpace) {
const message = "Comments must be separated from other tokens by white space characters";
onError2(token2, "MISSING_CHAR", message);
}
length += token2.source.length;
comment = token2.source.substring(1);
break;
case "error":
onError2(token2, "UNEXPECTED_TOKEN", token2.message);
length += token2.source.length;
break;
/* istanbul ignore next should not happen */
default: {
const message = `Unexpected token in block scalar header: ${token2.type}`;
onError2(token2, "UNEXPECTED_TOKEN", message);
const ts = token2.source;
if (ts && typeof ts === "string")
length += ts.length;
}
}
}
return { mode, indent, chomp, comment, length };
}
function splitLines2(source) {
const split = source.split(/\n( *)/);
const first2 = split[0];
const m = first2.match(/^( *)/);
const line0 = m?.[1] ? [m[1], first2.slice(m[1].length)] : ["", first2];
const lines = [line0];
for (let i3 = 1; i3 < split.length; i3 += 2)
lines.push([split[i3], split[i3 + 1]]);
return lines;
}
exports2.resolveBlockScalar = resolveBlockScalar;
}
});
// node_modules/yaml/dist/compose/resolve-flow-scalar.js
var require_resolve_flow_scalar = __commonJS({
"node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports2) {
"use strict";
var Scalar = require_Scalar();
var resolveEnd = require_resolve_end();
function resolveFlowScalar(scalar, strict, onError2) {
const { offset, type: type2, source, end } = scalar;
let _type2;
let value;
const _onError2 = (rel, code, msg) => onError2(offset + rel, code, msg);
switch (type2) {
case "scalar":
_type2 = Scalar.Scalar.PLAIN;
value = plainValue(source, _onError2);
break;
case "single-quoted-scalar":
_type2 = Scalar.Scalar.QUOTE_SINGLE;
value = singleQuotedValue(source, _onError2);
break;
case "double-quoted-scalar":
_type2 = Scalar.Scalar.QUOTE_DOUBLE;
value = doubleQuotedValue(source, _onError2);
break;
/* istanbul ignore next should not happen */
default:
onError2(scalar, "UNEXPECTED_TOKEN", `Expected a flow scalar value, but found: ${type2}`);
return {
value: "",
type: null,
comment: "",
range: [offset, offset + source.length, offset + source.length]
};
}
const valueEnd = offset + source.length;
const re = resolveEnd.resolveEnd(end, valueEnd, strict, onError2);
return {
value,
type: _type2,
comment: re.comment,
range: [offset, valueEnd, re.offset]
};
}
function plainValue(source, onError2) {
let badChar = "";
switch (source[0]) {
/* istanbul ignore next should not happen */
case " ":
badChar = "a tab character";
break;
case ",":
badChar = "flow indicator character ,";
break;
case "%":
badChar = "directive indicator character %";
break;
case "|":
case ">": {
badChar = `block scalar indicator ${source[0]}`;
break;
}
case "@":
case "`": {
badChar = `reserved character ${source[0]}`;
break;
}
}
if (badChar)
onError2(0, "BAD_SCALAR_START", `Plain value cannot start with ${badChar}`);
return foldLines(source);
}
function singleQuotedValue(source, onError2) {
if (source[source.length - 1] !== "'" || source.length === 1)
onError2(source.length, "MISSING_CHAR", "Missing closing 'quote");
return foldLines(source.slice(1, -1)).replace(/''/g, "'");
}
function foldLines(source) {
let first2, line;
try {
first2 = new RegExp("(.*?)(?<![ ])[ ]*\r?\n", "sy");
line = new RegExp("[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?\n", "sy");
} catch {
first2 = /(.*?)[ \t]*\r?\n/sy;
line = /[ \t]*(.*?)[ \t]*\r?\n/sy;
}
let match2 = first2.exec(source);
if (!match2)
return source;
let res = match2[1];
let sep8 = " ";
let pos = first2.lastIndex;
line.lastIndex = pos;
while (match2 = line.exec(source)) {
if (match2[1] === "") {
if (sep8 === "\n")
res += sep8;
else
sep8 = "\n";
} else {
res += sep8 + match2[1];
sep8 = " ";
}
pos = line.lastIndex;
}
const last2 = /[ \t]*(.*)/sy;
last2.lastIndex = pos;
match2 = last2.exec(source);
return res + sep8 + (match2?.[1] ?? "");
}
function doubleQuotedValue(source, onError2) {
let res = "";
for (let i3 = 1; i3 < source.length - 1; ++i3) {
const ch = source[i3];
if (ch === "\r" && source[i3 + 1] === "\n")
continue;
if (ch === "\n") {
const { fold, offset } = foldNewline(source, i3);
res += fold;
i3 = offset;
} else if (ch === "\\") {
let next = source[++i3];
const cc = escapeCodes[next];
if (cc)
res += cc;
else if (next === "\n") {
next = source[i3 + 1];
while (next === " " || next === " ")
next = source[++i3 + 1];
} else if (next === "\r" && source[i3 + 1] === "\n") {
next = source[++i3 + 1];
while (next === " " || next === " ")
next = source[++i3 + 1];
} else if (next === "x" || next === "u" || next === "U") {
const length = { x: 2, u: 4, U: 8 }[next];
res += parseCharCode(source, i3 + 1, length, onError2);
i3 += length;
} else {
const raw = source.substr(i3 - 1, 2);
onError2(i3 - 1, "BAD_DQ_ESCAPE", `Invalid escape sequence ${raw}`);
res += raw;
}
} else if (ch === " " || ch === " ") {
const wsStart = i3;
let next = source[i3 + 1];
while (next === " " || next === " ")
next = source[++i3 + 1];
if (next !== "\n" && !(next === "\r" && source[i3 + 2] === "\n"))
res += i3 > wsStart ? source.slice(wsStart, i3 + 1) : ch;
} else {
res += ch;
}
}
if (source[source.length - 1] !== '"' || source.length === 1)
onError2(source.length, "MISSING_CHAR", 'Missing closing "quote');
return res;
}
function foldNewline(source, offset) {
let fold = "";
let ch = source[offset + 1];
while (ch === " " || ch === " " || ch === "\n" || ch === "\r") {
if (ch === "\r" && source[offset + 2] !== "\n")
break;
if (ch === "\n")
fold += "\n";
offset += 1;
ch = source[offset + 1];
}
if (!fold)
fold = " ";
return { fold, offset };
}
var escapeCodes = {
"0": "\0",
// null character
a: "\x07",
// bell character
b: "\b",
// backspace
e: "\x1B",
// escape character
f: "\f",
// form feed
n: "\n",
// line feed
r: "\r",
// carriage return
t: " ",
// horizontal tab
v: "\v",
// vertical tab
N: "\x85",
// Unicode next line
_: "\xA0",
// Unicode non-breaking space
L: "\u2028",
// Unicode line separator
P: "\u2029",
// Unicode paragraph separator
" ": " ",
'"': '"',
"/": "/",
"\\": "\\",
" ": " "
};
function parseCharCode(source, offset, length, onError2) {
const cc = source.substr(offset, length);
const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);
const code = ok ? parseInt(cc, 16) : NaN;
if (isNaN(code)) {
const raw = source.substr(offset - 2, length + 2);
onError2(offset - 2, "BAD_DQ_ESCAPE", `Invalid escape sequence ${raw}`);
return raw;
}
return String.fromCodePoint(code);
}
exports2.resolveFlowScalar = resolveFlowScalar;
}
});
// node_modules/yaml/dist/compose/compose-scalar.js
var require_compose_scalar = __commonJS({
"node_modules/yaml/dist/compose/compose-scalar.js"(exports2) {
"use strict";
var identity3 = require_identity();
var Scalar = require_Scalar();
var resolveBlockScalar = require_resolve_block_scalar();
var resolveFlowScalar = require_resolve_flow_scalar();
function composeScalar(ctx, token2, tagToken, onError2) {
const { value, type: type2, comment, range: range2 } = token2.type === "block-scalar" ? resolveBlockScalar.resolveBlockScalar(ctx, token2, onError2) : resolveFlowScalar.resolveFlowScalar(token2, ctx.options.strict, onError2);
const tagName = tagToken ? ctx.directives.tagName(tagToken.source, (msg) => onError2(tagToken, "TAG_RESOLVE_FAILED", msg)) : null;
let tag;
if (ctx.options.stringKeys && ctx.atKey) {
tag = ctx.schema[identity3.SCALAR];
} else if (tagName)
tag = findScalarTagByName(ctx.schema, value, tagName, tagToken, onError2);
else if (token2.type === "scalar")
tag = findScalarTagByTest(ctx, value, token2, onError2);
else
tag = ctx.schema[identity3.SCALAR];
let scalar;
try {
const res = tag.resolve(value, (msg) => onError2(tagToken ?? token2, "TAG_RESOLVE_FAILED", msg), ctx.options);
scalar = identity3.isScalar(res) ? res : new Scalar.Scalar(res);
} catch (error40) {
const msg = error40 instanceof Error ? error40.message : String(error40);
onError2(tagToken ?? token2, "TAG_RESOLVE_FAILED", msg);
scalar = new Scalar.Scalar(value);
}
scalar.range = range2;
scalar.source = value;
if (type2)
scalar.type = type2;
if (tagName)
scalar.tag = tagName;
if (tag.format)
scalar.format = tag.format;
if (comment)
scalar.comment = comment;
return scalar;
}
function findScalarTagByName(schema2, value, tagName, tagToken, onError2) {
if (tagName === "!")
return schema2[identity3.SCALAR];
const matchWithTest = [];
for (const tag of schema2.tags) {
if (!tag.collection && tag.tag === tagName) {
if (tag.default && tag.test)
matchWithTest.push(tag);
else
return tag;
}
}
for (const tag of matchWithTest)
if (tag.test?.test(value))
return tag;
const kt = schema2.knownTags[tagName];
if (kt && !kt.collection) {
schema2.tags.push(Object.assign({}, kt, { default: false, test: void 0 }));
return kt;
}
onError2(tagToken, "TAG_RESOLVE_FAILED", `Unresolved tag: ${tagName}`, tagName !== "tag:yaml.org,2002:str");
return schema2[identity3.SCALAR];
}
function findScalarTagByTest({ atKey, directives, schema: schema2 }, value, token2, onError2) {
const tag = schema2.tags.find((tag2) => (tag2.default === true || atKey && tag2.default === "key") && tag2.test?.test(value)) || schema2[identity3.SCALAR];
if (schema2.compat) {
const compat = schema2.compat.find((tag2) => tag2.default && tag2.test?.test(value)) ?? schema2[identity3.SCALAR];
if (tag.tag !== compat.tag) {
const ts = directives.tagString(tag.tag);
const cs = directives.tagString(compat.tag);
const msg = `Value may be parsed as either ${ts} or ${cs}`;
onError2(token2, "TAG_RESOLVE_FAILED", msg, true);
}
}
return tag;
}
exports2.composeScalar = composeScalar;
}
});
// node_modules/yaml/dist/compose/util-empty-scalar-position.js
var require_util_empty_scalar_position = __commonJS({
"node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports2) {
"use strict";
function emptyScalarPosition(offset, before, pos) {
if (before) {
pos ?? (pos = before.length);
for (let i3 = pos - 1; i3 >= 0; --i3) {
let st = before[i3];
switch (st.type) {
case "space":
case "comment":
case "newline":
offset -= st.source.length;
continue;
}
st = before[++i3];
while (st?.type === "space") {
offset += st.source.length;
st = before[++i3];
}
break;
}
}
return offset;
}
exports2.emptyScalarPosition = emptyScalarPosition;
}
});
// node_modules/yaml/dist/compose/compose-node.js
var require_compose_node = __commonJS({
"node_modules/yaml/dist/compose/compose-node.js"(exports2) {
"use strict";
var Alias = require_Alias();
var identity3 = require_identity();
var composeCollection = require_compose_collection();
var composeScalar = require_compose_scalar();
var resolveEnd = require_resolve_end();
var utilEmptyScalarPosition = require_util_empty_scalar_position();
var CN = { composeNode: composeNode2, composeEmptyNode };
function composeNode2(ctx, token2, props, onError2) {
const atKey = ctx.atKey;
const { spaceBefore, comment, anchor, tag } = props;
let node;
let isSrcToken = true;
switch (token2.type) {
case "alias":
node = composeAlias(ctx, token2, onError2);
if (anchor || tag)
onError2(token2, "ALIAS_PROPS", "An alias node must not specify any properties");
break;
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
case "block-scalar":
node = composeScalar.composeScalar(ctx, token2, tag, onError2);
if (anchor)
node.anchor = anchor.source.substring(1);
break;
case "block-map":
case "block-seq":
case "flow-collection":
try {
node = composeCollection.composeCollection(CN, ctx, token2, props, onError2);
if (anchor)
node.anchor = anchor.source.substring(1);
} catch (error40) {
const message = error40 instanceof Error ? error40.message : String(error40);
onError2(token2, "RESOURCE_EXHAUSTION", message);
}
break;
default: {
const message = token2.type === "error" ? token2.message : `Unsupported token (type: ${token2.type})`;
onError2(token2, "UNEXPECTED_TOKEN", message);
isSrcToken = false;
}
}
node ?? (node = composeEmptyNode(ctx, token2.offset, void 0, null, props, onError2));
if (anchor && node.anchor === "")
onError2(anchor, "BAD_ALIAS", "Anchor cannot be an empty string");
if (atKey && ctx.options.stringKeys && (!identity3.isScalar(node) || typeof node.value !== "string" || node.tag && node.tag !== "tag:yaml.org,2002:str")) {
const msg = "With stringKeys, all keys must be strings";
onError2(tag ?? token2, "NON_STRING_KEY", msg);
}
if (spaceBefore)
node.spaceBefore = true;
if (comment) {
if (token2.type === "scalar" && token2.source === "")
node.comment = comment;
else
node.commentBefore = comment;
}
if (ctx.options.keepSourceTokens && isSrcToken)
node.srcToken = token2;
return node;
}
function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag, end }, onError2) {
const token2 = {
type: "scalar",
offset: utilEmptyScalarPosition.emptyScalarPosition(offset, before, pos),
indent: -1,
source: ""
};
const node = composeScalar.composeScalar(ctx, token2, tag, onError2);
if (anchor) {
node.anchor = anchor.source.substring(1);
if (node.anchor === "")
onError2(anchor, "BAD_ALIAS", "Anchor cannot be an empty string");
}
if (spaceBefore)
node.spaceBefore = true;
if (comment) {
node.comment = comment;
node.range[2] = end;
}
return node;
}
function composeAlias({ options }, { offset, source, end }, onError2) {
const alias = new Alias.Alias(source.substring(1));
if (alias.source === "")
onError2(offset, "BAD_ALIAS", "Alias cannot be an empty string");
if (alias.source.endsWith(":"))
onError2(offset + source.length - 1, "BAD_ALIAS", "Alias ending in : is ambiguous", true);
const valueEnd = offset + source.length;
const re = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError2);
alias.range = [offset, valueEnd, re.offset];
if (re.comment)
alias.comment = re.comment;
return alias;
}
exports2.composeEmptyNode = composeEmptyNode;
exports2.composeNode = composeNode2;
}
});
// node_modules/yaml/dist/compose/compose-doc.js
var require_compose_doc = __commonJS({
"node_modules/yaml/dist/compose/compose-doc.js"(exports2) {
"use strict";
var Document2 = require_Document();
var composeNode2 = require_compose_node();
var resolveEnd = require_resolve_end();
var resolveProps = require_resolve_props();
function composeDoc(options, directives, { offset, start: start2, value, end }, onError2) {
const opts = Object.assign({ _directives: directives }, options);
const doc = new Document2.Document(void 0, opts);
const ctx = {
atKey: false,
atRoot: true,
directives: doc.directives,
options: doc.options,
schema: doc.schema
};
const props = resolveProps.resolveProps(start2, {
indicator: "doc-start",
next: value ?? end?.[0],
offset,
onError: onError2,
parentIndent: 0,
startOnNewline: true
});
if (props.found) {
doc.directives.docStart = true;
if (value && (value.type === "block-map" || value.type === "block-seq") && !props.hasNewline)
onError2(props.end, "MISSING_CHAR", "Block collection cannot start on same line with directives-end marker");
}
doc.contents = value ? composeNode2.composeNode(ctx, value, props, onError2) : composeNode2.composeEmptyNode(ctx, props.end, start2, null, props, onError2);
const contentEnd = doc.contents.range[2];
const re = resolveEnd.resolveEnd(end, contentEnd, false, onError2);
if (re.comment)
doc.comment = re.comment;
doc.range = [offset, contentEnd, re.offset];
return doc;
}
exports2.composeDoc = composeDoc;
}
});
// node_modules/yaml/dist/compose/composer.js
var require_composer = __commonJS({
"node_modules/yaml/dist/compose/composer.js"(exports2) {
"use strict";
var node_process = __require("process");
var directives = require_directives();
var Document2 = require_Document();
var errors = require_errors();
var identity3 = require_identity();
var composeDoc = require_compose_doc();
var resolveEnd = require_resolve_end();
function getErrorPos(src) {
if (typeof src === "number")
return [src, src + 1];
if (Array.isArray(src))
return src.length === 2 ? src : [src[0], src[1]];
const { offset, source } = src;
return [offset, offset + (typeof source === "string" ? source.length : 1)];
}
function parsePrelude(prelude) {
let comment = "";
let atComment = false;
let afterEmptyLine = false;
for (let i3 = 0; i3 < prelude.length; ++i3) {
const source = prelude[i3];
switch (source[0]) {
case "#":
comment += (comment === "" ? "" : afterEmptyLine ? "\n\n" : "\n") + (source.substring(1) || " ");
atComment = true;
afterEmptyLine = false;
break;
case "%":
if (prelude[i3 + 1]?.[0] !== "#")
i3 += 1;
atComment = false;
break;
default:
if (!atComment)
afterEmptyLine = true;
atComment = false;
}
}
return { comment, afterEmptyLine };
}
var Composer = class {
constructor(options = {}) {
this.doc = null;
this.atDirectives = false;
this.prelude = [];
this.errors = [];
this.warnings = [];
this.onError = (source, code, message, warning) => {
const pos = getErrorPos(source);
if (warning)
this.warnings.push(new errors.YAMLWarning(pos, code, message));
else
this.errors.push(new errors.YAMLParseError(pos, code, message));
};
this.directives = new directives.Directives({ version: options.version || "1.2" });
this.options = options;
}
decorate(doc, afterDoc) {
const { comment, afterEmptyLine } = parsePrelude(this.prelude);
if (comment) {
const dc = doc.contents;
if (afterDoc) {
doc.comment = doc.comment ? `${doc.comment}
${comment}` : comment;
} else if (afterEmptyLine || doc.directives.docStart || !dc) {
doc.commentBefore = comment;
} else if (identity3.isCollection(dc) && !dc.flow && dc.items.length > 0) {
let it = dc.items[0];
if (identity3.isPair(it))
it = it.key;
const cb = it.commentBefore;
it.commentBefore = cb ? `${comment}
${cb}` : comment;
} else {
const cb = dc.commentBefore;
dc.commentBefore = cb ? `${comment}
${cb}` : comment;
}
}
if (afterDoc) {
Array.prototype.push.apply(doc.errors, this.errors);
Array.prototype.push.apply(doc.warnings, this.warnings);
} else {
doc.errors = this.errors;
doc.warnings = this.warnings;
}
this.prelude = [];
this.errors = [];
this.warnings = [];
}
/**
* Current stream status information.
*
* Mostly useful at the end of input for an empty stream.
*/
streamInfo() {
return {
comment: parsePrelude(this.prelude).comment,
directives: this.directives,
errors: this.errors,
warnings: this.warnings
};
}
/**
* Compose tokens into documents.
*
* @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
* @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
*/
*compose(tokens, forceDoc = false, endOffset = -1) {
for (const token2 of tokens)
yield* this.next(token2);
yield* this.end(forceDoc, endOffset);
}
/** Advance the composer by one CST token. */
*next(token2) {
if (node_process.env.LOG_STREAM)
console.dir(token2, { depth: null });
switch (token2.type) {
case "directive":
this.directives.add(token2.source, (offset, message, warning) => {
const pos = getErrorPos(token2);
pos[0] += offset;
this.onError(pos, "BAD_DIRECTIVE", message, warning);
});
this.prelude.push(token2.source);
this.atDirectives = true;
break;
case "document": {
const doc = composeDoc.composeDoc(this.options, this.directives, token2, this.onError);
if (this.atDirectives && !doc.directives.docStart)
this.onError(token2, "MISSING_CHAR", "Missing directives-end/doc-start indicator line");
this.decorate(doc, false);
if (this.doc)
yield this.doc;
this.doc = doc;
this.atDirectives = false;
break;
}
case "byte-order-mark":
case "space":
break;
case "comment":
case "newline":
this.prelude.push(token2.source);
break;
case "error": {
const msg = token2.source ? `${token2.message}: ${JSON.stringify(token2.source)}` : token2.message;
const error40 = new errors.YAMLParseError(getErrorPos(token2), "UNEXPECTED_TOKEN", msg);
if (this.atDirectives || !this.doc)
this.errors.push(error40);
else
this.doc.errors.push(error40);
break;
}
case "doc-end": {
if (!this.doc) {
const msg = "Unexpected doc-end without preceding document";
this.errors.push(new errors.YAMLParseError(getErrorPos(token2), "UNEXPECTED_TOKEN", msg));
break;
}
this.doc.directives.docEnd = true;
const end = resolveEnd.resolveEnd(token2.end, token2.offset + token2.source.length, this.doc.options.strict, this.onError);
this.decorate(this.doc, true);
if (end.comment) {
const dc = this.doc.comment;
this.doc.comment = dc ? `${dc}
${end.comment}` : end.comment;
}
this.doc.range[2] = end.offset;
break;
}
default:
this.errors.push(new errors.YAMLParseError(getErrorPos(token2), "UNEXPECTED_TOKEN", `Unsupported token ${token2.type}`));
}
}
/**
* Call at end of input to yield any remaining document.
*
* @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
* @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
*/
*end(forceDoc = false, endOffset = -1) {
if (this.doc) {
this.decorate(this.doc, true);
yield this.doc;
this.doc = null;
} else if (forceDoc) {
const opts = Object.assign({ _directives: this.directives }, this.options);
const doc = new Document2.Document(void 0, opts);
if (this.atDirectives)
this.onError(endOffset, "MISSING_CHAR", "Missing directives-end indicator line");
doc.range = [0, endOffset, endOffset];
this.decorate(doc, false);
yield doc;
}
}
};
exports2.Composer = Composer;
}
});
// node_modules/yaml/dist/parse/cst-scalar.js
var require_cst_scalar = __commonJS({
"node_modules/yaml/dist/parse/cst-scalar.js"(exports2) {
"use strict";
var resolveBlockScalar = require_resolve_block_scalar();
var resolveFlowScalar = require_resolve_flow_scalar();
var errors = require_errors();
var stringifyString = require_stringifyString();
function resolveAsScalar(token2, strict = true, onError2) {
if (token2) {
const _onError2 = (pos, code, message) => {
const offset = typeof pos === "number" ? pos : Array.isArray(pos) ? pos[0] : pos.offset;
if (onError2)
onError2(offset, code, message);
else
throw new errors.YAMLParseError([offset, offset + 1], code, message);
};
switch (token2.type) {
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return resolveFlowScalar.resolveFlowScalar(token2, strict, _onError2);
case "block-scalar":
return resolveBlockScalar.resolveBlockScalar({ options: { strict } }, token2, _onError2);
}
}
return null;
}
function createScalarToken(value, context2) {
const { implicitKey = false, indent, inFlow = false, offset = -1, type: type2 = "PLAIN" } = context2;
const source = stringifyString.stringifyString({ type: type2, value }, {
implicitKey,
indent: indent > 0 ? " ".repeat(indent) : "",
inFlow,
options: { blockQuote: true, lineWidth: -1 }
});
const end = context2.end ?? [
{ type: "newline", offset: -1, indent, source: "\n" }
];
switch (source[0]) {
case "|":
case ">": {
const he = source.indexOf("\n");
const head = source.substring(0, he);
const body2 = source.substring(he + 1) + "\n";
const props = [
{ type: "block-scalar-header", offset, indent, source: head }
];
if (!addEndtoBlockProps(props, end))
props.push({ type: "newline", offset: -1, indent, source: "\n" });
return { type: "block-scalar", offset, indent, props, source: body2 };
}
case '"':
return { type: "double-quoted-scalar", offset, indent, source, end };
case "'":
return { type: "single-quoted-scalar", offset, indent, source, end };
default:
return { type: "scalar", offset, indent, source, end };
}
}
function setScalarValue(token2, value, context2 = {}) {
let { afterKey = false, implicitKey = false, inFlow = false, type: type2 } = context2;
let indent = "indent" in token2 ? token2.indent : null;
if (afterKey && typeof indent === "number")
indent += 2;
if (!type2)
switch (token2.type) {
case "single-quoted-scalar":
type2 = "QUOTE_SINGLE";
break;
case "double-quoted-scalar":
type2 = "QUOTE_DOUBLE";
break;
case "block-scalar": {
const header = token2.props[0];
if (header.type !== "block-scalar-header")
throw new Error("Invalid block scalar header");
type2 = header.source[0] === ">" ? "BLOCK_FOLDED" : "BLOCK_LITERAL";
break;
}
default:
type2 = "PLAIN";
}
const source = stringifyString.stringifyString({ type: type2, value }, {
implicitKey: implicitKey || indent === null,
indent: indent !== null && indent > 0 ? " ".repeat(indent) : "",
inFlow,
options: { blockQuote: true, lineWidth: -1 }
});
switch (source[0]) {
case "|":
case ">":
setBlockScalarValue(token2, source);
break;
case '"':
setFlowScalarValue(token2, source, "double-quoted-scalar");
break;
case "'":
setFlowScalarValue(token2, source, "single-quoted-scalar");
break;
default:
setFlowScalarValue(token2, source, "scalar");
}
}
function setBlockScalarValue(token2, source) {
const he = source.indexOf("\n");
const head = source.substring(0, he);
const body2 = source.substring(he + 1) + "\n";
if (token2.type === "block-scalar") {
const header = token2.props[0];
if (header.type !== "block-scalar-header")
throw new Error("Invalid block scalar header");
header.source = head;
token2.source = body2;
} else {
const { offset } = token2;
const indent = "indent" in token2 ? token2.indent : -1;
const props = [
{ type: "block-scalar-header", offset, indent, source: head }
];
if (!addEndtoBlockProps(props, "end" in token2 ? token2.end : void 0))
props.push({ type: "newline", offset: -1, indent, source: "\n" });
for (const key of Object.keys(token2))
if (key !== "type" && key !== "offset")
delete token2[key];
Object.assign(token2, { type: "block-scalar", indent, props, source: body2 });
}
}
function addEndtoBlockProps(props, end) {
if (end)
for (const st of end)
switch (st.type) {
case "space":
case "comment":
props.push(st);
break;
case "newline":
props.push(st);
return true;
}
return false;
}
function setFlowScalarValue(token2, source, type2) {
switch (token2.type) {
case "scalar":
case "double-quoted-scalar":
case "single-quoted-scalar":
token2.type = type2;
token2.source = source;
break;
case "block-scalar": {
const end = token2.props.slice(1);
let oa = source.length;
if (token2.props[0].type === "block-scalar-header")
oa -= token2.props[0].source.length;
for (const tok of end)
tok.offset += oa;
delete token2.props;
Object.assign(token2, { type: type2, source, end });
break;
}
case "block-map":
case "block-seq": {
const offset = token2.offset + source.length;
const nl2 = { type: "newline", offset, indent: token2.indent, source: "\n" };
delete token2.items;
Object.assign(token2, { type: type2, source, end: [nl2] });
break;
}
default: {
const indent = "indent" in token2 ? token2.indent : -1;
const end = "end" in token2 && Array.isArray(token2.end) ? token2.end.filter((st) => st.type === "space" || st.type === "comment" || st.type === "newline") : [];
for (const key of Object.keys(token2))
if (key !== "type" && key !== "offset")
delete token2[key];
Object.assign(token2, { type: type2, indent, source, end });
}
}
}
exports2.createScalarToken = createScalarToken;
exports2.resolveAsScalar = resolveAsScalar;
exports2.setScalarValue = setScalarValue;
}
});
// node_modules/yaml/dist/parse/cst-stringify.js
var require_cst_stringify = __commonJS({
"node_modules/yaml/dist/parse/cst-stringify.js"(exports2) {
"use strict";
var stringify3 = (cst) => "type" in cst ? stringifyToken(cst) : stringifyItem(cst);
function stringifyToken(token2) {
switch (token2.type) {
case "block-scalar": {
let res = "";
for (const tok of token2.props)
res += stringifyToken(tok);
return res + token2.source;
}
case "block-map":
case "block-seq": {
let res = "";
for (const item of token2.items)
res += stringifyItem(item);
return res;
}
case "flow-collection": {
let res = token2.start.source;
for (const item of token2.items)
res += stringifyItem(item);
for (const st of token2.end)
res += st.source;
return res;
}
case "document": {
let res = stringifyItem(token2);
if (token2.end)
for (const st of token2.end)
res += st.source;
return res;
}
default: {
let res = token2.source;
if ("end" in token2 && token2.end)
for (const st of token2.end)
res += st.source;
return res;
}
}
}
function stringifyItem({ start: start2, key, sep: sep8, value }) {
let res = "";
for (const st of start2)
res += st.source;
if (key)
res += stringifyToken(key);
if (sep8)
for (const st of sep8)
res += st.source;
if (value)
res += stringifyToken(value);
return res;
}
exports2.stringify = stringify3;
}
});
// node_modules/yaml/dist/parse/cst-visit.js
var require_cst_visit = __commonJS({
"node_modules/yaml/dist/parse/cst-visit.js"(exports2) {
"use strict";
var BREAK = Symbol("break visit");
var SKIP = Symbol("skip children");
var REMOVE = Symbol("remove item");
function visit(cst, visitor) {
if ("type" in cst && cst.type === "document")
cst = { start: cst.start, value: cst.value };
_visit(Object.freeze([]), cst, visitor);
}
visit.BREAK = BREAK;
visit.SKIP = SKIP;
visit.REMOVE = REMOVE;
visit.itemAtPath = (cst, path101) => {
let item = cst;
for (const [field, index] of path101) {
const tok = item?.[field];
if (tok && "items" in tok) {
item = tok.items[index];
} else
return void 0;
}
return item;
};
visit.parentCollection = (cst, path101) => {
const parent = visit.itemAtPath(cst, path101.slice(0, -1));
const field = path101[path101.length - 1][0];
const coll = parent?.[field];
if (coll && "items" in coll)
return coll;
throw new Error("Parent collection not found");
};
function _visit(path101, item, visitor) {
let ctrl = visitor(item, path101);
if (typeof ctrl === "symbol")
return ctrl;
for (const field of ["key", "value"]) {
const token2 = item[field];
if (token2 && "items" in token2) {
for (let i3 = 0; i3 < token2.items.length; ++i3) {
const ci = _visit(Object.freeze(path101.concat([[field, i3]])), token2.items[i3], visitor);
if (typeof ci === "number")
i3 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
token2.items.splice(i3, 1);
i3 -= 1;
}
}
if (typeof ctrl === "function" && field === "key")
ctrl = ctrl(item, path101);
}
}
return typeof ctrl === "function" ? ctrl(item, path101) : ctrl;
}
exports2.visit = visit;
}
});
// node_modules/yaml/dist/parse/cst.js
var require_cst = __commonJS({
"node_modules/yaml/dist/parse/cst.js"(exports2) {
"use strict";
var cstScalar = require_cst_scalar();
var cstStringify = require_cst_stringify();
var cstVisit = require_cst_visit();
var BOM = "\uFEFF";
var DOCUMENT = "";
var FLOW_END = "";
var SCALAR = "";
var isCollection = (token2) => !!token2 && "items" in token2;
var isScalar = (token2) => !!token2 && (token2.type === "scalar" || token2.type === "single-quoted-scalar" || token2.type === "double-quoted-scalar" || token2.type === "block-scalar");
function prettyToken(token2) {
switch (token2) {
case BOM:
return "<BOM>";
case DOCUMENT:
return "<DOC>";
case FLOW_END:
return "<FLOW_END>";
case SCALAR:
return "<SCALAR>";
default:
return JSON.stringify(token2);
}
}
function tokenType(source) {
switch (source) {
case BOM:
return "byte-order-mark";
case DOCUMENT:
return "doc-mode";
case FLOW_END:
return "flow-error-end";
case SCALAR:
return "scalar";
case "---":
return "doc-start";
case "...":
return "doc-end";
case "":
case "\n":
case "\r\n":
return "newline";
case "-":
return "seq-item-ind";
case "?":
return "explicit-key-ind";
case ":":
return "map-value-ind";
case "{":
return "flow-map-start";
case "}":
return "flow-map-end";
case "[":
return "flow-seq-start";
case "]":
return "flow-seq-end";
case ",":
return "comma";
}
switch (source[0]) {
case " ":
case " ":
return "space";
case "#":
return "comment";
case "%":
return "directive-line";
case "*":
return "alias";
case "&":
return "anchor";
case "!":
return "tag";
case "'":
return "single-quoted-scalar";
case '"':
return "double-quoted-scalar";
case "|":
case ">":
return "block-scalar-header";
}
return null;
}
exports2.createScalarToken = cstScalar.createScalarToken;
exports2.resolveAsScalar = cstScalar.resolveAsScalar;
exports2.setScalarValue = cstScalar.setScalarValue;
exports2.stringify = cstStringify.stringify;
exports2.visit = cstVisit.visit;
exports2.BOM = BOM;
exports2.DOCUMENT = DOCUMENT;
exports2.FLOW_END = FLOW_END;
exports2.SCALAR = SCALAR;
exports2.isCollection = isCollection;
exports2.isScalar = isScalar;
exports2.prettyToken = prettyToken;
exports2.tokenType = tokenType;
}
});
// node_modules/yaml/dist/parse/lexer.js
var require_lexer = __commonJS({
"node_modules/yaml/dist/parse/lexer.js"(exports2) {
"use strict";
var cst = require_cst();
function isEmpty2(ch) {
switch (ch) {
case void 0:
case " ":
case "\n":
case "\r":
case " ":
return true;
default:
return false;
}
}
var hexDigits = new Set("0123456789ABCDEFabcdef");
var tagChars = new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()");
var flowIndicatorChars = new Set(",[]{}");
var invalidAnchorChars = new Set(" ,[]{}\n\r ");
var isNotAnchorChar = (ch) => !ch || invalidAnchorChars.has(ch);
var Lexer = class {
constructor() {
this.atEnd = false;
this.blockScalarIndent = -1;
this.blockScalarKeep = false;
this.buffer = "";
this.flowKey = false;
this.flowLevel = 0;
this.indentNext = 0;
this.indentValue = 0;
this.lineEndPos = null;
this.next = null;
this.pos = 0;
}
/**
* Generate YAML tokens from the `source` string. If `incomplete`,
* a part of the last line may be left as a buffer for the next call.
*
* @returns A generator of lexical tokens
*/
*lex(source, incomplete = false) {
if (source) {
if (typeof source !== "string")
throw TypeError("source is not a string");
this.buffer = this.buffer ? this.buffer + source : source;
this.lineEndPos = null;
}
this.atEnd = !incomplete;
let next = this.next ?? "stream";
while (next && (incomplete || this.hasChars(1)))
next = yield* this.parseNext(next);
}
atLineEnd() {
let i3 = this.pos;
let ch = this.buffer[i3];
while (ch === " " || ch === " ")
ch = this.buffer[++i3];
if (!ch || ch === "#" || ch === "\n")
return true;
if (ch === "\r")
return this.buffer[i3 + 1] === "\n";
return false;
}
charAt(n3) {
return this.buffer[this.pos + n3];
}
continueScalar(offset) {
let ch = this.buffer[offset];
if (this.indentNext > 0) {
let indent = 0;
while (ch === " ")
ch = this.buffer[++indent + offset];
if (ch === "\r") {
const next = this.buffer[indent + offset + 1];
if (next === "\n" || !next && !this.atEnd)
return offset + indent + 1;
}
return ch === "\n" || indent >= this.indentNext || !ch && !this.atEnd ? offset + indent : -1;
}
if (ch === "-" || ch === ".") {
const dt = this.buffer.substr(offset, 3);
if ((dt === "---" || dt === "...") && isEmpty2(this.buffer[offset + 3]))
return -1;
}
return offset;
}
getLine() {
let end = this.lineEndPos;
if (typeof end !== "number" || end !== -1 && end < this.pos) {
end = this.buffer.indexOf("\n", this.pos);
this.lineEndPos = end;
}
if (end === -1)
return this.atEnd ? this.buffer.substring(this.pos) : null;
if (this.buffer[end - 1] === "\r")
end -= 1;
return this.buffer.substring(this.pos, end);
}
hasChars(n3) {
return this.pos + n3 <= this.buffer.length;
}
setNext(state) {
this.buffer = this.buffer.substring(this.pos);
this.pos = 0;
this.lineEndPos = null;
this.next = state;
return null;
}
peek(n3) {
return this.buffer.substr(this.pos, n3);
}
*parseNext(next) {
switch (next) {
case "stream":
return yield* this.parseStream();
case "line-start":
return yield* this.parseLineStart();
case "block-start":
return yield* this.parseBlockStart();
case "doc":
return yield* this.parseDocument();
case "flow":
return yield* this.parseFlowCollection();
case "quoted-scalar":
return yield* this.parseQuotedScalar();
case "block-scalar":
return yield* this.parseBlockScalar();
case "plain-scalar":
return yield* this.parsePlainScalar();
}
}
*parseStream() {
let line = this.getLine();
if (line === null)
return this.setNext("stream");
if (line[0] === cst.BOM) {
yield* this.pushCount(1);
line = line.substring(1);
}
if (line[0] === "%") {
let dirEnd = line.length;
let cs = line.indexOf("#");
while (cs !== -1) {
const ch = line[cs - 1];
if (ch === " " || ch === " ") {
dirEnd = cs - 1;
break;
} else {
cs = line.indexOf("#", cs + 1);
}
}
while (true) {
const ch = line[dirEnd - 1];
if (ch === " " || ch === " ")
dirEnd -= 1;
else
break;
}
const n3 = (yield* this.pushCount(dirEnd)) + (yield* this.pushSpaces(true));
yield* this.pushCount(line.length - n3);
this.pushNewline();
return "stream";
}
if (this.atLineEnd()) {
const sp3 = yield* this.pushSpaces(true);
yield* this.pushCount(line.length - sp3);
yield* this.pushNewline();
return "stream";
}
yield cst.DOCUMENT;
return yield* this.parseLineStart();
}
*parseLineStart() {
const ch = this.charAt(0);
if (!ch && !this.atEnd)
return this.setNext("line-start");
if (ch === "-" || ch === ".") {
if (!this.atEnd && !this.hasChars(4))
return this.setNext("line-start");
const s2 = this.peek(3);
if ((s2 === "---" || s2 === "...") && isEmpty2(this.charAt(3))) {
yield* this.pushCount(3);
this.indentValue = 0;
this.indentNext = 0;
return s2 === "---" ? "doc" : "stream";
}
}
this.indentValue = yield* this.pushSpaces(false);
if (this.indentNext > this.indentValue && !isEmpty2(this.charAt(1)))
this.indentNext = this.indentValue;
return yield* this.parseBlockStart();
}
*parseBlockStart() {
const [ch0, ch1] = this.peek(2);
if (!ch1 && !this.atEnd)
return this.setNext("block-start");
if ((ch0 === "-" || ch0 === "?" || ch0 === ":") && isEmpty2(ch1)) {
const n3 = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true));
this.indentNext = this.indentValue + 1;
this.indentValue += n3;
return yield* this.parseBlockStart();
}
return "doc";
}
*parseDocument() {
yield* this.pushSpaces(true);
const line = this.getLine();
if (line === null)
return this.setNext("doc");
let n3 = yield* this.pushIndicators();
switch (line[n3]) {
case "#":
yield* this.pushCount(line.length - n3);
// fallthrough
case void 0:
yield* this.pushNewline();
return yield* this.parseLineStart();
case "{":
case "[":
yield* this.pushCount(1);
this.flowKey = false;
this.flowLevel = 1;
return "flow";
case "}":
case "]":
yield* this.pushCount(1);
return "doc";
case "*":
yield* this.pushUntil(isNotAnchorChar);
return "doc";
case '"':
case "'":
return yield* this.parseQuotedScalar();
case "|":
case ">":
n3 += yield* this.parseBlockScalarHeader();
n3 += yield* this.pushSpaces(true);
yield* this.pushCount(line.length - n3);
yield* this.pushNewline();
return yield* this.parseBlockScalar();
default:
return yield* this.parsePlainScalar();
}
}
*parseFlowCollection() {
let nl2, sp3;
let indent = -1;
do {
nl2 = yield* this.pushNewline();
if (nl2 > 0) {
sp3 = yield* this.pushSpaces(false);
this.indentValue = indent = sp3;
} else {
sp3 = 0;
}
sp3 += yield* this.pushSpaces(true);
} while (nl2 + sp3 > 0);
const line = this.getLine();
if (line === null)
return this.setNext("flow");
if (indent !== -1 && indent < this.indentNext && line[0] !== "#" || indent === 0 && (line.startsWith("---") || line.startsWith("...")) && isEmpty2(line[3])) {
const atFlowEndMarker = indent === this.indentNext - 1 && this.flowLevel === 1 && (line[0] === "]" || line[0] === "}");
if (!atFlowEndMarker) {
this.flowLevel = 0;
yield cst.FLOW_END;
return yield* this.parseLineStart();
}
}
let n3 = 0;
while (line[n3] === ",") {
n3 += yield* this.pushCount(1);
n3 += yield* this.pushSpaces(true);
this.flowKey = false;
}
n3 += yield* this.pushIndicators();
switch (line[n3]) {
case void 0:
return "flow";
case "#":
yield* this.pushCount(line.length - n3);
return "flow";
case "{":
case "[":
yield* this.pushCount(1);
this.flowKey = false;
this.flowLevel += 1;
return "flow";
case "}":
case "]":
yield* this.pushCount(1);
this.flowKey = true;
this.flowLevel -= 1;
return this.flowLevel ? "flow" : "doc";
case "*":
yield* this.pushUntil(isNotAnchorChar);
return "flow";
case '"':
case "'":
this.flowKey = true;
return yield* this.parseQuotedScalar();
case ":": {
const next = this.charAt(1);
if (this.flowKey || isEmpty2(next) || next === ",") {
this.flowKey = false;
yield* this.pushCount(1);
yield* this.pushSpaces(true);
return "flow";
}
}
// fallthrough
default:
this.flowKey = false;
return yield* this.parsePlainScalar();
}
}
*parseQuotedScalar() {
const quote2 = this.charAt(0);
let end = this.buffer.indexOf(quote2, this.pos + 1);
if (quote2 === "'") {
while (end !== -1 && this.buffer[end + 1] === "'")
end = this.buffer.indexOf("'", end + 2);
} else {
while (end !== -1) {
let n3 = 0;
while (this.buffer[end - 1 - n3] === "\\")
n3 += 1;
if (n3 % 2 === 0)
break;
end = this.buffer.indexOf('"', end + 1);
}
}
const qb = this.buffer.substring(0, end);
let nl2 = qb.indexOf("\n", this.pos);
if (nl2 !== -1) {
while (nl2 !== -1) {
const cs = this.continueScalar(nl2 + 1);
if (cs === -1)
break;
nl2 = qb.indexOf("\n", cs);
}
if (nl2 !== -1) {
end = nl2 - (qb[nl2 - 1] === "\r" ? 2 : 1);
}
}
if (end === -1) {
if (!this.atEnd)
return this.setNext("quoted-scalar");
end = this.buffer.length;
}
yield* this.pushToIndex(end + 1, false);
return this.flowLevel ? "flow" : "doc";
}
*parseBlockScalarHeader() {
this.blockScalarIndent = -1;
this.blockScalarKeep = false;
let i3 = this.pos;
while (true) {
const ch = this.buffer[++i3];
if (ch === "+")
this.blockScalarKeep = true;
else if (ch > "0" && ch <= "9")
this.blockScalarIndent = Number(ch) - 1;
else if (ch !== "-")
break;
}
return yield* this.pushUntil((ch) => isEmpty2(ch) || ch === "#");
}
*parseBlockScalar() {
let nl2 = this.pos - 1;
let indent = 0;
let ch;
loop: for (let i4 = this.pos; ch = this.buffer[i4]; ++i4) {
switch (ch) {
case " ":
indent += 1;
break;
case "\n":
nl2 = i4;
indent = 0;
break;
case "\r": {
const next = this.buffer[i4 + 1];
if (!next && !this.atEnd)
return this.setNext("block-scalar");
if (next === "\n")
break;
}
// fallthrough
default:
break loop;
}
}
if (!ch && !this.atEnd)
return this.setNext("block-scalar");
if (indent >= this.indentNext) {
if (this.blockScalarIndent === -1)
this.indentNext = indent;
else {
this.indentNext = this.blockScalarIndent + (this.indentNext === 0 ? 1 : this.indentNext);
}
do {
const cs = this.continueScalar(nl2 + 1);
if (cs === -1)
break;
nl2 = this.buffer.indexOf("\n", cs);
} while (nl2 !== -1);
if (nl2 === -1) {
if (!this.atEnd)
return this.setNext("block-scalar");
nl2 = this.buffer.length;
}
}
let i3 = nl2 + 1;
ch = this.buffer[i3];
while (ch === " ")
ch = this.buffer[++i3];
if (ch === " ") {
while (ch === " " || ch === " " || ch === "\r" || ch === "\n")
ch = this.buffer[++i3];
nl2 = i3 - 1;
} else if (!this.blockScalarKeep) {
do {
let i4 = nl2 - 1;
let ch2 = this.buffer[i4];
if (ch2 === "\r")
ch2 = this.buffer[--i4];
const lastChar = i4;
while (ch2 === " ")
ch2 = this.buffer[--i4];
if (ch2 === "\n" && i4 >= this.pos && i4 + 1 + indent > lastChar)
nl2 = i4;
else
break;
} while (true);
}
yield cst.SCALAR;
yield* this.pushToIndex(nl2 + 1, true);
return yield* this.parseLineStart();
}
*parsePlainScalar() {
const inFlow = this.flowLevel > 0;
let end = this.pos - 1;
let i3 = this.pos - 1;
let ch;
while (ch = this.buffer[++i3]) {
if (ch === ":") {
const next = this.buffer[i3 + 1];
if (isEmpty2(next) || inFlow && flowIndicatorChars.has(next))
break;
end = i3;
} else if (isEmpty2(ch)) {
let next = this.buffer[i3 + 1];
if (ch === "\r") {
if (next === "\n") {
i3 += 1;
ch = "\n";
next = this.buffer[i3 + 1];
} else
end = i3;
}
if (next === "#" || inFlow && flowIndicatorChars.has(next))
break;
if (ch === "\n") {
const cs = this.continueScalar(i3 + 1);
if (cs === -1)
break;
i3 = Math.max(i3, cs - 2);
}
} else {
if (inFlow && flowIndicatorChars.has(ch))
break;
end = i3;
}
}
if (!ch && !this.atEnd)
return this.setNext("plain-scalar");
yield cst.SCALAR;
yield* this.pushToIndex(end + 1, true);
return inFlow ? "flow" : "doc";
}
*pushCount(n3) {
if (n3 > 0) {
yield this.buffer.substr(this.pos, n3);
this.pos += n3;
return n3;
}
return 0;
}
*pushToIndex(i3, allowEmpty) {
const s2 = this.buffer.slice(this.pos, i3);
if (s2) {
yield s2;
this.pos += s2.length;
return s2.length;
} else if (allowEmpty)
yield "";
return 0;
}
*pushIndicators() {
switch (this.charAt(0)) {
case "!":
return (yield* this.pushTag()) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators());
case "&":
return (yield* this.pushUntil(isNotAnchorChar)) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators());
case "-":
// this is an error
case "?":
// this is an error outside flow collections
case ":": {
const inFlow = this.flowLevel > 0;
const ch1 = this.charAt(1);
if (isEmpty2(ch1) || inFlow && flowIndicatorChars.has(ch1)) {
if (!inFlow)
this.indentNext = this.indentValue + 1;
else if (this.flowKey)
this.flowKey = false;
return (yield* this.pushCount(1)) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators());
}
}
}
return 0;
}
*pushTag() {
if (this.charAt(1) === "<") {
let i3 = this.pos + 2;
let ch = this.buffer[i3];
while (!isEmpty2(ch) && ch !== ">")
ch = this.buffer[++i3];
return yield* this.pushToIndex(ch === ">" ? i3 + 1 : i3, false);
} else {
let i3 = this.pos + 1;
let ch = this.buffer[i3];
while (ch) {
if (tagChars.has(ch))
ch = this.buffer[++i3];
else if (ch === "%" && hexDigits.has(this.buffer[i3 + 1]) && hexDigits.has(this.buffer[i3 + 2])) {
ch = this.buffer[i3 += 3];
} else
break;
}
return yield* this.pushToIndex(i3, false);
}
}
*pushNewline() {
const ch = this.buffer[this.pos];
if (ch === "\n")
return yield* this.pushCount(1);
else if (ch === "\r" && this.charAt(1) === "\n")
return yield* this.pushCount(2);
else
return 0;
}
*pushSpaces(allowTabs) {
let i3 = this.pos - 1;
let ch;
do {
ch = this.buffer[++i3];
} while (ch === " " || allowTabs && ch === " ");
const n3 = i3 - this.pos;
if (n3 > 0) {
yield this.buffer.substr(this.pos, n3);
this.pos = i3;
}
return n3;
}
*pushUntil(test) {
let i3 = this.pos;
let ch = this.buffer[i3];
while (!test(ch))
ch = this.buffer[++i3];
return yield* this.pushToIndex(i3, false);
}
};
exports2.Lexer = Lexer;
}
});
// node_modules/yaml/dist/parse/line-counter.js
var require_line_counter = __commonJS({
"node_modules/yaml/dist/parse/line-counter.js"(exports2) {
"use strict";
var LineCounter = class {
constructor() {
this.lineStarts = [];
this.addNewLine = (offset) => this.lineStarts.push(offset);
this.linePos = (offset) => {
let low = 0;
let high = this.lineStarts.length;
while (low < high) {
const mid = low + high >> 1;
if (this.lineStarts[mid] < offset)
low = mid + 1;
else
high = mid;
}
if (this.lineStarts[low] === offset)
return { line: low + 1, col: 1 };
if (low === 0)
return { line: 0, col: offset };
const start2 = this.lineStarts[low - 1];
return { line: low, col: offset - start2 + 1 };
};
}
};
exports2.LineCounter = LineCounter;
}
});
// node_modules/yaml/dist/parse/parser.js
var require_parser2 = __commonJS({
"node_modules/yaml/dist/parse/parser.js"(exports2) {
"use strict";
var node_process = __require("process");
var cst = require_cst();
var lexer = require_lexer();
function includesToken(list, type2) {
for (let i3 = 0; i3 < list.length; ++i3)
if (list[i3].type === type2)
return true;
return false;
}
function findNonEmptyIndex(list) {
for (let i3 = 0; i3 < list.length; ++i3) {
switch (list[i3].type) {
case "space":
case "comment":
case "newline":
break;
default:
return i3;
}
}
return -1;
}
function isFlowToken(token2) {
switch (token2?.type) {
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
case "flow-collection":
return true;
default:
return false;
}
}
function getPrevProps(parent) {
switch (parent.type) {
case "document":
return parent.start;
case "block-map": {
const it = parent.items[parent.items.length - 1];
return it.sep ?? it.start;
}
case "block-seq":
return parent.items[parent.items.length - 1].start;
/* istanbul ignore next should not happen */
default:
return [];
}
}
function getFirstKeyStartProps(prev) {
if (prev.length === 0)
return [];
let i3 = prev.length;
loop: while (--i3 >= 0) {
switch (prev[i3].type) {
case "doc-start":
case "explicit-key-ind":
case "map-value-ind":
case "seq-item-ind":
case "newline":
break loop;
}
}
while (prev[++i3]?.type === "space") {
}
return prev.splice(i3, prev.length);
}
function fixFlowSeqItems(fc) {
if (fc.start.type === "flow-seq-start") {
for (const it of fc.items) {
if (it.sep && !it.value && !includesToken(it.start, "explicit-key-ind") && !includesToken(it.sep, "map-value-ind")) {
if (it.key)
it.value = it.key;
delete it.key;
if (isFlowToken(it.value)) {
if (it.value.end)
Array.prototype.push.apply(it.value.end, it.sep);
else
it.value.end = it.sep;
} else
Array.prototype.push.apply(it.start, it.sep);
delete it.sep;
}
}
}
}
var Parser3 = class {
/**
* @param onNewLine - If defined, called separately with the start position of
* each new line (in `parse()`, including the start of input).
*/
constructor(onNewLine) {
this.atNewLine = true;
this.atScalar = false;
this.indent = 0;
this.offset = 0;
this.onKeyLine = false;
this.stack = [];
this.source = "";
this.type = "";
this.lexer = new lexer.Lexer();
this.onNewLine = onNewLine;
}
/**
* Parse `source` as a YAML stream.
* If `incomplete`, a part of the last line may be left as a buffer for the next call.
*
* Errors are not thrown, but yielded as `{ type: 'error', message }` tokens.
*
* @returns A generator of tokens representing each directive, document, and other structure.
*/
*parse(source, incomplete = false) {
if (this.onNewLine && this.offset === 0)
this.onNewLine(0);
for (const lexeme of this.lexer.lex(source, incomplete))
yield* this.next(lexeme);
if (!incomplete)
yield* this.end();
}
/**
* Advance the parser by the `source` of one lexical token.
*/
*next(source) {
this.source = source;
if (node_process.env.LOG_TOKENS)
console.log("|", cst.prettyToken(source));
if (this.atScalar) {
this.atScalar = false;
yield* this.step();
this.offset += source.length;
return;
}
const type2 = cst.tokenType(source);
if (!type2) {
const message = `Not a YAML token: ${source}`;
yield* this.pop({ type: "error", offset: this.offset, message, source });
this.offset += source.length;
} else if (type2 === "scalar") {
this.atNewLine = false;
this.atScalar = true;
this.type = "scalar";
} else {
this.type = type2;
yield* this.step();
switch (type2) {
case "newline":
this.atNewLine = true;
this.indent = 0;
if (this.onNewLine)
this.onNewLine(this.offset + source.length);
break;
case "space":
if (this.atNewLine && source[0] === " ")
this.indent += source.length;
break;
case "explicit-key-ind":
case "map-value-ind":
case "seq-item-ind":
if (this.atNewLine)
this.indent += source.length;
break;
case "doc-mode":
case "flow-error-end":
return;
default:
this.atNewLine = false;
}
this.offset += source.length;
}
}
/** Call at end of input to push out any remaining constructions */
*end() {
while (this.stack.length > 0)
yield* this.pop();
}
get sourceToken() {
const st = {
type: this.type,
offset: this.offset,
indent: this.indent,
source: this.source
};
return st;
}
*step() {
const top = this.peek(1);
if (this.type === "doc-end" && top?.type !== "doc-end") {
while (this.stack.length > 0)
yield* this.pop();
this.stack.push({
type: "doc-end",
offset: this.offset,
source: this.source
});
return;
}
if (!top)
return yield* this.stream();
switch (top.type) {
case "document":
return yield* this.document(top);
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return yield* this.scalar(top);
case "block-scalar":
return yield* this.blockScalar(top);
case "block-map":
return yield* this.blockMap(top);
case "block-seq":
return yield* this.blockSequence(top);
case "flow-collection":
return yield* this.flowCollection(top);
case "doc-end":
return yield* this.documentEnd(top);
}
yield* this.pop();
}
peek(n3) {
return this.stack[this.stack.length - n3];
}
*pop(error40) {
const token2 = error40 ?? this.stack.pop();
if (!token2) {
const message = "Tried to pop an empty stack";
yield { type: "error", offset: this.offset, source: "", message };
} else if (this.stack.length === 0) {
yield token2;
} else {
const top = this.peek(1);
if (token2.type === "block-scalar") {
token2.indent = "indent" in top ? top.indent : 0;
} else if (token2.type === "flow-collection" && top.type === "document") {
token2.indent = 0;
}
if (token2.type === "flow-collection")
fixFlowSeqItems(token2);
switch (top.type) {
case "document":
top.value = token2;
break;
case "block-scalar":
top.props.push(token2);
break;
case "block-map": {
const it = top.items[top.items.length - 1];
if (it.value) {
top.items.push({ start: [], key: token2, sep: [] });
this.onKeyLine = true;
return;
} else if (it.sep) {
it.value = token2;
} else {
Object.assign(it, { key: token2, sep: [] });
this.onKeyLine = !it.explicitKey;
return;
}
break;
}
case "block-seq": {
const it = top.items[top.items.length - 1];
if (it.value)
top.items.push({ start: [], value: token2 });
else
it.value = token2;
break;
}
case "flow-collection": {
const it = top.items[top.items.length - 1];
if (!it || it.value)
top.items.push({ start: [], key: token2, sep: [] });
else if (it.sep)
it.value = token2;
else
Object.assign(it, { key: token2, sep: [] });
return;
}
/* istanbul ignore next should not happen */
default:
yield* this.pop();
yield* this.pop(token2);
}
if ((top.type === "document" || top.type === "block-map" || top.type === "block-seq") && (token2.type === "block-map" || token2.type === "block-seq")) {
const last2 = token2.items[token2.items.length - 1];
if (last2 && !last2.sep && !last2.value && last2.start.length > 0 && findNonEmptyIndex(last2.start) === -1 && (token2.indent === 0 || last2.start.every((st) => st.type !== "comment" || st.indent < token2.indent))) {
if (top.type === "document")
top.end = last2.start;
else
top.items.push({ start: last2.start });
token2.items.splice(-1, 1);
}
}
}
}
*stream() {
switch (this.type) {
case "directive-line":
yield { type: "directive", offset: this.offset, source: this.source };
return;
case "byte-order-mark":
case "space":
case "comment":
case "newline":
yield this.sourceToken;
return;
case "doc-mode":
case "doc-start": {
const doc = {
type: "document",
offset: this.offset,
start: []
};
if (this.type === "doc-start")
doc.start.push(this.sourceToken);
this.stack.push(doc);
return;
}
}
yield {
type: "error",
offset: this.offset,
message: `Unexpected ${this.type} token in YAML stream`,
source: this.source
};
}
*document(doc) {
if (doc.value)
return yield* this.lineEnd(doc);
switch (this.type) {
case "doc-start": {
if (findNonEmptyIndex(doc.start) !== -1) {
yield* this.pop();
yield* this.step();
} else
doc.start.push(this.sourceToken);
return;
}
case "anchor":
case "tag":
case "space":
case "comment":
case "newline":
doc.start.push(this.sourceToken);
return;
}
const bv = this.startBlockValue(doc);
if (bv)
this.stack.push(bv);
else {
yield {
type: "error",
offset: this.offset,
message: `Unexpected ${this.type} token in YAML document`,
source: this.source
};
}
}
*scalar(scalar) {
if (this.type === "map-value-ind") {
const prev = getPrevProps(this.peek(2));
const start2 = getFirstKeyStartProps(prev);
let sep8;
if (scalar.end) {
sep8 = scalar.end;
sep8.push(this.sourceToken);
delete scalar.end;
} else
sep8 = [this.sourceToken];
const map4 = {
type: "block-map",
offset: scalar.offset,
indent: scalar.indent,
items: [{ start: start2, key: scalar, sep: sep8 }]
};
this.onKeyLine = true;
this.stack[this.stack.length - 1] = map4;
} else
yield* this.lineEnd(scalar);
}
*blockScalar(scalar) {
switch (this.type) {
case "space":
case "comment":
case "newline":
scalar.props.push(this.sourceToken);
return;
case "scalar":
scalar.source = this.source;
this.atNewLine = true;
this.indent = 0;
if (this.onNewLine) {
let nl2 = this.source.indexOf("\n") + 1;
while (nl2 !== 0) {
this.onNewLine(this.offset + nl2);
nl2 = this.source.indexOf("\n", nl2) + 1;
}
}
yield* this.pop();
break;
/* istanbul ignore next should not happen */
default:
yield* this.pop();
yield* this.step();
}
}
*blockMap(map4) {
const it = map4.items[map4.items.length - 1];
switch (this.type) {
case "newline":
this.onKeyLine = false;
if (it.value) {
const end = "end" in it.value ? it.value.end : void 0;
const last2 = Array.isArray(end) ? end[end.length - 1] : void 0;
if (last2?.type === "comment")
end?.push(this.sourceToken);
else
map4.items.push({ start: [this.sourceToken] });
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
it.start.push(this.sourceToken);
}
return;
case "space":
case "comment":
if (it.value) {
map4.items.push({ start: [this.sourceToken] });
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
if (this.atIndentedComment(it.start, map4.indent)) {
const prev = map4.items[map4.items.length - 2];
const end = prev?.value?.end;
if (Array.isArray(end)) {
Array.prototype.push.apply(end, it.start);
end.push(this.sourceToken);
map4.items.pop();
return;
}
}
it.start.push(this.sourceToken);
}
return;
}
if (this.indent >= map4.indent) {
const atMapIndent = !this.onKeyLine && this.indent === map4.indent;
const atNextItem = atMapIndent && (it.sep || it.explicitKey) && this.type !== "seq-item-ind";
let start2 = [];
if (atNextItem && it.sep && !it.value) {
const nl2 = [];
for (let i3 = 0; i3 < it.sep.length; ++i3) {
const st = it.sep[i3];
switch (st.type) {
case "newline":
nl2.push(i3);
break;
case "space":
break;
case "comment":
if (st.indent > map4.indent)
nl2.length = 0;
break;
default:
nl2.length = 0;
}
}
if (nl2.length >= 2)
start2 = it.sep.splice(nl2[1]);
}
switch (this.type) {
case "anchor":
case "tag":
if (atNextItem || it.value) {
start2.push(this.sourceToken);
map4.items.push({ start: start2 });
this.onKeyLine = true;
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
it.start.push(this.sourceToken);
}
return;
case "explicit-key-ind":
if (!it.sep && !it.explicitKey) {
it.start.push(this.sourceToken);
it.explicitKey = true;
} else if (atNextItem || it.value) {
start2.push(this.sourceToken);
map4.items.push({ start: start2, explicitKey: true });
} else {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: [this.sourceToken], explicitKey: true }]
});
}
this.onKeyLine = true;
return;
case "map-value-ind":
if (it.explicitKey) {
if (!it.sep) {
if (includesToken(it.start, "newline")) {
Object.assign(it, { key: null, sep: [this.sourceToken] });
} else {
const start3 = getFirstKeyStartProps(it.start);
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start3, key: null, sep: [this.sourceToken] }]
});
}
} else if (it.value) {
map4.items.push({ start: [], key: null, sep: [this.sourceToken] });
} else if (includesToken(it.sep, "map-value-ind")) {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start2, key: null, sep: [this.sourceToken] }]
});
} else if (isFlowToken(it.key) && !includesToken(it.sep, "newline")) {
const start3 = getFirstKeyStartProps(it.start);
const key = it.key;
const sep8 = it.sep;
sep8.push(this.sourceToken);
delete it.key;
delete it.sep;
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start3, key, sep: sep8 }]
});
} else if (start2.length > 0) {
it.sep = it.sep.concat(start2, this.sourceToken);
} else {
it.sep.push(this.sourceToken);
}
} else {
if (!it.sep) {
Object.assign(it, { key: null, sep: [this.sourceToken] });
} else if (it.value || atNextItem) {
map4.items.push({ start: start2, key: null, sep: [this.sourceToken] });
} else if (includesToken(it.sep, "map-value-ind")) {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: [], key: null, sep: [this.sourceToken] }]
});
} else {
it.sep.push(this.sourceToken);
}
}
this.onKeyLine = true;
return;
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar": {
const fs84 = this.flowScalar(this.type);
if (atNextItem || it.value) {
map4.items.push({ start: start2, key: fs84, sep: [] });
this.onKeyLine = true;
} else if (it.sep) {
this.stack.push(fs84);
} else {
Object.assign(it, { key: fs84, sep: [] });
this.onKeyLine = true;
}
return;
}
default: {
const bv = this.startBlockValue(map4);
if (bv) {
if (bv.type === "block-seq") {
if (!it.explicitKey && it.sep && !includesToken(it.sep, "newline")) {
yield* this.pop({
type: "error",
offset: this.offset,
message: "Unexpected block-seq-ind on same line with key",
source: this.source
});
return;
}
} else if (atMapIndent) {
map4.items.push({ start: start2 });
}
this.stack.push(bv);
return;
}
}
}
}
yield* this.pop();
yield* this.step();
}
*blockSequence(seq2) {
const it = seq2.items[seq2.items.length - 1];
switch (this.type) {
case "newline":
if (it.value) {
const end = "end" in it.value ? it.value.end : void 0;
const last2 = Array.isArray(end) ? end[end.length - 1] : void 0;
if (last2?.type === "comment")
end?.push(this.sourceToken);
else
seq2.items.push({ start: [this.sourceToken] });
} else
it.start.push(this.sourceToken);
return;
case "space":
case "comment":
if (it.value)
seq2.items.push({ start: [this.sourceToken] });
else {
if (this.atIndentedComment(it.start, seq2.indent)) {
const prev = seq2.items[seq2.items.length - 2];
const end = prev?.value?.end;
if (Array.isArray(end)) {
Array.prototype.push.apply(end, it.start);
end.push(this.sourceToken);
seq2.items.pop();
return;
}
}
it.start.push(this.sourceToken);
}
return;
case "anchor":
case "tag":
if (it.value || this.indent <= seq2.indent)
break;
it.start.push(this.sourceToken);
return;
case "seq-item-ind":
if (this.indent !== seq2.indent)
break;
if (it.value || includesToken(it.start, "seq-item-ind"))
seq2.items.push({ start: [this.sourceToken] });
else
it.start.push(this.sourceToken);
return;
}
if (this.indent > seq2.indent) {
const bv = this.startBlockValue(seq2);
if (bv) {
this.stack.push(bv);
return;
}
}
yield* this.pop();
yield* this.step();
}
*flowCollection(fc) {
const it = fc.items[fc.items.length - 1];
if (this.type === "flow-error-end") {
let top;
do {
yield* this.pop();
top = this.peek(1);
} while (top?.type === "flow-collection");
} else if (fc.end.length === 0) {
switch (this.type) {
case "comma":
case "explicit-key-ind":
if (!it || it.sep)
fc.items.push({ start: [this.sourceToken] });
else
it.start.push(this.sourceToken);
return;
case "map-value-ind":
if (!it || it.value)
fc.items.push({ start: [], key: null, sep: [this.sourceToken] });
else if (it.sep)
it.sep.push(this.sourceToken);
else
Object.assign(it, { key: null, sep: [this.sourceToken] });
return;
case "space":
case "comment":
case "newline":
case "anchor":
case "tag":
if (!it || it.value)
fc.items.push({ start: [this.sourceToken] });
else if (it.sep)
it.sep.push(this.sourceToken);
else
it.start.push(this.sourceToken);
return;
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar": {
const fs84 = this.flowScalar(this.type);
if (!it || it.value)
fc.items.push({ start: [], key: fs84, sep: [] });
else if (it.sep)
this.stack.push(fs84);
else
Object.assign(it, { key: fs84, sep: [] });
return;
}
case "flow-map-end":
case "flow-seq-end":
fc.end.push(this.sourceToken);
return;
}
const bv = this.startBlockValue(fc);
if (bv)
this.stack.push(bv);
else {
yield* this.pop();
yield* this.step();
}
} else {
const parent = this.peek(2);
if (parent.type === "block-map" && (this.type === "map-value-ind" && parent.indent === fc.indent || this.type === "newline" && !parent.items[parent.items.length - 1].sep)) {
yield* this.pop();
yield* this.step();
} else if (this.type === "map-value-ind" && parent.type !== "flow-collection") {
const prev = getPrevProps(parent);
const start2 = getFirstKeyStartProps(prev);
fixFlowSeqItems(fc);
const sep8 = fc.end.splice(1, fc.end.length);
sep8.push(this.sourceToken);
const map4 = {
type: "block-map",
offset: fc.offset,
indent: fc.indent,
items: [{ start: start2, key: fc, sep: sep8 }]
};
this.onKeyLine = true;
this.stack[this.stack.length - 1] = map4;
} else {
yield* this.lineEnd(fc);
}
}
}
flowScalar(type2) {
if (this.onNewLine) {
let nl2 = this.source.indexOf("\n") + 1;
while (nl2 !== 0) {
this.onNewLine(this.offset + nl2);
nl2 = this.source.indexOf("\n", nl2) + 1;
}
}
return {
type: type2,
offset: this.offset,
indent: this.indent,
source: this.source
};
}
startBlockValue(parent) {
switch (this.type) {
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return this.flowScalar(this.type);
case "block-scalar-header":
return {
type: "block-scalar",
offset: this.offset,
indent: this.indent,
props: [this.sourceToken],
source: ""
};
case "flow-map-start":
case "flow-seq-start":
return {
type: "flow-collection",
offset: this.offset,
indent: this.indent,
start: this.sourceToken,
items: [],
end: []
};
case "seq-item-ind":
return {
type: "block-seq",
offset: this.offset,
indent: this.indent,
items: [{ start: [this.sourceToken] }]
};
case "explicit-key-ind": {
this.onKeyLine = true;
const prev = getPrevProps(parent);
const start2 = getFirstKeyStartProps(prev);
start2.push(this.sourceToken);
return {
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start2, explicitKey: true }]
};
}
case "map-value-ind": {
this.onKeyLine = true;
const prev = getPrevProps(parent);
const start2 = getFirstKeyStartProps(prev);
return {
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start2, key: null, sep: [this.sourceToken] }]
};
}
}
return null;
}
atIndentedComment(start2, indent) {
if (this.type !== "comment")
return false;
if (this.indent <= indent)
return false;
return start2.every((st) => st.type === "newline" || st.type === "space");
}
*documentEnd(docEnd) {
if (this.type !== "doc-mode") {
if (docEnd.end)
docEnd.end.push(this.sourceToken);
else
docEnd.end = [this.sourceToken];
if (this.type === "newline")
yield* this.pop();
}
}
*lineEnd(token2) {
switch (this.type) {
case "comma":
case "doc-start":
case "doc-end":
case "flow-seq-end":
case "flow-map-end":
case "map-value-ind":
yield* this.pop();
yield* this.step();
break;
case "newline":
this.onKeyLine = false;
// fallthrough
case "space":
case "comment":
default:
if (token2.end)
token2.end.push(this.sourceToken);
else
token2.end = [this.sourceToken];
if (this.type === "newline")
yield* this.pop();
}
}
};
exports2.Parser = Parser3;
}
});
// node_modules/yaml/dist/public-api.js
var require_public_api2 = __commonJS({
"node_modules/yaml/dist/public-api.js"(exports2) {
"use strict";
var composer = require_composer();
var Document2 = require_Document();
var errors = require_errors();
var log = require_log();
var identity3 = require_identity();
var lineCounter = require_line_counter();
var parser4 = require_parser2();
function parseOptions(options) {
const prettyErrors = options.prettyErrors !== false;
const lineCounter$1 = options.lineCounter || prettyErrors && new lineCounter.LineCounter() || null;
return { lineCounter: lineCounter$1, prettyErrors };
}
function parseAllDocuments(source, options = {}) {
const { lineCounter: lineCounter2, prettyErrors } = parseOptions(options);
const parser$1 = new parser4.Parser(lineCounter2?.addNewLine);
const composer$1 = new composer.Composer(options);
const docs = Array.from(composer$1.compose(parser$1.parse(source)));
if (prettyErrors && lineCounter2)
for (const doc of docs) {
doc.errors.forEach(errors.prettifyError(source, lineCounter2));
doc.warnings.forEach(errors.prettifyError(source, lineCounter2));
}
if (docs.length > 0)
return docs;
return Object.assign([], { empty: true }, composer$1.streamInfo());
}
function parseDocument2(source, options = {}) {
const { lineCounter: lineCounter2, prettyErrors } = parseOptions(options);
const parser$1 = new parser4.Parser(lineCounter2?.addNewLine);
const composer$1 = new composer.Composer(options);
let doc = null;
for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
if (!doc)
doc = _doc;
else if (doc.options.logLevel !== "silent") {
doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), "MULTIPLE_DOCS", "Source contains multiple documents; please use YAML.parseAllDocuments()"));
break;
}
}
if (prettyErrors && lineCounter2) {
doc.errors.forEach(errors.prettifyError(source, lineCounter2));
doc.warnings.forEach(errors.prettifyError(source, lineCounter2));
}
return doc;
}
function parse8(src, reviver, options) {
let _reviver = void 0;
if (typeof reviver === "function") {
_reviver = reviver;
} else if (options === void 0 && reviver && typeof reviver === "object") {
options = reviver;
}
const doc = parseDocument2(src, options);
if (!doc)
return null;
doc.warnings.forEach((warning) => log.warn(doc.options.logLevel, warning));
if (doc.errors.length > 0) {
if (doc.options.logLevel !== "silent")
throw doc.errors[0];
else
doc.errors = [];
}
return doc.toJS(Object.assign({ reviver: _reviver }, options));
}
function stringify3(value, replacer, options) {
let _replacer = null;
if (typeof replacer === "function" || Array.isArray(replacer)) {
_replacer = replacer;
} else if (options === void 0 && replacer) {
options = replacer;
}
if (typeof options === "string")
options = options.length;
if (typeof options === "number") {
const indent = Math.round(options);
options = indent < 1 ? void 0 : indent > 8 ? { indent: 8 } : { indent };
}
if (value === void 0) {
const { keepUndefined } = options ?? replacer ?? {};
if (!keepUndefined)
return void 0;
}
if (identity3.isDocument(value) && !_replacer)
return value.toString(options);
return new Document2.Document(value, _replacer, options).toString(options);
}
exports2.parse = parse8;
exports2.parseAllDocuments = parseAllDocuments;
exports2.parseDocument = parseDocument2;
exports2.stringify = stringify3;
}
});
// node_modules/yaml/dist/index.js
var require_dist3 = __commonJS({
"node_modules/yaml/dist/index.js"(exports2) {
"use strict";
var composer = require_composer();
var Document2 = require_Document();
var Schema = require_Schema();
var errors = require_errors();
var Alias = require_Alias();
var identity3 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var cst = require_cst();
var lexer = require_lexer();
var lineCounter = require_line_counter();
var parser4 = require_parser2();
var publicApi = require_public_api2();
var visit = require_visit();
exports2.Composer = composer.Composer;
exports2.Document = Document2.Document;
exports2.Schema = Schema.Schema;
exports2.YAMLError = errors.YAMLError;
exports2.YAMLParseError = errors.YAMLParseError;
exports2.YAMLWarning = errors.YAMLWarning;
exports2.Alias = Alias.Alias;
exports2.isAlias = identity3.isAlias;
exports2.isCollection = identity3.isCollection;
exports2.isDocument = identity3.isDocument;
exports2.isMap = identity3.isMap;
exports2.isNode = identity3.isNode;
exports2.isPair = identity3.isPair;
exports2.isScalar = identity3.isScalar;
exports2.isSeq = identity3.isSeq;
exports2.Pair = Pair.Pair;
exports2.Scalar = Scalar.Scalar;
exports2.YAMLMap = YAMLMap.YAMLMap;
exports2.YAMLSeq = YAMLSeq.YAMLSeq;
exports2.CST = cst;
exports2.Lexer = lexer.Lexer;
exports2.LineCounter = lineCounter.LineCounter;
exports2.Parser = parser4.Parser;
exports2.parse = publicApi.parse;
exports2.parseAllDocuments = publicApi.parseAllDocuments;
exports2.parseDocument = publicApi.parseDocument;
exports2.stringify = publicApi.stringify;
exports2.visit = visit.visit;
exports2.visitAsync = visit.visitAsync;
}
});
// node_modules/@opentelemetry/configuration/build/src/utils.js
var require_utils11 = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.envVariableSubstitution = exports2.getStringListFromConfigFile = exports2.getStringFromConfigFile = exports2.getNumberListFromConfigFile = exports2.getNumberFromConfigFile = exports2.getBooleanListFromConfigFile = exports2.getBooleanFromConfigFile = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var util_1 = __require("util");
function getBooleanFromConfigFile(value) {
const raw = envVariableSubstitution(value)?.trim().toLowerCase();
if (raw === "true") {
return true;
} else if (raw === "false") {
return false;
} else if (raw == null || raw === "") {
return void 0;
} else {
api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)}, expected 'true' or 'false'`);
return void 0;
}
}
exports2.getBooleanFromConfigFile = getBooleanFromConfigFile;
function getBooleanListFromConfigFile(value) {
const list = getStringFromConfigFile(value)?.split(",");
if (list) {
const filteredList = [];
for (let i3 = 0; i3 < list.length; i3++) {
const element = getBooleanFromConfigFile(list[i3]);
if (element != null) {
filteredList.push(element);
}
}
return filteredList;
}
return list;
}
exports2.getBooleanListFromConfigFile = getBooleanListFromConfigFile;
function getNumberFromConfigFile(value) {
const raw = envVariableSubstitution(value)?.trim();
if (raw == null || raw.trim() === "") {
return void 0;
}
const n3 = Number(raw);
if (isNaN(n3)) {
api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)}, expected a number`);
return void 0;
}
return n3;
}
exports2.getNumberFromConfigFile = getNumberFromConfigFile;
function getNumberListFromConfigFile(value) {
const list = getStringFromConfigFile(value)?.split(",");
if (list) {
const filteredList = [];
for (let i3 = 0; i3 < list.length; i3++) {
const element = getNumberFromConfigFile(list[i3]);
if (element || element === 0) {
filteredList.push(element);
}
}
return filteredList;
}
return list;
}
exports2.getNumberListFromConfigFile = getNumberListFromConfigFile;
function getStringFromConfigFile(value) {
const raw = envVariableSubstitution(value)?.trim();
if (value == null || raw === "") {
return void 0;
}
return raw;
}
exports2.getStringFromConfigFile = getStringFromConfigFile;
function getStringListFromConfigFile(value) {
value = envVariableSubstitution(value);
return getStringFromConfigFile(value)?.split(",").map((v) => v.trim()).filter((s2) => s2 !== "");
}
exports2.getStringListFromConfigFile = getStringListFromConfigFile;
function envVariableSubstitution(value) {
if (value == null) {
return void 0;
}
const matches = String(value).match(/\$\{[a-zA-Z0-9,=/_:.-]*\}/g);
if (matches) {
let stringValue = String(value);
for (const match2 of matches) {
const v = match2.substring(2, match2.length - 1).split(":-");
const defaultValue = v.length === 2 ? v[1] : "";
const replacement = (0, core_1.getStringFromEnv)(v[0]) || defaultValue;
stringValue = stringValue.replace(match2, replacement);
}
return stringValue;
}
return String(value);
}
exports2.envVariableSubstitution = envVariableSubstitution;
}
});
// node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js
var require_FileConfigFactory = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.setLoggerProvider = exports2.setMeterProvider = exports2.getTemporalityPreference = exports2.setTracerProvider = exports2.setPropagator = exports2.setAttributeLimits = exports2.setResourceAttributes = exports2.parseConfigFile = exports2.hasValidConfigFile = exports2.FileConfigFactory = void 0;
var core_1 = require_src8();
var configModel_1 = require_configModel();
var fs84 = __require("fs");
var yaml = require_dist3();
var utils_1 = require_utils11();
var commonModel_1 = require_commonModel();
var tracerProviderModel_1 = require_tracerProviderModel();
var loggerProviderModel_1 = require_loggerProviderModel();
var meterProviderModel_1 = require_meterProviderModel();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var FileConfigFactory = class {
_config;
constructor() {
this._config = (0, configModel_1.initializeDefaultConfiguration)();
parseConfigFile(this._config);
}
getConfigModel() {
return this._config;
}
};
exports2.FileConfigFactory = FileConfigFactory;
function hasValidConfigFile() {
const configFile = (0, core_1.getStringFromEnv)("OTEL_EXPERIMENTAL_CONFIG_FILE");
if (configFile) {
if (!(configFile.endsWith(".yaml") || configFile.endsWith(".yml")) || !fs84.existsSync(configFile)) {
api_1.diag.warn(`Config file ${configFile} set on OTEL_EXPERIMENTAL_CONFIG_FILE is not valid`);
return false;
}
return true;
}
return false;
}
exports2.hasValidConfigFile = hasValidConfigFile;
function parseConfigFile(config2) {
const supportedFileVersions = ["1.0-rc.1", "1.0-rc.2"];
const configFile = (0, core_1.getStringFromEnv)("OTEL_EXPERIMENTAL_CONFIG_FILE") || "";
const file2 = fs84.readFileSync(configFile, "utf8");
const parsedContent = yaml.parse(file2);
if (parsedContent["file_format"] && supportedFileVersions.includes(parsedContent["file_format"])) {
const disabled = (0, utils_1.getBooleanFromConfigFile)(parsedContent["disabled"]);
if (disabled !== void 0) {
config2.disabled = disabled;
}
const logLevel = (0, utils_1.getNumberFromConfigFile)((0, core_1.diagLogLevelFromString)(parsedContent["log_level"]));
if (logLevel) {
config2.log_level = logLevel;
}
if (parsedContent["resource"]) {
if (config2.resource == null) {
config2.resource = {};
}
const schemaUrl = (0, utils_1.getStringFromConfigFile)(parsedContent["resource"]?.["schema_url"]);
if (schemaUrl) {
config2.resource.schema_url = schemaUrl;
}
}
setResourceAttributes(config2, parsedContent["resource"]?.["attributes"], parsedContent["resource"]?.["attributes_list"]);
setAttributeLimits(config2, parsedContent["attribute_limits"]);
setPropagator(config2, parsedContent["propagator"]);
setTracerProvider(config2, parsedContent["tracer_provider"]);
setMeterProvider(config2, parsedContent["meter_provider"]);
setLoggerProvider(config2, parsedContent["logger_provider"]);
} else {
api_1.diag.warn(`Unsupported File Format: ${parsedContent["file_format"]}. It must be one of the following: ${supportedFileVersions}`);
}
}
exports2.parseConfigFile = parseConfigFile;
function setResourceAttributes(config2, attributes, attributeList) {
if (attributes || attributeList) {
const addedKeys = [];
if (config2.resource == null) {
config2.resource = {};
}
if ((0, utils_1.getStringFromConfigFile)(attributeList)) {
config2.resource.attributes_list = (0, utils_1.getStringFromConfigFile)(attributeList);
}
const list = (0, utils_1.getStringListFromConfigFile)(attributeList);
if (list && list.length > 0 || attributes && attributes.length > 0) {
config2.resource.attributes = [];
if (attributes) {
for (let i3 = 0; i3 < attributes.length; i3++) {
const att = attributes[i3];
let value = att["value"];
switch (att["type"]) {
case "bool":
value = (0, utils_1.getBooleanFromConfigFile)(value);
break;
case "bool_array":
value = (0, utils_1.getBooleanListFromConfigFile)(value);
break;
case "int":
case "double":
value = (0, utils_1.getNumberFromConfigFile)(value);
break;
case "int_array":
case "double_array":
value = (0, utils_1.getNumberListFromConfigFile)(value);
break;
case "string_array":
value = (0, utils_1.getStringListFromConfigFile)(value);
break;
default:
value = (0, utils_1.getStringFromConfigFile)(value);
break;
}
const key = (0, utils_1.getStringFromConfigFile)(att["name"]) ?? "";
config2.resource.attributes.push({
name: key,
value,
type: att["type"] ?? "string"
});
addedKeys.push(key);
}
}
if (list) {
for (let i3 = 0; i3 < list.length; i3++) {
const element = list[i3].split("=");
if (!addedKeys.includes(element[0])) {
config2.resource.attributes.push({
name: element[0],
value: element[1],
type: "string"
});
}
}
}
}
}
}
exports2.setResourceAttributes = setResourceAttributes;
function setAttributeLimits(config2, attrLimits) {
if (attrLimits) {
if (config2.attribute_limits == null) {
config2.attribute_limits = {
attribute_count_limit: 128
};
}
const lengthLimit = (0, utils_1.getNumberFromConfigFile)(attrLimits["attribute_value_length_limit"]);
if (lengthLimit) {
config2.attribute_limits.attribute_value_length_limit = lengthLimit;
}
const countLimit = (0, utils_1.getNumberFromConfigFile)(attrLimits["attribute_count_limit"]);
if (countLimit) {
config2.attribute_limits.attribute_count_limit = countLimit;
}
}
}
exports2.setAttributeLimits = setAttributeLimits;
function setPropagator(config2, propagator) {
if (propagator && propagator.composite) {
const auxList = [];
const composite = [];
for (let i3 = 0; i3 < propagator.composite.length; i3++) {
const key = Object.keys(propagator.composite[i3])[0];
auxList.push(key);
composite.push({ [key]: null });
}
const compositeList = (0, utils_1.getStringListFromConfigFile)(propagator["composite_list"]);
if (compositeList) {
for (let i3 = 0; i3 < compositeList.length; i3++) {
if (!auxList.includes(compositeList[i3])) {
composite.push({ [compositeList[i3]]: null });
}
}
}
if (composite.length > 0) {
if (config2.propagator == null) {
config2.propagator = {};
}
config2.propagator.composite = composite;
}
const compositeListString = (0, utils_1.getStringFromConfigFile)(propagator["composite_list"]);
if (compositeListString) {
if (config2.propagator == null) {
config2.propagator = {};
}
config2.propagator.composite_list = compositeListString;
}
}
}
exports2.setPropagator = setPropagator;
function getConfigHeaders(h2) {
if (h2) {
const headers = [];
for (let i3 = 0; i3 < h2.length; i3++) {
const element = h2[i3];
headers.push({
name: element["name"],
value: element["value"]
});
}
if (headers.length > 0) {
return headers;
}
}
return null;
}
var ProviderType;
(function(ProviderType2) {
ProviderType2[ProviderType2["TRACER"] = 0] = "TRACER";
ProviderType2[ProviderType2["METER"] = 1] = "METER";
ProviderType2[ProviderType2["LOGGER"] = 2] = "LOGGER";
})(ProviderType || (ProviderType = {}));
function parseConfigSpanOrLogRecordExporter(exporter, providerType) {
const exporterType = Object.keys(exporter)[0];
let parsedExporter = {};
let e2;
let certFile;
let clientCertFile;
let clientKeyFile;
let compression;
let headers;
let headersList;
let insecure;
let endpoint;
switch (providerType) {
case ProviderType.TRACER:
endpoint = "http://localhost:4318/v1/traces";
parsedExporter = parsedExporter;
break;
case ProviderType.LOGGER:
endpoint = "http://localhost:4318/v1/logs";
parsedExporter = parsedExporter;
break;
}
switch (exporterType) {
case "otlp_http":
e2 = exporter["otlp_http"];
if (e2) {
parsedExporter = {
otlp_http: {
endpoint: (0, utils_1.getStringFromConfigFile)(e2["endpoint"]) ?? endpoint,
timeout: (0, utils_1.getNumberFromConfigFile)(e2["timeout"]) ?? 1e4,
encoding: (0, utils_1.getStringFromConfigFile)(e2["encoding"]) === "json" ? commonModel_1.OtlpHttpEncoding.JSON : commonModel_1.OtlpHttpEncoding.Protobuf
}
};
certFile = (0, utils_1.getStringFromConfigFile)(e2["certificate_file"]);
if (certFile && parsedExporter.otlp_http) {
parsedExporter.otlp_http.certificate_file = certFile;
}
clientCertFile = (0, utils_1.getStringFromConfigFile)(e2["client_certificate_file"]);
if (clientCertFile && parsedExporter.otlp_http) {
parsedExporter.otlp_http.client_certificate_file = clientCertFile;
}
clientKeyFile = (0, utils_1.getStringFromConfigFile)(e2["client_key_file"]);
if (clientKeyFile && parsedExporter.otlp_http) {
parsedExporter.otlp_http.client_key_file = clientKeyFile;
}
compression = (0, utils_1.getStringFromConfigFile)(e2["compression"]);
if (compression && parsedExporter.otlp_http) {
parsedExporter.otlp_http.compression = compression;
}
headersList = (0, utils_1.getStringFromConfigFile)(e2["headers_list"]);
if (headersList && parsedExporter.otlp_http) {
parsedExporter.otlp_http.headers_list = headersList;
}
headers = getConfigHeaders(e2["headers"]);
if (headers && parsedExporter.otlp_http) {
parsedExporter.otlp_http.headers = headers;
}
}
break;
case "otlp_grpc":
e2 = exporter["otlp_grpc"];
if (e2) {
parsedExporter = {
otlp_grpc: {
endpoint: (0, utils_1.getStringFromConfigFile)(e2["endpoint"]) ?? "http://localhost:4317",
timeout: (0, utils_1.getNumberFromConfigFile)(e2["timeout"]) ?? 1e4
}
};
certFile = (0, utils_1.getStringFromConfigFile)(e2["certificate_file"]);
if (certFile && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.certificate_file = certFile;
}
clientCertFile = (0, utils_1.getStringFromConfigFile)(e2["client_certificate_file"]);
if (clientCertFile && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.client_certificate_file = clientCertFile;
}
clientKeyFile = (0, utils_1.getStringFromConfigFile)(e2["client_key_file"]);
if (clientKeyFile && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.client_key_file = clientKeyFile;
}
compression = (0, utils_1.getStringFromConfigFile)(e2["compression"]);
if (compression && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.compression = compression;
}
headersList = (0, utils_1.getStringFromConfigFile)(e2["headers_list"]);
if (headersList && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.headers_list = headersList;
}
headers = getConfigHeaders(e2["headers"]);
if (headers && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.headers = headers;
}
insecure = (0, utils_1.getBooleanFromConfigFile)(e2["insecure"]);
if ((insecure || insecure === false) && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.insecure = insecure;
}
}
break;
case "otlp_file/development":
e2 = exporter["otlp_file/development"];
if (e2) {
parsedExporter = {
"otlp_file/development": {
output_stream: (0, utils_1.getStringFromConfigFile)(e2["output_stream"]) ?? "stdout"
}
};
}
break;
case "console":
parsedExporter = {
console: {}
};
break;
case "zipkin":
e2 = exporter["zipkin"];
if (e2) {
parsedExporter = {
zipkin: {
endpoint: (0, utils_1.getStringFromConfigFile)(e2["endpoint"]) ?? "http://localhost:9411/api/v2/spans",
timeout: (0, utils_1.getNumberFromConfigFile)(e2["timeout"]) ?? 1e4
}
};
}
break;
}
return parsedExporter;
}
function setTracerProvider(config2, tracerProvider) {
if (tracerProvider && tracerProvider.processors?.length > 0) {
config2.tracer_provider = (0, tracerProviderModel_1.initializeDefaultTracerProviderConfiguration)();
if (tracerProvider["limits"]) {
if (config2.tracer_provider.limits == null) {
config2.tracer_provider.limits = {};
}
const attributeValueLengthLimit = (0, utils_1.getNumberFromConfigFile)(tracerProvider["limits"]["attribute_value_length_limit"]);
if (attributeValueLengthLimit) {
config2.tracer_provider.limits.attribute_value_length_limit = attributeValueLengthLimit;
}
const attributeCountLimit = (0, utils_1.getNumberFromConfigFile)(tracerProvider["limits"]["attribute_count_limit"]);
if (attributeCountLimit) {
config2.tracer_provider.limits.attribute_count_limit = attributeCountLimit;
}
const eventCountLimit = (0, utils_1.getNumberFromConfigFile)(tracerProvider["limits"]["event_count_limit"]);
if (eventCountLimit) {
config2.tracer_provider.limits.event_count_limit = eventCountLimit;
}
const linkCountLimit = (0, utils_1.getNumberFromConfigFile)(tracerProvider["limits"]["link_count_limit"]);
if (linkCountLimit) {
config2.tracer_provider.limits.link_count_limit = linkCountLimit;
}
const eventAttributeCountLimit = (0, utils_1.getNumberFromConfigFile)(tracerProvider["limits"]["event_attribute_count_limit"]);
if (eventAttributeCountLimit) {
config2.tracer_provider.limits.event_attribute_count_limit = eventAttributeCountLimit;
}
const linkAttributeCountLimit = (0, utils_1.getNumberFromConfigFile)(tracerProvider["limits"]["link_attribute_count_limit"]);
if (linkAttributeCountLimit) {
config2.tracer_provider.limits.link_attribute_count_limit = linkAttributeCountLimit;
}
}
for (let i3 = 0; i3 < tracerProvider["processors"].length; i3++) {
const processorType = Object.keys(tracerProvider["processors"][i3])[0];
if (processorType === "batch") {
const element = tracerProvider["processors"][i3]["batch"];
if (element) {
const parsedExporter = parseConfigSpanOrLogRecordExporter(element["exporter"], ProviderType.TRACER);
const batchConfig = {
batch: {
schedule_delay: (0, utils_1.getNumberFromConfigFile)(element["schedule_delay"]) ?? 5e3,
export_timeout: (0, utils_1.getNumberFromConfigFile)(element["export_timeout"]) ?? 3e4,
max_queue_size: (0, utils_1.getNumberFromConfigFile)(element["max_queue_size"]) ?? 2048,
max_export_batch_size: (0, utils_1.getNumberFromConfigFile)(element["max_export_batch_size"]) ?? 512,
exporter: parsedExporter
}
};
config2.tracer_provider.processors.push(batchConfig);
}
} else if (processorType === "simple") {
const element = tracerProvider["processors"][i3]["simple"];
if (element) {
const parsedExporter = parseConfigSpanOrLogRecordExporter(element["exporter"], ProviderType.TRACER);
const simpleConfig = {
simple: {
exporter: parsedExporter
}
};
config2.tracer_provider.processors.push(simpleConfig);
}
}
}
} else if (tracerProvider && (tracerProvider.processors == null || tracerProvider.processors.length === 0)) {
api_1.diag.warn("TracerProvider must have at least one processor configured");
}
}
exports2.setTracerProvider = setTracerProvider;
function getCardinalityLimits(limits) {
if (limits == null) {
limits = {};
}
const defaultLimit = (0, utils_1.getNumberFromConfigFile)(limits["default"]) ?? 2e3;
return {
default: defaultLimit,
counter: (0, utils_1.getNumberFromConfigFile)(limits["counter"]) ?? defaultLimit,
gauge: (0, utils_1.getNumberFromConfigFile)(limits["gauge"]) ?? defaultLimit,
histogram: (0, utils_1.getNumberFromConfigFile)(limits["histogram"]) ?? defaultLimit,
observable_counter: (0, utils_1.getNumberFromConfigFile)(limits["observable_counter"]) ?? defaultLimit,
observable_gauge: (0, utils_1.getNumberFromConfigFile)(limits["observable_gauge"]) ?? defaultLimit,
observable_up_down_counter: (0, utils_1.getNumberFromConfigFile)(limits["observable_up_down_counter"]) ?? defaultLimit,
up_down_counter: (0, utils_1.getNumberFromConfigFile)(limits["up_down_counter"]) ?? defaultLimit
};
}
function getProducers(producers) {
const parsedProducers = [];
if (producers) {
for (let j = 0; j < producers.length; j++) {
const producer = producers[j];
if (Object.keys(producer)[0] === "opencensus") {
parsedProducers.push({ opencensus: void 0 });
}
if (Object.keys(producer)[0] === "prometheus") {
parsedProducers.push({ prometheus: void 0 });
}
}
}
return parsedProducers;
}
function getTemporalityPreference(temporalityPreference) {
const temporalityPreferenceType = (0, utils_1.getStringFromConfigFile)(temporalityPreference);
switch (temporalityPreferenceType) {
case "cumulative":
return meterProviderModel_1.ExporterTemporalityPreference.Cumulative;
case "delta":
return meterProviderModel_1.ExporterTemporalityPreference.Delta;
case "low_memory":
return meterProviderModel_1.ExporterTemporalityPreference.LowMemory;
default:
return meterProviderModel_1.ExporterTemporalityPreference.Cumulative;
}
}
exports2.getTemporalityPreference = getTemporalityPreference;
function getDefaultHistogramAggregation(defaultHistogramAggregation) {
const defaultHistogramAggregationType = (0, utils_1.getStringFromConfigFile)(defaultHistogramAggregation);
switch (defaultHistogramAggregationType) {
case "explicit_bucket_histogram":
return meterProviderModel_1.ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;
case "base2_exponential_bucket_histogram":
return meterProviderModel_1.ExporterDefaultHistogramAggregation.Base2ExponentialBucketHistogram;
default:
return meterProviderModel_1.ExporterDefaultHistogramAggregation.ExplicitBucketHistogram;
}
}
function parseMetricExporter(exporter) {
const exporterType = Object.keys(exporter)[0];
let parsedExporter = {};
let e2;
let certFile;
let clientCertFile;
let clientKeyFile;
let compression;
let headers;
let headersList;
let insecure;
switch (exporterType) {
case "otlp_http":
e2 = exporter["otlp_http"];
if (e2) {
parsedExporter = {
otlp_http: {
endpoint: (0, utils_1.getStringFromConfigFile)(e2["endpoint"]) ?? "http://localhost:4318/v1/metrics",
timeout: (0, utils_1.getNumberFromConfigFile)(e2["timeout"]) ?? 1e4,
encoding: (0, utils_1.getStringFromConfigFile)(e2["encoding"]) === "json" ? commonModel_1.OtlpHttpEncoding.JSON : commonModel_1.OtlpHttpEncoding.Protobuf,
temporality_preference: getTemporalityPreference(e2["temporality_preference"]),
default_histogram_aggregation: getDefaultHistogramAggregation(e2["default_histogram_aggregation"])
}
};
certFile = (0, utils_1.getStringFromConfigFile)(e2["certificate_file"]);
if (certFile && parsedExporter.otlp_http) {
parsedExporter.otlp_http.certificate_file = certFile;
}
clientCertFile = (0, utils_1.getStringFromConfigFile)(e2["client_certificate_file"]);
if (clientCertFile && parsedExporter.otlp_http) {
parsedExporter.otlp_http.client_certificate_file = clientCertFile;
}
clientKeyFile = (0, utils_1.getStringFromConfigFile)(e2["client_key_file"]);
if (clientKeyFile && parsedExporter.otlp_http) {
parsedExporter.otlp_http.client_key_file = clientKeyFile;
}
compression = (0, utils_1.getStringFromConfigFile)(e2["compression"]);
if (compression && parsedExporter.otlp_http) {
parsedExporter.otlp_http.compression = compression;
}
headersList = (0, utils_1.getStringFromConfigFile)(e2["headers_list"]);
if (headersList && parsedExporter.otlp_http) {
parsedExporter.otlp_http.headers_list = headersList;
}
headers = getConfigHeaders(e2["headers"]);
if (headers && parsedExporter.otlp_http) {
parsedExporter.otlp_http.headers = headers;
}
}
break;
case "otlp_grpc":
e2 = exporter["otlp_grpc"];
if (e2) {
parsedExporter = {
otlp_grpc: {
endpoint: (0, utils_1.getStringFromConfigFile)(e2["endpoint"]) ?? "http://localhost:4317",
timeout: (0, utils_1.getNumberFromConfigFile)(e2["timeout"]) ?? 1e4,
temporality_preference: getTemporalityPreference(e2["temporality_preference"]),
default_histogram_aggregation: getDefaultHistogramAggregation(e2["default_histogram_aggregation"])
}
};
certFile = (0, utils_1.getStringFromConfigFile)(e2["certificate_file"]);
if (certFile && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.certificate_file = certFile;
}
clientCertFile = (0, utils_1.getStringFromConfigFile)(e2["client_certificate_file"]);
if (clientCertFile && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.client_certificate_file = clientCertFile;
}
clientKeyFile = (0, utils_1.getStringFromConfigFile)(e2["client_key_file"]);
if (clientKeyFile && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.client_key_file = clientKeyFile;
}
compression = (0, utils_1.getStringFromConfigFile)(e2["compression"]);
if (compression && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.compression = compression;
}
headersList = (0, utils_1.getStringFromConfigFile)(e2["headers_list"]);
if (headersList && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.headers_list = headersList;
}
headers = getConfigHeaders(e2["headers"]);
if (headers && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.headers = headers;
}
insecure = (0, utils_1.getBooleanFromConfigFile)(e2["insecure"]);
if ((insecure || insecure === false) && parsedExporter.otlp_grpc) {
parsedExporter.otlp_grpc.insecure = insecure;
}
}
break;
case "otlp_file/development":
e2 = exporter["otlp_file/development"];
if (e2) {
parsedExporter = {
"otlp_file/development": {
output_stream: (0, utils_1.getStringFromConfigFile)(e2["output_stream"]) ?? "stdout",
temporality_preference: getTemporalityPreference(e2["temporality_preference"]),
default_histogram_aggregation: getDefaultHistogramAggregation(e2["default_histogram_aggregation"])
}
};
}
break;
case "console":
parsedExporter = {
console: {}
};
break;
}
return parsedExporter;
}
function setMeterProvider(config2, meterProvider) {
if (meterProvider && meterProvider.readers?.length > 0) {
config2.meter_provider = (0, meterProviderModel_1.initializeDefaultMeterProviderConfiguration)();
const exemplarFilter = (0, utils_1.getStringFromConfigFile)(meterProvider["exemplar_filter"]);
if (exemplarFilter) {
switch (exemplarFilter) {
case "trace_based":
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.TraceBased;
break;
case "always_on":
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.AlwaysOn;
break;
case "always_off":
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.AlwaysOff;
break;
default:
config2.meter_provider.exemplar_filter = meterProviderModel_1.ExemplarFilter.TraceBased;
break;
}
}
for (let i3 = 0; i3 < meterProvider.readers.length; i3++) {
const readerType = Object.keys(meterProvider["readers"][i3])[0];
if (readerType === "pull") {
const element = meterProvider["readers"][i3]["pull"];
if (element) {
const exporter = {
"prometheus/development": {
host: (0, utils_1.getStringFromConfigFile)(element["exporter"]["prometheus/development"]["host"]) ?? "localhost",
port: (0, utils_1.getNumberFromConfigFile)(element["exporter"]["prometheus/development"]["port"]) ?? 9464,
without_scope_info: (0, utils_1.getBooleanFromConfigFile)(element["exporter"]["prometheus/development"]["without_scope_info"]) ?? false,
with_resource_constant_labels: {
included: (0, utils_1.getStringListFromConfigFile)(element["exporter"]["prometheus/development"]["with_resource_constant_labels"]["included"]) ?? [],
excluded: (0, utils_1.getStringListFromConfigFile)(element["exporter"]["prometheus/development"]["with_resource_constant_labels"]["excluded"]) ?? []
}
}
};
const pullReader = {
pull: {
exporter,
cardinality_limits: getCardinalityLimits(element["cardinality_limits"])
}
};
const p = getProducers(element["producers"]);
if (p.length > 0 && pullReader.pull) {
pullReader.pull.producers = p;
}
config2.meter_provider.readers.push(pullReader);
}
} else if (readerType === "periodic") {
const element = meterProvider["readers"][i3]["periodic"];
if (element) {
const parsedExporter = parseMetricExporter(element["exporter"]);
const periodicReader = {
periodic: {
exporter: parsedExporter,
cardinality_limits: getCardinalityLimits(element["cardinality_limits"]),
interval: (0, utils_1.getNumberFromConfigFile)(element["interval"]) ?? 6e4,
timeout: (0, utils_1.getNumberFromConfigFile)(element["timeout"]) ?? 3e4
}
};
const p = getProducers(element["producers"]);
if (p.length > 0 && periodicReader.periodic) {
periodicReader.periodic.producers = p;
}
config2.meter_provider.readers.push(periodicReader);
}
}
}
if (meterProvider["views"] && meterProvider["views"].length > 0) {
config2.meter_provider.views = [];
for (let j = 0; j < meterProvider["views"].length; j++) {
const element = meterProvider["views"][j];
const view = {};
if (element["selector"]) {
const selector = {};
const instrumentName = (0, utils_1.getStringFromConfigFile)(element["selector"]["instrument_name"]);
if (instrumentName) {
selector.instrument_name = instrumentName;
}
const unit = (0, utils_1.getStringFromConfigFile)(element["selector"]["unit"]);
if (unit) {
selector.unit = unit;
}
const meterName = (0, utils_1.getStringFromConfigFile)(element["selector"]["meter_name"]);
if (meterName) {
selector.meter_name = meterName;
}
const meterVersion = (0, utils_1.getStringFromConfigFile)(element["selector"]["meter_version"]);
if (meterVersion) {
selector.meter_version = meterVersion;
}
const meterSchemaUrl = (0, utils_1.getStringFromConfigFile)(element["selector"]["meter_schema_url"]);
if (meterSchemaUrl) {
selector.meter_schema_url = meterSchemaUrl;
}
const instrumentType = (0, utils_1.getStringFromConfigFile)(element["selector"]["instrument_type"]);
if (instrumentType) {
switch (instrumentType) {
case "counter":
selector.instrument_type = meterProviderModel_1.InstrumentType.Counter;
break;
case "gauge":
selector.instrument_type = meterProviderModel_1.InstrumentType.Gauge;
break;
case "histogram":
selector.instrument_type = meterProviderModel_1.InstrumentType.Histogram;
break;
case "observable_counter":
selector.instrument_type = meterProviderModel_1.InstrumentType.ObservableCounter;
break;
case "observable_gauge":
selector.instrument_type = meterProviderModel_1.InstrumentType.ObservableGauge;
break;
case "observable_up_down_counter":
selector.instrument_type = meterProviderModel_1.InstrumentType.ObservableUpDownCounter;
break;
case "up_down_counter":
selector.instrument_type = meterProviderModel_1.InstrumentType.UpDownCounter;
break;
}
}
if (Object.keys(selector).length > 0) {
view.selector = selector;
}
}
if (element["stream"]) {
const stream2 = {};
const name3 = (0, utils_1.getStringFromConfigFile)(element["stream"]["name"]);
if (name3) {
stream2.name = name3;
}
const description = (0, utils_1.getStringFromConfigFile)(element["stream"]["description"]);
if (description) {
stream2.description = description;
}
const aggregationCardinalityLimit = (0, utils_1.getNumberFromConfigFile)(element["stream"]["aggregation_cardinality_limit"]);
if (aggregationCardinalityLimit) {
stream2.aggregation_cardinality_limit = aggregationCardinalityLimit;
}
if (element["stream"]["attribute_keys"]) {
stream2.attribute_keys = {
included: (0, utils_1.getStringListFromConfigFile)(element["stream"]["attribute_keys"]["included"]) ?? [],
excluded: (0, utils_1.getStringListFromConfigFile)(element["stream"]["attribute_keys"]["excluded"]) ?? []
};
}
const rawAgg = element["stream"]["aggregation"];
if (rawAgg) {
const aggregation = {};
if (rawAgg["default"]) {
aggregation.default = {};
}
if (rawAgg["drop"]) {
aggregation.drop = {};
}
if (rawAgg["last_value"]) {
aggregation.last_value = {};
}
if (rawAgg["sum"]) {
aggregation.sum = {};
}
if (rawAgg["explicit_bucket_histogram"]) {
aggregation.explicit_bucket_histogram = {
boundaries: (0, utils_1.getNumberListFromConfigFile)(rawAgg["explicit_bucket_histogram"]["boundaries"]) ?? [
0,
5,
10,
25,
50,
75,
100,
250,
500,
750,
1e3,
2500,
5e3,
7500,
1e4
],
record_min_max: (0, utils_1.getBooleanFromConfigFile)(rawAgg["explicit_bucket_histogram"]["record_min_max"]) === false ? false : true
};
}
if (rawAgg["base2_exponential_bucket_histogram"]) {
aggregation.base2_exponential_bucket_histogram = {
record_min_max: (0, utils_1.getBooleanFromConfigFile)(rawAgg["base2_exponential_bucket_histogram"]["record_min_max"]) === false ? false : true
};
const maxScale = (0, utils_1.getNumberFromConfigFile)(rawAgg["base2_exponential_bucket_histogram"]["max_scale"]);
if (maxScale) {
aggregation.base2_exponential_bucket_histogram.max_scale = maxScale;
}
const maxSize = (0, utils_1.getNumberFromConfigFile)(rawAgg["base2_exponential_bucket_histogram"]["max_size"]);
if (maxSize) {
aggregation.base2_exponential_bucket_histogram.max_size = maxSize;
}
}
stream2.aggregation = aggregation;
}
if (Object.keys(stream2).length > 0) {
view.stream = stream2;
}
}
config2.meter_provider.views.push(view);
}
}
} else if (meterProvider && (meterProvider.readers == null || meterProvider.readers.length === 0)) {
api_1.diag.warn("MeterProvider must have at least one reader configured");
}
}
exports2.setMeterProvider = setMeterProvider;
function setLoggerProvider(config2, loggerProvider) {
if (loggerProvider && loggerProvider.processors?.length > 0) {
config2.logger_provider = (0, loggerProviderModel_1.initializeDefaultLoggerProviderConfiguration)();
if (loggerProvider["limits"]) {
const attributeValueLengthLimit = (0, utils_1.getNumberFromConfigFile)(loggerProvider["limits"]["attribute_value_length_limit"]);
const attributeCountLimit = (0, utils_1.getNumberFromConfigFile)(loggerProvider["limits"]["attribute_count_limit"]);
if (attributeValueLengthLimit || attributeCountLimit) {
if (config2.logger_provider.limits == null) {
config2.logger_provider.limits = { attribute_count_limit: 128 };
}
if (attributeValueLengthLimit) {
config2.logger_provider.limits.attribute_value_length_limit = attributeValueLengthLimit;
}
if (attributeCountLimit) {
config2.logger_provider.limits.attribute_count_limit = attributeCountLimit;
}
}
}
for (let i3 = 0; i3 < loggerProvider["processors"].length; i3++) {
const processorType = Object.keys(loggerProvider["processors"][i3])[0];
if (processorType === "batch") {
const element = loggerProvider["processors"][i3]["batch"];
if (element) {
const parsedExporter = parseConfigSpanOrLogRecordExporter(element["exporter"], ProviderType.LOGGER);
const batchConfig = {
batch: {
schedule_delay: (0, utils_1.getNumberFromConfigFile)(element["schedule_delay"]) ?? 1e3,
export_timeout: (0, utils_1.getNumberFromConfigFile)(element["export_timeout"]) ?? 3e4,
max_queue_size: (0, utils_1.getNumberFromConfigFile)(element["max_queue_size"]) ?? 2048,
max_export_batch_size: (0, utils_1.getNumberFromConfigFile)(element["max_export_batch_size"]) ?? 512,
exporter: parsedExporter
}
};
config2.logger_provider.processors.push(batchConfig);
}
} else if (processorType === "simple") {
const element = loggerProvider["processors"][i3]["simple"];
if (element) {
const parsedExporter = parseConfigSpanOrLogRecordExporter(element["exporter"], ProviderType.LOGGER);
const simpleConfig = {
simple: {
exporter: parsedExporter
}
};
config2.logger_provider.processors.push(simpleConfig);
}
}
}
if (loggerProvider["logger_configurator/development"]) {
const defaultConfigDisabled = (0, utils_1.getBooleanFromConfigFile)(loggerProvider["logger_configurator/development"]["default_config"]?.["disabled"]);
if (defaultConfigDisabled || defaultConfigDisabled === false) {
config2.logger_provider["logger_configurator/development"] = {
default_config: {
disabled: defaultConfigDisabled
}
};
}
if (loggerProvider["logger_configurator/development"].loggers && loggerProvider["logger_configurator/development"].loggers.length > 0) {
const loggers = [];
for (let i3 = 0; i3 < loggerProvider["logger_configurator/development"].loggers.length; i3++) {
const logger3 = loggerProvider["logger_configurator/development"].loggers[i3];
let disabled = false;
if (logger3["config"]) {
disabled = (0, utils_1.getBooleanFromConfigFile)(logger3["config"]["disabled"]) ?? false;
}
const name3 = (0, utils_1.getStringFromConfigFile)(logger3["name"]);
if (name3) {
loggers.push({
name: name3,
config: {
disabled
}
});
}
}
if (config2.logger_provider["logger_configurator/development"] == null) {
config2.logger_provider["logger_configurator/development"] = {};
}
config2.logger_provider["logger_configurator/development"].loggers = loggers;
}
}
} else if (loggerProvider && (loggerProvider.processors == null || loggerProvider.processors.length === 0)) {
api_1.diag.warn("LoggerProvider must have at least one processor configured");
}
}
exports2.setLoggerProvider = setLoggerProvider;
}
});
// node_modules/@opentelemetry/configuration/build/src/ConfigFactory.js
var require_ConfigFactory = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/ConfigFactory.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createConfigFactory = void 0;
var EnvironmentConfigFactory_1 = require_EnvironmentConfigFactory();
var FileConfigFactory_1 = require_FileConfigFactory();
function createConfigFactory() {
if ((0, FileConfigFactory_1.hasValidConfigFile)()) {
return new FileConfigFactory_1.FileConfigFactory();
}
return new EnvironmentConfigFactory_1.EnvironmentConfigFactory();
}
exports2.createConfigFactory = createConfigFactory;
}
});
// node_modules/@opentelemetry/configuration/build/src/index.js
var require_src34 = __commonJS({
"node_modules/@opentelemetry/configuration/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createConfigFactory = void 0;
var ConfigFactory_1 = require_ConfigFactory();
Object.defineProperty(exports2, "createConfigFactory", { enumerable: true, get: function() {
return ConfigFactory_1.createConfigFactory;
} });
}
});
// node_modules/@opentelemetry/sdk-node/build/src/start.js
var require_start = __commonJS({
"node_modules/@opentelemetry/sdk-node/build/src/start.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.startNodeSDK = void 0;
var configuration_1 = require_src34();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var utils_1 = require_utils10();
var instrumentation_1 = require_src26();
function startNodeSDK(sdkOptions) {
const configFactory = (0, configuration_1.createConfigFactory)();
const config2 = configFactory.getConfigModel();
if (config2.disabled) {
api_1.diag.info("OpenTelemetry SDK is disabled");
return NOOP_SDK;
}
if (config2.log_level != null) {
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), { logLevel: config2.log_level });
}
(0, instrumentation_1.registerInstrumentations)({
instrumentations: sdkOptions?.instrumentations?.flat() ?? []
});
(0, utils_1.setupDefaultContextManager)();
(0, utils_1.setupPropagator)(sdkOptions?.textMapPropagator === null ? null : sdkOptions?.textMapPropagator ?? (0, utils_1.getPropagatorFromConfiguration)(config2));
const shutdownFn = async () => {
const promises8 = [];
await Promise.all(promises8);
};
return { shutdown: shutdownFn };
}
exports2.startNodeSDK = startNodeSDK;
var NOOP_SDK = {
shutdown: async () => {
}
};
}
});
// node_modules/@opentelemetry/sdk-node/build/src/index.js
var require_src35 = __commonJS({
"node_modules/@opentelemetry/sdk-node/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.startNodeSDK = exports2.NodeSDK = exports2.tracing = exports2.resources = exports2.node = exports2.metrics = exports2.logs = exports2.core = exports2.contextBase = exports2.api = void 0;
exports2.api = (init_esm(), __toCommonJS(esm_exports));
exports2.contextBase = (init_esm(), __toCommonJS(esm_exports));
exports2.core = require_src8();
exports2.logs = require_src22();
exports2.metrics = require_src14();
exports2.node = require_src25();
exports2.resources = require_src13();
exports2.tracing = require_src24();
var sdk_1 = require_sdk();
Object.defineProperty(exports2, "NodeSDK", { enumerable: true, get: function() {
return sdk_1.NodeSDK;
} });
var start_1 = require_start();
Object.defineProperty(exports2, "startNodeSDK", { enumerable: true, get: function() {
return start_1.startNodeSDK;
} });
}
});
// node_modules/@opentelemetry/instrumentation-http/build/src/version.js
var require_version3 = __commonJS({
"node_modules/@opentelemetry/instrumentation-http/build/src/version.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.VERSION = void 0;
exports2.VERSION = "0.211.0";
}
});
// node_modules/@opentelemetry/instrumentation-http/build/src/semconv.js
var require_semconv3 = __commonJS({
"node_modules/@opentelemetry/instrumentation-http/build/src/semconv.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HTTP_FLAVOR_VALUE_HTTP_1_1 = exports2.NET_TRANSPORT_VALUE_IP_UDP = exports2.NET_TRANSPORT_VALUE_IP_TCP = exports2.ATTR_NET_TRANSPORT = exports2.ATTR_NET_PEER_PORT = exports2.ATTR_NET_PEER_NAME = exports2.ATTR_NET_PEER_IP = exports2.ATTR_NET_HOST_PORT = exports2.ATTR_NET_HOST_NAME = exports2.ATTR_NET_HOST_IP = exports2.ATTR_HTTP_USER_AGENT = exports2.ATTR_HTTP_URL = exports2.ATTR_HTTP_TARGET = exports2.ATTR_HTTP_STATUS_CODE = exports2.ATTR_HTTP_SERVER_NAME = exports2.ATTR_HTTP_SCHEME = exports2.ATTR_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = exports2.ATTR_HTTP_RESPONSE_CONTENT_LENGTH = exports2.ATTR_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = exports2.ATTR_HTTP_REQUEST_CONTENT_LENGTH = exports2.ATTR_HTTP_METHOD = exports2.ATTR_HTTP_HOST = exports2.ATTR_HTTP_FLAVOR = exports2.ATTR_HTTP_CLIENT_IP = exports2.USER_AGENT_SYNTHETIC_TYPE_VALUE_TEST = exports2.USER_AGENT_SYNTHETIC_TYPE_VALUE_BOT = exports2.ATTR_USER_AGENT_SYNTHETIC_TYPE = void 0;
exports2.ATTR_USER_AGENT_SYNTHETIC_TYPE = "user_agent.synthetic.type";
exports2.USER_AGENT_SYNTHETIC_TYPE_VALUE_BOT = "bot";
exports2.USER_AGENT_SYNTHETIC_TYPE_VALUE_TEST = "test";
exports2.ATTR_HTTP_CLIENT_IP = "http.client_ip";
exports2.ATTR_HTTP_FLAVOR = "http.flavor";
exports2.ATTR_HTTP_HOST = "http.host";
exports2.ATTR_HTTP_METHOD = "http.method";
exports2.ATTR_HTTP_REQUEST_CONTENT_LENGTH = "http.request_content_length";
exports2.ATTR_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = "http.request_content_length_uncompressed";
exports2.ATTR_HTTP_RESPONSE_CONTENT_LENGTH = "http.response_content_length";
exports2.ATTR_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = "http.response_content_length_uncompressed";
exports2.ATTR_HTTP_SCHEME = "http.scheme";
exports2.ATTR_HTTP_SERVER_NAME = "http.server_name";
exports2.ATTR_HTTP_STATUS_CODE = "http.status_code";
exports2.ATTR_HTTP_TARGET = "http.target";
exports2.ATTR_HTTP_URL = "http.url";
exports2.ATTR_HTTP_USER_AGENT = "http.user_agent";
exports2.ATTR_NET_HOST_IP = "net.host.ip";
exports2.ATTR_NET_HOST_NAME = "net.host.name";
exports2.ATTR_NET_HOST_PORT = "net.host.port";
exports2.ATTR_NET_PEER_IP = "net.peer.ip";
exports2.ATTR_NET_PEER_NAME = "net.peer.name";
exports2.ATTR_NET_PEER_PORT = "net.peer.port";
exports2.ATTR_NET_TRANSPORT = "net.transport";
exports2.NET_TRANSPORT_VALUE_IP_TCP = "ip_tcp";
exports2.NET_TRANSPORT_VALUE_IP_UDP = "ip_udp";
exports2.HTTP_FLAVOR_VALUE_HTTP_1_1 = "1.1";
}
});
// node_modules/@opentelemetry/instrumentation-http/build/src/enums/AttributeNames.js
var require_AttributeNames = __commonJS({
"node_modules/@opentelemetry/instrumentation-http/build/src/enums/AttributeNames.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AttributeNames = void 0;
var AttributeNames;
(function(AttributeNames2) {
AttributeNames2["HTTP_ERROR_NAME"] = "http.error_name";
AttributeNames2["HTTP_ERROR_MESSAGE"] = "http.error_message";
AttributeNames2["HTTP_STATUS_TEXT"] = "http.status_text";
})(AttributeNames = exports2.AttributeNames || (exports2.AttributeNames = {}));
}
});
// node_modules/@opentelemetry/instrumentation-http/build/src/internal-types.js
var require_internal_types2 = __commonJS({
"node_modules/@opentelemetry/instrumentation-http/build/src/internal-types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_QUERY_STRINGS_TO_REDACT = exports2.STR_REDACTED = exports2.SYNTHETIC_BOT_NAMES = exports2.SYNTHETIC_TEST_NAMES = void 0;
exports2.SYNTHETIC_TEST_NAMES = ["alwayson"];
exports2.SYNTHETIC_BOT_NAMES = ["googlebot", "bingbot"];
exports2.STR_REDACTED = "REDACTED";
exports2.DEFAULT_QUERY_STRINGS_TO_REDACT = [
"sig",
"Signature",
"AWSAccessKeyId",
"X-Goog-Signature"
];
}
});
// node_modules/forwarded-parse/lib/error.js
var require_error2 = __commonJS({
"node_modules/forwarded-parse/lib/error.js"(exports2, module2) {
"use strict";
var util2 = __require("util");
function ParseError2(message, input) {
Error.captureStackTrace(this, ParseError2);
this.name = this.constructor.name;
this.message = message;
this.input = input;
}
util2.inherits(ParseError2, Error);
module2.exports = ParseError2;
}
});
// node_modules/forwarded-parse/lib/ascii.js
var require_ascii = __commonJS({
"node_modules/forwarded-parse/lib/ascii.js"(exports2, module2) {
"use strict";
function isDelimiter(code) {
return code === 34 || code === 40 || code === 41 || code === 44 || code === 47 || code >= 58 && code <= 64 || code >= 91 && code <= 93 || code === 123 || code === 125;
}
function isTokenChar(code) {
return code === 33 || code >= 35 && code <= 39 || code === 42 || code === 43 || code === 45 || code === 46 || code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 94 && code <= 122 || code === 124 || code === 126;
}
function isPrint(code) {
return code >= 32 && code <= 126;
}
function isExtended(code) {
return code >= 128 && code <= 255;
}
module2.exports = {
isDelimiter,
isTokenChar,
isExtended,
isPrint
};
}
});
// node_modules/forwarded-parse/index.js
var require_forwarded_parse = __commonJS({
"node_modules/forwarded-parse/index.js"(exports2, module2) {
"use strict";
var util2 = __require("util");
var ParseError2 = require_error2();
var ascii = require_ascii();
var isDelimiter = ascii.isDelimiter;
var isTokenChar = ascii.isTokenChar;
var isExtended = ascii.isExtended;
var isPrint = ascii.isPrint;
function decode(str2) {
return str2.replace(/\\(.)/g, "$1");
}
function unexpectedCharacterMessage(header, position) {
return util2.format(
"Unexpected character '%s' at index %d",
header.charAt(position),
position
);
}
function parse8(header) {
var mustUnescape = false;
var isEscaping = false;
var inQuotes = false;
var forwarded = {};
var output = [];
var start2 = -1;
var end = -1;
var parameter;
var code;
for (var i3 = 0; i3 < header.length; i3++) {
code = header.charCodeAt(i3);
if (parameter === void 0) {
if (i3 !== 0 && start2 === -1 && (code === 32 || code === 9)) {
continue;
}
if (isTokenChar(code)) {
if (start2 === -1) start2 = i3;
} else if (code === 61 && start2 !== -1) {
parameter = header.slice(start2, i3).toLowerCase();
start2 = -1;
} else {
throw new ParseError2(unexpectedCharacterMessage(header, i3), header);
}
} else {
if (isEscaping && (code === 9 || isPrint(code) || isExtended(code))) {
isEscaping = false;
} else if (isTokenChar(code)) {
if (end !== -1) {
throw new ParseError2(unexpectedCharacterMessage(header, i3), header);
}
if (start2 === -1) start2 = i3;
} else if (isDelimiter(code) || isExtended(code)) {
if (inQuotes) {
if (code === 34) {
inQuotes = false;
end = i3;
} else if (code === 92) {
if (start2 === -1) start2 = i3;
isEscaping = mustUnescape = true;
} else if (start2 === -1) {
start2 = i3;
}
} else if (code === 34 && header.charCodeAt(i3 - 1) === 61) {
inQuotes = true;
} else if ((code === 44 || code === 59) && (start2 !== -1 || end !== -1)) {
if (start2 !== -1) {
if (end === -1) end = i3;
forwarded[parameter] = mustUnescape ? decode(header.slice(start2, end)) : header.slice(start2, end);
} else {
forwarded[parameter] = "";
}
if (code === 44) {
output.push(forwarded);
forwarded = {};
}
parameter = void 0;
start2 = end = -1;
} else {
throw new ParseError2(unexpectedCharacterMessage(header, i3), header);
}
} else if (code === 32 || code === 9) {
if (end !== -1) continue;
if (inQuotes) {
if (start2 === -1) start2 = i3;
} else if (start2 !== -1) {
end = i3;
} else {
throw new ParseError2(unexpectedCharacterMessage(header, i3), header);
}
} else {
throw new ParseError2(unexpectedCharacterMessage(header, i3), header);
}
}
}
if (parameter === void 0 || inQuotes || start2 === -1 && end === -1 || code === 32 || code === 9) {
throw new ParseError2("Unexpected end of input", header);
}
if (start2 !== -1) {
if (end === -1) end = i3;
forwarded[parameter] = mustUnescape ? decode(header.slice(start2, end)) : header.slice(start2, end);
} else {
forwarded[parameter] = "";
}
output.push(forwarded);
return output;
}
module2.exports = parse8;
}
});
// node_modules/@opentelemetry/instrumentation-http/build/src/utils.js
var require_utils12 = __commonJS({
"node_modules/@opentelemetry/instrumentation-http/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.headerCapture = exports2.getIncomingStableRequestMetricAttributesOnResponse = exports2.getIncomingRequestMetricAttributesOnResponse = exports2.getIncomingRequestAttributesOnResponse = exports2.getIncomingRequestMetricAttributes = exports2.getIncomingRequestAttributes = exports2.getRemoteClientAddress = exports2.getOutgoingStableRequestMetricAttributesOnResponse = exports2.getOutgoingRequestMetricAttributesOnResponse = exports2.getOutgoingRequestAttributesOnResponse = exports2.setAttributesFromHttpKind = exports2.getOutgoingRequestMetricAttributes = exports2.getOutgoingRequestAttributes = exports2.extractHostnameAndPort = exports2.isValidOptionsType = exports2.getRequestInfo = exports2.isCompressed = exports2.setResponseContentLengthAttribute = exports2.setRequestContentLengthAttribute = exports2.setSpanWithError = exports2.satisfiesPattern = exports2.parseResponseStatus = exports2.getAbsoluteUrl = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var semconv_1 = require_semconv3();
var core_1 = require_src8();
var instrumentation_1 = require_src26();
var url3 = __require("url");
var AttributeNames_1 = require_AttributeNames();
var internal_types_1 = require_internal_types2();
var internal_types_2 = require_internal_types2();
var forwardedParse = require_forwarded_parse();
var getAbsoluteUrl = (requestUrl, headers, fallbackProtocol = "http:", redactedQueryParams = Array.from(internal_types_2.DEFAULT_QUERY_STRINGS_TO_REDACT)) => {
const reqUrlObject = requestUrl || {};
const protocol = reqUrlObject.protocol || fallbackProtocol;
const port = (reqUrlObject.port || "").toString();
let path101 = reqUrlObject.path || "/";
let host = reqUrlObject.host || reqUrlObject.hostname || headers.host || "localhost";
if (host.indexOf(":") === -1 && port && port !== "80" && port !== "443") {
host += `:${port}`;
}
if (path101.includes("?")) {
try {
const parsedUrl = new URL(path101, "http://localhost");
const sensitiveParamsToRedact = redactedQueryParams || [];
for (const sensitiveParam of sensitiveParamsToRedact) {
if (parsedUrl.searchParams.get(sensitiveParam)) {
parsedUrl.searchParams.set(sensitiveParam, internal_types_2.STR_REDACTED);
}
}
path101 = `${parsedUrl.pathname}${parsedUrl.search}`;
} catch {
}
}
const authPart = reqUrlObject.auth ? `${internal_types_2.STR_REDACTED}:${internal_types_2.STR_REDACTED}@` : "";
return `${protocol}//${authPart}${host}${path101}`;
};
exports2.getAbsoluteUrl = getAbsoluteUrl;
var parseResponseStatus = (kind, statusCode) => {
const upperBound = kind === api_1.SpanKind.CLIENT ? 400 : 500;
if (statusCode && statusCode >= 100 && statusCode < upperBound) {
return api_1.SpanStatusCode.UNSET;
}
return api_1.SpanStatusCode.ERROR;
};
exports2.parseResponseStatus = parseResponseStatus;
var satisfiesPattern = (constant, pattern) => {
if (typeof pattern === "string") {
return pattern === constant;
} else if (pattern instanceof RegExp) {
return pattern.test(constant);
} else if (typeof pattern === "function") {
return pattern(constant);
} else {
throw new TypeError("Pattern is in unsupported datatype");
}
};
exports2.satisfiesPattern = satisfiesPattern;
var setSpanWithError = (span, error40, semconvStability) => {
const message = error40.message;
if (semconvStability & instrumentation_1.SemconvStability.OLD) {
span.setAttribute(AttributeNames_1.AttributeNames.HTTP_ERROR_NAME, error40.name);
span.setAttribute(AttributeNames_1.AttributeNames.HTTP_ERROR_MESSAGE, message);
}
if (semconvStability & instrumentation_1.SemconvStability.STABLE) {
span.setAttribute(semantic_conventions_1.ATTR_ERROR_TYPE, error40.name);
}
span.setStatus({ code: api_1.SpanStatusCode.ERROR, message });
span.recordException(error40);
};
exports2.setSpanWithError = setSpanWithError;
var setRequestContentLengthAttribute = (request, attributes) => {
const length = getContentLength(request.headers);
if (length === null)
return;
if ((0, exports2.isCompressed)(request.headers)) {
attributes[semconv_1.ATTR_HTTP_REQUEST_CONTENT_LENGTH] = length;
} else {
attributes[semconv_1.ATTR_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED] = length;
}
};
exports2.setRequestContentLengthAttribute = setRequestContentLengthAttribute;
var setResponseContentLengthAttribute = (response, attributes) => {
const length = getContentLength(response.headers);
if (length === null)
return;
if ((0, exports2.isCompressed)(response.headers)) {
attributes[semconv_1.ATTR_HTTP_RESPONSE_CONTENT_LENGTH] = length;
} else {
attributes[semconv_1.ATTR_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED] = length;
}
};
exports2.setResponseContentLengthAttribute = setResponseContentLengthAttribute;
function getContentLength(headers) {
const contentLengthHeader = headers["content-length"];
if (contentLengthHeader === void 0)
return null;
const contentLength = parseInt(contentLengthHeader, 10);
if (isNaN(contentLength))
return null;
return contentLength;
}
var isCompressed = (headers) => {
const encoding = headers["content-encoding"];
return !!encoding && encoding !== "identity";
};
exports2.isCompressed = isCompressed;
function stringUrlToHttpOptions(stringUrl) {
const { hostname: hostname3, pathname, port, username, password, search, protocol, hash, href, origin, host } = new URL(stringUrl);
const options = {
protocol,
hostname: hostname3 && hostname3[0] === "[" ? hostname3.slice(1, -1) : hostname3,
hash,
search,
pathname,
path: `${pathname || ""}${search || ""}`,
href,
origin,
host
};
if (port !== "") {
options.port = Number(port);
}
if (username || password) {
options.auth = `${decodeURIComponent(username)}:${decodeURIComponent(password)}`;
}
return options;
}
var getRequestInfo = (logger3, options, extraOptions) => {
let pathname;
let origin;
let optionsParsed;
let invalidUrl = false;
if (typeof options === "string") {
try {
const convertedOptions = stringUrlToHttpOptions(options);
optionsParsed = convertedOptions;
pathname = convertedOptions.pathname || "/";
} catch (e2) {
invalidUrl = true;
logger3.verbose("Unable to parse URL provided to HTTP request, using fallback to determine path. Original error:", e2);
optionsParsed = {
path: options
};
pathname = optionsParsed.path || "/";
}
origin = `${optionsParsed.protocol || "http:"}//${optionsParsed.host}`;
if (extraOptions !== void 0) {
Object.assign(optionsParsed, extraOptions);
}
} else if (options instanceof url3.URL) {
optionsParsed = {
protocol: options.protocol,
hostname: typeof options.hostname === "string" && options.hostname.startsWith("[") ? options.hostname.slice(1, -1) : options.hostname,
path: `${options.pathname || ""}${options.search || ""}`
};
if (options.port !== "") {
optionsParsed.port = Number(options.port);
}
if (options.username || options.password) {
optionsParsed.auth = `${options.username}:${options.password}`;
}
pathname = options.pathname;
origin = options.origin;
if (extraOptions !== void 0) {
Object.assign(optionsParsed, extraOptions);
}
} else {
optionsParsed = Object.assign({ protocol: options.host ? "http:" : void 0 }, options);
const hostname3 = optionsParsed.host || (optionsParsed.port != null ? `${optionsParsed.hostname}${optionsParsed.port}` : optionsParsed.hostname);
origin = `${optionsParsed.protocol || "http:"}//${hostname3}`;
pathname = options.pathname;
if (!pathname && optionsParsed.path) {
try {
const parsedUrl = new URL(optionsParsed.path, origin);
pathname = parsedUrl.pathname || "/";
} catch {
pathname = "/";
}
}
}
const method = optionsParsed.method ? optionsParsed.method.toUpperCase() : "GET";
return { origin, pathname, method, optionsParsed, invalidUrl };
};
exports2.getRequestInfo = getRequestInfo;
var isValidOptionsType = (options) => {
if (!options) {
return false;
}
const type2 = typeof options;
return type2 === "string" || type2 === "object" && !Array.isArray(options);
};
exports2.isValidOptionsType = isValidOptionsType;
var extractHostnameAndPort = (requestOptions) => {
if (requestOptions.hostname && requestOptions.port) {
return { hostname: requestOptions.hostname, port: requestOptions.port };
}
const matches = requestOptions.host?.match(/^([^:/ ]+)(:\d{1,5})?/) || null;
const hostname3 = requestOptions.hostname || (matches === null ? "localhost" : matches[1]);
let port = requestOptions.port;
if (!port) {
if (matches && matches[2]) {
port = matches[2].substring(1);
} else {
port = requestOptions.protocol === "https:" ? "443" : "80";
}
}
return { hostname: hostname3, port };
};
exports2.extractHostnameAndPort = extractHostnameAndPort;
var getOutgoingRequestAttributes = (requestOptions, options, semconvStability, enableSyntheticSourceDetection) => {
const hostname3 = options.hostname;
const port = options.port;
const method = requestOptions.method ?? "GET";
const normalizedMethod = normalizeMethod(method);
const headers = requestOptions.headers || {};
const userAgent = headers["user-agent"];
const urlFull = (0, exports2.getAbsoluteUrl)(requestOptions, headers, `${options.component}:`, options.redactedQueryParams);
const oldAttributes = {
[semconv_1.ATTR_HTTP_URL]: urlFull,
[semconv_1.ATTR_HTTP_METHOD]: method,
[semconv_1.ATTR_HTTP_TARGET]: requestOptions.path || "/",
[semconv_1.ATTR_NET_PEER_NAME]: hostname3,
[semconv_1.ATTR_HTTP_HOST]: headers.host ?? `${hostname3}:${port}`
};
const newAttributes = {
// Required attributes
[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD]: normalizedMethod,
[semantic_conventions_1.ATTR_SERVER_ADDRESS]: hostname3,
[semantic_conventions_1.ATTR_SERVER_PORT]: Number(port),
[semantic_conventions_1.ATTR_URL_FULL]: urlFull,
[semantic_conventions_1.ATTR_USER_AGENT_ORIGINAL]: userAgent
// leaving out protocol version, it is not yet negotiated
// leaving out protocol name, it is only required when protocol version is set
// retries and redirects not supported
// Opt-in attributes left off for now
};
if (method !== normalizedMethod) {
newAttributes[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD_ORIGINAL] = method;
}
if (enableSyntheticSourceDetection && userAgent) {
newAttributes[semconv_1.ATTR_USER_AGENT_SYNTHETIC_TYPE] = getSyntheticType(userAgent);
}
if (userAgent !== void 0) {
oldAttributes[semconv_1.ATTR_HTTP_USER_AGENT] = userAgent;
}
switch (semconvStability) {
case instrumentation_1.SemconvStability.STABLE:
return Object.assign(newAttributes, options.hookAttributes);
case instrumentation_1.SemconvStability.OLD:
return Object.assign(oldAttributes, options.hookAttributes);
}
return Object.assign(oldAttributes, newAttributes, options.hookAttributes);
};
exports2.getOutgoingRequestAttributes = getOutgoingRequestAttributes;
var getOutgoingRequestMetricAttributes = (spanAttributes) => {
const metricAttributes = {};
metricAttributes[semconv_1.ATTR_HTTP_METHOD] = spanAttributes[semconv_1.ATTR_HTTP_METHOD];
metricAttributes[semconv_1.ATTR_NET_PEER_NAME] = spanAttributes[semconv_1.ATTR_NET_PEER_NAME];
return metricAttributes;
};
exports2.getOutgoingRequestMetricAttributes = getOutgoingRequestMetricAttributes;
var setAttributesFromHttpKind = (kind, attributes) => {
if (kind) {
attributes[semconv_1.ATTR_HTTP_FLAVOR] = kind;
if (kind.toUpperCase() !== "QUIC") {
attributes[semconv_1.ATTR_NET_TRANSPORT] = semconv_1.NET_TRANSPORT_VALUE_IP_TCP;
} else {
attributes[semconv_1.ATTR_NET_TRANSPORT] = semconv_1.NET_TRANSPORT_VALUE_IP_UDP;
}
}
};
exports2.setAttributesFromHttpKind = setAttributesFromHttpKind;
var getSyntheticType = (userAgent) => {
const userAgentString = String(userAgent).toLowerCase();
for (const name3 of internal_types_1.SYNTHETIC_TEST_NAMES) {
if (userAgentString.includes(name3)) {
return semconv_1.USER_AGENT_SYNTHETIC_TYPE_VALUE_TEST;
}
}
for (const name3 of internal_types_1.SYNTHETIC_BOT_NAMES) {
if (userAgentString.includes(name3)) {
return semconv_1.USER_AGENT_SYNTHETIC_TYPE_VALUE_BOT;
}
}
return;
};
var getOutgoingRequestAttributesOnResponse = (response, semconvStability) => {
const { statusCode, statusMessage, httpVersion, socket } = response;
const oldAttributes = {};
const stableAttributes = {};
if (statusCode != null) {
stableAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE] = statusCode;
}
if (socket) {
const { remoteAddress, remotePort } = socket;
oldAttributes[semconv_1.ATTR_NET_PEER_IP] = remoteAddress;
oldAttributes[semconv_1.ATTR_NET_PEER_PORT] = remotePort;
stableAttributes[semantic_conventions_1.ATTR_NETWORK_PEER_ADDRESS] = remoteAddress;
stableAttributes[semantic_conventions_1.ATTR_NETWORK_PEER_PORT] = remotePort;
stableAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION] = response.httpVersion;
}
(0, exports2.setResponseContentLengthAttribute)(response, oldAttributes);
if (statusCode) {
oldAttributes[semconv_1.ATTR_HTTP_STATUS_CODE] = statusCode;
oldAttributes[AttributeNames_1.AttributeNames.HTTP_STATUS_TEXT] = (statusMessage || "").toUpperCase();
}
(0, exports2.setAttributesFromHttpKind)(httpVersion, oldAttributes);
switch (semconvStability) {
case instrumentation_1.SemconvStability.STABLE:
return stableAttributes;
case instrumentation_1.SemconvStability.OLD:
return oldAttributes;
}
return Object.assign(oldAttributes, stableAttributes);
};
exports2.getOutgoingRequestAttributesOnResponse = getOutgoingRequestAttributesOnResponse;
var getOutgoingRequestMetricAttributesOnResponse = (spanAttributes) => {
const metricAttributes = {};
metricAttributes[semconv_1.ATTR_NET_PEER_PORT] = spanAttributes[semconv_1.ATTR_NET_PEER_PORT];
metricAttributes[semconv_1.ATTR_HTTP_STATUS_CODE] = spanAttributes[semconv_1.ATTR_HTTP_STATUS_CODE];
metricAttributes[semconv_1.ATTR_HTTP_FLAVOR] = spanAttributes[semconv_1.ATTR_HTTP_FLAVOR];
return metricAttributes;
};
exports2.getOutgoingRequestMetricAttributesOnResponse = getOutgoingRequestMetricAttributesOnResponse;
var getOutgoingStableRequestMetricAttributesOnResponse = (spanAttributes) => {
const metricAttributes = {};
if (spanAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION]) {
metricAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION] = spanAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION];
}
if (spanAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE]) {
metricAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE] = spanAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE];
}
return metricAttributes;
};
exports2.getOutgoingStableRequestMetricAttributesOnResponse = getOutgoingStableRequestMetricAttributesOnResponse;
function parseHostHeader(hostHeader, proto) {
const parts2 = hostHeader.split(":");
if (parts2.length === 1) {
if (proto === "http") {
return { host: parts2[0], port: "80" };
}
if (proto === "https") {
return { host: parts2[0], port: "443" };
}
return { host: parts2[0] };
}
if (parts2.length === 2) {
return {
host: parts2[0],
port: parts2[1]
};
}
if (parts2[0].startsWith("[")) {
if (parts2[parts2.length - 1].endsWith("]")) {
if (proto === "http") {
return { host: hostHeader, port: "80" };
}
if (proto === "https") {
return { host: hostHeader, port: "443" };
}
} else if (parts2[parts2.length - 2].endsWith("]")) {
return {
host: parts2.slice(0, -1).join(":"),
port: parts2[parts2.length - 1]
};
}
}
return { host: hostHeader };
}
function getServerAddress(request, component) {
const forwardedHeader = request.headers["forwarded"];
if (forwardedHeader) {
for (const entry of parseForwardedHeader(forwardedHeader)) {
if (entry.host) {
return parseHostHeader(entry.host, entry.proto);
}
}
}
const xForwardedHost = request.headers["x-forwarded-host"];
if (typeof xForwardedHost === "string") {
if (typeof request.headers["x-forwarded-proto"] === "string") {
return parseHostHeader(xForwardedHost, request.headers["x-forwarded-proto"]);
}
if (Array.isArray(request.headers["x-forwarded-proto"])) {
return parseHostHeader(xForwardedHost, request.headers["x-forwarded-proto"][0]);
}
return parseHostHeader(xForwardedHost);
} else if (Array.isArray(xForwardedHost) && typeof xForwardedHost[0] === "string" && xForwardedHost[0].length > 0) {
if (typeof request.headers["x-forwarded-proto"] === "string") {
return parseHostHeader(xForwardedHost[0], request.headers["x-forwarded-proto"]);
}
if (Array.isArray(request.headers["x-forwarded-proto"])) {
return parseHostHeader(xForwardedHost[0], request.headers["x-forwarded-proto"][0]);
}
return parseHostHeader(xForwardedHost[0]);
}
const host = request.headers["host"];
if (typeof host === "string" && host.length > 0) {
return parseHostHeader(host, component);
}
return null;
}
function getRemoteClientAddress(request) {
const forwardedHeader = request.headers["forwarded"];
if (forwardedHeader) {
for (const entry of parseForwardedHeader(forwardedHeader)) {
if (entry.for) {
return removePortFromAddress(entry.for);
}
}
}
const xForwardedFor = request.headers["x-forwarded-for"];
if (xForwardedFor) {
let xForwardedForVal;
if (typeof xForwardedFor === "string") {
xForwardedForVal = xForwardedFor;
} else if (Array.isArray(xForwardedFor)) {
xForwardedForVal = xForwardedFor[0];
}
if (typeof xForwardedForVal === "string") {
xForwardedForVal = xForwardedForVal.split(",")[0].trim();
return removePortFromAddress(xForwardedForVal);
}
}
const remote = request.socket.remoteAddress;
if (remote) {
return remote;
}
return null;
}
exports2.getRemoteClientAddress = getRemoteClientAddress;
function removePortFromAddress(input) {
try {
const { hostname: address } = new URL(`http://${input}`);
if (address.startsWith("[") && address.endsWith("]")) {
return address.slice(1, -1);
}
return address;
} catch {
return input;
}
}
function getInfoFromIncomingMessage(component, request, logger3) {
try {
if (request.headers.host) {
return new URL(request.url ?? "/", `${component}://${request.headers.host}`);
} else {
const unsafeParsedUrl = new URL(
request.url ?? "/",
// using localhost as a workaround to still use the URL constructor for parsing
`${component}://localhost`
);
return {
pathname: unsafeParsedUrl.pathname,
search: unsafeParsedUrl.search,
toString: function() {
return unsafeParsedUrl.pathname + unsafeParsedUrl.search;
}
};
}
} catch (e2) {
logger3.verbose("Unable to get URL from request", e2);
return {};
}
}
var getIncomingRequestAttributes = (request, options, logger3) => {
const { component, enableSyntheticSourceDetection, hookAttributes, semconvStability, serverName } = options;
const { headers, httpVersion, method } = request;
const { host, "user-agent": userAgent, "x-forwarded-for": ips } = headers;
const parsedUrl = getInfoFromIncomingMessage(component, request, logger3);
let newAttributes;
let oldAttributes;
if (semconvStability !== instrumentation_1.SemconvStability.OLD) {
const normalizedMethod = normalizeMethod(method);
const serverAddress = getServerAddress(request, component);
const remoteClientAddress = getRemoteClientAddress(request);
newAttributes = {
[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD]: normalizedMethod,
[semantic_conventions_1.ATTR_URL_SCHEME]: component,
[semantic_conventions_1.ATTR_SERVER_ADDRESS]: serverAddress?.host,
[semantic_conventions_1.ATTR_NETWORK_PEER_ADDRESS]: request.socket.remoteAddress,
[semantic_conventions_1.ATTR_NETWORK_PEER_PORT]: request.socket.remotePort,
[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION]: request.httpVersion,
[semantic_conventions_1.ATTR_USER_AGENT_ORIGINAL]: userAgent
};
if (parsedUrl.pathname != null) {
newAttributes[semantic_conventions_1.ATTR_URL_PATH] = parsedUrl.pathname;
}
if (parsedUrl.search) {
newAttributes[semantic_conventions_1.ATTR_URL_QUERY] = parsedUrl.search.slice(1);
}
if (remoteClientAddress != null) {
newAttributes[semantic_conventions_1.ATTR_CLIENT_ADDRESS] = remoteClientAddress;
}
if (serverAddress?.port != null) {
newAttributes[semantic_conventions_1.ATTR_SERVER_PORT] = Number(serverAddress.port);
}
if (method !== normalizedMethod) {
newAttributes[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD_ORIGINAL] = method;
}
if (enableSyntheticSourceDetection && userAgent) {
newAttributes[semconv_1.ATTR_USER_AGENT_SYNTHETIC_TYPE] = getSyntheticType(userAgent);
}
}
if (semconvStability !== instrumentation_1.SemconvStability.STABLE) {
const hostname3 = host?.replace(/^(.*)(:[0-9]{1,5})/, "$1") || "localhost";
oldAttributes = {
[semconv_1.ATTR_HTTP_URL]: parsedUrl.toString(),
[semconv_1.ATTR_HTTP_HOST]: host,
[semconv_1.ATTR_NET_HOST_NAME]: hostname3,
[semconv_1.ATTR_HTTP_METHOD]: method,
[semconv_1.ATTR_HTTP_SCHEME]: component
};
if (typeof ips === "string") {
oldAttributes[semconv_1.ATTR_HTTP_CLIENT_IP] = ips.split(",")[0];
}
if (typeof serverName === "string") {
oldAttributes[semconv_1.ATTR_HTTP_SERVER_NAME] = serverName;
}
if (parsedUrl.pathname) {
oldAttributes[semconv_1.ATTR_HTTP_TARGET] = parsedUrl.pathname + parsedUrl.search || "/";
}
if (userAgent !== void 0) {
oldAttributes[semconv_1.ATTR_HTTP_USER_AGENT] = userAgent;
}
(0, exports2.setRequestContentLengthAttribute)(request, oldAttributes);
(0, exports2.setAttributesFromHttpKind)(httpVersion, oldAttributes);
}
switch (semconvStability) {
case instrumentation_1.SemconvStability.STABLE:
return Object.assign(newAttributes, hookAttributes);
case instrumentation_1.SemconvStability.OLD:
return Object.assign(oldAttributes, hookAttributes);
default:
return Object.assign(oldAttributes, newAttributes, hookAttributes);
}
};
exports2.getIncomingRequestAttributes = getIncomingRequestAttributes;
var getIncomingRequestMetricAttributes = (spanAttributes) => {
const metricAttributes = {};
metricAttributes[semconv_1.ATTR_HTTP_SCHEME] = spanAttributes[semconv_1.ATTR_HTTP_SCHEME];
metricAttributes[semconv_1.ATTR_HTTP_METHOD] = spanAttributes[semconv_1.ATTR_HTTP_METHOD];
metricAttributes[semconv_1.ATTR_NET_HOST_NAME] = spanAttributes[semconv_1.ATTR_NET_HOST_NAME];
metricAttributes[semconv_1.ATTR_HTTP_FLAVOR] = spanAttributes[semconv_1.ATTR_HTTP_FLAVOR];
return metricAttributes;
};
exports2.getIncomingRequestMetricAttributes = getIncomingRequestMetricAttributes;
var getIncomingRequestAttributesOnResponse = (request, response, semconvStability) => {
const { socket } = request;
const { statusCode, statusMessage } = response;
const newAttributes = {
[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE]: statusCode
};
const rpcMetadata = (0, core_1.getRPCMetadata)(api_1.context.active());
const oldAttributes = {};
if (socket) {
const { localAddress, localPort, remoteAddress, remotePort } = socket;
oldAttributes[semconv_1.ATTR_NET_HOST_IP] = localAddress;
oldAttributes[semconv_1.ATTR_NET_HOST_PORT] = localPort;
oldAttributes[semconv_1.ATTR_NET_PEER_IP] = remoteAddress;
oldAttributes[semconv_1.ATTR_NET_PEER_PORT] = remotePort;
}
oldAttributes[semconv_1.ATTR_HTTP_STATUS_CODE] = statusCode;
oldAttributes[AttributeNames_1.AttributeNames.HTTP_STATUS_TEXT] = (statusMessage || "").toUpperCase();
if (rpcMetadata?.type === core_1.RPCType.HTTP && rpcMetadata.route !== void 0) {
oldAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE] = rpcMetadata.route;
newAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE] = rpcMetadata.route;
}
switch (semconvStability) {
case instrumentation_1.SemconvStability.STABLE:
return newAttributes;
case instrumentation_1.SemconvStability.OLD:
return oldAttributes;
}
return Object.assign(oldAttributes, newAttributes);
};
exports2.getIncomingRequestAttributesOnResponse = getIncomingRequestAttributesOnResponse;
var getIncomingRequestMetricAttributesOnResponse = (spanAttributes) => {
const metricAttributes = {};
metricAttributes[semconv_1.ATTR_HTTP_STATUS_CODE] = spanAttributes[semconv_1.ATTR_HTTP_STATUS_CODE];
metricAttributes[semconv_1.ATTR_NET_HOST_PORT] = spanAttributes[semconv_1.ATTR_NET_HOST_PORT];
if (spanAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE] !== void 0) {
metricAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE] = spanAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE];
}
return metricAttributes;
};
exports2.getIncomingRequestMetricAttributesOnResponse = getIncomingRequestMetricAttributesOnResponse;
var getIncomingStableRequestMetricAttributesOnResponse = (spanAttributes) => {
const metricAttributes = {};
if (spanAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE] !== void 0) {
metricAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE] = spanAttributes[semantic_conventions_1.ATTR_HTTP_ROUTE];
}
if (spanAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE]) {
metricAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE] = spanAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE];
}
return metricAttributes;
};
exports2.getIncomingStableRequestMetricAttributesOnResponse = getIncomingStableRequestMetricAttributesOnResponse;
function headerCapture(type2, headers) {
const normalizedHeaders = /* @__PURE__ */ new Map();
for (let i3 = 0, len = headers.length; i3 < len; i3++) {
const capturedHeader = headers[i3].toLowerCase();
normalizedHeaders.set(capturedHeader, capturedHeader.replace(/-/g, "_"));
}
return (span, getHeader) => {
for (const capturedHeader of normalizedHeaders.keys()) {
const value = getHeader(capturedHeader);
if (value === void 0) {
continue;
}
const normalizedHeader = normalizedHeaders.get(capturedHeader);
const key = `http.${type2}.header.${normalizedHeader}`;
if (typeof value === "string") {
span.setAttribute(key, [value]);
} else if (Array.isArray(value)) {
span.setAttribute(key, value);
} else {
span.setAttribute(key, [value]);
}
}
};
}
exports2.headerCapture = headerCapture;
var KNOWN_METHODS = /* @__PURE__ */ new Set([
// methods from https://www.rfc-editor.org/rfc/rfc9110.html#name-methods
"GET",
"HEAD",
"POST",
"PUT",
"DELETE",
"CONNECT",
"OPTIONS",
"TRACE",
// PATCH from https://www.rfc-editor.org/rfc/rfc5789.html
"PATCH",
// QUERY from https://datatracker.ietf.org/doc/draft-ietf-httpbis-safe-method-w-body/
"QUERY"
]);
function normalizeMethod(method) {
if (method == null) {
return "GET";
}
const upper = method.toUpperCase();
if (KNOWN_METHODS.has(upper)) {
return upper;
}
return "_OTHER";
}
function parseForwardedHeader(header) {
try {
return forwardedParse(header);
} catch {
return [];
}
}
}
});
// node_modules/@opentelemetry/instrumentation-http/build/src/http.js
var require_http = __commonJS({
"node_modules/@opentelemetry/instrumentation-http/build/src/http.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HttpInstrumentation = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var core_1 = require_src8();
var url3 = __require("url");
var version_1 = require_version3();
var instrumentation_1 = require_src26();
var events_1 = __require("events");
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var utils_1 = require_utils12();
var HttpInstrumentation2 = class extends instrumentation_1.InstrumentationBase {
/** keep track on spans not ended */
_spanNotEnded = /* @__PURE__ */ new WeakSet();
_headerCapture;
_semconvStability = instrumentation_1.SemconvStability.OLD;
constructor(config2 = {}) {
super("@opentelemetry/instrumentation-http", version_1.VERSION, config2);
this._headerCapture = this._createHeaderCapture();
this._semconvStability = (0, instrumentation_1.semconvStabilityFromStr)("http", process.env.OTEL_SEMCONV_STABILITY_OPT_IN);
}
_updateMetricInstruments() {
this._oldHttpServerDurationHistogram = this.meter.createHistogram("http.server.duration", {
description: "Measures the duration of inbound HTTP requests.",
unit: "ms",
valueType: api_1.ValueType.DOUBLE
});
this._oldHttpClientDurationHistogram = this.meter.createHistogram("http.client.duration", {
description: "Measures the duration of outbound HTTP requests.",
unit: "ms",
valueType: api_1.ValueType.DOUBLE
});
this._stableHttpServerDurationHistogram = this.meter.createHistogram(semantic_conventions_1.METRIC_HTTP_SERVER_REQUEST_DURATION, {
description: "Duration of HTTP server requests.",
unit: "s",
valueType: api_1.ValueType.DOUBLE,
advice: {
explicitBucketBoundaries: [
5e-3,
0.01,
0.025,
0.05,
0.075,
0.1,
0.25,
0.5,
0.75,
1,
2.5,
5,
7.5,
10
]
}
});
this._stableHttpClientDurationHistogram = this.meter.createHistogram(semantic_conventions_1.METRIC_HTTP_CLIENT_REQUEST_DURATION, {
description: "Duration of HTTP client requests.",
unit: "s",
valueType: api_1.ValueType.DOUBLE,
advice: {
explicitBucketBoundaries: [
5e-3,
0.01,
0.025,
0.05,
0.075,
0.1,
0.25,
0.5,
0.75,
1,
2.5,
5,
7.5,
10
]
}
});
}
_recordServerDuration(durationMs, oldAttributes, stableAttributes) {
if (this._semconvStability & instrumentation_1.SemconvStability.OLD) {
this._oldHttpServerDurationHistogram.record(durationMs, oldAttributes);
}
if (this._semconvStability & instrumentation_1.SemconvStability.STABLE) {
this._stableHttpServerDurationHistogram.record(durationMs / 1e3, stableAttributes);
}
}
_recordClientDuration(durationMs, oldAttributes, stableAttributes) {
if (this._semconvStability & instrumentation_1.SemconvStability.OLD) {
this._oldHttpClientDurationHistogram.record(durationMs, oldAttributes);
}
if (this._semconvStability & instrumentation_1.SemconvStability.STABLE) {
this._stableHttpClientDurationHistogram.record(durationMs / 1e3, stableAttributes);
}
}
setConfig(config2 = {}) {
super.setConfig(config2);
this._headerCapture = this._createHeaderCapture();
}
init() {
return [this._getHttpsInstrumentation(), this._getHttpInstrumentation()];
}
_getHttpInstrumentation() {
return new instrumentation_1.InstrumentationNodeModuleDefinition("http", ["*"], (moduleExports2) => {
const isESM = moduleExports2[Symbol.toStringTag] === "Module";
if (!this.getConfig().disableOutgoingRequestInstrumentation) {
const patchedRequest = this._wrap(moduleExports2, "request", this._getPatchOutgoingRequestFunction("http"));
const patchedGet = this._wrap(moduleExports2, "get", this._getPatchOutgoingGetFunction(patchedRequest));
if (isESM) {
moduleExports2.default.request = patchedRequest;
moduleExports2.default.get = patchedGet;
}
}
if (!this.getConfig().disableIncomingRequestInstrumentation) {
this._wrap(moduleExports2.Server.prototype, "emit", this._getPatchIncomingRequestFunction("http"));
}
return moduleExports2;
}, (moduleExports2) => {
if (moduleExports2 === void 0)
return;
if (!this.getConfig().disableOutgoingRequestInstrumentation) {
this._unwrap(moduleExports2, "request");
this._unwrap(moduleExports2, "get");
}
if (!this.getConfig().disableIncomingRequestInstrumentation) {
this._unwrap(moduleExports2.Server.prototype, "emit");
}
});
}
_getHttpsInstrumentation() {
return new instrumentation_1.InstrumentationNodeModuleDefinition("https", ["*"], (moduleExports2) => {
const isESM = moduleExports2[Symbol.toStringTag] === "Module";
if (!this.getConfig().disableOutgoingRequestInstrumentation) {
const patchedRequest = this._wrap(moduleExports2, "request", this._getPatchHttpsOutgoingRequestFunction("https"));
const patchedGet = this._wrap(moduleExports2, "get", this._getPatchHttpsOutgoingGetFunction(patchedRequest));
if (isESM) {
moduleExports2.default.request = patchedRequest;
moduleExports2.default.get = patchedGet;
}
}
if (!this.getConfig().disableIncomingRequestInstrumentation) {
this._wrap(moduleExports2.Server.prototype, "emit", this._getPatchIncomingRequestFunction("https"));
}
return moduleExports2;
}, (moduleExports2) => {
if (moduleExports2 === void 0)
return;
if (!this.getConfig().disableOutgoingRequestInstrumentation) {
this._unwrap(moduleExports2, "request");
this._unwrap(moduleExports2, "get");
}
if (!this.getConfig().disableIncomingRequestInstrumentation) {
this._unwrap(moduleExports2.Server.prototype, "emit");
}
});
}
/**
* Creates spans for incoming requests, restoring spans' context if applied.
*/
_getPatchIncomingRequestFunction(component) {
return (original) => {
return this._incomingRequestFunction(component, original);
};
}
/**
* Creates spans for outgoing requests, sending spans' context for distributed
* tracing.
*/
_getPatchOutgoingRequestFunction(component) {
return (original) => {
return this._outgoingRequestFunction(component, original);
};
}
_getPatchOutgoingGetFunction(clientRequest) {
return (_original) => {
return function outgoingGetRequest(options, ...args2) {
const req = clientRequest(options, ...args2);
req.end();
return req;
};
};
}
/** Patches HTTPS outgoing requests */
_getPatchHttpsOutgoingRequestFunction(component) {
return (original) => {
const instrumentation = this;
return function httpsOutgoingRequest(options, ...args2) {
if (component === "https" && typeof options === "object" && options?.constructor?.name !== "URL") {
options = Object.assign({}, options);
instrumentation._setDefaultOptions(options);
}
return instrumentation._getPatchOutgoingRequestFunction(component)(original)(options, ...args2);
};
};
}
_setDefaultOptions(options) {
options.protocol = options.protocol || "https:";
options.port = options.port || 443;
}
/** Patches HTTPS outgoing get requests */
_getPatchHttpsOutgoingGetFunction(clientRequest) {
return (original) => {
const instrumentation = this;
return function httpsOutgoingRequest(options, ...args2) {
return instrumentation._getPatchOutgoingGetFunction(clientRequest)(original)(options, ...args2);
};
};
}
/**
* Attach event listeners to a client request to end span and add span attributes.
*
* @param request The original request object.
* @param span representing the current operation
* @param startTime representing the start time of the request to calculate duration in Metric
* @param oldMetricAttributes metric attributes for old semantic conventions
* @param stableMetricAttributes metric attributes for new semantic conventions
*/
_traceClientRequest(request, span, startTime, oldMetricAttributes, stableMetricAttributes) {
if (this.getConfig().requestHook) {
this._callRequestHook(span, request);
}
let responseFinished = false;
request.prependListener("response", (response) => {
this._diag.debug("outgoingRequest on response()");
if (request.listenerCount("response") <= 1) {
response.resume();
}
const responseAttributes = (0, utils_1.getOutgoingRequestAttributesOnResponse)(response, this._semconvStability);
span.setAttributes(responseAttributes);
oldMetricAttributes = Object.assign(oldMetricAttributes, (0, utils_1.getOutgoingRequestMetricAttributesOnResponse)(responseAttributes));
stableMetricAttributes = Object.assign(stableMetricAttributes, (0, utils_1.getOutgoingStableRequestMetricAttributesOnResponse)(responseAttributes));
if (this.getConfig().responseHook) {
this._callResponseHook(span, response);
}
this._headerCapture.client.captureRequestHeaders(span, (header) => request.getHeader(header));
this._headerCapture.client.captureResponseHeaders(span, (header) => response.headers[header]);
api_1.context.bind(api_1.context.active(), response);
const endHandler = () => {
this._diag.debug("outgoingRequest on end()");
if (responseFinished) {
return;
}
responseFinished = true;
let status2;
if (response.aborted && !response.complete) {
status2 = { code: api_1.SpanStatusCode.ERROR };
} else {
status2 = {
code: (0, utils_1.parseResponseStatus)(api_1.SpanKind.CLIENT, response.statusCode)
};
}
span.setStatus(status2);
if (this.getConfig().applyCustomAttributesOnSpan) {
(0, instrumentation_1.safeExecuteInTheMiddle)(() => this.getConfig().applyCustomAttributesOnSpan(span, request, response), () => {
}, true);
}
this._closeHttpSpan(span, api_1.SpanKind.CLIENT, startTime, oldMetricAttributes, stableMetricAttributes);
};
response.on("end", endHandler);
response.on(events_1.errorMonitor, (error40) => {
this._diag.debug("outgoingRequest on error()", error40);
if (responseFinished) {
return;
}
responseFinished = true;
this._onOutgoingRequestError(span, oldMetricAttributes, stableMetricAttributes, startTime, error40);
});
});
request.on("close", () => {
this._diag.debug("outgoingRequest on request close()");
if (request.aborted || responseFinished) {
return;
}
responseFinished = true;
this._closeHttpSpan(span, api_1.SpanKind.CLIENT, startTime, oldMetricAttributes, stableMetricAttributes);
});
request.on(events_1.errorMonitor, (error40) => {
this._diag.debug("outgoingRequest on request error()", error40);
if (responseFinished) {
return;
}
responseFinished = true;
this._onOutgoingRequestError(span, oldMetricAttributes, stableMetricAttributes, startTime, error40);
});
this._diag.debug("http.ClientRequest return request");
return request;
}
_incomingRequestFunction(component, original) {
const instrumentation = this;
return function incomingRequest(event, ...args2) {
if (event !== "request") {
return original.apply(this, [event, ...args2]);
}
const request = args2[0];
const response = args2[1];
const method = request.method || "GET";
instrumentation._diag.debug(`${component} instrumentation incomingRequest`);
if ((0, instrumentation_1.safeExecuteInTheMiddle)(() => instrumentation.getConfig().ignoreIncomingRequestHook?.(request), (e2) => {
if (e2 != null) {
instrumentation._diag.error("caught ignoreIncomingRequestHook error: ", e2);
}
}, true)) {
return api_1.context.with((0, core_1.suppressTracing)(api_1.context.active()), () => {
api_1.context.bind(api_1.context.active(), request);
api_1.context.bind(api_1.context.active(), response);
return original.apply(this, [event, ...args2]);
});
}
const headers = request.headers;
const spanAttributes = (0, utils_1.getIncomingRequestAttributes)(request, {
component,
serverName: instrumentation.getConfig().serverName,
hookAttributes: instrumentation._callStartSpanHook(request, instrumentation.getConfig().startIncomingSpanHook),
semconvStability: instrumentation._semconvStability,
enableSyntheticSourceDetection: instrumentation.getConfig().enableSyntheticSourceDetection || false
}, instrumentation._diag);
const spanOptions = {
kind: api_1.SpanKind.SERVER,
attributes: spanAttributes
};
const startTime = (0, core_1.hrTime)();
const oldMetricAttributes = (0, utils_1.getIncomingRequestMetricAttributes)(spanAttributes);
const stableMetricAttributes = {
[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD]: spanAttributes[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD],
[semantic_conventions_1.ATTR_URL_SCHEME]: spanAttributes[semantic_conventions_1.ATTR_URL_SCHEME]
};
if (spanAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION]) {
stableMetricAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION] = spanAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION];
}
const ctx = api_1.propagation.extract(api_1.ROOT_CONTEXT, headers);
const span = instrumentation._startHttpSpan(method, spanOptions, ctx);
const rpcMetadata = {
type: core_1.RPCType.HTTP,
span
};
return api_1.context.with((0, core_1.setRPCMetadata)(api_1.trace.setSpan(ctx, span), rpcMetadata), () => {
api_1.context.bind(api_1.context.active(), request);
api_1.context.bind(api_1.context.active(), response);
if (instrumentation.getConfig().requestHook) {
instrumentation._callRequestHook(span, request);
}
if (instrumentation.getConfig().responseHook) {
instrumentation._callResponseHook(span, response);
}
instrumentation._headerCapture.server.captureRequestHeaders(span, (header) => request.headers[header]);
let hasError2 = false;
response.on("close", () => {
if (hasError2) {
return;
}
instrumentation._onServerResponseFinish(request, response, span, oldMetricAttributes, stableMetricAttributes, startTime);
});
response.on(events_1.errorMonitor, (err2) => {
hasError2 = true;
instrumentation._onServerResponseError(span, oldMetricAttributes, stableMetricAttributes, startTime, err2);
});
return (0, instrumentation_1.safeExecuteInTheMiddle)(() => original.apply(this, [event, ...args2]), (error40) => {
if (error40) {
instrumentation._onServerResponseError(span, oldMetricAttributes, stableMetricAttributes, startTime, error40);
throw error40;
}
});
});
};
}
_outgoingRequestFunction(component, original) {
const instrumentation = this;
return function outgoingRequest(options, ...args2) {
if (!(0, utils_1.isValidOptionsType)(options)) {
return original.apply(this, [options, ...args2]);
}
const extraOptions = typeof args2[0] === "object" && (typeof options === "string" || options instanceof url3.URL) ? args2.shift() : void 0;
const { method, invalidUrl, optionsParsed } = (0, utils_1.getRequestInfo)(instrumentation._diag, options, extraOptions);
if ((0, instrumentation_1.safeExecuteInTheMiddle)(() => instrumentation.getConfig().ignoreOutgoingRequestHook?.(optionsParsed), (e2) => {
if (e2 != null) {
instrumentation._diag.error("caught ignoreOutgoingRequestHook error: ", e2);
}
}, true)) {
return original.apply(this, [optionsParsed, ...args2]);
}
const { hostname: hostname3, port } = (0, utils_1.extractHostnameAndPort)(optionsParsed);
const attributes = (0, utils_1.getOutgoingRequestAttributes)(optionsParsed, {
component,
port,
hostname: hostname3,
hookAttributes: instrumentation._callStartSpanHook(optionsParsed, instrumentation.getConfig().startOutgoingSpanHook),
redactedQueryParams: instrumentation.getConfig().redactedQueryParams
// Added config for adding custom query strings
}, instrumentation._semconvStability, instrumentation.getConfig().enableSyntheticSourceDetection || false);
const startTime = (0, core_1.hrTime)();
const oldMetricAttributes = (0, utils_1.getOutgoingRequestMetricAttributes)(attributes);
const stableMetricAttributes = {
[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD]: attributes[semantic_conventions_1.ATTR_HTTP_REQUEST_METHOD],
[semantic_conventions_1.ATTR_SERVER_ADDRESS]: attributes[semantic_conventions_1.ATTR_SERVER_ADDRESS],
[semantic_conventions_1.ATTR_SERVER_PORT]: attributes[semantic_conventions_1.ATTR_SERVER_PORT]
};
if (attributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE]) {
stableMetricAttributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE] = attributes[semantic_conventions_1.ATTR_HTTP_RESPONSE_STATUS_CODE];
}
if (attributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION]) {
stableMetricAttributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION] = attributes[semantic_conventions_1.ATTR_NETWORK_PROTOCOL_VERSION];
}
const spanOptions = {
kind: api_1.SpanKind.CLIENT,
attributes
};
const span = instrumentation._startHttpSpan(method, spanOptions);
const parentContext = api_1.context.active();
const requestContext = api_1.trace.setSpan(parentContext, span);
if (!optionsParsed.headers) {
optionsParsed.headers = {};
} else {
optionsParsed.headers = Object.assign({}, optionsParsed.headers);
}
api_1.propagation.inject(requestContext, optionsParsed.headers);
return api_1.context.with(requestContext, () => {
const cb = args2[args2.length - 1];
if (typeof cb === "function") {
args2[args2.length - 1] = api_1.context.bind(parentContext, cb);
}
const request = (0, instrumentation_1.safeExecuteInTheMiddle)(() => {
if (invalidUrl) {
return original.apply(this, [options, ...args2]);
} else {
return original.apply(this, [optionsParsed, ...args2]);
}
}, (error40) => {
if (error40) {
instrumentation._onOutgoingRequestError(span, oldMetricAttributes, stableMetricAttributes, startTime, error40);
throw error40;
}
});
instrumentation._diag.debug(`${component} instrumentation outgoingRequest`);
api_1.context.bind(parentContext, request);
return instrumentation._traceClientRequest(request, span, startTime, oldMetricAttributes, stableMetricAttributes);
});
};
}
_onServerResponseFinish(request, response, span, oldMetricAttributes, stableMetricAttributes, startTime) {
const attributes = (0, utils_1.getIncomingRequestAttributesOnResponse)(request, response, this._semconvStability);
oldMetricAttributes = Object.assign(oldMetricAttributes, (0, utils_1.getIncomingRequestMetricAttributesOnResponse)(attributes));
stableMetricAttributes = Object.assign(stableMetricAttributes, (0, utils_1.getIncomingStableRequestMetricAttributesOnResponse)(attributes));
this._headerCapture.server.captureResponseHeaders(span, (header) => response.getHeader(header));
span.setAttributes(attributes).setStatus({
code: (0, utils_1.parseResponseStatus)(api_1.SpanKind.SERVER, response.statusCode)
});
const route = attributes[semantic_conventions_1.ATTR_HTTP_ROUTE];
if (route) {
span.updateName(`${request.method || "GET"} ${route}`);
}
if (this.getConfig().applyCustomAttributesOnSpan) {
(0, instrumentation_1.safeExecuteInTheMiddle)(() => this.getConfig().applyCustomAttributesOnSpan(span, request, response), () => {
}, true);
}
this._closeHttpSpan(span, api_1.SpanKind.SERVER, startTime, oldMetricAttributes, stableMetricAttributes);
}
_onOutgoingRequestError(span, oldMetricAttributes, stableMetricAttributes, startTime, error40) {
(0, utils_1.setSpanWithError)(span, error40, this._semconvStability);
stableMetricAttributes[semantic_conventions_1.ATTR_ERROR_TYPE] = error40.name;
this._closeHttpSpan(span, api_1.SpanKind.CLIENT, startTime, oldMetricAttributes, stableMetricAttributes);
}
_onServerResponseError(span, oldMetricAttributes, stableMetricAttributes, startTime, error40) {
(0, utils_1.setSpanWithError)(span, error40, this._semconvStability);
stableMetricAttributes[semantic_conventions_1.ATTR_ERROR_TYPE] = error40.name;
this._closeHttpSpan(span, api_1.SpanKind.SERVER, startTime, oldMetricAttributes, stableMetricAttributes);
}
_startHttpSpan(name3, options, ctx = api_1.context.active()) {
const requireParent = options.kind === api_1.SpanKind.CLIENT ? this.getConfig().requireParentforOutgoingSpans : this.getConfig().requireParentforIncomingSpans;
let span;
const currentSpan = api_1.trace.getSpan(ctx);
if (requireParent === true && (!currentSpan || !api_1.trace.isSpanContextValid(currentSpan.spanContext()))) {
span = api_1.trace.wrapSpanContext(api_1.INVALID_SPAN_CONTEXT);
} else if (requireParent === true && currentSpan?.spanContext().isRemote) {
span = currentSpan;
} else {
span = this.tracer.startSpan(name3, options, ctx);
}
this._spanNotEnded.add(span);
return span;
}
_closeHttpSpan(span, spanKind, startTime, oldMetricAttributes, stableMetricAttributes) {
if (!this._spanNotEnded.has(span)) {
return;
}
span.end();
this._spanNotEnded.delete(span);
const duration3 = (0, core_1.hrTimeToMilliseconds)((0, core_1.hrTimeDuration)(startTime, (0, core_1.hrTime)()));
if (spanKind === api_1.SpanKind.SERVER) {
this._recordServerDuration(duration3, oldMetricAttributes, stableMetricAttributes);
} else if (spanKind === api_1.SpanKind.CLIENT) {
this._recordClientDuration(duration3, oldMetricAttributes, stableMetricAttributes);
}
}
_callResponseHook(span, response) {
(0, instrumentation_1.safeExecuteInTheMiddle)(() => this.getConfig().responseHook(span, response), () => {
}, true);
}
_callRequestHook(span, request) {
(0, instrumentation_1.safeExecuteInTheMiddle)(() => this.getConfig().requestHook(span, request), () => {
}, true);
}
_callStartSpanHook(request, hookFunc) {
if (typeof hookFunc === "function") {
return (0, instrumentation_1.safeExecuteInTheMiddle)(() => hookFunc(request), () => {
}, true);
}
}
_createHeaderCapture() {
const config2 = this.getConfig();
return {
client: {
captureRequestHeaders: (0, utils_1.headerCapture)("request", config2.headersToSpanAttributes?.client?.requestHeaders ?? []),
captureResponseHeaders: (0, utils_1.headerCapture)("response", config2.headersToSpanAttributes?.client?.responseHeaders ?? [])
},
server: {
captureRequestHeaders: (0, utils_1.headerCapture)("request", config2.headersToSpanAttributes?.server?.requestHeaders ?? []),
captureResponseHeaders: (0, utils_1.headerCapture)("response", config2.headersToSpanAttributes?.server?.responseHeaders ?? [])
}
};
}
};
exports2.HttpInstrumentation = HttpInstrumentation2;
}
});
// node_modules/@opentelemetry/instrumentation-http/build/src/index.js
var require_src36 = __commonJS({
"node_modules/@opentelemetry/instrumentation-http/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HttpInstrumentation = void 0;
var http_1 = require_http();
Object.defineProperty(exports2, "HttpInstrumentation", { enumerable: true, get: function() {
return http_1.HttpInstrumentation;
} });
}
});
// node_modules/systeminformation/package.json
var require_package4 = __commonJS({
"node_modules/systeminformation/package.json"(exports2, module2) {
module2.exports = {
name: "systeminformation",
version: "5.31.4",
description: "Advanced, lightweight system and OS information library",
license: "MIT",
author: "Sebastian Hildebrandt <hildebrandt@plus-innovations.com> (https://plus-innovations.com)",
homepage: "https://systeminformation.io",
main: "./lib/index.js",
type: "commonjs",
bin: {
systeminformation: "lib/cli.js"
},
types: "./lib/index.d.ts",
scripts: {
test: "node ./test/test.js",
testDeno: "deno run -A ./test/test.js"
},
files: [
"lib/"
],
keywords: [
"system information",
"sysinfo",
"monitor",
"monitoring",
"os",
"linux",
"osx",
"windows",
"freebsd",
"openbsd",
"netbsd",
"cpu",
"cpuload",
"physical cores",
"logical cores",
"processor",
"cores",
"threads",
"socket type",
"memory",
"file system",
"fsstats",
"diskio",
"block devices",
"netstats",
"network",
"network interfaces",
"network connections",
"network stats",
"iface",
"printer",
"processes",
"users",
"internet",
"battery",
"docker",
"docker stats",
"docker processes",
"graphics",
"graphic card",
"graphic controller",
"gpu",
"display",
"smart",
"disk layout",
"usb",
"audio",
"bluetooth",
"wifi",
"wifinetworks",
"virtual box",
"virtualbox",
"vm",
"backend",
"hardware",
"BIOS",
"chassis"
],
repository: {
type: "git",
url: "git+https://github.com/sebhildebrandt/systeminformation.git"
},
funding: {
type: "Buy me a coffee",
url: "https://www.buymeacoffee.com/systeminfo"
},
os: [
"darwin",
"linux",
"win32",
"freebsd",
"openbsd",
"netbsd",
"sunos",
"android"
],
engines: {
node: ">=8.0.0"
}
};
}
});
// node_modules/systeminformation/lib/util.js
var require_util7 = __commonJS({
"node_modules/systeminformation/lib/util.js"(exports2) {
"use strict";
var os30 = __require("os");
var fs84 = __require("fs");
var path101 = __require("path");
var spawn13 = __require("child_process").spawn;
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var util2 = __require("util");
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _cores = 0;
var codepage = "";
var _smartMonToolsInstalled = null;
var _rpi_cpuinfo = null;
var WINDIR = process.env.WINDIR || "C:\\Windows";
var _psChild;
var _psResult = "";
var _psCmds = [];
var _psPersistent = false;
var _powerShell = "";
var _psToUTF8 = "$OutputEncoding = [System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8 ; ";
var _psCmdStart = "--###START###--";
var _psError = "--ERROR--";
var _psCmdSeperator = "--###ENDCMD###--";
var _psIdSeperator = "--##ID##--";
var execOptsWin = {
windowsHide: true,
maxBuffer: 1024 * 102400,
encoding: "UTF-8",
env: Object.assign({}, process.env, { LANG: "en_US.UTF-8" })
};
var execOptsLinux = {
maxBuffer: 1024 * 102400,
encoding: "UTF-8",
stdio: ["pipe", "pipe", "ignore"]
};
function toInt2(value) {
let result2 = parseInt(value, 10);
if (isNaN(result2)) {
result2 = 0;
}
return result2;
}
function splitByNumber(str2) {
let numberStarted = false;
let num = "";
let cpart = "";
for (const c4 of str2) {
if (c4 >= "0" && c4 <= "9" || numberStarted) {
numberStarted = true;
num += c4;
} else {
cpart += c4;
}
}
return [cpart, num];
}
var stringObj = new String();
var stringReplace = new String().replace;
var stringToLower = new String().toLowerCase;
var stringToString = new String().toString;
var stringSubstr = new String().substr;
var stringSubstring = new String().substring;
var stringTrim = new String().trim;
var stringStartWith = new String().startsWith;
var mathMin = Math.min;
function isFunction(functionToCheck) {
let getType = {};
return functionToCheck && getType.toString.call(functionToCheck) === "[object Function]";
}
function unique(obj) {
const uniques = [];
const stringify3 = {};
for (let i3 = 0; i3 < obj.length; i3++) {
let keys = Object.keys(obj[i3]);
keys.sort((a2, b) => {
return a2 - b;
});
let str2 = "";
for (let j = 0; j < keys.length; j++) {
str2 += JSON.stringify(keys[j]);
str2 += JSON.stringify(obj[i3][keys[j]]);
}
if (!{}.hasOwnProperty.call(stringify3, str2)) {
uniques.push(obj[i3]);
stringify3[str2] = true;
}
}
return uniques;
}
function sortByKey(array2, keys) {
return array2.sort((a2, b) => {
let x = "";
let y = "";
keys.forEach((key) => {
x = x + a2[key];
y = y + b[key];
});
return x < y ? -1 : x > y ? 1 : 0;
});
}
function cores() {
if (_cores === 0) {
_cores = os30.cpus().length;
}
return _cores;
}
function getValue2(lines, property, separator, trimmed2, lineMatch) {
separator = separator || ":";
property = property.toLowerCase();
trimmed2 = trimmed2 || false;
lineMatch = lineMatch || false;
let result2 = "";
lines.some((line) => {
let lineLower = line.toLowerCase().replace(/\t/g, "");
if (trimmed2) {
lineLower = lineLower.trim();
}
if (lineLower.startsWith(property) && (lineMatch ? lineLower.match(property + separator) || lineLower.match(property + " " + separator) : true)) {
const parts2 = trimmed2 ? line.trim().split(separator) : line.split(separator);
if (parts2.length >= 2) {
parts2.shift();
result2 = parts2.join(separator).trim();
return true;
}
}
return false;
});
return result2;
}
function decodeEscapeSequence(str2, base) {
base = base || 16;
return str2.replace(/\\x([0-9A-Fa-f]{2})/g, function() {
return String.fromCharCode(parseInt(arguments[1], base));
});
}
function detectSplit(str2) {
let seperator = "";
let part = 0;
str2.split("").forEach((element) => {
if (element >= "0" && element <= "9") {
if (part === 1) {
part++;
}
} else {
if (part === 0) {
part++;
}
if (part === 1) {
seperator += element;
}
}
});
return seperator;
}
function parseTime(t2, pmDesignator) {
pmDesignator = pmDesignator || "";
t2 = t2.toUpperCase();
let hour = 0;
let min = 0;
const splitter = detectSplit(t2);
const parts2 = t2.split(splitter);
if (parts2.length >= 2) {
if (parts2[2]) {
parts2[1] += parts2[2];
}
let isPM = parts2[1] && parts2[1].toLowerCase().indexOf("pm") > -1 || parts2[1].toLowerCase().indexOf("p.m.") > -1 || parts2[1].toLowerCase().indexOf("p. m.") > -1 || parts2[1].toLowerCase().indexOf("n") > -1 || parts2[1].toLowerCase().indexOf("ch") > -1 || parts2[1].toLowerCase().indexOf("\xF6s") > -1 || pmDesignator && parts2[1].toLowerCase().indexOf(pmDesignator) > -1;
hour = parseInt(parts2[0], 10);
min = parseInt(parts2[1], 10);
hour = isPM && hour < 12 ? hour + 12 : hour;
return ("0" + hour).substr(-2) + ":" + ("0" + min).substr(-2);
}
}
function parseDateTime(dt, culture) {
const result2 = {
date: "",
time: ""
};
culture = culture || {};
const dateFormat = (culture.dateFormat || "").toLowerCase();
const pmDesignator = culture.pmDesignator || "";
const parts2 = dt.split(" ");
if (parts2[0]) {
if (parts2[0].indexOf("/") >= 0) {
const dtparts = parts2[0].split("/");
if (dtparts.length === 3) {
if (dtparts[0].length === 4) {
result2.date = dtparts[0] + "-" + ("0" + dtparts[1]).substr(-2) + "-" + ("0" + dtparts[2]).substr(-2);
} else if (dtparts[2].length === 2) {
if (dateFormat.indexOf("/d/") > -1 || dateFormat.indexOf("/dd/") > -1) {
result2.date = "20" + dtparts[2] + "-" + ("0" + dtparts[1]).substr(-2) + "-" + ("0" + dtparts[0]).substr(-2);
} else {
result2.date = "20" + dtparts[2] + "-" + ("0" + dtparts[1]).substr(-2) + "-" + ("0" + dtparts[0]).substr(-2);
}
} else {
const isEN = dt.toLowerCase().indexOf("pm") > -1 || dt.toLowerCase().indexOf("p.m.") > -1 || dt.toLowerCase().indexOf("p. m.") > -1 || dt.toLowerCase().indexOf("am") > -1 || dt.toLowerCase().indexOf("a.m.") > -1 || dt.toLowerCase().indexOf("a. m.") > -1;
if ((isEN || dateFormat.indexOf("/d/") > -1 || dateFormat.indexOf("/dd/") > -1) && dateFormat.indexOf("dd/") !== 0) {
result2.date = dtparts[2] + "-" + ("0" + dtparts[0]).substr(-2) + "-" + ("0" + dtparts[1]).substr(-2);
} else {
result2.date = dtparts[2] + "-" + ("0" + dtparts[1]).substr(-2) + "-" + ("0" + dtparts[0]).substr(-2);
}
}
}
}
if (parts2[0].indexOf(".") >= 0) {
const dtparts = parts2[0].split(".");
if (dtparts.length === 3) {
if (dateFormat.indexOf(".d.") > -1 || dateFormat.indexOf(".dd.") > -1) {
result2.date = dtparts[2] + "-" + ("0" + dtparts[0]).substr(-2) + "-" + ("0" + dtparts[1]).substr(-2);
} else {
result2.date = dtparts[2] + "-" + ("0" + dtparts[1]).substr(-2) + "-" + ("0" + dtparts[0]).substr(-2);
}
}
}
if (parts2[0].indexOf("-") >= 0) {
const dtparts = parts2[0].split("-");
if (dtparts.length === 3) {
result2.date = dtparts[0] + "-" + ("0" + dtparts[1]).substr(-2) + "-" + ("0" + dtparts[2]).substr(-2);
}
}
}
if (parts2[1]) {
parts2.shift();
const time3 = parts2.join(" ");
result2.time = parseTime(time3, pmDesignator);
}
return result2;
}
function parseHead(head, rights) {
let space = rights > 0;
let count2 = 1;
let from = 0;
let to = 0;
const result2 = [];
for (let i3 = 0; i3 < head.length; i3++) {
if (count2 <= rights) {
if (/\s/.test(head[i3]) && !space) {
to = i3 - 1;
result2.push({
from,
to: to + 1,
cap: head.substring(from, to + 1)
});
from = to + 2;
count2++;
}
space = head[i3] === " ";
} else {
if (!/\s/.test(head[i3]) && space) {
to = i3 - 1;
if (from < to) {
result2.push({
from,
to,
cap: head.substring(from, to)
});
}
from = to + 1;
count2++;
}
space = head[i3] === " ";
}
}
to = 5e3;
result2.push({
from,
to,
cap: head.substring(from, to)
});
let len = result2.length;
for (let i3 = 0; i3 < len; i3++) {
if (result2[i3].cap.replace(/\s/g, "").length === 0) {
if (i3 + 1 < len) {
result2[i3].to = result2[i3 + 1].to;
result2[i3].cap = result2[i3].cap + result2[i3 + 1].cap;
result2.splice(i3 + 1, 1);
len = len - 1;
}
}
}
return result2;
}
function findObjectByKey(array2, key, value) {
for (let i3 = 0; i3 < array2.length; i3++) {
if (array2[i3][key] === value) {
return i3;
}
}
return -1;
}
function getPowershell() {
_powerShell = "powershell.exe";
if (_windows) {
const defaultPath = `${WINDIR}\\system32\\WindowsPowerShell\\v1.0\\powershell.exe`;
if (fs84.existsSync(defaultPath)) {
_powerShell = defaultPath;
}
}
}
function getVboxmanage() {
return _windows ? `"${process.env.VBOX_INSTALL_PATH || process.env.VBOX_MSI_INSTALL_PATH}\\VBoxManage.exe"` : "vboxmanage";
}
function powerShellProceedResults(data) {
let id = "";
let parts2;
let res = "";
if (data.indexOf(_psCmdStart) >= 0) {
parts2 = data.split(_psCmdStart);
const parts22 = parts2[1].split(_psIdSeperator);
id = parts22[0];
if (parts22.length > 1) {
data = parts22.slice(1).join(_psIdSeperator);
}
}
if (data.indexOf(_psCmdSeperator) >= 0) {
parts2 = data.split(_psCmdSeperator);
res = parts2[0];
}
let remove2 = -1;
for (let i3 = 0; i3 < _psCmds.length; i3++) {
if (_psCmds[i3].id === id) {
remove2 = i3;
_psCmds[i3].callback(res);
}
}
if (remove2 >= 0) {
_psCmds.splice(remove2, 1);
}
}
function powerShellStart() {
if (!_psChild) {
_psChild = spawn13(_powerShell, ["-NoProfile", "-NoLogo", "-InputFormat", "Text", "-NoExit", "-Command", "-"], {
stdio: "pipe",
windowsHide: true,
maxBuffer: 1024 * 102400,
encoding: "UTF-8",
env: Object.assign({}, process.env, { LANG: "en_US.UTF-8" })
});
if (_psChild && _psChild.pid) {
_psPersistent = true;
_psChild.stdout.on("data", (data) => {
_psResult = _psResult + data.toString("utf8");
if (data.indexOf(_psCmdSeperator) >= 0) {
powerShellProceedResults(_psResult);
_psResult = "";
}
});
_psChild.stderr.on("data", () => {
powerShellProceedResults(_psResult + _psError);
});
_psChild.on("error", () => {
powerShellProceedResults(_psResult + _psError);
});
_psChild.on("close", () => {
if (_psChild) {
_psChild.kill();
}
});
}
}
}
function powerShellRelease() {
try {
if (_psChild) {
_psChild.stdin.write("exit" + os30.EOL);
_psChild.stdin.end();
}
} catch {
if (_psChild) {
_psChild.kill();
}
}
_psPersistent = false;
_psChild = null;
}
function powerShell(cmd) {
if (_psPersistent) {
const id = Math.random().toString(36).substring(2, 12);
return new Promise((resolve25) => {
process.nextTick(() => {
function callback(data) {
resolve25(data);
}
_psCmds.push({
id,
cmd,
callback,
start: /* @__PURE__ */ new Date()
});
try {
if (_psChild && _psChild.pid) {
_psChild.stdin.write(_psToUTF8 + "echo " + _psCmdStart + id + _psIdSeperator + "; " + os30.EOL + cmd + os30.EOL + "echo " + _psCmdSeperator + os30.EOL);
}
} catch {
resolve25("");
}
});
});
} else {
let result2 = "";
return new Promise((resolve25) => {
process.nextTick(() => {
try {
const osVersion = os30.release().split(".").map(Number);
const spanOptions = osVersion[0] < 10 ? ["-NoProfile", "-NoLogo", "-InputFormat", "Text", "-NoExit", "-ExecutionPolicy", "Unrestricted", "-Command", "-"] : ["-NoProfile", "-NoLogo", "-InputFormat", "Text", "-ExecutionPolicy", "Unrestricted", "-Command", _psToUTF8 + cmd];
const child = spawn13(_powerShell, spanOptions, {
stdio: "pipe",
windowsHide: true,
maxBuffer: 1024 * 102400,
encoding: "UTF-8",
env: Object.assign({}, process.env, { LANG: "en_US.UTF-8" })
});
if (child && !child.pid) {
child.on("error", () => {
resolve25(result2);
});
}
if (child && child.pid) {
child.stdout.on("data", (data) => {
result2 = result2 + data.toString("utf8");
});
child.stderr.on("data", () => {
child.kill();
resolve25(result2);
});
child.on("close", () => {
child.kill();
resolve25(result2);
});
child.on("error", () => {
child.kill();
resolve25(result2);
});
if (osVersion[0] < 10) {
try {
child.stdin.write(_psToUTF8 + cmd + os30.EOL);
child.stdin.write("exit" + os30.EOL);
child.stdin.end();
} catch {
child.kill();
resolve25(result2);
}
}
} else {
resolve25(result2);
}
} catch {
resolve25(result2);
}
});
});
}
}
function execSafe(cmd, args2, options) {
let result2 = "";
options = options || {};
return new Promise((resolve25) => {
process.nextTick(() => {
try {
const child = spawn13(cmd, args2, options);
if (child && !child.pid) {
child.on("error", () => {
resolve25(result2);
});
}
if (child && child.pid) {
child.stdout.on("data", (data) => {
result2 += data.toString();
});
child.on("close", () => {
child.kill();
resolve25(result2);
});
child.on("error", () => {
child.kill();
resolve25(result2);
});
} else {
resolve25(result2);
}
} catch {
resolve25(result2);
}
});
});
}
function getCodepage() {
if (_windows) {
if (!codepage) {
try {
const stdout = execSync5("chcp", execOptsWin);
const lines = stdout.toString().split("\r\n");
const parts2 = lines[0].split(":");
codepage = parts2.length > 1 ? parts2[1].replace(".", "").trim() : "";
} catch {
codepage = "437";
}
}
return codepage;
}
if (_linux || _darwin || _freebsd || _openbsd || _netbsd) {
if (!codepage) {
try {
const stdout = execSync5("echo $LANG", execOptsLinux);
const lines = stdout.toString().split("\r\n");
const parts2 = lines[0].split(".");
codepage = parts2.length > 1 ? parts2[1].trim() : "";
if (!codepage) {
codepage = "UTF-8";
}
} catch {
codepage = "UTF-8";
}
}
return codepage;
}
}
function smartMonToolsInstalled() {
if (_smartMonToolsInstalled !== null) {
return _smartMonToolsInstalled;
}
_smartMonToolsInstalled = false;
if (_windows) {
try {
const pathArray = execSync5("WHERE smartctl 2>nul", execOptsWin).toString().split("\r\n");
if (pathArray && pathArray.length) {
_smartMonToolsInstalled = pathArray[0].indexOf(":\\") >= 0;
} else {
_smartMonToolsInstalled = false;
}
} catch {
_smartMonToolsInstalled = false;
}
}
if (_linux || _darwin || _freebsd || _openbsd || _netbsd) {
try {
const pathArray = execSync5("which smartctl 2>/dev/null", execOptsLinux).toString().split("\r\n");
_smartMonToolsInstalled = pathArray.length > 0;
} catch {
util2.noop();
}
}
return _smartMonToolsInstalled;
}
function isRaspberry(cpuinfo) {
const PI_MODEL_NO = ["BCM2708", "BCM2709", "BCM2710", "BCM2711", "BCM2712", "BCM2835", "BCM2836", "BCM2837", "BCM2837B0"];
if (_rpi_cpuinfo !== null) {
cpuinfo = _rpi_cpuinfo;
} else if (cpuinfo === void 0) {
try {
cpuinfo = fs84.readFileSync("/proc/cpuinfo", { encoding: "utf8" }).toString().split("\n");
_rpi_cpuinfo = cpuinfo;
} catch {
return false;
}
}
const hardware = getValue2(cpuinfo, "hardware");
const model = getValue2(cpuinfo, "model");
return hardware && PI_MODEL_NO.indexOf(hardware) > -1 || model && model.indexOf("Raspberry Pi") > -1;
}
function isRaspbian() {
let osrelease = [];
try {
osrelease = fs84.readFileSync("/etc/os-release", { encoding: "utf8" }).toString().split("\n");
} catch {
return false;
}
const id = getValue2(osrelease, "id", "=");
return id && id.indexOf("raspbian") > -1;
}
function execWin(cmd, opts, callback) {
if (!callback) {
callback = opts;
opts = execOptsWin;
}
let newCmd = "chcp 65001 > nul && cmd /C " + cmd + " && chcp " + codepage + " > nul";
exec3(newCmd, opts, (error40, stdout) => {
callback(error40, stdout);
});
}
function darwinXcodeExists() {
const cmdLineToolsExists = fs84.existsSync("/Library/Developer/CommandLineTools/usr/bin/");
const xcodeAppExists = fs84.existsSync("/Applications/Xcode.app/Contents/Developer/Tools");
const xcodeExists = fs84.existsSync("/Library/Developer/Xcode/");
return cmdLineToolsExists || xcodeExists || xcodeAppExists;
}
function nanoSeconds() {
const time3 = process.hrtime();
if (!Array.isArray(time3) || time3.length !== 2) {
return 0;
}
return +time3[0] * 1e9 + +time3[1];
}
function countUniqueLines(lines, startingWith) {
startingWith = startingWith || "";
const uniqueLines = [];
lines.forEach((line) => {
if (line.startsWith(startingWith)) {
if (uniqueLines.indexOf(line) === -1) {
uniqueLines.push(line);
}
}
});
return uniqueLines.length;
}
function countLines(lines, startingWith) {
startingWith = startingWith || "";
const uniqueLines = [];
lines.forEach((line) => {
if (line.startsWith(startingWith)) {
uniqueLines.push(line);
}
});
return uniqueLines.length;
}
function sanitizeShellString(str2, strict) {
if (typeof strict === "undefined") {
strict = false;
}
const s2 = str2 || "";
let result2 = "";
const l2 = mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (!(s2[i3] === void 0 || s2[i3] === ">" || s2[i3] === "<" || s2[i3] === "*" || s2[i3] === "?" || s2[i3] === "[" || s2[i3] === "]" || s2[i3] === "|" || s2[i3] === "\u02DA" || s2[i3] === "$" || s2[i3] === ";" || s2[i3] === "&" || s2[i3] === "]" || s2[i3] === "#" || s2[i3] === "\\" || s2[i3] === " " || s2[i3] === "\n" || s2[i3] === "\r" || s2[i3] === "'" || s2[i3] === "`" || s2[i3] === '"' || s2[i3].length > 1 || strict && s2[i3] === "(" || strict && s2[i3] === ")" || strict && s2[i3] === "@" || strict && s2[i3] === " " || strict && s2[i3] === "{" || strict && s2[i3] === ";" || strict && s2[i3] === "}")) {
result2 = result2 + s2[i3];
}
}
return result2;
}
function isPrototypePolluted() {
const s2 = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
let notPolluted = true;
let st = "";
try {
st.__proto__.replace = stringReplace;
st.__proto__.toLowerCase = stringToLower;
st.__proto__.toString = stringToString;
st.__proto__.substr = stringSubstr;
st.__proto__.substring = stringSubstring;
st.__proto__.trim = stringTrim;
st.__proto__.startsWith = stringStartWith;
} catch (e2) {
Object.setPrototypeOf(st, stringObj);
}
notPolluted = notPolluted || s2.length !== 62;
const ms = Date.now();
if (typeof ms === "number" && ms > 16e11) {
const l2 = ms % 100 + 15;
for (let i3 = 0; i3 < l2; i3++) {
const r2 = Math.random() * 61.99999999 + 1;
const rs = parseInt(Math.floor(r2).toString(), 10);
const rs2 = parseInt(r2.toString().split(".")[0], 10);
const q = Math.random() * 61.99999999 + 1;
const qs = parseInt(Math.floor(q).toString(), 10);
const qs2 = parseInt(q.toString().split(".")[0], 10);
notPolluted = notPolluted && r2 !== q;
notPolluted = notPolluted && rs === rs2 && qs === qs2;
st += s2[rs - 1];
}
notPolluted = notPolluted && st.length === l2;
let p = Math.random() * l2 * 0.9999999999;
let stm = st.substr(0, p) + " " + st.substr(p, 2e3);
try {
stm.__proto__.replace = stringReplace;
} catch (e2) {
Object.setPrototypeOf(stm, stringObj);
}
let sto = stm.replace(/ /g, "");
notPolluted = notPolluted && st === sto;
p = Math.random() * l2 * 0.9999999999;
stm = st.substr(0, p) + "{" + st.substr(p, 2e3);
sto = stm.replace(/{/g, "");
notPolluted = notPolluted && st === sto;
p = Math.random() * l2 * 0.9999999999;
stm = st.substr(0, p) + "*" + st.substr(p, 2e3);
sto = stm.replace(/\*/g, "");
notPolluted = notPolluted && st === sto;
p = Math.random() * l2 * 0.9999999999;
stm = st.substr(0, p) + "$" + st.substr(p, 2e3);
sto = stm.replace(/\$/g, "");
notPolluted = notPolluted && st === sto;
const stl = st.toLowerCase();
notPolluted = notPolluted && stl.length === l2 && stl[l2 - 1] && !stl[l2];
for (let i3 = 0; i3 < l2; i3++) {
const s1 = st[i3];
try {
s1.__proto__.toLowerCase = stringToLower;
} catch {
Object.setPrototypeOf(st, stringObj);
}
const s22 = stl ? stl[i3] : "";
const s1l = s1.toLowerCase();
notPolluted = notPolluted && s1l[0] === s22 && s1l[0] && !s1l[1];
}
}
return !notPolluted;
}
function hex2bin(hex) {
return ("00000000" + parseInt(hex, 16).toString(2)).substr(-8);
}
function getFilesInPath(source) {
const lstatSync2 = fs84.lstatSync;
const readdirSync2 = fs84.readdirSync;
const join38 = path101.join;
function isDirectory(source2) {
return lstatSync2(source2).isDirectory();
}
function isFile(source2) {
return lstatSync2(source2).isFile();
}
function getDirectories(source2) {
return readdirSync2(source2).map((name3) => {
return join38(source2, name3);
}).filter(isDirectory);
}
function getFiles(source2) {
return readdirSync2(source2).map((name3) => {
return join38(source2, name3);
}).filter(isFile);
}
function getFilesRecursively(source2) {
try {
const dirs = getDirectories(source2);
const files = dirs.map((dir) => {
return getFilesRecursively(dir);
}).reduce((a2, b) => {
return a2.concat(b);
}, []);
return files.concat(getFiles(source2));
} catch {
return [];
}
}
if (fs84.existsSync(source)) {
return getFilesRecursively(source);
} else {
return [];
}
}
function decodePiCpuinfo(lines) {
if (_rpi_cpuinfo === null) {
_rpi_cpuinfo = lines;
} else if (lines === void 0) {
lines = _rpi_cpuinfo;
}
const oldRevisionCodes = {
"0002": {
type: "B",
revision: "1.0",
memory: 256,
manufacturer: "Egoman",
processor: "BCM2835"
},
"0003": {
type: "B",
revision: "1.0",
memory: 256,
manufacturer: "Egoman",
processor: "BCM2835"
},
"0004": {
type: "B",
revision: "2.0",
memory: 256,
manufacturer: "Sony UK",
processor: "BCM2835"
},
"0005": {
type: "B",
revision: "2.0",
memory: 256,
manufacturer: "Qisda",
processor: "BCM2835"
},
"0006": {
type: "B",
revision: "2.0",
memory: 256,
manufacturer: "Egoman",
processor: "BCM2835"
},
"0007": {
type: "A",
revision: "2.0",
memory: 256,
manufacturer: "Egoman",
processor: "BCM2835"
},
"0008": {
type: "A",
revision: "2.0",
memory: 256,
manufacturer: "Sony UK",
processor: "BCM2835"
},
"0009": {
type: "A",
revision: "2.0",
memory: 256,
manufacturer: "Qisda",
processor: "BCM2835"
},
"000d": {
type: "B",
revision: "2.0",
memory: 512,
manufacturer: "Egoman",
processor: "BCM2835"
},
"000e": {
type: "B",
revision: "2.0",
memory: 512,
manufacturer: "Sony UK",
processor: "BCM2835"
},
"000f": {
type: "B",
revision: "2.0",
memory: 512,
manufacturer: "Egoman",
processor: "BCM2835"
},
"0010": {
type: "B+",
revision: "1.2",
memory: 512,
manufacturer: "Sony UK",
processor: "BCM2835"
},
"0011": {
type: "CM1",
revision: "1.0",
memory: 512,
manufacturer: "Sony UK",
processor: "BCM2835"
},
"0012": {
type: "A+",
revision: "1.1",
memory: 256,
manufacturer: "Sony UK",
processor: "BCM2835"
},
"0013": {
type: "B+",
revision: "1.2",
memory: 512,
manufacturer: "Embest",
processor: "BCM2835"
},
"0014": {
type: "CM1",
revision: "1.0",
memory: 512,
manufacturer: "Embest",
processor: "BCM2835"
},
"0015": {
type: "A+",
revision: "1.1",
memory: 256,
manufacturer: "512MB Embest",
processor: "BCM2835"
}
};
const processorList = ["BCM2835", "BCM2836", "BCM2837", "BCM2711", "BCM2712"];
const manufacturerList = ["Sony UK", "Egoman", "Embest", "Sony Japan", "Embest", "Stadium"];
const typeList = {
"00": "A",
"01": "B",
"02": "A+",
"03": "B+",
"04": "2B",
"05": "Alpha (early prototype)",
"06": "CM1",
"08": "3B",
"09": "Zero",
"0a": "CM3",
"0c": "Zero W",
"0d": "3B+",
"0e": "3A+",
"0f": "Internal use only",
10: "CM3+",
11: "4B",
12: "Zero 2 W",
13: "400",
14: "CM4",
15: "CM4S",
16: "Internal use only",
17: "5",
18: "CM5",
19: "500/500+",
"1a": "CM5 Lite"
};
const revisionCode = getValue2(lines, "revision", ":", true);
const model = getValue2(lines, "model:", ":", true);
const serial = getValue2(lines, "serial", ":", true);
let result2 = {};
if ({}.hasOwnProperty.call(oldRevisionCodes, revisionCode)) {
result2 = {
model,
serial,
revisionCode,
memory: oldRevisionCodes[revisionCode].memory,
manufacturer: oldRevisionCodes[revisionCode].manufacturer,
processor: oldRevisionCodes[revisionCode].processor,
type: oldRevisionCodes[revisionCode].type,
revision: oldRevisionCodes[revisionCode].revision
};
} else {
const revision = ("00000000" + getValue2(lines, "revision", ":", true).toLowerCase()).substr(-8);
const memSizeCode = parseInt(hex2bin(revision.substr(2, 1)).substr(5, 3), 2) || 0;
const manufacturer = manufacturerList[parseInt(revision.substr(3, 1), 10)];
const processor = processorList[parseInt(revision.substr(4, 1), 10)];
const typeCode = revision.substr(5, 2);
result2 = {
model,
serial,
revisionCode,
memory: 256 * Math.pow(2, memSizeCode),
manufacturer,
processor,
type: {}.hasOwnProperty.call(typeList, typeCode) ? typeList[typeCode] : "",
revision: "1." + revision.substr(7, 1)
};
}
return result2;
}
function getRpiGpu(cpuinfo) {
if (_rpi_cpuinfo === null && cpuinfo !== void 0) {
_rpi_cpuinfo = cpuinfo;
} else if (cpuinfo === void 0 && _rpi_cpuinfo !== null) {
cpuinfo = _rpi_cpuinfo;
} else {
try {
cpuinfo = fs84.readFileSync("/proc/cpuinfo", { encoding: "utf8" }).toString().split("\n");
_rpi_cpuinfo = cpuinfo;
} catch {
return false;
}
}
const rpi = decodePiCpuinfo(cpuinfo);
if (rpi.type === "4B" || rpi.type === "CM4" || rpi.type === "CM4S" || rpi.type === "400") {
return "VideoCore VI";
}
if (rpi.type === "5" || rpi.type === "500") {
return "VideoCore VII";
}
return "VideoCore IV";
}
function promiseAll(promises8) {
const resolvingPromises = promises8.map(
(promise2) => new Promise((resolve25) => {
const payload = new Array(2);
promise2.then((result2) => {
payload[0] = result2;
}).catch((error40) => {
payload[1] = error40;
}).then(() => {
resolve25(payload);
});
})
);
const errors = [];
const results = [];
return Promise.all(resolvingPromises).then((items) => {
items.forEach((payload) => {
if (payload[1]) {
errors.push(payload[1]);
results.push(null);
} else {
errors.push(null);
results.push(payload[0]);
}
});
return {
errors,
results
};
});
}
function promisify10(nodeStyleFunction) {
return () => {
const args2 = Array.prototype.slice.call(arguments);
return new Promise((resolve25, reject) => {
args2.push((err2, data) => {
if (err2) {
reject(err2);
} else {
resolve25(data);
}
});
nodeStyleFunction.apply(null, args2);
});
};
}
function promisifySave(nodeStyleFunction) {
return () => {
const args2 = Array.prototype.slice.call(arguments);
return new Promise((resolve25) => {
args2.push((err2, data) => {
resolve25(data);
});
nodeStyleFunction.apply(null, args2);
});
};
}
function linuxVersion() {
let result2 = "";
if (_linux) {
try {
result2 = execSync5("uname -v", execOptsLinux).toString();
} catch {
result2 = "";
}
}
return result2;
}
function plistParser(xmlStr) {
const tags = ["array", "dict", "key", "string", "integer", "date", "real", "data", "boolean", "arrayEmpty"];
const startStr = "<plist version";
let pos = xmlStr.indexOf(startStr);
let len = xmlStr.length;
while (xmlStr[pos] !== ">" && pos < len) {
pos++;
}
let depth = 0;
let inTagStart = false;
let inTagContent = false;
let inTagEnd = false;
let metaData = [{ tagStart: "", tagEnd: "", tagContent: "", key: "", data: null }];
let c4 = "";
let cn = xmlStr[pos];
while (pos < len) {
c4 = cn;
if (pos + 1 < len) {
cn = xmlStr[pos + 1];
}
if (c4 === "<") {
inTagContent = false;
if (cn === "/") {
inTagEnd = true;
} else if (metaData[depth].tagStart) {
metaData[depth].tagContent = "";
if (!metaData[depth].data) {
metaData[depth].data = metaData[depth].tagStart === "array" ? [] : {};
}
depth++;
metaData.push({ tagStart: "", tagEnd: "", tagContent: "", key: null, data: null });
inTagStart = true;
inTagContent = false;
} else if (!inTagStart) {
inTagStart = true;
}
} else if (c4 === ">") {
if (metaData[depth].tagStart === "true/") {
inTagStart = false;
inTagEnd = true;
metaData[depth].tagStart = "";
metaData[depth].tagEnd = "/boolean";
metaData[depth].data = true;
}
if (metaData[depth].tagStart === "false/") {
inTagStart = false;
inTagEnd = true;
metaData[depth].tagStart = "";
metaData[depth].tagEnd = "/boolean";
metaData[depth].data = false;
}
if (metaData[depth].tagStart === "array/") {
inTagStart = false;
inTagEnd = true;
metaData[depth].tagStart = "";
metaData[depth].tagEnd = "/arrayEmpty";
metaData[depth].data = [];
}
if (inTagContent) {
inTagContent = false;
}
if (inTagStart) {
inTagStart = false;
inTagContent = true;
if (metaData[depth].tagStart === "array") {
metaData[depth].data = [];
}
if (metaData[depth].tagStart === "dict") {
metaData[depth].data = {};
}
}
if (inTagEnd) {
inTagEnd = false;
if (metaData[depth].tagEnd && tags.indexOf(metaData[depth].tagEnd.substr(1)) >= 0) {
if (metaData[depth].tagEnd === "/dict" || metaData[depth].tagEnd === "/array") {
if (depth > 1 && metaData[depth - 2].tagStart === "array") {
metaData[depth - 2].data.push(metaData[depth - 1].data);
}
if (depth > 1 && metaData[depth - 2].tagStart === "dict") {
metaData[depth - 2].data[metaData[depth - 1].key] = metaData[depth - 1].data;
}
depth--;
metaData.pop();
metaData[depth].tagContent = "";
metaData[depth].tagStart = "";
metaData[depth].tagEnd = "";
} else {
if (metaData[depth].tagEnd === "/key" && metaData[depth].tagContent) {
metaData[depth].key = metaData[depth].tagContent;
} else {
if (metaData[depth].tagEnd === "/real" && metaData[depth].tagContent) {
metaData[depth].data = parseFloat(metaData[depth].tagContent) || 0;
}
if (metaData[depth].tagEnd === "/integer" && metaData[depth].tagContent) {
metaData[depth].data = parseInt(metaData[depth].tagContent) || 0;
}
if (metaData[depth].tagEnd === "/string" && metaData[depth].tagContent) {
metaData[depth].data = metaData[depth].tagContent || "";
}
if (metaData[depth].tagEnd === "/boolean") {
metaData[depth].data = metaData[depth].tagContent || false;
}
if (metaData[depth].tagEnd === "/arrayEmpty") {
metaData[depth].data = metaData[depth].tagContent || [];
}
if (depth > 0 && metaData[depth - 1].tagStart === "array") {
metaData[depth - 1].data.push(metaData[depth].data);
}
if (depth > 0 && metaData[depth - 1].tagStart === "dict") {
metaData[depth - 1].data[metaData[depth].key] = metaData[depth].data;
}
}
metaData[depth].tagContent = "";
metaData[depth].tagStart = "";
metaData[depth].tagEnd = "";
}
}
metaData[depth].tagEnd = "";
inTagStart = false;
inTagContent = false;
}
} else {
if (inTagStart) {
metaData[depth].tagStart += c4;
}
if (inTagEnd) {
metaData[depth].tagEnd += c4;
}
if (inTagContent) {
metaData[depth].tagContent += c4;
}
}
pos++;
}
return metaData[0].data;
}
function strIsNumeric(str2) {
return typeof str2 === "string" && !isNaN(str2) && !isNaN(parseFloat(str2));
}
function plistReader(output) {
const lines = output.split("\n");
for (let i3 = 0; i3 < lines.length; i3++) {
if (lines[i3].indexOf(" = ") >= 0) {
const lineParts = lines[i3].split(" = ");
lineParts[0] = lineParts[0].trim();
if (!lineParts[0].startsWith('"')) {
lineParts[0] = '"' + lineParts[0] + '"';
}
lineParts[1] = lineParts[1].trim();
if (lineParts[1].indexOf('"') === -1 && lineParts[1].endsWith(";")) {
const valueString = lineParts[1].substring(0, lineParts[1].length - 1);
if (!strIsNumeric(valueString)) {
lineParts[1] = `"${valueString}";`;
}
}
if (lineParts[1].indexOf('"') >= 0 && lineParts[1].endsWith(";")) {
const valueString = lineParts[1].substring(0, lineParts[1].length - 1).replace(/"/g, "");
if (strIsNumeric(valueString)) {
lineParts[1] = `${valueString};`;
}
}
lines[i3] = lineParts.join(" : ");
}
lines[i3] = lines[i3].replace(/\(/g, "[").replace(/\)/g, "]").replace(/;/g, ",").trim();
if (lines[i3].startsWith("}") && lines[i3 - 1] && lines[i3 - 1].endsWith(",")) {
lines[i3 - 1] = lines[i3 - 1].substring(0, lines[i3 - 1].length - 1);
}
}
output = lines.join("");
let obj = {};
try {
obj = JSON.parse(output);
} catch (e2) {
noop4();
}
return obj;
}
function semverCompare(v13, v2) {
let res = 0;
const parts1 = v13.split(".");
const parts2 = v2.split(".");
if (parts1[0] < parts2[0]) {
res = 1;
} else if (parts1[0] > parts2[0]) {
res = -1;
} else if (parts1[0] === parts2[0] && parts1.length >= 2 && parts2.length >= 2) {
if (parts1[1] < parts2[1]) {
res = 1;
} else if (parts1[1] > parts2[1]) {
res = -1;
} else if (parts1[1] === parts2[1]) {
if (parts1.length >= 3 && parts2.length >= 3) {
if (parts1[2] < parts2[2]) {
res = 1;
} else if (parts1[2] > parts2[2]) {
res = -1;
}
} else if (parts2.length >= 3) {
res = 1;
}
}
}
return res;
}
function getAppleModel(key) {
const appleModelIds = [
{
key: "Mac17,7",
name: "MacBook Pro",
size: "16-inch",
processor: "M5 Max",
year: "2026",
additional: ""
},
{
key: "Mac17,6",
name: "MacBook Pro",
size: "14-inch",
processor: "M5 Max",
year: "2026",
additional: ""
},
{
key: "Mac17,5",
name: "MacBook Pro",
size: "16-inch",
processor: "M5 Pro",
year: "2026",
additional: ""
},
{
key: "Mac17,4",
name: "MacBook Pro",
size: "14-inch",
processor: "M5 Pro",
year: "2026",
additional: ""
},
{
key: "Mac17,1",
name: "MacBook Neo",
size: "14-inch",
processor: "A18 Pro",
year: "2026",
additional: ""
},
{
key: "Mac17,3",
name: "MacBook Pro",
size: "16-inch",
processor: "M5",
year: "2025",
additional: ""
},
{
key: "Mac17,2",
name: "MacBook Pro",
size: "14-inch",
processor: "M5",
year: "2025",
additional: ""
},
{
key: "Mac16,13",
name: "MacBook Air",
size: "15-inch",
processor: "M4",
year: "2025",
additional: ""
},
{
key: "Mac16,12",
name: "MacBook Air",
size: "13-inch",
processor: "M4",
year: "2025",
additional: ""
},
{
key: "Mac15,13",
name: "MacBook Air",
size: "15-inch",
processor: "M3",
year: "2024",
additional: ""
},
{
key: "Mac15,12",
name: "MacBook Air",
size: "13-inch",
processor: "M3",
year: "2024",
additional: ""
},
{
key: "Mac14,15",
name: "MacBook Air",
size: "15-inch",
processor: "M2",
year: "2024",
additional: ""
},
{
key: "Mac14,2",
name: "MacBook Air",
size: "13-inch",
processor: "M2",
year: "2022",
additional: ""
},
{
key: "MacBookAir10,1",
name: "MacBook Air",
size: "13-inch",
processor: "M1",
year: "2020",
additional: ""
},
{
key: "MacBookAir9,1",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "2020",
additional: ""
},
{
key: "MacBookAir8,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "2019",
additional: ""
},
{
key: "MacBookAir8,1",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "2018",
additional: ""
},
{
key: "MacBookAir7,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "2017",
additional: ""
},
{
key: "MacBookAir7,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "Early 2015",
additional: ""
},
{
key: "MacBookAir7,1",
name: "MacBook Air",
size: "11-inch",
processor: "",
year: "Early 2015",
additional: ""
},
{
key: "MacBookAir6,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "Early 2014",
additional: ""
},
{
key: "MacBookAir6,1",
name: "MacBook Air",
size: "11-inch",
processor: "",
year: "Early 2014",
additional: ""
},
{
key: "MacBookAir6,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "Mid 2013",
additional: ""
},
{
key: "MacBookAir6,1",
name: "MacBook Air",
size: "11-inch",
processor: "",
year: "Mid 2013",
additional: ""
},
{
key: "MacBookAir5,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "Mid 2012",
additional: ""
},
{
key: "MacBookAir5,1",
name: "MacBook Air",
size: "11-inch",
processor: "",
year: "Mid 2012",
additional: ""
},
{
key: "MacBookAir4,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "Mid 2011",
additional: ""
},
{
key: "MacBookAir4,1",
name: "MacBook Air",
size: "11-inch",
processor: "",
year: "Mid 2011",
additional: ""
},
{
key: "MacBookAir3,2",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "Late 2010",
additional: ""
},
{
key: "MacBookAir3,1",
name: "MacBook Air",
size: "11-inch",
processor: "",
year: "Late 2010",
additional: ""
},
{
key: "MacBookAir2,1",
name: "MacBook Air",
size: "13-inch",
processor: "",
year: "Mid 2009",
additional: ""
},
{
key: "Mac16,1",
name: "MacBook Pro",
size: "14-inch",
processor: "M4",
year: "2024",
additional: ""
},
{
key: "Mac16,6",
name: "MacBook Pro",
size: "14-inch",
processor: "M4 Pro",
year: "2024",
additional: ""
},
{
key: "Mac16,8",
name: "MacBook Pro",
size: "14-inch",
processor: "M4 Max",
year: "2024",
additional: ""
},
{
key: "Mac16,5",
name: "MacBook Pro",
size: "16-inch",
processor: "M4 Pro",
year: "2024",
additional: ""
},
{
key: "Mac16,6",
name: "MacBook Pro",
size: "16-inch",
processor: "M4 Max",
year: "2024",
additional: ""
},
{
key: "Mac15,3",
name: "MacBook Pro",
size: "14-inch",
processor: "M3",
year: "Nov 2023",
additional: ""
},
{
key: "Mac15,6",
name: "MacBook Pro",
size: "14-inch",
processor: "M3 Pro",
year: "Nov 2023",
additional: ""
},
{
key: "Mac15,8",
name: "MacBook Pro",
size: "14-inch",
processor: "M3 Pro",
year: "Nov 2023",
additional: ""
},
{
key: "Mac15,10",
name: "MacBook Pro",
size: "14-inch",
processor: "M3 Max",
year: "Nov 2023",
additional: ""
},
{
key: "Mac15,7",
name: "MacBook Pro",
size: "16-inch",
processor: "M3 Pro",
year: "Nov 2023",
additional: ""
},
{
key: "Mac15,9",
name: "MacBook Pro",
size: "16-inch",
processor: "M3 Pro",
year: "Nov 2023",
additional: ""
},
{
key: "Mac15,11",
name: "MacBook Pro",
size: "16-inch",
processor: "M3 Max",
year: "Nov 2023",
additional: ""
},
{
key: "Mac14,5",
name: "MacBook Pro",
size: "14-inch",
processor: "M2 Max",
year: "2023",
additional: ""
},
{
key: "Mac14,9",
name: "MacBook Pro",
size: "14-inch",
processor: "M2 Max",
year: "2023",
additional: ""
},
{
key: "Mac14,6",
name: "MacBook Pro",
size: "16-inch",
processor: "M2 Max",
year: "2023",
additional: ""
},
{
key: "Mac14,10",
name: "MacBook Pro",
size: "16-inch",
processor: "M2 Max",
year: "2023",
additional: ""
},
{
key: "Mac14,7",
name: "MacBook Pro",
size: "13-inch",
processor: "M2",
year: "2022",
additional: ""
},
{
key: "MacBookPro18,3",
name: "MacBook Pro",
size: "14-inch",
processor: "M1 Pro",
year: "2021",
additional: ""
},
{
key: "MacBookPro18,4",
name: "MacBook Pro",
size: "14-inch",
processor: "M1 Max",
year: "2021",
additional: ""
},
{
key: "MacBookPro18,1",
name: "MacBook Pro",
size: "16-inch",
processor: "M1 Pro",
year: "2021",
additional: ""
},
{
key: "MacBookPro18,2",
name: "MacBook Pro",
size: "16-inch",
processor: "M1 Max",
year: "2021",
additional: ""
},
{
key: "MacBookPro17,1",
name: "MacBook Pro",
size: "13-inch",
processor: "M1",
year: "2020",
additional: ""
},
{
key: "MacBookPro16,3",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2020",
additional: "Two Thunderbolt 3 ports"
},
{
key: "MacBookPro16,2",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2020",
additional: "Four Thunderbolt 3 ports"
},
{
key: "MacBookPro16,1",
name: "MacBook Pro",
size: "16-inch",
processor: "",
year: "2019",
additional: ""
},
{
key: "MacBookPro16,4",
name: "MacBook Pro",
size: "16-inch",
processor: "",
year: "2019",
additional: ""
},
{
key: "MacBookPro15,3",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "2019",
additional: ""
},
{
key: "MacBookPro15,2",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2019",
additional: ""
},
{
key: "MacBookPro15,1",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "2019",
additional: ""
},
{
key: "MacBookPro15,4",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2019",
additional: "Two Thunderbolt 3 ports"
},
{
key: "MacBookPro15,1",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "2018",
additional: ""
},
{
key: "MacBookPro15,2",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2018",
additional: "Four Thunderbolt 3 ports"
},
{
key: "MacBookPro14,1",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2017",
additional: "Two Thunderbolt 3 ports"
},
{
key: "MacBookPro14,2",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2017",
additional: "Four Thunderbolt 3 ports"
},
{
key: "MacBookPro14,3",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "2017",
additional: ""
},
{
key: "MacBookPro13,1",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2016",
additional: "Two Thunderbolt 3 ports"
},
{
key: "MacBookPro13,2",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "2016",
additional: "Four Thunderbolt 3 ports"
},
{
key: "MacBookPro13,3",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "2016",
additional: ""
},
{
key: "MacBookPro11,4",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Mid 2015",
additional: ""
},
{
key: "MacBookPro11,5",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Mid 2015",
additional: ""
},
{
key: "MacBookPro12,1",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "Early 2015",
additional: ""
},
{
key: "MacBookPro11,2",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Late 2013",
additional: ""
},
{
key: "MacBookPro11,3",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Late 2013",
additional: ""
},
{
key: "MacBookPro11,1",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "Late 2013",
additional: ""
},
{
key: "MacBookPro10,1",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Mid 2012",
additional: ""
},
{
key: "MacBookPro10,2",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "Late 2012",
additional: ""
},
{
key: "MacBookPro9,1",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Mid 2012",
additional: ""
},
{
key: "MacBookPro9,2",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "Mid 2012",
additional: ""
},
{
key: "MacBookPro8,3",
name: "MacBook Pro",
size: "17-inch",
processor: "",
year: "Early 2011",
additional: ""
},
{
key: "MacBookPro8,2",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Early 2011",
additional: ""
},
{
key: "MacBookPro8,1",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "Early 2011",
additional: ""
},
{
key: "MacBookPro6,1",
name: "MacBook Pro",
size: "17-inch",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "MacBookPro6,2",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "MacBookPro7,1",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "MacBookPro5,2",
name: "MacBook Pro",
size: "17-inch",
processor: "",
year: "Early 2009",
additional: ""
},
{
key: "MacBookPro5,3",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Mid 2009",
additional: ""
},
{
key: "MacBookPro5,5",
name: "MacBook Pro",
size: "13-inch",
processor: "",
year: "Mid 2009",
additional: ""
},
{
key: "MacBookPro5,1",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Late 2008",
additional: ""
},
{
key: "MacBookPro4,1",
name: "MacBook Pro",
size: "15-inch",
processor: "",
year: "Early 2008",
additional: ""
},
{
key: "MacBook10,1",
name: "MacBook",
size: "12-inch",
processor: "",
year: "2017",
additional: ""
},
{
key: "MacBook9,1",
name: "MacBook",
size: "12-inch",
processor: "",
year: "Early 2016",
additional: ""
},
{
key: "MacBook8,1",
name: "MacBook",
size: "12-inch",
processor: "",
year: "Early 2015",
additional: ""
},
{
key: "MacBook7,1",
name: "MacBook",
size: "13-inch",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "MacBook6,1",
name: "MacBook",
size: "13-inch",
processor: "",
year: "Late 2009",
additional: ""
},
{
key: "MacBook5,2",
name: "MacBook",
size: "13-inch",
processor: "",
year: "Early 2009",
additional: ""
},
{
key: "Mac14,13",
name: "Mac Studio",
size: "",
processor: "M2 Max",
year: "2023",
additional: ""
},
{
key: "Mac14,14",
name: "Mac Studio",
size: "",
processor: "M2 Ultra",
year: "2023",
additional: ""
},
{
key: "Mac15,14",
name: "Mac Studio",
size: "",
processor: "M3 Ultra",
year: "2025",
additional: ""
},
{
key: "Mac16,9",
name: "Mac Studio",
size: "",
processor: "M4 Max",
year: "2025",
additional: ""
},
{
key: "Mac13,1",
name: "Mac Studio",
size: "",
processor: "M1 Max",
year: "2022",
additional: ""
},
{
key: "Mac13,2",
name: "Mac Studio",
size: "",
processor: "M1 Ultra",
year: "2022",
additional: ""
},
{
key: "Mac16,11",
name: "Mac mini",
size: "",
processor: "M4 Pro",
year: "2024",
additional: ""
},
{
key: "Mac16,10",
name: "Mac mini",
size: "",
processor: "M4",
year: "2024",
additional: ""
},
{
key: "Mac14,3",
name: "Mac mini",
size: "",
processor: "M2",
year: "2023",
additional: ""
},
{
key: "Mac14,12",
name: "Mac mini",
size: "",
processor: "M2 Pro",
year: "2023",
additional: ""
},
{
key: "Macmini9,1",
name: "Mac mini",
size: "",
processor: "M1",
year: "2020",
additional: ""
},
{
key: "Macmini8,1",
name: "Mac mini",
size: "",
processor: "",
year: "Late 2018",
additional: ""
},
{
key: "Macmini7,1",
name: "Mac mini",
size: "",
processor: "",
year: "Late 2014",
additional: ""
},
{
key: "Macmini6,1",
name: "Mac mini",
size: "",
processor: "",
year: "Late 2012",
additional: ""
},
{
key: "Macmini6,2",
name: "Mac mini",
size: "",
processor: "",
year: "Late 2012",
additional: ""
},
{
key: "Macmini5,1",
name: "Mac mini",
size: "",
processor: "",
year: "Mid 2011",
additional: ""
},
{
key: "Macmini5,2",
name: "Mac mini",
size: "",
processor: "",
year: "Mid 2011",
additional: ""
},
{
key: "Macmini4,1",
name: "Mac mini",
size: "",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "Macmini3,1",
name: "Mac mini",
size: "",
processor: "",
year: "Early 2009",
additional: ""
},
{
key: "Mac16,3",
name: "iMac",
size: "24-inch",
processor: "M4",
year: "2024",
additional: "Four ports"
},
{
key: "Mac16,2",
name: "iMac",
size: "24-inch",
processor: "M4",
year: "2024",
additional: "Two ports"
},
{
key: "Mac15,5",
name: "iMac",
size: "24-inch",
processor: "M3",
year: "2023",
additional: "Four ports"
},
{
key: "Mac15,4",
name: "iMac",
size: "24-inch",
processor: "M3",
year: "2023",
additional: "Two ports"
},
{
key: "iMac21,1",
name: "iMac",
size: "24-inch",
processor: "M1",
year: "2021",
additional: ""
},
{
key: "iMac21,2",
name: "iMac",
size: "24-inch",
processor: "M1",
year: "2021",
additional: ""
},
{
key: "iMac20,1",
name: "iMac",
size: "27-inch",
processor: "",
year: "2020",
additional: "Retina 5K"
},
{
key: "iMac20,2",
name: "iMac",
size: "27-inch",
processor: "",
year: "2020",
additional: "Retina 5K"
},
{
key: "iMac19,1",
name: "iMac",
size: "27-inch",
processor: "",
year: "2019",
additional: "Retina 5K"
},
{
key: "iMac19,2",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "2019",
additional: "Retina 4K"
},
{
key: "iMacPro1,1",
name: "iMac Pro",
size: "",
processor: "",
year: "2017",
additional: ""
},
{
key: "iMac18,3",
name: "iMac",
size: "27-inch",
processor: "",
year: "2017",
additional: "Retina 5K"
},
{
key: "iMac18,2",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "2017",
additional: "Retina 4K"
},
{
key: "iMac18,1",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "2017",
additional: ""
},
{
key: "iMac17,1",
name: "iMac",
size: "27-inch",
processor: "",
year: "Late 2015",
additional: "Retina 5K"
},
{
key: "iMac16,2",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Late 2015",
additional: "Retina 4K"
},
{
key: "iMac16,1",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Late 2015",
additional: ""
},
{
key: "iMac15,1",
name: "iMac",
size: "27-inch",
processor: "",
year: "Late 2014",
additional: "Retina 5K"
},
{
key: "iMac14,4",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Mid 2014",
additional: ""
},
{
key: "iMac14,2",
name: "iMac",
size: "27-inch",
processor: "",
year: "Late 2013",
additional: ""
},
{
key: "iMac14,1",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Late 2013",
additional: ""
},
{
key: "iMac13,2",
name: "iMac",
size: "27-inch",
processor: "",
year: "Late 2012",
additional: ""
},
{
key: "iMac13,1",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Late 2012",
additional: ""
},
{
key: "iMac12,2",
name: "iMac",
size: "27-inch",
processor: "",
year: "Mid 2011",
additional: ""
},
{
key: "iMac12,1",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Mid 2011",
additional: ""
},
{
key: "iMac11,3",
name: "iMac",
size: "27-inch",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "iMac11,2",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "iMac10,1",
name: "iMac",
size: "21.5-inch",
processor: "",
year: "Late 2009",
additional: ""
},
{
key: "iMac9,1",
name: "iMac",
size: "20-inch",
processor: "",
year: "Early 2009",
additional: ""
},
{
key: "Mac14,8",
name: "Mac Pro",
size: "",
processor: "",
year: "2023",
additional: ""
},
{
key: "Mac14,8",
name: "Mac Pro",
size: "",
processor: "",
year: "2023",
additional: "Rack"
},
{
key: "MacPro7,1",
name: "Mac Pro",
size: "",
processor: "",
year: "2019",
additional: ""
},
{
key: "MacPro7,1",
name: "Mac Pro",
size: "",
processor: "",
year: "2019",
additional: "Rack"
},
{
key: "MacPro6,1",
name: "Mac Pro",
size: "",
processor: "",
year: "Late 2013",
additional: ""
},
{
key: "MacPro5,1",
name: "Mac Pro",
size: "",
processor: "",
year: "Mid 2012",
additional: ""
},
{
key: "MacPro5,1",
name: "Mac Pro Server",
size: "",
processor: "",
year: "Mid 2012",
additional: "Server"
},
{
key: "MacPro5,1",
name: "Mac Pro",
size: "",
processor: "",
year: "Mid 2010",
additional: ""
},
{
key: "MacPro5,1",
name: "Mac Pro Server",
size: "",
processor: "",
year: "Mid 2010",
additional: "Server"
},
{
key: "MacPro4,1",
name: "Mac Pro",
size: "",
processor: "",
year: "Early 2009",
additional: ""
}
];
const list = appleModelIds.filter((model) => model.key === key);
if (list.length === 0) {
return {
key,
model: "Apple",
version: "Unknown"
};
}
const features = [];
if (list[0].size) {
features.push(list[0].size);
}
if (list[0].processor) {
features.push(list[0].processor);
}
if (list[0].year) {
features.push(list[0].year);
}
if (list[0].additional) {
features.push(list[0].additional);
}
return {
key,
model: list[0].name,
version: list[0].name + " (" + features.join(", ") + ")"
};
}
function checkWebsite(url3, timeout = 5e3) {
const http3 = url3.startsWith("https:") || url3.indexOf(":443/") > 0 || url3.indexOf(":8443/") > 0 ? __require("https") : __require("http");
const t2 = Date.now();
return new Promise((resolve25) => {
const request = http3.get(url3, (res) => {
res.on("data", () => {
});
res.on("end", () => {
resolve25({
url: url3,
statusCode: res.statusCode,
message: res.statusMessage,
time: Date.now() - t2
});
});
}).on("error", (e2) => {
resolve25({
url: url3,
statusCode: 404,
message: e2.message,
time: Date.now() - t2
});
}).setTimeout(timeout, () => {
request.destroy();
resolve25({
url: url3,
statusCode: 408,
message: "Request Timeout",
time: Date.now() - t2
});
});
});
}
function cleanString(str2) {
return str2.replace(/To Be Filled By O.E.M./g, "");
}
function noop4() {
}
exports2.toInt = toInt2;
exports2.splitByNumber = splitByNumber;
exports2.execOptsWin = execOptsWin;
exports2.execOptsLinux = execOptsLinux;
exports2.getCodepage = getCodepage;
exports2.execWin = execWin;
exports2.isFunction = isFunction;
exports2.unique = unique;
exports2.sortByKey = sortByKey;
exports2.cores = cores;
exports2.getValue = getValue2;
exports2.decodeEscapeSequence = decodeEscapeSequence;
exports2.parseDateTime = parseDateTime;
exports2.parseHead = parseHead;
exports2.findObjectByKey = findObjectByKey;
exports2.darwinXcodeExists = darwinXcodeExists;
exports2.getVboxmanage = getVboxmanage;
exports2.powerShell = powerShell;
exports2.powerShellStart = powerShellStart;
exports2.powerShellRelease = powerShellRelease;
exports2.execSafe = execSafe;
exports2.nanoSeconds = nanoSeconds;
exports2.countUniqueLines = countUniqueLines;
exports2.countLines = countLines;
exports2.noop = noop4;
exports2.isRaspberry = isRaspberry;
exports2.isRaspbian = isRaspbian;
exports2.sanitizeShellString = sanitizeShellString;
exports2.isPrototypePolluted = isPrototypePolluted;
exports2.decodePiCpuinfo = decodePiCpuinfo;
exports2.getRpiGpu = getRpiGpu;
exports2.promiseAll = promiseAll;
exports2.promisify = promisify10;
exports2.promisifySave = promisifySave;
exports2.smartMonToolsInstalled = smartMonToolsInstalled;
exports2.linuxVersion = linuxVersion;
exports2.plistParser = plistParser;
exports2.plistReader = plistReader;
exports2.stringObj = stringObj;
exports2.stringReplace = stringReplace;
exports2.stringToLower = stringToLower;
exports2.stringToString = stringToString;
exports2.stringSubstr = stringSubstr;
exports2.stringSubstring = stringSubstring;
exports2.stringTrim = stringTrim;
exports2.stringStartWith = stringStartWith;
exports2.mathMin = mathMin;
exports2.WINDIR = WINDIR;
exports2.getFilesInPath = getFilesInPath;
exports2.semverCompare = semverCompare;
exports2.getAppleModel = getAppleModel;
exports2.checkWebsite = checkWebsite;
exports2.cleanString = cleanString;
exports2.getPowershell = getPowershell;
}
});
// node_modules/systeminformation/lib/osinfo.js
var require_osinfo = __commonJS({
"node_modules/systeminformation/lib/osinfo.js"(exports2) {
"use strict";
var os30 = __require("os");
var fs84 = __require("fs");
var util2 = require_util7();
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function time3() {
const t2 = (/* @__PURE__ */ new Date()).toString().split(" ");
let timezoneName = "";
try {
timezoneName = Intl.DateTimeFormat().resolvedOptions().timeZone;
} catch {
timezoneName = t2.length >= 7 ? t2.slice(6).join(" ").replace(/\(/g, "").replace(/\)/g, "") : "";
}
const result2 = {
current: Date.now(),
uptime: os30.uptime(),
timezone: t2.length >= 7 ? t2[5] : "",
timezoneName
};
if (_darwin || _linux) {
try {
const stdout = execSync5("date +%Z && date +%z && ls -l /etc/localtime 2>/dev/null", util2.execOptsLinux);
const lines = stdout.toString().split(os30.EOL);
if (lines.length > 3 && !lines[0]) {
lines.shift();
}
let timezone = lines[0] || "";
if (timezone.startsWith("+") || timezone.startsWith("-")) {
timezone = "GMT";
}
return {
current: Date.now(),
uptime: os30.uptime(),
timezone: lines[1] ? timezone + lines[1] : timezone,
timezoneName: lines[2] && lines[2].indexOf("/zoneinfo/") > 0 ? lines[2].split("/zoneinfo/")[1] || "" : ""
};
} catch {
util2.noop();
}
}
return result2;
}
exports2.time = time3;
function getLogoFile(distro) {
distro = distro || "";
distro = distro.toLowerCase();
let result2 = _platform;
if (_windows) {
result2 = "windows";
} else if (distro.indexOf("mac os") !== -1 || distro.indexOf("macos") !== -1) {
result2 = "apple";
} else if (distro.indexOf("arch") !== -1) {
result2 = "arch";
} else if (distro.indexOf("cachy") !== -1) {
result2 = "cachy";
} else if (distro.indexOf("centos") !== -1) {
result2 = "centos";
} else if (distro.indexOf("coreos") !== -1) {
result2 = "coreos";
} else if (distro.indexOf("debian") !== -1) {
result2 = "debian";
} else if (distro.indexOf("deepin") !== -1) {
result2 = "deepin";
} else if (distro.indexOf("elementary") !== -1) {
result2 = "elementary";
} else if (distro.indexOf("endeavour") !== -1) {
result2 = "endeavour";
} else if (distro.indexOf("fedora") !== -1) {
result2 = "fedora";
} else if (distro.indexOf("gentoo") !== -1) {
result2 = "gentoo";
} else if (distro.indexOf("mageia") !== -1) {
result2 = "mageia";
} else if (distro.indexOf("mandriva") !== -1) {
result2 = "mandriva";
} else if (distro.indexOf("manjaro") !== -1) {
result2 = "manjaro";
} else if (distro.indexOf("mint") !== -1) {
result2 = "mint";
} else if (distro.indexOf("mx") !== -1) {
result2 = "mx";
} else if (distro.indexOf("openbsd") !== -1) {
result2 = "openbsd";
} else if (distro.indexOf("freebsd") !== -1) {
result2 = "freebsd";
} else if (distro.indexOf("opensuse") !== -1) {
result2 = "opensuse";
} else if (distro.indexOf("pclinuxos") !== -1) {
result2 = "pclinuxos";
} else if (distro.indexOf("puppy") !== -1) {
result2 = "puppy";
} else if (distro.indexOf("popos") !== -1) {
result2 = "popos";
} else if (distro.indexOf("raspbian") !== -1) {
result2 = "raspbian";
} else if (distro.indexOf("reactos") !== -1) {
result2 = "reactos";
} else if (distro.indexOf("redhat") !== -1) {
result2 = "redhat";
} else if (distro.indexOf("slackware") !== -1) {
result2 = "slackware";
} else if (distro.indexOf("sugar") !== -1) {
result2 = "sugar";
} else if (distro.indexOf("steam") !== -1) {
result2 = "steam";
} else if (distro.indexOf("suse") !== -1) {
result2 = "suse";
} else if (distro.indexOf("mate") !== -1) {
result2 = "ubuntu-mate";
} else if (distro.indexOf("lubuntu") !== -1) {
result2 = "lubuntu";
} else if (distro.indexOf("xubuntu") !== -1) {
result2 = "xubuntu";
} else if (distro.indexOf("ubuntu") !== -1) {
result2 = "ubuntu";
} else if (distro.indexOf("solaris") !== -1) {
result2 = "solaris";
} else if (distro.indexOf("tails") !== -1) {
result2 = "tails";
} else if (distro.indexOf("feren") !== -1) {
result2 = "ferenos";
} else if (distro.indexOf("robolinux") !== -1) {
result2 = "robolinux";
} else if (_linux && distro) {
result2 = distro.toLowerCase().trim().replace(/\s+/g, "-");
}
return result2;
}
var WINDOWS_RELEASES = [
[26200, "25H2"],
[26100, "24H2"],
[22631, "23H2"],
[22621, "22H2"],
[19045, "22H2"],
[22e3, "21H2"],
[19044, "21H2"],
[19043, "21H1"],
[19042, "20H2"],
[19041, "2004"],
[18363, "1909"],
[18362, "1903"],
[17763, "1809"],
[17134, "1803"]
];
function getWindowsRelease(build) {
for (const [minBuild, label] of WINDOWS_RELEASES) {
if (build >= minBuild) return label;
}
return "";
}
function getFQDN() {
let fqdn = os30.hostname;
if (_linux || _darwin) {
try {
const stdout = execSync5("hostname -f 2>/dev/null", util2.execOptsLinux);
fqdn = stdout.toString().split(os30.EOL)[0];
} catch {
util2.noop();
}
}
if (_freebsd || _openbsd || _netbsd) {
try {
const stdout = execSync5("hostname 2>/dev/null");
fqdn = stdout.toString().split(os30.EOL)[0];
} catch {
util2.noop();
}
}
if (_windows) {
try {
const stdout = execSync5("echo %COMPUTERNAME%.%USERDNSDOMAIN%", util2.execOptsWin);
fqdn = stdout.toString().replace(".%USERDNSDOMAIN%", "").split(os30.EOL)[0];
} catch {
util2.noop();
}
}
return fqdn;
}
function osInfo(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
platform: _platform === "win32" ? "Windows" : _platform,
distro: "unknown",
release: "unknown",
codename: "",
kernel: os30.release(),
arch: os30.arch(),
hostname: os30.hostname(),
fqdn: getFQDN(),
codepage: "",
logofile: "",
serial: "",
build: "",
servicepack: "",
uefi: false
};
if (_linux) {
exec3("cat /etc/*-release; cat /usr/lib/os-release; cat /etc/openwrt_release", (error40, stdout) => {
let release3 = {};
let lines = stdout.toString().split("\n");
lines.forEach((line) => {
if (line.indexOf("=") !== -1) {
release3[line.split("=")[0].trim().toUpperCase()] = line.split("=")[1].trim();
}
});
result2.distro = (release3.DISTRIB_ID || release3.NAME || "unknown").replace(/"/g, "");
result2.logofile = getLogoFile(result2.distro);
let releaseVersion = (release3.VERSION || "").replace(/"/g, "");
let codename = (release3.DISTRIB_CODENAME || release3.VERSION_CODENAME || "").replace(/"/g, "");
const prettyName = (release3.PRETTY_NAME || "").replace(/"/g, "");
if (prettyName.indexOf(result2.distro + " ") === 0) {
releaseVersion = prettyName.replace(result2.distro + " ", "").trim();
}
if (releaseVersion.indexOf("(") >= 0) {
codename = releaseVersion.split("(")[1].replace(/[()]/g, "").trim();
releaseVersion = releaseVersion.split("(")[0].trim();
}
result2.release = (releaseVersion || release3.DISTRIB_RELEASE || release3.VERSION_ID || "unknown").replace(/"/g, "");
result2.codename = codename;
result2.codepage = util2.getCodepage();
result2.build = (release3.BUILD_ID || "").replace(/"/g, "").trim();
isUefiLinux().then((uefi) => {
result2.uefi = uefi;
uuid3().then((data) => {
result2.serial = data.os;
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
});
}
if (_freebsd || _openbsd || _netbsd) {
exec3("sysctl kern.ostype kern.osrelease kern.osrevision kern.hostuuid machdep.bootmethod kern.geom.confxml", (error40, stdout) => {
let lines = stdout.toString().split("\n");
const distro = util2.getValue(lines, "kern.ostype");
const logofile = getLogoFile(distro);
const release3 = util2.getValue(lines, "kern.osrelease").split("-")[0];
const serial = util2.getValue(lines, "kern.uuid");
const bootmethod = util2.getValue(lines, "machdep.bootmethod");
const uefiConf = stdout.toString().indexOf("<type>efi</type>") >= 0;
const uefi = bootmethod ? bootmethod.toLowerCase().indexOf("uefi") >= 0 : uefiConf ? uefiConf : null;
result2.distro = distro || result2.distro;
result2.logofile = logofile || result2.logofile;
result2.release = release3 || result2.release;
result2.serial = serial || result2.serial;
result2.codename = "";
result2.codepage = util2.getCodepage();
result2.uefi = uefi || null;
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
exec3("sw_vers; sysctl kern.ostype kern.osrelease kern.osrevision kern.uuid", (error40, stdout) => {
let lines = stdout.toString().split("\n");
result2.serial = util2.getValue(lines, "kern.uuid");
result2.distro = util2.getValue(lines, "ProductName");
result2.release = (util2.getValue(lines, "ProductVersion", ":", true, true) + " " + util2.getValue(lines, "ProductVersionExtra", ":", true, true)).trim();
result2.build = util2.getValue(lines, "BuildVersion");
result2.logofile = getLogoFile(result2.distro);
result2.codename = "macOS";
result2.codename = result2.release.indexOf("10.4") > -1 ? "OS X Tiger" : result2.codename;
result2.codename = result2.release.indexOf("10.5") > -1 ? "OS X Leopard" : result2.codename;
result2.codename = result2.release.indexOf("10.6") > -1 ? "OS X Snow Leopard" : result2.codename;
result2.codename = result2.release.indexOf("10.7") > -1 ? "OS X Lion" : result2.codename;
result2.codename = result2.release.indexOf("10.8") > -1 ? "OS X Mountain Lion" : result2.codename;
result2.codename = result2.release.indexOf("10.9") > -1 ? "OS X Mavericks" : result2.codename;
result2.codename = result2.release.indexOf("10.10") > -1 ? "OS X Yosemite" : result2.codename;
result2.codename = result2.release.indexOf("10.11") > -1 ? "OS X El Capitan" : result2.codename;
result2.codename = result2.release.indexOf("10.12") > -1 ? "Sierra" : result2.codename;
result2.codename = result2.release.indexOf("10.13") > -1 ? "High Sierra" : result2.codename;
result2.codename = result2.release.indexOf("10.14") > -1 ? "Mojave" : result2.codename;
result2.codename = result2.release.indexOf("10.15") > -1 ? "Catalina" : result2.codename;
result2.codename = result2.release.startsWith("11.") ? "Big Sur" : result2.codename;
result2.codename = result2.release.startsWith("12.") ? "Monterey" : result2.codename;
result2.codename = result2.release.startsWith("13.") ? "Ventura" : result2.codename;
result2.codename = result2.release.startsWith("14.") ? "Sonoma" : result2.codename;
result2.codename = result2.release.startsWith("15.") ? "Sequoia" : result2.codename;
result2.codename = result2.release.startsWith("26.") ? "Tahoe" : result2.codename;
result2.uefi = true;
result2.codepage = util2.getCodepage();
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
result2.release = result2.kernel;
exec3("uname -o", (error40, stdout) => {
const lines = stdout.toString().split("\n");
result2.distro = lines[0];
result2.logofile = getLogoFile(result2.distro);
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
result2.logofile = getLogoFile();
result2.release = result2.kernel;
try {
const workload = [];
workload.push(util2.powerShell("Get-CimInstance Win32_OperatingSystem | select Caption,SerialNumber,BuildNumber,ServicePackMajorVersion,ServicePackMinorVersion | fl"));
workload.push(util2.powerShell("(Get-CimInstance Win32_ComputerSystem).HypervisorPresent"));
workload.push(util2.powerShell("Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SystemInformation]::TerminalServerSession"));
workload.push(util2.powerShell('reg query "HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" /v DisplayVersion'));
util2.promiseAll(workload).then((data) => {
const lines = data.results[0] ? data.results[0].toString().split("\r\n") : [""];
result2.distro = util2.getValue(lines, "Caption", ":").trim();
result2.serial = util2.getValue(lines, "SerialNumber", ":").trim();
result2.build = util2.getValue(lines, "BuildNumber", ":").trim();
result2.servicepack = util2.getValue(lines, "ServicePackMajorVersion", ":").trim() + "." + util2.getValue(lines, "ServicePackMinorVersion", ":").trim();
result2.codepage = util2.getCodepage();
const hyperv = data.results[1] ? data.results[1].toString().toLowerCase() : "";
result2.hypervisor = hyperv.indexOf("true") !== -1;
const term = data.results[2] ? data.results[2].toString() : "";
if (data.results[3]) {
const codenameParts = data.results[3].split("REG_SZ");
result2.codename = codenameParts.length > 1 ? codenameParts[1].trim() : "";
}
if (!result2.codename) {
const buildNum = parseInt(result2.build, 10);
result2.codename = getWindowsRelease(buildNum);
}
result2.remoteSession = term.toString().toLowerCase().indexOf("true") >= 0;
isUefiWindows().then((uefi) => {
result2.uefi = uefi;
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.osInfo = osInfo;
function isUefiLinux() {
return new Promise((resolve25) => {
process.nextTick(() => {
fs84.stat("/sys/firmware/efi", (err2) => {
if (!err2) {
return resolve25(true);
} else {
exec3('dmesg | grep -E "EFI v"', (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
return resolve25(lines.length > 0);
}
return resolve25(false);
});
}
});
});
});
}
function isUefiWindows() {
return new Promise((resolve25) => {
process.nextTick(() => {
try {
exec3('findstr /C:"Detected boot environment" "%windir%\\Panther\\setupact.log"', util2.execOptsWin, (error40, stdout) => {
if (!error40) {
const line = stdout.toString().split("\n\r")[0];
return resolve25(line.toLowerCase().indexOf("efi") >= 0);
} else {
exec3("echo %firmware_type%", util2.execOptsWin, (error41, stdout2) => {
if (!error41) {
const line = stdout2.toString() || "";
return resolve25(line.toLowerCase().indexOf("efi") >= 0);
} else {
return resolve25(false);
}
});
}
});
} catch {
return resolve25(false);
}
});
});
}
function versions(apps2, callback) {
let versionObject = {
kernel: os30.release(),
apache: "",
bash: "",
bun: "",
deno: "",
docker: "",
dotnet: "",
fish: "",
gcc: "",
git: "",
grunt: "",
gulp: "",
homebrew: "",
java: "",
mongodb: "",
mysql: "",
nginx: "",
node: "",
//process.versions.node,
npm: "",
openssl: "",
perl: "",
php: "",
pip3: "",
pip: "",
pm2: "",
postfix: "",
postgresql: "",
powershell: "",
python3: "",
python: "",
redis: "",
systemOpenssl: "",
systemOpensslLib: "",
tsc: "",
v8: process.versions.v8,
virtualbox: "",
yarn: "",
zsh: ""
};
function checkVersionParam(apps3) {
if (apps3 === "*") {
return {
versions: versionObject,
counter: 34
};
}
if (!Array.isArray(apps3)) {
apps3 = apps3.trim().toLowerCase().replace(/,+/g, "|").replace(/ /g, "|");
apps3 = apps3.split("|");
const result2 = {
versions: {},
counter: 0
};
apps3.forEach((el) => {
if (el) {
for (let key in versionObject) {
if ({}.hasOwnProperty.call(versionObject, key)) {
if (key.toLowerCase() === el.toLowerCase() && !{}.hasOwnProperty.call(result2.versions, key)) {
result2.versions[key] = versionObject[key];
if (key === "openssl") {
result2.versions.systemOpenssl = "";
result2.versions.systemOpensslLib = "";
}
if (!result2.versions[key]) {
result2.counter++;
}
}
}
}
}
});
return result2;
}
}
return new Promise((resolve25) => {
process.nextTick(() => {
if (util2.isFunction(apps2) && !callback) {
callback = apps2;
apps2 = "*";
} else {
apps2 = apps2 || "*";
if (typeof apps2 !== "string") {
if (callback) {
callback({});
}
return resolve25({});
}
}
const appsObj = checkVersionParam(apps2);
let totalFunctions = appsObj.counter;
let functionProcessed = /* @__PURE__ */ (() => {
return () => {
if (--totalFunctions === 0) {
if (callback) {
callback(appsObj.versions);
}
resolve25(appsObj.versions);
}
};
})();
let cmd = "";
try {
if ({}.hasOwnProperty.call(appsObj.versions, "openssl")) {
appsObj.versions.openssl = process.versions.openssl;
exec3("openssl version", (error40, stdout) => {
if (!error40) {
let openssl_string = stdout.toString().split("\n")[0].trim();
let openssl = openssl_string.split(" ");
appsObj.versions.systemOpenssl = openssl.length > 0 ? openssl[1] : openssl[0];
appsObj.versions.systemOpensslLib = openssl.length > 0 ? openssl[0] : "openssl";
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "npm")) {
exec3("npm -v", (error40, stdout) => {
if (!error40) {
appsObj.versions.npm = stdout.toString().split("\n")[0];
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "pm2")) {
cmd = "pm2";
if (_windows) {
cmd += ".cmd";
}
exec3(`${cmd} -v`, (error40, stdout) => {
if (!error40) {
let pm2 = stdout.toString().split("\n")[0].trim();
if (!pm2.startsWith("[PM2]")) {
appsObj.versions.pm2 = pm2;
}
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "yarn")) {
exec3("yarn --version", (error40, stdout) => {
if (!error40) {
appsObj.versions.yarn = stdout.toString().split("\n")[0];
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "gulp")) {
cmd = "gulp";
if (_windows) {
cmd += ".cmd";
}
exec3(`${cmd} --version`, (error40, stdout) => {
if (!error40) {
const gulp = stdout.toString().split("\n")[0] || "";
appsObj.versions.gulp = (gulp.toLowerCase().split("version")[1] || "").trim();
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "homebrew")) {
cmd = "brew";
exec3(`${cmd} --version`, (error40, stdout) => {
if (!error40) {
const brew = stdout.toString().split("\n")[0] || "";
appsObj.versions.homebrew = (brew.toLowerCase().split(" ")[1] || "").trim();
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "tsc")) {
cmd = "tsc";
if (_windows) {
cmd += ".cmd";
}
exec3(`${cmd} --version`, (error40, stdout) => {
if (!error40) {
const tsc = stdout.toString().split("\n")[0] || "";
appsObj.versions.tsc = (tsc.toLowerCase().split("version")[1] || "").trim();
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "grunt")) {
cmd = "grunt";
if (_windows) {
cmd += ".cmd";
}
exec3(`${cmd} --version`, (error40, stdout) => {
if (!error40) {
const grunt = stdout.toString().split("\n")[0] || "";
appsObj.versions.grunt = (grunt.toLowerCase().split("cli v")[1] || "").trim();
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "git")) {
if (_darwin) {
const gitHomebrewExists = fs84.existsSync("/usr/local/Cellar/git") || fs84.existsSync("/opt/homebrew/bin/git");
if (util2.darwinXcodeExists() || gitHomebrewExists) {
exec3("git --version", (error40, stdout) => {
if (!error40) {
let git = stdout.toString().split("\n")[0] || "";
git = (git.toLowerCase().split("version")[1] || "").trim();
appsObj.versions.git = (git.split(" ")[0] || "").trim();
}
functionProcessed();
});
} else {
functionProcessed();
}
} else {
exec3("git --version", (error40, stdout) => {
if (!error40) {
let git = stdout.toString().split("\n")[0] || "";
git = (git.toLowerCase().split("version")[1] || "").trim();
appsObj.versions.git = (git.split(" ")[0] || "").trim();
}
functionProcessed();
});
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "apache")) {
exec3("apachectl -v 2>&1", (error40, stdout) => {
if (!error40) {
const apache = (stdout.toString().split("\n")[0] || "").split(":");
appsObj.versions.apache = apache.length > 1 ? apache[1].replace("Apache", "").replace("/", "").split("(")[0].trim() : "";
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "nginx")) {
exec3("nginx -v 2>&1", (error40, stdout) => {
if (!error40) {
const nginx = stdout.toString().split("\n")[0] || "";
appsObj.versions.nginx = (nginx.toLowerCase().split("/")[1] || "").trim();
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "mysql")) {
exec3("mysql -V", (error40, stdout) => {
if (!error40) {
let mysql = stdout.toString().split("\n")[0] || "";
mysql = mysql.toLowerCase();
if (mysql.indexOf(",") > -1) {
mysql = (mysql.split(",")[0] || "").trim();
const parts2 = mysql.split(" ");
appsObj.versions.mysql = (parts2[parts2.length - 1] || "").trim();
} else {
if (mysql.indexOf(" ver ") > -1) {
mysql = mysql.split(" ver ")[1];
appsObj.versions.mysql = mysql.split(" ")[0];
}
}
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "php")) {
exec3("php -v", (error40, stdout) => {
if (!error40) {
const php = stdout.toString().split("\n")[0] || "";
let parts2 = php.split("(");
if (parts2[0].indexOf("-")) {
parts2 = parts2[0].split("-");
}
appsObj.versions.php = parts2[0].replace(/[^0-9.]/g, "");
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "redis")) {
exec3("redis-server --version", (error40, stdout) => {
if (!error40) {
const redis = stdout.toString().split("\n")[0] || "";
const parts2 = redis.split(" ");
appsObj.versions.redis = util2.getValue(parts2, "v", "=", true);
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "docker")) {
exec3("docker --version", (error40, stdout) => {
if (!error40) {
const docker = stdout.toString().split("\n")[0] || "";
const parts2 = docker.split(" ");
appsObj.versions.docker = parts2.length > 2 && parts2[2].endsWith(",") ? parts2[2].slice(0, -1) : "";
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "postfix")) {
exec3("postconf -d | grep mail_version", (error40, stdout) => {
if (!error40) {
const postfix = stdout.toString().split("\n") || [];
appsObj.versions.postfix = util2.getValue(postfix, "mail_version", "=", true);
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "mongodb")) {
exec3("mongod --version", (error40, stdout) => {
if (!error40) {
const mongodb = stdout.toString().split("\n")[0] || "";
appsObj.versions.mongodb = (mongodb.toLowerCase().split(",")[0] || "").replace(/[^0-9.]/g, "");
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "postgresql")) {
if (_linux) {
exec3("locate bin/postgres", (error40, stdout) => {
if (!error40) {
const safePath = /^[a-zA-Z0-9/_.-]+$/;
const postgresqlBin = stdout.toString().split("\n").filter((p) => safePath.test(p.trim())).sort();
if (postgresqlBin.length) {
execFile(postgresqlBin[postgresqlBin.length - 1], ["-V"], (error41, stdout2) => {
if (!error41) {
const postgresql = stdout2.toString().split("\n")[0].split(" ") || [];
appsObj.versions.postgresql = postgresql.length ? postgresql[postgresql.length - 1] : "";
}
functionProcessed();
});
} else {
functionProcessed();
}
} else {
exec3("psql -V", (error41, stdout2) => {
if (!error41) {
const postgresql = stdout2.toString().split("\n")[0].split(" ") || [];
appsObj.versions.postgresql = postgresql.length ? postgresql[postgresql.length - 1] : "";
appsObj.versions.postgresql = appsObj.versions.postgresql.split("-")[0];
}
functionProcessed();
});
}
});
} else {
if (_windows) {
util2.powerShell("Get-CimInstance Win32_Service | select caption | fl").then((stdout) => {
let serviceSections = stdout.split(/\n\s*\n/);
serviceSections.forEach((item) => {
if (item.trim() !== "") {
let lines = item.trim().split("\r\n");
let srvCaption = util2.getValue(lines, "caption", ":", true).toLowerCase();
if (srvCaption.indexOf("postgresql") > -1) {
const parts2 = srvCaption.split(" server ");
if (parts2.length > 1) {
appsObj.versions.postgresql = parts2[1];
}
}
}
});
functionProcessed();
});
} else {
exec3("postgres -V", (error40, stdout) => {
if (!error40) {
const postgresql = stdout.toString().split("\n")[0].split(" ") || [];
appsObj.versions.postgresql = postgresql.length ? postgresql[postgresql.length - 1] : "";
} else {
exec3("pg_config --version", (error41, stdout2) => {
if (!error41) {
const postgresql = stdout2.toString().split("\n")[0].split(" ") || [];
appsObj.versions.postgresql = postgresql.length ? postgresql[postgresql.length - 1] : "";
}
});
}
functionProcessed();
});
}
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "perl")) {
exec3("perl -v", (error40, stdout) => {
if (!error40) {
const perl = stdout.toString().split("\n") || "";
while (perl.length > 0 && perl[0].trim() === "") {
perl.shift();
}
if (perl.length > 0) {
appsObj.versions.perl = perl[0].split("(").pop().split(")")[0].replace("v", "");
}
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "python")) {
if (_darwin) {
try {
const stdout = execSync5("sw_vers");
const lines = stdout.toString().split("\n");
const osVersion = util2.getValue(lines, "ProductVersion", ":");
const gitHomebrewExists1 = fs84.existsSync("/usr/local/Cellar/python");
const gitHomebrewExists2 = fs84.existsSync("/opt/homebrew/bin/python");
if (util2.darwinXcodeExists() && util2.semverCompare("12.0.1", osVersion) < 0 || gitHomebrewExists1 || gitHomebrewExists2) {
const cmd2 = gitHomebrewExists1 ? "/usr/local/Cellar/python -V 2>&1" : gitHomebrewExists2 ? "/opt/homebrew/bin/python -V 2>&1" : "python -V 2>&1";
exec3(cmd2, (error40, stdout2) => {
if (!error40) {
const python = stdout2.toString().split("\n")[0] || "";
appsObj.versions.python = python.toLowerCase().replace("python", "").trim();
}
functionProcessed();
});
} else {
functionProcessed();
}
} catch {
functionProcessed();
}
} else {
exec3("python -V 2>&1", (error40, stdout) => {
if (!error40) {
const python = stdout.toString().split("\n")[0] || "";
appsObj.versions.python = python.toLowerCase().replace("python", "").trim();
}
functionProcessed();
});
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "python3")) {
if (_darwin) {
const gitHomebrewExists = fs84.existsSync("/usr/local/Cellar/python3") || fs84.existsSync("/opt/homebrew/bin/python3");
if (util2.darwinXcodeExists() || gitHomebrewExists) {
exec3("python3 -V 2>&1", (error40, stdout) => {
if (!error40) {
const python = stdout.toString().split("\n")[0] || "";
appsObj.versions.python3 = python.toLowerCase().replace("python", "").trim();
}
functionProcessed();
});
} else {
functionProcessed();
}
} else {
exec3("python3 -V 2>&1", (error40, stdout) => {
if (!error40) {
const python = stdout.toString().split("\n")[0] || "";
appsObj.versions.python3 = python.toLowerCase().replace("python", "").trim();
}
functionProcessed();
});
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "pip")) {
if (_darwin) {
const gitHomebrewExists = fs84.existsSync("/usr/local/Cellar/pip") || fs84.existsSync("/opt/homebrew/bin/pip");
if (util2.darwinXcodeExists() || gitHomebrewExists) {
exec3("pip -V 2>&1", (error40, stdout) => {
if (!error40) {
const pip = stdout.toString().split("\n")[0] || "";
const parts2 = pip.split(" ");
appsObj.versions.pip = parts2.length >= 2 ? parts2[1] : "";
}
functionProcessed();
});
} else {
functionProcessed();
}
} else {
exec3("pip -V 2>&1", (error40, stdout) => {
if (!error40) {
const pip = stdout.toString().split("\n")[0] || "";
const parts2 = pip.split(" ");
appsObj.versions.pip = parts2.length >= 2 ? parts2[1] : "";
}
functionProcessed();
});
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "pip3")) {
if (_darwin) {
const gitHomebrewExists = fs84.existsSync("/usr/local/Cellar/pip3") || fs84.existsSync("/opt/homebrew/bin/pip3");
if (util2.darwinXcodeExists() || gitHomebrewExists) {
exec3("pip3 -V 2>&1", (error40, stdout) => {
if (!error40) {
const pip = stdout.toString().split("\n")[0] || "";
const parts2 = pip.split(" ");
appsObj.versions.pip3 = parts2.length >= 2 ? parts2[1] : "";
}
functionProcessed();
});
} else {
functionProcessed();
}
} else {
exec3("pip3 -V 2>&1", (error40, stdout) => {
if (!error40) {
const pip = stdout.toString().split("\n")[0] || "";
const parts2 = pip.split(" ");
appsObj.versions.pip3 = parts2.length >= 2 ? parts2[1] : "";
}
functionProcessed();
});
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "java")) {
if (_darwin) {
exec3("/usr/libexec/java_home -V 2>&1", (error40, stdout) => {
if (!error40 && stdout.toString().toLowerCase().indexOf("no java runtime") === -1) {
exec3("java -version 2>&1", (error41, stdout2) => {
if (!error41) {
const java = stdout2.toString().split("\n")[0] || "";
const parts2 = java.split('"');
appsObj.versions.java = parts2.length === 3 ? parts2[1].trim() : "";
}
functionProcessed();
});
} else {
functionProcessed();
}
});
} else {
exec3("java -version 2>&1", (error40, stdout) => {
if (!error40) {
const java = stdout.toString().split("\n")[0] || "";
const parts2 = java.split('"');
appsObj.versions.java = parts2.length === 3 ? parts2[1].trim() : "";
}
functionProcessed();
});
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "gcc")) {
if (_darwin && util2.darwinXcodeExists() || !_darwin) {
exec3("gcc -dumpversion", (error40, stdout) => {
if (!error40) {
appsObj.versions.gcc = stdout.toString().split("\n")[0].trim() || "";
}
if (appsObj.versions.gcc.indexOf(".") > -1) {
functionProcessed();
} else {
exec3("gcc --version", (error41, stdout2) => {
if (!error41) {
const gcc = stdout2.toString().split("\n")[0].trim();
if (gcc.indexOf("gcc") > -1 && gcc.indexOf(")") > -1) {
const parts2 = gcc.split(")");
appsObj.versions.gcc = parts2[1].trim() || appsObj.versions.gcc;
}
}
functionProcessed();
});
}
});
} else {
functionProcessed();
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "virtualbox")) {
exec3(util2.getVboxmanage() + " -v 2>&1", (error40, stdout) => {
if (!error40) {
const vbox = stdout.toString().split("\n")[0] || "";
const parts2 = vbox.split("r");
appsObj.versions.virtualbox = parts2[0];
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "bash")) {
exec3("bash --version", (error40, stdout) => {
if (!error40) {
const line = stdout.toString().split("\n")[0];
const parts2 = line.split(" version ");
if (parts2.length > 1) {
appsObj.versions.bash = parts2[1].split(" ")[0].split("(")[0];
}
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "zsh")) {
exec3("zsh --version", (error40, stdout) => {
if (!error40) {
const line = stdout.toString().split("\n")[0];
const parts2 = line.split("zsh ");
if (parts2.length > 1) {
appsObj.versions.zsh = parts2[1].split(" ")[0];
}
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "fish")) {
exec3("fish --version", (error40, stdout) => {
if (!error40) {
const line = stdout.toString().split("\n")[0];
const parts2 = line.split(" version ");
if (parts2.length > 1) {
appsObj.versions.fish = parts2[1].split(" ")[0];
}
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "bun")) {
exec3("bun -v", (error40, stdout) => {
if (!error40) {
const line = stdout.toString().split("\n")[0].trim();
appsObj.versions.bun = line;
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "deno")) {
exec3("deno -v", (error40, stdout) => {
if (!error40) {
const line = stdout.toString().split("\n")[0].trim();
const parts2 = line.split(" ");
if (parts2.length > 1) {
appsObj.versions.deno = parts2[1];
}
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "node")) {
exec3("node -v", (error40, stdout) => {
if (!error40) {
let line = stdout.toString().split("\n")[0].trim();
if (line.startsWith("v")) {
line = line.slice(1);
}
appsObj.versions.node = line;
}
functionProcessed();
});
}
if ({}.hasOwnProperty.call(appsObj.versions, "powershell")) {
if (_windows) {
util2.powerShell("$PSVersionTable").then((stdout) => {
const lines = stdout.toString().toLowerCase().split("\n").map((line) => line.replace(/ +/g, " ").replace(/ +/g, ":"));
appsObj.versions.powershell = util2.getValue(lines, "psversion");
functionProcessed();
});
} else {
functionProcessed();
}
}
if ({}.hasOwnProperty.call(appsObj.versions, "dotnet")) {
if (_windows) {
util2.powerShell(
'gci "HKLM:\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP" -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match "^(?!S)\\p{L}"} | select PSChildName, Version, Release'
).then((stdout) => {
const lines = stdout.toString().split("\r\n");
let dotnet = "";
lines.forEach((line) => {
line = line.replace(/ +/g, " ");
const parts2 = line.split(" ");
dotnet = dotnet || (parts2[0].toLowerCase().startsWith("client") && parts2.length > 2 ? parts2[1].trim() : parts2[0].toLowerCase().startsWith("full") && parts2.length > 2 ? parts2[1].trim() : "");
});
appsObj.versions.dotnet = dotnet.trim();
functionProcessed();
});
} else {
functionProcessed();
}
}
} catch {
if (callback) {
callback(appsObj.versions);
}
resolve25(appsObj.versions);
}
});
});
}
exports2.versions = versions;
function shell(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
if (_windows) {
try {
const result2 = "CMD";
util2.powerShell(`Get-CimInstance -className win32_process | where-object {$_.ProcessId -eq ${process.ppid} } | select Name`).then((stdout) => {
let result3 = "CMD";
if (stdout) {
if (stdout.toString().toLowerCase().indexOf("powershell") >= 0) {
result3 = "PowerShell";
}
}
if (callback) {
callback(result3);
}
resolve25(result3);
});
} catch {
if (callback) {
callback(result);
}
resolve25(result);
}
} else {
let result2 = "";
exec3("echo $SHELL", (error40, stdout) => {
if (!error40) {
result2 = stdout.toString().split("\n")[0];
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
});
});
}
exports2.shell = shell;
function getUniqueMacAdresses() {
let macs = [];
try {
const ifaces = os30.networkInterfaces();
for (let dev in ifaces) {
if ({}.hasOwnProperty.call(ifaces, dev)) {
ifaces[dev].forEach((details) => {
if (details && details.mac && details.mac !== "00:00:00:00:00:00") {
const mac = details.mac.toLowerCase();
if (macs.indexOf(mac) === -1) {
macs.push(mac);
}
}
});
}
}
macs = macs.sort((a2, b) => {
if (a2 < b) {
return -1;
}
if (a2 > b) {
return 1;
}
return 0;
});
} catch {
macs.push("00:00:00:00:00:00");
}
return macs;
}
function uuid3(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
os: "",
hardware: "",
macs: getUniqueMacAdresses()
};
let parts2;
if (_darwin) {
exec3("system_profiler SPHardwareDataType -json", (error40, stdout) => {
if (!error40) {
try {
const jsonObj = JSON.parse(stdout.toString());
if (jsonObj.SPHardwareDataType && jsonObj.SPHardwareDataType.length > 0) {
const spHardware = jsonObj.SPHardwareDataType[0];
result2.os = spHardware.platform_UUID.toLowerCase();
result2.hardware = spHardware.serial_number;
}
} catch {
util2.noop();
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_linux) {
const cmd = `echo -n "os: "; cat /var/lib/dbus/machine-id 2> /dev/null ||
cat /etc/machine-id 2> /dev/null; echo;
echo -n "hardware: "; cat /sys/class/dmi/id/product_uuid 2> /dev/null; echo;`;
exec3(cmd, (error40, stdout) => {
const lines = stdout.toString().split("\n");
result2.os = util2.getValue(lines, "os").toLowerCase();
result2.hardware = util2.getValue(lines, "hardware").toLowerCase();
if (!result2.hardware) {
const lines2 = fs84.readFileSync("/proc/cpuinfo", { encoding: "utf8" }).toString().split("\n");
const serial = util2.getValue(lines2, "serial");
result2.hardware = serial || "";
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_freebsd || _openbsd || _netbsd) {
exec3("sysctl -i kern.hostid kern.hostuuid", (error40, stdout) => {
const lines = stdout.toString().split("\n");
result2.hardware = util2.getValue(lines, "kern.hostid", ":").toLowerCase();
result2.os = util2.getValue(lines, "kern.hostuuid", ":").toLowerCase();
if (result2.os.indexOf("unknown") >= 0) {
result2.os = "";
}
if (result2.hardware.indexOf("unknown") >= 0) {
result2.hardware = "";
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
let sysdir = "%windir%\\System32";
if (process.arch === "ia32" && Object.prototype.hasOwnProperty.call(process.env, "PROCESSOR_ARCHITEW6432")) {
sysdir = "%windir%\\sysnative\\cmd.exe /c %windir%\\System32";
}
util2.powerShell("Get-CimInstance Win32_ComputerSystemProduct | select UUID | fl").then((stdout) => {
let lines = stdout.split("\r\n");
result2.hardware = util2.getValue(lines, "uuid", ":").toLowerCase();
exec3(`${sysdir}\\reg query "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography" /v MachineGuid`, util2.execOptsWin, (error40, stdout2) => {
parts2 = stdout2.toString().split("\n\r")[0].split("REG_SZ");
result2.os = parts2.length > 1 ? parts2[1].replace(/\r+|\n+|\s+/gi, "").toLowerCase() : "";
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
}
});
});
}
exports2.uuid = uuid3;
}
});
// node_modules/systeminformation/lib/system.js
var require_system = __commonJS({
"node_modules/systeminformation/lib/system.js"(exports2) {
"use strict";
var fs84 = __require("fs");
var os30 = __require("os");
var util2 = require_util7();
var { uuid: uuid3 } = require_osinfo();
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var execPromise = util2.promisify(__require("child_process").exec);
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function system(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
manufacturer: "",
model: "Computer",
version: "",
serial: "-",
uuid: "-",
sku: "-",
virtual: false
};
if (_linux || _freebsd || _openbsd || _netbsd) {
exec3("export LC_ALL=C; dmidecode -t system 2>/dev/null; unset LC_ALL", (error40, stdout) => {
let lines = stdout.toString().split("\n");
result2.manufacturer = cleanDefaults(util2.getValue(lines, "manufacturer"));
result2.model = cleanDefaults(util2.getValue(lines, "product name"));
result2.version = cleanDefaults(util2.getValue(lines, "version"));
result2.serial = cleanDefaults(util2.getValue(lines, "serial number"));
result2.uuid = cleanDefaults(util2.getValue(lines, "uuid")).toLowerCase();
result2.sku = cleanDefaults(util2.getValue(lines, "sku number"));
const cmd = `echo -n "product_name: "; cat /sys/devices/virtual/dmi/id/product_name 2>/dev/null; echo;
echo -n "product_serial: "; cat /sys/devices/virtual/dmi/id/product_serial 2>/dev/null; echo;
echo -n "product_uuid: "; cat /sys/devices/virtual/dmi/id/product_uuid 2>/dev/null; echo;
echo -n "product_version: "; cat /sys/devices/virtual/dmi/id/product_version 2>/dev/null; echo;
echo -n "sys_vendor: "; cat /sys/devices/virtual/dmi/id/sys_vendor 2>/dev/null; echo;`;
try {
lines = execSync5(cmd, util2.execOptsLinux).toString().split("\n");
result2.manufacturer = cleanDefaults(result2.manufacturer === "" ? util2.getValue(lines, "sys_vendor") : result2.manufacturer);
result2.model = cleanDefaults(result2.model === "" ? util2.getValue(lines, "product_name") : result2.model);
result2.version = cleanDefaults(result2.version === "" ? util2.getValue(lines, "product_version") : result2.version);
result2.serial = cleanDefaults(result2.serial === "" ? util2.getValue(lines, "product_serial") : result2.serial);
result2.uuid = cleanDefaults(result2.uuid === "" ? util2.getValue(lines, "product_uuid").toLowerCase() : result2.uuid);
} catch {
util2.noop();
}
if (!result2.serial) {
result2.serial = "-";
}
if (!result2.manufacturer) {
result2.manufacturer = "";
}
if (!result2.model) {
result2.model = "Computer";
}
if (!result2.version) {
result2.version = "";
}
if (!result2.sku) {
result2.sku = "-";
}
if (result2.model.toLowerCase() === "virtualbox" || result2.model.toLowerCase() === "kvm" || result2.model.toLowerCase() === "virtual machine" || result2.model.toLowerCase() === "bochs" || result2.model.toLowerCase().startsWith("vmware") || result2.model.toLowerCase().startsWith("droplet")) {
result2.virtual = true;
switch (result2.model.toLowerCase()) {
case "virtualbox":
result2.virtualHost = "VirtualBox";
break;
case "vmware":
result2.virtualHost = "VMware";
break;
case "kvm":
result2.virtualHost = "KVM";
break;
case "bochs":
result2.virtualHost = "bochs";
break;
}
}
if (result2.manufacturer.toLowerCase().startsWith("vmware") || result2.manufacturer.toLowerCase() === "xen") {
result2.virtual = true;
switch (result2.manufacturer.toLowerCase()) {
case "vmware":
result2.virtualHost = "VMware";
break;
case "xen":
result2.virtualHost = "Xen";
break;
}
}
if (!result2.virtual) {
try {
const disksById = execSync5("ls -1 /dev/disk/by-id/ 2>/dev/null; pciconf -lv 2>/dev/null", util2.execOptsLinux).toString();
if (disksById.indexOf("_QEMU_") >= 0 || disksById.indexOf("QEMU ") >= 0) {
result2.virtual = true;
result2.virtualHost = "QEMU";
}
if (disksById.indexOf("_VBOX_") >= 0) {
result2.virtual = true;
result2.virtualHost = "VirtualBox";
}
} catch {
util2.noop();
}
}
if (_freebsd || _openbsd || _netbsd) {
try {
const lines2 = execSync5("sysctl -i kern.hostuuid kern.hostid hw.model", util2.execOptsLinux).toString().split("\n");
if (!result2.uuid) {
result2.uuid = util2.getValue(lines2, "kern.hostuuid", ":").toLowerCase();
}
if (!result2.serial || result2.serial === "-") {
result2.serial = util2.getValue(lines2, "kern.hostid", ":").toLowerCase();
}
if (!result2.model || result2.model === "Computer") {
result2.model = util2.getValue(lines2, "hw.model", ":").trim();
}
} catch {
util2.noop();
}
}
if (!result2.virtual && (os30.release().toLowerCase().indexOf("microsoft") >= 0 || os30.release().toLowerCase().endsWith("wsl2"))) {
const kernelVersion = parseFloat(os30.release().toLowerCase());
result2.virtual = true;
result2.manufacturer = "Microsoft";
result2.model = "WSL";
result2.version = kernelVersion < 4.19 ? "1" : "2";
}
if ((_freebsd || _openbsd || _netbsd) && !result2.virtualHost) {
try {
const procInfo = execSync5("dmidecode -t 4", util2.execOptsLinux);
const procLines = procInfo.toString().split("\n");
const procManufacturer = util2.getValue(procLines, "manufacturer", ":", true);
switch (procManufacturer.toLowerCase()) {
case "virtualbox":
result2.virtualHost = "VirtualBox";
break;
case "vmware":
result2.virtualHost = "VMware";
break;
case "kvm":
result2.virtualHost = "KVM";
break;
case "bochs":
result2.virtualHost = "bochs";
break;
}
} catch {
util2.noop();
}
}
if (fs84.existsSync("/.dockerenv") || fs84.existsSync("/.dockerinit")) {
result2.model = "Docker Container";
}
try {
const stdout2 = execSync5('dmesg 2>/dev/null | grep -iE "virtual|hypervisor" | grep -iE "vmware|qemu|kvm|xen" | grep -viE "Nested Virtualization|/virtual/"');
const lines2 = stdout2.toString().split("\n");
if (lines2.length > 0) {
if (result2.model === "Computer") {
result2.model = "Virtual machine";
}
result2.virtual = true;
if (stdout2.toString().toLowerCase().indexOf("vmware") >= 0 && !result2.virtualHost) {
result2.virtualHost = "VMware";
}
if (stdout2.toString().toLowerCase().indexOf("qemu") >= 0 && !result2.virtualHost) {
result2.virtualHost = "QEMU";
}
if (stdout2.toString().toLowerCase().indexOf("xen") >= 0 && !result2.virtualHost) {
result2.virtualHost = "Xen";
}
if (stdout2.toString().toLowerCase().indexOf("kvm") >= 0 && !result2.virtualHost) {
result2.virtualHost = "KVM";
}
}
} catch {
util2.noop();
}
if (result2.manufacturer === "" && result2.model === "Computer" && result2.version === "") {
fs84.readFile("/proc/cpuinfo", (error41, stdout2) => {
if (!error41) {
let lines2 = stdout2.toString().split("\n");
result2.model = util2.getValue(lines2, "hardware", ":", true).toUpperCase();
result2.version = util2.getValue(lines2, "revision", ":", true).toLowerCase();
result2.serial = util2.getValue(lines2, "serial", ":", true);
const model = util2.getValue(lines2, "model:", ":", true);
if (util2.isRaspberry(lines2)) {
const rPIRevision = util2.decodePiCpuinfo(lines2);
result2.model = rPIRevision.model;
result2.version = rPIRevision.revisionCode;
result2.manufacturer = "Raspberry Pi Foundation";
result2.raspberry = {
manufacturer: rPIRevision.manufacturer,
processor: rPIRevision.processor,
type: rPIRevision.type,
revision: rPIRevision.revision
};
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
}
if (_darwin) {
exec3("ioreg -c IOPlatformExpertDevice -d 2", (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().replace(/[<>"]/g, "").split("\n");
const model = util2.getAppleModel(util2.getValue(lines, "model", "=", true));
result2.manufacturer = util2.getValue(lines, "manufacturer", "=", true);
result2.model = model.key;
result2.type = macOsChassisType(model.version);
result2.version = model.version;
result2.serial = util2.getValue(lines, "ioplatformserialnumber", "=", true);
result2.uuid = util2.getValue(lines, "ioplatformuuid", "=", true).toLowerCase();
result2.sku = util2.getValue(lines, "board-id", "=", true) || util2.getValue(lines, "target-sub-type", "=", true);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
try {
util2.powerShell("Get-CimInstance Win32_ComputerSystemProduct | select Name,Vendor,Version,IdentifyingNumber,UUID | fl").then((stdout, error40) => {
if (!error40) {
const lines = stdout.split("\r\n");
result2.manufacturer = util2.getValue(lines, "vendor", ":");
result2.model = util2.getValue(lines, "name", ":");
result2.version = util2.getValue(lines, "version", ":");
result2.serial = util2.getValue(lines, "identifyingnumber", ":");
result2.uuid = util2.getValue(lines, "uuid", ":").toLowerCase();
const model = result2.model.toLowerCase();
if (model === "virtualbox" || model === "kvm" || model === "virtual machine" || model === "bochs" || model.startsWith("vmware") || model.startsWith("qemu") || model.startsWith("parallels")) {
result2.virtual = true;
if (model.startsWith("virtualbox")) {
result2.virtualHost = "VirtualBox";
}
if (model.startsWith("vmware")) {
result2.virtualHost = "VMware";
}
if (model.startsWith("kvm")) {
result2.virtualHost = "KVM";
}
if (model.startsWith("bochs")) {
result2.virtualHost = "bochs";
}
if (model.startsWith("qemu")) {
result2.virtualHost = "KVM";
}
if (model.startsWith("parallels")) {
result2.virtualHost = "Parallels";
}
}
const manufacturer = result2.manufacturer.toLowerCase();
if (manufacturer.startsWith("vmware") || manufacturer.startsWith("qemu") || manufacturer === "xen" || manufacturer.startsWith("parallels")) {
result2.virtual = true;
if (manufacturer.startsWith("vmware")) {
result2.virtualHost = "VMware";
}
if (manufacturer.startsWith("xen")) {
result2.virtualHost = "Xen";
}
if (manufacturer.startsWith("qemu")) {
result2.virtualHost = "KVM";
}
if (manufacturer.startsWith("parallels")) {
result2.virtualHost = "Parallels";
}
}
util2.powerShell('Get-CimInstance MS_Systeminformation -Namespace "root/wmi" | select systemsku | fl ').then((stdout2, error41) => {
if (!error41) {
const lines2 = stdout2.split("\r\n");
result2.sku = util2.getValue(lines2, "systemsku", ":");
}
if (!result2.virtual) {
util2.powerShell("Get-CimInstance Win32_bios | select Version, SerialNumber, SMBIOSBIOSVersion").then((stdout3, error42) => {
if (!error42) {
let lines2 = stdout3.toString();
if (lines2.indexOf("VRTUAL") >= 0 || lines2.indexOf("A M I ") >= 0 || lines2.indexOf("VirtualBox") >= 0 || lines2.indexOf("VMWare") >= 0 || lines2.indexOf("Xen") >= 0 || lines2.indexOf("Parallels") >= 0) {
result2.virtual = true;
if (lines2.indexOf("VirtualBox") >= 0 && !result2.virtualHost) {
result2.virtualHost = "VirtualBox";
}
if (lines2.indexOf("VMware") >= 0 && !result2.virtualHost) {
result2.virtualHost = "VMware";
}
if (lines2.indexOf("Xen") >= 0 && !result2.virtualHost) {
result2.virtualHost = "Xen";
}
if (lines2.indexOf("VRTUAL") >= 0 && !result2.virtualHost) {
result2.virtualHost = "Hyper-V";
}
if (lines2.indexOf("A M I") >= 0 && !result2.virtualHost) {
result2.virtualHost = "Virtual PC";
}
if (lines2.indexOf("Parallels") >= 0 && !result2.virtualHost) {
result2.virtualHost = "Parallels";
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.system = system;
function cleanDefaults(s2) {
const cmpStr = s2.toLowerCase();
if (cmpStr.indexOf("o.e.m.") === -1 && cmpStr.indexOf("default string") === -1 && cmpStr !== "default") {
return s2 || "";
}
return "";
}
function bios(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
vendor: "",
version: "",
releaseDate: "",
revision: ""
};
let cmd = "";
if (_linux || _freebsd || _openbsd || _netbsd) {
if (process.arch === "arm") {
cmd = "cat /proc/cpuinfo | grep Serial";
} else {
cmd = "export LC_ALL=C; dmidecode -t bios 2>/dev/null; unset LC_ALL";
}
exec3(cmd, (error40, stdout) => {
let lines = stdout.toString().split("\n");
result2.vendor = util2.getValue(lines, "Vendor");
result2.version = util2.getValue(lines, "Version");
let datetime3 = util2.getValue(lines, "Release Date");
result2.releaseDate = util2.parseDateTime(datetime3).date;
result2.revision = util2.getValue(lines, "BIOS Revision");
result2.serial = util2.getValue(lines, "SerialNumber");
let language = util2.getValue(lines, "Currently Installed Language").split("|")[0];
if (language) {
result2.language = language;
}
if (lines.length && stdout.toString().indexOf("Characteristics:") >= 0) {
const features = [];
lines.forEach((line) => {
if (line.indexOf(" is supported") >= 0) {
const feature = line.split(" is supported")[0].trim();
features.push(feature);
}
});
result2.features = features;
}
const cmd2 = `echo -n "bios_date: "; cat /sys/devices/virtual/dmi/id/bios_date 2>/dev/null; echo;
echo -n "bios_vendor: "; cat /sys/devices/virtual/dmi/id/bios_vendor 2>/dev/null; echo;
echo -n "bios_version: "; cat /sys/devices/virtual/dmi/id/bios_version 2>/dev/null; echo;`;
try {
lines = execSync5(cmd2, util2.execOptsLinux).toString().split("\n");
result2.vendor = !result2.vendor ? util2.getValue(lines, "bios_vendor") : result2.vendor;
result2.version = !result2.version ? util2.getValue(lines, "bios_version") : result2.version;
datetime3 = util2.getValue(lines, "bios_date");
result2.releaseDate = !result2.releaseDate ? util2.parseDateTime(datetime3).date : result2.releaseDate;
} catch (e2) {
util2.noop();
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
result2.vendor = "Apple Inc.";
exec3("system_profiler SPHardwareDataType -json", (error40, stdout) => {
try {
const hardwareData = JSON.parse(stdout.toString());
if (hardwareData && hardwareData.SPHardwareDataType && hardwareData.SPHardwareDataType.length) {
let bootRomVersion = hardwareData.SPHardwareDataType[0].boot_rom_version;
bootRomVersion = bootRomVersion ? bootRomVersion.split("(")[0].trim() : null;
result2.version = bootRomVersion;
}
} catch (e2) {
util2.noop();
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
result2.vendor = "Sun Microsystems";
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
try {
util2.powerShell(
'Get-CimInstance Win32_bios | select Description,Version,Manufacturer,@{n="ReleaseDate";e={$_.ReleaseDate.ToString("yyyy-MM-dd")}},BuildNumber,SerialNumber,SMBIOSBIOSVersion | fl'
).then((stdout, error40) => {
if (!error40) {
let lines = stdout.toString().split("\r\n");
const description = util2.getValue(lines, "description", ":");
const version4 = util2.getValue(lines, "SMBIOSBIOSVersion", ":");
if (description.indexOf(" Version ") !== -1) {
result2.vendor = description.split(" Version ")[0].trim();
result2.version = description.split(" Version ")[1].trim();
} else if (description.indexOf(" Ver: ") !== -1) {
result2.vendor = util2.getValue(lines, "manufacturer", ":");
result2.version = description.split(" Ver: ")[1].trim();
} else {
result2.vendor = util2.getValue(lines, "manufacturer", ":");
result2.version = version4 || util2.getValue(lines, "version", ":");
}
result2.releaseDate = util2.getValue(lines, "releasedate", ":");
result2.revision = util2.getValue(lines, "buildnumber", ":");
result2.serial = cleanDefaults(util2.getValue(lines, "serialnumber", ":"));
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch (e2) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.bios = bios;
function baseboard(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const result2 = {
manufacturer: "",
model: "",
version: "",
serial: "-",
assetTag: "-",
memMax: null,
memSlots: null
};
let cmd = "";
if (_linux || _freebsd || _openbsd || _netbsd) {
if (process.arch === "arm") {
cmd = "cat /proc/cpuinfo | grep Serial";
} else {
cmd = "export LC_ALL=C; dmidecode -t 2 2>/dev/null; unset LC_ALL";
}
const workload = [];
workload.push(execPromise(cmd));
workload.push(execPromise("export LC_ALL=C; dmidecode -t memory 2>/dev/null"));
util2.promiseAll(workload).then((data) => {
let lines = data.results[0] ? data.results[0].toString().split("\n") : [""];
result2.manufacturer = cleanDefaults(util2.getValue(lines, "Manufacturer"));
result2.model = cleanDefaults(util2.getValue(lines, "Product Name"));
result2.version = cleanDefaults(util2.getValue(lines, "Version"));
result2.serial = cleanDefaults(util2.getValue(lines, "Serial Number"));
result2.assetTag = cleanDefaults(util2.getValue(lines, "Asset Tag"));
const cmd2 = `echo -n "board_asset_tag: "; cat /sys/devices/virtual/dmi/id/board_asset_tag 2>/dev/null; echo;
echo -n "board_name: "; cat /sys/devices/virtual/dmi/id/board_name 2>/dev/null; echo;
echo -n "board_serial: "; cat /sys/devices/virtual/dmi/id/board_serial 2>/dev/null; echo;
echo -n "board_vendor: "; cat /sys/devices/virtual/dmi/id/board_vendor 2>/dev/null; echo;
echo -n "board_version: "; cat /sys/devices/virtual/dmi/id/board_version 2>/dev/null; echo;`;
try {
lines = execSync5(cmd2, util2.execOptsLinux).toString().split("\n");
result2.manufacturer = cleanDefaults(!result2.manufacturer ? util2.getValue(lines, "board_vendor") : result2.manufacturer);
result2.model = cleanDefaults(!result2.model ? util2.getValue(lines, "board_name") : result2.model);
result2.version = cleanDefaults(!result2.version ? util2.getValue(lines, "board_version") : result2.version);
result2.serial = cleanDefaults(!result2.serial ? util2.getValue(lines, "board_serial") : result2.serial);
result2.assetTag = cleanDefaults(!result2.assetTag ? util2.getValue(lines, "board_asset_tag") : result2.assetTag);
} catch {
util2.noop();
}
lines = data.results[1] ? data.results[1].toString().split("\n") : [""];
result2.memMax = util2.toInt(util2.getValue(lines, "Maximum Capacity")) * 1024 * 1024 * 1024 || null;
result2.memSlots = util2.toInt(util2.getValue(lines, "Number Of Devices")) || null;
if (util2.isRaspberry()) {
const rpi = util2.decodePiCpuinfo();
result2.manufacturer = rpi.manufacturer;
result2.model = "Raspberry Pi";
result2.serial = rpi.serial;
result2.version = rpi.type + " - " + rpi.revision;
result2.memMax = os30.totalmem();
result2.memSlots = 0;
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
const workload = [];
workload.push(execPromise("ioreg -c IOPlatformExpertDevice -d 2"));
workload.push(execPromise("system_profiler SPMemoryDataType"));
util2.promiseAll(workload).then((data) => {
const lines = data.results[0] ? data.results[0].toString().replace(/[<>"]/g, "").split("\n") : [""];
result2.manufacturer = util2.getValue(lines, "manufacturer", "=", true);
result2.model = util2.getValue(lines, "model", "=", true);
result2.version = util2.getValue(lines, "version", "=", true);
result2.serial = util2.getValue(lines, "ioplatformserialnumber", "=", true);
result2.assetTag = util2.getValue(lines, "board-id", "=", true);
let devices = data.results[1] ? data.results[1].toString().split(" BANK ") : [""];
if (devices.length === 1) {
devices = data.results[1] ? data.results[1].toString().split(" DIMM") : [""];
}
devices.shift();
result2.memSlots = devices.length;
if (os30.arch() === "arm64") {
result2.memSlots = 0;
result2.memMax = os30.totalmem();
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
try {
const workload = [];
const win10plus = parseInt(os30.release()) >= 10;
const maxCapacityAttribute = win10plus ? "MaxCapacityEx" : "MaxCapacity";
workload.push(util2.powerShell("Get-CimInstance Win32_baseboard | select Model,Manufacturer,Product,Version,SerialNumber,PartNumber,SKU | fl"));
workload.push(util2.powerShell(`Get-CimInstance Win32_physicalmemoryarray | select ${maxCapacityAttribute}, MemoryDevices | fl`));
util2.promiseAll(workload).then((data) => {
let lines = data.results[0] ? data.results[0].toString().split("\r\n") : [""];
result2.manufacturer = cleanDefaults(util2.getValue(lines, "manufacturer", ":"));
result2.model = cleanDefaults(util2.getValue(lines, "model", ":"));
if (!result2.model) {
result2.model = cleanDefaults(util2.getValue(lines, "product", ":"));
}
result2.version = cleanDefaults(util2.getValue(lines, "version", ":"));
result2.serial = cleanDefaults(util2.getValue(lines, "serialnumber", ":"));
result2.assetTag = cleanDefaults(util2.getValue(lines, "partnumber", ":"));
if (!result2.assetTag) {
result2.assetTag = cleanDefaults(util2.getValue(lines, "sku", ":"));
}
lines = data.results[1] ? data.results[1].toString().split("\r\n") : [""];
result2.memMax = util2.toInt(util2.getValue(lines, maxCapacityAttribute, ":")) * (win10plus ? 1024 : 1) || null;
result2.memSlots = util2.toInt(util2.getValue(lines, "MemoryDevices", ":")) || null;
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.baseboard = baseboard;
function macOsChassisType(model) {
model = model.toLowerCase();
if (model.indexOf("macbookair") >= 0 || model.indexOf("macbook air") >= 0) {
return "Notebook";
}
if (model.indexOf("macbookpro") >= 0 || model.indexOf("macbook pro") >= 0) {
return "Notebook";
}
if (model.indexOf("macbook") >= 0) {
return "Notebook";
}
if (model.indexOf("macmini") >= 0 || model.indexOf("mac mini") >= 0) {
return "Desktop";
}
if (model.indexOf("imac") >= 0) {
return "Desktop";
}
if (model.indexOf("macstudio") >= 0 || model.indexOf("mac studio") >= 0) {
return "Desktop";
}
if (model.indexOf("macpro") >= 0 || model.indexOf("mac pro") >= 0) {
return "Tower";
}
return "Other";
}
function chassis(callback) {
const chassisTypes = [
"Other",
"Unknown",
"Desktop",
"Low Profile Desktop",
"Pizza Box",
"Mini Tower",
"Tower",
"Portable",
"Laptop",
"Notebook",
"Hand Held",
"Docking Station",
"All in One",
"Sub Notebook",
"Space-Saving",
"Lunch Box",
"Main System Chassis",
"Expansion Chassis",
"SubChassis",
"Bus Expansion Chassis",
"Peripheral Chassis",
"Storage Chassis",
"Rack Mount Chassis",
"Sealed-Case PC",
"Multi-System Chassis",
"Compact PCI",
"Advanced TCA",
"Blade",
"Blade Enclosure",
"Tablet",
"Convertible",
"Detachable",
"IoT Gateway ",
"Embedded PC",
"Mini PC",
"Stick PC"
];
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
manufacturer: "",
model: "",
type: "",
version: "",
serial: "-",
assetTag: "-",
sku: ""
};
if (_linux || _freebsd || _openbsd || _netbsd) {
const cmd = `echo -n "chassis_asset_tag: "; cat /sys/devices/virtual/dmi/id/chassis_asset_tag 2>/dev/null; echo;
echo -n "chassis_serial: "; cat /sys/devices/virtual/dmi/id/chassis_serial 2>/dev/null; echo;
echo -n "chassis_type: "; cat /sys/devices/virtual/dmi/id/chassis_type 2>/dev/null; echo;
echo -n "chassis_vendor: "; cat /sys/devices/virtual/dmi/id/chassis_vendor 2>/dev/null; echo;
echo -n "chassis_version: "; cat /sys/devices/virtual/dmi/id/chassis_version 2>/dev/null; echo;`;
exec3(cmd, (error40, stdout) => {
let lines = stdout.toString().split("\n");
result2.manufacturer = cleanDefaults(util2.getValue(lines, "chassis_vendor"));
const ctype = parseInt(util2.getValue(lines, "chassis_type").replace(/\D/g, ""));
result2.type = cleanDefaults(ctype && !isNaN(ctype) && ctype < chassisTypes.length ? chassisTypes[ctype - 1] : "");
result2.version = cleanDefaults(util2.getValue(lines, "chassis_version"));
result2.serial = cleanDefaults(util2.getValue(lines, "chassis_serial"));
result2.assetTag = cleanDefaults(util2.getValue(lines, "chassis_asset_tag"));
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
exec3("ioreg -c IOPlatformExpertDevice -d 2", (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().replace(/[<>"]/g, "").split("\n");
const model = util2.getAppleModel(util2.getValue(lines, "model", "=", true));
result2.manufacturer = util2.getValue(lines, "manufacturer", "=", true);
result2.model = model.key;
result2.type = macOsChassisType(model.model);
result2.version = model.version;
result2.serial = util2.getValue(lines, "ioplatformserialnumber", "=", true);
result2.assetTag = util2.getValue(lines, "board-id", "=", true) || util2.getValue(lines, "target-type", "=", true);
result2.sku = util2.getValue(lines, "target-sub-type", "=", true);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
try {
util2.powerShell("Get-CimInstance Win32_SystemEnclosure | select Model,Manufacturer,ChassisTypes,Version,SerialNumber,PartNumber,SKU,SMBIOSAssetTag | fl").then((stdout, error40) => {
if (!error40) {
let lines = stdout.toString().split("\r\n");
result2.manufacturer = cleanDefaults(util2.getValue(lines, "manufacturer", ":"));
result2.model = cleanDefaults(util2.getValue(lines, "model", ":"));
const ctype = parseInt(util2.getValue(lines, "ChassisTypes", ":").replace(/\D/g, ""));
result2.type = ctype && !isNaN(ctype) && ctype < chassisTypes.length ? chassisTypes[ctype - 1] : "";
result2.version = cleanDefaults(util2.getValue(lines, "version", ":"));
result2.serial = cleanDefaults(util2.getValue(lines, "serialnumber", ":"));
result2.assetTag = cleanDefaults(util2.getValue(lines, "partnumber", ":"));
if (!result2.assetTag) {
result2.assetTag = cleanDefaults(util2.getValue(lines, "SMBIOSAssetTag", ":"));
}
result2.sku = cleanDefaults(util2.getValue(lines, "sku", ":"));
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.chassis = chassis;
}
});
// node_modules/systeminformation/lib/cpu.js
var require_cpu = __commonJS({
"node_modules/systeminformation/lib/cpu.js"(exports2) {
"use strict";
var os30 = __require("os");
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var fs84 = __require("fs");
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
var _cpu_speed = 0;
var _current_cpu = {
user: 0,
nice: 0,
system: 0,
idle: 0,
irq: 0,
steal: 0,
guest: 0,
load: 0,
tick: 0,
ms: 0,
currentLoad: 0,
currentLoadUser: 0,
currentLoadSystem: 0,
currentLoadNice: 0,
currentLoadIdle: 0,
currentLoadIrq: 0,
currentLoadSteal: 0,
currentLoadGuest: 0,
rawCurrentLoad: 0,
rawCurrentLoadUser: 0,
rawCurrentLoadSystem: 0,
rawCurrentLoadNice: 0,
rawCurrentLoadIdle: 0,
rawCurrentLoadIrq: 0,
rawCurrentLoadSteal: 0,
rawCurrentLoadGuest: 0
};
var _cpus = [];
var _corecount = 0;
var AMDBaseFrequencies = {
8346: "1.8",
8347: "1.9",
8350: "2.0",
8354: "2.2",
"8356|SE": "2.4",
8356: "2.3",
8360: "2.5",
2372: "2.1",
2373: "2.1",
2374: "2.2",
2376: "2.3",
2377: "2.3",
2378: "2.4",
2379: "2.4",
2380: "2.5",
2381: "2.5",
2382: "2.6",
2384: "2.7",
2386: "2.8",
2387: "2.8",
2389: "2.9",
2393: "3.1",
8374: "2.2",
8376: "2.3",
8378: "2.4",
8379: "2.4",
8380: "2.5",
8381: "2.5",
8382: "2.6",
8384: "2.7",
8386: "2.8",
8387: "2.8",
8389: "2.9",
8393: "3.1",
"2419EE": "1.8",
"2423HE": "2.0",
"2425HE": "2.1",
2427: "2.2",
2431: "2.4",
2435: "2.6",
"2439SE": "2.8",
"8425HE": "2.1",
8431: "2.4",
8435: "2.6",
"8439SE": "2.8",
4122: "2.2",
4130: "2.6",
"4162EE": "1.7",
"4164EE": "1.8",
"4170HE": "2.1",
"4174HE": "2.3",
"4176HE": "2.4",
4180: "2.6",
4184: "2.8",
"6124HE": "1.8",
"6128HE": "2.0",
"6132HE": "2.2",
6128: "2.0",
6134: "2.3",
6136: "2.4",
6140: "2.6",
"6164HE": "1.7",
"6166HE": "1.8",
6168: "1.9",
6172: "2.1",
6174: "2.2",
6176: "2.3",
"6176SE": "2.3",
"6180SE": "2.5",
3250: "2.5",
3260: "2.7",
3280: "2.4",
4226: "2.7",
4228: "2.8",
4230: "2.9",
4234: "3.1",
4238: "3.3",
4240: "3.4",
4256: "1.6",
4274: "2.5",
4276: "2.6",
4280: "2.8",
4284: "3.0",
6204: "3.3",
6212: "2.6",
6220: "3.0",
6234: "2.4",
6238: "2.6",
"6262HE": "1.6",
6272: "2.1",
6274: "2.2",
6276: "2.3",
6278: "2.4",
"6282SE": "2.6",
"6284SE": "2.7",
6308: "3.5",
6320: "2.8",
6328: "3.2",
"6338P": "2.3",
6344: "2.6",
6348: "2.8",
6366: "1.8",
"6370P": "2.0",
6376: "2.3",
6378: "2.4",
6380: "2.5",
6386: "2.8",
"FX|4100": "3.6",
"FX|4120": "3.9",
"FX|4130": "3.8",
"FX|4150": "3.8",
"FX|4170": "4.2",
"FX|6100": "3.3",
"FX|6120": "3.6",
"FX|6130": "3.6",
"FX|6200": "3.8",
"FX|8100": "2.8",
"FX|8120": "3.1",
"FX|8140": "3.2",
"FX|8150": "3.6",
"FX|8170": "3.9",
"FX|4300": "3.8",
"FX|4320": "4.0",
"FX|4350": "4.2",
"FX|6300": "3.5",
"FX|6350": "3.9",
"FX|8300": "3.3",
"FX|8310": "3.4",
"FX|8320": "3.5",
"FX|8350": "4.0",
"FX|8370": "4.0",
"FX|9370": "4.4",
"FX|9590": "4.7",
"FX|8320E": "3.2",
"FX|8370E": "3.3",
// ZEN Desktop CPUs
1200: "3.1",
"Pro 1200": "3.1",
"1300X": "3.5",
"Pro 1300": "3.5",
1400: "3.2",
"1500X": "3.5",
"Pro 1500": "3.5",
1600: "3.2",
"1600X": "3.6",
"Pro 1600": "3.2",
1700: "3.0",
"Pro 1700": "3.0",
"1700X": "3.4",
"Pro 1700X": "3.4",
"1800X": "3.6",
"1900X": "3.8",
1920: "3.2",
"1920X": "3.5",
"1950X": "3.4",
// ZEN Desktop APUs
"200GE": "3.2",
"Pro 200GE": "3.2",
"220GE": "3.4",
"240GE": "3.5",
"3000G": "3.5",
"300GE": "3.4",
"3050GE": "3.4",
"2200G": "3.5",
"Pro 2200G": "3.5",
"2200GE": "3.2",
"Pro 2200GE": "3.2",
"2400G": "3.6",
"Pro 2400G": "3.6",
"2400GE": "3.2",
"Pro 2400GE": "3.2",
// ZEN Mobile APUs
"Pro 200U": "2.3",
"300U": "2.4",
"2200U": "2.5",
"3200U": "2.6",
"2300U": "2.0",
"Pro 2300U": "2.0",
"2500U": "2.0",
"Pro 2500U": "2.2",
"2600H": "3.2",
"2700U": "2.0",
"Pro 2700U": "2.2",
"2800H": "3.3",
// ZEN Server Processors
7351: "2.4",
"7351P": "2.4",
7401: "2.0",
"7401P": "2.0",
"7551P": "2.0",
7551: "2.0",
7251: "2.1",
7261: "2.5",
7281: "2.1",
7301: "2.2",
7371: "3.1",
7451: "2.3",
7501: "2.0",
7571: "2.2",
7601: "2.2",
// ZEN Embedded Processors
V1500B: "2.2",
V1780B: "3.35",
V1202B: "2.3",
V1404I: "2.0",
V1605B: "2.0",
V1756B: "3.25",
V1807B: "3.35",
3101: "2.1",
3151: "2.7",
3201: "1.5",
3251: "2.5",
3255: "2.5",
3301: "2.0",
3351: "1.9",
3401: "1.85",
3451: "2.15",
// ZEN+ Desktop
"1200|AF": "3.1",
"2300X": "3.5",
"2500X": "3.6",
2600: "3.4",
"2600E": "3.1",
"1600|AF": "3.2",
"2600X": "3.6",
2700: "3.2",
"2700E": "2.8",
"Pro 2700": "3.2",
"2700X": "3.7",
"Pro 2700X": "3.6",
"2920X": "3.5",
"2950X": "3.5",
"2970WX": "3.0",
"2990WX": "3.0",
// ZEN+ Desktop APU
"Pro 300GE": "3.4",
"Pro 3125GE": "3.4",
"3150G": "3.5",
"Pro 3150G": "3.5",
"3150GE": "3.3",
"Pro 3150GE": "3.3",
"3200G": "3.6",
"Pro 3200G": "3.6",
"3200GE": "3.3",
"Pro 3200GE": "3.3",
"3350G": "3.6",
"Pro 3350G": "3.6",
"3350GE": "3.3",
"Pro 3350GE": "3.3",
"3400G": "3.7",
"Pro 3400G": "3.7",
"3400GE": "3.3",
"Pro 3400GE": "3.3",
// ZEN+ Mobile
"3300U": "2.1",
"PRO 3300U": "2.1",
"3450U": "2.1",
"3500U": "2.1",
"PRO 3500U": "2.1",
"3500C": "2.1",
"3550H": "2.1",
"3580U": "2.1",
"3700U": "2.3",
"PRO 3700U": "2.3",
"3700C": "2.3",
"3750H": "2.3",
"3780U": "2.3",
// ZEN2 Desktop CPUS
3100: "3.6",
"3300X": "3.8",
3500: "3.6",
"3500X": "3.6",
3600: "3.6",
"Pro 3600": "3.6",
"3600X": "3.8",
"3600XT": "3.8",
"Pro 3700": "3.6",
"3700X": "3.6",
"3800X": "3.9",
"3800XT": "3.9",
3900: "3.1",
"Pro 3900": "3.1",
"3900X": "3.8",
"3900XT": "3.8",
"3950X": "3.5",
"3960X": "3.8",
"3970X": "3.7",
"3990X": "2.9",
"3945WX": "4.0",
"3955WX": "3.9",
"3975WX": "3.5",
"3995WX": "2.7",
// ZEN2 Desktop APUs
"4300GE": "3.5",
"Pro 4300GE": "3.5",
"4300G": "3.8",
"Pro 4300G": "3.8",
"4600GE": "3.3",
"Pro 4650GE": "3.3",
"4600G": "3.7",
"Pro 4650G": "3.7",
"4700GE": "3.1",
"Pro 4750GE": "3.1",
"4700G": "3.6",
"Pro 4750G": "3.6",
"4300U": "2.7",
"4450U": "2.5",
"Pro 4450U": "2.5",
"4500U": "2.3",
"4600U": "2.1",
"PRO 4650U": "2.1",
"4680U": "2.1",
"4600HS": "3.0",
"4600H": "3.0",
"4700U": "2.0",
"PRO 4750U": "1.7",
"4800U": "1.8",
"4800HS": "2.9",
"4800H": "2.9",
"4900HS": "3.0",
"4900H": "3.3",
"5300U": "2.6",
"5500U": "2.1",
"5700U": "1.8",
// ZEN2 - EPYC
"7232P": "3.1",
"7302P": "3.0",
"7402P": "2.8",
"7502P": "2.5",
"7702P": "2.0",
7252: "3.1",
7262: "3.2",
7272: "2.9",
7282: "2.8",
7302: "3.0",
7352: "2.3",
7402: "2.8",
7452: "2.35",
7502: "2.5",
7532: "2.4",
7542: "2.9",
7552: "2.2",
7642: "2.3",
7662: "2.0",
7702: "2.0",
7742: "2.25",
"7H12": "2.6",
"7F32": "3.7",
"7F52": "3.5",
"7F72": "3.2",
// Epyc (Milan)
"7773X": "2.2",
7763: "2.45",
7713: "2.0",
"7713P": "2.0",
7663: "2.0",
7643: "2.3",
"7573X": "2.8",
"75F3": "2.95",
7543: "2.8",
"7543P": "2.8",
7513: "2.6",
"7473X": "2.8",
7453: "2.75",
"74F3": "3.2",
7443: "2.85",
"7443P": "2.85",
7413: "2.65",
"7373X": "3.05",
"73F3": "3.5",
7343: "3.2",
7313: "3.0",
"7313P": "3.0",
"72F3": "3.7",
// ZEN3
"5600X": "3.7",
"5800X": "3.8",
"5900X": "3.7",
"5950X": "3.4",
"5945WX": "4.1",
"5955WX": "4.0",
"5965WX": "3.8",
"5975WX": "3.6",
"5995WX": "2.7",
"7960X": "4.2",
"7970X": "4.0",
"7980X": "3.2",
"7965WX": "4.2",
"7975WX": "4.0",
"7985WX": "3.2",
"7995WX": "2.5",
// ZEN4
9754: "2.25",
"9754S": "2.25",
9734: "2.2",
"9684X": "2.55",
"9384X": "3.1",
"9184X": "3.55",
"9654P": "2.4",
9654: "2.4",
9634: "2.25",
"9554P": "3.1",
9554: "3.1",
9534: "2.45",
"9474F": "3.6",
"9454P": "2.75",
9454: "2.75",
"9374F": "3.85",
"9354P": "3.25",
9354: "3.25",
9334: "2.7",
"9274F": "4.05",
9254: "2.9",
9224: "2.5",
"9174F": "4.1",
9124: "3.0",
// Epyc 4th gen
"4124P": "3.8",
"4244P": "3.8",
"4344P": "3.8",
"4364P": "4.5",
"4464P": "3.7",
"4484PX": "4.4",
"4564P": "4.5",
"4584PX": "4.2",
"8024P": "2.4",
"8024PN": "2.05",
"8124P": "2.45",
"8124PN": "2.0",
"8224P": "2.55",
"8224PN": "2.0",
"8324P": "2.65",
"8324PN": "2.05",
"8434P": "2.5",
"8434PN": "2.0",
"8534P": "2.3",
"8534PN": "2.0",
// Epyc 5th gen
9115: "2.6",
9135: "3.65",
"9175F": "4.2",
9255: "3.25",
"9275F": "4.1",
9335: "3.0",
"9355P": "3.55",
9355: "3.55",
"9375F": "3.8",
9365: "3.4",
"9455P": "3.15",
9455: "3.15",
"9475F": "3.65",
9535: "2.4",
"9555P": "3.2",
9555: "3.2",
"9575F": "3.3",
9565: "3.15",
"9655P": "2.5",
9655: "2.5",
9755: "2.7",
"4245P": "3.9",
"4345P": "3.8",
"4465P": "3.4",
"4545P": "3.0",
"4565P": "4.3",
"4585PX": "4.3",
"5900XT": "3.3",
5900: "3.0",
5945: "3.0",
"5800X3D": "3.4",
"5800XT": "3.8",
5800: "3.4",
"5700X3D": "3.0",
"5700X": "3.4",
5845: "3.4",
"5600X3D": "3.3",
"5600XT": "3.7",
"5600T": "3.5",
5600: "3.5",
"5600F": "3.0",
5645: "3.7",
"5500X3D": "3.0",
"5980HX": "3.3",
"5980HS": "3.0",
"5900HX": "3.3",
"5900HS": "3.0",
"5800H": "3.2",
"5800HS": "2.8",
"5800U": "1.9",
"5600H": "3.3",
"5600HS": "3.0",
"5600U": "2.3",
"5560U": "2.3",
"5400U": "2.7",
"5825U": "2.0",
"5625U": "2.3",
"5425U": "2.7",
"5125C": "3.0",
"7730U": "2.0",
"7530U": "2.0",
"7430U": "2.3",
"7330U": "2.3",
7203: "2.8",
7303: "2.4",
"7663P": "2.0",
"6980HX": "3.3",
"6980HS": "3.3",
"6900HX": "3.3",
"6900HS": "3.3",
"6800H": "3.2",
"6800HS": "3.2",
"6800U": "2.7",
"6600H": "3.3",
"6600HS": "3.3",
"6600U": "2.9",
"7735HS": "3.2",
"7735H": "3.2",
"7736U": "2.7",
"7735U": "2.7",
"7435HS": "3.1",
"7435H": "3.1",
"7535HS": "3.3",
"7535H": "3.3",
"7535U": "2.9",
"7235HS": "3.2",
"7235H": "3.2",
"7335U": "3.0",
270: "4.0",
260: "3.8",
250: "3.3",
240: "4.3",
230: "3.5",
220: "3.0",
210: "2.8",
"8945HS": "4.0",
"8845HS": "3.8",
"8840HS": "3.3",
"8840U": "3.3",
"8645HS": "4.3",
"8640HS": "3.5",
"8640U": "3.5",
"8540U": "3.0",
"8440U": "2.8",
"9950X3D": "4.3",
"9950X": "4.3",
"9900X3D": "4.4",
"9900X": "4.4",
"9800X3D": "4.7",
"9700X": "3.8",
"9700F": "3.8",
"9600X": "3.9",
9600: "3.8",
"9500F": "3.8",
"9995WX": "2.5",
"9985WX": "3.2",
"9975WX": "4.0",
"9965WX": "4.2",
"9955WX": "4.5",
"9945WX": "4.7",
"9980X": "3.2",
"9970X": "4.0",
"9960X": "4.2",
"PRO HX375": "2.0",
HX375: "2.0",
"PRO HX370": "2.0",
HX370: "2.0",
365: "2.0",
"PRO 360": "2.0",
350: "2.0",
"PRO 350": "2.0",
340: "2.0",
"PRO 340": "2.0",
330: "2.0",
395: "3.0",
"PRO 395": "3.0",
390: "3.2",
"PRO 390": "3.2",
385: "3.6",
"PRO 385": "3.6",
"PRO 380": "3.6",
"9955HX3D": "2.3",
"9955HX": "2.5",
"9850HX": "3.0",
9015: "3.6",
9965: "2.25",
9845: "2.1",
9825: "2.2",
9745: "2.4",
9645: "2.3"
};
var socketTypes = {
1: "Other",
2: "Unknown",
3: "Daughter Board",
4: "ZIF Socket",
5: "Replacement/Piggy Back",
6: "None",
7: "LIF Socket",
8: "Slot 1",
9: "Slot 2",
10: "370 Pin Socket",
11: "Slot A",
12: "Slot M",
13: "423",
14: "A (Socket 462)",
15: "478",
16: "754",
17: "940",
18: "939",
19: "mPGA604",
20: "LGA771",
21: "LGA775",
22: "S1",
23: "AM2",
24: "F (1207)",
25: "LGA1366",
26: "G34",
27: "AM3",
28: "C32",
29: "LGA1156",
30: "LGA1567",
31: "PGA988A",
32: "BGA1288",
33: "rPGA988B",
34: "BGA1023",
35: "BGA1224",
36: "LGA1155",
37: "LGA1356",
38: "LGA2011",
39: "FS1",
40: "FS2",
41: "FM1",
42: "FM2",
43: "LGA2011-3",
44: "LGA1356-3",
45: "LGA1150",
46: "BGA1168",
47: "BGA1234",
48: "BGA1364",
49: "AM4",
50: "LGA1151",
51: "BGA1356",
52: "BGA1440",
53: "BGA1515",
54: "LGA3647-1",
55: "SP3",
56: "SP3r2",
57: "LGA2066",
58: "BGA1392",
59: "BGA1510",
60: "BGA1528",
61: "LGA4189",
62: "LGA1200",
63: "LGA4677",
64: "LGA1700",
65: "BGA1744",
66: "BGA1781",
67: "BGA1211",
68: "BGA2422",
69: "LGA1211",
70: "LGA2422",
71: "LGA5773",
72: "BGA5773",
73: "AM5",
74: "SP5",
75: "SP6",
76: "BGA883",
77: "BGA1190",
78: "BGA4129",
79: "LGA4710",
80: "LGA7529",
81: "BGA1964",
82: "BGA1792",
83: "BGA2049",
84: "BGA2551",
85: "LGA1851",
86: "BGA2114",
87: "BGA2833"
};
var socketTypesByName = {
LGA1150: "i7-5775C i3-4340 i3-4170 G3250 i3-4160T i3-4160 E3-1231 G3258 G3240 i7-4790S i7-4790K i7-4790 i5-4690K i5-4690 i5-4590T i5-4590S i5-4590 i5-4460 i3-4360 i3-4150 G1820 G3420 G3220 i7-4771 i5-4440 i3-4330 i3-4130T i3-4130 E3-1230 i7-4770S i7-4770K i7-4770 i5-4670K i5-4670 i5-4570T i5-4570S i5-4570 i5-4430",
LGA1151: "i9-9900KS E-2288G E-2224 G5420 i9-9900T i9-9900 i7-9700T i7-9700F i7-9700E i7-9700 i5-9600 i5-9500T i5-9500F i5-9500 i5-9400T i3-9350K i3-9300 i3-9100T i3-9100F i3-9100 G4930 i9-9900KF i7-9700KF i5-9600KF i5-9400F i5-9400 i3-9350KF i9-9900K i7-9700K i5-9600K G5500 G5400 i7-8700T i7-8086K i5-8600 i5-8500T i5-8500 i5-8400T i3-8300 i3-8100T G4900 i7-8700K i7-8700 i5-8600K i5-8400 i3-8350K i3-8100 E3-1270 G4600 G4560 i7-7700T i7-7700K i7-7700 i5-7600K i5-7600 i5-7500T i5-7500 i5-7400 i3-7350K i3-7300 i3-7100T i3-7100 G3930 G3900 G4400 i7-6700T i7-6700K i7-6700 i5-6600K i5-6600 i5-6500T i5-6500 i5-6400T i5-6400 i3-6300 i3-6100T i3-6100 E3-1270 E3-1270 T4500 T4400",
1155: "G440 G460 G465 G470 G530T G540T G550T G1610T G1620T G530 G540 G1610 G550 G1620 G555 G1630 i3-2100T i3-2120T i3-3220T i3-3240T i3-3250T i3-2100 i3-2105 i3-2102 i3-3210 i3-3220 i3-2125 i3-2120 i3-3225 i3-2130 i3-3245 i3-3240 i3-3250 i5-3570T i5-2500T i5-2400S i5-2405S i5-2390T i5-3330S i5-2500S i5-3335S i5-2300 i5-3450S i5-3340S i5-3470S i5-3475S i5-3470T i5-2310 i5-3550S i5-2320 i5-3330 i5-3350P i5-3450 i5-2400 i5-3340 i5-3570S i5-2380P i5-2450P i5-3470 i5-2500K i5-3550 i5-2500 i5-3570 i5-3570K i5-2550K i7-3770T i7-2600S i7-3770S i7-2600K i7-2600 i7-3770 i7-3770K i7-2700K G620T G630T G640T G2020T G645T G2100T G2030T G622 G860T G620 G632 G2120T G630 G640 G2010 G840 G2020 G850 G645 G2030 G860 G2120 G870 G2130 G2140 E3-1220L E3-1220L E3-1260L E3-1265L E3-1220 E3-1225 E3-1220 E3-1235 E3-1225 E3-1230 E3-1230 E3-1240 E3-1245 E3-1270 E3-1275 E3-1240 E3-1245 E3-1270 E3-1280 E3-1275 E3-1290 E3-1280 E3-1290"
};
function getSocketTypesByName(str2) {
let result2 = "";
for (const key in socketTypesByName) {
const names = socketTypesByName[key].split(" ");
names.forEach((element) => {
if (str2.indexOf(element) >= 0) {
result2 = key;
}
});
}
return result2;
}
function cpuManufacturer(str2) {
let result2 = str2;
str2 = str2.toLowerCase();
if (str2.indexOf("intel") >= 0) {
result2 = "Intel";
}
if (str2.indexOf("amd") >= 0) {
result2 = "AMD";
}
if (str2.indexOf("qemu") >= 0) {
result2 = "QEMU";
}
if (str2.indexOf("hygon") >= 0) {
result2 = "Hygon";
}
if (str2.indexOf("centaur") >= 0) {
result2 = "WinChip/Via";
}
if (str2.indexOf("vmware") >= 0) {
result2 = "VMware";
}
if (str2.indexOf("Xen") >= 0) {
result2 = "Xen Hypervisor";
}
if (str2.indexOf("tcg") >= 0) {
result2 = "QEMU";
}
if (str2.indexOf("apple") >= 0) {
result2 = "Apple";
}
if (str2.indexOf("sifive") >= 0) {
result2 = "SiFive";
}
if (str2.indexOf("thead") >= 0) {
result2 = "T-Head";
}
if (str2.indexOf("andestech") >= 0) {
result2 = "Andes Technology";
}
return result2;
}
function cpuBrandManufacturer(res) {
res.brand = res.brand.replace(/\(R\)+/g, "\xAE").replace(/\s+/g, " ").trim();
res.brand = res.brand.replace(/\(TM\)+/g, "\u2122").replace(/\s+/g, " ").trim();
res.brand = res.brand.replace(/\(C\)+/g, "\xA9").replace(/\s+/g, " ").trim();
res.brand = res.brand.replace(/CPU+/g, "").replace(/\s+/g, " ").trim();
res.manufacturer = cpuManufacturer(res.brand);
let parts2 = res.brand.split(" ");
parts2.shift();
res.brand = parts2.join(" ");
return res;
}
function getAMDSpeed(brand) {
let result2 = "0";
for (let key in AMDBaseFrequencies) {
if ({}.hasOwnProperty.call(AMDBaseFrequencies, key)) {
let parts2 = key.split("|");
let found = 0;
parts2.forEach((item) => {
if (brand.indexOf(item) > -1) {
found++;
}
});
if (found === parts2.length) {
result2 = AMDBaseFrequencies[key];
}
}
}
return parseFloat(result2);
}
function getCpu() {
return new Promise((resolve25) => {
process.nextTick(() => {
const UNKNOWN2 = "unknown";
let result2 = {
manufacturer: UNKNOWN2,
brand: UNKNOWN2,
vendor: "",
family: "",
model: "",
stepping: "",
revision: "",
voltage: "",
speed: 0,
speedMin: 0,
speedMax: 0,
governor: "",
cores: util2.cores(),
physicalCores: util2.cores(),
performanceCores: util2.cores(),
efficiencyCores: 0,
processors: 1,
socket: "",
flags: "",
virtualization: false,
cache: {}
};
cpuFlags().then((flags2) => {
result2.flags = flags2;
result2.virtualization = flags2.indexOf("vmx") > -1 || flags2.indexOf("svm") > -1;
if (_darwin) {
exec3("sysctl machdep.cpu hw.cpufrequency_max hw.cpufrequency_min hw.packages hw.physicalcpu_max hw.ncpu hw.tbfrequency hw.cpufamily hw.cpusubfamily", (error40, stdout) => {
const lines = stdout.toString().split("\n");
const modelline = util2.getValue(lines, "machdep.cpu.brand_string");
const modellineParts = modelline.split("@");
result2.brand = modellineParts[0].trim();
const speed = modellineParts[1] ? modellineParts[1].trim() : "0";
result2.speed = parseFloat(speed.replace(/GHz+/g, ""));
let tbFrequency = util2.getValue(lines, "hw.tbfrequency") / 1e9;
tbFrequency = tbFrequency < 0.1 ? tbFrequency * 100 : tbFrequency;
result2.speed = result2.speed === 0 ? tbFrequency : result2.speed;
_cpu_speed = result2.speed;
result2 = cpuBrandManufacturer(result2);
result2.speedMin = util2.getValue(lines, "hw.cpufrequency_min") ? util2.getValue(lines, "hw.cpufrequency_min") / 1e9 : result2.speed;
result2.speedMax = util2.getValue(lines, "hw.cpufrequency_max") ? util2.getValue(lines, "hw.cpufrequency_max") / 1e9 : result2.speed;
result2.vendor = util2.getValue(lines, "machdep.cpu.vendor") || "Apple";
result2.family = util2.getValue(lines, "machdep.cpu.family") || util2.getValue(lines, "hw.cpufamily");
result2.model = util2.getValue(lines, "machdep.cpu.model");
result2.stepping = util2.getValue(lines, "machdep.cpu.stepping") || util2.getValue(lines, "hw.cpusubfamily");
result2.virtualization = true;
const countProcessors = util2.getValue(lines, "hw.packages");
const countCores = util2.getValue(lines, "hw.physicalcpu_max");
const countThreads = util2.getValue(lines, "hw.ncpu");
if (os30.arch() === "arm64") {
result2.socket = "SOC";
try {
const clusters = execSync5("ioreg -c IOPlatformDevice -d 3 -r | grep cluster-type").toString().split("\n");
const efficiencyCores = clusters.filter((line) => line.indexOf('"E"') >= 0).length;
const performanceCores = clusters.filter((line) => line.indexOf('"P"') >= 0).length;
result2.efficiencyCores = efficiencyCores;
result2.performanceCores = performanceCores;
} catch {
util2.noop();
}
}
if (countProcessors) {
result2.processors = parseInt(countProcessors, 10) || 1;
}
if (countCores && countThreads) {
result2.cores = parseInt(countThreads) || util2.cores();
result2.physicalCores = parseInt(countCores) || util2.cores();
}
cpuCache().then((res) => {
result2.cache = res;
resolve25(result2);
});
});
}
if (_linux) {
let modelline = "";
let lines = [];
if (os30.cpus()[0] && os30.cpus()[0].model) {
modelline = os30.cpus()[0].model;
}
exec3('export LC_ALL=C; lscpu; echo -n "Governor: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 2>/dev/null; echo; unset LC_ALL', (error40, stdout) => {
if (!error40) {
lines = stdout.toString().split("\n");
}
modelline = util2.getValue(lines, "model name") || modelline;
modelline = util2.getValue(lines, "bios model name") || modelline;
modelline = util2.cleanString(modelline);
const modellineParts = modelline.split("@");
result2.brand = modellineParts[0].trim();
if (result2.brand.indexOf("Unknown") >= 0) {
result2.brand = result2.brand.split("Unknown")[0].trim();
}
result2.speed = modellineParts[1] ? parseFloat(modellineParts[1].trim()) : 0;
if (result2.speed === 0 && (result2.brand.indexOf("AMD") > -1 || result2.brand.toLowerCase().indexOf("ryzen") > -1)) {
result2.speed = getAMDSpeed(result2.brand);
}
if (result2.speed === 0) {
const current = getCpuCurrentSpeedSync();
if (current.avg !== 0) {
result2.speed = current.avg;
}
}
_cpu_speed = result2.speed;
result2.speedMin = Math.round(parseFloat(util2.getValue(lines, "cpu min mhz").replace(/,/g, ".")) / 10) / 100;
result2.speedMax = Math.round(parseFloat(util2.getValue(lines, "cpu max mhz").replace(/,/g, ".")) / 10) / 100;
result2 = cpuBrandManufacturer(result2);
result2.vendor = cpuManufacturer(util2.getValue(lines, "vendor id"));
result2.family = util2.getValue(lines, "cpu family");
result2.model = util2.getValue(lines, "model:");
result2.stepping = util2.getValue(lines, "stepping");
result2.revision = util2.getValue(lines, "cpu revision");
result2.cache.l1d = util2.getValue(lines, "l1d cache");
if (result2.cache.l1d) {
result2.cache.l1d = parseInt(result2.cache.l1d) * (result2.cache.l1d.indexOf("M") !== -1 ? 1024 * 1024 : result2.cache.l1d.indexOf("K") !== -1 ? 1024 : 1);
}
result2.cache.l1i = util2.getValue(lines, "l1i cache");
if (result2.cache.l1i) {
result2.cache.l1i = parseInt(result2.cache.l1i) * (result2.cache.l1i.indexOf("M") !== -1 ? 1024 * 1024 : result2.cache.l1i.indexOf("K") !== -1 ? 1024 : 1);
}
result2.cache.l2 = util2.getValue(lines, "l2 cache");
if (result2.cache.l2) {
result2.cache.l2 = parseInt(result2.cache.l2) * (result2.cache.l2.indexOf("M") !== -1 ? 1024 * 1024 : result2.cache.l2.indexOf("K") !== -1 ? 1024 : 1);
}
result2.cache.l3 = util2.getValue(lines, "l3 cache");
if (result2.cache.l3) {
result2.cache.l3 = parseInt(result2.cache.l3) * (result2.cache.l3.indexOf("M") !== -1 ? 1024 * 1024 : result2.cache.l3.indexOf("K") !== -1 ? 1024 : 1);
}
const threadsPerCore = util2.getValue(lines, "thread(s) per core") || "1";
const processors = util2.getValue(lines, "socket(s)") || "1";
const threadsPerCoreInt = parseInt(threadsPerCore, 10);
const processorsInt = parseInt(processors, 10) || 1;
const coresPerSocket = parseInt(util2.getValue(lines, "core(s) per socket"), 10);
result2.physicalCores = coresPerSocket ? coresPerSocket * processorsInt : result2.cores / threadsPerCoreInt;
result2.performanceCores = threadsPerCoreInt > 1 ? result2.cores - result2.physicalCores : result2.cores;
result2.efficiencyCores = threadsPerCoreInt > 1 ? result2.cores - threadsPerCoreInt * result2.performanceCores : 0;
result2.processors = processorsInt;
result2.governor = util2.getValue(lines, "governor") || "";
if (result2.vendor === "ARM" && util2.isRaspberry()) {
const rPIRevision = util2.decodePiCpuinfo();
result2.family = result2.manufacturer;
result2.manufacturer = rPIRevision.manufacturer;
result2.brand = rPIRevision.processor;
result2.revision = rPIRevision.revisionCode;
result2.socket = "SOC";
}
if (util2.getValue(lines, "architecture") === "riscv64") {
const linesRiscV = fs84.readFileSync("/proc/cpuinfo").toString().split("\n");
const uarch = util2.getValue(linesRiscV, "uarch") || "";
if (uarch.indexOf(",") > -1) {
const split = uarch.split(",");
result2.manufacturer = cpuManufacturer(split[0]);
result2.brand = split[1];
}
}
let lines2 = [];
exec3('export LC_ALL=C; dmidecode \u2013t 4 2>/dev/null | grep "Upgrade: Socket"; unset LC_ALL', (error210, stdout2) => {
lines2 = stdout2.toString().split("\n");
if (lines2 && lines2.length) {
result2.socket = util2.getValue(lines2, "Upgrade").replace("Socket", "").trim() || result2.socket;
}
resolve25(result2);
});
});
}
if (_freebsd || _openbsd || _netbsd) {
let modelline = "";
let lines = [];
if (os30.cpus()[0] && os30.cpus()[0].model) {
modelline = os30.cpus()[0].model;
}
exec3("export LC_ALL=C; dmidecode -t 4; dmidecode -t 7 unset LC_ALL", (error40, stdout) => {
let cache3 = [];
if (!error40) {
const data = stdout.toString().split("# dmidecode");
const processor = data.length > 1 ? data[1] : "";
cache3 = data.length > 2 ? data[2].split("Cache Information") : [];
lines = processor.split("\n");
}
result2.brand = modelline.split("@")[0].trim();
result2.speed = modelline.split("@")[1] ? parseFloat(modelline.split("@")[1].trim()) : 0;
if (result2.speed === 0 && (result2.brand.indexOf("AMD") > -1 || result2.brand.toLowerCase().indexOf("ryzen") > -1)) {
result2.speed = getAMDSpeed(result2.brand);
}
if (result2.speed === 0) {
const current = getCpuCurrentSpeedSync();
if (current.avg !== 0) {
result2.speed = current.avg;
}
}
_cpu_speed = result2.speed;
result2.speedMin = result2.speed;
result2.speedMax = Math.round(parseFloat(util2.getValue(lines, "max speed").replace(/Mhz/g, "")) / 10) / 100;
result2 = cpuBrandManufacturer(result2);
result2.vendor = cpuManufacturer(util2.getValue(lines, "manufacturer"));
let sig = util2.getValue(lines, "signature");
sig = sig.split(",");
for (let i3 = 0; i3 < sig.length; i3++) {
sig[i3] = sig[i3].trim();
}
result2.family = util2.getValue(sig, "Family", " ", true);
result2.model = util2.getValue(sig, "Model", " ", true);
result2.stepping = util2.getValue(sig, "Stepping", " ", true);
result2.revision = "";
const voltage = parseFloat(util2.getValue(lines, "voltage"));
result2.voltage = isNaN(voltage) ? "" : voltage.toFixed(2);
for (let i3 = 0; i3 < cache3.length; i3++) {
lines = cache3[i3].split("\n");
let cacheType = util2.getValue(lines, "Socket Designation").toLowerCase().replace(" ", "-").split("-");
cacheType = cacheType.length ? cacheType[0] : "";
const sizeParts = util2.getValue(lines, "Installed Size").split(" ");
let size = parseInt(sizeParts[0], 10);
const unit = sizeParts.length > 1 ? sizeParts[1] : "kb";
size = size * (unit === "kb" ? 1024 : unit === "mb" ? 1024 * 1024 : unit === "gb" ? 1024 * 1024 * 1024 : 1);
if (cacheType) {
if (cacheType === "l1") {
result2.cache[cacheType + "d"] = size / 2;
result2.cache[cacheType + "i"] = size / 2;
} else {
result2.cache[cacheType] = size;
}
}
}
result2.socket = util2.getValue(lines, "Upgrade").replace("Socket", "").trim();
const threadCount = util2.getValue(lines, "thread count").trim();
const coreCount = util2.getValue(lines, "core count").trim();
if (coreCount && threadCount) {
result2.cores = parseInt(threadCount, 10);
result2.physicalCores = parseInt(coreCount, 10);
}
resolve25(result2);
});
}
if (_sunos) {
resolve25(result2);
}
if (_windows) {
try {
const workload = [];
workload.push(
util2.powerShell(
"Get-CimInstance Win32_processor | select Name, Revision, L2CacheSize, L3CacheSize, Manufacturer, MaxClockSpeed, Description, UpgradeMethod, Caption, NumberOfLogicalProcessors, NumberOfCores | fl"
)
);
workload.push(util2.powerShell("Get-CimInstance Win32_CacheMemory | select CacheType,InstalledSize,Level | fl"));
workload.push(util2.powerShell("(Get-CimInstance Win32_ComputerSystem).HypervisorPresent"));
Promise.all(workload).then((data) => {
let lines = data[0].split("\r\n");
let name3 = util2.getValue(lines, "name", ":") || "";
if (name3.indexOf("@") >= 0) {
result2.brand = name3.split("@")[0].trim();
result2.speed = name3.split("@")[1] ? parseFloat(name3.split("@")[1].trim()) : 0;
_cpu_speed = result2.speed;
} else {
result2.brand = name3.trim();
result2.speed = 0;
}
result2 = cpuBrandManufacturer(result2);
result2.revision = util2.getValue(lines, "revision", ":");
result2.vendor = util2.getValue(lines, "manufacturer", ":");
result2.speedMax = Math.round(parseFloat(util2.getValue(lines, "maxclockspeed", ":").replace(/,/g, ".")) / 10) / 100;
if (result2.speed === 0 && (result2.brand.indexOf("AMD") > -1 || result2.brand.toLowerCase().indexOf("ryzen") > -1)) {
result2.speed = getAMDSpeed(result2.brand);
}
if (result2.speed === 0) {
result2.speed = result2.speedMax;
}
result2.speedMin = result2.speed;
let description = util2.getValue(lines, "description", ":").split(" ");
for (let i3 = 0; i3 < description.length; i3++) {
if (description[i3].toLowerCase().startsWith("family") && i3 + 1 < description.length && description[i3 + 1]) {
result2.family = description[i3 + 1];
}
if (description[i3].toLowerCase().startsWith("model") && i3 + 1 < description.length && description[i3 + 1]) {
result2.model = description[i3 + 1];
}
if (description[i3].toLowerCase().startsWith("stepping") && i3 + 1 < description.length && description[i3 + 1]) {
result2.stepping = description[i3 + 1];
}
}
const socketId = util2.getValue(lines, "UpgradeMethod", ":");
if (socketTypes[socketId]) {
result2.socket = socketTypes[socketId];
}
const socketByName = getSocketTypesByName(name3);
if (socketByName) {
result2.socket = socketByName;
}
const countProcessors = util2.countLines(lines, "Caption");
const countThreads = util2.getValue(lines, "NumberOfLogicalProcessors", ":");
const countCores = util2.getValue(lines, "NumberOfCores", ":");
if (countProcessors) {
result2.processors = parseInt(countProcessors) || 1;
}
if (countCores && countThreads) {
result2.cores = parseInt(countThreads) || util2.cores();
result2.physicalCores = parseInt(countCores) || util2.cores();
}
if (countProcessors > 1) {
result2.cores = result2.cores * countProcessors;
result2.physicalCores = result2.physicalCores * countProcessors;
}
result2.cache = parseWinCache(data[0], data[1]);
const hyperv = data[2] ? data[2].toString().toLowerCase() : "";
result2.virtualization = hyperv.indexOf("true") !== -1;
resolve25(result2);
});
} catch (e2) {
resolve25(result2);
}
}
});
});
});
}
function cpu(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
getCpu().then((result2) => {
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
});
}
exports2.cpu = cpu;
function getCpuCurrentSpeedSync() {
const cpus2 = os30.cpus();
let minFreq = 999999999;
let maxFreq = 0;
let avgFreq = 0;
const cores = [];
const speeds = [];
if (cpus2 && cpus2.length && Object.prototype.hasOwnProperty.call(cpus2[0], "speed")) {
for (let i3 in cpus2) {
speeds.push(cpus2[i3].speed > 100 ? (cpus2[i3].speed + 1) / 1e3 : cpus2[i3].speed / 10);
}
} else if (_linux) {
try {
const speedStrings = execSync5('cat /proc/cpuinfo | grep "cpu MHz" | cut -d " " -f 3', util2.execOptsLinux).toString().split("\n").filter((line) => line.length > 0);
for (let i3 in speedStrings) {
speeds.push(Math.floor(parseInt(speedStrings[i3], 10) / 10) / 100);
}
} catch {
util2.noop();
}
}
if (speeds && speeds.length) {
try {
for (const i3 in speeds) {
avgFreq = avgFreq + speeds[i3];
if (speeds[i3] > maxFreq) {
maxFreq = speeds[i3];
}
if (speeds[i3] < minFreq) {
minFreq = speeds[i3];
}
cores.push(parseFloat(speeds[i3].toFixed(2)));
}
avgFreq = avgFreq / speeds.length;
return {
min: parseFloat(minFreq.toFixed(2)),
max: parseFloat(maxFreq.toFixed(2)),
avg: parseFloat(avgFreq.toFixed(2)),
cores
};
} catch (e2) {
return {
min: 0,
max: 0,
avg: 0,
cores
};
}
} else {
return {
min: 0,
max: 0,
avg: 0,
cores
};
}
}
function cpuCurrentSpeed(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = getCpuCurrentSpeedSync();
if (result2.avg === 0 && _cpu_speed !== 0) {
const currCpuSpeed = parseFloat(_cpu_speed);
result2 = {
min: currCpuSpeed,
max: currCpuSpeed,
avg: currCpuSpeed,
cores: []
};
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
}
exports2.cpuCurrentSpeed = cpuCurrentSpeed;
function cpuTemperature(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
main: null,
cores: [],
max: null,
socket: [],
chipset: null
};
if (_linux) {
try {
const cmd2 = 'cat /sys/class/thermal/thermal_zone*/type 2>/dev/null; echo "-----"; cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null;';
const parts2 = execSync5(cmd2, util2.execOptsLinux).toString().split("-----\n");
if (parts2.length === 2) {
const lines = parts2[0].split("\n");
const lines2 = parts2[1].split("\n");
for (let i3 = 0; i3 < lines.length; i3++) {
const line = lines[i3].trim();
if (line.startsWith("acpi") && lines2[i3]) {
result2.socket.push(Math.round(parseInt(lines2[i3], 10) / 100) / 10);
}
if (line.startsWith("pch") && lines2[i3]) {
result2.chipset = Math.round(parseInt(lines2[i3], 10) / 100) / 10;
}
}
}
} catch (e2) {
util2.noop();
}
const cmd = 'for mon in /sys/class/hwmon/hwmon*; do for label in "$mon"/temp*_label; do if [ -f $label ]; then value=${label%_*}_input; echo $(cat "$label")___$(cat "$value"); fi; done; done;';
try {
exec3(cmd, (error40, stdout) => {
stdout = stdout.toString();
const tdiePos = stdout.toLowerCase().indexOf("tdie");
if (tdiePos !== -1) {
stdout = stdout.substring(tdiePos);
}
const lines = stdout.split("\n");
let tctl = 0;
lines.forEach((line) => {
const parts2 = line.split("___");
const label = parts2[0];
const value = parts2.length > 1 && parts2[1] ? parts2[1] : "0";
if (value && label && label.toLowerCase() === "tctl") {
tctl = result2.main = Math.round(parseInt(value, 10) / 100) / 10;
}
if (value && (label === void 0 || label && label.toLowerCase().startsWith("core"))) {
result2.cores.push(Math.round(parseInt(value, 10) / 100) / 10);
} else if (value && label && result2.main === null && (label.toLowerCase().indexOf("package") >= 0 || label.toLowerCase().indexOf("physical") >= 0 || label.toLowerCase() === "tccd1")) {
result2.main = Math.round(parseInt(value, 10) / 100) / 10;
}
});
if (tctl && result2.main === null) {
result2.main = tctl;
}
if (result2.cores.length > 0) {
if (result2.main === null) {
result2.main = Math.round(result2.cores.reduce((a2, b) => a2 + b, 0) / result2.cores.length);
}
let maxtmp = Math.max.apply(Math, result2.cores);
result2.max = maxtmp > result2.main ? maxtmp : result2.main;
}
if (result2.main !== null) {
if (result2.max === null) {
result2.max = result2.main;
}
if (callback) {
callback(result2);
}
resolve25(result2);
return;
}
exec3("sensors", (error41, stdout2) => {
if (!error41) {
const lines2 = stdout2.toString().split("\n");
let tdieTemp = null;
let newSectionStarts = true;
let section = "";
lines2.forEach((line) => {
if (line.trim() === "") {
newSectionStarts = true;
} else if (newSectionStarts) {
if (line.trim().toLowerCase().startsWith("acpi")) {
section = "acpi";
}
if (line.trim().toLowerCase().startsWith("pch")) {
section = "pch";
}
if (line.trim().toLowerCase().startsWith("core")) {
section = "core";
}
if (line.trim().toLowerCase().startsWith("k10temp")) {
section = "coreAMD";
}
newSectionStarts = false;
}
const regex2 = /[+-]([^°]*)/g;
const temps = line.match(regex2);
const firstPart = line.split(":")[0].toUpperCase();
if (section === "acpi") {
if (firstPart.indexOf("TEMP") !== -1) {
result2.socket.push(parseFloat(temps));
}
} else if (section === "pch") {
if (firstPart.indexOf("TEMP") !== -1 && !result2.chipset) {
result2.chipset = parseFloat(temps);
}
}
if (firstPart.indexOf("PHYSICAL") !== -1 || firstPart.indexOf("PACKAGE") !== -1 || section === "coreAMD" && firstPart.indexOf("TDIE") !== -1 || firstPart.indexOf("TEMP") !== -1) {
result2.main = parseFloat(temps);
}
if (firstPart.indexOf("CORE ") !== -1) {
result2.cores.push(parseFloat(temps));
}
if (firstPart.indexOf("TDIE") !== -1 && tdieTemp === null) {
tdieTemp = parseFloat(temps);
}
});
if (result2.cores.length > 0) {
result2.main = Math.round(result2.cores.reduce((a2, b) => a2 + b, 0) / result2.cores.length);
const maxtmp = Math.max.apply(Math, result2.cores);
result2.max = maxtmp > result2.main ? maxtmp : result2.main;
} else {
if (result2.main === null && tdieTemp !== null) {
result2.main = tdieTemp;
result2.max = tdieTemp;
}
}
if (result2.main !== null && result2.max === null) {
result2.max = result2.main;
}
if (result2.main !== null || result2.max !== null) {
if (callback) {
callback(result2);
}
resolve25(result2);
return;
}
}
fs84.stat("/sys/class/thermal/thermal_zone0/temp", (err2) => {
if (err2 === null) {
fs84.readFile("/sys/class/thermal/thermal_zone0/temp", (error42, stdout3) => {
if (!error42) {
const lines2 = stdout3.toString().split("\n");
if (lines2.length > 0) {
result2.main = parseFloat(lines2[0]) / 1e3;
result2.max = result2.main;
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
exec3("/opt/vc/bin/vcgencmd measure_temp", (error42, stdout3) => {
if (!error42) {
const lines2 = stdout3.toString().split("\n");
if (lines2.length > 0 && lines2[0].indexOf("=")) {
result2.main = parseFloat(lines2[0].split("=")[1]);
result2.max = result2.main;
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
});
});
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_freebsd || _openbsd || _netbsd) {
exec3("sysctl dev.cpu | grep temp", (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
let sum = 0;
lines.forEach((line) => {
const parts2 = line.split(":");
if (parts2.length > 1) {
const temp = parseFloat(parts2[1].replace(",", "."));
if (temp > result2.max) {
result2.max = temp;
}
sum = sum + temp;
result2.cores.push(temp);
}
});
if (result2.cores.length) {
result2.main = Math.round(sum / result2.cores.length * 100) / 100;
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
try {
const osxTemp = __require("osx-temperature-sensor");
result2 = osxTemp.cpuTemperature();
if (result2.main) {
result2.main = Math.round(result2.main * 100) / 100;
}
if (result2.max) {
result2.max = Math.round(result2.max * 100) / 100;
}
if (result2 && result2.cores && result2.cores.length) {
for (let i3 = 0; i3 < result2.cores.length; i3++) {
result2.cores[i3] = Math.round(result2.cores[i3] * 100) / 100;
}
}
} catch {
util2.noop();
}
try {
const macosTemp = __require("macos-temperature-sensor");
const res = macosTemp.temperature();
if (res.cpu) {
result2.main = Math.round(res.cpu * 100) / 100;
result2.max = result2.main;
}
if (res.soc) {
result2.chipset = Math.round(res.soc * 100) / 100;
}
if (res && res.cpuDieTemps.length) {
for (const temp of res.cpuDieTemps) {
result2.cores.push(Math.round(temp * 100) / 100);
}
}
} catch {
util2.noop();
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
try {
util2.powerShell('Get-CimInstance MSAcpi_ThermalZoneTemperature -Namespace "root/wmi" | Select CurrentTemperature').then((stdout, error40) => {
if (!error40) {
let sum = 0;
const lines = stdout.split("\r\n").filter((line) => line.trim() !== "").filter((line, idx) => idx > 0);
lines.forEach((line) => {
const value = (parseInt(line, 10) - 2732) / 10;
if (!isNaN(value)) {
sum = sum + value;
if (value > result2.max) {
result2.max = value;
}
result2.cores.push(value);
}
});
if (result2.cores.length) {
result2.main = sum / result2.cores.length;
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.cpuTemperature = cpuTemperature;
function cpuFlags(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = "";
if (_windows) {
try {
exec3('reg query "HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0" /v FeatureSet', util2.execOptsWin, (error40, stdout) => {
if (!error40) {
let flag_hex = stdout.split("0x").pop().trim();
let flag_bin_unpadded = parseInt(flag_hex, 16).toString(2);
let flag_bin = "0".repeat(32 - flag_bin_unpadded.length) + flag_bin_unpadded;
let all_flags = [
"fpu",
"vme",
"de",
"pse",
"tsc",
"msr",
"pae",
"mce",
"cx8",
"apic",
"",
"sep",
"mtrr",
"pge",
"mca",
"cmov",
"pat",
"pse-36",
"psn",
"clfsh",
"",
"ds",
"acpi",
"mmx",
"fxsr",
"sse",
"sse2",
"ss",
"htt",
"tm",
"ia64",
"pbe"
];
for (let f = 0; f < all_flags.length; f++) {
if (flag_bin[f] === "1" && all_flags[f] !== "") {
result2 += " " + all_flags[f];
}
}
result2 = result2.trim().toLowerCase();
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_linux) {
try {
exec3("export LC_ALL=C; lscpu; unset LC_ALL", (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\n");
lines.forEach((line) => {
if (line.split(":")[0].toUpperCase().indexOf("FLAGS") !== -1) {
result2 = line.split(":")[1].trim().toLowerCase();
}
});
}
if (!result2) {
fs84.readFile("/proc/cpuinfo", (error41, stdout2) => {
if (!error41) {
let lines = stdout2.toString().split("\n");
result2 = util2.getValue(lines, "features", ":", true).toLowerCase();
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_freebsd || _openbsd || _netbsd) {
exec3("export LC_ALL=C; dmidecode -t 4 2>/dev/null; unset LC_ALL", (error40, stdout) => {
const flags2 = [];
if (!error40) {
const parts2 = stdout.toString().split(" Flags:");
const lines = parts2.length > 1 ? parts2[1].split(" Version:")[0].split("\n") : [];
lines.forEach((line) => {
const flag = (line.indexOf("(") ? line.split("(")[0].toLowerCase() : "").trim().replace(/\t/g, "");
if (flag) {
flags2.push(flag);
}
});
}
result2 = flags2.join(" ").trim().toLowerCase();
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
exec3("sysctl machdep.cpu.features", (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\n");
if (lines.length > 0 && lines[0].indexOf("machdep.cpu.features:") !== -1) {
result2 = lines[0].split(":")[1].trim().toLowerCase();
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.cpuFlags = cpuFlags;
function cpuCache(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
l1d: null,
l1i: null,
l2: null,
l3: null
};
if (_linux) {
try {
exec3("export LC_ALL=C; lscpu; unset LC_ALL", (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
lines.forEach((line) => {
const parts2 = line.split(":");
if (parts2[0].toUpperCase().indexOf("L1D CACHE") !== -1) {
result2.l1d = parseInt(parts2[1].trim()) * (parts2[1].indexOf("M") !== -1 ? 1024 * 1024 : parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
if (parts2[0].toUpperCase().indexOf("L1I CACHE") !== -1) {
result2.l1i = parseInt(parts2[1].trim()) * (parts2[1].indexOf("M") !== -1 ? 1024 * 1024 : parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
if (parts2[0].toUpperCase().indexOf("L2 CACHE") !== -1) {
result2.l2 = parseInt(parts2[1].trim()) * (parts2[1].indexOf("M") !== -1 ? 1024 * 1024 : parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
if (parts2[0].toUpperCase().indexOf("L3 CACHE") !== -1) {
result2.l3 = parseInt(parts2[1].trim()) * (parts2[1].indexOf("M") !== -1 ? 1024 * 1024 : parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_freebsd || _openbsd || _netbsd) {
exec3("export LC_ALL=C; dmidecode -t 7 2>/dev/null; unset LC_ALL", (error40, stdout) => {
let cache3 = [];
if (!error40) {
const data = stdout.toString();
cache3 = data.split("Cache Information");
cache3.shift();
}
for (let i3 = 0; i3 < cache3.length; i3++) {
const lines = cache3[i3].split("\n");
let cacheType = util2.getValue(lines, "Socket Designation").toLowerCase().replace(" ", "-").split("-");
cacheType = cacheType.length ? cacheType[0] : "";
const sizeParts = util2.getValue(lines, "Installed Size").split(" ");
let size = parseInt(sizeParts[0], 10);
const unit = sizeParts.length > 1 ? sizeParts[1] : "kb";
size = size * (unit === "kb" ? 1024 : unit === "mb" ? 1024 * 1024 : unit === "gb" ? 1024 * 1024 * 1024 : 1);
if (cacheType) {
if (cacheType === "l1") {
result2.cache[cacheType + "d"] = size / 2;
result2.cache[cacheType + "i"] = size / 2;
} else {
result2.cache[cacheType] = size;
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
exec3("sysctl hw.l1icachesize hw.l1dcachesize hw.l2cachesize hw.l3cachesize", (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\n");
lines.forEach((line) => {
let parts2 = line.split(":");
if (parts2[0].toLowerCase().indexOf("hw.l1icachesize") !== -1) {
result2.l1d = parseInt(parts2[1].trim()) * (parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
if (parts2[0].toLowerCase().indexOf("hw.l1dcachesize") !== -1) {
result2.l1i = parseInt(parts2[1].trim()) * (parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
if (parts2[0].toLowerCase().indexOf("hw.l2cachesize") !== -1) {
result2.l2 = parseInt(parts2[1].trim()) * (parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
if (parts2[0].toLowerCase().indexOf("hw.l3cachesize") !== -1) {
result2.l3 = parseInt(parts2[1].trim()) * (parts2[1].indexOf("K") !== -1 ? 1024 : 1);
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
try {
const workload = [];
workload.push(util2.powerShell("Get-CimInstance Win32_processor | select L2CacheSize, L3CacheSize | fl"));
workload.push(util2.powerShell("Get-CimInstance Win32_CacheMemory | select CacheType,InstalledSize,Level | fl"));
Promise.all(workload).then((data) => {
result2 = parseWinCache(data[0], data[1]);
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
function parseWinCache(linesProc, linesCache) {
const result2 = {
l1d: null,
l1i: null,
l2: null,
l3: null
};
let lines = linesProc.split("\r\n");
result2.l1d = 0;
result2.l1i = 0;
result2.l2 = util2.getValue(lines, "l2cachesize", ":");
result2.l3 = util2.getValue(lines, "l3cachesize", ":");
if (result2.l2) {
result2.l2 = parseInt(result2.l2, 10) * 1024;
} else {
result2.l2 = 0;
}
if (result2.l3) {
result2.l3 = parseInt(result2.l3, 10) * 1024;
} else {
result2.l3 = 0;
}
const parts2 = linesCache.split(/\n\s*\n/);
let l1i = 0;
let l1d = 0;
let l2 = 0;
parts2.forEach((part) => {
const lines2 = part.split("\r\n");
const cacheType = util2.getValue(lines2, "CacheType");
const level = util2.getValue(lines2, "Level");
const installedSize = util2.getValue(lines2, "InstalledSize");
if (level === "3" && cacheType === "3") {
result2.l1i = result2.l1i + parseInt(installedSize, 10) * 1024;
}
if (level === "3" && cacheType === "4") {
result2.l1d = result2.l1d + parseInt(installedSize, 10) * 1024;
}
if (level === "3" && cacheType === "5") {
l1i = parseInt(installedSize, 10) / 2;
l1d = parseInt(installedSize, 10) / 2;
}
if (level === "4" && cacheType === "5") {
l2 = l2 + parseInt(installedSize, 10) * 1024;
}
});
if (!result2.l1i && !result2.l1d) {
result2.l1i = l1i;
result2.l1d = l1d;
}
if (l2) {
result2.l2 = l2;
}
return result2;
}
exports2.cpuCache = cpuCache;
function getLoad() {
return new Promise((resolve25) => {
process.nextTick(() => {
const loads = os30.loadavg().map((x) => {
return x / util2.cores();
});
const avgLoad = parseFloat(Math.max.apply(Math, loads).toFixed(2));
let result2 = {};
const now = Date.now() - _current_cpu.ms;
if (now >= 200) {
_current_cpu.ms = Date.now();
const cpus2 = os30.cpus().map((cpu2) => {
cpu2.times.steal = 0;
cpu2.times.guest = 0;
return cpu2;
});
let totalUser = 0;
let totalSystem = 0;
let totalNice = 0;
let totalIrq = 0;
let totalIdle = 0;
let totalSteal = 0;
let totalGuest = 0;
const cores = [];
_corecount = cpus2 && cpus2.length ? cpus2.length : 0;
if (_linux) {
try {
const lines = execSync5("cat /proc/stat 2>/dev/null | grep cpu", util2.execOptsLinux).toString().split("\n");
if (lines.length > 1) {
lines.shift();
if (lines.length === cpus2.length) {
for (let i3 = 0; i3 < lines.length; i3++) {
let parts2 = lines[i3].split(" ");
if (parts2.length >= 10) {
const steal = parseFloat(parts2[8]) || 0;
const guest = parseFloat(parts2[9]) || 0;
cpus2[i3].times.steal = steal;
cpus2[i3].times.guest = guest;
}
}
}
}
} catch {
util2.noop();
}
}
for (let i3 = 0; i3 < _corecount; i3++) {
const cpu2 = cpus2[i3].times;
totalUser += cpu2.user;
totalSystem += cpu2.sys;
totalNice += cpu2.nice;
totalIdle += cpu2.idle;
totalIrq += cpu2.irq;
totalSteal += cpu2.steal || 0;
totalGuest += cpu2.guest || 0;
const tmpTick = _cpus && _cpus[i3] && _cpus[i3].totalTick ? _cpus[i3].totalTick : 0;
const tmpLoad = _cpus && _cpus[i3] && _cpus[i3].totalLoad ? _cpus[i3].totalLoad : 0;
const tmpUser = _cpus && _cpus[i3] && _cpus[i3].user ? _cpus[i3].user : 0;
const tmpSystem = _cpus && _cpus[i3] && _cpus[i3].sys ? _cpus[i3].sys : 0;
const tmpNice = _cpus && _cpus[i3] && _cpus[i3].nice ? _cpus[i3].nice : 0;
const tmpIdle = _cpus && _cpus[i3] && _cpus[i3].idle ? _cpus[i3].idle : 0;
const tmpIrq = _cpus && _cpus[i3] && _cpus[i3].irq ? _cpus[i3].irq : 0;
const tmpSteal = _cpus && _cpus[i3] && _cpus[i3].steal ? _cpus[i3].steal : 0;
const tmpGuest = _cpus && _cpus[i3] && _cpus[i3].guest ? _cpus[i3].guest : 0;
_cpus[i3] = cpu2;
_cpus[i3].totalTick = _cpus[i3].user + _cpus[i3].sys + _cpus[i3].nice + _cpus[i3].irq + _cpus[i3].steal + _cpus[i3].guest + _cpus[i3].idle;
_cpus[i3].totalLoad = _cpus[i3].user + _cpus[i3].sys + _cpus[i3].nice + _cpus[i3].irq + _cpus[i3].steal + _cpus[i3].guest;
_cpus[i3].currentTick = _cpus[i3].totalTick - tmpTick;
_cpus[i3].load = _cpus[i3].totalLoad - tmpLoad;
_cpus[i3].loadUser = _cpus[i3].user - tmpUser;
_cpus[i3].loadSystem = _cpus[i3].sys - tmpSystem;
_cpus[i3].loadNice = _cpus[i3].nice - tmpNice;
_cpus[i3].loadIdle = _cpus[i3].idle - tmpIdle;
_cpus[i3].loadIrq = _cpus[i3].irq - tmpIrq;
_cpus[i3].loadSteal = _cpus[i3].steal - tmpSteal;
_cpus[i3].loadGuest = _cpus[i3].guest - tmpGuest;
cores[i3] = {};
cores[i3].load = _cpus[i3].load / _cpus[i3].currentTick * 100;
cores[i3].loadUser = _cpus[i3].loadUser / _cpus[i3].currentTick * 100;
cores[i3].loadSystem = _cpus[i3].loadSystem / _cpus[i3].currentTick * 100;
cores[i3].loadNice = _cpus[i3].loadNice / _cpus[i3].currentTick * 100;
cores[i3].loadIdle = _cpus[i3].loadIdle / _cpus[i3].currentTick * 100;
cores[i3].loadIrq = _cpus[i3].loadIrq / _cpus[i3].currentTick * 100;
cores[i3].loadSteal = _cpus[i3].loadSteal / _cpus[i3].currentTick * 100;
cores[i3].loadGuest = _cpus[i3].loadGuest / _cpus[i3].currentTick * 100;
cores[i3].rawLoad = _cpus[i3].load;
cores[i3].rawLoadUser = _cpus[i3].loadUser;
cores[i3].rawLoadSystem = _cpus[i3].loadSystem;
cores[i3].rawLoadNice = _cpus[i3].loadNice;
cores[i3].rawLoadIdle = _cpus[i3].loadIdle;
cores[i3].rawLoadIrq = _cpus[i3].loadIrq;
cores[i3].rawLoadSteal = _cpus[i3].loadSteal;
cores[i3].rawLoadGuest = _cpus[i3].loadGuest;
}
const totalTick = totalUser + totalSystem + totalNice + totalIrq + totalSteal + totalGuest + totalIdle;
const totalLoad = totalUser + totalSystem + totalNice + totalIrq + totalSteal + totalGuest;
const currentTick = totalTick - _current_cpu.tick;
result2 = {
avgLoad,
currentLoad: (totalLoad - _current_cpu.load) / currentTick * 100,
currentLoadUser: (totalUser - _current_cpu.user) / currentTick * 100,
currentLoadSystem: (totalSystem - _current_cpu.system) / currentTick * 100,
currentLoadNice: (totalNice - _current_cpu.nice) / currentTick * 100,
currentLoadIdle: (totalIdle - _current_cpu.idle) / currentTick * 100,
currentLoadIrq: (totalIrq - _current_cpu.irq) / currentTick * 100,
currentLoadSteal: (totalSteal - _current_cpu.steal) / currentTick * 100,
currentLoadGuest: (totalGuest - _current_cpu.guest) / currentTick * 100,
rawCurrentLoad: totalLoad - _current_cpu.load,
rawCurrentLoadUser: totalUser - _current_cpu.user,
rawCurrentLoadSystem: totalSystem - _current_cpu.system,
rawCurrentLoadNice: totalNice - _current_cpu.nice,
rawCurrentLoadIdle: totalIdle - _current_cpu.idle,
rawCurrentLoadIrq: totalIrq - _current_cpu.irq,
rawCurrentLoadSteal: totalSteal - _current_cpu.steal,
rawCurrentLoadGuest: totalGuest - _current_cpu.guest,
cpus: cores
};
_current_cpu = {
user: totalUser,
nice: totalNice,
system: totalSystem,
idle: totalIdle,
irq: totalIrq,
steal: totalSteal,
guest: totalGuest,
tick: totalTick,
load: totalLoad,
ms: _current_cpu.ms,
currentLoad: result2.currentLoad,
currentLoadUser: result2.currentLoadUser,
currentLoadSystem: result2.currentLoadSystem,
currentLoadNice: result2.currentLoadNice,
currentLoadIdle: result2.currentLoadIdle,
currentLoadIrq: result2.currentLoadIrq,
currentLoadSteal: result2.currentLoadSteal,
currentLoadGuest: result2.currentLoadGuest,
rawCurrentLoad: result2.rawCurrentLoad,
rawCurrentLoadUser: result2.rawCurrentLoadUser,
rawCurrentLoadSystem: result2.rawCurrentLoadSystem,
rawCurrentLoadNice: result2.rawCurrentLoadNice,
rawCurrentLoadIdle: result2.rawCurrentLoadIdle,
rawCurrentLoadIrq: result2.rawCurrentLoadIrq,
rawCurrentLoadSteal: result2.rawCurrentLoadSteal,
rawCurrentLoadGuest: result2.rawCurrentLoadGuest
};
} else {
const cores = [];
for (let i3 = 0; i3 < _corecount; i3++) {
cores[i3] = {};
cores[i3].load = _cpus[i3].load / _cpus[i3].currentTick * 100;
cores[i3].loadUser = _cpus[i3].loadUser / _cpus[i3].currentTick * 100;
cores[i3].loadSystem = _cpus[i3].loadSystem / _cpus[i3].currentTick * 100;
cores[i3].loadNice = _cpus[i3].loadNice / _cpus[i3].currentTick * 100;
cores[i3].loadIdle = _cpus[i3].loadIdle / _cpus[i3].currentTick * 100;
cores[i3].loadIrq = _cpus[i3].loadIrq / _cpus[i3].currentTick * 100;
cores[i3].rawLoad = _cpus[i3].load;
cores[i3].rawLoadUser = _cpus[i3].loadUser;
cores[i3].rawLoadSystem = _cpus[i3].loadSystem;
cores[i3].rawLoadNice = _cpus[i3].loadNice;
cores[i3].rawLoadIdle = _cpus[i3].loadIdle;
cores[i3].rawLoadIrq = _cpus[i3].loadIrq;
cores[i3].rawLoadSteal = _cpus[i3].loadSteal;
cores[i3].rawLoadGuest = _cpus[i3].loadGuest;
}
result2 = {
avgLoad,
currentLoad: _current_cpu.currentLoad,
currentLoadUser: _current_cpu.currentLoadUser,
currentLoadSystem: _current_cpu.currentLoadSystem,
currentLoadNice: _current_cpu.currentLoadNice,
currentLoadIdle: _current_cpu.currentLoadIdle,
currentLoadIrq: _current_cpu.currentLoadIrq,
currentLoadSteal: _current_cpu.currentLoadSteal,
currentLoadGuest: _current_cpu.currentLoadGuest,
rawCurrentLoad: _current_cpu.rawCurrentLoad,
rawCurrentLoadUser: _current_cpu.rawCurrentLoadUser,
rawCurrentLoadSystem: _current_cpu.rawCurrentLoadSystem,
rawCurrentLoadNice: _current_cpu.rawCurrentLoadNice,
rawCurrentLoadIdle: _current_cpu.rawCurrentLoadIdle,
rawCurrentLoadIrq: _current_cpu.rawCurrentLoadIrq,
rawCurrentLoadSteal: _current_cpu.rawCurrentLoadSteal,
rawCurrentLoadGuest: _current_cpu.rawCurrentLoadGuest,
cpus: cores
};
}
resolve25(result2);
});
});
}
function currentLoad(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
getLoad().then((result2) => {
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
});
}
exports2.currentLoad = currentLoad;
function getFullLoad() {
return new Promise((resolve25) => {
process.nextTick(() => {
const cpus2 = os30.cpus();
let totalUser = 0;
let totalSystem = 0;
let totalNice = 0;
let totalIrq = 0;
let totalIdle = 0;
let result2 = 0;
if (cpus2 && cpus2.length) {
for (let i3 = 0, len = cpus2.length; i3 < len; i3++) {
const cpu2 = cpus2[i3].times;
totalUser += cpu2.user;
totalSystem += cpu2.sys;
totalNice += cpu2.nice;
totalIrq += cpu2.irq;
totalIdle += cpu2.idle;
}
const totalTicks = totalIdle + totalIrq + totalNice + totalSystem + totalUser;
result2 = (totalTicks - totalIdle) / totalTicks * 100;
}
resolve25(result2);
});
});
}
function fullLoad(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
getFullLoad().then((result2) => {
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
});
}
exports2.fullLoad = fullLoad;
}
});
// node_modules/systeminformation/lib/memory.js
var require_memory = __commonJS({
"node_modules/systeminformation/lib/memory.js"(exports2) {
"use strict";
var os30 = __require("os");
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var util2 = require_util7();
var fs84 = __require("fs");
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
var RAM_manufacturers = {
"00CE": "Samsung Electronics Inc",
"014F": "Transcend Information Inc.",
"017A": "Apacer Technology Inc.",
"0198": "HyperX",
"029E": "Corsair",
"02FE": "Elpida",
"04CB": "A-DATA",
"04CD": "G.Skill International Enterprise",
"059B": "Crucial",
1315: "Crucial",
"2C00": "Micron Technology Inc.",
5105: "Qimonda AG i. In.",
"802C": "Micron Technology Inc.",
"80AD": "Hynix Semiconductor Inc.",
"80CE": "Samsung Electronics Inc.",
8551: "Qimonda AG i. In.",
"859B": "Crucial",
AD00: "Hynix Semiconductor Inc.",
CE00: "Samsung Electronics Inc.",
SAMSUNG: "Samsung Electronics Inc.",
HYNIX: "Hynix Semiconductor Inc.",
"G-SKILL": "G-Skill International Enterprise",
"G.SKILL": "G-Skill International Enterprise",
TRANSCEND: "Transcend Information",
APACER: "Apacer Technology Inc",
MICRON: "Micron Technology Inc.",
QIMONDA: "Qimonda AG i. In."
};
function mem(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
total: os30.totalmem(),
free: os30.freemem(),
used: os30.totalmem() - os30.freemem(),
active: os30.totalmem() - os30.freemem(),
// temporarily (fallback)
available: os30.freemem(),
// temporarily (fallback)
buffers: 0,
cached: 0,
slab: 0,
buffcache: 0,
reclaimable: 0,
swaptotal: 0,
swapused: 0,
swapfree: 0,
writeback: null,
dirty: null
};
if (_linux) {
try {
fs84.readFile("/proc/meminfo", (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
result2.total = parseInt(util2.getValue(lines, "memtotal"), 10);
result2.total = result2.total ? result2.total * 1024 : os30.totalmem();
result2.free = parseInt(util2.getValue(lines, "memfree"), 10);
result2.free = result2.free ? result2.free * 1024 : os30.freemem();
result2.used = result2.total - result2.free;
result2.buffers = parseInt(util2.getValue(lines, "buffers"), 10);
result2.buffers = result2.buffers ? result2.buffers * 1024 : 0;
result2.cached = parseInt(util2.getValue(lines, "cached"), 10);
result2.cached = result2.cached ? result2.cached * 1024 : 0;
result2.slab = parseInt(util2.getValue(lines, "slab"), 10);
result2.slab = result2.slab ? result2.slab * 1024 : 0;
result2.buffcache = result2.buffers + result2.cached + result2.slab;
let available = parseInt(util2.getValue(lines, "memavailable"), 10);
result2.available = available ? available * 1024 : result2.free + result2.buffcache;
result2.active = result2.total - result2.available;
result2.swaptotal = parseInt(util2.getValue(lines, "swaptotal"), 10);
result2.swaptotal = result2.swaptotal ? result2.swaptotal * 1024 : 0;
result2.swapfree = parseInt(util2.getValue(lines, "swapfree"), 10);
result2.swapfree = result2.swapfree ? result2.swapfree * 1024 : 0;
result2.swapused = result2.swaptotal - result2.swapfree;
result2.writeback = parseInt(util2.getValue(lines, "writeback"), 10);
result2.writeback = result2.writeback ? result2.writeback * 1024 : 0;
result2.dirty = parseInt(util2.getValue(lines, "dirty"), 10);
result2.dirty = result2.dirty ? result2.dirty * 1024 : 0;
result2.reclaimable = parseInt(util2.getValue(lines, "sreclaimable"), 10);
result2.reclaimable = result2.reclaimable ? result2.reclaimable * 1024 : 0;
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_freebsd || _openbsd || _netbsd) {
try {
exec3(
"/sbin/sysctl hw.realmem hw.physmem vm.stats.vm.v_page_count vm.stats.vm.v_wire_count vm.stats.vm.v_active_count vm.stats.vm.v_inactive_count vm.stats.vm.v_cache_count vm.stats.vm.v_free_count vm.stats.vm.v_page_size",
(error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
const pagesize = parseInt(util2.getValue(lines, "vm.stats.vm.v_page_size"), 10);
const inactive = parseInt(util2.getValue(lines, "vm.stats.vm.v_inactive_count"), 10) * pagesize;
const cache3 = parseInt(util2.getValue(lines, "vm.stats.vm.v_cache_count"), 10) * pagesize;
result2.total = parseInt(util2.getValue(lines, "hw.realmem"), 10);
if (isNaN(result2.total)) {
result2.total = parseInt(util2.getValue(lines, "hw.physmem"), 10);
}
result2.free = parseInt(util2.getValue(lines, "vm.stats.vm.v_free_count"), 10) * pagesize;
result2.buffcache = inactive + cache3;
result2.available = result2.buffcache + result2.free;
result2.active = result2.total - result2.free - result2.buffcache;
result2.swaptotal = 0;
result2.swapfree = 0;
result2.swapused = 0;
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
);
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_darwin) {
let pageSize = 4096;
try {
let sysPpageSize = util2.toInt(execSync5("sysctl -n vm.pagesize").toString());
pageSize = sysPpageSize || pageSize;
} catch {
util2.noop();
}
try {
exec3('vm_stat 2>/dev/null | egrep "Pages active|Pages inactive"', (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\n");
result2.active = (parseInt(util2.getValue(lines, "Pages active"), 10) || 0) * pageSize;
result2.reclaimable = (parseInt(util2.getValue(lines, "Pages inactive"), 10) || 0) * pageSize;
result2.buffcache = result2.used - result2.active;
result2.available = result2.free + result2.buffcache;
}
exec3("sysctl -n vm.swapusage 2>/dev/null", (error41, stdout2) => {
if (!error41) {
let lines = stdout2.toString().split("\n");
if (lines.length > 0) {
let firstline = lines[0].replace(/,/g, ".").replace(/M/g, "");
let lineArray = firstline.trim().split(" ");
lineArray.forEach((line) => {
if (line.toLowerCase().indexOf("total") !== -1) {
result2.swaptotal = parseFloat(line.split("=")[1].trim()) * 1024 * 1024;
}
if (line.toLowerCase().indexOf("used") !== -1) {
result2.swapused = parseFloat(line.split("=")[1].trim()) * 1024 * 1024;
}
if (line.toLowerCase().indexOf("free") !== -1) {
result2.swapfree = parseFloat(line.split("=")[1].trim()) * 1024 * 1024;
}
});
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_windows) {
let swaptotal = 0;
let swapused = 0;
try {
util2.powerShell("Get-CimInstance Win32_PageFileUsage | Select AllocatedBaseSize, CurrentUsage").then((stdout, error40) => {
if (!error40) {
let lines = stdout.split("\r\n").filter((line) => line.trim() !== "").filter((line, idx) => idx > 0);
lines.forEach((line) => {
if (line !== "") {
line = line.trim().split(/\s\s+/);
swaptotal = swaptotal + (parseInt(line[0], 10) || 0);
swapused = swapused + (parseInt(line[1], 10) || 0);
}
});
}
result2.swaptotal = swaptotal * 1024 * 1024;
result2.swapused = swapused * 1024 * 1024;
result2.swapfree = result2.swaptotal - result2.swapused;
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.mem = mem;
function memLayout(callback) {
function getManufacturer(manId) {
const manIdSearch = manId.replace("0x", "").toUpperCase();
if (manIdSearch.length >= 4 && {}.hasOwnProperty.call(RAM_manufacturers, manIdSearch)) {
return RAM_manufacturers[manIdSearch];
}
return manId;
}
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = [];
if (_linux || _freebsd || _openbsd || _netbsd) {
exec3(
'export LC_ALL=C; dmidecode -t memory 2>/dev/null | grep -iE "Size:|Type|Speed|Manufacturer|Form Factor|Locator|Memory Device|Serial Number|Voltage|Part Number"; unset LC_ALL',
(error40, stdout) => {
if (!error40) {
const devices = stdout.toString().split("Memory Device");
devices.shift();
devices.forEach((device) => {
const lines = device.split("\n");
const sizeString = util2.getValue(lines, "Size");
const size = sizeString.indexOf("GB") >= 0 ? parseInt(sizeString, 10) * 1024 * 1024 * 1024 : parseInt(sizeString, 10) * 1024 * 1024;
let bank = util2.getValue(lines, "Bank Locator");
if (bank.toLowerCase().indexOf("bad") >= 0) {
bank = "";
}
if (parseInt(util2.getValue(lines, "Size"), 10) > 0) {
const totalWidth = util2.toInt(util2.getValue(lines, "Total Width"));
const dataWidth = util2.toInt(util2.getValue(lines, "Data Width"));
result2.push({
size,
bank,
type: util2.getValue(lines, "Type:"),
ecc: dataWidth && totalWidth ? totalWidth > dataWidth : false,
clockSpeed: util2.getValue(lines, "Configured Clock Speed:") ? parseInt(util2.getValue(lines, "Configured Clock Speed:"), 10) : util2.getValue(lines, "Speed:") ? parseInt(util2.getValue(lines, "Speed:"), 10) : null,
formFactor: util2.getValue(lines, "Form Factor:"),
manufacturer: getManufacturer(util2.getValue(lines, "Manufacturer:")),
partNum: util2.getValue(lines, "Part Number:"),
serialNum: util2.getValue(lines, "Serial Number:"),
voltageConfigured: parseFloat(util2.getValue(lines, "Configured Voltage:")) || null,
voltageMin: parseFloat(util2.getValue(lines, "Minimum Voltage:")) || null,
voltageMax: parseFloat(util2.getValue(lines, "Maximum Voltage:")) || null
});
} else {
result2.push({
size: 0,
bank,
type: "Empty",
ecc: null,
clockSpeed: 0,
formFactor: util2.getValue(lines, "Form Factor:"),
partNum: "",
serialNum: "",
voltageConfigured: null,
voltageMin: null,
voltageMax: null
});
}
});
}
if (!result2.length) {
result2.push({
size: os30.totalmem(),
bank: "",
type: "",
ecc: null,
clockSpeed: 0,
formFactor: "",
partNum: "",
serialNum: "",
voltageConfigured: null,
voltageMin: null,
voltageMax: null
});
try {
let stdout2 = execSync5("cat /proc/cpuinfo 2>/dev/null", util2.execOptsLinux);
let lines = stdout2.toString().split("\n");
let version4 = util2.getValue(lines, "revision", ":", true).toLowerCase();
if (util2.isRaspberry(lines)) {
const clockSpeed = {
0: 400,
1: 450,
2: 450,
3: 3200,
4: 4267
};
result2[0].type = "LPDDR2";
result2[0].type = version4 && version4[2] && version4[2] === "3" ? "LPDDR4" : result2[0].type;
result2[0].type = version4 && version4[2] && version4[2] === "4" ? "LPDDR4X" : result2[0].type;
result2[0].ecc = false;
result2[0].clockSpeed = version4 && version4[2] && clockSpeed[version4[2]] || 400;
result2[0].clockSpeed = version4 && version4[4] && version4[4] === "d" ? 500 : result2[0].clockSpeed;
result2[0].formFactor = "SoC";
stdout2 = execSync5("vcgencmd get_config sdram_freq 2>/dev/null", util2.execOptsLinux);
lines = stdout2.toString().split("\n");
let freq = parseInt(util2.getValue(lines, "sdram_freq", "=", true), 10) || 0;
if (freq) {
result2[0].clockSpeed = freq;
}
stdout2 = execSync5("vcgencmd measure_volts sdram_p 2>/dev/null", util2.execOptsLinux);
lines = stdout2.toString().split("\n");
let voltage = parseFloat(util2.getValue(lines, "volt", "=", true)) || 0;
if (voltage) {
result2[0].voltageConfigured = voltage;
result2[0].voltageMin = voltage;
result2[0].voltageMax = voltage;
}
}
} catch {
util2.noop();
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
);
}
if (_darwin) {
exec3("system_profiler SPMemoryDataType", (error40, stdout) => {
if (!error40) {
const allLines = stdout.toString().split("\n");
const eccStatus = util2.getValue(allLines, "ecc", ":", true).toLowerCase();
let devices = stdout.toString().split(" BANK ");
let hasBank = true;
if (devices.length === 1) {
devices = stdout.toString().split(" DIMM");
hasBank = false;
}
devices.shift();
devices.forEach((device) => {
const lines = device.split("\n");
const bank = (hasBank ? "BANK " : "DIMM") + lines[0].trim().split("/")[0];
const size = parseInt(util2.getValue(lines, " Size"));
if (size) {
result2.push({
size: size * 1024 * 1024 * 1024,
bank,
type: util2.getValue(lines, " Type:"),
ecc: eccStatus ? eccStatus === "enabled" : null,
clockSpeed: parseInt(util2.getValue(lines, " Speed:"), 10),
formFactor: "",
manufacturer: getManufacturer(util2.getValue(lines, " Manufacturer:")),
partNum: util2.getValue(lines, " Part Number:"),
serialNum: util2.getValue(lines, " Serial Number:"),
voltageConfigured: null,
voltageMin: null,
voltageMax: null
});
} else {
result2.push({
size: 0,
bank,
type: "Empty",
ecc: null,
clockSpeed: 0,
formFactor: "",
manufacturer: "",
partNum: "",
serialNum: "",
voltageConfigured: null,
voltageMin: null,
voltageMax: null
});
}
});
}
if (!result2.length) {
const lines = stdout.toString().split("\n");
const size = parseInt(util2.getValue(lines, " Memory:"));
const type2 = util2.getValue(lines, " Type:");
const manufacturerId = util2.getValue(lines, " Manufacturer:");
if (size && type2) {
result2.push({
size: size * 1024 * 1024 * 1024,
bank: "0",
type: type2,
ecc: false,
clockSpeed: null,
formFactor: "SOC",
manufacturer: getManufacturer(manufacturerId),
partNum: "",
serialNum: "",
voltageConfigured: null,
voltageMin: null,
voltageMax: null
});
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
const memoryTypes = "Unknown|Other|DRAM|Synchronous DRAM|Cache DRAM|EDO|EDRAM|VRAM|SRAM|RAM|ROM|FLASH|EEPROM|FEPROM|EPROM|CDRAM|3DRAM|SDRAM|SGRAM|RDRAM|DDR|DDR2|DDR2 FB-DIMM|Reserved|DDR3|FBD2|DDR4|LPDDR|LPDDR2|LPDDR3|LPDDR4|Logical non-volatile device|HBM|HBM2|DDR5|LPDDR5".split(
"|"
);
const FormFactors = "Unknown|Other|SIP|DIP|ZIP|SOJ|Proprietary|SIMM|DIMM|TSOP|PGA|RIMM|SODIMM|SRIMM|SMD|SSMP|QFP|TQFP|SOIC|LCC|PLCC|BGA|FPBGA|LGA".split("|");
try {
util2.powerShell(
"Get-CimInstance Win32_PhysicalMemory | select DataWidth,TotalWidth,Capacity,BankLabel,MemoryType,SMBIOSMemoryType,ConfiguredClockSpeed,Speed,FormFactor,Manufacturer,PartNumber,SerialNumber,ConfiguredVoltage,MinVoltage,MaxVoltage,Tag | fl"
).then((stdout, error40) => {
if (!error40) {
const devices = stdout.toString().split(/\n\s*\n/);
devices.shift();
devices.forEach((device) => {
const lines = device.split("\r\n");
const dataWidth = util2.toInt(util2.getValue(lines, "DataWidth", ":"));
const totalWidth = util2.toInt(util2.getValue(lines, "TotalWidth", ":"));
const size = parseInt(util2.getValue(lines, "Capacity", ":"), 10) || 0;
const tag = util2.getValue(lines, "Tag", ":");
const tagInt = util2.splitByNumber(tag);
if (size) {
result2.push({
size,
bank: util2.getValue(lines, "BankLabel", ":") + (tagInt[1] ? "/" + tagInt[1] : ""),
// BankLabel
type: memoryTypes[parseInt(util2.getValue(lines, "MemoryType", ":"), 10) || parseInt(util2.getValue(lines, "SMBIOSMemoryType", ":"), 10)],
ecc: dataWidth && totalWidth ? totalWidth > dataWidth : false,
clockSpeed: parseInt(util2.getValue(lines, "ConfiguredClockSpeed", ":"), 10) || parseInt(util2.getValue(lines, "Speed", ":"), 10) || 0,
formFactor: FormFactors[parseInt(util2.getValue(lines, "FormFactor", ":"), 10) || 0],
manufacturer: getManufacturer(util2.getValue(lines, "Manufacturer", ":")),
partNum: util2.getValue(lines, "PartNumber", ":"),
serialNum: util2.getValue(lines, "SerialNumber", ":"),
voltageConfigured: (parseInt(util2.getValue(lines, "ConfiguredVoltage", ":"), 10) || 0) / 1e3,
voltageMin: (parseInt(util2.getValue(lines, "MinVoltage", ":"), 10) || 0) / 1e3,
voltageMax: (parseInt(util2.getValue(lines, "MaxVoltage", ":"), 10) || 0) / 1e3
});
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.memLayout = memLayout;
}
});
// node_modules/systeminformation/lib/battery.js
var require_battery = __commonJS({
"node_modules/systeminformation/lib/battery.js"(exports2, module2) {
"use strict";
var exec3 = __require("child_process").exec;
var fs84 = __require("fs");
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function parseWinBatteryPart(lines, designedCapacity, fullChargeCapacity) {
const result2 = {};
let status2 = parseInt(util2.getValue(lines, "BatteryStatus", ":").trim(), 10) || 0;
if (status2 >= 0) {
const statusValue = status2;
result2.status = statusValue;
result2.hasBattery = true;
result2.maxCapacity = fullChargeCapacity || parseInt(util2.getValue(lines, "DesignCapacity", ":") || 0);
result2.designedCapacity = parseInt(util2.getValue(lines, "DesignCapacity", ":") || designedCapacity);
result2.voltage = (parseInt(util2.getValue(lines, "DesignVoltage", ":"), 10) || 0) / 1e3;
result2.capacityUnit = "mWh";
result2.percent = parseInt(util2.getValue(lines, "EstimatedChargeRemaining", ":"), 10) || 0;
result2.currentCapacity = parseInt(result2.maxCapacity * result2.percent / 100);
result2.isCharging = statusValue >= 6 && statusValue <= 9 || statusValue === 11 || statusValue !== 3 && statusValue !== 1 && result2.percent < 100;
result2.acConnected = result2.isCharging || statusValue === 2;
result2.model = util2.getValue(lines, "DeviceID", ":");
} else {
result2.status = -1;
}
return result2;
}
module2.exports = (callback) => new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
hasBattery: false,
cycleCount: 0,
isCharging: false,
designedCapacity: 0,
maxCapacity: 0,
currentCapacity: 0,
voltage: 0,
capacityUnit: "",
percent: 0,
timeRemaining: null,
acConnected: true,
type: "",
model: "",
manufacturer: "",
serial: ""
};
if (_linux) {
let battery_path = "";
if (fs84.existsSync("/sys/class/power_supply/BAT1/uevent")) {
battery_path = "/sys/class/power_supply/BAT1/";
} else if (fs84.existsSync("/sys/class/power_supply/BAT0/uevent")) {
battery_path = "/sys/class/power_supply/BAT0/";
}
let acConnected = false;
let acPath = "";
if (fs84.existsSync("/sys/class/power_supply/AC/online")) {
acPath = "/sys/class/power_supply/AC/online";
} else if (fs84.existsSync("/sys/class/power_supply/AC0/online")) {
acPath = "/sys/class/power_supply/AC0/online";
}
if (acPath) {
const file2 = fs84.readFileSync(acPath);
acConnected = file2.toString().trim() === "1";
}
if (battery_path) {
fs84.readFile(battery_path + "uevent", (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\n");
result2.isCharging = util2.getValue(lines, "POWER_SUPPLY_STATUS", "=").toLowerCase() === "charging";
result2.acConnected = acConnected || result2.isCharging;
result2.voltage = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_VOLTAGE_NOW", "="), 10) / 1e6;
result2.capacityUnit = result2.voltage ? "mWh" : "mAh";
result2.cycleCount = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_CYCLE_COUNT", "="), 10);
result2.maxCapacity = Math.round(parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_CHARGE_FULL", "=", true, true), 10) / 1e3 * (result2.voltage || 1));
const desingedMinVoltage = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_VOLTAGE_MIN_DESIGN", "="), 10) / 1e6;
result2.designedCapacity = Math.round(
parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_CHARGE_FULL_DESIGN", "=", true, true), 10) / 1e3 * (desingedMinVoltage || result2.voltage || 1)
);
result2.currentCapacity = Math.round(parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_CHARGE_NOW", "="), 10) / 1e3 * (result2.voltage || 1));
if (!result2.maxCapacity) {
result2.maxCapacity = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_ENERGY_FULL", "=", true, true), 10) / 1e3;
result2.designedCapacity = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_ENERGY_FULL_DESIGN", "=", true, true), 10) / 1e3 | result2.maxCapacity;
result2.currentCapacity = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_ENERGY_NOW", "="), 10) / 1e3;
}
const percent = util2.getValue(lines, "POWER_SUPPLY_CAPACITY", "=");
const energy = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_ENERGY_NOW", "="), 10);
const power = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_POWER_NOW", "="), 10);
const current = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_CURRENT_NOW", "="), 10);
const charge = parseInt("0" + util2.getValue(lines, "POWER_SUPPLY_CHARGE_NOW", "="), 10);
result2.percent = parseInt("0" + percent, 10);
if (result2.maxCapacity && result2.currentCapacity) {
result2.hasBattery = true;
if (!percent) {
result2.percent = 100 * result2.currentCapacity / result2.maxCapacity;
}
}
if (result2.isCharging) {
result2.hasBattery = true;
}
if (energy && power) {
result2.timeRemaining = Math.floor(energy / power * 60);
} else if (current && charge) {
result2.timeRemaining = Math.floor(charge / current * 60);
} else if (current && result2.currentCapacity) {
result2.timeRemaining = Math.floor(result2.currentCapacity / current * 60);
}
result2.type = util2.getValue(lines, "POWER_SUPPLY_TECHNOLOGY", "=");
result2.model = util2.getValue(lines, "POWER_SUPPLY_MODEL_NAME", "=");
result2.manufacturer = util2.getValue(lines, "POWER_SUPPLY_MANUFACTURER", "=");
result2.serial = util2.getValue(lines, "POWER_SUPPLY_SERIAL_NUMBER", "=");
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_freebsd || _openbsd || _netbsd) {
exec3("sysctl -i hw.acpi.battery hw.acpi.acline", (error40, stdout) => {
let lines = stdout.toString().split("\n");
const batteries = parseInt("0" + util2.getValue(lines, "hw.acpi.battery.units"), 10);
const percent = parseInt("0" + util2.getValue(lines, "hw.acpi.battery.life"), 10);
result2.hasBattery = batteries > 0;
result2.cycleCount = null;
result2.isCharging = util2.getValue(lines, "hw.acpi.acline") !== "1";
result2.acConnected = result2.isCharging;
result2.maxCapacity = null;
result2.currentCapacity = null;
result2.capacityUnit = "unknown";
result2.percent = batteries ? percent : null;
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
exec3(
'ioreg -n AppleSmartBattery -r | egrep "CycleCount|IsCharging|DesignCapacity|MaxCapacity|CurrentCapacity|DeviceName|BatterySerialNumber|Serial|TimeRemaining|Voltage"; pmset -g batt | grep %',
(error40, stdout) => {
if (stdout) {
let lines = stdout.toString().replace(/ +/g, "").replace(/"+/g, "").replace(/-/g, "").split("\n");
result2.cycleCount = parseInt("0" + util2.getValue(lines, "cyclecount", "="), 10);
result2.voltage = parseInt("0" + util2.getValue(lines, "voltage", "="), 10) / 1e3;
result2.capacityUnit = result2.voltage ? "mWh" : "mAh";
result2.maxCapacity = Math.round(parseInt("0" + util2.getValue(lines, "applerawmaxcapacity", "="), 10) * (result2.voltage || 1));
result2.currentCapacity = Math.round(parseInt("0" + util2.getValue(lines, "applerawcurrentcapacity", "="), 10) * (result2.voltage || 1));
result2.designedCapacity = Math.round(parseInt("0" + util2.getValue(lines, "DesignCapacity", "="), 10) * (result2.voltage || 1));
result2.manufacturer = "Apple";
result2.serial = util2.getValue(lines, "BatterySerialNumber", "=") || util2.getValue(lines, "Serial", "=");
result2.model = util2.getValue(lines, "DeviceName", "=");
let percent = null;
const line = util2.getValue(lines, "internal", "Battery");
let parts2 = line.split(";");
if (parts2 && parts2[0]) {
let parts22 = parts2[0].split(" ");
if (parts22 && parts22[1]) {
percent = parseFloat(parts22[1].trim().replace(/%/g, ""));
}
}
if (parts2 && parts2[1]) {
result2.isCharging = parts2[1].trim() === "charging";
result2.acConnected = parts2[1].trim() !== "discharging";
} else {
result2.isCharging = util2.getValue(lines, "ischarging", "=").toLowerCase() === "yes";
result2.acConnected = result2.isCharging;
}
if (result2.maxCapacity && result2.currentCapacity) {
result2.hasBattery = true;
result2.type = "Li-ion";
result2.percent = percent !== null ? percent : Math.round(100 * result2.currentCapacity / result2.maxCapacity);
if (!result2.isCharging) {
result2.timeRemaining = parseInt("0" + util2.getValue(lines, "TimeRemaining", "="), 10);
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
);
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_windows) {
try {
const workload = [];
workload.push(util2.powerShell("Get-CimInstance Win32_Battery | select BatteryStatus, DesignCapacity, DesignVoltage, EstimatedChargeRemaining, DeviceID | fl"));
workload.push(util2.powerShell("(Get-WmiObject -Class BatteryStaticData -Namespace ROOT/WMI).DesignedCapacity"));
workload.push(util2.powerShell("(Get-CimInstance -Class BatteryFullChargedCapacity -Namespace ROOT/WMI).FullChargedCapacity"));
util2.promiseAll(workload).then((data) => {
if (data) {
const parts2 = data.results[0].split(/\n\s*\n/);
const batteries = [];
const hasValue = (value) => /\S/.test(value);
for (let i3 = 0; i3 < parts2.length; i3++) {
if (hasValue(parts2[i3])) {
batteries.push(parts2[i3]);
}
}
const designCapacities = data.results[1].split("\r\n").filter((e2) => e2);
const fullChargeCapacities = data.results[2].split("\r\n").filter((e2) => e2);
if (batteries.length) {
let first2 = false;
const additionalBatteries = [];
for (let i3 = 0; i3 < batteries.length; i3++) {
const lines = batteries[i3].split("\r\n");
const designedCapacity = designCapacities && designCapacities.length >= i3 + 1 && designCapacities[i3] ? util2.toInt(designCapacities[i3]) : 0;
const fullChargeCapacity = fullChargeCapacities && fullChargeCapacities.length >= i3 + 1 && fullChargeCapacities[i3] ? util2.toInt(fullChargeCapacities[i3]) : 0;
const parsed = parseWinBatteryPart(lines, designedCapacity, fullChargeCapacity);
if (!first2 && parsed.status > 0 && parsed.status !== 10) {
result2.hasBattery = parsed.hasBattery;
result2.maxCapacity = parsed.maxCapacity;
result2.designedCapacity = parsed.designedCapacity;
result2.voltage = parsed.voltage;
result2.capacityUnit = parsed.capacityUnit;
result2.percent = parsed.percent;
result2.currentCapacity = parsed.currentCapacity;
result2.isCharging = parsed.isCharging;
result2.acConnected = parsed.acConnected;
result2.model = parsed.model;
first2 = true;
} else if (parsed.status !== -1) {
additionalBatteries.push({
hasBattery: parsed.hasBattery,
maxCapacity: parsed.maxCapacity,
designedCapacity: parsed.designedCapacity,
voltage: parsed.voltage,
capacityUnit: parsed.capacityUnit,
percent: parsed.percent,
currentCapacity: parsed.currentCapacity,
isCharging: parsed.isCharging,
timeRemaining: null,
acConnected: parsed.acConnected,
model: parsed.model,
type: "",
manufacturer: "",
serial: ""
});
}
}
if (!first2 && additionalBatteries.length) {
result2 = additionalBatteries[0];
additionalBatteries.shift();
}
if (additionalBatteries.length) {
result2.additionalBatteries = additionalBatteries;
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
});
// node_modules/systeminformation/lib/graphics.js
var require_graphics = __commonJS({
"node_modules/systeminformation/lib/graphics.js"(exports2) {
"use strict";
var fs84 = __require("fs");
var path101 = __require("path");
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var util2 = require_util7();
var _platform = process.platform;
var _nvidiaSmiPath = "";
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
var _resolutionX = 0;
var _resolutionY = 0;
var _pixelDepth = 0;
var _refreshRate = 0;
var videoTypes = {
"-2": "UNINITIALIZED",
"-1": "OTHER",
0: "HD15",
1: "SVIDEO",
2: "Composite video",
3: "Component video",
4: "DVI",
5: "HDMI",
6: "LVDS",
8: "D_JPN",
9: "SDI",
10: "DP",
11: "DP embedded",
12: "UDI",
13: "UDI embedded",
14: "SDTVDONGLE",
15: "MIRACAST",
2147483648: "INTERNAL"
};
function getVendorFromModel(model) {
const manufacturers = [
{ pattern: "^LG.+", manufacturer: "LG" },
{ pattern: "^BENQ.+", manufacturer: "BenQ" },
{ pattern: "^ASUS.+", manufacturer: "Asus" },
{ pattern: "^DELL.+", manufacturer: "Dell" },
{ pattern: "^SAMSUNG.+", manufacturer: "Samsung" },
{ pattern: "^VIEWSON.+", manufacturer: "ViewSonic" },
{ pattern: "^SONY.+", manufacturer: "Sony" },
{ pattern: "^ACER.+", manufacturer: "Acer" },
{ pattern: "^AOC.+", manufacturer: "AOC Monitors" },
{ pattern: "^HP.+", manufacturer: "HP" },
{ pattern: "^EIZO.?", manufacturer: "Eizo" },
{ pattern: "^PHILIPS.?", manufacturer: "Philips" },
{ pattern: "^IIYAMA.?", manufacturer: "Iiyama" },
{ pattern: "^SHARP.?", manufacturer: "Sharp" },
{ pattern: "^NEC.?", manufacturer: "NEC" },
{ pattern: "^LENOVO.?", manufacturer: "Lenovo" },
{ pattern: "COMPAQ.?", manufacturer: "Compaq" },
{ pattern: "APPLE.?", manufacturer: "Apple" },
{ pattern: "INTEL.?", manufacturer: "Intel" },
{ pattern: "AMD.?", manufacturer: "AMD" },
{ pattern: "NVIDIA.?", manufacturer: "NVDIA" }
];
let result2 = "";
if (model) {
model = model.toUpperCase();
manufacturers.forEach((manufacturer) => {
const re = RegExp(manufacturer.pattern);
if (re.test(model)) {
result2 = manufacturer.manufacturer;
}
});
}
return result2;
}
function getVendorFromId(id) {
const vendors = {
610: "Apple",
"1e6d": "LG",
"10ac": "DELL",
"4dd9": "Sony",
"38a3": "NEC"
};
return vendors[id] || "";
}
function vendorToId(str2) {
let result2 = "";
str2 = (str2 || "").toLowerCase();
if (str2.indexOf("apple") >= 0) {
result2 = "0x05ac";
} else if (str2.indexOf("nvidia") >= 0) {
result2 = "0x10de";
} else if (str2.indexOf("intel") >= 0) {
result2 = "0x8086";
} else if (str2.indexOf("ati") >= 0 || str2.indexOf("amd") >= 0) {
result2 = "0x1002";
}
return result2;
}
function getMetalVersion(id) {
const families = {
spdisplays_mtlgpufamilymac1: "mac1",
spdisplays_mtlgpufamilymac2: "mac2",
spdisplays_mtlgpufamilyapple1: "apple1",
spdisplays_mtlgpufamilyapple2: "apple2",
spdisplays_mtlgpufamilyapple3: "apple3",
spdisplays_mtlgpufamilyapple4: "apple4",
spdisplays_mtlgpufamilyapple5: "apple5",
spdisplays_mtlgpufamilyapple6: "apple6",
spdisplays_mtlgpufamilyapple7: "apple7",
spdisplays_metalfeaturesetfamily11: "family1_v1",
spdisplays_metalfeaturesetfamily12: "family1_v2",
spdisplays_metalfeaturesetfamily13: "family1_v3",
spdisplays_metalfeaturesetfamily14: "family1_v4",
spdisplays_metalfeaturesetfamily21: "family2_v1"
};
return families[id] || "";
}
function graphics(callback) {
function parseLinesDarwin(graphicsArr) {
const res = {
controllers: [],
displays: []
};
try {
graphicsArr.forEach((item) => {
const bus = (item.sppci_bus || "").indexOf("builtin") > -1 ? "Built-In" : (item.sppci_bus || "").indexOf("pcie") > -1 ? "PCIe" : "";
const vram = (parseInt(item.spdisplays_vram || "", 10) || 0) * ((item.spdisplays_vram || "").indexOf("GB") > -1 ? 1024 : 1);
const vramDyn = (parseInt(item.spdisplays_vram_shared || "", 10) || 0) * ((item.spdisplays_vram_shared || "").indexOf("GB") > -1 ? 1024 : 1);
let metalVersion = getMetalVersion(item.spdisplays_metal || item.spdisplays_metalfamily || "");
res.controllers.push({
vendor: getVendorFromModel(item.spdisplays_vendor || "") || item.spdisplays_vendor || "",
model: item.sppci_model || "",
bus,
vramDynamic: bus === "Built-In",
vram: vram || vramDyn || null,
deviceId: item["spdisplays_device-id"] || "",
vendorId: item["spdisplays_vendor-id"] || vendorToId((item["spdisplays_vendor"] || "") + (item.sppci_model || "")),
external: item.sppci_device_type === "spdisplays_egpu",
cores: item["sppci_cores"] || null,
metalVersion
});
if (item.spdisplays_ndrvs && item.spdisplays_ndrvs.length) {
item.spdisplays_ndrvs.forEach((displayItem) => {
const connectionType = displayItem["spdisplays_connection_type"] || "";
const currentResolutionParts = (displayItem["_spdisplays_resolution"] || "").split("@");
const currentResolution = currentResolutionParts[0].split("x");
const pixelParts = (displayItem["_spdisplays_pixels"] || "").split("x");
const pixelDepthString = displayItem["spdisplays_depth"] || "";
const serial = displayItem["_spdisplays_display-serial-number"] || displayItem["_spdisplays_display-serial-number2"] || null;
res.displays.push({
vendor: getVendorFromId(displayItem["_spdisplays_display-vendor-id"] || "") || getVendorFromModel(displayItem["_name"] || ""),
vendorId: displayItem["_spdisplays_display-vendor-id"] || "",
model: displayItem["_name"] || "",
productionYear: displayItem["_spdisplays_display-year"] || null,
serial: serial !== "0" ? serial : null,
displayId: displayItem["_spdisplays_displayID"] || null,
main: displayItem["spdisplays_main"] ? displayItem["spdisplays_main"] === "spdisplays_yes" : false,
builtin: (displayItem["spdisplays_display_type"] || "").indexOf("built-in") > -1,
connection: connectionType.indexOf("_internal") > -1 ? "Internal" : connectionType.indexOf("_displayport") > -1 ? "Display Port" : connectionType.indexOf("_hdmi") > -1 ? "HDMI" : null,
sizeX: null,
sizeY: null,
pixelDepth: pixelDepthString === "CGSThirtyBitColor" ? 30 : pixelDepthString === "CGSThirtytwoBitColor" ? 32 : pixelDepthString === "CGSTwentyfourBitColor" ? 24 : null,
resolutionX: pixelParts.length > 1 ? parseInt(pixelParts[0], 10) : null,
resolutionY: pixelParts.length > 1 ? parseInt(pixelParts[1], 10) : null,
currentResX: currentResolution.length > 1 ? parseInt(currentResolution[0], 10) : null,
currentResY: currentResolution.length > 1 ? parseInt(currentResolution[1], 10) : null,
positionX: 0,
positionY: 0,
currentRefreshRate: currentResolutionParts.length > 1 ? parseInt(currentResolutionParts[1], 10) : null
});
});
}
});
return res;
} catch (e2) {
return res;
}
}
function parseLinesLinuxControllers(lines) {
let controllers = [];
let currentController = {
vendor: "",
subVendor: "",
model: "",
bus: "",
busAddress: "",
vram: null,
vramDynamic: false,
pciID: ""
};
let isGraphicsController = false;
let pciIDs = [];
try {
pciIDs = execSync5('export LC_ALL=C; dmidecode -t 9 2>/dev/null; unset LC_ALL | grep "Bus Address: "', util2.execOptsLinux).toString().split("\n");
for (let i4 = 0; i4 < pciIDs.length; i4++) {
pciIDs[i4] = pciIDs[i4].replace("Bus Address:", "").replace("0000:", "").trim();
}
pciIDs = pciIDs.filter((el) => el != null && el);
} catch {
util2.noop();
}
let i3 = 1;
lines.forEach((line) => {
let subsystem = "";
if (i3 < lines.length && lines[i3]) {
subsystem = lines[i3];
if (subsystem.indexOf(":") > 0) {
subsystem = subsystem.split(":")[1];
}
}
if ("" !== line.trim()) {
if (" " !== line[0] && " " !== line[0]) {
let isExternal = pciIDs.indexOf(line.split(" ")[0]) >= 0;
let vgapos = line.toLowerCase().indexOf(" vga ");
let _3dcontrollerpos = line.toLowerCase().indexOf("3d controller");
if (vgapos !== -1 || _3dcontrollerpos !== -1) {
if (_3dcontrollerpos !== -1 && vgapos === -1) {
vgapos = _3dcontrollerpos;
}
if (currentController.vendor || currentController.model || currentController.bus || currentController.vram !== null || currentController.vramDynamic) {
controllers.push(currentController);
currentController = {
vendor: "",
model: "",
bus: "",
busAddress: "",
vram: null,
vramDynamic: false
};
}
const pciIDCandidate = line.split(" ")[0];
if (/[\da-fA-F]{2}:[\da-fA-F]{2}\.[\da-fA-F]/.test(pciIDCandidate)) {
currentController.busAddress = pciIDCandidate;
}
isGraphicsController = true;
let endpos = line.search(/\[[0-9a-f]{4}:[0-9a-f]{4}]|$/);
let parts2 = line.substr(vgapos, endpos - vgapos).split(":");
currentController.busAddress = line.substr(0, vgapos).trim();
if (parts2.length > 1) {
parts2[1] = parts2[1].trim();
if (parts2[1].toLowerCase().indexOf("corporation") >= 0) {
currentController.vendor = parts2[1].substr(0, parts2[1].toLowerCase().indexOf("corporation") + 11).trim();
currentController.model = parts2[1].substr(parts2[1].toLowerCase().indexOf("corporation") + 11, 200).split("(")[0].trim();
currentController.bus = pciIDs.length > 0 && isExternal ? "PCIe" : "Onboard";
currentController.vram = null;
currentController.vramDynamic = false;
} else if (parts2[1].toLowerCase().indexOf(" inc.") >= 0) {
if ((parts2[1].match(/]/g) || []).length > 1) {
currentController.vendor = parts2[1].substr(0, parts2[1].toLowerCase().indexOf("]") + 1).trim();
currentController.model = parts2[1].substr(parts2[1].toLowerCase().indexOf("]") + 1, 200).trim().split("(")[0].trim();
} else {
currentController.vendor = parts2[1].substr(0, parts2[1].toLowerCase().indexOf(" inc.") + 5).trim();
currentController.model = parts2[1].substr(parts2[1].toLowerCase().indexOf(" inc.") + 5, 200).trim().split("(")[0].trim();
}
currentController.bus = pciIDs.length > 0 && isExternal ? "PCIe" : "Onboard";
currentController.vram = null;
currentController.vramDynamic = false;
} else if (parts2[1].toLowerCase().indexOf(" ltd.") >= 0) {
if ((parts2[1].match(/]/g) || []).length > 1) {
currentController.vendor = parts2[1].substr(0, parts2[1].toLowerCase().indexOf("]") + 1).trim();
currentController.model = parts2[1].substr(parts2[1].toLowerCase().indexOf("]") + 1, 200).trim().split("(")[0].trim();
} else {
currentController.vendor = parts2[1].substr(0, parts2[1].toLowerCase().indexOf(" ltd.") + 5).trim();
currentController.model = parts2[1].substr(parts2[1].toLowerCase().indexOf(" ltd.") + 5, 200).trim().split("(")[0].trim();
}
}
if (currentController.model && subsystem.indexOf(currentController.model) !== -1) {
const subVendor = subsystem.split(currentController.model)[0].trim();
if (subVendor) {
currentController.subVendor = subVendor;
}
}
}
} else {
isGraphicsController = false;
}
}
if (isGraphicsController) {
let parts2 = line.split(":");
if (parts2.length > 1 && parts2[0].replace(/ +/g, "").toLowerCase().indexOf("devicename") !== -1 && parts2[1].toLowerCase().indexOf("onboard") !== -1) {
currentController.bus = "Onboard";
}
if (parts2.length > 1 && parts2[0].replace(/ +/g, "").toLowerCase().indexOf("region") !== -1 && parts2[1].toLowerCase().indexOf("memory") !== -1) {
let memparts = parts2[1].split("=");
if (memparts.length > 1) {
currentController.vram = parseInt(memparts[1]);
}
}
}
}
i3++;
});
if (currentController.vendor || currentController.model || currentController.bus || currentController.busAddress || currentController.vram !== null || currentController.vramDynamic) {
controllers.push(currentController);
}
return controllers;
}
function parseLinesLinuxClinfo(controllers, lines) {
const fieldPattern = /\[([^\]]+)\]\s+(\w+)\s+(.*)/;
const devices = lines.reduce((devices2, line) => {
const field = fieldPattern.exec(line.trim());
if (field) {
if (!devices2[field[1]]) {
devices2[field[1]] = {};
}
devices2[field[1]][field[2]] = field[3];
}
return devices2;
}, {});
for (let deviceId in devices) {
const device = devices[deviceId];
if (device["CL_DEVICE_TYPE"] === "CL_DEVICE_TYPE_GPU") {
let busAddress;
if (device["CL_DEVICE_TOPOLOGY_AMD"]) {
const bdf = device["CL_DEVICE_TOPOLOGY_AMD"].match(/[a-zA-Z0-9]+:\d+\.\d+/);
if (bdf) {
busAddress = bdf[0];
}
} else if (device["CL_DEVICE_PCI_BUS_ID_NV"] && device["CL_DEVICE_PCI_SLOT_ID_NV"]) {
const bus = parseInt(device["CL_DEVICE_PCI_BUS_ID_NV"]);
const slot = parseInt(device["CL_DEVICE_PCI_SLOT_ID_NV"]);
if (!isNaN(bus) && !isNaN(slot)) {
const b = bus & 255;
const d = slot >> 3 & 255;
const f = slot & 7;
busAddress = `${b.toString().padStart(2, "0")}:${d.toString().padStart(2, "0")}.${f}`;
}
}
if (busAddress) {
let controller = controllers.find((controller2) => controller2.busAddress === busAddress);
if (!controller) {
controller = {
vendor: "",
model: "",
bus: "",
busAddress,
vram: null,
vramDynamic: false
};
controllers.push(controller);
}
controller.vendor = device["CL_DEVICE_VENDOR"];
if (device["CL_DEVICE_BOARD_NAME_AMD"]) {
controller.model = device["CL_DEVICE_BOARD_NAME_AMD"];
} else {
controller.model = device["CL_DEVICE_NAME"];
}
const memory = parseInt(device["CL_DEVICE_GLOBAL_MEM_SIZE"]);
if (!isNaN(memory)) {
controller.vram = Math.round(memory / 1024 / 1024);
}
}
}
}
return controllers;
}
function getNvidiaSmi() {
if (_nvidiaSmiPath) {
return _nvidiaSmiPath;
}
if (_windows) {
try {
const basePath = path101.join(util2.WINDIR, "System32", "DriverStore", "FileRepository");
const candidates = fs84.readdirSync(basePath, { withFileTypes: true }).filter((dir) => dir.isDirectory()).map((dir) => {
const nvidiaSmiPath = path101.join(basePath, dir.name, "nvidia-smi.exe");
try {
const stats = fs84.statSync(nvidiaSmiPath);
return { path: nvidiaSmiPath, ctime: stats.ctimeMs };
} catch {
return null;
}
}).filter(Boolean);
if (candidates.length > 0) {
_nvidiaSmiPath = candidates.reduce((prev, curr) => curr.ctime > prev.ctime ? curr : prev).path;
}
} catch {
util2.noop();
}
} else if (_linux) {
_nvidiaSmiPath = "nvidia-smi";
}
return _nvidiaSmiPath;
}
function nvidiaSmi(options) {
const nvidiaSmiExe = getNvidiaSmi();
options = options || util2.execOptsWin;
if (nvidiaSmiExe) {
const nvidiaSmiOpts = "--query-gpu=driver_version,pci.sub_device_id,name,pci.bus_id,fan.speed,memory.total,memory.used,memory.free,utilization.gpu,utilization.memory,temperature.gpu,temperature.memory,power.draw,power.limit,clocks.gr,clocks.mem --format=csv,noheader,nounits";
const cmd = `"${nvidiaSmiExe}" ${nvidiaSmiOpts}`;
if (_linux) {
options.stdio = ["pipe", "pipe", "ignore"];
}
try {
const sanitized = cmd + (_linux ? " 2>/dev/null" : "") + (_windows ? " 2> nul" : "");
const res = execSync5(sanitized, options).toString();
return res;
} catch {
util2.noop();
}
}
return "";
}
function nvidiaDevices() {
function safeParseNumber(value) {
if ([null, void 0].includes(value)) {
return value;
}
return parseFloat(value);
}
const stdout = nvidiaSmi();
if (!stdout) {
return [];
}
const gpus = stdout.split("\n").filter(Boolean);
let results = gpus.map((gpu) => {
const splittedData = gpu.split(", ").map((value) => value.includes("N/A") ? void 0 : value);
if (splittedData.length === 16) {
return {
driverVersion: splittedData[0],
subDeviceId: splittedData[1],
name: splittedData[2],
pciBus: splittedData[3],
fanSpeed: safeParseNumber(splittedData[4]),
memoryTotal: safeParseNumber(splittedData[5]),
memoryUsed: safeParseNumber(splittedData[6]),
memoryFree: safeParseNumber(splittedData[7]),
utilizationGpu: safeParseNumber(splittedData[8]),
utilizationMemory: safeParseNumber(splittedData[9]),
temperatureGpu: safeParseNumber(splittedData[10]),
temperatureMemory: safeParseNumber(splittedData[11]),
powerDraw: safeParseNumber(splittedData[12]),
powerLimit: safeParseNumber(splittedData[13]),
clockCore: safeParseNumber(splittedData[14]),
clockMemory: safeParseNumber(splittedData[15])
};
} else {
return {};
}
});
results = results.filter((item) => {
return "pciBus" in item;
});
return results;
}
function mergeControllerNvidia(controller, nvidia) {
if (nvidia.driverVersion) {
controller.driverVersion = nvidia.driverVersion;
}
if (nvidia.subDeviceId) {
controller.subDeviceId = nvidia.subDeviceId;
}
if (nvidia.name) {
controller.name = nvidia.name;
}
if (nvidia.pciBus) {
controller.pciBus = nvidia.pciBus;
}
if (nvidia.fanSpeed) {
controller.fanSpeed = nvidia.fanSpeed;
}
if (nvidia.memoryTotal) {
controller.memoryTotal = nvidia.memoryTotal;
controller.vram = nvidia.memoryTotal;
controller.vramDynamic = false;
}
if (nvidia.memoryUsed) {
controller.memoryUsed = nvidia.memoryUsed;
}
if (nvidia.memoryFree) {
controller.memoryFree = nvidia.memoryFree;
}
if (nvidia.utilizationGpu) {
controller.utilizationGpu = nvidia.utilizationGpu;
}
if (nvidia.utilizationMemory) {
controller.utilizationMemory = nvidia.utilizationMemory;
}
if (nvidia.temperatureGpu) {
controller.temperatureGpu = nvidia.temperatureGpu;
}
if (nvidia.temperatureMemory) {
controller.temperatureMemory = nvidia.temperatureMemory;
}
if (nvidia.powerDraw) {
controller.powerDraw = nvidia.powerDraw;
}
if (nvidia.powerLimit) {
controller.powerLimit = nvidia.powerLimit;
}
if (nvidia.clockCore) {
controller.clockCore = nvidia.clockCore;
}
if (nvidia.clockMemory) {
controller.clockMemory = nvidia.clockMemory;
}
return controller;
}
function parseLinesLinuxEdid(edid) {
const result2 = {
vendor: "",
model: "",
deviceName: "",
main: false,
builtin: false,
connection: "",
sizeX: null,
sizeY: null,
pixelDepth: null,
resolutionX: null,
resolutionY: null,
currentResX: null,
currentResY: null,
positionX: 0,
positionY: 0,
currentRefreshRate: null
};
let start2 = 108;
if (edid.substr(start2, 6) === "000000") {
start2 += 36;
}
if (edid.substr(start2, 6) === "000000") {
start2 += 36;
}
if (edid.substr(start2, 6) === "000000") {
start2 += 36;
}
if (edid.substr(start2, 6) === "000000") {
start2 += 36;
}
result2.resolutionX = parseInt("0x0" + edid.substr(start2 + 8, 1) + edid.substr(start2 + 4, 2));
result2.resolutionY = parseInt("0x0" + edid.substr(start2 + 14, 1) + edid.substr(start2 + 10, 2));
result2.sizeX = parseInt("0x0" + edid.substr(start2 + 28, 1) + edid.substr(start2 + 24, 2));
result2.sizeY = parseInt("0x0" + edid.substr(start2 + 29, 1) + edid.substr(start2 + 26, 2));
start2 = edid.indexOf("000000fc00");
if (start2 >= 0) {
let model_raw = edid.substr(start2 + 10, 26);
if (model_raw.indexOf("0a") !== -1) {
model_raw = model_raw.substr(0, model_raw.indexOf("0a"));
}
try {
if (model_raw.length > 2) {
result2.model = model_raw.match(/.{1,2}/g).map((v) => String.fromCharCode(parseInt(v, 16))).join("");
}
} catch {
util2.noop();
}
} else {
result2.model = "";
}
return result2;
}
function parseLinesLinuxDisplays(lines, depth) {
const displays = [];
let currentDisplay = {
vendor: "",
model: "",
deviceName: "",
main: false,
builtin: false,
connection: "",
sizeX: null,
sizeY: null,
pixelDepth: null,
resolutionX: null,
resolutionY: null,
currentResX: null,
currentResY: null,
positionX: 0,
positionY: 0,
currentRefreshRate: null
};
let is_edid = false;
let is_current = false;
let edid_raw = "";
let start2 = 0;
for (let i3 = 1; i3 < lines.length; i3++) {
if ("" !== lines[i3].trim()) {
if (" " !== lines[i3][0] && " " !== lines[i3][0] && lines[i3].toLowerCase().indexOf(" connected ") !== -1) {
if (currentDisplay.model || currentDisplay.main || currentDisplay.builtin || currentDisplay.connection || currentDisplay.sizeX !== null || currentDisplay.pixelDepth !== null || currentDisplay.resolutionX !== null) {
displays.push(currentDisplay);
currentDisplay = {
vendor: "",
model: "",
main: false,
builtin: false,
connection: "",
sizeX: null,
sizeY: null,
pixelDepth: null,
resolutionX: null,
resolutionY: null,
currentResX: null,
currentResY: null,
positionX: 0,
positionY: 0,
currentRefreshRate: null
};
}
let parts2 = lines[i3].split(" ");
currentDisplay.connection = parts2[0];
currentDisplay.main = lines[i3].toLowerCase().indexOf(" primary ") >= 0;
currentDisplay.builtin = parts2[0].toLowerCase().indexOf("edp") >= 0;
}
if (is_edid) {
if (lines[i3].search(/\S|$/) > start2) {
edid_raw += lines[i3].toLowerCase().trim();
} else {
let edid_decoded = parseLinesLinuxEdid(edid_raw);
currentDisplay.vendor = edid_decoded.vendor;
currentDisplay.model = edid_decoded.model;
currentDisplay.resolutionX = edid_decoded.resolutionX;
currentDisplay.resolutionY = edid_decoded.resolutionY;
currentDisplay.sizeX = edid_decoded.sizeX;
currentDisplay.sizeY = edid_decoded.sizeY;
currentDisplay.pixelDepth = depth;
is_edid = false;
}
}
if (lines[i3].toLowerCase().indexOf("edid:") >= 0) {
is_edid = true;
start2 = lines[i3].search(/\S|$/);
}
if (lines[i3].toLowerCase().indexOf("*current") >= 0) {
const parts1 = lines[i3].split("(");
if (parts1 && parts1.length > 1 && parts1[0].indexOf("x") >= 0) {
const resParts = parts1[0].trim().split("x");
currentDisplay.currentResX = util2.toInt(resParts[0]);
currentDisplay.currentResY = util2.toInt(resParts[1]);
}
is_current = true;
}
if (is_current && lines[i3].toLowerCase().indexOf("clock") >= 0 && lines[i3].toLowerCase().indexOf("hz") >= 0 && lines[i3].toLowerCase().indexOf("v: height") >= 0) {
const parts1 = lines[i3].split("clock");
if (parts1 && parts1.length > 1 && parts1[1].toLowerCase().indexOf("hz") >= 0) {
currentDisplay.currentRefreshRate = util2.toInt(parts1[1]);
}
is_current = false;
}
}
}
if (currentDisplay.model || currentDisplay.main || currentDisplay.builtin || currentDisplay.connection || currentDisplay.sizeX !== null || currentDisplay.pixelDepth !== null || currentDisplay.resolutionX !== null) {
displays.push(currentDisplay);
}
return displays;
}
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
controllers: [],
displays: []
};
if (_darwin) {
const cmd = "system_profiler -xml -detailLevel full SPDisplaysDataType";
exec3(cmd, (error40, stdout) => {
if (!error40) {
try {
const output = stdout.toString();
result2 = parseLinesDarwin(util2.plistParser(output)[0]._items);
} catch (e2) {
util2.noop();
}
try {
stdout = execSync5(
'defaults read /Library/Preferences/com.apple.windowserver.plist 2>/dev/null;defaults read /Library/Preferences/com.apple.windowserver.displays.plist 2>/dev/null; echo ""',
{ maxBuffer: 1024 * 102400 }
);
const output = (stdout || "").toString();
const obj = util2.plistReader(output);
if (obj["DisplayAnyUserSets"] && obj["DisplayAnyUserSets"]["Configs"] && obj["DisplayAnyUserSets"]["Configs"][0] && obj["DisplayAnyUserSets"]["Configs"][0]["DisplayConfig"]) {
const current = obj["DisplayAnyUserSets"]["Configs"][0]["DisplayConfig"];
let i3 = 0;
current.forEach((o3) => {
if (o3["CurrentInfo"] && o3["CurrentInfo"]["OriginX"] !== void 0 && result2.displays && result2.displays[i3]) {
result2.displays[i3].positionX = o3["CurrentInfo"]["OriginX"];
}
if (o3["CurrentInfo"] && o3["CurrentInfo"]["OriginY"] !== void 0 && result2.displays && result2.displays[i3]) {
result2.displays[i3].positionY = o3["CurrentInfo"]["OriginY"];
}
i3++;
});
}
if (obj["DisplayAnyUserSets"] && obj["DisplayAnyUserSets"].length > 0 && obj["DisplayAnyUserSets"][0].length > 0 && obj["DisplayAnyUserSets"][0][0]["DisplayID"]) {
const current = obj["DisplayAnyUserSets"][0];
let i3 = 0;
current.forEach((o3) => {
if ("OriginX" in o3 && result2.displays && result2.displays[i3]) {
result2.displays[i3].positionX = o3["OriginX"];
}
if ("OriginY" in o3 && result2.displays && result2.displays[i3]) {
result2.displays[i3].positionY = o3["OriginY"];
}
if (o3["Mode"] && o3["Mode"]["BitsPerPixel"] !== void 0 && result2.displays && result2.displays[i3]) {
result2.displays[i3].pixelDepth = o3["Mode"]["BitsPerPixel"];
}
i3++;
});
}
} catch {
util2.noop();
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_linux) {
if (util2.isRaspberry()) {
const cmd2 = `fbset -s 2> /dev/null | grep 'mode "' ; vcgencmd get_mem gpu 2> /dev/null; tvservice -s 2> /dev/null; tvservice -n 2> /dev/null;`;
exec3(cmd2, (error40, stdout) => {
const lines = stdout.toString().split("\n");
if (lines.length > 3 && lines[0].indexOf('mode "') >= -1 && lines[2].indexOf("0x12000a") > -1) {
const parts2 = lines[0].replace("mode", "").replace(/"/g, "").trim().split("x");
if (parts2.length === 2) {
result2.displays.push({
vendor: "",
model: util2.getValue(lines, "device_name", "="),
main: true,
builtin: false,
connection: "HDMI",
sizeX: null,
sizeY: null,
pixelDepth: null,
resolutionX: parseInt(parts2[0], 10),
resolutionY: parseInt(parts2[1], 10),
currentResX: null,
currentResY: null,
positionX: 0,
positionY: 0,
currentRefreshRate: null
});
}
}
if (lines.length >= 1 && stdout.toString().indexOf("gpu=") >= -1) {
result2.controllers.push({
vendor: "Broadcom",
model: util2.getRpiGpu(),
bus: "",
vram: util2.getValue(lines, "gpu", "=").replace("M", ""),
vramDynamic: true
});
}
});
}
const cmd = "lspci -vvv 2>/dev/null";
exec3(cmd, (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
if (result2.controllers.length === 0) {
result2.controllers = parseLinesLinuxControllers(lines);
const nvidiaData = nvidiaDevices();
result2.controllers = result2.controllers.map((controller) => {
return mergeControllerNvidia(controller, nvidiaData.find((contr) => contr.pciBus.toLowerCase().endsWith(controller.busAddress.toLowerCase())) || {});
});
}
}
const cmd2 = "clinfo --raw";
exec3(cmd2, (error41, stdout2) => {
if (!error41) {
const lines = stdout2.toString().split("\n");
result2.controllers = parseLinesLinuxClinfo(result2.controllers, lines);
}
const cmd3 = "xdpyinfo 2>/dev/null | grep 'depth of root window' | awk '{ print $5 }'";
exec3(cmd3, (error42, stdout3) => {
let depth = 0;
if (!error42) {
const lines = stdout3.toString().split("\n");
depth = parseInt(lines[0]) || 0;
}
const cmd4 = "xrandr --verbose 2>/dev/null";
exec3(cmd4, (error43, stdout4) => {
if (!error43) {
const lines = stdout4.toString().split("\n");
result2.displays = parseLinesLinuxDisplays(lines, depth);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
});
});
}
if (_freebsd || _openbsd || _netbsd) {
if (callback) {
callback(null);
}
resolve25(null);
}
if (_sunos) {
if (callback) {
callback(null);
}
resolve25(null);
}
if (_windows) {
try {
const workload = [];
workload.push(util2.powerShell("Get-CimInstance win32_VideoController | fl *"));
workload.push(
util2.powerShell(
'gp "HKLM:\\SYSTEM\\ControlSet001\\Control\\Class\\{4d36e968-e325-11ce-bfc1-08002be10318}\\*" -ErrorAction SilentlyContinue | where MatchingDeviceId $null -NE | select MatchingDeviceId,HardwareInformation.qwMemorySize | fl'
)
);
workload.push(util2.powerShell("Get-CimInstance win32_desktopmonitor | fl *"));
workload.push(util2.powerShell("Get-CimInstance -Namespace root\\wmi -ClassName WmiMonitorBasicDisplayParams | fl"));
workload.push(util2.powerShell("Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Screen]::AllScreens"));
workload.push(util2.powerShell("Get-CimInstance -Namespace root\\wmi -ClassName WmiMonitorConnectionParams | fl"));
workload.push(
util2.powerShell(
'gwmi WmiMonitorID -Namespace root\\wmi | ForEach-Object {(($_.ManufacturerName -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.ProductCodeID -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.UserFriendlyName -notmatch 0 | foreach {[char]$_}) -join "") + "|" + (($_.SerialNumberID -notmatch 0 | foreach {[char]$_}) -join "") + "|" + $_.InstanceName}'
)
);
const nvidiaData = nvidiaDevices();
Promise.all(workload).then((data) => {
const csections = data[0].replace(/\r/g, "").split(/\n\s*\n/);
const vsections = data[1].replace(/\r/g, "").split(/\n\s*\n/);
result2.controllers = parseLinesWindowsControllers(csections, vsections);
result2.controllers = result2.controllers.map((controller) => {
if (controller.vendor.toLowerCase() === "nvidia") {
return mergeControllerNvidia(
controller,
nvidiaData.find((device) => {
let windowsSubDeviceId = (controller.subDeviceId || "").toLowerCase();
const nvidiaSubDeviceIdParts = device.subDeviceId.split("x");
let nvidiaSubDeviceId = nvidiaSubDeviceIdParts.length > 1 ? nvidiaSubDeviceIdParts[1].toLowerCase() : nvidiaSubDeviceIdParts[0].toLowerCase();
const lengthDifference = Math.abs(windowsSubDeviceId.length - nvidiaSubDeviceId.length);
if (windowsSubDeviceId.length > nvidiaSubDeviceId.length) {
for (let i3 = 0; i3 < lengthDifference; i3++) {
nvidiaSubDeviceId = "0" + nvidiaSubDeviceId;
}
} else if (windowsSubDeviceId.length < nvidiaSubDeviceId.length) {
for (let i3 = 0; i3 < lengthDifference; i3++) {
windowsSubDeviceId = "0" + windowsSubDeviceId;
}
}
return windowsSubDeviceId === nvidiaSubDeviceId;
}) || {}
);
} else {
return controller;
}
});
const dsections = data[2].replace(/\r/g, "").split(/\n\s*\n/);
if (dsections[0].trim() === "") {
dsections.shift();
}
if (dsections.length && dsections[dsections.length - 1].trim() === "") {
dsections.pop();
}
const msections = data[3].replace(/\r/g, "").split("Active ");
msections.shift();
const ssections = data[4].replace(/\r/g, "").split("BitsPerPixel ");
ssections.shift();
const tsections = data[5].replace(/\r/g, "").split(/\n\s*\n/);
tsections.shift();
const res = data[6].replace(/\r/g, "").split(/\n/);
const isections = [];
res.forEach((element) => {
const parts2 = element.split("|");
if (parts2.length === 5) {
isections.push({
vendor: parts2[0],
code: parts2[1],
model: parts2[2],
serial: parts2[3],
instanceId: parts2[4]
});
}
});
result2.displays = parseLinesWindowsDisplaysPowershell(ssections, msections, dsections, tsections, isections);
if (result2.displays.length === 1) {
if (_resolutionX) {
result2.displays[0].resolutionX = _resolutionX;
if (!result2.displays[0].currentResX) {
result2.displays[0].currentResX = _resolutionX;
}
}
if (_resolutionY) {
result2.displays[0].resolutionY = _resolutionY;
if (result2.displays[0].currentResY === 0) {
result2.displays[0].currentResY = _resolutionY;
}
}
if (_pixelDepth) {
result2.displays[0].pixelDepth = _pixelDepth;
}
}
result2.displays = result2.displays.map((element) => {
if (_refreshRate && !element.currentRefreshRate) {
element.currentRefreshRate = _refreshRate;
}
return element;
});
if (callback) {
callback(result2);
}
resolve25(result2);
}).catch(() => {
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch (e2) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
function parseLinesWindowsControllers(sections, vections) {
const memorySizes = {};
for (const i3 in vections) {
if ({}.hasOwnProperty.call(vections, i3)) {
if (vections[i3].trim() !== "") {
const lines = vections[i3].trim().split("\n");
const matchingDeviceId = util2.getValue(lines, "MatchingDeviceId").match(/PCI\\(VEN_[0-9A-F]{4})&(DEV_[0-9A-F]{4})(?:&(SUBSYS_[0-9A-F]{8}))?(?:&(REV_[0-9A-F]{2}))?/i);
if (matchingDeviceId) {
const quadWordmemorySize = parseInt(util2.getValue(lines, "HardwareInformation.qwMemorySize"));
if (!isNaN(quadWordmemorySize)) {
let deviceId = matchingDeviceId[1].toUpperCase() + "&" + matchingDeviceId[2].toUpperCase();
if (matchingDeviceId[3]) {
deviceId += "&" + matchingDeviceId[3].toUpperCase();
}
if (matchingDeviceId[4]) {
deviceId += "&" + matchingDeviceId[4].toUpperCase();
}
memorySizes[deviceId] = quadWordmemorySize;
}
}
}
}
}
const controllers = [];
for (const i3 in sections) {
if ({}.hasOwnProperty.call(sections, i3)) {
if (sections[i3].trim() !== "") {
const lines = sections[i3].trim().split("\n");
const pnpDeviceId = util2.getValue(lines, "PNPDeviceID", ":").match(/PCI\\(VEN_[0-9A-F]{4})&(DEV_[0-9A-F]{4})(?:&(SUBSYS_[0-9A-F]{8}))?(?:&(REV_[0-9A-F]{2}))?/i);
let subDeviceId = null;
let memorySize = null;
if (pnpDeviceId) {
subDeviceId = pnpDeviceId[3] || "";
if (subDeviceId) {
subDeviceId = subDeviceId.split("_")[1];
}
if (memorySize == null && pnpDeviceId[3] && pnpDeviceId[4]) {
const deviceId = pnpDeviceId[1].toUpperCase() + "&" + pnpDeviceId[2].toUpperCase() + "&" + pnpDeviceId[3].toUpperCase() + "&" + pnpDeviceId[4].toUpperCase();
if ({}.hasOwnProperty.call(memorySizes, deviceId)) {
memorySize = memorySizes[deviceId];
}
}
if (memorySize == null && pnpDeviceId[3]) {
const deviceId = pnpDeviceId[1].toUpperCase() + "&" + pnpDeviceId[2].toUpperCase() + "&" + pnpDeviceId[3].toUpperCase();
if ({}.hasOwnProperty.call(memorySizes, deviceId)) {
memorySize = memorySizes[deviceId];
}
}
if (memorySize == null && pnpDeviceId[4]) {
const deviceId = pnpDeviceId[1].toUpperCase() + "&" + pnpDeviceId[2].toUpperCase() + "&" + pnpDeviceId[4].toUpperCase();
if ({}.hasOwnProperty.call(memorySizes, deviceId)) {
memorySize = memorySizes[deviceId];
}
}
if (memorySize == null) {
const deviceId = pnpDeviceId[1].toUpperCase() + "&" + pnpDeviceId[2].toUpperCase();
if ({}.hasOwnProperty.call(memorySizes, deviceId)) {
memorySize = memorySizes[deviceId];
}
}
}
controllers.push({
vendor: util2.getValue(lines, "AdapterCompatibility", ":"),
model: util2.getValue(lines, "name", ":"),
bus: util2.getValue(lines, "PNPDeviceID", ":").startsWith("PCI") ? "PCI" : "",
vram: (memorySize == null ? util2.toInt(util2.getValue(lines, "AdapterRAM", ":")) : memorySize) / 1024 / 1024,
vramDynamic: util2.getValue(lines, "VideoMemoryType", ":") === "2",
subDeviceId
});
_resolutionX = util2.toInt(util2.getValue(lines, "CurrentHorizontalResolution", ":")) || _resolutionX;
_resolutionY = util2.toInt(util2.getValue(lines, "CurrentVerticalResolution", ":")) || _resolutionY;
_refreshRate = util2.toInt(util2.getValue(lines, "CurrentRefreshRate", ":")) || _refreshRate;
_pixelDepth = util2.toInt(util2.getValue(lines, "CurrentBitsPerPixel", ":")) || _pixelDepth;
}
}
}
return controllers;
}
function parseLinesWindowsDisplaysPowershell(ssections, msections, dsections, tsections, isections) {
const displays = [];
let vendor = "";
let model = "";
let deviceID = "";
let resolutionX = 0;
let resolutionY = 0;
if (dsections && dsections.length) {
const linesDisplay = dsections[0].split("\n");
vendor = util2.getValue(linesDisplay, "MonitorManufacturer", ":");
model = util2.getValue(linesDisplay, "Name", ":");
deviceID = util2.getValue(linesDisplay, "PNPDeviceID", ":").replace(/&/g, "&").toLowerCase();
resolutionX = util2.toInt(util2.getValue(linesDisplay, "ScreenWidth", ":"));
resolutionY = util2.toInt(util2.getValue(linesDisplay, "ScreenHeight", ":"));
}
for (let i3 = 0; i3 < ssections.length; i3++) {
if (ssections[i3].trim() !== "") {
ssections[i3] = "BitsPerPixel " + ssections[i3];
msections[i3] = "Active " + msections[i3];
if (tsections.length === 0 || tsections[i3] === void 0) {
tsections[i3] = "Unknown";
}
const linesScreen = ssections[i3].split("\n");
const linesMonitor = msections[i3].split("\n");
const linesConnection = tsections[i3].split("\n");
const bitsPerPixel = util2.getValue(linesScreen, "BitsPerPixel");
const bounds = util2.getValue(linesScreen, "Bounds").replace("{", "").replace("}", "").replace(/=/g, ":").split(",");
const primary = util2.getValue(linesScreen, "Primary");
const sizeX = util2.getValue(linesMonitor, "MaxHorizontalImageSize");
const sizeY = util2.getValue(linesMonitor, "MaxVerticalImageSize");
const instanceName = util2.getValue(linesMonitor, "InstanceName").toLowerCase();
const videoOutputTechnology = util2.getValue(linesConnection, "VideoOutputTechnology");
const deviceName = util2.getValue(linesScreen, "DeviceName");
let displayVendor = "";
let displayModel = "";
isections.forEach((element) => {
if (element.instanceId.toLowerCase().startsWith(instanceName) && vendor.startsWith("(") && model.startsWith("PnP")) {
displayVendor = element.vendor;
displayModel = element.model;
}
});
displays.push({
vendor: instanceName.startsWith(deviceID) && displayVendor === "" ? vendor : displayVendor,
model: instanceName.startsWith(deviceID) && displayModel === "" ? model : displayModel,
deviceName,
main: primary.toLowerCase() === "true",
builtin: videoOutputTechnology === "2147483648",
connection: videoOutputTechnology && videoTypes[videoOutputTechnology] ? videoTypes[videoOutputTechnology] : "",
resolutionX: util2.toInt(util2.getValue(bounds, "Width", ":")),
resolutionY: util2.toInt(util2.getValue(bounds, "Height", ":")),
sizeX: sizeX ? parseInt(sizeX, 10) : null,
sizeY: sizeY ? parseInt(sizeY, 10) : null,
pixelDepth: bitsPerPixel,
currentResX: util2.toInt(util2.getValue(bounds, "Width", ":")),
currentResY: util2.toInt(util2.getValue(bounds, "Height", ":")),
positionX: util2.toInt(util2.getValue(bounds, "X", ":")),
positionY: util2.toInt(util2.getValue(bounds, "Y", ":"))
});
}
}
if (ssections.length === 0) {
displays.push({
vendor,
model,
main: true,
sizeX: null,
sizeY: null,
resolutionX,
resolutionY,
pixelDepth: null,
currentResX: resolutionX,
currentResY: resolutionY,
positionX: 0,
positionY: 0
});
}
return displays;
}
}
exports2.graphics = graphics;
}
});
// node_modules/systeminformation/lib/filesystem.js
var require_filesystem = __commonJS({
"node_modules/systeminformation/lib/filesystem.js"(exports2) {
"use strict";
var util2 = require_util7();
var fs84 = __require("fs");
var os30 = __require("os");
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var execPromiseSave = util2.promisifySave(__require("child_process").exec);
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
var _fs_speed = {};
var _disk_io = {};
function fsSize(drive, callback) {
if (util2.isFunction(drive)) {
callback = drive;
drive = "";
}
let macOsDisks = [];
let osMounts = [];
function getmacOsFsType(fs85) {
if (!fs85.startsWith("/")) {
return "NFS";
}
const parts2 = fs85.split("/");
const fsShort = parts2[parts2.length - 1];
const macOsDisksSingle = macOsDisks.filter((item) => item.indexOf(fsShort) >= 0);
if (macOsDisksSingle.length === 1 && macOsDisksSingle[0].indexOf("APFS") >= 0) {
return "APFS";
}
return "HFS";
}
function isLinuxTmpFs(fs85) {
const linuxTmpFileSystems = ["rootfs", "unionfs", "squashfs", "cramfs", "initrd", "initramfs", "devtmpfs", "tmpfs", "udev", "devfs", "specfs", "type", "appimaged"];
let result2 = false;
linuxTmpFileSystems.forEach((linuxFs) => {
if (fs85.toLowerCase().indexOf(linuxFs) >= 0) {
result2 = true;
}
});
return result2;
}
function filterLines(stdout) {
const lines = stdout.toString().split("\n");
lines.shift();
if (stdout.toString().toLowerCase().indexOf("filesystem")) {
let removeLines = 0;
for (let i3 = 0; i3 < lines.length; i3++) {
if (lines[i3] && lines[i3].toLowerCase().startsWith("filesystem")) {
removeLines = i3;
}
}
for (let i3 = 0; i3 < removeLines; i3++) {
lines.shift();
}
}
return lines;
}
function parseDf(lines) {
const data = [];
lines.forEach((line) => {
if (line !== "") {
line = line.replace(/ +/g, " ").split(" ");
if (line && (line[0].startsWith("/") || line[6] && line[6] === "/" || line[0].indexOf("/") > 0 || line[0].indexOf(":") === 1 || !_darwin && !isLinuxTmpFs(line[1]))) {
const fs85 = line[0];
const fsType = _linux || _freebsd || _openbsd || _netbsd ? line[1] : getmacOsFsType(line[0]);
const size = parseInt(_linux || _freebsd || _openbsd || _netbsd ? line[2] : line[1], 10) * 1024;
const used = parseInt(_linux || _freebsd || _openbsd || _netbsd ? line[3] : line[2], 10) * 1024;
const available = parseInt(_linux || _freebsd || _openbsd || _netbsd ? line[4] : line[3], 10) * 1024;
const use = parseFloat((100 * (used / (used + available))).toFixed(2));
const rw = osMounts && Object.keys(osMounts).length > 0 ? osMounts[fs85] || false : null;
line.splice(0, _linux || _freebsd || _openbsd || _netbsd ? 6 : 5);
const mount = line.join(" ");
if (!data.find((el) => el.fs === fs85 && el.type === fsType && el.mount === mount)) {
data.push({
fs: fs85,
type: fsType,
size,
used,
available,
use,
mount,
rw
});
}
}
}
});
return data;
}
return new Promise((resolve25) => {
process.nextTick(() => {
let data = [];
if (_linux || _freebsd || _openbsd || _netbsd || _darwin) {
let cmd = "";
macOsDisks = [];
osMounts = {};
if (_darwin) {
cmd = "df -kP";
try {
macOsDisks = execSync5("diskutil list").toString().split("\n").filter((line) => {
return !line.startsWith("/") && line.indexOf(":") > 0;
});
execSync5("mount").toString().split("\n").filter((line) => {
return line.startsWith("/");
}).forEach((line) => {
osMounts[line.split(" ")[0]] = line.toLowerCase().indexOf("read-only") === -1;
});
} catch {
util2.noop();
}
}
if (_linux) {
try {
cmd = "export LC_ALL=C; df -kPTx squashfs; unset LC_ALL";
execSync5("cat /proc/mounts 2>/dev/null", util2.execOptsLinux).toString().split("\n").filter((line) => {
return line.startsWith("/");
}).forEach((line) => {
osMounts[line.split(" ")[0]] = osMounts[line.split(" ")[0]] || false;
if (line.toLowerCase().indexOf("/snap/") === -1) {
osMounts[line.split(" ")[0]] = line.toLowerCase().indexOf("rw,") >= 0 || line.toLowerCase().indexOf(" rw ") >= 0;
}
});
} catch {
util2.noop();
}
}
if (_freebsd || _openbsd || _netbsd) {
try {
cmd = "df -kPT";
execSync5("mount").toString().split("\n").forEach((line) => {
osMounts[line.split(" ")[0]] = line.toLowerCase().indexOf("read-only") === -1;
});
} catch {
util2.noop();
}
}
exec3(cmd, { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
const lines = filterLines(stdout);
data = parseDf(lines);
if (drive) {
data = data.filter((item) => {
return item.fs.toLowerCase().indexOf(drive.toLowerCase()) >= 0 || item.mount.toLowerCase().indexOf(drive.toLowerCase()) >= 0;
});
}
if ((!error40 || data.length) && stdout.toString().trim() !== "") {
if (callback) {
callback(data);
}
resolve25(data);
} else {
exec3("df -kPT 2>/dev/null", { maxBuffer: 1024 * 1024 }, (error41, stdout2) => {
const lines2 = filterLines(stdout2);
data = parseDf(lines2);
if (callback) {
callback(data);
}
resolve25(data);
});
}
});
}
if (_sunos) {
if (callback) {
callback(data);
}
resolve25(data);
}
if (_windows) {
try {
const driveSanitized = drive ? util2.sanitizeShellString(drive, true) : "";
const cmd = `Get-WmiObject Win32_logicaldisk | select Access,Caption,FileSystem,FreeSpace,Size ${driveSanitized ? "| where -property Caption -eq " + driveSanitized : ""} | fl`;
util2.powerShell(cmd).then((stdout, error40) => {
if (!error40) {
const devices = stdout.toString().split(/\n\s*\n/);
devices.forEach((device) => {
const lines = device.split("\r\n");
const size = util2.toInt(util2.getValue(lines, "size", ":"));
const free = util2.toInt(util2.getValue(lines, "freespace", ":"));
const caption = util2.getValue(lines, "caption", ":");
const rwValue = util2.getValue(lines, "access", ":");
const rw = rwValue ? util2.toInt(rwValue) !== 1 : null;
if (size) {
data.push({
fs: caption,
type: util2.getValue(lines, "filesystem", ":"),
size,
used: size - free,
available: free,
use: parseFloat((100 * (size - free) / size).toFixed(2)),
mount: caption,
rw
});
}
});
}
if (callback) {
callback(data);
}
resolve25(data);
});
} catch {
if (callback) {
callback(data);
}
resolve25(data);
}
}
});
});
}
exports2.fsSize = fsSize;
function fsOpenFiles(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const result2 = {
max: null,
allocated: null,
available: null
};
if (_freebsd || _openbsd || _netbsd || _darwin) {
const cmd = "sysctl -i kern.maxfiles kern.num_files kern.open_files";
exec3(cmd, { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
result2.max = parseInt(util2.getValue(lines, "kern.maxfiles", ":"), 10);
result2.allocated = parseInt(util2.getValue(lines, "kern.num_files", ":"), 10) || parseInt(util2.getValue(lines, "kern.open_files", ":"), 10);
result2.available = result2.max - result2.allocated;
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_linux) {
fs84.readFile("/proc/sys/fs/file-nr", (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
if (lines[0]) {
const parts2 = lines[0].replace(/\s+/g, " ").split(" ");
if (parts2.length === 3) {
result2.allocated = parseInt(parts2[0], 10);
result2.available = parseInt(parts2[1], 10);
result2.max = parseInt(parts2[2], 10);
if (!result2.available) {
result2.available = result2.max - result2.allocated;
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
fs84.readFile("/proc/sys/fs/file-max", (error41, stdout2) => {
if (!error41) {
const lines = stdout2.toString().split("\n");
if (lines[0]) {
result2.max = parseInt(lines[0], 10);
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
});
}
if (_sunos) {
if (callback) {
callback(null);
}
resolve25(null);
}
if (_windows) {
if (callback) {
callback(null);
}
resolve25(null);
}
});
});
}
exports2.fsOpenFiles = fsOpenFiles;
function parseBytes(s2) {
return parseInt(s2.substr(s2.indexOf(" (") + 2, s2.indexOf(" Bytes)") - 10), 10);
}
function parseDevices(lines) {
const devices = [];
let i3 = 0;
lines.forEach((line) => {
if (line.length > 0) {
if (line[0] === "*") {
i3++;
} else {
const parts2 = line.split(":");
if (parts2.length > 1) {
if (!devices[i3]) {
devices[i3] = {
name: "",
identifier: "",
type: "disk",
fsType: "",
mount: "",
size: 0,
physical: "HDD",
uuid: "",
label: "",
model: "",
serial: "",
removable: false,
protocol: "",
group: "",
device: ""
};
}
parts2[0] = parts2[0].trim().toUpperCase().replace(/ +/g, "");
parts2[1] = parts2[1].trim();
if ("DEVICEIDENTIFIER" === parts2[0]) {
devices[i3].identifier = parts2[1];
}
if ("DEVICENODE" === parts2[0]) {
devices[i3].name = parts2[1];
}
if ("VOLUMENAME" === parts2[0]) {
if (parts2[1].indexOf("Not applicable") === -1) {
devices[i3].label = parts2[1];
}
}
if ("PROTOCOL" === parts2[0]) {
devices[i3].protocol = parts2[1];
}
if ("DISKSIZE" === parts2[0]) {
devices[i3].size = parseBytes(parts2[1]);
}
if ("FILESYSTEMPERSONALITY" === parts2[0]) {
devices[i3].fsType = parts2[1];
}
if ("MOUNTPOINT" === parts2[0]) {
devices[i3].mount = parts2[1];
}
if ("VOLUMEUUID" === parts2[0]) {
devices[i3].uuid = parts2[1];
}
if ("READ-ONLYMEDIA" === parts2[0] && parts2[1] === "Yes") {
devices[i3].physical = "CD/DVD";
}
if ("SOLIDSTATE" === parts2[0] && parts2[1] === "Yes") {
devices[i3].physical = "SSD";
}
if ("VIRTUAL" === parts2[0]) {
devices[i3].type = "virtual";
}
if ("REMOVABLEMEDIA" === parts2[0]) {
devices[i3].removable = parts2[1] === "Removable";
}
if ("PARTITIONTYPE" === parts2[0]) {
devices[i3].type = "part";
}
if ("DEVICE/MEDIANAME" === parts2[0]) {
devices[i3].model = parts2[1];
}
}
}
}
});
return devices;
}
function parseBlk(lines) {
let data = [];
lines.filter((line) => line !== "").forEach((line) => {
try {
line = decodeURIComponent(line.replace(/\\x/g, "%"));
line = line.replace(/\\/g, "\\\\");
const disk = JSON.parse(line);
data.push({
name: util2.sanitizeShellString(disk.name),
type: disk.type,
fsType: disk.fsType,
mount: disk.mountpoint,
size: parseInt(disk.size, 10),
physical: disk.type === "disk" ? disk.rota === "0" ? "SSD" : "HDD" : disk.type === "rom" ? "CD/DVD" : "",
uuid: disk.uuid,
label: disk.label,
model: (disk.model || "").trim(),
serial: disk.serial,
removable: disk.rm === "1",
protocol: disk.tran,
group: disk.group || ""
});
} catch {
util2.noop();
}
});
data = util2.unique(data);
data = util2.sortByKey(data, ["type", "name"]);
return data;
}
function decodeMdabmData(lines) {
const raid = util2.getValue(lines, "md_level", "=");
const label = util2.getValue(lines, "md_name", "=");
const uuid3 = util2.getValue(lines, "md_uuid", "=");
const members = [];
lines.forEach((line) => {
if (line.toLowerCase().startsWith("md_device_dev") && line.toLowerCase().indexOf("/dev/") > 0) {
members.push(line.split("/dev/")[1]);
}
});
return {
raid,
label,
uuid: uuid3,
members
};
}
function raidMatchLinux(data) {
let result2 = data;
try {
data.forEach((element) => {
if (element.type.startsWith("raid")) {
const lines = execSync5(`mdadm --export --detail /dev/${element.name}`, util2.execOptsLinux).toString().split("\n");
const mdData = decodeMdabmData(lines);
element.label = mdData.label;
element.uuid = mdData.uuid;
if (mdData && mdData.members && mdData.members.length && mdData.raid === element.type) {
result2 = result2.map((blockdevice) => {
if (blockdevice.fsType === "linux_raid_member" && mdData.members.indexOf(blockdevice.name) >= 0) {
blockdevice.group = element.name;
}
return blockdevice;
});
}
}
});
} catch {
util2.noop();
}
return result2;
}
function getDevicesLinux(data) {
const result2 = [];
data.forEach((element) => {
if (element.type.startsWith("disk")) {
result2.push(element.name);
}
});
return result2;
}
function matchDevicesLinux(data) {
let result2 = data;
try {
const devices = getDevicesLinux(data);
result2 = result2.map((blockdevice) => {
if (blockdevice.type.startsWith("part") || blockdevice.type.startsWith("disk")) {
devices.forEach((element) => {
if (blockdevice.name.startsWith(element)) {
blockdevice.device = "/dev/" + element;
}
});
}
return blockdevice;
});
} catch {
util2.noop();
}
return result2;
}
function getDevicesMac(data) {
const result2 = [];
data.forEach((element) => {
if (element.type.startsWith("disk")) {
result2.push({ name: element.name, model: element.model, device: element.name });
}
if (element.type.startsWith("virtual")) {
let device = "";
result2.forEach((e2) => {
if (e2.model === element.model) {
device = e2.device;
}
});
if (device) {
result2.push({ name: element.name, model: element.model, device });
}
}
});
return result2;
}
function matchDevicesMac(data) {
let result2 = data;
try {
const devices = getDevicesMac(data);
result2 = result2.map((blockdevice) => {
if (blockdevice.type.startsWith("part") || blockdevice.type.startsWith("disk") || blockdevice.type.startsWith("virtual")) {
devices.forEach((element) => {
if (blockdevice.name.startsWith(element.name)) {
blockdevice.device = element.device;
}
});
}
return blockdevice;
});
} catch {
util2.noop();
}
return result2;
}
function getDevicesWin(diskDrives) {
const result2 = [];
diskDrives.forEach((element) => {
const lines = element.split("\r\n");
const device = util2.getValue(lines, "DeviceID", ":");
let partitions = element.split("@{DeviceID=");
if (partitions.length > 1) {
partitions = partitions.slice(1);
partitions.forEach((partition2) => {
result2.push({ name: partition2.split(";")[0].toUpperCase(), device });
});
}
});
return result2;
}
function matchDevicesWin(data, diskDrives) {
const devices = getDevicesWin(diskDrives);
data.map((element) => {
const filteresDevices = devices.filter((e2) => {
return e2.name === element.name.toUpperCase();
});
if (filteresDevices.length > 0) {
element.device = filteresDevices[0].device;
}
return element;
});
return data;
}
function blkStdoutToObject(stdout) {
return stdout.toString().replace(/NAME=/g, '{"name":').replace(/FSTYPE=/g, ',"fsType":').replace(/TYPE=/g, ',"type":').replace(/SIZE=/g, ',"size":').replace(/MOUNTPOINT=/g, ',"mountpoint":').replace(/UUID=/g, ',"uuid":').replace(/ROTA=/g, ',"rota":').replace(/RO=/g, ',"ro":').replace(/RM=/g, ',"rm":').replace(/TRAN=/g, ',"tran":').replace(/SERIAL=/g, ',"serial":').replace(/LABEL=/g, ',"label":').replace(/MODEL=/g, ',"model":').replace(/OWNER=/g, ',"owner":').replace(/GROUP=/g, ',"group":').replace(/\n/g, "}\n");
}
function blockDevices(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let data = [];
if (_linux) {
const procLsblk1 = exec3("lsblk -bPo NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,ROTA,RO,RM,TRAN,SERIAL,LABEL,MODEL,OWNER 2>/dev/null", { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
if (!error40) {
const lines = blkStdoutToObject(stdout).split("\n");
data = parseBlk(lines);
data = raidMatchLinux(data);
data = matchDevicesLinux(data);
if (callback) {
callback(data);
}
resolve25(data);
} else {
const procLsblk2 = exec3("lsblk -bPo NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,ROTA,RO,RM,LABEL,MODEL,OWNER 2>/dev/null", { maxBuffer: 1024 * 1024 }, (error41, stdout2) => {
if (!error41) {
const lines = blkStdoutToObject(stdout2).split("\n");
data = parseBlk(lines);
data = raidMatchLinux(data);
}
if (callback) {
callback(data);
}
resolve25(data);
});
procLsblk2.on("error", () => {
if (callback) {
callback(data);
}
resolve25(data);
});
}
});
procLsblk1.on("error", () => {
if (callback) {
callback(data);
}
resolve25(data);
});
}
if (_darwin) {
const procDskutil = exec3("diskutil info -all", { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
data = parseDevices(lines);
data = matchDevicesMac(data);
}
if (callback) {
callback(data);
}
resolve25(data);
});
procDskutil.on("error", () => {
if (callback) {
callback(data);
}
resolve25(data);
});
}
if (_sunos) {
if (callback) {
callback(data);
}
resolve25(data);
}
if (_windows) {
const drivetypes = ["Unknown", "NoRoot", "Removable", "Local", "Network", "CD/DVD", "RAM"];
try {
const workload = [];
workload.push(util2.powerShell("Get-CimInstance -ClassName Win32_LogicalDisk | select Caption,DriveType,Name,FileSystem,Size,VolumeSerialNumber,VolumeName | fl"));
workload.push(
util2.powerShell(
"Get-WmiObject -Class Win32_diskdrive | Select-Object -Property PNPDeviceId,DeviceID, Model, Size, @{L='Partitions'; E={$_.GetRelated('Win32_DiskPartition').GetRelated('Win32_LogicalDisk') | Select-Object -Property DeviceID, VolumeName, Size, FreeSpace}} | fl"
)
);
util2.promiseAll(workload).then((res) => {
const logicalDisks = res.results[0].toString().split(/\n\s*\n/);
const diskDrives = res.results[1].toString().split(/\n\s*\n/);
logicalDisks.forEach((device) => {
const lines = device.split("\r\n");
const drivetype = util2.getValue(lines, "drivetype", ":");
if (drivetype) {
data.push({
name: util2.getValue(lines, "name", ":"),
identifier: util2.getValue(lines, "caption", ":"),
type: "disk",
fsType: util2.getValue(lines, "filesystem", ":").toLowerCase(),
mount: util2.getValue(lines, "caption", ":"),
size: util2.getValue(lines, "size", ":"),
physical: drivetype >= 0 && drivetype <= 6 ? drivetypes[drivetype] : drivetypes[0],
uuid: util2.getValue(lines, "volumeserialnumber", ":"),
label: util2.getValue(lines, "volumename", ":"),
model: "",
serial: util2.getValue(lines, "volumeserialnumber", ":"),
removable: drivetype === "2",
protocol: "",
group: "",
device: ""
});
}
});
data = matchDevicesWin(data, diskDrives);
if (callback) {
callback(data);
}
resolve25(data);
});
} catch {
if (callback) {
callback(data);
}
resolve25(data);
}
}
if (_freebsd || _openbsd || _netbsd) {
if (callback) {
callback(null);
}
resolve25(null);
}
});
});
}
exports2.blockDevices = blockDevices;
function calcFsSpeed(rx, wx) {
const result2 = {
rx: 0,
wx: 0,
tx: 0,
rx_sec: null,
wx_sec: null,
tx_sec: null,
ms: 0
};
if (_fs_speed && _fs_speed.ms) {
result2.rx = rx;
result2.wx = wx;
result2.tx = result2.rx + result2.wx;
result2.ms = Date.now() - _fs_speed.ms;
result2.rx_sec = (result2.rx - _fs_speed.bytes_read) / (result2.ms / 1e3);
result2.wx_sec = (result2.wx - _fs_speed.bytes_write) / (result2.ms / 1e3);
result2.tx_sec = result2.rx_sec + result2.wx_sec;
_fs_speed.rx_sec = result2.rx_sec;
_fs_speed.wx_sec = result2.wx_sec;
_fs_speed.tx_sec = result2.tx_sec;
_fs_speed.bytes_read = result2.rx;
_fs_speed.bytes_write = result2.wx;
_fs_speed.bytes_overall = result2.rx + result2.wx;
_fs_speed.ms = Date.now();
_fs_speed.last_ms = result2.ms;
} else {
result2.rx = rx;
result2.wx = wx;
result2.tx = result2.rx + result2.wx;
_fs_speed.rx_sec = null;
_fs_speed.wx_sec = null;
_fs_speed.tx_sec = null;
_fs_speed.bytes_read = result2.rx;
_fs_speed.bytes_write = result2.wx;
_fs_speed.bytes_overall = result2.rx + result2.wx;
_fs_speed.ms = Date.now();
_fs_speed.last_ms = 0;
}
return result2;
}
function fsStats(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
if (_windows || _freebsd || _openbsd || _netbsd || _sunos) {
return resolve25(null);
}
let result2 = {
rx: 0,
wx: 0,
tx: 0,
rx_sec: null,
wx_sec: null,
tx_sec: null,
ms: 0
};
let rx = 0;
let wx = 0;
if (_fs_speed && !_fs_speed.ms || _fs_speed && _fs_speed.ms && Date.now() - _fs_speed.ms >= 500) {
if (_linux) {
const procLsblk = exec3("lsblk -r 2>/dev/null | grep /", { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
const fs_filter = [];
lines.forEach((line) => {
if (line !== "") {
line = line.trim().split(" ");
if (fs_filter.indexOf(line[0]) === -1) {
fs_filter.push(line[0]);
}
}
});
const output = fs_filter.join("|");
const procCat = exec3('cat /proc/diskstats | egrep "' + output + '"', { maxBuffer: 1024 * 1024 }, (error41, stdout2) => {
if (!error41) {
const lines2 = stdout2.toString().split("\n");
lines2.forEach((line) => {
line = line.trim();
if (line !== "") {
line = line.replace(/ +/g, " ").split(" ");
rx += parseInt(line[5], 10) * 512;
wx += parseInt(line[9], 10) * 512;
}
});
result2 = calcFsSpeed(rx, wx);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
procCat.on("error", () => {
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
procLsblk.on("error", () => {
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
const procIoreg = exec3(
'ioreg -c IOBlockStorageDriver -k Statistics -r -w0 | sed -n "/IOBlockStorageDriver/,/Statistics/p" | grep "Statistics" | tr -cd "01234567890,\n"',
{ maxBuffer: 1024 * 1024 },
(error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
lines.forEach((line) => {
line = line.trim();
if (line !== "") {
line = line.split(",");
rx += parseInt(line[2], 10);
wx += parseInt(line[9], 10);
}
});
result2 = calcFsSpeed(rx, wx);
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
);
procIoreg.on("error", () => {
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
} else {
result2.ms = _fs_speed.last_ms;
result2.rx = _fs_speed.bytes_read;
result2.wx = _fs_speed.bytes_write;
result2.tx = _fs_speed.bytes_read + _fs_speed.bytes_write;
result2.rx_sec = _fs_speed.rx_sec;
result2.wx_sec = _fs_speed.wx_sec;
result2.tx_sec = _fs_speed.tx_sec;
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.fsStats = fsStats;
function calcDiskIO(rIO, wIO, rWaitTime, wWaitTime, tWaitTime) {
const result2 = {
rIO: 0,
wIO: 0,
tIO: 0,
rIO_sec: null,
wIO_sec: null,
tIO_sec: null,
rWaitTime: 0,
wWaitTime: 0,
tWaitTime: 0,
rWaitPercent: null,
wWaitPercent: null,
tWaitPercent: null,
ms: 0
};
if (_disk_io && _disk_io.ms) {
result2.rIO = rIO;
result2.wIO = wIO;
result2.tIO = rIO + wIO;
result2.ms = Date.now() - _disk_io.ms;
result2.rIO_sec = (result2.rIO - _disk_io.rIO) / (result2.ms / 1e3);
result2.wIO_sec = (result2.wIO - _disk_io.wIO) / (result2.ms / 1e3);
result2.tIO_sec = result2.rIO_sec + result2.wIO_sec;
result2.rWaitTime = rWaitTime;
result2.wWaitTime = wWaitTime;
result2.tWaitTime = tWaitTime;
result2.rWaitPercent = (result2.rWaitTime - _disk_io.rWaitTime) * 100 / result2.ms;
result2.wWaitPercent = (result2.wWaitTime - _disk_io.wWaitTime) * 100 / result2.ms;
result2.tWaitPercent = (result2.tWaitTime - _disk_io.tWaitTime) * 100 / result2.ms;
_disk_io.rIO = rIO;
_disk_io.wIO = wIO;
_disk_io.rIO_sec = result2.rIO_sec;
_disk_io.wIO_sec = result2.wIO_sec;
_disk_io.tIO_sec = result2.tIO_sec;
_disk_io.rWaitTime = rWaitTime;
_disk_io.wWaitTime = wWaitTime;
_disk_io.tWaitTime = tWaitTime;
_disk_io.rWaitPercent = result2.rWaitPercent;
_disk_io.wWaitPercent = result2.wWaitPercent;
_disk_io.tWaitPercent = result2.tWaitPercent;
_disk_io.last_ms = result2.ms;
_disk_io.ms = Date.now();
} else {
result2.rIO = rIO;
result2.wIO = wIO;
result2.tIO = rIO + wIO;
result2.rWaitTime = rWaitTime;
result2.wWaitTime = wWaitTime;
result2.tWaitTime = tWaitTime;
_disk_io.rIO = rIO;
_disk_io.wIO = wIO;
_disk_io.rIO_sec = null;
_disk_io.wIO_sec = null;
_disk_io.tIO_sec = null;
_disk_io.rWaitTime = rWaitTime;
_disk_io.wWaitTime = wWaitTime;
_disk_io.tWaitTime = tWaitTime;
_disk_io.rWaitPercent = null;
_disk_io.wWaitPercent = null;
_disk_io.tWaitPercent = null;
_disk_io.last_ms = 0;
_disk_io.ms = Date.now();
}
return result2;
}
function disksIO(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
if (_windows) {
return resolve25(null);
}
if (_sunos) {
return resolve25(null);
}
let result2 = {
rIO: 0,
wIO: 0,
tIO: 0,
rIO_sec: null,
wIO_sec: null,
tIO_sec: null,
rWaitTime: 0,
wWaitTime: 0,
tWaitTime: 0,
rWaitPercent: null,
wWaitPercent: null,
tWaitPercent: null,
ms: 0
};
let rIO = 0;
let wIO = 0;
let rWaitTime = 0;
let wWaitTime = 0;
let tWaitTime = 0;
if (_disk_io && !_disk_io.ms || _disk_io && _disk_io.ms && Date.now() - _disk_io.ms >= 500) {
if (_linux || _freebsd || _openbsd || _netbsd) {
const cmd = 'for mount in `lsblk 2>/dev/null | grep " disk " | sed "s/[\u2502\u2514\u2500\u251C]//g" | awk \'{$1=$1};1\' | cut -d " " -f 1 | sort -u`; do cat /sys/block/$mount/stat | sed -r "s/ +/;/g" | sed -r "s/^;//"; done';
exec3(cmd, { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
if (!error40) {
const lines = stdout.split("\n");
lines.forEach((line) => {
if (!line) {
return;
}
const stats = line.split(";");
rIO += parseInt(stats[0], 10);
wIO += parseInt(stats[4], 10);
rWaitTime += parseInt(stats[3], 10);
wWaitTime += parseInt(stats[7], 10);
tWaitTime += parseInt(stats[10], 10);
});
result2 = calcDiskIO(rIO, wIO, rWaitTime, wWaitTime, tWaitTime);
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
}
if (_darwin) {
exec3(
'ioreg -c IOBlockStorageDriver -k Statistics -r -w0 | sed -n "/IOBlockStorageDriver/,/Statistics/p" | grep "Statistics" | tr -cd "01234567890,\n"',
{ maxBuffer: 1024 * 1024 },
(error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
lines.forEach((line) => {
line = line.trim();
if (line !== "") {
line = line.split(",");
rIO += parseInt(line[10], 10);
wIO += parseInt(line[0], 10);
}
});
result2 = calcDiskIO(rIO, wIO, rWaitTime, wWaitTime, tWaitTime);
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
);
}
} else {
result2.rIO = _disk_io.rIO;
result2.wIO = _disk_io.wIO;
result2.tIO = _disk_io.rIO + _disk_io.wIO;
result2.ms = _disk_io.last_ms;
result2.rIO_sec = _disk_io.rIO_sec;
result2.wIO_sec = _disk_io.wIO_sec;
result2.tIO_sec = _disk_io.tIO_sec;
result2.rWaitTime = _disk_io.rWaitTime;
result2.wWaitTime = _disk_io.wWaitTime;
result2.tWaitTime = _disk_io.tWaitTime;
result2.rWaitPercent = _disk_io.rWaitPercent;
result2.wWaitPercent = _disk_io.wWaitPercent;
result2.tWaitPercent = _disk_io.tWaitPercent;
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.disksIO = disksIO;
function diskLayout(callback) {
function getVendorFromModel(model) {
const diskManufacturers = [
{ pattern: "WESTERN.*", manufacturer: "Western Digital" },
{ pattern: "^WDC.*", manufacturer: "Western Digital" },
{ pattern: "WD.*", manufacturer: "Western Digital" },
{ pattern: "TOSHIBA.*", manufacturer: "Toshiba" },
{ pattern: "HITACHI.*", manufacturer: "Hitachi" },
{ pattern: "^IC.*", manufacturer: "Hitachi" },
{ pattern: "^HTS.*", manufacturer: "Hitachi" },
{ pattern: "SANDISK.*", manufacturer: "SanDisk" },
{ pattern: "KINGSTON.*", manufacturer: "Kingston Technology" },
{ pattern: "^SONY.*", manufacturer: "Sony" },
{ pattern: "TRANSCEND.*", manufacturer: "Transcend" },
{ pattern: "SAMSUNG.*", manufacturer: "Samsung" },
{ pattern: "^ST(?!I\\ ).*", manufacturer: "Seagate" },
{ pattern: "^STI\\ .*", manufacturer: "SimpleTech" },
{ pattern: "^D...-.*", manufacturer: "IBM" },
{ pattern: "^IBM.*", manufacturer: "IBM" },
{ pattern: "^FUJITSU.*", manufacturer: "Fujitsu" },
{ pattern: "^MP.*", manufacturer: "Fujitsu" },
{ pattern: "^MK.*", manufacturer: "Toshiba" },
{ pattern: "MAXTO.*", manufacturer: "Maxtor" },
{ pattern: "PIONEER.*", manufacturer: "Pioneer" },
{ pattern: "PHILIPS.*", manufacturer: "Philips" },
{ pattern: "QUANTUM.*", manufacturer: "Quantum Technology" },
{ pattern: "FIREBALL.*", manufacturer: "Quantum Technology" },
{ pattern: "^VBOX.*", manufacturer: "VirtualBox" },
{ pattern: "CORSAIR.*", manufacturer: "Corsair Components" },
{ pattern: "CRUCIAL.*", manufacturer: "Crucial" },
{ pattern: "ECM.*", manufacturer: "ECM" },
{ pattern: "INTEL.*", manufacturer: "INTEL" },
{ pattern: "EVO.*", manufacturer: "Samsung" },
{ pattern: "APPLE.*", manufacturer: "Apple" }
];
let result2 = "";
if (model) {
model = model.toUpperCase();
diskManufacturers.forEach((manufacturer) => {
const re = RegExp(manufacturer.pattern);
if (re.test(model)) {
result2 = manufacturer.manufacturer;
}
});
}
return result2;
}
return new Promise((resolve25) => {
process.nextTick(() => {
const commitResult = (res) => {
for (let i3 = 0; i3 < res.length; i3++) {
delete res[i3].BSDName;
}
if (callback) {
callback(res);
}
resolve25(res);
};
const result2 = [];
let cmd = "";
if (_linux) {
let cmdFullSmart = "";
exec3("export LC_ALL=C; lsblk -ablJO 2>/dev/null; unset LC_ALL", { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
if (!error40) {
try {
const out2 = stdout.toString().trim();
let devices = [];
try {
const outJSON = JSON.parse(out2);
if (outJSON && {}.hasOwnProperty.call(outJSON, "blockdevices")) {
devices = outJSON.blockdevices.filter((item) => {
return item.type === "disk" && item.size > 0 && (item.model !== null || item.mountpoint === null && item.label === null && item.fstype === null && item.parttype === null && item.path && item.path.indexOf("/ram") !== 0 && item.path.indexOf("/loop") !== 0 && item["disc-max"] && item["disc-max"] !== 0);
});
}
} catch {
try {
const out22 = execSync5(
"export LC_ALL=C; lsblk -bPo NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,ROTA,RO,RM,LABEL,MODEL,OWNER,GROUP 2>/dev/null; unset LC_ALL",
util2.execOptsLinux
).toString();
const lines = blkStdoutToObject(out22).split("\n");
const data = parseBlk(lines);
devices = data.filter((item) => {
return item.type === "disk" && item.size > 0 && (item.model !== null && item.model !== "" || item.mount === "" && item.label === "" && item.fsType === "");
});
} catch {
util2.noop();
}
}
devices.forEach((device) => {
let mediumType = "";
const BSDName = "/dev/" + device.name;
const logical = device.name;
try {
mediumType = execSync5("cat /sys/block/" + logical + "/queue/rotational 2>/dev/null", util2.execOptsLinux).toString().split("\n")[0];
} catch {
util2.noop();
}
let interfaceType = device.tran ? device.tran.toUpperCase().trim() : "";
if (interfaceType === "NVME") {
mediumType = "2";
interfaceType = "PCIe";
}
result2.push({
device: BSDName,
type: mediumType === "0" ? "SSD" : mediumType === "1" ? "HD" : mediumType === "2" ? "NVMe" : device.model && device.model.indexOf("SSD") > -1 ? "SSD" : device.model && device.model.indexOf("NVM") > -1 ? "NVMe" : "HD",
name: device.model || "",
vendor: getVendorFromModel(device.model) || (device.vendor ? device.vendor.trim() : ""),
size: device.size || 0,
bytesPerSector: null,
totalCylinders: null,
totalHeads: null,
totalSectors: null,
totalTracks: null,
tracksPerCylinder: null,
sectorsPerTrack: null,
firmwareRevision: device.rev ? device.rev.trim() : "",
serialNum: device.serial ? device.serial.trim() : "",
interfaceType,
smartStatus: "unknown",
temperature: null,
BSDName
});
cmd += `printf "
${BSDName}|"; smartctl -H ${BSDName} | grep overall;`;
cmdFullSmart += `${cmdFullSmart ? 'printf ",";' : ""}smartctl -a -j ${BSDName};`;
});
} catch {
util2.noop();
}
}
if (cmdFullSmart) {
exec3(cmdFullSmart, { maxBuffer: 1024 * 1024 }, (error41, stdout2) => {
try {
const data = JSON.parse(`[${stdout2}]`);
data.forEach((disk) => {
const diskBSDName = disk.smartctl.argv[disk.smartctl.argv.length - 1];
for (let i3 = 0; i3 < result2.length; i3++) {
if (result2[i3].BSDName === diskBSDName) {
result2[i3].smartStatus = disk.smart_status.passed ? "Ok" : disk.smart_status.passed === false ? "Predicted Failure" : "unknown";
if (disk.temperature && disk.temperature.current) {
result2[i3].temperature = disk.temperature.current;
}
result2[i3].smartData = disk;
}
}
});
commitResult(result2);
} catch {
if (cmd) {
cmd = cmd + 'printf "\n"';
exec3(cmd, { maxBuffer: 1024 * 1024 }, (error42, stdout3) => {
const lines = stdout3.toString().split("\n");
lines.forEach((line) => {
if (line) {
const parts2 = line.split("|");
if (parts2.length === 2) {
const BSDName = parts2[0];
parts2[1] = parts2[1].trim();
const parts22 = parts2[1].split(":");
if (parts22.length === 2) {
parts22[1] = parts22[1].trim();
const status2 = parts22[1].toLowerCase();
for (let i3 = 0; i3 < result2.length; i3++) {
if (result2[i3].BSDName === BSDName) {
result2[i3].smartStatus = status2 === "passed" ? "Ok" : status2 === "failed!" ? "Predicted Failure" : "unknown";
}
}
}
}
}
});
commitResult(result2);
});
} else {
commitResult(result2);
}
}
});
} else {
commitResult(result2);
}
});
}
if (_freebsd || _openbsd || _netbsd) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_sunos) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_darwin) {
let cmdFullSmart = "";
exec3(`system_profiler SPSerialATADataType SPNVMeDataType ${parseInt(os30.release(), 10) > 24 ? "SPUSBHostDataType" : "SPUSBDataType"} `, { maxBuffer: 1024 * 1024 }, (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
const linesSATA = [];
const linesNVMe = [];
const linesUSB = [];
let dataType = "SATA";
lines.forEach((line) => {
if (line === "NVMExpress:") {
dataType = "NVMe";
} else if (line === "USB:") {
dataType = "USB";
} else if (line === "SATA/SATA Express:") {
dataType = "SATA";
} else if (dataType === "SATA") {
linesSATA.push(line);
} else if (dataType === "NVMe") {
linesNVMe.push(line);
} else if (dataType === "USB") {
linesUSB.push(line);
}
});
try {
const devices = linesSATA.join("\n").split(" Physical Interconnect: ");
devices.shift();
devices.forEach((device) => {
device = "InterfaceType: " + device;
const lines2 = device.split("\n");
const mediumType = util2.getValue(lines2, "Medium Type", ":", true).trim();
const sizeStr = util2.getValue(lines2, "capacity", ":", true).trim();
const BSDName = util2.getValue(lines2, "BSD Name", ":", true).trim();
if (sizeStr) {
let sizeValue = 0;
if (sizeStr.indexOf("(") >= 0) {
sizeValue = parseInt(
sizeStr.match(/\(([^)]+)\)/)[1].replace(/\./g, "").replace(/,/g, "").replace(/\s/g, ""),
10
);
}
if (!sizeValue) {
sizeValue = parseInt(sizeStr, 10);
}
if (sizeValue) {
const smartStatusString = util2.getValue(lines2, "S.M.A.R.T. status", ":", true).trim().toLowerCase();
result2.push({
device: BSDName,
type: mediumType.startsWith("Solid") ? "SSD" : "HD",
name: util2.getValue(lines2, "Model", ":", true).trim(),
vendor: getVendorFromModel(util2.getValue(lines2, "Model", ":", true).trim()) || util2.getValue(lines2, "Manufacturer", ":", true),
size: sizeValue,
bytesPerSector: null,
totalCylinders: null,
totalHeads: null,
totalSectors: null,
totalTracks: null,
tracksPerCylinder: null,
sectorsPerTrack: null,
firmwareRevision: util2.getValue(lines2, "Revision", ":", true).trim(),
serialNum: util2.getValue(lines2, "Serial Number", ":", true).trim(),
interfaceType: util2.getValue(lines2, "InterfaceType", ":", true).trim(),
smartStatus: smartStatusString === "verified" ? "OK" : smartStatusString || "unknown",
temperature: null,
BSDName
});
cmd = cmd + 'printf "\n' + BSDName + '|"; diskutil info /dev/' + BSDName + " | grep SMART;";
cmdFullSmart += `${cmdFullSmart ? 'printf ",";' : ""}smartctl -a -j ${BSDName};`;
}
}
});
} catch {
util2.noop();
}
try {
const devices = linesNVMe.join("\n").split("\n\n Capacity:");
devices.shift();
devices.forEach((device) => {
device = `!Capacity: ${device}`;
const lines2 = device.split("\n");
const linkWidth = util2.getValue(lines2, "link width", ":", true).trim();
const sizeStr = util2.getValue(lines2, "!capacity", ":", true).trim();
const BSDName = util2.getValue(lines2, "BSD Name", ":", true).trim();
if (sizeStr) {
let sizeValue = 0;
if (sizeStr.indexOf("(") >= 0) {
sizeValue = parseInt(
sizeStr.match(/\(([^)]+)\)/)[1].replace(/\./g, "").replace(/,/g, "").replace(/\s/g, ""),
10
);
}
if (!sizeValue) {
sizeValue = parseInt(sizeStr, 10);
}
if (sizeValue) {
const smartStatusString = util2.getValue(lines2, "S.M.A.R.T. status", ":", true).trim().toLowerCase();
result2.push({
device: BSDName,
type: "NVMe",
name: util2.getValue(lines2, "Model", ":", true).trim(),
vendor: getVendorFromModel(util2.getValue(lines2, "Model", ":", true).trim()),
size: sizeValue,
bytesPerSector: null,
totalCylinders: null,
totalHeads: null,
totalSectors: null,
totalTracks: null,
tracksPerCylinder: null,
sectorsPerTrack: null,
firmwareRevision: util2.getValue(lines2, "Revision", ":", true).trim(),
serialNum: util2.getValue(lines2, "Serial Number", ":", true).trim(),
interfaceType: ("PCIe " + linkWidth).trim(),
smartStatus: smartStatusString === "verified" ? "OK" : smartStatusString || "unknown",
temperature: null,
BSDName
});
cmd = `${cmd}printf "
${BSDName}|"; diskutil info /dev/${BSDName} | grep SMART;`;
cmdFullSmart += `${cmdFullSmart ? 'printf ",";' : ""}smartctl -a -j ${BSDName};`;
}
}
});
} catch {
util2.noop();
}
try {
const devices = linesUSB.join("\n").replaceAll("Media:\n ", "Model:").split("\n\n Product ID:");
devices.shift();
devices.forEach((device) => {
const lines2 = device.split("\n");
const sizeStr = util2.getValue(lines2, "Capacity", ":", true).trim();
const BSDName = util2.getValue(lines2, "BSD Name", ":", true).trim();
if (sizeStr) {
let sizeValue = 0;
if (sizeStr.indexOf("(") >= 0) {
sizeValue = parseInt(
sizeStr.match(/\(([^)]+)\)/)[1].replace(/\./g, "").replace(/,/g, "").replace(/\s/g, ""),
10
);
}
if (!sizeValue) {
sizeValue = parseInt(sizeStr, 10);
}
if (sizeValue) {
const smartStatusString = util2.getValue(lines2, "S.M.A.R.T. status", ":", true).trim().toLowerCase();
result2.push({
device: BSDName,
type: "USB",
name: util2.getValue(lines2, "Model", ":", true).trim().replaceAll(":", ""),
vendor: getVendorFromModel(util2.getValue(lines2, "Model", ":", true).trim()),
size: sizeValue,
bytesPerSector: null,
totalCylinders: null,
totalHeads: null,
totalSectors: null,
totalTracks: null,
tracksPerCylinder: null,
sectorsPerTrack: null,
firmwareRevision: util2.getValue(lines2, "Revision", ":", true).trim(),
serialNum: util2.getValue(lines2, "Serial Number", ":", true).trim(),
interfaceType: "USB",
smartStatus: smartStatusString === "verified" ? "OK" : smartStatusString || "unknown",
temperature: null,
BSDName
});
cmd = cmd + 'printf "\n' + BSDName + '|"; diskutil info /dev/' + BSDName + " | grep SMART;";
cmdFullSmart += `${cmdFullSmart ? 'printf ",";' : ""}smartctl -a -j ${BSDName};`;
}
}
});
} catch {
util2.noop();
}
if (cmdFullSmart) {
exec3(cmdFullSmart, { maxBuffer: 1024 * 1024 }, (error41, stdout2) => {
try {
const data = JSON.parse(`[${stdout2}]`);
data.forEach((disk) => {
const diskBSDName = disk.smartctl.argv[disk.smartctl.argv.length - 1];
for (let i3 = 0; i3 < result2.length; i3++) {
if (result2[i3].BSDName === diskBSDName) {
result2[i3].smartStatus = disk.smart_status.passed ? "Ok" : disk.smart_status.passed === false ? "Predicted Failure" : "unknown";
if (disk.temperature && disk.temperature.current) {
result2[i3].temperature = disk.temperature.current;
}
result2[i3].smartData = disk;
}
}
});
commitResult(result2);
} catch (e2) {
if (cmd) {
cmd = cmd + 'printf "\n"';
exec3(cmd, { maxBuffer: 1024 * 1024 }, (error42, stdout3) => {
const lines2 = stdout3.toString().split("\n");
lines2.forEach((line) => {
if (line) {
const parts2 = line.split("|");
if (parts2.length === 2) {
const BSDName = parts2[0];
parts2[1] = parts2[1].trim();
const parts22 = parts2[1].split(":");
if (parts22.length === 2) {
parts22[1] = parts22[1].trim();
const status2 = parts22[1].toLowerCase();
for (let i3 = 0; i3 < result2.length; i3++) {
if (result2[i3].BSDName === BSDName) {
result2[i3].smartStatus = status2 === "passed" ? "Ok" : status2 === "failed!" ? "Predicted Failure" : "unknown";
}
}
}
}
}
});
commitResult(result2);
});
} else {
commitResult(result2);
}
}
});
} else if (cmd) {
cmd = cmd + 'printf "\n"';
exec3(cmd, { maxBuffer: 1024 * 1024 }, (error41, stdout2) => {
const lines2 = stdout2.toString().split("\n");
lines2.forEach((line) => {
if (line) {
const parts2 = line.split("|");
if (parts2.length === 2) {
const BSDName = parts2[0];
parts2[1] = parts2[1].trim();
const parts22 = parts2[1].split(":");
if (parts22.length === 2) {
parts22[1] = parts22[1].trim();
const status2 = parts22[1].toLowerCase();
for (let i3 = 0; i3 < result2.length; i3++) {
if (result2[i3].BSDName === BSDName) {
result2[i3].smartStatus = status2 === "not supported" ? "not supported" : status2 === "verified" ? "Ok" : status2 === "failing" ? "Predicted Failure" : "unknown";
}
}
}
}
}
});
commitResult(result2);
});
} else {
commitResult(result2);
}
} else {
commitResult(result2);
}
});
}
if (_windows) {
try {
const workload = [];
workload.push(
util2.powerShell(
"Get-CimInstance Win32_DiskDrive | select Caption,Size,Status,PNPDeviceId,DeviceId,BytesPerSector,TotalCylinders,TotalHeads,TotalSectors,TotalTracks,TracksPerCylinder,SectorsPerTrack,FirmwareRevision,SerialNumber,InterfaceType | fl"
)
);
workload.push(util2.powerShell("Get-PhysicalDisk | select BusType,MediaType,FriendlyName,Model,SerialNumber,Size | fl"));
if (util2.smartMonToolsInstalled()) {
try {
const smartDev = JSON.parse(execSync5("smartctl --scan -j").toString());
if (smartDev && smartDev.devices && smartDev.devices.length > 0) {
smartDev.devices.forEach((dev) => {
workload.push(execPromiseSave(`smartctl -j -a ${dev.name}`, util2.execOptsWin));
});
}
} catch {
util2.noop();
}
}
util2.promiseAll(workload).then((data) => {
let devices = data.results[0].toString().split(/\n\s*\n/);
devices.forEach((device) => {
const lines = device.split("\r\n");
const size = util2.getValue(lines, "Size", ":").trim();
const status2 = util2.getValue(lines, "Status", ":").trim().toLowerCase();
if (size) {
result2.push({
device: util2.getValue(lines, "DeviceId", ":"),
// changed from PNPDeviceId to DeviceID (be be able to match devices)
type: device.indexOf("SSD") > -1 ? "SSD" : "HD",
// just a starting point ... better: MSFT_PhysicalDisk - Media Type ... see below
name: util2.getValue(lines, "Caption", ":"),
vendor: getVendorFromModel(util2.getValue(lines, "Caption", ":", true).trim()),
size: parseInt(size, 10),
bytesPerSector: parseInt(util2.getValue(lines, "BytesPerSector", ":"), 10),
totalCylinders: parseInt(util2.getValue(lines, "TotalCylinders", ":"), 10),
totalHeads: parseInt(util2.getValue(lines, "TotalHeads", ":"), 10),
totalSectors: parseInt(util2.getValue(lines, "TotalSectors", ":"), 10),
totalTracks: parseInt(util2.getValue(lines, "TotalTracks", ":"), 10),
tracksPerCylinder: parseInt(util2.getValue(lines, "TracksPerCylinder", ":"), 10),
sectorsPerTrack: parseInt(util2.getValue(lines, "SectorsPerTrack", ":"), 10),
firmwareRevision: util2.getValue(lines, "FirmwareRevision", ":").trim(),
serialNum: util2.getValue(lines, "SerialNumber", ":").trim(),
interfaceType: util2.getValue(lines, "InterfaceType", ":").trim(),
smartStatus: status2 === "ok" ? "Ok" : status2 === "degraded" ? "Degraded" : status2 === "pred fail" ? "Predicted Failure" : "Unknown",
temperature: null
});
}
});
devices = data.results[1].split(/\n\s*\n/);
devices.forEach((device) => {
const lines = device.split("\r\n");
const serialNum = util2.getValue(lines, "SerialNumber", ":").trim();
const name3 = util2.getValue(lines, "FriendlyName", ":").trim().replace("Msft ", "Microsoft");
const size = util2.getValue(lines, "Size", ":").trim();
const model = util2.getValue(lines, "Model", ":").trim();
const interfaceType = util2.getValue(lines, "BusType", ":").trim();
let mediaType = util2.getValue(lines, "MediaType", ":").trim();
if (mediaType === "3" || mediaType === "HDD") {
mediaType = "HD";
}
if (mediaType === "4") {
mediaType = "SSD";
}
if (mediaType === "5") {
mediaType = "SCM";
}
if (mediaType === "Unspecified" && (model.toLowerCase().indexOf("virtual") > -1 || model.toLowerCase().indexOf("vbox") > -1)) {
mediaType = "Virtual";
}
if (size) {
let i3 = util2.findObjectByKey(result2, "serialNum", serialNum);
if (i3 === -1 || serialNum === "") {
i3 = util2.findObjectByKey(result2, "name", name3);
}
if (i3 !== -1) {
result2[i3].type = mediaType;
result2[i3].interfaceType = interfaceType;
}
}
});
data.results.shift();
data.results.shift();
if (data.results.length) {
data.results.forEach((smartStr) => {
try {
const smartData = JSON.parse(smartStr);
if (smartData.serial_number) {
const serialNum = smartData.serial_number;
const i3 = util2.findObjectByKey(result2, "serialNum", serialNum);
if (i3 !== -1) {
result2[i3].smartStatus = smartData.smart_status && smartData.smart_status.passed ? "Ok" : smartData.smart_status && smartData.smart_status.passed === false ? "Predicted Failure" : "unknown";
if (smartData.temperature && smartData.temperature.current) {
result2[i3].temperature = smartData.temperature.current;
}
result2[i3].smartData = smartData;
}
}
} catch {
util2.noop();
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.diskLayout = diskLayout;
}
});
// node_modules/systeminformation/lib/network.js
var require_network = __commonJS({
"node_modules/systeminformation/lib/network.js"(exports2) {
"use strict";
var os30 = __require("os");
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var fs84 = __require("fs");
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
var _network = {};
var _default_iface = "";
var _ifaces = {};
var _dhcpNics = [];
var _networkInterfaces = [];
var _mac = {};
var pathToIp;
function getDefaultNetworkInterface() {
let ifacename = "";
let ifacenameFirst = "";
try {
const ifaces = os30.networkInterfaces();
let scopeid = 9999;
for (let dev in ifaces) {
if ({}.hasOwnProperty.call(ifaces, dev)) {
ifaces[dev].forEach((details) => {
if (details && details.internal === false) {
ifacenameFirst = ifacenameFirst || dev;
if (details.scopeid && details.scopeid < scopeid) {
ifacename = dev;
scopeid = details.scopeid;
}
}
});
}
}
ifacename = ifacename || ifacenameFirst || "";
if (_windows) {
let defaultIp = "";
const cmd = "netstat -r";
const result2 = execSync5(cmd, util2.execOptsWin);
const lines = result2.toString().split(os30.EOL);
lines.forEach((line) => {
line = line.replace(/\s+/g, " ").trim();
if (line.indexOf("0.0.0.0 0.0.0.0") > -1 && !/[a-zA-Z]/.test(line)) {
const parts2 = line.split(" ");
if (parts2.length >= 5) {
defaultIp = parts2[parts2.length - 2];
}
}
});
if (defaultIp) {
for (let dev in ifaces) {
if ({}.hasOwnProperty.call(ifaces, dev)) {
ifaces[dev].forEach((details) => {
if (details && details.address && details.address === defaultIp) {
ifacename = dev;
}
});
}
}
}
}
if (_linux) {
const cmd = "ip route 2> /dev/null | grep default";
const result2 = execSync5(cmd, util2.execOptsLinux);
const parts2 = result2.toString().split("\n")[0].split(/\s+/);
if (parts2[0] === "none" && parts2[5]) {
ifacename = parts2[5];
} else if (parts2[4]) {
ifacename = parts2[4];
}
if (ifacename.indexOf(":") > -1) {
ifacename = ifacename.split(":")[1].trim();
}
}
if (_darwin || _freebsd || _openbsd || _netbsd || _sunos) {
let cmd = "";
if (_linux) {
cmd = "ip route 2> /dev/null | grep default | awk '{print $5}'";
}
if (_darwin) {
cmd = "route -n get default 2>/dev/null | grep interface: | awk '{print $2}'";
}
if (_freebsd || _openbsd || _netbsd || _sunos) {
cmd = "route get 0.0.0.0 | grep interface:";
}
const result2 = execSync5(cmd);
ifacename = result2.toString().split("\n")[0];
if (ifacename.indexOf(":") > -1) {
ifacename = ifacename.split(":")[1].trim();
}
}
} catch {
util2.noop();
}
if (ifacename) {
_default_iface = ifacename;
}
return _default_iface;
}
exports2.getDefaultNetworkInterface = getDefaultNetworkInterface;
function getMacAddresses() {
let iface = "";
let mac = "";
const result2 = {};
if (_linux || _freebsd || _openbsd || _netbsd) {
if (typeof pathToIp === "undefined") {
try {
const lines = execSync5("which ip", util2.execOptsLinux).toString().split("\n");
if (lines.length && lines[0].indexOf(":") === -1 && lines[0].indexOf("/") === 0) {
pathToIp = lines[0];
} else {
pathToIp = "";
}
} catch {
pathToIp = "";
}
}
try {
const cmd = "export LC_ALL=C; " + (pathToIp ? pathToIp + " link show up" : "/sbin/ifconfig") + "; unset LC_ALL";
const res = execSync5(cmd, util2.execOptsLinux);
const lines = res.toString().split("\n");
for (let i3 = 0; i3 < lines.length; i3++) {
if (lines[i3] && lines[i3][0] !== " ") {
if (pathToIp) {
const nextline = lines[i3 + 1].trim().split(" ");
if (nextline[0] === "link/ether") {
iface = lines[i3].split(" ")[1];
iface = iface.slice(0, iface.length - 1);
mac = nextline[1];
}
} else {
iface = lines[i3].split(" ")[0];
mac = lines[i3].split("HWaddr ")[1];
}
if (iface && mac) {
result2[iface] = mac.trim();
iface = "";
mac = "";
}
}
}
} catch {
util2.noop();
}
}
if (_darwin) {
try {
const cmd = "/sbin/ifconfig";
const res = execSync5(cmd);
const lines = res.toString().split("\n");
for (let i3 = 0; i3 < lines.length; i3++) {
if (lines[i3] && lines[i3][0] !== " " && lines[i3].indexOf(":") > 0) {
iface = lines[i3].split(":")[0];
} else if (lines[i3].indexOf(" ether ") === 0) {
mac = lines[i3].split(" ether ")[1];
if (iface && mac) {
result2[iface] = mac.trim();
iface = "";
mac = "";
}
}
}
} catch {
util2.noop();
}
}
return result2;
}
function networkInterfaceDefault(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const result2 = getDefaultNetworkInterface();
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
}
exports2.networkInterfaceDefault = networkInterfaceDefault;
function parseLinesWindowsNics(sections, nconfigsections) {
const nics = [];
for (let i3 in sections) {
try {
if ({}.hasOwnProperty.call(sections, i3)) {
if (sections[i3].trim() !== "") {
const lines = sections[i3].trim().split("\r\n");
let linesNicConfig = null;
try {
linesNicConfig = nconfigsections && nconfigsections[i3] ? nconfigsections[i3].trim().split("\r\n") : [];
} catch {
util2.noop();
}
const netEnabled = util2.getValue(lines, "NetEnabled", ":");
let adapterType = util2.getValue(lines, "AdapterTypeID", ":") === "9" ? "wireless" : "wired";
const ifacename = util2.getValue(lines, "Name", ":").replace(/\]/g, ")").replace(/\[/g, "(");
const iface = util2.getValue(lines, "NetConnectionID", ":").replace(/\]/g, ")").replace(/\[/g, "(");
if (ifacename.toLowerCase().indexOf("wi-fi") >= 0 || ifacename.toLowerCase().indexOf("wireless") >= 0) {
adapterType = "wireless";
}
if (netEnabled !== "") {
const speed = parseInt(util2.getValue(lines, "speed", ":").trim(), 10) / 1e6;
nics.push({
mac: util2.getValue(lines, "MACAddress", ":").toLowerCase(),
dhcp: util2.getValue(linesNicConfig, "dhcpEnabled", ":").toLowerCase() === "true",
name: ifacename,
iface,
netEnabled: netEnabled === "TRUE",
speed: isNaN(speed) ? null : speed,
operstate: util2.getValue(lines, "NetConnectionStatus", ":") === "2" ? "up" : "down",
type: adapterType
});
}
}
}
} catch {
util2.noop();
}
}
return nics;
}
function getWindowsNics() {
return new Promise((resolve25) => {
process.nextTick(() => {
let cmd = "Get-CimInstance Win32_NetworkAdapter | fl *; echo '#-#-#-#';";
cmd += "Get-CimInstance Win32_NetworkAdapterConfiguration | fl DHCPEnabled";
try {
util2.powerShell(cmd).then((data) => {
data = data.split("#-#-#-#");
const nsections = (data[0] || "").split(/\n\s*\n/);
const nconfigsections = (data[1] || "").split(/\n\s*\n/);
resolve25(parseLinesWindowsNics(nsections, nconfigsections));
});
} catch {
resolve25([]);
}
});
});
}
function getWindowsDNSsuffixes() {
let iface = {};
const dnsSuffixes = {
primaryDNS: "",
exitCode: 0,
ifaces: []
};
try {
const ipconfig = execSync5("ipconfig /all", util2.execOptsWin);
const ipconfigArray = ipconfig.split("\r\n\r\n");
ipconfigArray.forEach((element, index) => {
if (index === 1) {
const longPrimaryDNS = element.split("\r\n").filter((element2) => {
return element2.toUpperCase().includes("DNS");
});
const primaryDNS = longPrimaryDNS[0].substring(longPrimaryDNS[0].lastIndexOf(":") + 1);
dnsSuffixes.primaryDNS = primaryDNS.trim();
if (!dnsSuffixes.primaryDNS) {
dnsSuffixes.primaryDNS = "Not defined";
}
}
if (index > 1) {
if (index % 2 === 0) {
const name3 = element.substring(element.lastIndexOf(" ") + 1).replace(":", "");
iface.name = name3;
} else {
const connectionSpecificDNS = element.split("\r\n").filter((element2) => {
return element2.toUpperCase().includes("DNS");
});
const dnsSuffix = connectionSpecificDNS[0].substring(connectionSpecificDNS[0].lastIndexOf(":") + 1);
iface.dnsSuffix = dnsSuffix.trim();
dnsSuffixes.ifaces.push(iface);
iface = {};
}
}
});
return dnsSuffixes;
} catch {
return {
primaryDNS: "",
exitCode: 0,
ifaces: []
};
}
}
function getWindowsIfaceDNSsuffix(ifaces, ifacename) {
let dnsSuffix = "";
const interfaceName = ifacename + ".";
try {
const connectionDnsSuffix = ifaces.filter((iface) => {
return interfaceName.includes(iface.name + ".");
}).map((iface) => iface.dnsSuffix);
if (connectionDnsSuffix[0]) {
dnsSuffix = connectionDnsSuffix[0];
}
if (!dnsSuffix) {
dnsSuffix = "";
}
return dnsSuffix;
} catch {
return "Unknown";
}
}
function getWindowsWiredProfilesInformation() {
try {
const result2 = execSync5("netsh lan show profiles", util2.execOptsWin);
const profileList = result2.split("\r\nProfile on interface");
return profileList;
} catch (error40) {
if (error40.status === 1 && error40.stdout.includes("AutoConfig")) {
return "Disabled";
}
return [];
}
}
function getWindowsWirelessIfaceSSID(interfaceName) {
try {
const result2 = execSync5(`netsh wlan show interface name="${interfaceName}" | findstr "SSID"`, util2.execOptsWin);
const SSID = result2.split("\r\n").shift();
const parseSSID = SSID.split(":").pop().trim();
return parseSSID;
} catch {
return "Unknown";
}
}
function getWindowsIEEE8021x(connectionType, iface, ifaces) {
const i8021x = {
state: "Unknown",
protocol: "Unknown"
};
if (ifaces === "Disabled") {
i8021x.state = "Disabled";
i8021x.protocol = "Not defined";
return i8021x;
}
if (connectionType === "wired" && ifaces.length > 0) {
try {
const iface8021xInfo = ifaces.find((element) => {
return element.includes(iface + "\r\n");
});
const arrayIface8021xInfo = iface8021xInfo.split("\r\n");
const state8021x = arrayIface8021xInfo.find((element) => {
return element.includes("802.1x");
});
if (state8021x.includes("Disabled")) {
i8021x.state = "Disabled";
i8021x.protocol = "Not defined";
} else if (state8021x.includes("Enabled")) {
const protocol8021x = arrayIface8021xInfo.find((element) => {
return element.includes("EAP");
});
i8021x.protocol = protocol8021x.split(":").pop();
i8021x.state = "Enabled";
}
} catch {
return i8021x;
}
} else if (connectionType === "wireless") {
let i8021xState = "";
let i8021xProtocol = "";
try {
const SSID = getWindowsWirelessIfaceSSID(iface);
if (SSID !== "Unknown") {
let ifaceSanitized = "";
const s2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(SSID);
const l2 = util2.mathMin(s2.length, 32);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
ifaceSanitized = ifaceSanitized + s2[i3];
}
}
const profiles = execSync5(`netsh wlan show profiles "${ifaceSanitized}"`, util2.execOptsWin).split("\r\n");
i8021xState = (profiles.find((l3) => l3.indexOf("802.1X") >= 0) || "").trim();
i8021xProtocol = (profiles.find((l3) => l3.indexOf("EAP") >= 0) || "").trim();
}
if (i8021xState.includes(":") && i8021xProtocol.includes(":")) {
i8021x.state = i8021xState.split(":").pop();
i8021x.protocol = i8021xProtocol.split(":").pop();
}
} catch (error40) {
if (error40.status === 1 && error40.stdout.includes("AutoConfig")) {
i8021x.state = "Disabled";
i8021x.protocol = "Not defined";
}
return i8021x;
}
}
return i8021x;
}
function splitSectionsNics(lines) {
const result2 = [];
let section = [];
lines.forEach((line) => {
if (!line.startsWith(" ") && !line.startsWith(" ")) {
if (section.length) {
result2.push(section);
section = [];
}
}
section.push(line);
});
if (section.length) {
result2.push(section);
}
return result2;
}
function parseLinesDarwinNics(sections) {
const nics = [];
sections.forEach((section) => {
const nic = {
iface: "",
mtu: null,
mac: "",
ip6: "",
ip4: "",
speed: null,
type: "",
operstate: "",
duplex: "",
internal: false
};
const first2 = section[0];
nic.iface = first2.split(":")[0].trim();
const parts2 = first2.split("> mtu");
nic.mtu = parts2.length > 1 ? parseInt(parts2[1], 10) : null;
if (isNaN(nic.mtu)) {
nic.mtu = null;
}
nic.internal = parts2[0].toLowerCase().indexOf("loopback") > -1;
section.forEach((line) => {
if (line.trim().startsWith("ether ")) {
nic.mac = line.split("ether ")[1].toLowerCase().trim();
}
if (line.trim().startsWith("inet6 ") && !nic.ip6) {
nic.ip6 = line.split("inet6 ")[1].toLowerCase().split("%")[0].split(" ")[0];
}
if (line.trim().startsWith("inet ") && !nic.ip4) {
nic.ip4 = line.split("inet ")[1].toLowerCase().split(" ")[0];
}
});
let speed = util2.getValue(section, "link rate");
nic.speed = speed ? parseFloat(speed) : null;
if (nic.speed === null) {
speed = util2.getValue(section, "uplink rate");
nic.speed = speed ? parseFloat(speed) : null;
if (nic.speed !== null && speed.toLowerCase().indexOf("gbps") >= 0) {
nic.speed = nic.speed * 1e3;
}
} else {
if (speed.toLowerCase().indexOf("gbps") >= 0) {
nic.speed = nic.speed * 1e3;
}
}
nic.type = util2.getValue(section, "type").toLowerCase().indexOf("wi-fi") > -1 ? "wireless" : "wired";
const operstate = util2.getValue(section, "status").toLowerCase();
nic.operstate = operstate === "active" ? "up" : operstate === "inactive" ? "down" : "unknown";
nic.duplex = util2.getValue(section, "media").toLowerCase().indexOf("half-duplex") > -1 ? "half" : "full";
if (nic.ip6 || nic.ip4 || nic.mac) {
nics.push(nic);
}
});
return nics;
}
function getDarwinNics() {
const cmd = "/sbin/ifconfig -v";
try {
const lines = execSync5(cmd, { maxBuffer: 1024 * 102400 }).toString().split("\n");
const nsections = splitSectionsNics(lines);
return parseLinesDarwinNics(nsections);
} catch {
return [];
}
}
function getLinuxIfaceConnectionName(interfaceName) {
const cmd = `nmcli device status 2>/dev/null | grep ${interfaceName}`;
try {
const result2 = execSync5(cmd, util2.execOptsLinux).toString();
const resultFormat = result2.replace(/\s+/g, " ").trim();
const connectionNameLines = resultFormat.split(" ").slice(3);
const connectionName = connectionNameLines.join(" ");
return connectionName !== "--" ? connectionName : "";
} catch {
return "";
}
}
function checkLinuxDCHPInterfaces(file2) {
let result2 = [];
try {
const cmd = `cat ${file2} 2> /dev/null | grep 'iface\\|source'`;
const lines = execSync5(cmd, util2.execOptsLinux).toString().split("\n");
lines.forEach((line) => {
const parts2 = line.replace(/\s+/g, " ").trim().split(" ");
if (parts2.length >= 4) {
if (line.toLowerCase().indexOf(" inet ") >= 0 && line.toLowerCase().indexOf("dhcp") >= 0) {
result2.push(parts2[1]);
}
}
if (line.toLowerCase().includes("source")) {
const file3 = line.split(" ")[1];
result2 = result2.concat(checkLinuxDCHPInterfaces(file3));
}
});
} catch {
util2.noop();
}
return result2;
}
function getLinuxDHCPNics() {
const cmd = "ip a 2> /dev/null";
let result2 = [];
try {
const lines = execSync5(cmd, util2.execOptsLinux).toString().split("\n");
const nsections = splitSectionsNics(lines);
result2 = parseLinuxDHCPNics(nsections);
} catch {
util2.noop();
}
try {
result2 = checkLinuxDCHPInterfaces("/etc/network/interfaces");
} catch {
util2.noop();
}
return result2;
}
function parseLinuxDHCPNics(sections) {
const result2 = [];
if (sections && sections.length) {
sections.forEach((lines) => {
if (lines && lines.length) {
const parts2 = lines[0].split(":");
if (parts2.length > 2) {
for (let line of lines) {
if (line.indexOf(" inet ") >= 0 && line.indexOf(" dynamic ") >= 0) {
const parts22 = line.split(" ");
const nic = parts22[parts22.length - 1].trim();
result2.push(nic);
break;
}
}
}
}
});
}
return result2;
}
function getLinuxIfaceDHCPstatus(iface, connectionName, DHCPNics) {
let result2 = false;
if (connectionName) {
const cmd = `nmcli connection show "${connectionName}" 2>/dev/null | grep ipv4.method;`;
try {
const lines = execSync5(cmd, util2.execOptsLinux).toString();
const resultFormat = lines.replace(/\s+/g, " ").trim();
const dhcStatus = resultFormat.split(" ").slice(1).toString();
switch (dhcStatus) {
case "auto":
result2 = true;
break;
default:
result2 = false;
break;
}
return result2;
} catch {
return DHCPNics.indexOf(iface) >= 0;
}
} else {
return DHCPNics.indexOf(iface) >= 0;
}
}
function getDarwinIfaceDHCPstatus(iface) {
let result2 = false;
const cmd = `ipconfig getpacket "${iface}" 2>/dev/null | grep lease_time;`;
try {
const lines = execSync5(cmd).toString().split("\n");
if (lines.length && lines[0].startsWith("lease_time")) {
result2 = true;
}
} catch {
util2.noop();
}
return result2;
}
function getLinuxIfaceDNSsuffix(connectionName) {
if (connectionName) {
const cmd = `nmcli connection show "${connectionName}" 2>/dev/null | grep ipv4.dns-search;`;
try {
const result2 = execSync5(cmd, util2.execOptsLinux).toString();
const resultFormat = result2.replace(/\s+/g, " ").trim();
const dnsSuffix = resultFormat.split(" ").slice(1).toString();
return dnsSuffix === "--" ? "Not defined" : dnsSuffix;
} catch {
return "Unknown";
}
} else {
return "Unknown";
}
}
function getLinuxIfaceIEEE8021xAuth(connectionName) {
if (connectionName) {
const cmd = `nmcli connection show "${connectionName}" 2>/dev/null | grep 802-1x.eap;`;
try {
const result2 = execSync5(cmd, util2.execOptsLinux).toString();
const resultFormat = result2.replace(/\s+/g, " ").trim();
const authenticationProtocol = resultFormat.split(" ").slice(1).toString();
return authenticationProtocol === "--" ? "" : authenticationProtocol;
} catch {
return "Not defined";
}
} else {
return "Not defined";
}
}
function getLinuxIfaceIEEE8021xState(authenticationProtocol) {
if (authenticationProtocol) {
if (authenticationProtocol === "Not defined") {
return "Disabled";
}
return "Enabled";
} else {
return "Unknown";
}
}
function testVirtualNic(iface, ifaceName, mac) {
const virtualMacs = [
"00:00:00:00:00:00",
"00:03:FF",
"00:05:69",
"00:0C:29",
"00:0F:4B",
"00:13:07",
"00:13:BE",
"00:15:5d",
"00:16:3E",
"00:1C:42",
"00:21:F6",
"00:24:0B",
"00:50:56",
"00:A0:B1",
"00:E0:C8",
"08:00:27",
"0A:00:27",
"18:92:2C",
"16:DF:49",
"3C:F3:92",
"54:52:00",
"FC:15:97"
];
if (mac) {
return virtualMacs.filter((item) => {
return mac.toUpperCase().toUpperCase().startsWith(item.substring(0, mac.length));
}).length > 0 || iface.toLowerCase().indexOf(" virtual ") > -1 || ifaceName.toLowerCase().indexOf(" virtual ") > -1 || iface.toLowerCase().indexOf("vethernet ") > -1 || ifaceName.toLowerCase().indexOf("vethernet ") > -1 || iface.toLowerCase().startsWith("veth") || ifaceName.toLowerCase().startsWith("veth") || iface.toLowerCase().startsWith("vboxnet") || ifaceName.toLowerCase().startsWith("vboxnet");
} else {
return false;
}
}
function networkInterfaces(callback, rescan, defaultString) {
if (typeof callback === "string") {
defaultString = callback;
rescan = true;
callback = null;
}
if (typeof callback === "boolean") {
rescan = callback;
callback = null;
defaultString = "";
}
if (typeof rescan === "undefined") {
rescan = true;
}
defaultString = defaultString || "";
defaultString = "" + defaultString;
return new Promise((resolve25) => {
process.nextTick(() => {
const ifaces = os30.networkInterfaces();
let result2 = [];
let nics = [];
let dnsSuffixes = [];
let nics8021xInfo = [];
if (_darwin || _freebsd || _openbsd || _netbsd) {
if (JSON.stringify(ifaces) === JSON.stringify(_ifaces) && !rescan) {
result2 = _networkInterfaces;
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
const defaultInterface = getDefaultNetworkInterface();
_ifaces = JSON.parse(JSON.stringify(ifaces));
nics = getDarwinNics();
nics.forEach((nic) => {
let ip4link = "";
let ip4linksubnet = "";
let ip6link = "";
let ip6linksubnet = "";
nic.ip4 = "";
nic.ip6 = "";
if ({}.hasOwnProperty.call(ifaces, nic.iface)) {
ifaces[nic.iface].forEach((details) => {
if (details.family === "IPv4" || details.family === 4) {
if (!nic.ip4 && !nic.ip4.match(/^169.254/i)) {
nic.ip4 = details.address;
nic.ip4subnet = details.netmask;
}
if (nic.ip4.match(/^169.254/i)) {
ip4link = details.address;
ip4linksubnet = details.netmask;
}
}
if (details.family === "IPv6" || details.family === 6) {
if (!nic.ip6 && !nic.ip6.match(/^fe80::/i)) {
nic.ip6 = details.address;
nic.ip6subnet = details.netmask;
}
if (nic.ip6.match(/^fe80::/i)) {
ip6link = details.address;
ip6linksubnet = details.netmask;
}
}
});
}
if (!nic.ip4 && ip4link) {
nic.ip4 = ip4link;
nic.ip4subnet = ip4linksubnet;
}
if (!nic.ip6 && ip6link) {
nic.ip6 = ip6link;
nic.ip6subnet = ip6linksubnet;
}
let ifaceSanitized = "";
const s2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(nic.iface);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
ifaceSanitized = ifaceSanitized + s2[i3];
}
}
result2.push({
iface: nic.iface,
ifaceName: nic.iface,
default: nic.iface === defaultInterface,
ip4: nic.ip4,
ip4subnet: nic.ip4subnet || "",
ip6: nic.ip6,
ip6subnet: nic.ip6subnet || "",
mac: nic.mac,
internal: nic.internal,
virtual: nic.internal ? false : testVirtualNic(nic.iface, nic.iface, nic.mac),
operstate: nic.operstate,
type: nic.type,
duplex: nic.duplex,
mtu: nic.mtu,
speed: nic.speed,
dhcp: getDarwinIfaceDHCPstatus(ifaceSanitized),
dnsSuffix: "",
ieee8021xAuth: "",
ieee8021xState: "",
carrierChanges: 0
});
});
_networkInterfaces = result2;
if (defaultString.toLowerCase().indexOf("default") >= 0) {
result2 = result2.filter((item) => item.default);
if (result2.length > 0) {
result2 = result2[0];
} else {
result2 = [];
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_linux) {
if (JSON.stringify(ifaces) === JSON.stringify(_ifaces) && !rescan) {
result2 = _networkInterfaces;
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
_ifaces = JSON.parse(JSON.stringify(ifaces));
_dhcpNics = getLinuxDHCPNics();
const defaultInterface = getDefaultNetworkInterface();
for (let dev in ifaces) {
let ip4 = "";
let ip4subnet = "";
let ip6 = "";
let ip6subnet = "";
let mac = "";
let duplex2 = "";
let mtu = "";
let speed = null;
let carrierChanges = 0;
let dhcp = false;
let dnsSuffix = "";
let ieee8021xAuth = "";
let ieee8021xState = "";
let type2 = "";
let ip4link = "";
let ip4linksubnet = "";
let ip6link = "";
let ip6linksubnet = "";
if ({}.hasOwnProperty.call(ifaces, dev)) {
const ifaceName = dev;
ifaces[dev].forEach((details) => {
if (details.family === "IPv4" || details.family === 4) {
if (!ip4 && !ip4.match(/^169.254/i)) {
ip4 = details.address;
ip4subnet = details.netmask;
}
if (ip4.match(/^169.254/i)) {
ip4link = details.address;
ip4linksubnet = details.netmask;
}
}
if (details.family === "IPv6" || details.family === 6) {
if (!ip6 && !ip6.match(/^fe80::/i)) {
ip6 = details.address;
ip6subnet = details.netmask;
}
if (ip6.match(/^fe80::/i)) {
ip6link = details.address;
ip6linksubnet = details.netmask;
}
}
mac = details.mac;
const nodeMainVersion = parseInt(process.versions.node.split("."), 10);
if (mac.indexOf("00:00:0") > -1 && (_linux || _darwin) && !details.internal && nodeMainVersion >= 8 && nodeMainVersion <= 11) {
if (Object.keys(_mac).length === 0) {
_mac = getMacAddresses();
}
mac = _mac[dev] || "";
}
});
if (!ip4 && ip4link) {
ip4 = ip4link;
ip4subnet = ip4linksubnet;
}
if (!ip6 && ip6link) {
ip6 = ip6link;
ip6subnet = ip6linksubnet;
}
const iface = dev.split(":")[0].trim();
let ifaceSanitized = "";
const s2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(iface);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
ifaceSanitized = ifaceSanitized + s2[i3];
}
}
const cmd = `echo -n "addr_assign_type: "; cat /sys/class/net/${ifaceSanitized}/addr_assign_type 2>/dev/null; echo;
echo -n "address: "; cat /sys/class/net/${ifaceSanitized}/address 2>/dev/null; echo;
echo -n "addr_len: "; cat /sys/class/net/${ifaceSanitized}/addr_len 2>/dev/null; echo;
echo -n "broadcast: "; cat /sys/class/net/${ifaceSanitized}/broadcast 2>/dev/null; echo;
echo -n "carrier: "; cat /sys/class/net/${ifaceSanitized}/carrier 2>/dev/null; echo;
echo -n "carrier_changes: "; cat /sys/class/net/${ifaceSanitized}/carrier_changes 2>/dev/null; echo;
echo -n "dev_id: "; cat /sys/class/net/${ifaceSanitized}/dev_id 2>/dev/null; echo;
echo -n "dev_port: "; cat /sys/class/net/${ifaceSanitized}/dev_port 2>/dev/null; echo;
echo -n "dormant: "; cat /sys/class/net/${ifaceSanitized}/dormant 2>/dev/null; echo;
echo -n "duplex: "; cat /sys/class/net/${ifaceSanitized}/duplex 2>/dev/null; echo;
echo -n "flags: "; cat /sys/class/net/${ifaceSanitized}/flags 2>/dev/null; echo;
echo -n "gro_flush_timeout: "; cat /sys/class/net/${ifaceSanitized}/gro_flush_timeout 2>/dev/null; echo;
echo -n "ifalias: "; cat /sys/class/net/${ifaceSanitized}/ifalias 2>/dev/null; echo;
echo -n "ifindex: "; cat /sys/class/net/${ifaceSanitized}/ifindex 2>/dev/null; echo;
echo -n "iflink: "; cat /sys/class/net/${ifaceSanitized}/iflink 2>/dev/null; echo;
echo -n "link_mode: "; cat /sys/class/net/${ifaceSanitized}/link_mode 2>/dev/null; echo;
echo -n "mtu: "; cat /sys/class/net/${ifaceSanitized}/mtu 2>/dev/null; echo;
echo -n "netdev_group: "; cat /sys/class/net/${ifaceSanitized}/netdev_group 2>/dev/null; echo;
echo -n "operstate: "; cat /sys/class/net/${ifaceSanitized}/operstate 2>/dev/null; echo;
echo -n "proto_down: "; cat /sys/class/net/${ifaceSanitized}/proto_down 2>/dev/null; echo;
echo -n "speed: "; cat /sys/class/net/${ifaceSanitized}/speed 2>/dev/null; echo;
echo -n "tx_queue_len: "; cat /sys/class/net/${ifaceSanitized}/tx_queue_len 2>/dev/null; echo;
echo -n "type: "; cat /sys/class/net/${ifaceSanitized}/type 2>/dev/null; echo;
echo -n "wireless: "; cat /proc/net/wireless 2>/dev/null | grep ${ifaceSanitized}; echo;
echo -n "wirelessspeed: "; iw dev ${ifaceSanitized} link 2>&1 | grep bitrate; echo;`;
let lines = [];
try {
lines = execSync5(cmd, util2.execOptsLinux).toString().split("\n");
const connectionName = getLinuxIfaceConnectionName(ifaceSanitized);
dhcp = getLinuxIfaceDHCPstatus(ifaceSanitized, connectionName, _dhcpNics);
dnsSuffix = getLinuxIfaceDNSsuffix(connectionName);
ieee8021xAuth = getLinuxIfaceIEEE8021xAuth(connectionName);
ieee8021xState = getLinuxIfaceIEEE8021xState(ieee8021xAuth);
} catch {
util2.noop();
}
duplex2 = util2.getValue(lines, "duplex");
duplex2 = duplex2.startsWith("cat") ? "" : duplex2;
mtu = parseInt(util2.getValue(lines, "mtu"), 10);
let myspeed = parseInt(util2.getValue(lines, "speed"), 10);
speed = isNaN(myspeed) ? null : myspeed;
const wirelessspeed = util2.getValue(lines, "tx bitrate");
if (speed === null && wirelessspeed) {
myspeed = parseFloat(wirelessspeed);
speed = isNaN(myspeed) ? null : myspeed;
}
carrierChanges = parseInt(util2.getValue(lines, "carrier_changes"), 10);
const operstate = util2.getValue(lines, "operstate");
type2 = operstate === "up" ? util2.getValue(lines, "wireless").trim() ? "wireless" : "wired" : "unknown";
if (ifaceSanitized === "lo" || ifaceSanitized.startsWith("bond")) {
type2 = "virtual";
}
let internal = ifaces[dev] && ifaces[dev][0] ? ifaces[dev][0].internal : false;
if (dev.toLowerCase().indexOf("loopback") > -1 || ifaceName.toLowerCase().indexOf("loopback") > -1) {
internal = true;
}
const virtual = internal ? false : testVirtualNic(dev, ifaceName, mac);
result2.push({
iface: ifaceSanitized,
ifaceName,
default: iface === defaultInterface,
ip4,
ip4subnet,
ip6,
ip6subnet,
mac,
internal,
virtual,
operstate,
type: type2,
duplex: duplex2,
mtu,
speed,
dhcp,
dnsSuffix,
ieee8021xAuth,
ieee8021xState,
carrierChanges
});
}
}
_networkInterfaces = result2;
if (defaultString.toLowerCase().indexOf("default") >= 0) {
result2 = result2.filter((item) => item.default);
if (result2.length > 0) {
result2 = result2[0];
} else {
result2 = [];
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_windows) {
if (JSON.stringify(ifaces) === JSON.stringify(_ifaces) && !rescan) {
result2 = _networkInterfaces;
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
_ifaces = JSON.parse(JSON.stringify(ifaces));
const defaultInterface = getDefaultNetworkInterface();
getWindowsNics().then((nics2) => {
nics2.forEach((nic) => {
let found = false;
Object.keys(ifaces).forEach((key) => {
if (!found) {
ifaces[key].forEach((value) => {
if (Object.keys(value).indexOf("mac") >= 0) {
found = value["mac"] === nic.mac;
}
});
}
});
if (!found) {
ifaces[nic.name] = [{ mac: nic.mac }];
}
});
nics8021xInfo = getWindowsWiredProfilesInformation();
dnsSuffixes = getWindowsDNSsuffixes();
for (let dev in ifaces) {
let ifaceSanitized = "";
const s2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(dev);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
ifaceSanitized = ifaceSanitized + s2[i3];
}
}
let iface = dev;
let ip4 = "";
let ip4subnet = "";
let ip6 = "";
let ip6subnet = "";
let mac = "";
let duplex2 = "";
let mtu = "";
let speed = null;
let carrierChanges = 0;
let operstate = "down";
let dhcp = false;
let dnsSuffix = "";
let ieee8021xAuth = "";
let ieee8021xState = "";
let type2 = "";
if ({}.hasOwnProperty.call(ifaces, dev)) {
let ifaceName = dev;
ifaces[dev].forEach((details) => {
if (details.family === "IPv4" || details.family === 4) {
ip4 = details.address;
ip4subnet = details.netmask;
}
if (details.family === "IPv6" || details.family === 6) {
if (!ip6 || ip6.match(/^fe80::/i)) {
ip6 = details.address;
ip6subnet = details.netmask;
}
}
mac = details.mac;
const nodeMainVersion = parseInt(process.versions.node.split("."), 10);
if (mac.indexOf("00:00:0") > -1 && (_linux || _darwin) && !details.internal && nodeMainVersion >= 8 && nodeMainVersion <= 11) {
if (Object.keys(_mac).length === 0) {
_mac = getMacAddresses();
}
mac = _mac[dev] || "";
}
});
dnsSuffix = getWindowsIfaceDNSsuffix(dnsSuffixes.ifaces, ifaceSanitized);
let foundFirst = false;
nics2.forEach((detail) => {
if (detail.mac === mac && !foundFirst) {
iface = detail.iface || iface;
ifaceName = detail.name;
dhcp = detail.dhcp;
operstate = detail.operstate;
speed = operstate === "up" ? detail.speed : 0;
type2 = detail.type;
foundFirst = true;
}
});
if (dev.toLowerCase().indexOf("wlan") >= 0 || ifaceName.toLowerCase().indexOf("wlan") >= 0 || ifaceName.toLowerCase().indexOf("802.11n") >= 0 || ifaceName.toLowerCase().indexOf("wireless") >= 0 || ifaceName.toLowerCase().indexOf("wi-fi") >= 0 || ifaceName.toLowerCase().indexOf("wifi") >= 0) {
type2 = "wireless";
}
const IEEE8021x = getWindowsIEEE8021x(type2, ifaceSanitized, nics8021xInfo);
ieee8021xAuth = IEEE8021x.protocol;
ieee8021xState = IEEE8021x.state;
let internal = ifaces[dev] && ifaces[dev][0] ? ifaces[dev][0].internal : false;
if (dev.toLowerCase().indexOf("loopback") > -1 || ifaceName.toLowerCase().indexOf("loopback") > -1) {
internal = true;
}
const virtual = internal ? false : testVirtualNic(dev, ifaceName, mac);
result2.push({
iface,
ifaceName,
default: iface === defaultInterface,
ip4,
ip4subnet,
ip6,
ip6subnet,
mac,
internal,
virtual,
operstate,
type: type2,
duplex: duplex2,
mtu,
speed,
dhcp,
dnsSuffix,
ieee8021xAuth,
ieee8021xState,
carrierChanges
});
}
}
_networkInterfaces = result2;
if (defaultString.toLowerCase().indexOf("default") >= 0) {
result2 = result2.filter((item) => item.default);
if (result2.length > 0) {
result2 = result2[0];
} else {
result2 = [];
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
}
});
});
}
exports2.networkInterfaces = networkInterfaces;
function calcNetworkSpeed(iface, rx_bytes, tx_bytes, operstate, rx_dropped, rx_errors, tx_dropped, tx_errors) {
const result2 = {
iface,
operstate,
rx_bytes,
rx_dropped,
rx_errors,
tx_bytes,
tx_dropped,
tx_errors,
rx_sec: null,
tx_sec: null,
ms: 0
};
if (_network[iface] && _network[iface].ms) {
result2.ms = Date.now() - _network[iface].ms;
result2.rx_sec = rx_bytes - _network[iface].rx_bytes >= 0 ? (rx_bytes - _network[iface].rx_bytes) / (result2.ms / 1e3) : 0;
result2.tx_sec = tx_bytes - _network[iface].tx_bytes >= 0 ? (tx_bytes - _network[iface].tx_bytes) / (result2.ms / 1e3) : 0;
_network[iface].rx_bytes = rx_bytes;
_network[iface].tx_bytes = tx_bytes;
_network[iface].rx_sec = result2.rx_sec;
_network[iface].tx_sec = result2.tx_sec;
_network[iface].ms = Date.now();
_network[iface].last_ms = result2.ms;
_network[iface].operstate = operstate;
} else {
if (!_network[iface]) {
_network[iface] = {};
}
_network[iface].rx_bytes = rx_bytes;
_network[iface].tx_bytes = tx_bytes;
_network[iface].rx_sec = null;
_network[iface].tx_sec = null;
_network[iface].ms = Date.now();
_network[iface].last_ms = 0;
_network[iface].operstate = operstate;
}
return result2;
}
function networkStats(ifaces, callback) {
let ifacesArray = [];
return new Promise((resolve25) => {
process.nextTick(() => {
if (util2.isFunction(ifaces) && !callback) {
callback = ifaces;
ifacesArray = [getDefaultNetworkInterface()];
} else {
if (typeof ifaces !== "string" && ifaces !== void 0) {
if (callback) {
callback([]);
}
return resolve25([]);
}
ifaces = ifaces || getDefaultNetworkInterface();
try {
ifaces.__proto__.toLowerCase = util2.stringToLower;
ifaces.__proto__.replace = util2.stringReplace;
ifaces.__proto__.toString = util2.stringToString;
ifaces.__proto__.substr = util2.stringSubstr;
ifaces.__proto__.substring = util2.stringSubstring;
ifaces.__proto__.trim = util2.stringTrim;
ifaces.__proto__.startsWith = util2.stringStartWith;
} catch {
Object.setPrototypeOf(ifaces, util2.stringObj);
}
ifaces = ifaces.trim().replace(/,+/g, "|");
ifacesArray = ifaces.split("|");
}
const result2 = [];
const workload = [];
if (ifacesArray.length && ifacesArray[0].trim() === "*") {
ifacesArray = [];
networkInterfaces(false).then((allIFaces) => {
for (let iface of allIFaces) {
ifacesArray.push(iface.iface);
}
networkStats(ifacesArray.join(",")).then((result3) => {
if (callback) {
callback(result3);
}
resolve25(result3);
});
});
} else {
for (let iface of ifacesArray) {
workload.push(networkStatsSingle(iface.trim()));
}
if (workload.length) {
Promise.all(workload).then((data) => {
if (callback) {
callback(data);
}
resolve25(data);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
function networkStatsSingle(iface) {
function parseLinesWindowsPerfData(sections) {
const perfData = [];
for (let i3 in sections) {
if ({}.hasOwnProperty.call(sections, i3)) {
if (sections[i3].trim() !== "") {
const lines = sections[i3].trim().split("\r\n");
perfData.push({
name: util2.getValue(lines, "Name", ":").replace(/[()[\] ]+/g, "").replace(/#|\//g, "_").toLowerCase(),
rx_bytes: parseInt(util2.getValue(lines, "BytesReceivedPersec", ":"), 10),
rx_errors: parseInt(util2.getValue(lines, "PacketsReceivedErrors", ":"), 10),
rx_dropped: parseInt(util2.getValue(lines, "PacketsReceivedDiscarded", ":"), 10),
tx_bytes: parseInt(util2.getValue(lines, "BytesSentPersec", ":"), 10),
tx_errors: parseInt(util2.getValue(lines, "PacketsOutboundErrors", ":"), 10),
tx_dropped: parseInt(util2.getValue(lines, "PacketsOutboundDiscarded", ":"), 10)
});
}
}
}
return perfData;
}
return new Promise((resolve25) => {
process.nextTick(() => {
let ifaceSanitized = "";
const s2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(iface);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
ifaceSanitized = ifaceSanitized + s2[i3];
}
}
let result2 = {
iface: ifaceSanitized,
operstate: "unknown",
rx_bytes: 0,
rx_dropped: 0,
rx_errors: 0,
tx_bytes: 0,
tx_dropped: 0,
tx_errors: 0,
rx_sec: null,
tx_sec: null,
ms: 0
};
let operstate = "unknown";
let rx_bytes = 0;
let tx_bytes = 0;
let rx_dropped = 0;
let rx_errors = 0;
let tx_dropped = 0;
let tx_errors = 0;
let cmd, lines, stats;
if (!_network[ifaceSanitized] || _network[ifaceSanitized] && !_network[ifaceSanitized].ms || _network[ifaceSanitized] && _network[ifaceSanitized].ms && Date.now() - _network[ifaceSanitized].ms >= 500) {
if (_linux) {
if (fs84.existsSync("/sys/class/net/" + ifaceSanitized)) {
cmd = "cat /sys/class/net/" + ifaceSanitized + "/operstate; cat /sys/class/net/" + ifaceSanitized + "/statistics/rx_bytes; cat /sys/class/net/" + ifaceSanitized + "/statistics/tx_bytes; cat /sys/class/net/" + ifaceSanitized + "/statistics/rx_dropped; cat /sys/class/net/" + ifaceSanitized + "/statistics/rx_errors; cat /sys/class/net/" + ifaceSanitized + "/statistics/tx_dropped; cat /sys/class/net/" + ifaceSanitized + "/statistics/tx_errors; ";
exec3(cmd, (error40, stdout) => {
if (!error40) {
lines = stdout.toString().split("\n");
operstate = lines[0].trim();
rx_bytes = parseInt(lines[1], 10);
tx_bytes = parseInt(lines[2], 10);
rx_dropped = parseInt(lines[3], 10);
rx_errors = parseInt(lines[4], 10);
tx_dropped = parseInt(lines[5], 10);
tx_errors = parseInt(lines[6], 10);
result2 = calcNetworkSpeed(ifaceSanitized, rx_bytes, tx_bytes, operstate, rx_dropped, rx_errors, tx_dropped, tx_errors);
}
resolve25(result2);
});
} else {
resolve25(result2);
}
}
if (_freebsd || _openbsd || _netbsd) {
cmd = "netstat -ibndI " + ifaceSanitized;
exec3(cmd, (error40, stdout) => {
if (!error40) {
lines = stdout.toString().split("\n");
for (let i3 = 1; i3 < lines.length; i3++) {
const line = lines[i3].replace(/ +/g, " ").split(" ");
if (line && line[0] && line[7] && line[10]) {
rx_bytes = rx_bytes + parseInt(line[7]);
if (line[6].trim() !== "-") {
rx_dropped = rx_dropped + parseInt(line[6]);
}
if (line[5].trim() !== "-") {
rx_errors = rx_errors + parseInt(line[5]);
}
tx_bytes = tx_bytes + parseInt(line[10]);
if (line[12].trim() !== "-") {
tx_dropped = tx_dropped + parseInt(line[12]);
}
if (line[9].trim() !== "-") {
tx_errors = tx_errors + parseInt(line[9]);
}
operstate = "up";
}
}
result2 = calcNetworkSpeed(ifaceSanitized, rx_bytes, tx_bytes, operstate, rx_dropped, rx_errors, tx_dropped, tx_errors);
}
resolve25(result2);
});
}
if (_darwin) {
cmd = "ifconfig " + ifaceSanitized + ' | grep "status"';
exec3(cmd, (error40, stdout) => {
result2.operstate = (stdout.toString().split(":")[1] || "").trim();
result2.operstate = (result2.operstate || "").toLowerCase();
result2.operstate = result2.operstate === "active" ? "up" : result2.operstate === "inactive" ? "down" : "unknown";
cmd = "netstat -bdI " + ifaceSanitized;
exec3(cmd, (error41, stdout2) => {
if (!error41) {
lines = stdout2.toString().split("\n");
if (lines.length > 1 && lines[1].trim() !== "") {
stats = lines[1].replace(/ +/g, " ").split(" ");
const offset = stats.length > 11 ? 1 : 0;
rx_bytes = parseInt(stats[offset + 5]);
rx_dropped = parseInt(stats[offset + 10]);
rx_errors = parseInt(stats[offset + 4]);
tx_bytes = parseInt(stats[offset + 8]);
tx_dropped = parseInt(stats[offset + 10]);
tx_errors = parseInt(stats[offset + 7]);
result2 = calcNetworkSpeed(ifaceSanitized, rx_bytes, tx_bytes, result2.operstate, rx_dropped, rx_errors, tx_dropped, tx_errors);
}
}
resolve25(result2);
});
});
}
if (_windows) {
let perfData = [];
let ifaceName = ifaceSanitized;
util2.powerShell(
"Get-CimInstance Win32_PerfRawData_Tcpip_NetworkInterface | select Name,BytesReceivedPersec,PacketsReceivedErrors,PacketsReceivedDiscarded,BytesSentPersec,PacketsOutboundErrors,PacketsOutboundDiscarded | fl"
).then((stdout, error40) => {
if (!error40) {
const psections = stdout.toString().split(/\n\s*\n/);
perfData = parseLinesWindowsPerfData(psections);
}
networkInterfaces(false).then((interfaces) => {
rx_bytes = 0;
tx_bytes = 0;
perfData.forEach((detail) => {
interfaces.forEach((det) => {
if ((det.iface.toLowerCase() === ifaceSanitized.toLowerCase() || det.mac.toLowerCase() === ifaceSanitized.toLowerCase() || det.ip4.toLowerCase() === ifaceSanitized.toLowerCase() || det.ip6.toLowerCase() === ifaceSanitized.toLowerCase() || det.ifaceName.replace(/[()[\] ]+/g, "").replace(/#|\//g, "_").toLowerCase() === ifaceSanitized.replace(/[()[\] ]+/g, "").replace("#", "_").toLowerCase()) && det.ifaceName.replace(/[()[\] ]+/g, "").replace(/#|\//g, "_").toLowerCase() === detail.name) {
ifaceName = det.iface;
rx_bytes = detail.rx_bytes;
rx_dropped = detail.rx_dropped;
rx_errors = detail.rx_errors;
tx_bytes = detail.tx_bytes;
tx_dropped = detail.tx_dropped;
tx_errors = detail.tx_errors;
operstate = det.operstate;
}
});
});
if (rx_bytes && tx_bytes) {
result2 = calcNetworkSpeed(ifaceName, parseInt(rx_bytes), parseInt(tx_bytes), operstate, rx_dropped, rx_errors, tx_dropped, tx_errors);
}
resolve25(result2);
});
});
}
} else {
result2.rx_bytes = _network[ifaceSanitized].rx_bytes;
result2.tx_bytes = _network[ifaceSanitized].tx_bytes;
result2.rx_sec = _network[ifaceSanitized].rx_sec;
result2.tx_sec = _network[ifaceSanitized].tx_sec;
result2.ms = _network[ifaceSanitized].last_ms;
result2.operstate = _network[ifaceSanitized].operstate;
resolve25(result2);
}
});
});
}
exports2.networkStats = networkStats;
function getProcessName(processes, pid) {
let cmd = "";
processes.forEach((line) => {
const parts2 = line.split(" ");
const id = parseInt(parts2[0], 10) || -1;
if (id === pid) {
parts2.shift();
cmd = parts2.join(" ").split(":")[0];
}
});
cmd = cmd.split(" -")[0];
cmd = cmd.split(" /")[0];
return cmd;
}
function networkConnections(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const result2 = [];
if (_linux || _freebsd || _openbsd || _netbsd) {
let cmd = 'export LC_ALL=C; netstat -tunap | grep "ESTABLISHED\\|SYN_SENT\\|SYN_RECV\\|FIN_WAIT1\\|FIN_WAIT2\\|TIME_WAIT\\|CLOSE\\|CLOSE_WAIT\\|LAST_ACK\\|LISTEN\\|CLOSING\\|UNKNOWN"; unset LC_ALL';
if (_freebsd || _openbsd || _netbsd) {
cmd = 'export LC_ALL=C; netstat -na | grep "ESTABLISHED\\|SYN_SENT\\|SYN_RECV\\|FIN_WAIT1\\|FIN_WAIT2\\|TIME_WAIT\\|CLOSE\\|CLOSE_WAIT\\|LAST_ACK\\|LISTEN\\|CLOSING\\|UNKNOWN"; unset LC_ALL';
}
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error40, stdout) => {
let lines = stdout.toString().split("\n");
if (!error40 && (lines.length > 1 || lines[0] !== "")) {
lines.forEach((line) => {
line = line.replace(/ +/g, " ").split(" ");
if (line.length >= 7) {
let localip = line[3];
let localport = "";
const localaddress = line[3].split(":");
if (localaddress.length > 1) {
localport = localaddress[localaddress.length - 1];
localaddress.pop();
localip = localaddress.join(":");
}
let peerip = line[4];
let peerport = "";
const peeraddress = line[4].split(":");
if (peeraddress.length > 1) {
peerport = peeraddress[peeraddress.length - 1];
peeraddress.pop();
peerip = peeraddress.join(":");
}
const connstate = line[5];
const proc2 = line[6].split("/");
if (connstate) {
result2.push({
protocol: line[0],
localAddress: localip,
localPort: localport,
peerAddress: peerip,
peerPort: peerport,
state: connstate,
pid: proc2[0] && proc2[0] !== "-" ? parseInt(proc2[0], 10) : null,
process: proc2[1] ? proc2[1].split(" ")[0].split(":")[0] : ""
});
}
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
cmd = 'ss -tunap | grep "ESTAB\\|SYN-SENT\\|SYN-RECV\\|FIN-WAIT1\\|FIN-WAIT2\\|TIME-WAIT\\|CLOSE\\|CLOSE-WAIT\\|LAST-ACK\\|LISTEN\\|CLOSING"';
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error41, stdout2) => {
if (!error41) {
const lines2 = stdout2.toString().split("\n");
lines2.forEach((line) => {
line = line.replace(/ +/g, " ").split(" ");
if (line.length >= 6) {
let localip = line[4];
let localport = "";
const localaddress = line[4].split(":");
if (localaddress.length > 1) {
localport = localaddress[localaddress.length - 1];
localaddress.pop();
localip = localaddress.join(":");
}
let peerip = line[5];
let peerport = "";
const peeraddress = line[5].split(":");
if (peeraddress.length > 1) {
peerport = peeraddress[peeraddress.length - 1];
peeraddress.pop();
peerip = peeraddress.join(":");
}
let connstate = line[1];
if (connstate === "ESTAB") {
connstate = "ESTABLISHED";
}
if (connstate === "TIME-WAIT") {
connstate = "TIME_WAIT";
}
let pid = null;
let process25 = "";
if (line.length >= 7 && line[6].indexOf("users:") > -1) {
const proc2 = line[6].replace('users:(("', "").replace(/"/g, "").replace("pid=", "").split(",");
if (proc2.length > 2) {
process25 = proc2[0];
const pidValue = parseInt(proc2[1], 10);
if (pidValue > 0) {
pid = pidValue;
}
}
}
if (connstate) {
result2.push({
protocol: line[0],
localAddress: localip,
localPort: localport,
peerAddress: peerip,
peerPort: peerport,
state: connstate,
pid,
process: process25
});
}
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
});
}
if (_darwin) {
const cmd = 'netstat -natvln | head -n2; netstat -natvln | grep "tcp4\\|tcp6\\|udp4\\|udp6"';
const states = "ESTABLISHED|SYN_SENT|SYN_RECV|FIN_WAIT1|FIN_WAIT_1|FIN_WAIT2|FIN_WAIT_2|TIME_WAIT|CLOSE|CLOSE_WAIT|LAST_ACK|LISTEN|CLOSING|UNKNOWN".split("|");
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error40, stdout) => {
if (!error40) {
exec3("ps -axo pid,command", { maxBuffer: 1024 * 102400 }, (err2, stdout2) => {
let processes = stdout2.toString().split("\n");
processes = processes.map((line) => {
return line.trim().replace(/ +/g, " ");
});
const lines = stdout.toString().split("\n");
lines.shift();
let pidPos = 8;
if (lines.length > 1 && lines[0].indexOf("pid") > 0) {
const header = (lines.shift() || "").replace(/ Address/g, "_Address").replace(/process:/g, "").replace(/ +/g, " ").split(" ");
pidPos = header.indexOf("pid");
}
lines.forEach((line) => {
line = line.replace(/ +/g, " ").split(" ");
if (line.length >= 8) {
let localip = line[3];
let localport = "";
const localaddress = line[3].split(".");
if (localaddress.length > 1) {
localport = localaddress[localaddress.length - 1];
localaddress.pop();
localip = localaddress.join(".");
}
let peerip = line[4];
let peerport = "";
const peeraddress = line[4].split(".");
if (peeraddress.length > 1) {
peerport = peeraddress[peeraddress.length - 1];
peeraddress.pop();
peerip = peeraddress.join(".");
}
const hasState = states.indexOf(line[5]) >= 0;
const connstate = hasState ? line[5] : "UNKNOWN";
let pidField = "";
if (line[line.length - 9].indexOf(":") >= 0) {
pidField = line[line.length - 9].split(":")[1];
} else {
pidField = line[pidPos + (hasState ? 0 : -1)];
if (pidField.indexOf(":") >= 0) {
pidField = pidField.split(":")[1];
}
}
const pid = parseInt(pidField, 10);
if (connstate) {
result2.push({
protocol: line[0],
localAddress: localip,
localPort: localport,
peerAddress: peerip,
peerPort: peerport,
state: connstate,
pid,
process: getProcessName(processes, pid)
});
}
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
});
}
if (_windows) {
let cmd = "netstat -nao";
try {
exec3(cmd, util2.execOptsWin, (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\r\n");
lines.forEach((line) => {
line = line.trim().replace(/ +/g, " ").split(" ");
if (line.length >= 4) {
let localip = line[1];
let localport = "";
const localaddress = line[1].split(":");
if (localaddress.length > 1) {
localport = localaddress[localaddress.length - 1];
localaddress.pop();
localip = localaddress.join(":");
}
localip = localip.replace(/\[/g, "").replace(/\]/g, "");
let peerip = line[2];
let peerport = "";
const peeraddress = line[2].split(":");
if (peeraddress.length > 1) {
peerport = peeraddress[peeraddress.length - 1];
peeraddress.pop();
peerip = peeraddress.join(":");
}
peerip = peerip.replace(/\[/g, "").replace(/\]/g, "");
const pid = util2.toInt(line[4]);
let connstate = line[3];
if (connstate === "HERGESTELLT") {
connstate = "ESTABLISHED";
}
if (connstate.startsWith("ABH")) {
connstate = "LISTEN";
}
if (connstate === "SCHLIESSEN_WARTEN") {
connstate = "CLOSE_WAIT";
}
if (connstate === "WARTEND") {
connstate = "TIME_WAIT";
}
if (connstate === "SYN_GESENDET") {
connstate = "SYN_SENT";
}
if (connstate === "LISTENING") {
connstate = "LISTEN";
}
if (connstate === "SYN_RECEIVED") {
connstate = "SYN_RECV";
}
if (connstate === "FIN_WAIT_1") {
connstate = "FIN_WAIT1";
}
if (connstate === "FIN_WAIT_2") {
connstate = "FIN_WAIT2";
}
if (line[0].toLowerCase() !== "udp" && connstate) {
result2.push({
protocol: line[0].toLowerCase(),
localAddress: localip,
localPort: localport,
peerAddress: peerip,
peerPort: peerport,
state: connstate,
pid,
process: ""
});
} else if (line[0].toLowerCase() === "udp") {
result2.push({
protocol: line[0].toLowerCase(),
localAddress: localip,
localPort: localport,
peerAddress: peerip,
peerPort: peerport,
state: "",
pid: parseInt(line[3], 10),
process: ""
});
}
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.networkConnections = networkConnections;
function networkGatewayDefault(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = "";
if (_linux || _freebsd || _openbsd || _netbsd) {
const cmd = "ip route get 1";
try {
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\n");
const line = lines && lines[0] ? lines[0] : "";
let parts2 = line.split(" via ");
if (parts2 && parts2[1]) {
parts2 = parts2[1].split(" ");
result2 = parts2[0];
}
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_darwin) {
let cmd = "route -n get default";
try {
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n").map((line) => line.trim());
result2 = util2.getValue(lines, "gateway");
}
if (!result2) {
cmd = "netstat -rn | awk '/default/ {print $2}'";
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error41, stdout2) => {
const lines = stdout2.toString().split("\n").map((line) => line.trim());
result2 = lines.find(
(line) => /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(line)
);
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_windows) {
try {
exec3("netstat -r", util2.execOptsWin, (error40, stdout) => {
const lines = stdout.toString().split(os30.EOL);
lines.forEach((line) => {
line = line.replace(/\s+/g, " ").trim();
if (line.indexOf("0.0.0.0 0.0.0.0") > -1 && !/[a-zA-Z]/.test(line)) {
const parts2 = line.split(" ");
if (parts2.length >= 5 && parts2[parts2.length - 3].indexOf(".") > -1) {
result2 = parts2[parts2.length - 3];
}
}
});
if (!result2) {
util2.powerShell("Get-CimInstance -ClassName Win32_IP4RouteTable | Where-Object { $_.Destination -eq '0.0.0.0' -and $_.Mask -eq '0.0.0.0' }").then((data) => {
let lines2 = data.toString().split("\r\n");
if (lines2.length > 1 && !result2) {
result2 = util2.getValue(lines2, "NextHop");
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.networkGatewayDefault = networkGatewayDefault;
}
});
// node_modules/systeminformation/lib/wifi.js
var require_wifi = __commonJS({
"node_modules/systeminformation/lib/wifi.js"(exports2) {
"use strict";
var os30 = __require("os");
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
function wifiDBFromQuality(quality) {
const qual = parseFloat(quality);
if (qual < 0) {
return 0;
}
if (qual >= 100) {
return -50;
}
return qual / 2 - 100;
}
function wifiQualityFromDB(db) {
const result2 = 2 * (parseFloat(db) + 100);
return result2 <= 100 ? result2 : 100;
}
var _wifi_frequencies = {
1: 2412,
2: 2417,
3: 2422,
4: 2427,
5: 2432,
6: 2437,
7: 2442,
8: 2447,
9: 2452,
10: 2457,
11: 2462,
12: 2467,
13: 2472,
14: 2484,
32: 5160,
34: 5170,
36: 5180,
38: 5190,
40: 5200,
42: 5210,
44: 5220,
46: 5230,
48: 5240,
50: 5250,
52: 5260,
54: 5270,
56: 5280,
58: 5290,
60: 5300,
62: 5310,
64: 5320,
68: 5340,
96: 5480,
100: 5500,
102: 5510,
104: 5520,
106: 5530,
108: 5540,
110: 5550,
112: 5560,
114: 5570,
116: 5580,
118: 5590,
120: 5600,
122: 5610,
124: 5620,
126: 5630,
128: 5640,
132: 5660,
134: 5670,
136: 5680,
138: 5690,
140: 5700,
142: 5710,
144: 5720,
149: 5745,
151: 5755,
153: 5765,
155: 5775,
157: 5785,
159: 5795,
161: 5805,
165: 5825,
169: 5845,
173: 5865,
183: 4915,
184: 4920,
185: 4925,
187: 4935,
188: 4940,
189: 4945,
192: 4960,
196: 4980
};
function wifiFrequencyFromChannel(channel) {
return {}.hasOwnProperty.call(_wifi_frequencies, channel) ? _wifi_frequencies[channel] : null;
}
function wifiChannelFromFrequencs(frequency) {
let channel = 0;
for (let key in _wifi_frequencies) {
if ({}.hasOwnProperty.call(_wifi_frequencies, key)) {
if (_wifi_frequencies[key] === frequency) {
channel = util2.toInt(key);
}
}
}
return channel;
}
function ifaceListLinux() {
const result2 = [];
const cmd = "iw dev 2>/dev/null";
try {
const all2 = execSync5(cmd, util2.execOptsLinux).toString().split("\n").map((line) => line.trim()).join("\n");
const parts2 = all2.split("\nInterface ");
parts2.shift();
parts2.forEach((ifaceDetails) => {
const lines = ifaceDetails.split("\n");
const iface = lines[0];
const id = util2.toInt(util2.getValue(lines, "ifindex", " "));
const mac = util2.getValue(lines, "addr", " ");
const channel = util2.toInt(util2.getValue(lines, "channel", " "));
result2.push({
id,
iface,
mac,
channel
});
});
return result2;
} catch {
try {
const all2 = execSync5("nmcli -t -f general,wifi-properties,wired-properties,interface-flags,capabilities,nsp device show 2>/dev/null", util2.execOptsLinux).toString();
const parts2 = all2.split("\n\n");
let i3 = 1;
parts2.forEach((ifaceDetails) => {
const lines = ifaceDetails.split("\n");
const iface = util2.getValue(lines, "GENERAL.DEVICE");
const type2 = util2.getValue(lines, "GENERAL.TYPE");
const id = i3++;
const mac = util2.getValue(lines, "GENERAL.HWADDR");
const channel = "";
if (type2.toLowerCase() === "wifi") {
result2.push({
id,
iface,
mac,
channel
});
}
});
return result2;
} catch {
return [];
}
}
}
function nmiDeviceLinux(iface) {
const cmd = `nmcli -t -f general,wifi-properties,capabilities,ip4,ip6 device show ${iface} 2> /dev/null`;
try {
const lines = execSync5(cmd, util2.execOptsLinux).toString().split("\n");
const ssid = util2.getValue(lines, "GENERAL.CONNECTION");
return {
iface,
type: util2.getValue(lines, "GENERAL.TYPE"),
vendor: util2.getValue(lines, "GENERAL.VENDOR"),
product: util2.getValue(lines, "GENERAL.PRODUCT"),
mac: util2.getValue(lines, "GENERAL.HWADDR").toLowerCase(),
ssid: ssid !== "--" ? ssid : null
};
} catch {
return {};
}
}
function nmiConnectionLinux(ssid) {
const cmd = `nmcli -t --show-secrets connection show ${ssid} 2>/dev/null`;
try {
const lines = execSync5(cmd, util2.execOptsLinux).toString().split("\n");
const bssid = util2.getValue(lines, "802-11-wireless.seen-bssids").toLowerCase();
return {
ssid: ssid !== "--" ? ssid : null,
uuid: util2.getValue(lines, "connection.uuid"),
type: util2.getValue(lines, "connection.type"),
autoconnect: util2.getValue(lines, "connection.autoconnect") === "yes",
security: util2.getValue(lines, "802-11-wireless-security.key-mgmt"),
bssid: bssid !== "--" ? bssid : null
};
} catch {
return {};
}
}
function wpaConnectionLinux(iface) {
if (!iface) {
return {};
}
const cmd = `wpa_cli -i ${iface} status 2>&1`;
try {
const lines = execSync5(cmd, util2.execOptsLinux).toString().split("\n");
const freq = util2.toInt(util2.getValue(lines, "freq", "="));
return {
ssid: util2.getValue(lines, "ssid", "="),
uuid: util2.getValue(lines, "uuid", "="),
security: util2.getValue(lines, "key_mgmt", "="),
freq,
channel: wifiChannelFromFrequencs(freq),
bssid: util2.getValue(lines, "bssid", "=").toLowerCase()
};
} catch {
return {};
}
}
function getWifiNetworkListNmi() {
const result2 = [];
const cmd = "nmcli -t -m multiline --fields active,ssid,bssid,mode,chan,freq,signal,security,wpa-flags,rsn-flags device wifi list 2>/dev/null";
try {
const stdout = execSync5(cmd, util2.execOptsLinux);
const parts2 = stdout.toString().split("ACTIVE:");
parts2.shift();
parts2.forEach((part) => {
part = "ACTIVE:" + part;
const lines = part.split(os30.EOL);
const channel = util2.getValue(lines, "CHAN");
const frequency = util2.getValue(lines, "FREQ").toLowerCase().replace("mhz", "").trim();
const security = util2.getValue(lines, "SECURITY").replace("(", "").replace(")", "");
const wpaFlags = util2.getValue(lines, "WPA-FLAGS").replace("(", "").replace(")", "");
const rsnFlags = util2.getValue(lines, "RSN-FLAGS").replace("(", "").replace(")", "");
const quality = util2.getValue(lines, "SIGNAL");
result2.push({
ssid: util2.getValue(lines, "SSID"),
bssid: util2.getValue(lines, "BSSID").toLowerCase(),
mode: util2.getValue(lines, "MODE"),
channel: channel ? parseInt(channel, 10) : null,
frequency: frequency ? parseInt(frequency, 10) : null,
signalLevel: wifiDBFromQuality(quality),
quality: quality ? parseInt(quality, 10) : null,
security: security && security !== "none" ? security.split(" ") : [],
wpaFlags: wpaFlags && wpaFlags !== "none" ? wpaFlags.split(" ") : [],
rsnFlags: rsnFlags && rsnFlags !== "none" ? rsnFlags.split(" ") : []
});
});
return result2;
} catch {
return [];
}
}
function getWifiNetworkListIw(iface) {
const result2 = [];
try {
let iwlistParts = execSync5(`export LC_ALL=C; iwlist ${iface} scan 2>&1; unset LC_ALL`, util2.execOptsLinux).toString().split(" Cell ");
if (iwlistParts[0].indexOf("resource busy") >= 0) {
return -1;
}
if (iwlistParts.length > 1) {
iwlistParts.shift();
iwlistParts.forEach((element) => {
const lines = element.split("\n");
const channel = util2.getValue(lines, "channel", ":", true);
const address = lines && lines.length && lines[0].indexOf("Address:") >= 0 ? lines[0].split("Address:")[1].trim().toLowerCase() : "";
const mode = util2.getValue(lines, "mode", ":", true);
const frequency = util2.getValue(lines, "frequency", ":", true);
const qualityString = util2.getValue(lines, "Quality", "=", true);
const dbParts = qualityString.toLowerCase().split("signal level=");
const db = dbParts.length > 1 ? util2.toInt(dbParts[1]) : 0;
const quality = db ? wifiQualityFromDB(db) : 0;
const ssid = util2.getValue(lines, "essid", ":", true);
const isWpa = element.indexOf(" WPA ") >= 0;
const isWpa2 = element.indexOf("WPA2 ") >= 0;
const security = [];
if (isWpa) {
security.push("WPA");
}
if (isWpa2) {
security.push("WPA2");
}
const wpaFlags = [];
let wpaFlag = "";
lines.forEach((line) => {
const l2 = line.trim().toLowerCase();
if (l2.indexOf("group cipher") >= 0) {
if (wpaFlag) {
wpaFlags.push(wpaFlag);
}
const parts2 = l2.split(":");
if (parts2.length > 1) {
wpaFlag = parts2[1].trim().toUpperCase();
}
}
if (l2.indexOf("pairwise cipher") >= 0) {
const parts2 = l2.split(":");
if (parts2.length > 1) {
if (parts2[1].indexOf("tkip")) {
wpaFlag = wpaFlag ? "TKIP/" + wpaFlag : "TKIP";
} else if (parts2[1].indexOf("ccmp")) {
wpaFlag = wpaFlag ? "CCMP/" + wpaFlag : "CCMP";
} else if (parts2[1].indexOf("proprietary")) {
wpaFlag = wpaFlag ? "PROP/" + wpaFlag : "PROP";
}
}
}
if (l2.indexOf("authentication suites") >= 0) {
const parts2 = l2.split(":");
if (parts2.length > 1) {
if (parts2[1].indexOf("802.1x")) {
wpaFlag = wpaFlag ? "802.1x/" + wpaFlag : "802.1x";
} else if (parts2[1].indexOf("psk")) {
wpaFlag = wpaFlag ? "PSK/" + wpaFlag : "PSK";
}
}
}
});
if (wpaFlag) {
wpaFlags.push(wpaFlag);
}
result2.push({
ssid,
bssid: address,
mode,
channel: channel ? util2.toInt(channel) : null,
frequency: frequency ? util2.toInt(frequency.replace(".", "")) : null,
signalLevel: db,
quality,
security,
wpaFlags,
rsnFlags: []
});
});
}
return result2;
} catch {
return -1;
}
}
function parseWifiDarwin(wifiStr) {
const result2 = [];
try {
let wifiObj = JSON.parse(wifiStr);
wifiObj = wifiObj.SPAirPortDataType[0].spairport_airport_interfaces[0].spairport_airport_other_local_wireless_networks;
wifiObj.forEach((wifiItem) => {
const security = [];
const sm = wifiItem.spairport_security_mode || "";
if (sm === "spairport_security_mode_wep") {
security.push("WEP");
} else if (sm === "spairport_security_mode_wpa2_personal") {
security.push("WPA2");
} else if (sm.startsWith("spairport_security_mode_wpa2_enterprise")) {
security.push("WPA2 EAP");
} else if (sm.startsWith("pairport_security_mode_wpa3_transition")) {
security.push("WPA2/WPA3");
} else if (sm.startsWith("pairport_security_mode_wpa3")) {
security.push("WPA3");
}
const channel = parseInt(("" + wifiItem.spairport_network_channel).split(" ")[0]) || 0;
const signalLevel = wifiItem.spairport_signal_noise || null;
result2.push({
ssid: wifiItem._name || "",
bssid: wifiItem.spairport_network_bssid || null,
mode: wifiItem.spairport_network_phymode,
channel,
frequency: wifiFrequencyFromChannel(channel),
signalLevel: signalLevel ? parseInt(signalLevel, 10) : null,
quality: wifiQualityFromDB(signalLevel),
security,
wpaFlags: [],
rsnFlags: []
});
});
return result2;
} catch {
return result2;
}
}
function wifiNetworks(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = [];
if (_linux) {
result2 = getWifiNetworkListNmi();
if (result2.length === 0) {
try {
const iwconfigParts = execSync5("export LC_ALL=C; iwconfig 2>/dev/null; unset LC_ALL", util2.execOptsLinux).toString().split("\n\n");
let iface = "";
iwconfigParts.forEach((element) => {
if (element.indexOf("no wireless") === -1 && element.trim() !== "") {
iface = element.split(" ")[0];
}
});
if (iface) {
let ifaceSanitized = "";
const s2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(iface, true);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
ifaceSanitized = ifaceSanitized + s2[i3];
}
}
const res = getWifiNetworkListIw(ifaceSanitized);
if (res === -1) {
setTimeout(() => {
const res2 = getWifiNetworkListIw(ifaceSanitized);
if (res2 !== -1) {
result2 = res2;
}
if (callback) {
callback(result2);
}
resolve25(result2);
}, 4e3);
} else {
result2 = res;
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else if (_darwin) {
const cmd = "system_profiler SPAirPortDataType -json 2>/dev/null";
exec3(cmd, { maxBuffer: 1024 * 4e4 }, (error40, stdout) => {
result2 = parseWifiDarwin(stdout.toString());
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else if (_windows) {
const cmd = "netsh wlan show networks mode=Bssid";
util2.powerShell(cmd).then((stdout) => {
const ssidParts = stdout.toString("utf8").split(os30.EOL + os30.EOL + "SSID ");
ssidParts.shift();
ssidParts.forEach((ssidPart) => {
const ssidLines = ssidPart.split(os30.EOL);
if (ssidLines && ssidLines.length >= 8 && ssidLines[0].indexOf(":") >= 0) {
const bssidsParts = ssidPart.split(" BSSID");
bssidsParts.shift();
bssidsParts.forEach((bssidPart) => {
const bssidLines = bssidPart.split(os30.EOL);
const bssidLine = bssidLines[0].split(":");
bssidLine.shift();
const bssid = bssidLine.join(":").trim().toLowerCase();
const channel = bssidLines[3].split(":").pop().trim();
const quality = bssidLines[1].split(":").pop().trim();
result2.push({
ssid: ssidLines[0].split(":").pop().trim(),
bssid,
mode: "",
channel: channel ? parseInt(channel, 10) : null,
frequency: wifiFrequencyFromChannel(channel),
signalLevel: wifiDBFromQuality(quality),
quality: quality ? parseInt(quality, 10) : null,
security: [ssidLines[2].split(":").pop().trim()],
wpaFlags: [ssidLines[3].split(":").pop().trim()],
rsnFlags: []
});
});
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.wifiNetworks = wifiNetworks;
function getVendor(model) {
model = model.toLowerCase();
let result2 = "";
if (model.indexOf("intel") >= 0) {
result2 = "Intel";
} else if (model.indexOf("realtek") >= 0) {
result2 = "Realtek";
} else if (model.indexOf("qualcom") >= 0) {
result2 = "Qualcom";
} else if (model.indexOf("broadcom") >= 0) {
result2 = "Broadcom";
} else if (model.indexOf("cavium") >= 0) {
result2 = "Cavium";
} else if (model.indexOf("cisco") >= 0) {
result2 = "Cisco";
} else if (model.indexOf("marvel") >= 0) {
result2 = "Marvel";
} else if (model.indexOf("zyxel") >= 0) {
result2 = "Zyxel";
} else if (model.indexOf("melanox") >= 0) {
result2 = "Melanox";
} else if (model.indexOf("d-link") >= 0) {
result2 = "D-Link";
} else if (model.indexOf("tp-link") >= 0) {
result2 = "TP-Link";
} else if (model.indexOf("asus") >= 0) {
result2 = "Asus";
} else if (model.indexOf("linksys") >= 0) {
result2 = "Linksys";
}
return result2;
}
function wifiConnections(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const result2 = [];
if (_linux) {
const ifaces = ifaceListLinux();
const networkList = getWifiNetworkListNmi();
ifaces.forEach((ifaceDetail) => {
let ifaceSanitized = "";
const s2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(ifaceDetail.iface, true);
const ll = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= ll; i3++) {
if (s2[i3] !== void 0) {
ifaceSanitized = ifaceSanitized + s2[i3];
}
}
const nmiDetails = nmiDeviceLinux(ifaceSanitized);
const wpaDetails = wpaConnectionLinux(ifaceSanitized);
const ssid = nmiDetails.ssid || wpaDetails.ssid;
const network = networkList.filter((nw) => nw.ssid === ssid);
let ssidSanitized = "";
const t2 = util2.isPrototypePolluted() ? "---" : util2.sanitizeShellString(ssid, true);
const l2 = util2.mathMin(t2.length, 32);
for (let i3 = 0; i3 <= l2; i3++) {
if (t2[i3] !== void 0) {
ssidSanitized = ssidSanitized + t2[i3];
}
}
const nmiConnection = nmiConnectionLinux(ssidSanitized);
const channel = network && network.length && network[0].channel ? network[0].channel : wpaDetails.channel ? wpaDetails.channel : null;
const bssid = network && network.length && network[0].bssid ? network[0].bssid : wpaDetails.bssid ? wpaDetails.bssid : null;
const signalLevel = network && network.length && network[0].signalLevel ? network[0].signalLevel : null;
if (ssid && bssid) {
result2.push({
id: ifaceDetail.id,
iface: ifaceDetail.iface,
model: nmiDetails.product,
ssid,
bssid: network && network.length && network[0].bssid ? network[0].bssid : wpaDetails.bssid ? wpaDetails.bssid : null,
channel,
frequency: channel ? wifiFrequencyFromChannel(channel) : null,
type: nmiConnection.type ? nmiConnection.type : "802.11",
security: nmiConnection.security ? nmiConnection.security : wpaDetails.security ? wpaDetails.security : null,
signalLevel,
quality: wifiQualityFromDB(signalLevel),
txRate: null
});
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
} else if (_darwin) {
const cmd = 'system_profiler SPNetworkDataType SPAirPortDataType -xml 2>/dev/null; echo "######" ; ioreg -n AppleBCMWLANSkywalkInterface -r 2>/dev/null';
exec3(cmd, (error40, stdout) => {
try {
const parts2 = stdout.toString().split("######");
const profilerObj = util2.plistParser(parts2[0]);
const networkObj = profilerObj[0]._SPCommandLineArguments.indexOf("SPNetworkDataType") >= 0 ? profilerObj[0]._items : profilerObj[1]._items;
const airportObj = profilerObj[0]._SPCommandLineArguments.indexOf("SPAirPortDataType") >= 0 ? profilerObj[0]._items[0].spairport_airport_interfaces : profilerObj[1]._items[0].spairport_airport_interfaces;
let lines3 = [];
if (parts2[1].indexOf(" | {") > 0 && parts2[1].indexOf(" | }") > parts2[1].indexOf(" | {")) {
lines3 = parts2[1].split(" | {")[1].split(" | }")[0].replace(/ \| /g, "").replace(/"/g, "").split("\n");
}
const networkWifiObj = networkObj.find((item) => {
return item._name === "Wi-Fi";
});
const airportWifiObj = airportObj[0].spairport_current_network_information;
const channel = parseInt(("" + airportWifiObj.spairport_network_channel).split(" ")[0], 10) || 0;
const signalLevel = airportWifiObj.spairport_signal_noise || null;
const security = [];
const sm = airportWifiObj.spairport_security_mode || "";
if (sm === "spairport_security_mode_wep") {
security.push("WEP");
} else if (sm === "spairport_security_mode_wpa2_personal") {
security.push("WPA2");
} else if (sm.startsWith("spairport_security_mode_wpa2_enterprise")) {
security.push("WPA2 EAP");
} else if (sm.startsWith("pairport_security_mode_wpa3_transition")) {
security.push("WPA2/WPA3");
} else if (sm.startsWith("pairport_security_mode_wpa3")) {
security.push("WPA3");
}
result2.push({
id: networkWifiObj._name || "Wi-Fi",
iface: networkWifiObj.interface || "",
model: networkWifiObj.hardware || "",
ssid: (airportWifiObj._name || "").replace("<", "<").replace(">", ">"),
bssid: airportWifiObj.spairport_network_bssid || "",
channel,
frequency: channel ? wifiFrequencyFromChannel(channel) : null,
type: airportWifiObj.spairport_network_phymode || "802.11",
security,
signalLevel: signalLevel ? parseInt(signalLevel, 10) : null,
quality: wifiQualityFromDB(signalLevel),
txRate: airportWifiObj.spairport_network_rate || null
});
} catch {
util2.noop();
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else if (_windows) {
const cmd = "netsh wlan show interfaces";
util2.powerShell(cmd).then((stdout) => {
const allLines = stdout.toString().split("\r\n");
for (let i3 = 0; i3 < allLines.length; i3++) {
allLines[i3] = allLines[i3].trim();
}
const parts2 = allLines.join("\r\n").split(":\r\n\r\n");
parts2.shift();
parts2.forEach((part) => {
const lines = part.split("\r\n");
if (lines.length >= 5) {
const iface = lines[0].indexOf(":") >= 0 ? lines[0].split(":")[1].trim() : "";
const model = lines[1].indexOf(":") >= 0 ? lines[1].split(":")[1].trim() : "";
const id = lines[2].indexOf(":") >= 0 ? lines[2].split(":")[1].trim() : "";
const ssid = util2.getValue(lines, "SSID", ":", true);
const bssid = util2.getValue(lines, "BSSID", ":", true) || util2.getValue(lines, "AP BSSID", ":", true);
const quality = util2.getValue(lines, "Signal", ":", true);
const signalLevel = wifiDBFromQuality(quality);
const type2 = util2.getValue(lines, "Radio type", ":", true) || util2.getValue(lines, "Type de radio", ":", true) || util2.getValue(lines, "Funktyp", ":", true) || null;
const security = util2.getValue(lines, "authentication", ":", true) || util2.getValue(lines, "Authentification", ":", true) || util2.getValue(lines, "Authentifizierung", ":", true) || null;
const channel = util2.getValue(lines, "Channel", ":", true) || util2.getValue(lines, "Canal", ":", true) || util2.getValue(lines, "Kanal", ":", true) || null;
const txRate = util2.getValue(lines, "Transmit rate (mbps)", ":", true) || util2.getValue(lines, "Transmission (mbit/s)", ":", true) || util2.getValue(lines, "Empfangsrate (MBit/s)", ":", true) || null;
if (model && id && ssid && bssid) {
result2.push({
id,
iface,
model,
ssid,
bssid,
channel: util2.toInt(channel),
frequency: channel ? wifiFrequencyFromChannel(channel) : null,
type: type2,
security,
signalLevel,
quality: quality ? parseInt(quality, 10) : null,
txRate: util2.toInt(txRate) || null
});
}
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.wifiConnections = wifiConnections;
function wifiInterfaces(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const result2 = [];
if (_linux) {
const ifaces = ifaceListLinux();
ifaces.forEach((ifaceDetail) => {
const nmiDetails = nmiDeviceLinux(ifaceDetail.iface);
result2.push({
id: ifaceDetail.id,
iface: ifaceDetail.iface,
model: nmiDetails.product ? nmiDetails.product : null,
vendor: nmiDetails.vendor ? nmiDetails.vendor : null,
mac: ifaceDetail.mac
});
});
if (callback) {
callback(result2);
}
resolve25(result2);
} else if (_darwin) {
const cmd = "system_profiler SPNetworkDataType";
exec3(cmd, (error40, stdout) => {
const parts1 = stdout.toString().split("\n\n Wi-Fi:\n\n");
if (parts1.length > 1) {
const lines = parts1[1].split("\n\n")[0].split("\n");
const iface = util2.getValue(lines, "BSD Device Name", ":", true);
const mac = util2.getValue(lines, "MAC Address", ":", true);
const model = util2.getValue(lines, "hardware", ":", true);
result2.push({
id: "Wi-Fi",
iface,
model,
vendor: "",
mac
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else if (_windows) {
const cmd = "netsh wlan show interfaces";
util2.powerShell(cmd).then((stdout) => {
const allLines = stdout.toString().split("\r\n");
for (let i3 = 0; i3 < allLines.length; i3++) {
allLines[i3] = allLines[i3].trim();
}
const parts2 = allLines.join("\r\n").split(":\r\n\r\n");
parts2.shift();
parts2.forEach((part) => {
const lines = part.split("\r\n");
if (lines.length >= 5) {
const iface = lines[0].indexOf(":") >= 0 ? lines[0].split(":")[1].trim() : "";
const model = lines[1].indexOf(":") >= 0 ? lines[1].split(":")[1].trim() : "";
const id = lines[2].indexOf(":") >= 0 ? lines[2].split(":")[1].trim() : "";
const macParts = lines[3].indexOf(":") >= 0 ? lines[3].split(":") : [];
macParts.shift();
const mac = macParts.join(":").trim();
const vendor = getVendor(model);
if (iface && model && id && mac) {
result2.push({
id,
iface,
model,
vendor,
mac
});
}
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.wifiInterfaces = wifiInterfaces;
}
});
// node_modules/systeminformation/lib/processes.js
var require_processes = __commonJS({
"node_modules/systeminformation/lib/processes.js"(exports2) {
"use strict";
var os30 = __require("os");
var fs84 = __require("fs");
var path101 = __require("path");
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
var _processes_cpu = {
all: 0,
all_utime: 0,
all_stime: 0,
list: {},
ms: 0,
result: {}
};
var _services_cpu = {
all: 0,
all_utime: 0,
all_stime: 0,
list: {},
ms: 0,
result: {}
};
var _process_cpu = {
all: 0,
all_utime: 0,
all_stime: 0,
list: {},
ms: 0,
result: {}
};
var _winStatusValues = {
0: "unknown",
1: "other",
2: "ready",
3: "running",
4: "blocked",
5: "suspended blocked",
6: "suspended ready",
7: "terminated",
8: "stopped",
9: "growing"
};
function parseTimeUnix(time3) {
let result2 = time3;
let parts2 = time3.replace(/ +/g, " ").split(" ");
if (parts2.length === 5) {
result2 = parts2[4] + "-" + ("0" + ("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC".indexOf(parts2[1].toUpperCase()) / 3 + 1)).slice(-2) + "-" + ("0" + parts2[2]).slice(-2) + " " + parts2[3];
}
return result2;
}
function parseElapsedTime(etime) {
let current = /* @__PURE__ */ new Date();
current = new Date(current.getTime() - current.getTimezoneOffset() * 6e4);
const elapsed = etime.split("-");
const timeIndex = elapsed.length - 1;
const days = timeIndex > 0 ? parseInt(elapsed[timeIndex - 1]) : 0;
const timeStr = elapsed[timeIndex].split(":");
const hours = timeStr.length === 3 ? parseInt(timeStr[0] || 0) : 0;
const mins = parseInt(timeStr[timeStr.length === 3 ? 1 : 0] || 0);
const secs = parseInt(timeStr[timeStr.length === 3 ? 2 : 1] || 0);
const ms = (((days * 24 + hours) * 60 + mins) * 60 + secs) * 1e3;
let res = new Date(current.getTime());
let result2 = res.toISOString().substring(0, 10) + " " + res.toISOString().substring(11, 19);
try {
res = new Date(current.getTime() - ms);
result2 = res.toISOString().substring(0, 10) + " " + res.toISOString().substring(11, 19);
} catch (e2) {
util2.noop();
}
return result2;
}
function services(srv, callback) {
if (util2.isFunction(srv) && !callback) {
callback = srv;
srv = "";
}
return new Promise((resolve25) => {
process.nextTick(() => {
if (typeof srv !== "string") {
if (callback) {
callback([]);
}
return resolve25([]);
}
if (srv) {
let srvString = "";
try {
srvString.__proto__.toLowerCase = util2.stringToLower;
srvString.__proto__.replace = util2.stringReplace;
srvString.__proto__.toString = util2.stringToString;
srvString.__proto__.substr = util2.stringSubstr;
srvString.__proto__.substring = util2.stringSubstring;
srvString.__proto__.trim = util2.stringTrim;
srvString.__proto__.startsWith = util2.stringStartWith;
} catch (e2) {
Object.setPrototypeOf(srvString, util2.stringObj);
}
const s2 = util2.sanitizeShellString(srv);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
srvString = srvString + s2[i3];
}
}
srvString = srvString.trim().toLowerCase().replace(/, /g, "|").replace(/,+/g, "|");
if (srvString === "") {
srvString = "*";
}
if (util2.isPrototypePolluted() && srvString !== "*") {
srvString = "------";
}
let srvs = srvString.split("|");
let result2 = [];
let dataSrv = [];
if (_linux || _freebsd || _openbsd || _netbsd || _darwin) {
if ((_linux || _freebsd || _openbsd || _netbsd) && srvString === "*") {
try {
const tmpsrv = execSync5("systemctl --all --type=service --no-legend 2> /dev/null", util2.execOptsLinux).toString().split("\n");
srvs = [];
for (const s3 of tmpsrv) {
const name3 = s3.split(".service")[0];
if (name3 && s3.indexOf(" not-found ") === -1) {
srvs.push(name3.trim());
}
}
srvString = srvs.join("|");
} catch (d) {
try {
srvString = "";
const tmpsrv = execSync5("service --status-all 2> /dev/null", util2.execOptsLinux).toString().split("\n");
for (const s3 of tmpsrv) {
const parts2 = s3.split("]");
if (parts2.length === 2) {
srvString += (srvString !== "" ? "|" : "") + parts2[1].trim();
}
}
srvs = srvString.split("|");
} catch (e2) {
try {
const srvStr = execSync5("ls /etc/init.d/ -m 2> /dev/null", util2.execOptsLinux).toString().split("\n").join("");
srvString = "";
if (srvStr) {
const tmpsrv = srvStr.split(",");
for (const s3 of tmpsrv) {
const name3 = s3.trim();
if (name3) {
srvString += (srvString !== "" ? "|" : "") + name3;
}
}
srvs = srvString.split("|");
}
} catch (f) {
srvString = "";
srvs = [];
}
}
}
}
if (_darwin && srvString === "*") {
if (callback) {
callback(result2);
}
resolve25(result2);
}
let args2 = _darwin ? ["-caxo", "pcpu,pmem,pid,command"] : ["-axo", "pcpu,pmem,pid,command"];
if (srvString !== "" && srvs.length > 0) {
util2.execSafe("ps", args2).then((stdout) => {
if (stdout) {
let lines = stdout.replace(/ +/g, " ").replace(/,+/g, ".").split("\n");
srvs.forEach(function(srv2) {
let ps;
if (_darwin) {
ps = lines.filter(function(e2) {
return e2.toLowerCase().indexOf(srv2) !== -1;
});
} else {
ps = lines.filter(function(e2) {
return e2.toLowerCase().indexOf(" " + srv2.toLowerCase() + ":") !== -1 || e2.toLowerCase().indexOf("(" + srv2.toLowerCase() + " ") !== -1 || e2.toLowerCase().indexOf("(" + srv2.toLowerCase() + ")") !== -1 || e2.toLowerCase().indexOf(" " + srv2.toLowerCase().replace(/[0-9.]/g, "") + ":") !== -1 || e2.toLowerCase().indexOf("/" + srv2.toLowerCase()) !== -1;
});
}
const pids = [];
for (const p of ps) {
const pid = p.trim().split(" ")[2];
if (pid) {
pids.push(parseInt(pid, 10));
}
}
result2.push({
name: srv2,
running: ps.length > 0,
startmode: "",
pids,
cpu: parseFloat(
ps.reduce(function(pv, cv) {
return pv + parseFloat(cv.trim().split(" ")[0]);
}, 0).toFixed(2)
),
mem: parseFloat(
ps.reduce(function(pv, cv) {
return pv + parseFloat(cv.trim().split(" ")[1]);
}, 0).toFixed(2)
)
});
});
if (_linux) {
let cmd = 'cat /proc/stat | grep "cpu "';
for (let i3 in result2) {
for (let j in result2[i3].pids) {
cmd += ";cat /proc/" + result2[i3].pids[j] + "/stat";
}
}
exec3(cmd, { maxBuffer: 1024 * 102400 }, function(error40, stdout2) {
let curr_processes = stdout2.toString().split("\n");
let all2 = parseProcStat(curr_processes.shift());
let list_new = {};
let resultProcess = {};
curr_processes.forEach((element) => {
resultProcess = calcProcStatLinux(element, all2, _services_cpu);
if (resultProcess.pid) {
let listPos = -1;
for (let i3 in result2) {
for (let j in result2[i3].pids) {
if (parseInt(result2[i3].pids[j]) === parseInt(resultProcess.pid)) {
listPos = i3;
}
}
}
if (listPos >= 0) {
result2[listPos].cpu += resultProcess.cpuu + resultProcess.cpus;
}
list_new[resultProcess.pid] = {
cpuu: resultProcess.cpuu,
cpus: resultProcess.cpus,
utime: resultProcess.utime,
stime: resultProcess.stime,
cutime: resultProcess.cutime,
cstime: resultProcess.cstime
};
}
});
_services_cpu.all = all2;
_services_cpu.list = Object.assign({}, list_new);
_services_cpu.ms = Date.now() - _services_cpu.ms;
_services_cpu.result = Object.assign({}, result2);
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
args2 = ["-o", "comm"];
util2.execSafe("ps", args2).then((stdout2) => {
if (stdout2) {
let lines = stdout2.replace(/ +/g, " ").replace(/,+/g, ".").split("\n");
srvs.forEach(function(srv2) {
let ps = lines.filter(function(e2) {
return e2.indexOf(srv2) !== -1;
});
result2.push({
name: srv2,
running: ps.length > 0,
startmode: "",
cpu: 0,
mem: 0
});
});
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
srvs.forEach(function(srv2) {
result2.push({
name: srv2,
running: false,
startmode: "",
cpu: 0,
mem: 0
});
});
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
}
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_windows) {
try {
let wincommand = "Get-CimInstance Win32_Service";
if (srvs[0] !== "*") {
wincommand += ' -Filter "';
srvs.forEach((srv2) => {
wincommand += `Name='${srv2}' or `;
});
wincommand = `${wincommand.slice(0, -4)}"`;
}
wincommand += " | select Name,Caption,Started,StartMode,ProcessId | fl";
util2.powerShell(wincommand).then((stdout, error40) => {
if (!error40) {
let serviceSections = stdout.split(/\n\s*\n/);
serviceSections.forEach((element) => {
if (element.trim() !== "") {
let lines = element.trim().split("\r\n");
let srvName = util2.getValue(lines, "Name", ":", true).toLowerCase();
let srvCaption = util2.getValue(lines, "Caption", ":", true).toLowerCase();
let started = util2.getValue(lines, "Started", ":", true);
let startMode = util2.getValue(lines, "StartMode", ":", true);
let pid = util2.getValue(lines, "ProcessId", ":", true);
if (srvString === "*" || srvs.indexOf(srvName) >= 0 || srvs.indexOf(srvCaption) >= 0) {
result2.push({
name: srvName,
running: started.toLowerCase() === "true",
startmode: startMode,
pids: [pid],
cpu: 0,
mem: 0
});
dataSrv.push(srvName);
dataSrv.push(srvCaption);
}
}
});
if (srvString !== "*") {
const srvsMissing = srvs.filter((e2) => dataSrv.indexOf(e2) === -1);
srvsMissing.forEach((srvName) => {
result2.push({
name: srvName,
running: false,
startmode: "",
pids: [],
cpu: 0,
mem: 0
});
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
srvs.forEach((srvName) => {
result2.push({
name: srvName,
running: false,
startmode: "",
cpu: 0,
mem: 0
});
});
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
} else {
if (callback) {
callback([]);
}
resolve25([]);
}
});
});
}
exports2.services = services;
function parseProcStat(line) {
const parts2 = line.replace(/ +/g, " ").split(" ");
const user = parts2.length >= 2 ? parseInt(parts2[1]) : 0;
const nice = parts2.length >= 3 ? parseInt(parts2[2]) : 0;
const system = parts2.length >= 4 ? parseInt(parts2[3]) : 0;
const idle = parts2.length >= 5 ? parseInt(parts2[4]) : 0;
const iowait = parts2.length >= 6 ? parseInt(parts2[5]) : 0;
const irq = parts2.length >= 7 ? parseInt(parts2[6]) : 0;
const softirq = parts2.length >= 8 ? parseInt(parts2[7]) : 0;
const steal = parts2.length >= 9 ? parseInt(parts2[8]) : 0;
const guest = parts2.length >= 10 ? parseInt(parts2[9]) : 0;
const guest_nice = parts2.length >= 11 ? parseInt(parts2[10]) : 0;
return user + nice + system + idle + iowait + irq + softirq + steal + guest + guest_nice;
}
function calcProcStatLinux(line, all2, _cpu_old) {
let statparts = line.replace(/ +/g, " ").split(")");
if (statparts.length >= 2) {
let parts2 = statparts[1].split(" ");
if (parts2.length >= 16) {
let pid = parseInt(statparts[0].split(" ")[0]);
let utime = parseInt(parts2[12]);
let stime = parseInt(parts2[13]);
let cutime = parseInt(parts2[14]);
let cstime = parseInt(parts2[15]);
let cpuu = 0;
let cpus2 = 0;
if (_cpu_old.all > 0 && _cpu_old.list[pid]) {
cpuu = (utime + cutime - _cpu_old.list[pid].utime - _cpu_old.list[pid].cutime) / (all2 - _cpu_old.all) * 100;
cpus2 = (stime + cstime - _cpu_old.list[pid].stime - _cpu_old.list[pid].cstime) / (all2 - _cpu_old.all) * 100;
} else {
cpuu = (utime + cutime) / all2 * 100;
cpus2 = (stime + cstime) / all2 * 100;
}
return {
pid,
utime,
stime,
cutime,
cstime,
cpuu,
cpus: cpus2
};
} else {
return {
pid: 0,
utime: 0,
stime: 0,
cutime: 0,
cstime: 0,
cpuu: 0,
cpus: 0
};
}
} else {
return {
pid: 0,
utime: 0,
stime: 0,
cutime: 0,
cstime: 0,
cpuu: 0,
cpus: 0
};
}
}
function calcProcStatWin(procStat, all2, _cpu_old) {
let cpuu = 0;
let cpus2 = 0;
if (_cpu_old.all > 0 && _cpu_old.list[procStat.pid]) {
cpuu = (procStat.utime - _cpu_old.list[procStat.pid].utime) / (all2 - _cpu_old.all) * 100;
cpus2 = (procStat.stime - _cpu_old.list[procStat.pid].stime) / (all2 - _cpu_old.all) * 100;
} else {
cpuu = procStat.utime / all2 * 100;
cpus2 = procStat.stime / all2 * 100;
}
return {
pid: procStat.pid,
utime: procStat.utime,
stime: procStat.stime,
cpuu: cpuu > 0 ? cpuu : 0,
cpus: cpus2 > 0 ? cpus2 : 0
};
}
function processes(callback) {
let parsedhead = [];
function getName(command) {
command = command || "";
let result2 = command.split(" ")[0];
if (result2.substr(-1) === ":") {
result2 = result2.substr(0, result2.length - 1);
}
if (result2.substr(0, 1) !== "[") {
let parts2 = result2.split("/");
if (isNaN(parseInt(parts2[parts2.length - 1]))) {
result2 = parts2[parts2.length - 1];
} else {
result2 = parts2[0];
}
}
return result2;
}
function parseLine(line) {
let offset = 0;
let offset2 = 0;
function checkColumn(i3) {
offset = offset2;
if (parsedhead[i3]) {
offset2 = line.substring(parsedhead[i3].to + offset, 1e4).indexOf(" ");
} else {
offset2 = 1e4;
}
}
checkColumn(0);
const pid = parseInt(line.substring(parsedhead[0].from + offset, parsedhead[0].to + offset2));
checkColumn(1);
const ppid = parseInt(line.substring(parsedhead[1].from + offset, parsedhead[1].to + offset2));
checkColumn(2);
const cpu = parseFloat(line.substring(parsedhead[2].from + offset, parsedhead[2].to + offset2).replace(/,/g, "."));
checkColumn(3);
const mem = parseFloat(line.substring(parsedhead[3].from + offset, parsedhead[3].to + offset2).replace(/,/g, "."));
checkColumn(4);
const priority = parseInt(line.substring(parsedhead[4].from + offset, parsedhead[4].to + offset2));
checkColumn(5);
const vsz = parseInt(line.substring(parsedhead[5].from + offset, parsedhead[5].to + offset2));
checkColumn(6);
const rss = parseInt(line.substring(parsedhead[6].from + offset, parsedhead[6].to + offset2));
checkColumn(7);
const nice = parseInt(line.substring(parsedhead[7].from + offset, parsedhead[7].to + offset2)) || 0;
checkColumn(8);
const started = !_sunos ? parseElapsedTime(line.substring(parsedhead[8].from + offset, parsedhead[8].to + offset2).trim()) : parseTimeUnix(line.substring(parsedhead[8].from + offset, parsedhead[8].to + offset2).trim());
checkColumn(9);
let state = line.substring(parsedhead[9].from + offset, parsedhead[9].to + offset2).trim();
state = state[0] === "R" ? "running" : state[0] === "S" ? "sleeping" : state[0] === "T" ? "stopped" : state[0] === "W" ? "paging" : state[0] === "X" ? "dead" : state[0] === "Z" ? "zombie" : state[0] === "D" || state[0] === "U" ? "blocked" : "unknown";
checkColumn(10);
let tty3 = line.substring(parsedhead[10].from + offset, parsedhead[10].to + offset2).trim();
if (tty3 === "?" || tty3 === "??") {
tty3 = "";
}
checkColumn(11);
const user = line.substring(parsedhead[11].from + offset, parsedhead[11].to + offset2).trim();
checkColumn(12);
let cmdPath = "";
let command = "";
let params = "";
let fullcommand = line.substring(parsedhead[12].from + offset, parsedhead[12].to + offset2).trim();
if (fullcommand.substr(fullcommand.length - 1) === "]") {
fullcommand = fullcommand.slice(0, -1);
}
if (fullcommand.substr(0, 1) === "[") {
command = fullcommand.substring(1);
} else {
const p1 = fullcommand.indexOf("(");
const p2 = fullcommand.indexOf(")");
const p3 = fullcommand.indexOf("/");
const p4 = fullcommand.indexOf(":");
if (p1 < p2 && p1 < p3 && p3 < p2) {
command = fullcommand.split(" ")[0];
command = command.replace(/:/g, "");
} else {
if (p4 > 0 && (p3 === -1 || p3 > 3)) {
command = fullcommand.split(" ")[0];
command = command.replace(/:/g, "");
} else {
let firstParamPos = fullcommand.indexOf(" -");
let firstParamPathPos = fullcommand.indexOf(" /");
firstParamPos = firstParamPos >= 0 ? firstParamPos : 1e4;
firstParamPathPos = firstParamPathPos >= 0 ? firstParamPathPos : 1e4;
const firstPos = Math.min(firstParamPos, firstParamPathPos);
let tmpCommand = fullcommand.substr(0, firstPos);
const tmpParams = fullcommand.substr(firstPos);
const lastSlashPos = tmpCommand.lastIndexOf("/");
if (lastSlashPos >= 0) {
cmdPath = tmpCommand.substr(0, lastSlashPos);
tmpCommand = tmpCommand.substr(lastSlashPos + 1);
}
if (firstPos === 1e4 && tmpCommand.indexOf(" ") > -1) {
const parts2 = tmpCommand.split(" ");
if (fs84.existsSync(path101.join(cmdPath, parts2[0]))) {
command = parts2.shift();
params = (parts2.join(" ") + " " + tmpParams).trim();
} else {
command = tmpCommand.trim();
params = tmpParams.trim();
}
} else {
command = tmpCommand.trim();
params = tmpParams.trim();
}
}
}
}
return {
pid,
parentPid: ppid,
name: _linux ? getName(command) : command,
cpu,
cpuu: 0,
cpus: 0,
mem,
priority,
memVsz: vsz,
memRss: rss,
nice,
started,
state,
tty: tty3,
user,
command,
params,
path: cmdPath
};
}
function parseProcesses(lines) {
let result2 = [];
if (lines.length > 1) {
let head = lines[0];
parsedhead = util2.parseHead(head, 8);
lines.shift();
lines.forEach((line) => {
if (line.trim() !== "") {
result2.push(parseLine(line));
}
});
}
return result2;
}
function parseProcesses2(lines) {
function formatDateTime(time3) {
const month = ("0" + (time3.getMonth() + 1).toString()).slice(-2);
const year = time3.getFullYear().toString();
const day = ("0" + time3.getDate().toString()).slice(-2);
const hours = ("0" + time3.getHours().toString()).slice(-2);
const mins = ("0" + time3.getMinutes().toString()).slice(-2);
const secs = ("0" + time3.getSeconds().toString()).slice(-2);
return year + "-" + month + "-" + day + " " + hours + ":" + mins + ":" + secs;
}
function parseElapsed(etime) {
let started = "";
if (etime.indexOf("d") >= 0) {
const elapsed_parts = etime.split("d");
started = formatDateTime(new Date(Date.now() - (elapsed_parts[0] * 24 + elapsed_parts[1] * 1) * 60 * 60 * 1e3));
} else if (etime.indexOf("h") >= 0) {
const elapsed_parts = etime.split("h");
started = formatDateTime(new Date(Date.now() - (elapsed_parts[0] * 60 + elapsed_parts[1] * 1) * 60 * 1e3));
} else if (etime.indexOf(":") >= 0) {
const elapsed_parts = etime.split(":");
started = formatDateTime(new Date(Date.now() - (elapsed_parts.length > 1 ? (elapsed_parts[0] * 60 + elapsed_parts[1]) * 1e3 : elapsed_parts[0] * 1e3)));
}
return started;
}
let result2 = [];
lines.forEach((line) => {
if (line.trim() !== "") {
line = line.trim().replace(/ +/g, " ").replace(/,+/g, ".");
const parts2 = line.split(" ");
const command = parts2.slice(9).join(" ");
const pmem = parseFloat((1 * parseInt(parts2[3]) * 1024 / os30.totalmem()).toFixed(1));
const started = parseElapsed(parts2[5]);
result2.push({
pid: parseInt(parts2[0]),
parentPid: parseInt(parts2[1]),
name: getName(command),
cpu: 0,
cpuu: 0,
cpus: 0,
mem: pmem,
priority: 0,
memVsz: parseInt(parts2[2]),
memRss: parseInt(parts2[3]),
nice: parseInt(parts2[4]),
started,
state: parts2[6] === "R" ? "running" : parts2[6] === "S" ? "sleeping" : parts2[6] === "T" ? "stopped" : parts2[6] === "W" ? "paging" : parts2[6] === "X" ? "dead" : parts2[6] === "Z" ? "zombie" : parts2[6] === "D" || parts2[6] === "U" ? "blocked" : "unknown",
tty: parts2[7],
user: parts2[8],
command
});
}
});
return result2;
}
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
all: 0,
running: 0,
blocked: 0,
sleeping: 0,
unknown: 0,
list: []
};
let cmd = "";
if (_processes_cpu.ms && Date.now() - _processes_cpu.ms >= 500 || _processes_cpu.ms === 0) {
if (_linux || _freebsd || _openbsd || _netbsd || _darwin || _sunos) {
if (_linux) {
cmd = "export LC_ALL=C; ps -axo pid:11,ppid:11,pcpu:6,pmem:6,pri:5,vsz:11,rss:11,ni:5,etime:30,state:5,tty:15,user:20,command; unset LC_ALL";
}
if (_freebsd || _openbsd || _netbsd) {
cmd = "export LC_ALL=C; ps -axo pid,ppid,pcpu,pmem,pri,vsz,rss,ni,etime,state,tty,user,command; unset LC_ALL";
}
if (_darwin) {
cmd = "ps -axo pid,ppid,pcpu,pmem,pri,vsz=temp_title_1,rss=temp_title_2,nice,etime=temp_title_3,state,tty,user,command -r";
}
if (_sunos) {
cmd = "ps -Ao pid,ppid,pcpu,pmem,pri,vsz,rss,nice,stime,s,tty,user,comm";
}
try {
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error40, stdout) => {
if (!error40 && stdout.toString().trim()) {
result2.list = parseProcesses(stdout.toString().split("\n")).slice();
result2.all = result2.list.length;
result2.running = result2.list.filter((e2) => {
return e2.state === "running";
}).length;
result2.blocked = result2.list.filter((e2) => {
return e2.state === "blocked";
}).length;
result2.sleeping = result2.list.filter((e2) => {
return e2.state === "sleeping";
}).length;
if (_linux) {
cmd = 'cat /proc/stat | grep "cpu "';
result2.list.forEach((element) => {
cmd += ";cat /proc/" + element.pid + "/stat";
});
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error41, stdout2) => {
let curr_processes = stdout2.toString().split("\n");
let all2 = parseProcStat(curr_processes.shift());
let list_new = {};
let resultProcess = {};
curr_processes.forEach((element) => {
resultProcess = calcProcStatLinux(element, all2, _processes_cpu);
if (resultProcess.pid) {
let listPos = result2.list.map((e2) => {
return e2.pid;
}).indexOf(resultProcess.pid);
if (listPos >= 0) {
result2.list[listPos].cpu = resultProcess.cpuu + resultProcess.cpus;
result2.list[listPos].cpuu = resultProcess.cpuu;
result2.list[listPos].cpus = resultProcess.cpus;
}
list_new[resultProcess.pid] = {
cpuu: resultProcess.cpuu,
cpus: resultProcess.cpus,
utime: resultProcess.utime,
stime: resultProcess.stime,
cutime: resultProcess.cutime,
cstime: resultProcess.cstime
};
}
});
_processes_cpu.all = all2;
_processes_cpu.list = Object.assign({}, list_new);
_processes_cpu.ms = Date.now() - _processes_cpu.ms;
_processes_cpu.result = Object.assign({}, result2);
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
cmd = "ps -o pid,ppid,vsz,rss,nice,etime,stat,tty,user,comm";
if (_sunos) {
cmd = "ps -o pid,ppid,vsz,rss,nice,etime,s,tty,user,comm";
}
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error41, stdout2) => {
if (!error41) {
let lines = stdout2.toString().split("\n");
lines.shift();
result2.list = parseProcesses2(lines).slice();
result2.all = result2.list.length;
result2.running = result2.list.filter((e2) => {
return e2.state === "running";
}).length;
result2.blocked = result2.list.filter((e2) => {
return e2.state === "blocked";
}).length;
result2.sleeping = result2.list.filter((e2) => {
return e2.state === "sleeping";
}).length;
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else if (_windows) {
try {
util2.powerShell(
`Get-CimInstance Win32_Process | select-Object ProcessId,ParentProcessId,ExecutionState,Caption,CommandLine,ExecutablePath,UserModeTime,KernelModeTime,WorkingSetSize,Priority,PageFileUsage,
@{n="CreationDate";e={$_.CreationDate.ToString("yyyy-MM-dd HH:mm:ss")}} | ConvertTo-Json -compress`
).then((stdout, error40) => {
if (!error40) {
const procs = [];
const procStats = [];
const list_new = {};
let allcpuu = 0;
let allcpus = 0;
let processArray = [];
try {
stdout = stdout.trim().replace(/^\uFEFF/, "");
processArray = JSON.parse(stdout);
} catch {
}
processArray.forEach((element) => {
const pid = element.ProcessId;
const parentPid = element.ParentProcessId;
const statusValue = element.ExecutionState || null;
const name3 = element.Caption;
const commandLine = element.CommandLine;
const commandPath = element.ExecutablePath;
const utime = element.UserModeTime;
const stime = element.KernelModeTime;
const memw = element.WorkingSetSize;
allcpuu = allcpuu + utime;
allcpus = allcpus + stime;
result2.all++;
if (!statusValue) {
result2.unknown++;
}
if (statusValue === "3") {
result2.running++;
}
if (statusValue === "4" || statusValue === "5") {
result2.blocked++;
}
procStats.push({
pid,
utime,
stime,
cpu: 0,
cpuu: 0,
cpus: 0
});
procs.push({
pid,
parentPid,
name: name3,
cpu: 0,
cpuu: 0,
cpus: 0,
mem: memw / os30.totalmem() * 100,
priority: element.Priority | null,
memVsz: element.PageFileUsage || null,
memRss: Math.floor((element.WorkingSetSize || 0) / 1024),
nice: 0,
started: element.CreationDate,
state: statusValue ? _winStatusValues[statusValue] : _winStatusValues[0],
tty: "",
user: "",
command: commandLine || name3,
path: commandPath,
params: ""
});
});
result2.sleeping = result2.all - result2.running - result2.blocked - result2.unknown;
result2.list = procs;
procStats.forEach((element) => {
let resultProcess = calcProcStatWin(element, allcpuu + allcpus, _processes_cpu);
let listPos = result2.list.map((e2) => e2.pid).indexOf(resultProcess.pid);
if (listPos >= 0) {
result2.list[listPos].cpu = resultProcess.cpuu + resultProcess.cpus;
result2.list[listPos].cpuu = resultProcess.cpuu;
result2.list[listPos].cpus = resultProcess.cpus;
}
list_new[resultProcess.pid] = {
cpuu: resultProcess.cpuu,
cpus: resultProcess.cpus,
utime: resultProcess.utime,
stime: resultProcess.stime
};
});
_processes_cpu.all = allcpuu + allcpus;
_processes_cpu.all_utime = allcpuu;
_processes_cpu.all_stime = allcpus;
_processes_cpu.list = Object.assign({}, list_new);
_processes_cpu.ms = Date.now() - _processes_cpu.ms;
_processes_cpu.result = Object.assign({}, result2);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(_processes_cpu.result);
}
resolve25(_processes_cpu.result);
}
});
});
}
exports2.processes = processes;
function processLoad(proc2, callback) {
if (util2.isFunction(proc2) && !callback) {
callback = proc2;
proc2 = "";
}
return new Promise((resolve25) => {
process.nextTick(() => {
proc2 = proc2 || "";
if (typeof proc2 !== "string") {
if (callback) {
callback([]);
}
return resolve25([]);
}
let processesString = "";
try {
processesString.__proto__.toLowerCase = util2.stringToLower;
processesString.__proto__.replace = util2.stringReplace;
processesString.__proto__.toString = util2.stringToString;
processesString.__proto__.substr = util2.stringSubstr;
processesString.__proto__.substring = util2.stringSubstring;
processesString.__proto__.trim = util2.stringTrim;
processesString.__proto__.startsWith = util2.stringStartWith;
} catch {
Object.setPrototypeOf(processesString, util2.stringObj);
}
const s2 = util2.sanitizeShellString(proc2);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
processesString = processesString + s2[i3];
}
}
processesString = processesString.trim().toLowerCase().replace(/, /g, "|").replace(/,+/g, "|");
if (processesString === "") {
processesString = "*";
}
if (util2.isPrototypePolluted() && processesString !== "*") {
processesString = "------";
}
let processes2 = processesString.split("|");
let result2 = [];
const procSanitized = util2.isPrototypePolluted() ? "" : util2.sanitizeShellString(proc2) || "*";
if (procSanitized && processes2.length && processes2[0] !== "------") {
if (_windows) {
try {
util2.powerShell("Get-CimInstance Win32_Process | select ProcessId,Caption,UserModeTime,KernelModeTime,WorkingSetSize | ConvertTo-Json -compress").then((stdout, error40) => {
if (!error40) {
const procStats = [];
const list_new = {};
let allcpuu = 0;
let allcpus = 0;
let processArray = [];
try {
stdout = stdout.trim().replace(/^\uFEFF/, "");
processArray = JSON.parse(stdout);
} catch {
}
processArray.forEach((element) => {
const pid = element.ProcessId;
const name3 = element.Caption;
const utime = element.UserModeTime;
const stime = element.KernelModeTime;
const mem = element.WorkingSetSize;
allcpuu = allcpuu + utime;
allcpus = allcpus + stime;
procStats.push({
pid,
name: name3,
utime,
stime,
cpu: 0,
cpuu: 0,
cpus: 0,
mem
});
let pname = "";
let inList = false;
processes2.forEach((proc3) => {
if (name3.toLowerCase().indexOf(proc3.toLowerCase()) >= 0 && !inList) {
inList = true;
pname = proc3;
}
});
if (processesString === "*" || inList) {
let processFound = false;
result2.forEach((item) => {
if (item.proc.toLowerCase() === pname.toLowerCase()) {
item.pids.push(pid);
item.mem += mem / os30.totalmem() * 100;
processFound = true;
}
});
if (!processFound) {
result2.push({
proc: pname,
pid,
pids: [pid],
cpu: 0,
mem: mem / os30.totalmem() * 100
});
}
}
});
if (processesString !== "*") {
let processesMissing = processes2.filter((name3) => procStats.filter((item) => item.name.toLowerCase().indexOf(name3) >= 0).length === 0);
processesMissing.forEach((procName) => {
result2.push({
proc: procName,
pid: null,
pids: [],
cpu: 0,
mem: 0
});
});
}
procStats.forEach((element) => {
let resultProcess = calcProcStatWin(element, allcpuu + allcpus, _process_cpu);
let listPos = -1;
for (let j = 0; j < result2.length; j++) {
if (result2[j].pid === resultProcess.pid || result2[j].pids.indexOf(resultProcess.pid) >= 0) {
listPos = j;
}
}
if (listPos >= 0) {
result2[listPos].cpu += resultProcess.cpuu + resultProcess.cpus;
}
list_new[resultProcess.pid] = {
cpuu: resultProcess.cpuu,
cpus: resultProcess.cpus,
utime: resultProcess.utime,
stime: resultProcess.stime
};
});
_process_cpu.all = allcpuu + allcpus;
_process_cpu.all_utime = allcpuu;
_process_cpu.all_stime = allcpus;
_process_cpu.list = Object.assign({}, list_new);
_process_cpu.ms = Date.now() - _process_cpu.ms;
_process_cpu.result = JSON.parse(JSON.stringify(result2));
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
if (_darwin || _linux || _freebsd || _openbsd || _netbsd) {
const params = ["-axo", "pid,ppid,pcpu,pmem,comm"];
util2.execSafe("ps", params).then((stdout) => {
if (stdout) {
const procStats = [];
const lines = stdout.toString().split("\n").filter((line) => {
if (processesString === "*") {
return true;
}
if (line.toLowerCase().indexOf("grep") !== -1) {
return false;
}
let found = false;
processes2.forEach((item) => {
found = found || line.toLowerCase().indexOf(item.toLowerCase()) >= 0;
});
return found;
});
lines.shift();
lines.forEach((line) => {
const data = line.trim().replace(/ +/g, " ").split(" ");
if (data.length > 4) {
const linuxName = data[4].indexOf("/") >= 0 ? data[4].substring(0, data[4].indexOf("/")) : data[4];
const name3 = _linux ? linuxName : data[4].substring(data[4].lastIndexOf("/") + 1);
procStats.push({
name: name3,
pid: parseInt(data[0]) || 0,
ppid: parseInt(data[1]) || 0,
cpu: parseFloat(data[2].replace(",", ".")),
mem: parseFloat(data[3].replace(",", "."))
});
}
});
procStats.forEach((item) => {
let listPos = -1;
let inList = false;
let name3 = item.name;
for (let j = 0; j < result2.length; j++) {
if (item.name.toLowerCase().indexOf(result2[j].proc.toLowerCase()) >= 0) {
listPos = j;
}
}
processes2.forEach((proc3) => {
if (item.name.toLowerCase().indexOf(proc3.toLowerCase()) >= 0 && !inList) {
inList = true;
name3 = proc3;
}
});
if (processesString === "*" || inList) {
if (listPos < 0) {
if (name3) {
result2.push({
proc: name3,
pid: item.pid,
pids: [item.pid],
cpu: item.cpu,
mem: item.mem
});
}
} else {
if (item.ppid < 10) {
result2[listPos].pid = item.pid;
}
result2[listPos].pids.push(item.pid);
result2[listPos].cpu += item.cpu;
result2[listPos].mem += item.mem;
}
}
});
if (processesString !== "*") {
let processesMissing = processes2.filter((name3) => {
return procStats.filter((item) => {
return item.name.toLowerCase().indexOf(name3) >= 0;
}).length === 0;
});
processesMissing.forEach((procName) => {
result2.push({
proc: procName,
pid: null,
pids: [],
cpu: 0,
mem: 0
});
});
}
if (_linux) {
result2.forEach((item) => {
item.cpu = 0;
});
let cmd = 'cat /proc/stat | grep "cpu "';
for (let i3 in result2) {
for (let j in result2[i3].pids) {
cmd += ";cat /proc/" + result2[i3].pids[j] + "/stat";
}
}
exec3(cmd, { maxBuffer: 1024 * 102400 }, (error40, stdout2) => {
let curr_processes = stdout2.toString().split("\n");
let all2 = parseProcStat(curr_processes.shift());
let list_new = {};
let resultProcess = {};
curr_processes.forEach((element) => {
resultProcess = calcProcStatLinux(element, all2, _process_cpu);
if (resultProcess.pid) {
let resultItemId = -1;
for (let i3 in result2) {
if (result2[i3].pids.indexOf(resultProcess.pid) >= 0) {
resultItemId = i3;
}
}
if (resultItemId >= 0) {
result2[resultItemId].cpu += resultProcess.cpuu + resultProcess.cpus;
}
list_new[resultProcess.pid] = {
cpuu: resultProcess.cpuu,
cpus: resultProcess.cpus,
utime: resultProcess.utime,
stime: resultProcess.stime,
cutime: resultProcess.cutime,
cstime: resultProcess.cstime
};
}
});
result2.forEach((item) => {
item.cpu = Math.round(item.cpu * 100) / 100;
});
_process_cpu.all = all2;
_process_cpu.list = Object.assign({}, list_new);
_process_cpu.ms = Date.now() - _process_cpu.ms;
_process_cpu.result = Object.assign({}, result2);
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
}
}
});
});
}
exports2.processLoad = processLoad;
}
});
// node_modules/systeminformation/lib/users.js
var require_users = __commonJS({
"node_modules/systeminformation/lib/users.js"(exports2) {
"use strict";
var exec3 = __require("child_process").exec;
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function parseDate(dtMon, dtDay) {
let dt = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
try {
dt = "" + (/* @__PURE__ */ new Date()).getFullYear() + "-" + ("0" + ("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC".indexOf(dtMon.toUpperCase()) / 3 + 1)).slice(-2) + "-" + ("0" + dtDay).slice(-2);
if (new Date(dt) > /* @__PURE__ */ new Date()) {
dt = "" + ((/* @__PURE__ */ new Date()).getFullYear() - 1) + "-" + ("0" + ("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC".indexOf(dtMon.toUpperCase()) / 3 + 1)).slice(-2) + "-" + ("0" + dtDay).slice(-2);
}
} catch {
util2.noop();
}
return dt;
}
function parseUsersLinux(lines, phase) {
const result2 = [];
let result_who = [];
const result_w = {};
let w_first = true;
let w_header = [];
const w_pos = [];
let who_line = {};
let is_whopart = true;
let is_whoerror = false;
lines.forEach((line) => {
if (line === "---") {
is_whopart = false;
} else {
const l2 = line.replace(/ +/g, " ").split(" ");
if (is_whopart) {
if (line.toLowerCase().indexOf("unexpected") >= 0 || line.toLowerCase().indexOf("unrecognized") >= 0) {
is_whoerror = true;
result_who = [];
}
if (!is_whoerror) {
const timePos = l2 && l2.length > 4 && l2[4].indexOf(":") > 0 ? 4 : 3;
result_who.push({
user: l2[0],
tty: l2[1],
date: timePos === 4 ? parseDate(l2[2], l2[3]) : l2[2],
time: l2[timePos],
ip: l2 && l2.length > timePos + 1 ? l2[timePos + 1].replace(/\(/g, "").replace(/\)/g, "") : "",
command: ""
});
}
} else {
if (w_first) {
if (line[0] !== " ") {
w_header = l2;
w_header.forEach((item) => {
w_pos.push(line.indexOf(item));
});
w_first = false;
}
} else {
result_w.user = line.substring(w_pos[0], w_pos[1] - 1).trim();
result_w.tty = line.substring(w_pos[1], w_pos[2] - 1).trim();
result_w.ip = line.substring(w_pos[2], w_pos[3] - 1).replace(/\(/g, "").replace(/\)/g, "").trim();
result_w.command = line.substring(w_pos[7], 1e3).trim();
if (result_who.length || phase === 1) {
who_line = result_who.filter((obj) => {
return obj.user.substring(0, 8).trim() === result_w.user && obj.tty === result_w.tty;
});
} else {
who_line = [{ user: result_w.user, tty: result_w.tty, date: "", time: "", ip: "" }];
}
if (who_line.length === 1 && who_line[0].user !== "") {
result2.push({
user: who_line[0].user,
tty: who_line[0].tty,
date: who_line[0].date,
time: who_line[0].time,
ip: who_line[0].ip,
command: result_w.command
});
}
}
}
}
});
if (result2.length === 0 && phase === 2) {
return result_who;
} else {
return result2;
}
}
function parseUsersDarwin(lines) {
const result2 = [];
const result_who = [];
const result_w = {};
let who_line = {};
let is_whopart = true;
lines.forEach((line) => {
if (line === "---") {
is_whopart = false;
} else {
const l2 = line.replace(/ +/g, " ").split(" ");
if (is_whopart) {
result_who.push({
user: l2[0],
tty: l2[1],
date: parseDate(l2[2], l2[3]),
time: l2[4]
});
} else {
result_w.user = l2[0];
result_w.tty = l2[1];
result_w.ip = l2[2] !== "-" ? l2[2] : "";
result_w.command = l2.slice(5, 1e3).join(" ");
who_line = result_who.filter((obj) => obj.user.substring(0, 10) === result_w.user.substring(0, 10) && (obj.tty.substring(3, 1e3) === result_w.tty || obj.tty === result_w.tty));
if (who_line.length === 1) {
result2.push({
user: who_line[0].user,
tty: who_line[0].tty,
date: who_line[0].date,
time: who_line[0].time,
ip: result_w.ip,
command: result_w.command
});
}
}
}
});
return result2;
}
function users(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = [];
if (_linux) {
exec3('export LC_ALL=C; who --ips; echo "---"; w; unset LC_ALL | tail -n +2', (error40, stdout) => {
if (!error40) {
let lines = stdout.toString().split("\n");
result2 = parseUsersLinux(lines, 1);
if (result2.length === 0) {
exec3('who; echo "---"; w | tail -n +2', (error41, stdout2) => {
if (!error41) {
lines = stdout2.toString().split("\n");
result2 = parseUsersLinux(lines, 2);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
}
if (_freebsd || _openbsd || _netbsd) {
exec3('who; echo "---"; w -ih', (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
result2 = parseUsersDarwin(lines);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
exec3('who; echo "---"; w -h', (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
result2 = parseUsersDarwin(lines);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
exec3('export LC_ALL=C; who; echo "---"; w -ih; unset LC_ALL', (error40, stdout) => {
if (!error40) {
const lines = stdout.toString().split("\n");
result2 = parseUsersDarwin(lines);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
try {
let cmd = `Get-CimInstance Win32_LogonSession | select LogonId,@{n="StartTime";e={$_.StartTime.ToString("yyyy-MM-dd HH:mm:ss")}} | fl; echo '#-#-#-#';`;
cmd += "Get-CimInstance Win32_LoggedOnUser | select antecedent,dependent | fl ; echo '#-#-#-#';";
cmd += `$process = (Get-CimInstance Win32_Process -Filter "name = 'explorer.exe'"); Invoke-CimMethod -InputObject $process[0] -MethodName GetOwner | select user, domain | fl; get-process -name explorer | select-object sessionid | fl; echo '#-#-#-#';`;
cmd += "query user";
util2.powerShell(cmd).then((data) => {
if (data) {
data = data.split("#-#-#-#");
const sessions = parseWinSessions((data[0] || "").split(/\n\s*\n/));
const loggedons = parseWinLoggedOn((data[1] || "").split(/\n\s*\n/));
const queryUser = parseWinUsersQuery((data[3] || "").split("\r\n"));
const users2 = parseWinUsers((data[2] || "").split(/\n\s*\n/), queryUser);
for (let id in loggedons) {
if ({}.hasOwnProperty.call(loggedons, id)) {
loggedons[id].dateTime = {}.hasOwnProperty.call(sessions, id) ? sessions[id] : "";
}
}
users2.forEach((user) => {
let dateTime = "";
for (let id in loggedons) {
if ({}.hasOwnProperty.call(loggedons, id)) {
if (loggedons[id].user === user.user && (!dateTime || dateTime < loggedons[id].dateTime)) {
dateTime = loggedons[id].dateTime;
}
}
}
result2.push({
user: user.user,
tty: user.tty,
date: `${dateTime.substring(0, 10)}`,
time: `${dateTime.substring(11, 19)}`,
ip: "",
command: ""
});
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
function parseWinSessions(sessionParts) {
const sessions = {};
sessionParts.forEach((session) => {
const lines = session.split("\r\n");
const id = util2.getValue(lines, "LogonId");
const starttime = util2.getValue(lines, "starttime");
if (id) {
sessions[id] = starttime;
}
});
return sessions;
}
function fuzzyMatch(name1, name22) {
name1 = name1.toLowerCase();
name22 = name22.toLowerCase();
let eq = 0;
let len = name1.length;
if (name22.length > len) {
len = name22.length;
}
for (let i3 = 0; i3 < len; i3++) {
const c1 = name1[i3] || "";
const c22 = name22[i3] || "";
if (c1 === c22) {
eq++;
}
}
return len > 10 ? eq / len > 0.9 : len > 0 ? eq / len > 0.8 : false;
}
function parseWinUsers(userParts, userQuery) {
const users2 = [];
userParts.forEach((user) => {
const lines = user.split("\r\n");
const domain2 = util2.getValue(lines, "domain", ":", true);
const username = util2.getValue(lines, "user", ":", true);
const sessionid = util2.getValue(lines, "sessionid", ":", true);
if (username) {
const quser = userQuery.filter((item) => fuzzyMatch(item.user, username));
users2.push({
domain: domain2,
user: username,
tty: quser && quser[0] && quser[0].tty ? quser[0].tty : sessionid
});
}
});
return users2;
}
function parseWinLoggedOn(loggedonParts) {
const loggedons = {};
loggedonParts.forEach((loggedon) => {
const lines = loggedon.split("\r\n");
const antecendent = util2.getValue(lines, "antecedent", ":", true);
let parts2 = antecendent.split("=");
const name3 = parts2.length > 2 ? parts2[1].split(",")[0].replace(/"/g, "").trim() : "";
const domain2 = parts2.length > 2 ? parts2[2].replace(/"/g, "").replace(/\)/g, "").trim() : "";
const dependent = util2.getValue(lines, "dependent", ":", true);
parts2 = dependent.split("=");
const id = parts2.length > 1 ? parts2[1].replace(/"/g, "").replace(/\)/g, "").trim() : "";
if (id) {
loggedons[id] = {
domain: domain2,
user: name3
};
}
});
return loggedons;
}
function parseWinUsersQuery(lines) {
lines = lines.filter((item) => item);
let result2 = [];
const header = lines[0];
const headerDelimiter = [];
if (header) {
const start2 = header[0] === " " ? 1 : 0;
headerDelimiter.push(start2 - 1);
let nextSpace = 0;
for (let i3 = start2 + 1; i3 < header.length; i3++) {
if (header[i3] === " " && (header[i3 - 1] === " " || header[i3 - 1] === ".")) {
nextSpace = i3;
} else {
if (nextSpace) {
headerDelimiter.push(nextSpace);
nextSpace = 0;
}
}
}
for (let i3 = 1; i3 < lines.length; i3++) {
if (lines[i3].trim()) {
const user = lines[i3].substring(headerDelimiter[0] + 1, headerDelimiter[1]).trim() || "";
const tty3 = lines[i3].substring(headerDelimiter[1] + 1, headerDelimiter[2] - 2).trim() || "";
result2.push({
user,
tty: tty3
});
}
}
}
return result2;
}
exports2.users = users;
}
});
// node_modules/systeminformation/lib/internet.js
var require_internet = __commonJS({
"node_modules/systeminformation/lib/internet.js"(exports2) {
"use strict";
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function inetChecksite(url3, callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = {
url: url3,
ok: false,
status: 404,
ms: null
};
if (typeof url3 !== "string") {
if (callback) {
callback(result2);
}
return resolve25(result2);
}
let urlSanitized = "";
const s2 = util2.sanitizeShellString(url3, true);
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
try {
s2[i3].__proto__.toLowerCase = util2.stringToLower;
} catch {
Object.setPrototypeOf(s2[i3], util2.stringObj);
}
const sl = s2[i3].toLowerCase();
if (sl && sl[0] && !sl[1] && sl[0].length === 1) {
urlSanitized = urlSanitized + sl[0];
}
}
}
result2.url = urlSanitized;
try {
if (urlSanitized && !util2.isPrototypePolluted()) {
try {
urlSanitized.__proto__.startsWith = util2.stringStartWith;
} catch {
Object.setPrototypeOf(urlSanitized, util2.stringObj);
}
if (urlSanitized.startsWith("file:") || urlSanitized.startsWith("gopher:") || urlSanitized.startsWith("telnet:") || urlSanitized.startsWith("mailto:") || urlSanitized.startsWith("news:") || urlSanitized.startsWith("nntp:")) {
if (callback) {
callback(result2);
}
return resolve25(result2);
}
util2.checkWebsite(urlSanitized).then((res) => {
result2.status = res.statusCode;
result2.ok = res.statusCode >= 200 && res.statusCode <= 399;
result2.ms = result2.ok ? res.time : null;
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.inetChecksite = inetChecksite;
function inetLatency(host, callback) {
if (util2.isFunction(host) && !callback) {
callback = host;
host = "";
}
host = host || "8.8.8.8";
return new Promise((resolve25) => {
process.nextTick(() => {
if (typeof host !== "string") {
if (callback) {
callback(null);
}
return resolve25(null);
}
let hostSanitized = "";
const s2 = (util2.isPrototypePolluted() ? "8.8.8.8" : util2.sanitizeShellString(host, true)).trim();
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (!(s2[i3] === void 0)) {
try {
s2[i3].__proto__.toLowerCase = util2.stringToLower;
} catch {
Object.setPrototypeOf(s2[i3], util2.stringObj);
}
const sl = s2[i3].toLowerCase();
if (sl && sl[0] && !sl[1]) {
hostSanitized = hostSanitized + sl[0];
}
}
}
try {
hostSanitized.__proto__.startsWith = util2.stringStartWith;
} catch {
Object.setPrototypeOf(hostSanitized, util2.stringObj);
}
if (hostSanitized.startsWith("file:") || hostSanitized.startsWith("gopher:") || hostSanitized.startsWith("telnet:") || hostSanitized.startsWith("mailto:") || hostSanitized.startsWith("news:") || hostSanitized.startsWith("nntp:")) {
if (callback) {
callback(null);
}
return resolve25(null);
}
let params;
if (_linux || _freebsd || _openbsd || _netbsd || _darwin) {
if (_linux) {
params = ["-c", "2", "-w", "3", hostSanitized];
}
if (_freebsd || _openbsd || _netbsd) {
params = ["-c", "2", "-t", "3", hostSanitized];
}
if (_darwin) {
params = ["-c2", "-t3", hostSanitized];
}
util2.execSafe("ping", params).then((stdout) => {
let result2 = null;
if (stdout) {
const lines = stdout.split("\n").filter((line2) => line2.indexOf("rtt") >= 0 || line2.indexOf("round-trip") >= 0 || line2.indexOf("avg") >= 0).join("\n");
const line = lines.split("=");
if (line.length > 1) {
const parts2 = line[1].split("/");
if (parts2.length > 1) {
result2 = parseFloat(parts2[1]);
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
const params2 = ["-s", "-a", hostSanitized, "56", "2"];
const filt = "avg";
util2.execSafe("ping", params2, { timeout: 3e3 }).then((stdout) => {
let result2 = null;
if (stdout) {
const lines = stdout.split("\n").filter((line2) => line2.indexOf(filt) >= 0).join("\n");
const line = lines.split("=");
if (line.length > 1) {
const parts2 = line[1].split("/");
if (parts2.length > 1) {
result2 = parseFloat(parts2[1].replace(",", "."));
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
let result2 = null;
try {
const params2 = [hostSanitized, "-n", "1"];
util2.execSafe("ping", params2, util2.execOptsWin).then((stdout) => {
if (stdout) {
const lines = stdout.split("\r\n");
lines.shift();
lines.forEach((line) => {
if ((line.toLowerCase().match(/ms/g) || []).length === 3) {
let l3 = line.replace(/ +/g, " ").split(" ");
if (l3.length > 6) {
result2 = parseFloat(l3[l3.length - 1]);
}
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
exports2.inetLatency = inetLatency;
}
});
// node_modules/systeminformation/lib/dockerSocket.js
var require_dockerSocket = __commonJS({
"node_modules/systeminformation/lib/dockerSocket.js"(exports2, module2) {
"use strict";
var net2 = __require("net");
var isWin = __require("os").type() === "Windows_NT";
var socketPath = isWin ? "//./pipe/docker_engine" : "/var/run/docker.sock";
var DockerSocket = class {
getInfo(callback) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/info HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
}
listImages(all2, callback) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/images/json" + (all2 ? "?all=1" : "") + " HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
}
inspectImage(id, callback) {
id = id || "";
if (id) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/images/" + id + "/json?stream=0 HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
} else {
callback({});
}
}
listContainers(all2, callback) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/containers/json" + (all2 ? "?all=1" : "") + " HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
}
getStats(id, callback) {
id = id || "";
if (id) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/containers/" + id + "/stats?stream=0 HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
} else {
callback({});
}
}
getInspect(id, callback) {
id = id || "";
if (id) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/containers/" + id + "/json?stream=0 HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
} else {
callback({});
}
}
getProcesses(id, callback) {
id = id || "";
if (id) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/containers/" + id + "/top?ps_args=-opid,ppid,pgid,vsz,time,etime,nice,ruser,user,rgroup,group,stat,rss,args HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
} else {
callback({});
}
}
listVolumes(callback) {
try {
let socket = net2.createConnection({ path: socketPath });
let alldata = "";
let data;
socket.on("connect", () => {
socket.write("GET http:/volumes HTTP/1.0\r\n\r\n");
});
socket.on("data", (data2) => {
alldata = alldata + data2.toString();
});
socket.on("error", () => {
socket = false;
callback({});
});
socket.on("end", () => {
const startbody = alldata.indexOf("\r\n\r\n");
alldata = alldata.substring(startbody + 4);
socket = false;
try {
data = JSON.parse(alldata);
callback(data);
} catch {
callback({});
}
});
} catch {
callback({});
}
}
};
module2.exports = DockerSocket;
}
});
// node_modules/systeminformation/lib/docker.js
var require_docker = __commonJS({
"node_modules/systeminformation/lib/docker.js"(exports2) {
"use strict";
var util2 = require_util7();
var DockerSocket = require_dockerSocket();
var _platform = process.platform;
var _windows = _platform === "win32";
var _docker_container_stats = {};
var _docker_socket;
var _docker_last_read = 0;
function dockerInfo(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
const result2 = {};
_docker_socket.getInfo((data) => {
result2.id = data.ID;
result2.containers = data.Containers;
result2.containersRunning = data.ContainersRunning;
result2.containersPaused = data.ContainersPaused;
result2.containersStopped = data.ContainersStopped;
result2.images = data.Images;
result2.driver = data.Driver;
result2.memoryLimit = data.MemoryLimit;
result2.swapLimit = data.SwapLimit;
result2.kernelMemory = data.KernelMemory;
result2.cpuCfsPeriod = data.CpuCfsPeriod;
result2.cpuCfsQuota = data.CpuCfsQuota;
result2.cpuShares = data.CPUShares;
result2.cpuSet = data.CPUSet;
result2.ipv4Forwarding = data.IPv4Forwarding;
result2.bridgeNfIptables = data.BridgeNfIptables;
result2.bridgeNfIp6tables = data.BridgeNfIp6tables;
result2.debug = data.Debug;
result2.nfd = data.NFd;
result2.oomKillDisable = data.OomKillDisable;
result2.ngoroutines = data.NGoroutines;
result2.systemTime = data.SystemTime;
result2.loggingDriver = data.LoggingDriver;
result2.cgroupDriver = data.CgroupDriver;
result2.nEventsListener = data.NEventsListener;
result2.kernelVersion = data.KernelVersion;
result2.operatingSystem = data.OperatingSystem;
result2.osType = data.OSType;
result2.architecture = data.Architecture;
result2.ncpu = data.NCPU;
result2.memTotal = data.MemTotal;
result2.dockerRootDir = data.DockerRootDir;
result2.httpProxy = data.HttpProxy;
result2.httpsProxy = data.HttpsProxy;
result2.noProxy = data.NoProxy;
result2.name = data.Name;
result2.labels = data.Labels;
result2.experimentalBuild = data.ExperimentalBuild;
result2.serverVersion = data.ServerVersion;
result2.clusterStore = data.ClusterStore;
result2.clusterAdvertise = data.ClusterAdvertise;
result2.defaultRuntime = data.DefaultRuntime;
result2.liveRestoreEnabled = data.LiveRestoreEnabled;
result2.isolation = data.Isolation;
result2.initBinary = data.InitBinary;
result2.productLicense = data.ProductLicense;
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
});
}
exports2.dockerInfo = dockerInfo;
function dockerImages(all2, callback) {
if (util2.isFunction(all2) && !callback) {
callback = all2;
all2 = false;
}
if (typeof all2 === "string" && all2 === "true") {
all2 = true;
}
if (typeof all2 !== "boolean" && all2 !== void 0) {
all2 = false;
}
all2 = all2 || false;
let result2 = [];
return new Promise((resolve25) => {
process.nextTick(() => {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
const workload = [];
_docker_socket.listImages(all2, (data) => {
let dockerImages2 = {};
try {
dockerImages2 = data;
if (dockerImages2 && Object.prototype.toString.call(dockerImages2) === "[object Array]" && dockerImages2.length > 0) {
dockerImages2.forEach((element) => {
if (element.Names && Object.prototype.toString.call(element.Names) === "[object Array]" && element.Names.length > 0) {
element.Name = element.Names[0].replace(/^\/|\/$/g, "");
}
workload.push(dockerImagesInspect(element.Id.trim(), element));
});
if (workload.length) {
Promise.all(workload).then((data2) => {
if (callback) {
callback(data2);
}
resolve25(data2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
});
}
function dockerImagesInspect(imageID, payload) {
return new Promise((resolve25) => {
process.nextTick(() => {
imageID = imageID || "";
if (typeof imageID !== "string") {
return resolve25();
}
const imageIDSanitized = (util2.isPrototypePolluted() ? "" : util2.sanitizeShellString(imageID, true)).trim();
if (imageIDSanitized) {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
_docker_socket.inspectImage(imageIDSanitized.trim(), (data) => {
try {
resolve25({
id: payload.Id,
container: data.Container,
comment: data.Comment,
os: data.Os,
architecture: data.Architecture,
parent: data.Parent,
dockerVersion: data.DockerVersion,
size: data.Size,
sharedSize: payload.SharedSize,
virtualSize: data.VirtualSize,
author: data.Author,
created: data.Created ? Math.round(new Date(data.Created).getTime() / 1e3) : 0,
containerConfig: data.ContainerConfig ? data.ContainerConfig : {},
graphDriver: data.GraphDriver ? data.GraphDriver : {},
repoDigests: data.RepoDigests ? data.RepoDigests : {},
repoTags: data.RepoTags ? data.RepoTags : {},
config: data.Config ? data.Config : {},
rootFS: data.RootFS ? data.RootFS : {}
});
} catch {
resolve25();
}
});
} else {
resolve25();
}
});
});
}
exports2.dockerImages = dockerImages;
function dockerContainers(all2, callback) {
function inContainers(containers, id) {
const filtered = containers.filter((obj) => {
return obj.Id && obj.Id === id;
});
return filtered.length > 0;
}
if (util2.isFunction(all2) && !callback) {
callback = all2;
all2 = false;
}
if (typeof all2 === "string" && all2 === "true") {
all2 = true;
}
if (typeof all2 !== "boolean" && all2 !== void 0) {
all2 = false;
}
all2 = all2 || false;
let result2 = [];
return new Promise((resolve25) => {
process.nextTick(() => {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
const workload = [];
_docker_socket.listContainers(all2, (data) => {
let docker_containers = {};
try {
docker_containers = data;
if (docker_containers && Object.prototype.toString.call(docker_containers) === "[object Array]" && docker_containers.length > 0) {
for (let key in _docker_container_stats) {
if ({}.hasOwnProperty.call(_docker_container_stats, key)) {
if (!inContainers(docker_containers, key)) {
delete _docker_container_stats[key];
}
}
}
docker_containers.forEach((element) => {
if (element.Names && Object.prototype.toString.call(element.Names) === "[object Array]" && element.Names.length > 0) {
element.Name = element.Names[0].replace(/^\/|\/$/g, "");
}
workload.push(dockerContainerInspect(element.Id.trim(), element));
});
if (workload.length) {
Promise.all(workload).then((data2) => {
if (callback) {
callback(data2);
}
resolve25(data2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} catch (err2) {
for (let key in _docker_container_stats) {
if ({}.hasOwnProperty.call(_docker_container_stats, key)) {
if (!inContainers(docker_containers, key)) {
delete _docker_container_stats[key];
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
});
}
function dockerContainerInspect(containerID, payload) {
return new Promise((resolve25) => {
process.nextTick(() => {
containerID = containerID || "";
if (typeof containerID !== "string") {
return resolve25();
}
const containerIdSanitized = (util2.isPrototypePolluted() ? "" : util2.sanitizeShellString(containerID, true)).trim();
if (containerIdSanitized) {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
_docker_socket.getInspect(containerIdSanitized.trim(), (data) => {
try {
resolve25({
id: payload.Id,
name: payload.Name,
image: payload.Image,
imageID: payload.ImageID,
command: payload.Command,
created: payload.Created,
started: data.State && data.State.StartedAt ? Math.round(new Date(data.State.StartedAt).getTime() / 1e3) : 0,
finished: data.State && data.State.FinishedAt && !data.State.FinishedAt.startsWith("0001-01-01") ? Math.round(new Date(data.State.FinishedAt).getTime() / 1e3) : 0,
createdAt: data.Created ? data.Created : "",
startedAt: data.State && data.State.StartedAt ? data.State.StartedAt : "",
finishedAt: data.State && data.State.FinishedAt && !data.State.FinishedAt.startsWith("0001-01-01") ? data.State.FinishedAt : "",
state: payload.State,
restartCount: data.RestartCount || 0,
platform: data.Platform || "",
driver: data.Driver || "",
ports: payload.Ports,
mounts: payload.Mounts
// hostconfig: payload.HostConfig,
// network: payload.NetworkSettings
});
} catch {
resolve25();
}
});
} else {
resolve25();
}
});
});
}
exports2.dockerContainers = dockerContainers;
function docker_calcCPUPercent(cpu_stats, precpu_stats) {
if (!_windows) {
let cpuPercent = 0;
let cpuDelta = cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage;
let systemDelta = cpu_stats.system_cpu_usage - precpu_stats.system_cpu_usage;
if (systemDelta > 0 && cpuDelta > 0) {
if (precpu_stats.online_cpus) {
cpuPercent = cpuDelta / systemDelta * precpu_stats.online_cpus * 100;
} else {
cpuPercent = cpuDelta / systemDelta * cpu_stats.cpu_usage.percpu_usage.length * 100;
}
}
return cpuPercent;
} else {
let nanoSecNow = util2.nanoSeconds();
let cpuPercent = 0;
if (_docker_last_read > 0) {
let possIntervals = nanoSecNow - _docker_last_read;
let intervalsUsed = cpu_stats.cpu_usage.total_usage - precpu_stats.cpu_usage.total_usage;
if (possIntervals > 0) {
cpuPercent = 100 * intervalsUsed / possIntervals;
}
}
_docker_last_read = nanoSecNow;
return cpuPercent;
}
}
function docker_calcNetworkIO(networks) {
let rx;
let wx;
for (let key in networks) {
if (!{}.hasOwnProperty.call(networks, key)) {
continue;
}
const obj = networks[key];
rx = +obj.rx_bytes;
wx = +obj.tx_bytes;
}
return {
rx,
wx
};
}
function docker_calcBlockIO(blkio_stats) {
let result2 = {
r: 0,
w: 0
};
if (blkio_stats && blkio_stats.io_service_bytes_recursive && Object.prototype.toString.call(blkio_stats.io_service_bytes_recursive) === "[object Array]" && blkio_stats.io_service_bytes_recursive.length > 0) {
blkio_stats.io_service_bytes_recursive.forEach((element) => {
if (element.op && element.op.toLowerCase() === "read" && element.value) {
result2.r += element.value;
}
if (element.op && element.op.toLowerCase() === "write" && element.value) {
result2.w += element.value;
}
});
}
return result2;
}
function dockerContainerStats(containerIDs, callback) {
let containerArray = [];
return new Promise((resolve25) => {
process.nextTick(() => {
if (util2.isFunction(containerIDs) && !callback) {
callback = containerIDs;
containerArray = ["*"];
} else {
containerIDs = containerIDs || "*";
if (typeof containerIDs !== "string") {
if (callback) {
callback([]);
}
return resolve25([]);
}
let containerIDsSanitized = "";
try {
containerIDsSanitized.__proto__.toLowerCase = util2.stringToLower;
containerIDsSanitized.__proto__.replace = util2.stringReplace;
containerIDsSanitized.__proto__.toString = util2.stringToString;
containerIDsSanitized.__proto__.substr = util2.stringSubstr;
containerIDsSanitized.__proto__.substring = util2.stringSubstring;
containerIDsSanitized.__proto__.trim = util2.stringTrim;
containerIDsSanitized.__proto__.startsWith = util2.stringStartWith;
} catch (e2) {
Object.setPrototypeOf(containerIDsSanitized, util2.stringObj);
}
containerIDsSanitized = containerIDs;
containerIDsSanitized = containerIDsSanitized.trim();
if (containerIDsSanitized !== "*") {
containerIDsSanitized = "";
const s2 = (util2.isPrototypePolluted() ? "" : util2.sanitizeShellString(containerIDs, true)).trim();
const l2 = util2.mathMin(s2.length, 2e3);
for (let i3 = 0; i3 <= l2; i3++) {
if (s2[i3] !== void 0) {
s2[i3].__proto__.toLowerCase = util2.stringToLower;
const sl = s2[i3].toLowerCase();
if (sl && sl[0] && !sl[1]) {
containerIDsSanitized = containerIDsSanitized + sl[0];
}
}
}
}
containerIDsSanitized = containerIDsSanitized.trim().toLowerCase().replace(/,+/g, "|");
containerArray = containerIDsSanitized.split("|");
}
const result2 = [];
const workload = [];
if (containerArray.length && containerArray[0].trim() === "*") {
containerArray = [];
dockerContainers().then((allContainers) => {
for (let container of allContainers) {
containerArray.push(container.id.substring(0, 12));
}
if (containerArray.length) {
dockerContainerStats(containerArray.join(",")).then((result3) => {
if (callback) {
callback(result3);
}
resolve25(result3);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
} else {
for (let containerID of containerArray) {
workload.push(dockerContainerStatsSingle(containerID.trim()));
}
if (workload.length) {
Promise.all(workload).then((data) => {
if (callback) {
callback(data);
}
resolve25(data);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
}
});
});
}
function dockerContainerStatsSingle(containerID) {
containerID = containerID || "";
const result2 = {
id: containerID,
memUsage: 0,
memLimit: 0,
memPercent: 0,
cpuPercent: 0,
pids: 0,
netIO: {
rx: 0,
wx: 0
},
blockIO: {
r: 0,
w: 0
},
restartCount: 0,
cpuStats: {},
precpuStats: {},
memoryStats: {},
networks: {}
};
return new Promise((resolve25) => {
process.nextTick(() => {
if (containerID) {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
_docker_socket.getInspect(containerID, (dataInspect) => {
try {
_docker_socket.getStats(containerID, (data) => {
try {
let stats = data;
if (!stats.message) {
if (data.id) {
result2.id = data.id;
}
result2.memUsage = stats.memory_stats && stats.memory_stats.usage ? stats.memory_stats.usage : 0;
result2.memLimit = stats.memory_stats && stats.memory_stats.limit ? stats.memory_stats.limit : 0;
result2.memPercent = stats.memory_stats && stats.memory_stats.usage && stats.memory_stats.limit ? stats.memory_stats.usage / stats.memory_stats.limit * 100 : 0;
result2.cpuPercent = stats.cpu_stats && stats.precpu_stats ? docker_calcCPUPercent(stats.cpu_stats, stats.precpu_stats) : 0;
result2.pids = stats.pids_stats && stats.pids_stats.current ? stats.pids_stats.current : 0;
result2.restartCount = dataInspect.RestartCount ? dataInspect.RestartCount : 0;
if (stats.networks) {
result2.netIO = docker_calcNetworkIO(stats.networks);
}
if (stats.blkio_stats) {
result2.blockIO = docker_calcBlockIO(stats.blkio_stats);
}
result2.cpuStats = stats.cpu_stats ? stats.cpu_stats : {};
result2.precpuStats = stats.precpu_stats ? stats.precpu_stats : {};
result2.memoryStats = stats.memory_stats ? stats.memory_stats : {};
result2.networks = stats.networks ? stats.networks : {};
}
} catch {
util2.noop();
}
resolve25(result2);
});
} catch {
util2.noop();
}
});
} else {
resolve25(result2);
}
});
});
}
exports2.dockerContainerStats = dockerContainerStats;
function dockerContainerProcesses(containerID, callback) {
let result2 = [];
return new Promise((resolve25) => {
process.nextTick(() => {
containerID = containerID || "";
if (typeof containerID !== "string") {
return resolve25(result2);
}
const containerIdSanitized = (util2.isPrototypePolluted() ? "" : util2.sanitizeShellString(containerID, true)).trim();
if (containerIdSanitized) {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
_docker_socket.getProcesses(containerIdSanitized, (data) => {
try {
if (data && data.Titles && data.Processes) {
let titles = data.Titles.map(function(value) {
return value.toUpperCase();
});
let pos_pid = titles.indexOf("PID");
let pos_ppid = titles.indexOf("PPID");
let pos_pgid = titles.indexOf("PGID");
let pos_vsz = titles.indexOf("VSZ");
let pos_time = titles.indexOf("TIME");
let pos_elapsed = titles.indexOf("ELAPSED");
let pos_ni = titles.indexOf("NI");
let pos_ruser = titles.indexOf("RUSER");
let pos_user = titles.indexOf("USER");
let pos_rgroup = titles.indexOf("RGROUP");
let pos_group = titles.indexOf("GROUP");
let pos_stat = titles.indexOf("STAT");
let pos_rss = titles.indexOf("RSS");
let pos_command = titles.indexOf("COMMAND");
data.Processes.forEach((process25) => {
result2.push({
pidHost: pos_pid >= 0 ? process25[pos_pid] : "",
ppid: pos_ppid >= 0 ? process25[pos_ppid] : "",
pgid: pos_pgid >= 0 ? process25[pos_pgid] : "",
user: pos_user >= 0 ? process25[pos_user] : "",
ruser: pos_ruser >= 0 ? process25[pos_ruser] : "",
group: pos_group >= 0 ? process25[pos_group] : "",
rgroup: pos_rgroup >= 0 ? process25[pos_rgroup] : "",
stat: pos_stat >= 0 ? process25[pos_stat] : "",
time: pos_time >= 0 ? process25[pos_time] : "",
elapsed: pos_elapsed >= 0 ? process25[pos_elapsed] : "",
nice: pos_ni >= 0 ? process25[pos_ni] : "",
rss: pos_rss >= 0 ? process25[pos_rss] : "",
vsz: pos_vsz >= 0 ? process25[pos_vsz] : "",
command: pos_command >= 0 ? process25[pos_command] : ""
});
});
}
} catch {
util2.noop();
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.dockerContainerProcesses = dockerContainerProcesses;
function dockerVolumes(callback) {
let result2 = [];
return new Promise((resolve25) => {
process.nextTick(() => {
if (!_docker_socket) {
_docker_socket = new DockerSocket();
}
_docker_socket.listVolumes((data) => {
let dockerVolumes2 = {};
try {
dockerVolumes2 = data;
if (dockerVolumes2 && dockerVolumes2.Volumes && Object.prototype.toString.call(dockerVolumes2.Volumes) === "[object Array]" && dockerVolumes2.Volumes.length > 0) {
dockerVolumes2.Volumes.forEach((element) => {
result2.push({
name: element.Name,
driver: element.Driver,
labels: element.Labels,
mountpoint: element.Mountpoint,
options: element.Options,
scope: element.Scope,
created: element.CreatedAt ? Math.round(new Date(element.CreatedAt).getTime() / 1e3) : 0
});
});
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
});
}
exports2.dockerVolumes = dockerVolumes;
function dockerAll(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
dockerContainers(true).then((result2) => {
if (result2 && Object.prototype.toString.call(result2) === "[object Array]" && result2.length > 0) {
let l2 = result2.length;
result2.forEach((element) => {
dockerContainerStats(element.id).then((res) => {
element.memUsage = res[0].memUsage;
element.memLimit = res[0].memLimit;
element.memPercent = res[0].memPercent;
element.cpuPercent = res[0].cpuPercent;
element.pids = res[0].pids;
element.netIO = res[0].netIO;
element.blockIO = res[0].blockIO;
element.cpuStats = res[0].cpuStats;
element.precpuStats = res[0].precpuStats;
element.memoryStats = res[0].memoryStats;
element.networks = res[0].networks;
dockerContainerProcesses(element.id).then((processes) => {
element.processes = processes;
l2 -= 1;
if (l2 === 0) {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
});
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
});
}
exports2.dockerAll = dockerAll;
}
});
// node_modules/systeminformation/lib/virtualbox.js
var require_virtualbox = __commonJS({
"node_modules/systeminformation/lib/virtualbox.js"(exports2) {
"use strict";
var os30 = __require("os");
var exec3 = __require("child_process").exec;
var util2 = require_util7();
function vboxInfo(callback) {
let result2 = [];
return new Promise((resolve25) => {
process.nextTick(() => {
try {
exec3(util2.getVboxmanage() + " list vms --long", (error40, stdout) => {
let parts2 = (os30.EOL + stdout.toString()).split(os30.EOL + "Name:");
parts2.shift();
parts2.forEach((part) => {
const lines = ("Name:" + part).split(os30.EOL);
const state = util2.getValue(lines, "State");
const running = state.startsWith("running");
const runningSinceString = running ? state.replace("running (since ", "").replace(")", "").trim() : "";
let runningSince = 0;
try {
if (running) {
const sinceDateObj = new Date(runningSinceString);
const offset = sinceDateObj.getTimezoneOffset();
runningSince = Math.round((Date.now() - Date.parse(sinceDateObj)) / 1e3) + offset * 60;
}
} catch {
util2.noop();
}
const stoppedSinceString = !running ? state.replace("powered off (since", "").replace(")", "").trim() : "";
let stoppedSince = 0;
try {
if (!running) {
const sinceDateObj = new Date(stoppedSinceString);
const offset = sinceDateObj.getTimezoneOffset();
stoppedSince = Math.round((Date.now() - Date.parse(sinceDateObj)) / 1e3) + offset * 60;
}
} catch {
util2.noop();
}
result2.push({
id: util2.getValue(lines, "UUID"),
name: util2.getValue(lines, "Name"),
running,
started: runningSinceString,
runningSince,
stopped: stoppedSinceString,
stoppedSince,
guestOS: util2.getValue(lines, "Guest OS"),
hardwareUUID: util2.getValue(lines, "Hardware UUID"),
memory: parseInt(util2.getValue(lines, "Memory size", " "), 10),
vram: parseInt(util2.getValue(lines, "VRAM size"), 10),
cpus: parseInt(util2.getValue(lines, "Number of CPUs"), 10),
cpuExepCap: util2.getValue(lines, "CPU exec cap"),
cpuProfile: util2.getValue(lines, "CPUProfile"),
chipset: util2.getValue(lines, "Chipset"),
firmware: util2.getValue(lines, "Firmware"),
pageFusion: util2.getValue(lines, "Page Fusion") === "enabled",
configFile: util2.getValue(lines, "Config file"),
snapshotFolder: util2.getValue(lines, "Snapshot folder"),
logFolder: util2.getValue(lines, "Log folder"),
hpet: util2.getValue(lines, "HPET") === "enabled",
pae: util2.getValue(lines, "PAE") === "enabled",
longMode: util2.getValue(lines, "Long Mode") === "enabled",
tripleFaultReset: util2.getValue(lines, "Triple Fault Reset") === "enabled",
apic: util2.getValue(lines, "APIC") === "enabled",
x2Apic: util2.getValue(lines, "X2APIC") === "enabled",
acpi: util2.getValue(lines, "ACPI") === "enabled",
ioApic: util2.getValue(lines, "IOAPIC") === "enabled",
biosApicMode: util2.getValue(lines, "BIOS APIC mode"),
bootMenuMode: util2.getValue(lines, "Boot menu mode"),
bootDevice1: util2.getValue(lines, "Boot Device 1"),
bootDevice2: util2.getValue(lines, "Boot Device 2"),
bootDevice3: util2.getValue(lines, "Boot Device 3"),
bootDevice4: util2.getValue(lines, "Boot Device 4"),
timeOffset: util2.getValue(lines, "Time offset"),
rtc: util2.getValue(lines, "RTC")
});
});
if (callback) {
callback(result2);
}
resolve25(result2);
});
} catch {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
});
}
exports2.vboxInfo = vboxInfo;
}
});
// node_modules/systeminformation/lib/printer.js
var require_printer = __commonJS({
"node_modules/systeminformation/lib/printer.js"(exports2) {
"use strict";
var exec3 = __require("child_process").exec;
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
var winPrinterStatus = {
1: "Other",
2: "Unknown",
3: "Idle",
4: "Printing",
5: "Warmup",
6: "Stopped Printing",
7: "Offline"
};
function parseLinuxCupsHeader(lines) {
const result2 = {};
if (lines && lines.length) {
if (lines[0].indexOf(" CUPS v") > 0) {
const parts2 = lines[0].split(" CUPS v");
result2.cupsVersion = parts2[1];
}
}
return result2;
}
function parseLinuxCupsPrinter(lines) {
const result2 = {};
const printerId = util2.getValue(lines, "PrinterId", " ");
result2.id = printerId ? parseInt(printerId, 10) : null;
result2.name = util2.getValue(lines, "Info", " ");
result2.model = lines.length > 0 && lines[0] ? lines[0].split(" ")[0] : "";
result2.uri = util2.getValue(lines, "DeviceURI", " ");
result2.uuid = util2.getValue(lines, "UUID", " ");
result2.status = util2.getValue(lines, "State", " ");
result2.local = util2.getValue(lines, "Location", " ").toLowerCase().startsWith("local");
result2.default = null;
result2.shared = util2.getValue(lines, "Shared", " ").toLowerCase().startsWith("yes");
return result2;
}
function parseLinuxLpstatPrinter(lines, id) {
const result2 = {};
result2.id = id;
result2.name = util2.getValue(lines, "Description", ":", true);
result2.model = lines.length > 0 && lines[0] ? lines[0].split(" ")[0] : "";
result2.uri = null;
result2.uuid = null;
result2.status = lines.length > 0 && lines[0] ? lines[0].indexOf(" idle") > 0 ? "idle" : lines[0].indexOf(" printing") > 0 ? "printing" : "unknown" : null;
result2.local = util2.getValue(lines, "Location", ":", true).toLowerCase().startsWith("local");
result2.default = null;
result2.shared = util2.getValue(lines, "Shared", " ").toLowerCase().startsWith("yes");
return result2;
}
function parseDarwinPrinters(printerObject, id) {
const result2 = {};
const uriParts = printerObject.uri.split("/");
result2.id = id;
result2.name = printerObject._name;
result2.model = uriParts.length ? uriParts[uriParts.length - 1] : "";
result2.uri = printerObject.uri;
result2.uuid = null;
result2.status = printerObject.status;
result2.local = printerObject.printserver === "local";
result2.default = printerObject.default === "yes";
result2.shared = printerObject.shared === "yes";
return result2;
}
function parseWindowsPrinters(lines, id) {
const result2 = {};
const status2 = parseInt(util2.getValue(lines, "PrinterStatus", ":"), 10);
result2.id = id;
result2.name = util2.getValue(lines, "name", ":");
result2.model = util2.getValue(lines, "DriverName", ":");
result2.uri = null;
result2.uuid = null;
result2.status = winPrinterStatus[status2] ? winPrinterStatus[status2] : null;
result2.local = util2.getValue(lines, "Local", ":").toUpperCase() === "TRUE";
result2.default = util2.getValue(lines, "Default", ":").toUpperCase() === "TRUE";
result2.shared = util2.getValue(lines, "Shared", ":").toUpperCase() === "TRUE";
return result2;
}
function printer(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = [];
if (_linux || _freebsd || _openbsd || _netbsd) {
let cmd = "cat /etc/cups/printers.conf 2>/dev/null";
exec3(cmd, (error40, stdout) => {
if (!error40) {
const parts2 = stdout.toString().split("<Printer ");
const printerHeader = parseLinuxCupsHeader(parts2[0]);
for (let i3 = 1; i3 < parts2.length; i3++) {
const printers = parseLinuxCupsPrinter(parts2[i3].split("\n"));
if (printers.name) {
printers.engine = "CUPS";
printers.engineVersion = printerHeader.cupsVersion;
result2.push(printers);
}
}
}
if (result2.length === 0) {
if (_linux) {
cmd = "export LC_ALL=C; lpstat -lp 2>/dev/null; unset LC_ALL";
exec3(cmd, (error41, stdout2) => {
const parts2 = ("\n" + stdout2.toString()).split("\nprinter ");
for (let i3 = 1; i3 < parts2.length; i3++) {
const printers = parseLinuxLpstatPrinter(parts2[i3].split("\n"), i3);
result2.push(printers);
}
});
if (callback) {
callback(result2);
}
resolve25(result2);
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
} else {
if (callback) {
callback(result2);
}
resolve25(result2);
}
});
}
if (_darwin) {
let cmd = "system_profiler SPPrintersDataType -json";
exec3(cmd, (error40, stdout) => {
if (!error40) {
try {
const outObj = JSON.parse(stdout.toString());
if (outObj.SPPrintersDataType && outObj.SPPrintersDataType.length) {
for (let i3 = 0; i3 < outObj.SPPrintersDataType.length; i3++) {
const printer2 = parseDarwinPrinters(outObj.SPPrintersDataType[i3], i3);
result2.push(printer2);
}
}
} catch {
util2.noop();
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
util2.powerShell("Get-CimInstance Win32_Printer | select PrinterStatus,Name,DriverName,Local,Default,Shared | fl").then((stdout, error40) => {
if (!error40) {
const parts2 = stdout.toString().split(/\n\s*\n/);
for (let i3 = 0; i3 < parts2.length; i3++) {
const printer2 = parseWindowsPrinters(parts2[i3].split("\n"), i3);
if (printer2.name || printer2.model) {
result2.push(printer2);
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
resolve25(null);
}
});
});
}
exports2.printer = printer;
}
});
// node_modules/systeminformation/lib/usb.js
var require_usb = __commonJS({
"node_modules/systeminformation/lib/usb.js"(exports2) {
"use strict";
var exec3 = __require("child_process").exec;
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function getLinuxUsbType(type2, name3) {
let result2 = type2;
const str2 = (name3 + " " + type2).toLowerCase();
if (str2.indexOf("camera") >= 0) {
result2 = "Camera";
} else if (str2.indexOf("hub") >= 0) {
result2 = "Hub";
} else if (str2.indexOf("keybrd") >= 0) {
result2 = "Keyboard";
} else if (str2.indexOf("keyboard") >= 0) {
result2 = "Keyboard";
} else if (str2.indexOf("mouse") >= 0) {
result2 = "Mouse";
} else if (str2.indexOf("stora") >= 0) {
result2 = "Storage";
} else if (str2.indexOf("microp") >= 0) {
result2 = "Microphone";
} else if (str2.indexOf("headset") >= 0) {
result2 = "Audio";
} else if (str2.indexOf("audio") >= 0) {
result2 = "Audio";
}
return result2;
}
function parseLinuxUsb(usb2) {
const result2 = {};
const lines = usb2.split("\n");
if (lines && lines.length && lines[0].indexOf("Device") >= 0) {
const parts2 = lines[0].split(" ");
result2.bus = parseInt(parts2[0], 10);
if (parts2[2]) {
result2.deviceId = parseInt(parts2[2], 10);
} else {
result2.deviceId = null;
}
} else {
result2.bus = null;
result2.deviceId = null;
}
const idVendor = util2.getValue(lines, "idVendor", " ", true).trim();
let vendorParts = idVendor.split(" ");
vendorParts.shift();
const vendor = vendorParts.join(" ");
const idProduct = util2.getValue(lines, "idProduct", " ", true).trim();
let productParts = idProduct.split(" ");
productParts.shift();
const product = productParts.join(" ");
const interfaceClass = util2.getValue(lines, "bInterfaceClass", " ", true).trim();
let interfaceClassParts = interfaceClass.split(" ");
interfaceClassParts.shift();
const usbType = interfaceClassParts.join(" ");
const iManufacturer = util2.getValue(lines, "iManufacturer", " ", true).trim();
let iManufacturerParts = iManufacturer.split(" ");
iManufacturerParts.shift();
const manufacturer = iManufacturerParts.join(" ");
const iSerial = util2.getValue(lines, "iSerial", " ", true).trim();
let iSerialParts = iSerial.split(" ");
iSerialParts.shift();
const serial = iSerialParts.join(" ");
result2.id = (idVendor.startsWith("0x") ? idVendor.split(" ")[0].substr(2, 10) : "") + ":" + (idProduct.startsWith("0x") ? idProduct.split(" ")[0].substr(2, 10) : "");
result2.name = product;
result2.type = getLinuxUsbType(usbType, product);
result2.removable = null;
result2.vendor = vendor;
result2.manufacturer = manufacturer;
result2.maxPower = util2.getValue(lines, "MaxPower", " ", true);
result2.serialNumber = serial;
return result2;
}
function getDarwinUsbType(name3) {
let result2 = "";
if (name3.indexOf("camera") >= 0) {
result2 = "Camera";
} else if (name3.indexOf("touch bar") >= 0) {
result2 = "Touch Bar";
} else if (name3.indexOf("controller") >= 0) {
result2 = "Controller";
} else if (name3.indexOf("headset") >= 0) {
result2 = "Audio";
} else if (name3.indexOf("keyboard") >= 0) {
result2 = "Keyboard";
} else if (name3.indexOf("trackpad") >= 0) {
result2 = "Trackpad";
} else if (name3.indexOf("sensor") >= 0) {
result2 = "Sensor";
} else if (name3.indexOf("bthusb") >= 0) {
result2 = "Bluetooth";
} else if (name3.indexOf("bth") >= 0) {
result2 = "Bluetooth";
} else if (name3.indexOf("rfcomm") >= 0) {
result2 = "Bluetooth";
} else if (name3.indexOf("usbhub") >= 0) {
result2 = "Hub";
} else if (name3.indexOf(" hub") >= 0) {
result2 = "Hub";
} else if (name3.indexOf("mouse") >= 0) {
result2 = "Mouse";
} else if (name3.indexOf("microp") >= 0) {
result2 = "Microphone";
} else if (name3.indexOf("removable") >= 0) {
result2 = "Storage";
}
return result2;
}
function parseDarwinUsb(usb2, id) {
const result2 = {};
result2.id = id;
usb2 = usb2.replace(/ \|/g, "");
usb2 = usb2.trim();
let lines = usb2.split("\n");
lines.shift();
try {
for (let i3 = 0; i3 < lines.length; i3++) {
lines[i3] = lines[i3].trim();
lines[i3] = lines[i3].replace(/=/g, ":");
if (lines[i3] !== "{" && lines[i3] !== "}" && lines[i3 + 1] && lines[i3 + 1].trim() !== "}") {
lines[i3] = lines[i3] + ",";
}
lines[i3] = lines[i3].replace(":Yes,", ':"Yes",');
lines[i3] = lines[i3].replace(": Yes,", ': "Yes",');
lines[i3] = lines[i3].replace(": Yes", ': "Yes"');
lines[i3] = lines[i3].replace(":No,", ':"No",');
lines[i3] = lines[i3].replace(": No,", ': "No",');
lines[i3] = lines[i3].replace(": No", ': "No"');
lines[i3] = lines[i3].replace("((", "").replace("))", "");
const match2 = /<(\w+)>/.exec(lines[i3]);
if (match2) {
const number4 = match2[0];
lines[i3] = lines[i3].replace(number4, `"${number4}"`);
}
}
const usbObj = JSON.parse(lines.join("\n"));
const removableDrive = (usbObj["Built-In"] ? usbObj["Built-In"].toLowerCase() !== "yes" : true) && (usbObj["non-removable"] ? usbObj["non-removable"].toLowerCase() === "no" : true);
result2.bus = null;
result2.deviceId = null;
result2.id = usbObj["USB Address"] || null;
result2.name = usbObj["kUSBProductString"] || usbObj["USB Product Name"] || null;
result2.type = getDarwinUsbType((usbObj["kUSBProductString"] || usbObj["USB Product Name"] || "").toLowerCase() + (removableDrive ? " removable" : ""));
result2.removable = usbObj["non-removable"] ? usbObj["non-removable"].toLowerCase() || false : true;
result2.vendor = usbObj["kUSBVendorString"] || usbObj["USB Vendor Name"] || null;
result2.manufacturer = usbObj["kUSBVendorString"] || usbObj["USB Vendor Name"] || null;
result2.maxPower = null;
result2.serialNumber = usbObj["kUSBSerialNumberString"] || null;
if (result2.name) {
return result2;
} else {
return null;
}
} catch (e2) {
return null;
}
}
function getWindowsUsbTypeCreation(creationclass, name3) {
let result2 = "";
if (name3.indexOf("storage") >= 0) {
result2 = "Storage";
} else if (name3.indexOf("speicher") >= 0) {
result2 = "Storage";
} else if (creationclass.indexOf("usbhub") >= 0) {
result2 = "Hub";
} else if (creationclass.indexOf("storage") >= 0) {
result2 = "Storage";
} else if (creationclass.indexOf("usbcontroller") >= 0) {
result2 = "Controller";
} else if (creationclass.indexOf("keyboard") >= 0) {
result2 = "Keyboard";
} else if (creationclass.indexOf("pointing") >= 0) {
result2 = "Mouse";
} else if (creationclass.indexOf("microp") >= 0) {
result2 = "Microphone";
} else if (creationclass.indexOf("disk") >= 0) {
result2 = "Storage";
}
return result2;
}
function parseWindowsUsb(lines, id) {
const usbType = getWindowsUsbTypeCreation(util2.getValue(lines, "CreationClassName", ":").toLowerCase(), util2.getValue(lines, "name", ":").toLowerCase());
if (usbType) {
const result2 = {};
result2.bus = null;
result2.deviceId = util2.getValue(lines, "deviceid", ":");
result2.id = id;
result2.name = util2.getValue(lines, "name", ":");
result2.type = usbType;
result2.removable = null;
result2.vendor = null;
result2.manufacturer = util2.getValue(lines, "Manufacturer", ":");
result2.maxPower = null;
result2.serialNumber = null;
return result2;
} else {
return null;
}
}
function usb(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = [];
if (_linux) {
const cmd = "export LC_ALL=C; lsusb -v 2>/dev/null; unset LC_ALL";
exec3(cmd, { maxBuffer: 1024 * 1024 * 128 }, function(error40, stdout) {
if (!error40) {
const parts2 = ("\n\n" + stdout.toString()).split("\n\nBus ");
for (let i3 = 1; i3 < parts2.length; i3++) {
const usb2 = parseLinuxUsb(parts2[i3]);
result2.push(usb2);
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
let cmd = "ioreg -p IOUSB -c AppleUSBRootHubDevice -w0 -l";
exec3(cmd, { maxBuffer: 1024 * 1024 * 128 }, function(error40, stdout) {
if (!error40) {
const parts2 = stdout.toString().split(" +-o ");
for (let i3 = 1; i3 < parts2.length; i3++) {
const usb2 = parseDarwinUsb(parts2[i3]);
if (usb2) {
result2.push(usb2);
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
util2.powerShell('Get-CimInstance CIM_LogicalDevice | where { $_.Description -match "USB"} | select Name,CreationClassName,DeviceId,Manufacturer | fl').then((stdout, error40) => {
if (!error40) {
const parts2 = stdout.toString().split(/\n\s*\n/);
for (let i3 = 0; i3 < parts2.length; i3++) {
const usb2 = parseWindowsUsb(parts2[i3].split("\n"), i3);
if (usb2 && result2.filter((x) => x.deviceId === usb2.deviceId).length === 0) {
result2.push(usb2);
}
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos || _freebsd || _openbsd || _netbsd) {
resolve25(null);
}
});
});
}
exports2.usb = usb;
}
});
// node_modules/systeminformation/lib/audio.js
var require_audio = __commonJS({
"node_modules/systeminformation/lib/audio.js"(exports2) {
"use strict";
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var util2 = require_util7();
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function parseAudioType(str2, input, output) {
str2 = str2.toLowerCase();
let result2 = "";
if (str2.indexOf("input") >= 0) {
result2 = "Microphone";
}
if (str2.indexOf("display audio") >= 0) {
result2 = "Speaker";
}
if (str2.indexOf("speak") >= 0) {
result2 = "Speaker";
}
if (str2.indexOf("laut") >= 0) {
result2 = "Speaker";
}
if (str2.indexOf("loud") >= 0) {
result2 = "Speaker";
}
if (str2.indexOf("head") >= 0) {
result2 = "Headset";
}
if (str2.indexOf("mic") >= 0) {
result2 = "Microphone";
}
if (str2.indexOf("mikr") >= 0) {
result2 = "Microphone";
}
if (str2.indexOf("phone") >= 0) {
result2 = "Phone";
}
if (str2.indexOf("controll") >= 0) {
result2 = "Controller";
}
if (str2.indexOf("line o") >= 0) {
result2 = "Line Out";
}
if (str2.indexOf("digital o") >= 0) {
result2 = "Digital Out";
}
if (str2.indexOf("smart sound technology") >= 0) {
result2 = "Digital Signal Processor";
}
if (str2.indexOf("high definition audio") >= 0) {
result2 = "Sound Driver";
}
if (!result2 && output) {
result2 = "Speaker";
} else if (!result2 && input) {
result2 = "Microphone";
}
return result2;
}
function getLinuxAudioPci() {
const cmd = "lspci -v 2>/dev/null";
const result2 = [];
try {
const parts2 = execSync5(cmd, util2.execOptsLinux).toString().split("\n\n");
parts2.forEach((element) => {
const lines = element.split("\n");
if (lines && lines.length && lines[0].toLowerCase().indexOf("audio") >= 0) {
const audio2 = {};
audio2.slotId = lines[0].split(" ")[0];
audio2.driver = util2.getValue(lines, "Kernel driver in use", ":", true) || util2.getValue(lines, "Kernel modules", ":", true);
result2.push(audio2);
}
});
return result2;
} catch {
return result2;
}
}
function parseWinAudioStatus(n3) {
let status2 = n3;
if (n3 === 1) {
status2 = "other";
} else if (n3 === 2) {
status2 = "unknown";
} else if (n3 === 3) {
status2 = "enabled";
} else if (n3 === 4) {
status2 = "disabled";
} else if (n3 === 5) {
status2 = "not applicable";
}
return status2;
}
function parseLinuxAudioPciMM(lines, audioPCI) {
const result2 = {};
const slotId = util2.getValue(lines, "Slot");
const pciMatch = audioPCI.filter((item) => item.slotId === slotId);
result2.id = slotId;
result2.name = util2.getValue(lines, "SDevice");
result2.manufacturer = util2.getValue(lines, "SVendor");
result2.revision = util2.getValue(lines, "Rev");
result2.driver = pciMatch && pciMatch.length === 1 && pciMatch[0].driver ? pciMatch[0].driver : "";
result2.default = null;
result2.channel = "PCIe";
result2.type = parseAudioType(result2.name, null, null);
result2.in = null;
result2.out = null;
result2.status = "online";
return result2;
}
function parseDarwinChannel(str2) {
let result2 = "";
if (str2.indexOf("builtin") >= 0) {
result2 = "Built-In";
}
if (str2.indexOf("extern") >= 0) {
result2 = "Audio-Jack";
}
if (str2.indexOf("hdmi") >= 0) {
result2 = "HDMI";
}
if (str2.indexOf("displayport") >= 0) {
result2 = "Display-Port";
}
if (str2.indexOf("usb") >= 0) {
result2 = "USB";
}
if (str2.indexOf("pci") >= 0) {
result2 = "PCIe";
}
return result2;
}
function parseDarwinAudio(audioObject, id) {
const result2 = {};
const channelStr = ((audioObject.coreaudio_device_transport || "") + " " + (audioObject._name || "")).toLowerCase();
result2.id = id;
result2.name = audioObject._name;
result2.manufacturer = audioObject.coreaudio_device_manufacturer;
result2.revision = null;
result2.driver = null;
result2.default = !!(audioObject.coreaudio_default_audio_input_device || "") || !!(audioObject.coreaudio_default_audio_output_device || "");
result2.channel = parseDarwinChannel(channelStr);
result2.type = parseAudioType(result2.name, !!(audioObject.coreaudio_device_input || ""), !!(audioObject.coreaudio_device_output || ""));
result2.in = !!(audioObject.coreaudio_device_input || "");
result2.out = !!(audioObject.coreaudio_device_output || "");
result2.status = "online";
return result2;
}
function parseWindowsAudio(lines) {
const result2 = {};
const status2 = parseWinAudioStatus(util2.getValue(lines, "StatusInfo", ":"));
result2.id = util2.getValue(lines, "DeviceID", ":");
result2.name = util2.getValue(lines, "name", ":");
result2.manufacturer = util2.getValue(lines, "manufacturer", ":");
result2.revision = null;
result2.driver = null;
result2.default = null;
result2.channel = null;
result2.type = parseAudioType(result2.name, null, null);
result2.in = null;
result2.out = null;
result2.status = status2;
return result2;
}
function audio(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const result2 = [];
if (_linux || _freebsd || _openbsd || _netbsd) {
const cmd = "lspci -vmm 2>/dev/null";
exec3(cmd, (error40, stdout) => {
if (!error40) {
const audioPCI = getLinuxAudioPci();
const parts2 = stdout.toString().split("\n\n");
parts2.forEach((element) => {
const lines = element.split("\n");
if (util2.getValue(lines, "class", ":", true).toLowerCase().indexOf("audio") >= 0) {
const audio2 = parseLinuxAudioPciMM(lines, audioPCI);
result2.push(audio2);
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_darwin) {
const cmd = "system_profiler SPAudioDataType -json";
exec3(cmd, (error40, stdout) => {
if (!error40) {
try {
const outObj = JSON.parse(stdout.toString());
if (outObj.SPAudioDataType && outObj.SPAudioDataType.length && outObj.SPAudioDataType[0] && outObj.SPAudioDataType[0]["_items"] && outObj.SPAudioDataType[0]["_items"].length) {
for (let i3 = 0; i3 < outObj.SPAudioDataType[0]["_items"].length; i3++) {
const audio2 = parseDarwinAudio(outObj.SPAudioDataType[0]["_items"][i3], i3);
result2.push(audio2);
}
}
} catch {
util2.noop();
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
util2.powerShell("Get-CimInstance Win32_SoundDevice | select DeviceID,StatusInfo,Name,Manufacturer | fl").then((stdout, error40) => {
if (!error40) {
const parts2 = stdout.toString().split(/\n\s*\n/);
parts2.forEach((element) => {
const lines = element.split("\n");
if (util2.getValue(lines, "name", ":")) {
result2.push(parseWindowsAudio(lines));
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_sunos) {
resolve25(null);
}
});
});
}
exports2.audio = audio;
}
});
// node_modules/systeminformation/lib/bluetoothVendors.js
var require_bluetoothVendors = __commonJS({
"node_modules/systeminformation/lib/bluetoothVendors.js"(exports2, module2) {
"use strict";
module2.exports = {
0: "Ericsson Technology Licensing",
1: "Nokia Mobile Phones",
2: "Intel Corp.",
3: "IBM Corp.",
4: "Toshiba Corp.",
5: "3Com",
6: "Microsoft",
7: "Lucent",
8: "Motorola",
9: "Infineon Technologies AG",
10: "Cambridge Silicon Radio",
11: "Silicon Wave",
12: "Digianswer A/S",
13: "Texas Instruments Inc.",
14: "Ceva, Inc. (formerly Parthus Technologies, Inc.)",
15: "Broadcom Corporation",
16: "Mitel Semiconductor",
17: "Widcomm, Inc",
18: "Zeevo, Inc.",
19: "Atmel Corporation",
20: "Mitsubishi Electric Corporation",
21: "RTX Telecom A/S",
22: "KC Technology Inc.",
23: "NewLogic",
24: "Transilica, Inc.",
25: "Rohde & Schwarz GmbH & Co. KG",
26: "TTPCom Limited",
27: "Signia Technologies, Inc.",
28: "Conexant Systems Inc.",
29: "Qualcomm",
30: "Inventel",
31: "AVM Berlin",
32: "BandSpeed, Inc.",
33: "Mansella Ltd",
34: "NEC Corporation",
35: "WavePlus Technology Co., Ltd.",
36: "Alcatel",
37: "NXP Semiconductors (formerly Philips Semiconductors)",
38: "C Technologies",
39: "Open Interface",
40: "R F Micro Devices",
41: "Hitachi Ltd",
42: "Symbol Technologies, Inc.",
43: "Tenovis",
44: "Macronix International Co. Ltd.",
45: "GCT Semiconductor",
46: "Norwood Systems",
47: "MewTel Technology Inc.",
48: "ST Microelectronics",
49: "Synopsis",
50: "Red-M (Communications) Ltd",
51: "Commil Ltd",
52: "Computer Access Technology Corporation (CATC)",
53: "Eclipse (HQ Espana) S.L.",
54: "Renesas Electronics Corporation",
55: "Mobilian Corporation",
56: "Terax",
57: "Integrated System Solution Corp.",
58: "Matsushita Electric Industrial Co., Ltd.",
59: "Gennum Corporation",
60: "BlackBerry Limited (formerly Research In Motion)",
61: "IPextreme, Inc.",
62: "Systems and Chips, Inc.",
63: "Bluetooth SIG, Inc.",
64: "Seiko Epson Corporation",
65: "Integrated Silicon Solution Taiwan, Inc.",
66: "CONWISE Technology Corporation Ltd",
67: "PARROT SA",
68: "Socket Mobile",
69: "Atheros Communications, Inc.",
70: "MediaTek, Inc.",
71: "Bluegiga",
72: "Marvell Technology Group Ltd.",
73: "3DSP Corporation",
74: "Accel Semiconductor Ltd.",
75: "Continental Automotive Systems",
76: "Apple, Inc.",
77: "Staccato Communications, Inc.",
78: "Avago Technologies",
79: "APT Licensing Ltd.",
80: "SiRF Technology",
81: "Tzero Technologies, Inc.",
82: "J&M Corporation",
83: "Free2move AB",
84: "3DiJoy Corporation",
85: "Plantronics, Inc.",
86: "Sony Ericsson Mobile Communications",
87: "Harman International Industries, Inc.",
88: "Vizio, Inc.",
89: "Nordic Semiconductor ASA",
90: "EM Microelectronic-Marin SA",
91: "Ralink Technology Corporation",
92: "Belkin International, Inc.",
93: "Realtek Semiconductor Corporation",
94: "Stonestreet One, LLC",
95: "Wicentric, Inc.",
96: "RivieraWaves S.A.S",
97: "RDA Microelectronics",
98: "Gibson Guitars",
99: "MiCommand Inc.",
100: "Band XI International, LLC",
101: "Hewlett-Packard Company",
102: "9Solutions Oy",
103: "GN Netcom A/S",
104: "General Motors",
105: "A&D Engineering, Inc.",
106: "MindTree Ltd.",
107: "Polar Electro OY",
108: "Beautiful Enterprise Co., Ltd.",
109: "BriarTek, Inc.",
110: "Summit Data Communications, Inc.",
111: "Sound ID",
112: "Monster, LLC",
113: "connectBlue AB",
114: "ShangHai Super Smart Electronics Co. Ltd.",
115: "Group Sense Ltd.",
116: "Zomm, LLC",
117: "Samsung Electronics Co. Ltd.",
118: "Creative Technology Ltd.",
119: "Laird Technologies",
120: "Nike, Inc.",
121: "lesswire AG",
122: "MStar Semiconductor, Inc.",
123: "Hanlynn Technologies",
124: "A & R Cambridge",
125: "Seers Technology Co. Ltd",
126: "Sports Tracking Technologies Ltd.",
127: "Autonet Mobile",
128: "DeLorme Publishing Company, Inc.",
129: "WuXi Vimicro",
130: "Sennheiser Communications A/S",
131: "TimeKeeping Systems, Inc.",
132: "Ludus Helsinki Ltd.",
133: "BlueRadios, Inc.",
134: "equinox AG",
135: "Garmin International, Inc.",
136: "Ecotest",
137: "GN ReSound A/S",
138: "Jawbone",
139: "Topcorn Positioning Systems, LLC",
140: "Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.)",
141: "Zscan Software",
142: "Quintic Corp.",
143: "Stollman E+V GmbH",
144: "Funai Electric Co., Ltd.",
145: "Advanced PANMOBIL Systems GmbH & Co. KG",
146: "ThinkOptics, Inc.",
147: "Universal Electronics, Inc.",
148: "Airoha Technology Corp.",
149: "NEC Lighting, Ltd.",
150: "ODM Technology, Inc.",
151: "ConnecteDevice Ltd.",
152: "zer01.tv GmbH",
153: "i.Tech Dynamic Global Distribution Ltd.",
154: "Alpwise",
155: "Jiangsu Toppower Automotive Electronics Co., Ltd.",
156: "Colorfy, Inc.",
157: "Geoforce Inc.",
158: "Bose Corporation",
159: "Suunto Oy",
160: "Kensington Computer Products Group",
161: "SR-Medizinelektronik",
162: "Vertu Corporation Limited",
163: "Meta Watch Ltd.",
164: "LINAK A/S",
165: "OTL Dynamics LLC",
166: "Panda Ocean Inc.",
167: "Visteon Corporation",
168: "ARP Devices Limited",
169: "Magneti Marelli S.p.A",
170: "CAEN RFID srl",
171: "Ingenieur-Systemgruppe Zahn GmbH",
172: "Green Throttle Games",
173: "Peter Systemtechnik GmbH",
174: "Omegawave Oy",
175: "Cinetix",
176: "Passif Semiconductor Corp",
177: "Saris Cycling Group, Inc",
178: "Bekey A/S",
179: "Clarinox Technologies Pty. Ltd.",
180: "BDE Technology Co., Ltd.",
181: "Swirl Networks",
182: "Meso international",
183: "TreLab Ltd",
184: "Qualcomm Innovation Center, Inc. (QuIC)",
185: "Johnson Controls, Inc.",
186: "Starkey Laboratories Inc.",
187: "S-Power Electronics Limited",
188: "Ace Sensor Inc",
189: "Aplix Corporation",
190: "AAMP of America",
191: "Stalmart Technology Limited",
192: "AMICCOM Electronics Corporation",
193: "Shenzhen Excelsecu Data Technology Co.,Ltd",
194: "Geneq Inc.",
195: "adidas AG",
196: "LG Electronics",
197: "Onset Computer Corporation",
198: "Selfly BV",
199: "Quuppa Oy.",
200: "GeLo Inc",
201: "Evluma",
202: "MC10",
203: "Binauric SE",
204: "Beats Electronics",
205: "Microchip Technology Inc.",
206: "Elgato Systems GmbH",
207: "ARCHOS SA",
208: "Dexcom, Inc.",
209: "Polar Electro Europe B.V.",
210: "Dialog Semiconductor B.V.",
211: "Taixingbang\xA0Technology (HK) Co,. LTD.",
212: "Kawantech",
213: "Austco Communication Systems",
214: "Timex Group USA, Inc.",
215: "Qualcomm Technologies, Inc.",
216: "Qualcomm Connected Experiences, Inc.",
217: "Voyetra Turtle Beach",
218: "txtr GmbH",
219: "Biosentronics",
220: "Procter & Gamble",
221: "Hosiden Corporation",
222: "Muzik LLC",
223: "Misfit Wearables Corp",
224: "Google",
225: "Danlers Ltd",
226: "Semilink Inc",
227: "inMusic Brands, Inc",
228: "L.S. Research Inc.",
229: "Eden Software Consultants Ltd.",
230: "Freshtemp",
231: "KS Technologies",
232: "ACTS Technologies",
233: "Vtrack Systems",
234: "Nielsen-Kellerman Company",
235: "Server Technology, Inc.",
236: "BioResearch Associates",
237: "Jolly Logic, LLC",
238: "Above Average Outcomes, Inc.",
239: "Bitsplitters GmbH",
240: "PayPal, Inc.",
241: "Witron Technology Limited",
242: "Aether Things\xA0Inc. (formerly Morse Project Inc.)",
243: "Kent Displays Inc.",
244: "Nautilus Inc.",
245: "Smartifier Oy",
246: "Elcometer Limited",
247: "VSN Technologies Inc.",
248: "AceUni Corp., Ltd.",
249: "StickNFind",
250: "Crystal Code AB",
251: "KOUKAAM a.s.",
252: "Delphi Corporation",
253: "ValenceTech Limited",
254: "Reserved",
255: "Typo Products, LLC",
256: "TomTom International BV",
257: "Fugoo, Inc",
258: "Keiser Corporation",
259: "Bang & Olufsen A/S",
260: "PLUS Locations Systems Pty Ltd",
261: "Ubiquitous Computing Technology Corporation",
262: "Innovative Yachtter Solutions",
263: "William Demant Holding A/S",
264: "Chicony Electronics Co., Ltd.",
265: "Atus BV",
266: "Codegate Ltd.",
267: "ERi, Inc.",
268: "Transducers Direct, LLC",
269: "Fujitsu Ten Limited",
270: "Audi AG",
271: "HiSilicon Technologies Co., Ltd.",
272: "Nippon Seiki Co., Ltd.",
273: "Steelseries ApS",
274: "vyzybl Inc.",
275: "Openbrain Technologies, Co., Ltd.",
276: "Xensr",
277: "e.solutions",
278: "1OAK Technologies",
279: "Wimoto Technologies Inc",
280: "Radius Networks, Inc.",
281: "Wize Technology Co., Ltd.",
282: "Qualcomm Labs, Inc.",
283: "Aruba Networks",
284: "Baidu",
285: "Arendi AG",
286: "Skoda Auto a.s.",
287: "Volkswagon AG",
288: "Porsche AG",
289: "Sino Wealth Electronic Ltd.",
290: "AirTurn, Inc.",
291: "Kinsa, Inc.",
292: "HID Global",
293: "SEAT es",
294: "Promethean Ltd.",
295: "Salutica Allied Solutions",
296: "GPSI Group Pty Ltd",
297: "Nimble Devices Oy",
298: "Changzhou Yongse Infotech Co., Ltd",
299: "SportIQ",
300: "TEMEC Instruments B.V.",
301: "Sony Corporation",
302: "ASSA ABLOY",
303: "Clarion Co., Ltd.",
304: "Warehouse Innovations",
305: "Cypress Semiconductor Corporation",
306: "MADS Inc",
307: "Blue Maestro Limited",
308: "Resolution Products, Inc.",
309: "Airewear LLC",
310: "Seed Labs, Inc. (formerly ETC sp. z.o.o.)",
311: "Prestigio Plaza Ltd.",
312: "NTEO Inc.",
313: "Focus Systems Corporation",
314: "Tencent Holdings Limited",
315: "Allegion",
316: "Murata Manufacuring Co., Ltd.",
318: "Nod, Inc.",
319: "B&B Manufacturing Company",
320: "Alpine\xA0Electronics\xA0(China)\xA0Co.,\xA0Ltd",
321: "FedEx Services",
322: "Grape Systems Inc.",
323: "Bkon Connect",
324: "Lintech GmbH",
325: "Novatel Wireless",
326: "Ciright",
327: "Mighty Cast, Inc.",
328: "Ambimat Electronics",
329: "Perytons Ltd.",
330: "Tivoli Audio, LLC",
331: "Master Lock",
332: "Mesh-Net Ltd",
333: "Huizhou Desay SV Automotive CO., LTD.",
334: "Tangerine, Inc.",
335: "B&W Group Ltd.",
336: "Pioneer Corporation",
337: "OnBeep",
338: "Vernier Software & Technology",
339: "ROL Ergo",
340: "Pebble Technology",
341: "NETATMO",
342: "Accumulate AB",
343: "Anhui Huami Information Technology Co., Ltd.",
344: "Inmite s.r.o.",
345: "ChefSteps, Inc.",
346: "micas AG",
347: "Biomedical Research Ltd.",
348: "Pitius Tec S.L.",
349: "Estimote, Inc.",
350: "Unikey Technologies, Inc.",
351: "Timer Cap Co.",
352: "AwoX",
353: "yikes",
354: "MADSGlobal NZ Ltd.",
355: "PCH International",
356: "Qingdao Yeelink Information Technology Co., Ltd.",
357: "Milwaukee Tool (formerly Milwaukee Electric Tools)",
358: "MISHIK Pte Ltd",
359: "Bayer HealthCare",
360: "Spicebox LLC",
361: "emberlight",
362: "Cooper-Atkins Corporation",
363: "Qblinks",
364: "MYSPHERA",
365: "LifeScan Inc",
366: "Volantic AB",
367: "Podo Labs, Inc",
368: "Roche Diabetes Care AG",
369: "Amazon Fulfillment Service",
370: "Connovate Technology Private Limited",
371: "Kocomojo, LLC",
372: "Everykey LLC",
373: "Dynamic Controls",
374: "SentriLock",
375: "I-SYST inc.",
376: "CASIO COMPUTER CO., LTD.",
377: "LAPIS Semiconductor Co., Ltd.",
378: "Telemonitor, Inc.",
379: "taskit GmbH",
380: "Daimler AG",
381: "BatAndCat",
382: "BluDotz Ltd",
383: "XTel ApS",
384: "Gigaset Communications GmbH",
385: "Gecko Health Innovations, Inc.",
386: "HOP Ubiquitous",
387: "To Be Assigned",
388: "Nectar",
389: "bel\u2019apps LLC",
390: "CORE Lighting Ltd",
391: "Seraphim Sense Ltd",
392: "Unico RBC",
393: "Physical Enterprises Inc.",
394: "Able Trend Technology Limited",
395: "Konica Minolta, Inc.",
396: "Wilo SE",
397: "Extron Design Services",
398: "Fitbit, Inc.",
399: "Fireflies Systems",
400: "Intelletto Technologies Inc.",
401: "FDK CORPORATION",
402: "Cloudleaf, Inc",
403: "Maveric Automation LLC",
404: "Acoustic Stream Corporation",
405: "Zuli",
406: "Paxton Access Ltd",
407: "WiSilica Inc",
408: "Vengit Limited",
409: "SALTO SYSTEMS S.L.",
410: "TRON Forum (formerly T-Engine Forum)",
411: "CUBETECH s.r.o.",
412: "Cokiya Incorporated",
413: "CVS Health",
414: "Ceruus",
415: "Strainstall Ltd",
416: "Channel Enterprises (HK) Ltd.",
417: "FIAMM",
418: "GIGALANE.CO.,LTD",
419: "EROAD",
420: "Mine Safety Appliances",
421: "Icon Health and Fitness",
422: "Asandoo GmbH",
423: "ENERGOUS CORPORATION",
424: "Taobao",
425: "Canon Inc.",
426: "Geophysical Technology Inc.",
427: "Facebook, Inc.",
428: "Nipro Diagnostics, Inc.",
429: "FlightSafety International",
430: "Earlens Corporation",
431: "Sunrise Micro Devices, Inc.",
432: "Star Micronics Co., Ltd.",
433: "Netizens Sp. z o.o.",
434: "Nymi Inc.",
435: "Nytec, Inc.",
436: "Trineo Sp. z o.o.",
437: "Nest Labs Inc.",
438: "LM Technologies Ltd",
439: "General Electric Company",
440: "i+D3 S.L.",
441: "HANA Micron",
442: "Stages Cycling LLC",
443: "Cochlear Bone Anchored Solutions AB",
444: "SenionLab AB",
445: "Syszone Co., Ltd",
446: "Pulsate Mobile Ltd.",
447: "Hong Kong HunterSun Electronic Limited",
448: "pironex GmbH",
449: "BRADATECH Corp.",
450: "Transenergooil AG",
451: "Bunch",
452: "DME Microelectronics",
453: "Bitcraze AB",
454: "HASWARE Inc.",
455: "Abiogenix Inc.",
456: "Poly-Control ApS",
457: "Avi-on",
458: "Laerdal Medical AS",
459: "Fetch My Pet",
460: "Sam Labs Ltd.",
461: "Chengdu Synwing Technology Ltd",
462: "HOUWA SYSTEM DESIGN, k.k.",
463: "BSH",
464: "Primus Inter Pares Ltd",
465: "August",
466: "Gill Electronics",
467: "Sky Wave Design",
468: "Newlab S.r.l.",
469: "ELAD srl",
470: "G-wearables inc.",
471: "Squadrone Systems Inc.",
472: "Code Corporation",
473: "Savant Systems LLC",
474: "Logitech International SA",
475: "Innblue Consulting",
476: "iParking Ltd.",
477: "Koninklijke Philips Electronics N.V.",
478: "Minelab Electronics Pty Limited",
479: "Bison Group Ltd.",
480: "Widex A/S",
481: "Jolla Ltd",
482: "Lectronix, Inc.",
483: "Caterpillar Inc",
484: "Freedom Innovations",
485: "Dynamic Devices Ltd",
486: "Technology Solutions (UK) Ltd",
487: "IPS Group Inc.",
488: "STIR",
489: "Sano, Inc",
490: "Advanced Application Design, Inc.",
491: "AutoMap LLC",
492: "Spreadtrum Communications Shanghai Ltd",
493: "CuteCircuit LTD",
494: "Valeo Service",
495: "Fullpower Technologies, Inc.",
496: "KloudNation",
497: "Zebra Technologies Corporation",
498: "Itron, Inc.",
499: "The University of Tokyo",
500: "UTC Fire and Security",
501: "Cool Webthings Limited",
502: "DJO Global",
503: "Gelliner Limited",
504: "Anyka (Guangzhou) Microelectronics Technology Co, LTD",
505: "Medtronic, Inc.",
506: "Gozio, Inc.",
507: "Form Lifting, LLC",
508: "Wahoo Fitness, LLC",
509: "Kontakt Micro-Location Sp. z o.o.",
510: "Radio System Corporation",
511: "Freescale Semiconductor, Inc.",
512: "Verifone Systems PTe Ltd. Taiwan Branch",
513: "AR Timing",
514: "Rigado LLC",
515: "Kemppi Oy",
516: "Tapcentive Inc.",
517: "Smartbotics Inc.",
518: "Otter Products, LLC",
519: "STEMP Inc.",
520: "LumiGeek LLC",
521: "InvisionHeart Inc.",
522: "Macnica Inc. ",
523: "Jaguar Land Rover Limited",
524: "CoroWare Technologies, Inc",
525: "Simplo Technology Co., LTD",
526: "Omron Healthcare Co., LTD",
527: "Comodule GMBH",
528: "ikeGPS",
529: "Telink Semiconductor Co. Ltd",
530: "Interplan Co., Ltd",
531: "Wyler AG",
532: "IK Multimedia Production srl",
533: "Lukoton Experience Oy",
534: "MTI Ltd",
535: "Tech4home, Lda",
536: "Hiotech AB",
537: "DOTT Limited",
538: "Blue Speck Labs, LLC",
539: "Cisco Systems, Inc",
540: "Mobicomm Inc",
541: "Edamic",
542: "Goodnet, Ltd",
543: "Luster Leaf Products Inc",
544: "Manus Machina BV",
545: "Mobiquity Networks Inc",
546: "Praxis Dynamics",
547: "Philip Morris Products S.A.",
548: "Comarch SA",
549: "Nestl Nespresso S.A.",
550: "Merlinia A/S",
551: "LifeBEAM Technologies",
552: "Twocanoes Labs, LLC",
553: "Muoverti Limited",
554: "Stamer Musikanlagen GMBH",
555: "Tesla Motors",
556: "Pharynks Corporation",
557: "Lupine",
558: "Siemens AG",
559: "Huami (Shanghai) Culture Communication CO., LTD",
560: "Foster Electric Company, Ltd",
561: "ETA SA",
562: "x-Senso Solutions Kft",
563: "Shenzhen SuLong Communication Ltd",
564: "FengFan (BeiJing) Technology Co, Ltd",
565: "Qrio Inc",
566: "Pitpatpet Ltd",
567: "MSHeli s.r.l.",
568: "Trakm8 Ltd",
569: "JIN CO, Ltd",
570: "Alatech Tehnology",
571: "Beijing CarePulse Electronic Technology Co, Ltd",
572: "Awarepoint",
573: "ViCentra B.V.",
574: "Raven Industries",
575: "WaveWare Technologies Inc.",
576: "Argenox Technologies",
577: "Bragi GmbH",
578: "16Lab Inc",
579: "Masimo Corp",
580: "Iotera Inc",
581: "Endress+Hauser",
582: "ACKme Networks, Inc.",
583: "FiftyThree Inc.",
584: "Parker Hannifin Corp",
585: "Transcranial Ltd",
586: "Uwatec AG",
587: "Orlan LLC",
588: "Blue Clover Devices",
589: "M-Way Solutions GmbH",
590: "Microtronics Engineering GmbH",
591: "Schneider Schreibgerte GmbH",
592: "Sapphire Circuits LLC",
593: "Lumo Bodytech Inc.",
594: "UKC Technosolution",
595: "Xicato Inc.",
596: "Playbrush",
597: "Dai Nippon Printing Co., Ltd.",
598: "G24 Power Limited",
599: "AdBabble Local Commerce Inc.",
600: "Devialet SA",
601: "ALTYOR",
602: "University of Applied Sciences Valais/Haute Ecole Valaisanne",
603: "Five Interactive, LLC dba Zendo",
604: "NetEaseHangzhouNetwork co.Ltd.",
605: "Lexmark International Inc.",
606: "Fluke Corporation",
607: "Yardarm Technologies",
608: "SensaRx",
609: "SECVRE GmbH",
610: "Glacial Ridge Technologies",
611: "Identiv, Inc.",
612: "DDS, Inc.",
613: "SMK Corporation",
614: "Schawbel Technologies LLC",
615: "XMI Systems SA",
616: "Cerevo",
617: "Torrox GmbH & Co KG",
618: "Gemalto",
619: "DEKA Research & Development Corp.",
620: "Domster Tadeusz Szydlowski",
621: "Technogym SPA",
622: "FLEURBAEY BVBA",
623: "Aptcode Solutions",
624: "LSI ADL Technology",
625: "Animas Corp",
626: "Alps Electric Co., Ltd.",
627: "OCEASOFT",
628: "Motsai Research",
629: "Geotab",
630: "E.G.O. Elektro-Gertebau GmbH",
631: "bewhere inc",
632: "Johnson Outdoors Inc",
633: "steute Schaltgerate GmbH & Co. KG",
634: "Ekomini inc.",
635: "DEFA AS",
636: "Aseptika Ltd",
637: "HUAWEI Technologies Co., Ltd. ( )",
638: "HabitAware, LLC",
639: "ruwido austria gmbh",
640: "ITEC corporation",
641: "StoneL",
642: "Sonova AG",
643: "Maven Machines, Inc.",
644: "Synapse Electronics",
645: "Standard Innovation Inc.",
646: "RF Code, Inc.",
647: "Wally Ventures S.L.",
648: "Willowbank Electronics Ltd",
649: "SK Telecom",
650: "Jetro AS",
651: "Code Gears LTD",
652: "NANOLINK APS",
653: "IF, LLC",
654: "RF Digital Corp",
655: "Church & Dwight Co., Inc",
656: "Multibit Oy",
657: "CliniCloud Inc",
658: "SwiftSensors",
659: "Blue Bite",
660: "ELIAS GmbH",
661: "Sivantos GmbH",
662: "Petzl",
663: "storm power ltd",
664: "EISST Ltd",
665: "Inexess Technology Simma KG",
666: "Currant, Inc.",
667: "C2 Development, Inc.",
668: "Blue Sky Scientific, LLC",
669: "ALOTTAZS LABS, LLC",
670: "Kupson spol. s r.o.",
671: "Areus Engineering GmbH",
672: "Impossible Camera GmbH",
673: "InventureTrack Systems",
674: "LockedUp",
675: "Itude",
676: "Pacific Lock Company",
677: "Tendyron Corporation ( )",
678: "Robert Bosch GmbH",
679: "Illuxtron international B.V.",
680: "miSport Ltd.",
681: "Chargelib",
682: "Doppler Lab",
683: "BBPOS Limited",
684: "RTB Elektronik GmbH & Co. KG",
685: "Rx Networks, Inc.",
686: "WeatherFlow, Inc.",
687: "Technicolor USA Inc.",
688: "Bestechnic(Shanghai),Ltd",
689: "Raden Inc",
690: "JouZen Oy",
691: "CLABER S.P.A.",
692: "Hyginex, Inc.",
693: "HANSHIN ELECTRIC RAILWAY CO.,LTD.",
694: "Schneider Electric",
695: "Oort Technologies LLC",
696: "Chrono Therapeutics",
697: "Rinnai Corporation",
698: "Swissprime Technologies AG",
699: "Koha.,Co.Ltd",
700: "Genevac Ltd",
701: "Chemtronics",
702: "Seguro Technology Sp. z o.o.",
703: "Redbird Flight Simulations",
704: "Dash Robotics",
705: "LINE Corporation",
706: "Guillemot Corporation",
707: "Techtronic Power Tools Technology Limited",
708: "Wilson Sporting Goods",
709: "Lenovo (Singapore) Pte Ltd. ( )",
710: "Ayatan Sensors",
711: "Electronics Tomorrow Limited",
712: "VASCO Data Security International, Inc.",
713: "PayRange Inc.",
714: "ABOV Semiconductor",
715: "AINA-Wireless Inc.",
716: "Eijkelkamp Soil & Water",
717: "BMA ergonomics b.v.",
718: "Teva Branded Pharmaceutical Products R&D, Inc.",
719: "Anima",
720: "3M",
721: "Empatica Srl",
722: "Afero, Inc.",
723: "Powercast Corporation",
724: "Secuyou ApS",
725: "OMRON Corporation",
726: "Send Solutions",
727: "NIPPON SYSTEMWARE CO.,LTD.",
728: "Neosfar",
729: "Fliegl Agrartechnik GmbH",
730: "Gilvader",
731: "Digi International Inc (R)",
732: "DeWalch Technologies, Inc.",
733: "Flint Rehabilitation Devices, LLC",
734: "Samsung SDS Co., Ltd.",
735: "Blur Product Development",
736: "University of Michigan",
737: "Victron Energy BV",
738: "NTT docomo",
739: "Carmanah Technologies Corp.",
740: "Bytestorm Ltd.",
741: "Espressif Incorporated ( () )",
742: "Unwire",
743: "Connected Yard, Inc.",
744: "American Music Environments",
745: "Sensogram Technologies, Inc.",
746: "Fujitsu Limited",
747: "Ardic Technology",
748: "Delta Systems, Inc",
749: "HTC Corporation",
750: "Citizen Holdings Co., Ltd.",
751: "SMART-INNOVATION.inc",
752: "Blackrat Software",
753: "The Idea Cave, LLC",
754: "GoPro, Inc.",
755: "AuthAir, Inc",
756: "Vensi, Inc.",
757: "Indagem Tech LLC",
758: "Intemo Technologies",
759: "DreamVisions co., Ltd.",
760: "Runteq Oy Ltd",
761: "IMAGINATION TECHNOLOGIES LTD",
762: "CoSTAR TEchnologies",
763: "Clarius Mobile Health Corp.",
764: "Shanghai Frequen Microelectronics Co., Ltd.",
765: "Uwanna, Inc.",
766: "Lierda Science & Technology Group Co., Ltd.",
767: "Silicon Laboratories",
768: "World Moto Inc.",
769: "Giatec Scientific Inc.",
770: "Loop Devices, Inc",
771: "IACA electronique",
772: "Martians Inc",
773: "Swipp ApS",
774: "Life Laboratory Inc.",
775: "FUJI INDUSTRIAL CO.,LTD.",
776: "Surefire, LLC",
777: "Dolby Labs",
778: "Ellisys",
779: "Magnitude Lighting Converters",
780: "Hilti AG",
781: "Devdata S.r.l.",
782: "Deviceworx",
783: "Shortcut Labs",
784: "SGL Italia S.r.l.",
785: "PEEQ DATA",
786: "Ducere Technologies Pvt Ltd",
787: "DiveNav, Inc.",
788: "RIIG AI Sp. z o.o.",
789: "Thermo Fisher Scientific",
790: "AG Measurematics Pvt. Ltd.",
791: "CHUO Electronics CO., LTD.",
792: "Aspenta International",
793: "Eugster Frismag AG",
794: "Amber wireless GmbH",
795: "HQ Inc",
796: "Lab Sensor Solutions",
797: "Enterlab ApS",
798: "Eyefi, Inc.",
799: "MetaSystem S.p.A.",
800: "SONO ELECTRONICS. CO., LTD",
801: "Jewelbots",
802: "Compumedics Limited",
803: "Rotor Bike Components",
804: "Astro, Inc.",
805: "Amotus Solutions",
806: "Healthwear Technologies (Changzhou)Ltd",
807: "Essex Electronics",
808: "Grundfos A/S",
809: "Eargo, Inc.",
810: "Electronic Design Lab",
811: "ESYLUX",
812: "NIPPON SMT.CO.,Ltd",
813: "BM innovations GmbH",
814: "indoormap",
815: "OttoQ Inc",
816: "North Pole Engineering",
817: "3flares Technologies Inc.",
818: "Electrocompaniet A.S.",
819: "Mul-T-Lock",
820: "Corentium AS",
821: "Enlighted Inc",
822: "GISTIC",
823: "AJP2 Holdings, LLC",
824: "COBI GmbH",
825: "Blue Sky Scientific, LLC",
826: "Appception, Inc.",
827: "Courtney Thorne Limited",
828: "Virtuosys",
829: "TPV Technology Limited",
830: "Monitra SA",
831: "Automation Components, Inc.",
832: "Letsense s.r.l.",
833: "Etesian Technologies LLC",
834: "GERTEC BRASIL LTDA.",
835: "Drekker Development Pty. Ltd.",
836: "Whirl Inc",
837: "Locus Positioning",
838: "Acuity Brands Lighting, Inc",
839: "Prevent Biometrics",
840: "Arioneo",
841: "VersaMe",
842: "Vaddio",
843: "Libratone A/S",
844: "HM Electronics, Inc.",
845: "TASER International, Inc.",
846: "SafeTrust Inc.",
847: "Heartland Payment Systems",
848: "Bitstrata Systems Inc.",
849: "Pieps GmbH",
850: "iRiding(Xiamen)Technology Co.,Ltd.",
851: "Alpha Audiotronics, Inc.",
852: "TOPPAN FORMS CO.,LTD.",
853: "Sigma Designs, Inc.",
854: "Spectrum Brands, Inc.",
855: "Polymap Wireless",
856: "MagniWare Ltd.",
857: "Novotec Medical GmbH",
858: "Medicom Innovation Partner a/s",
859: "Matrix Inc.",
860: "Eaton Corporation",
861: "KYS",
862: "Naya Health, Inc.",
863: "Acromag",
864: "Insulet Corporation",
865: "Wellinks Inc.",
866: "ON Semiconductor",
867: "FREELAP SA",
868: "Favero Electronics Srl",
869: "BioMech Sensor LLC",
870: "BOLTT Sports technologies Private limited",
871: "Saphe International",
872: "Metormote AB",
873: "littleBits",
874: "SetPoint Medical",
875: "BRControls Products BV",
876: "Zipcar",
877: "AirBolt Pty Ltd",
878: "KeepTruckin Inc",
879: "Motiv, Inc.",
880: "Wazombi Labs O",
881: "ORBCOMM",
882: "Nixie Labs, Inc.",
883: "AppNearMe Ltd",
884: "Holman Industries",
885: "Expain AS",
886: "Electronic Temperature Instruments Ltd",
887: "Plejd AB",
888: "Propeller Health",
889: "Shenzhen iMCO Electronic Technology Co.,Ltd",
890: "Algoria",
891: "Apption Labs Inc.",
892: "Cronologics Corporation",
893: "MICRODIA Ltd.",
894: "lulabytes S.L.",
895: "Nestec S.A.",
896: "LLC MEGA - F service",
897: "Sharp Corporation",
898: "Precision Outcomes Ltd",
899: "Kronos Incorporated",
900: "OCOSMOS Co., Ltd.",
901: "Embedded Electronic Solutions Ltd. dba e2Solutions",
902: "Aterica Inc.",
903: "BluStor PMC, Inc.",
904: "Kapsch TrafficCom AB",
905: "ActiveBlu Corporation",
906: "Kohler Mira Limited",
907: "Noke",
908: "Appion Inc.",
909: "Resmed Ltd",
910: "Crownstone B.V.",
911: "Xiaomi Inc.",
912: "INFOTECH s.r.o.",
913: "Thingsquare AB",
914: "T&D",
915: "LAVAZZA S.p.A.",
916: "Netclearance Systems, Inc.",
917: "SDATAWAY",
918: "BLOKS GmbH",
919: "LEGO System A/S",
920: "Thetatronics Ltd",
921: "Nikon Corporation",
922: "NeST",
923: "South Silicon Valley Microelectronics",
924: "ALE International",
925: "CareView Communications, Inc.",
926: "SchoolBoard Limited",
927: "Molex Corporation",
928: "IVT Wireless Limited",
929: "Alpine Labs LLC",
930: "Candura Instruments",
931: "SmartMovt Technology Co., Ltd",
932: "Token Zero Ltd",
933: "ACE CAD Enterprise Co., Ltd. (ACECAD)",
934: "Medela, Inc",
935: "AeroScout",
936: "Esrille Inc.",
937: "THINKERLY SRL",
938: "Exon Sp. z o.o.",
939: "Meizu Technology Co., Ltd.",
940: "Smablo LTD",
941: "XiQ",
942: "Allswell Inc.",
943: "Comm-N-Sense Corp DBA Verigo",
944: "VIBRADORM GmbH",
945: "Otodata Wireless Network Inc.",
946: "Propagation Systems Limited",
947: "Midwest Instruments & Controls",
948: "Alpha Nodus, inc.",
949: "petPOMM, Inc",
950: "Mattel",
951: "Airbly Inc.",
952: "A-Safe Limited",
953: "FREDERIQUE CONSTANT SA",
954: "Maxscend Microelectronics Company Limited",
955: "Abbott Diabetes Care",
956: "ASB Bank Ltd",
957: "amadas",
958: "Applied Science, Inc.",
959: "iLumi Solutions Inc.",
960: "Arch Systems Inc.",
961: "Ember Technologies, Inc.",
962: "Snapchat Inc",
963: "Casambi Technologies Oy",
964: "Pico Technology Inc.",
965: "St. Jude Medical, Inc.",
966: "Intricon",
967: "Structural Health Systems, Inc.",
968: "Avvel International",
969: "Gallagher Group",
970: "In2things Automation Pvt. Ltd.",
971: "SYSDEV Srl",
972: "Vonkil Technologies Ltd",
973: "Wynd Technologies, Inc.",
974: "CONTRINEX S.A.",
975: "MIRA, Inc.",
976: "Watteam Ltd",
977: "Density Inc.",
978: "IOT Pot India Private Limited",
979: "Sigma Connectivity AB",
980: "PEG PEREGO SPA",
981: "Wyzelink Systems Inc.",
982: "Yota Devices LTD",
983: "FINSECUR",
984: "Zen-Me Labs Ltd",
985: "3IWare Co., Ltd.",
986: "EnOcean GmbH",
987: "Instabeat, Inc",
988: "Nima Labs",
989: "Andreas Stihl AG & Co. KG",
990: "Nathan Rhoades LLC",
991: "Grob Technologies, LLC",
992: "Actions (Zhuhai) Technology Co., Limited",
993: "SPD Development Company Ltd",
994: "Sensoan Oy",
995: "Qualcomm Life Inc",
996: "Chip-ing AG",
997: "ffly4u",
998: "IoT Instruments Oy",
999: "TRUE Fitness Technology",
1e3: "Reiner Kartengeraete GmbH & Co. KG.",
1001: "SHENZHEN LEMONJOY TECHNOLOGY CO., LTD.",
1002: "Hello Inc.",
1003: "Evollve Inc.",
1004: "Jigowatts Inc.",
1005: "BASIC MICRO.COM,INC.",
1006: "CUBE TECHNOLOGIES",
1007: "foolography GmbH",
1008: "CLINK",
1009: "Hestan Smart Cooking Inc.",
1010: "WindowMaster A/S",
1011: "Flowscape AB",
1012: "PAL Technologies Ltd",
1013: "WHERE, Inc.",
1014: "Iton Technology Corp.",
1015: "Owl Labs Inc.",
1016: "Rockford Corp.",
1017: "Becon Technologies Co.,Ltd.",
1018: "Vyassoft Technologies Inc",
1019: "Nox Medical",
1020: "Kimberly-Clark",
1021: "Trimble Navigation Ltd.",
1022: "Littelfuse",
1023: "Withings",
1024: "i-developer IT Beratung UG",
1026: "Sears Holdings Corporation",
1027: "Gantner Electronic GmbH",
1028: "Authomate Inc",
1029: "Vertex International, Inc.",
1030: "Airtago",
1031: "Swiss Audio SA",
1032: "ToGetHome Inc.",
1033: "AXIS",
1034: "Openmatics",
1035: "Jana Care Inc.",
1036: "Senix Corporation",
1037: "NorthStar Battery Company, LLC",
1038: "SKF (U.K.) Limited",
1039: "CO-AX Technology, Inc.",
1040: "Fender Musical Instruments",
1041: "Luidia Inc",
1042: "SEFAM",
1043: "Wireless Cables Inc",
1044: "Lightning Protection International Pty Ltd",
1045: "Uber Technologies Inc",
1046: "SODA GmbH",
1047: "Fatigue Science",
1048: "Alpine Electronics Inc.",
1049: "Novalogy LTD",
1050: "Friday Labs Limited",
1051: "OrthoAccel Technologies",
1052: "WaterGuru, Inc.",
1053: "Benning Elektrotechnik und Elektronik GmbH & Co. KG",
1054: "Dell Computer Corporation",
1055: "Kopin Corporation",
1056: "TecBakery GmbH",
1057: "Backbone Labs, Inc.",
1058: "DELSEY SA",
1059: "Chargifi Limited",
1060: "Trainesense Ltd.",
1061: "Unify Software and Solutions GmbH & Co. KG",
1062: "Husqvarna AB",
1063: "Focus fleet and fuel management inc",
1064: "SmallLoop, LLC",
1065: "Prolon Inc.",
1066: "BD Medical",
1067: "iMicroMed Incorporated",
1068: "Ticto N.V.",
1069: "Meshtech AS",
1070: "MemCachier Inc.",
1071: "Danfoss A/S",
1072: "SnapStyk Inc.",
1073: "Amyway Corporation",
1074: "Silk Labs, Inc.",
1075: "Pillsy Inc.",
1076: "Hatch Baby, Inc.",
1077: "Blocks Wearables Ltd.",
1078: "Drayson Technologies (Europe) Limited",
1079: "eBest IOT Inc.",
1080: "Helvar Ltd",
1081: "Radiance Technologies",
1082: "Nuheara Limited",
1083: "Appside co., ltd.",
1084: "DeLaval",
1085: "Coiler Corporation",
1086: "Thermomedics, Inc.",
1087: "Tentacle Sync GmbH",
1088: "Valencell, Inc.",
1089: "iProtoXi Oy",
1090: "SECOM CO., LTD.",
1091: "Tucker International LLC",
1092: "Metanate Limited",
1093: "Kobian Canada Inc.",
1094: "NETGEAR, Inc.",
1095: "Fabtronics Australia Pty Ltd",
1096: "Grand Centrix GmbH",
1097: "1UP USA.com llc",
1098: "SHIMANO INC.",
1099: "Nain Inc.",
1100: "LifeStyle Lock, LLC",
1101: "VEGA Grieshaber KG",
1102: "Xtrava Inc.",
1103: "TTS Tooltechnic Systems AG & Co. KG",
1104: "Teenage Engineering AB",
1105: "Tunstall Nordic AB",
1106: "Svep Design Center AB",
1107: "GreenPeak Technologies BV",
1108: "Sphinx Electronics GmbH & Co KG",
1109: "Atomation",
1110: "Nemik Consulting Inc",
1111: "RF INNOVATION",
1112: "Mini Solution Co., Ltd.",
1113: "Lumenetix, Inc",
1114: "2048450 Ontario Inc",
1115: "SPACEEK LTD",
1116: "Delta T Corporation",
1117: "Boston Scientific Corporation",
1118: "Nuviz, Inc.",
1119: "Real Time Automation, Inc.",
1120: "Kolibree",
1121: "vhf elektronik GmbH",
1122: "Bonsai Systems GmbH",
1123: "Fathom Systems Inc.",
1124: "Bellman & Symfon",
1125: "International Forte Group LLC",
1126: "CycleLabs Solutions inc.",
1127: "Codenex Oy",
1128: "Kynesim Ltd",
1129: "Palago AB",
1130: "INSIGMA INC.",
1131: "PMD Solutions",
1132: "Qingdao Realtime Technology Co., Ltd.",
1133: "BEGA Gantenbrink-Leuchten KG",
1134: "Pambor Ltd.",
65535: "SPECIAL USE/DEFAULT"
};
}
});
// node_modules/systeminformation/lib/bluetooth.js
var require_bluetooth = __commonJS({
"node_modules/systeminformation/lib/bluetooth.js"(exports2) {
"use strict";
var exec3 = __require("child_process").exec;
var execSync5 = __require("child_process").execSync;
var path101 = __require("path");
var util2 = require_util7();
var bluetoothVendors = require_bluetoothVendors();
var fs84 = __require("fs");
var _platform = process.platform;
var _linux = _platform === "linux" || _platform === "android";
var _darwin = _platform === "darwin";
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
function parseBluetoothType(str2) {
let result2 = "";
if (str2.indexOf("keyboard") >= 0) {
result2 = "Keyboard";
}
if (str2.indexOf("mouse") >= 0) {
result2 = "Mouse";
}
if (str2.indexOf("trackpad") >= 0) {
result2 = "Trackpad";
}
if (str2.indexOf("audio") >= 0) {
result2 = "Audio";
}
if (str2.indexOf("sound") >= 0) {
result2 = "Audio";
}
if (str2.indexOf("microph") >= 0) {
result2 = "Microphone";
}
if (str2.indexOf("speaker") >= 0) {
result2 = "Speaker";
}
if (str2.indexOf("headset") >= 0) {
result2 = "Headset";
}
if (str2.indexOf("phone") >= 0) {
result2 = "Phone";
}
if (str2.indexOf("macbook") >= 0) {
result2 = "Computer";
}
if (str2.indexOf("imac") >= 0) {
result2 = "Computer";
}
if (str2.indexOf("ipad") >= 0) {
result2 = "Tablet";
}
if (str2.indexOf("watch") >= 0) {
result2 = "Watch";
}
if (str2.indexOf("headphone") >= 0) {
result2 = "Headset";
}
return result2;
}
function parseBluetoothManufacturer(str2) {
let result2 = str2.split(" ")[0];
str2 = str2.toLowerCase();
if (str2.indexOf("apple") >= 0) {
result2 = "Apple";
}
if (str2.indexOf("ipad") >= 0) {
result2 = "Apple";
}
if (str2.indexOf("imac") >= 0) {
result2 = "Apple";
}
if (str2.indexOf("iphone") >= 0) {
result2 = "Apple";
}
if (str2.indexOf("magic mouse") >= 0) {
result2 = "Apple";
}
if (str2.indexOf("magic track") >= 0) {
result2 = "Apple";
}
if (str2.indexOf("macbook") >= 0) {
result2 = "Apple";
}
return result2;
}
function parseBluetoothVendor(str2) {
const id = parseInt(str2);
if (!isNaN(id)) return bluetoothVendors[id];
}
function parseLinuxBluetoothInfo(lines, macAddr1, macAddr2) {
const result2 = {};
result2.device = null;
result2.name = util2.getValue(lines, "name", "=");
result2.manufacturer = null;
result2.macDevice = macAddr1;
result2.macHost = macAddr2;
result2.batteryPercent = null;
result2.type = parseBluetoothType(result2.name.toLowerCase());
result2.connected = false;
return result2;
}
function parseDarwinBluetoothDevices(bluetoothObject, macAddr2) {
const result2 = {};
const typeStr = ((bluetoothObject.device_minorClassOfDevice_string || bluetoothObject.device_majorClassOfDevice_string || bluetoothObject.device_minorType || "") + (bluetoothObject.device_name || "")).toLowerCase();
result2.device = bluetoothObject.device_services || "";
result2.name = bluetoothObject.device_name || "";
result2.manufacturer = bluetoothObject.device_manufacturer || parseBluetoothVendor(bluetoothObject.device_vendorID) || parseBluetoothManufacturer(bluetoothObject.device_name || "") || "";
result2.macDevice = (bluetoothObject.device_addr || bluetoothObject.device_address || "").toLowerCase().replace(/-/g, ":");
result2.macHost = macAddr2;
result2.batteryPercent = bluetoothObject.device_batteryPercent || null;
result2.type = parseBluetoothType(typeStr);
result2.connected = bluetoothObject.device_isconnected === "attrib_Yes" || false;
return result2;
}
function parseWindowsBluetooth(lines) {
const result2 = {};
result2.device = null;
result2.name = util2.getValue(lines, "name", ":");
result2.manufacturer = util2.getValue(lines, "manufacturer", ":");
result2.macDevice = null;
result2.macHost = null;
result2.batteryPercent = null;
result2.type = parseBluetoothType(result2.name.toLowerCase());
result2.connected = null;
return result2;
}
function bluetoothDevices(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let result2 = [];
if (_linux) {
const btFiles = util2.getFilesInPath("/var/lib/bluetooth/");
btFiles.forEach((element) => {
const filename = path101.basename(element);
const pathParts = element.split("/");
const macAddr1 = pathParts.length >= 6 ? pathParts[pathParts.length - 2] : null;
const macAddr2 = pathParts.length >= 7 ? pathParts[pathParts.length - 3] : null;
if (filename === "info") {
const infoFile = fs84.readFileSync(element, { encoding: "utf8" }).split("\n");
result2.push(parseLinuxBluetoothInfo(infoFile, macAddr1, macAddr2));
}
});
try {
const hdicon = execSync5("hcitool con", util2.execOptsLinux).toString().toLowerCase();
for (let i3 = 0; i3 < result2.length; i3++) {
if (result2[i3].macDevice && result2[i3].macDevice.length > 10 && hdicon.indexOf(result2[i3].macDevice.toLowerCase()) >= 0) {
result2[i3].connected = true;
}
}
} catch {
util2.noop();
}
if (callback) {
callback(result2);
}
resolve25(result2);
}
if (_darwin) {
let cmd = "system_profiler SPBluetoothDataType -json";
exec3(cmd, (error40, stdout) => {
if (!error40) {
try {
const outObj = JSON.parse(stdout.toString());
if (outObj.SPBluetoothDataType && outObj.SPBluetoothDataType.length && outObj.SPBluetoothDataType[0] && outObj.SPBluetoothDataType[0]["device_title"] && outObj.SPBluetoothDataType[0]["device_title"].length) {
let macAddr2 = null;
if (outObj.SPBluetoothDataType[0]["local_device_title"] && outObj.SPBluetoothDataType[0].local_device_title.general_address) {
macAddr2 = outObj.SPBluetoothDataType[0].local_device_title.general_address.toLowerCase().replace(/-/g, ":");
}
outObj.SPBluetoothDataType[0]["device_title"].forEach((element) => {
const obj = element;
const objKey = Object.keys(obj);
if (objKey && objKey.length === 1) {
const innerObject = obj[objKey[0]];
innerObject.device_name = objKey[0];
const bluetoothDevice = parseDarwinBluetoothDevices(innerObject, macAddr2);
result2.push(bluetoothDevice);
}
});
}
if (outObj.SPBluetoothDataType && outObj.SPBluetoothDataType.length && outObj.SPBluetoothDataType[0] && outObj.SPBluetoothDataType[0]["device_connected"] && outObj.SPBluetoothDataType[0]["device_connected"].length) {
const macAddr2 = outObj.SPBluetoothDataType[0].controller_properties && outObj.SPBluetoothDataType[0].controller_properties.controller_address ? outObj.SPBluetoothDataType[0].controller_properties.controller_address.toLowerCase().replace(/-/g, ":") : null;
outObj.SPBluetoothDataType[0]["device_connected"].forEach((element) => {
const obj = element;
const objKey = Object.keys(obj);
if (objKey && objKey.length === 1) {
const innerObject = obj[objKey[0]];
innerObject.device_name = objKey[0];
innerObject.device_isconnected = "attrib_Yes";
const bluetoothDevice = parseDarwinBluetoothDevices(innerObject, macAddr2);
result2.push(bluetoothDevice);
}
});
}
if (outObj.SPBluetoothDataType && outObj.SPBluetoothDataType.length && outObj.SPBluetoothDataType[0] && outObj.SPBluetoothDataType[0]["device_not_connected"] && outObj.SPBluetoothDataType[0]["device_not_connected"].length) {
const macAddr2 = outObj.SPBluetoothDataType[0].controller_properties && outObj.SPBluetoothDataType[0].controller_properties.controller_address ? outObj.SPBluetoothDataType[0].controller_properties.controller_address.toLowerCase().replace(/-/g, ":") : null;
outObj.SPBluetoothDataType[0]["device_not_connected"].forEach((element) => {
const obj = element;
const objKey = Object.keys(obj);
if (objKey && objKey.length === 1) {
const innerObject = obj[objKey[0]];
innerObject.device_name = objKey[0];
innerObject.device_isconnected = "attrib_No";
const bluetoothDevice = parseDarwinBluetoothDevices(innerObject, macAddr2);
result2.push(bluetoothDevice);
}
});
}
} catch {
util2.noop();
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_windows) {
util2.powerShell("Get-CimInstance Win32_PNPEntity | select PNPClass, Name, Manufacturer, Status, Service, ConfigManagerErrorCode, Present | fl").then((stdout, error40) => {
if (!error40) {
const parts2 = stdout.toString().split(/\n\s*\n/);
parts2.forEach((part) => {
const lines = part.split("\n");
const service = util2.getValue(lines, "Service", ":");
const errorCode = util2.getValue(lines, "ConfigManagerErrorCode", ":");
const pnpClass = util2.getValue(lines, "PNPClass", ":").toLowerCase();
if (pnpClass === "bluetooth" && errorCode === "0" && service === "") {
result2.push(parseWindowsBluetooth(lines));
}
});
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
}
if (_freebsd || _netbsd || _openbsd || _sunos) {
resolve25(null);
}
});
});
}
exports2.bluetoothDevices = bluetoothDevices;
}
});
// node_modules/systeminformation/lib/index.js
var require_lib4 = __commonJS({
"node_modules/systeminformation/lib/index.js"(exports2) {
"use strict";
var lib_version = require_package4().version;
var util2 = require_util7();
var system = require_system();
var osInfo = require_osinfo();
var cpu = require_cpu();
var memory = require_memory();
var battery = require_battery();
var graphics = require_graphics();
var filesystem = require_filesystem();
var network = require_network();
var wifi = require_wifi();
var processes = require_processes();
var users = require_users();
var internet = require_internet();
var docker = require_docker();
var vbox = require_virtualbox();
var printer = require_printer();
var usb = require_usb();
var audio = require_audio();
var bluetooth = require_bluetooth();
var _platform = process.platform;
var _windows = _platform === "win32";
var _freebsd = _platform === "freebsd";
var _openbsd = _platform === "openbsd";
var _netbsd = _platform === "netbsd";
var _sunos = _platform === "sunos";
if (_windows) {
util2.getCodepage();
util2.getPowershell();
}
function version4() {
return lib_version;
}
function getStaticData(callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const data = {};
data.version = version4();
Promise.all([
system.system(),
system.bios(),
system.baseboard(),
system.chassis(),
osInfo.osInfo(),
osInfo.uuid(),
osInfo.versions(),
cpu.cpu(),
cpu.cpuFlags(),
graphics.graphics(),
network.networkInterfaces(),
memory.memLayout(),
filesystem.diskLayout(),
audio.audio(),
bluetooth.bluetoothDevices(),
usb.usb(),
printer.printer()
]).then((res) => {
data.system = res[0];
data.bios = res[1];
data.baseboard = res[2];
data.chassis = res[3];
data.os = res[4];
data.uuid = res[5];
data.versions = res[6];
data.cpu = res[7];
data.cpu.flags = res[8];
data.graphics = res[9];
data.net = res[10];
data.memLayout = res[11];
data.diskLayout = res[12];
data.audio = res[13];
data.bluetooth = res[14];
data.usb = res[15];
data.printer = res[16];
if (callback) {
callback(data);
}
resolve25(data);
});
});
});
}
function getDynamicData(srv, iface, callback) {
if (util2.isFunction(iface)) {
callback = iface;
iface = "";
}
if (util2.isFunction(srv)) {
callback = srv;
srv = "";
}
return new Promise((resolve25) => {
process.nextTick(() => {
iface = iface || network.getDefaultNetworkInterface();
srv = srv || "";
let functionProcessed = (() => {
let totalFunctions = 15;
if (_windows) {
totalFunctions = 13;
}
if (_freebsd || _openbsd || _netbsd) {
totalFunctions = 11;
}
if (_sunos) {
totalFunctions = 6;
}
return function() {
if (--totalFunctions === 0) {
if (callback) {
callback(data);
}
resolve25(data);
}
};
})();
const data = {};
data.time = osInfo.time();
data.node = process.versions.node;
data.v8 = process.versions.v8;
cpu.cpuCurrentSpeed().then((res) => {
data.cpuCurrentSpeed = res;
functionProcessed();
});
users.users().then((res) => {
data.users = res;
functionProcessed();
});
processes.processes().then((res) => {
data.processes = res;
functionProcessed();
});
cpu.currentLoad().then((res) => {
data.currentLoad = res;
functionProcessed();
});
if (!_sunos) {
cpu.cpuTemperature().then((res) => {
data.temp = res;
functionProcessed();
});
}
if (!_openbsd && !_freebsd && !_netbsd && !_sunos) {
network.networkStats(iface).then((res) => {
data.networkStats = res;
functionProcessed();
});
}
if (!_sunos) {
network.networkConnections().then((res) => {
data.networkConnections = res;
functionProcessed();
});
}
memory.mem().then((res) => {
data.mem = res;
functionProcessed();
});
if (!_sunos) {
battery().then((res) => {
data.battery = res;
functionProcessed();
});
}
if (!_sunos) {
processes.services(srv).then((res) => {
data.services = res;
functionProcessed();
});
}
if (!_sunos) {
filesystem.fsSize().then((res) => {
data.fsSize = res;
functionProcessed();
});
}
if (!_windows && !_openbsd && !_freebsd && !_netbsd && !_sunos) {
filesystem.fsStats().then((res) => {
data.fsStats = res;
functionProcessed();
});
}
if (!_windows && !_openbsd && !_freebsd && !_netbsd && !_sunos) {
filesystem.disksIO().then((res) => {
data.disksIO = res;
functionProcessed();
});
}
if (!_openbsd && !_freebsd && !_netbsd && !_sunos) {
wifi.wifiNetworks().then((res) => {
data.wifiNetworks = res;
functionProcessed();
});
}
internet.inetLatency().then((res) => {
data.inetLatency = res;
functionProcessed();
});
});
});
}
function getAllData(srv, iface, callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
let data = {};
if (iface && util2.isFunction(iface) && !callback) {
callback = iface;
iface = "";
}
if (srv && util2.isFunction(srv) && !iface && !callback) {
callback = srv;
srv = "";
iface = "";
}
getStaticData().then((res) => {
data = res;
getDynamicData(srv, iface).then((res2) => {
for (let key in res2) {
if ({}.hasOwnProperty.call(res2, key)) {
data[key] = res2[key];
}
}
if (callback) {
callback(data);
}
resolve25(data);
});
});
});
});
}
function get2(valueObject, callback) {
return new Promise((resolve25) => {
process.nextTick(() => {
const allPromises = Object.keys(valueObject).filter((func2) => ({}).hasOwnProperty.call(exports2, func2)).map((func2) => {
const params = valueObject[func2].substring(valueObject[func2].lastIndexOf("(") + 1, valueObject[func2].lastIndexOf(")"));
let funcWithoutParams = func2.indexOf(")") >= 0 ? func2.split(")")[1].trim() : func2;
funcWithoutParams = func2.indexOf("|") >= 0 ? func2.split("|")[0].trim() : funcWithoutParams;
if (params) {
return exports2[funcWithoutParams](params);
} else {
return exports2[funcWithoutParams]("");
}
});
Promise.all(allPromises).then((data) => {
const result2 = {};
let i3 = 0;
for (let key in valueObject) {
if ({}.hasOwnProperty.call(valueObject, key) && {}.hasOwnProperty.call(exports2, key) && data.length > i3) {
if (valueObject[key] === "*" || valueObject[key] === "all") {
result2[key] = data[i3];
} else {
let keys = valueObject[key];
let filter4 = "";
let filterParts = [];
if (keys.indexOf(")") >= 0) {
keys = keys.split(")")[1].trim();
}
if (keys.indexOf("|") >= 0) {
filter4 = keys.split("|")[1].trim();
filterParts = filter4.split(":");
keys = keys.split("|")[0].trim();
}
keys = keys.replace(/,/g, " ").replace(/ +/g, " ").split(" ");
if (data[i3]) {
if (Array.isArray(data[i3])) {
const partialArray = [];
data[i3].forEach((element) => {
let partialRes = {};
if (keys.length === 1 && (keys[0] === "*" || keys[0] === "all")) {
partialRes = element;
} else {
keys.forEach((k) => {
if ({}.hasOwnProperty.call(element, k)) {
partialRes[k] = element[k];
}
});
}
if (filter4 && filterParts.length === 2) {
if ({}.hasOwnProperty.call(partialRes, filterParts[0].trim())) {
const val = partialRes[filterParts[0].trim()];
if (typeof val === "number") {
if (val === parseFloat(filterParts[1].trim())) {
partialArray.push(partialRes);
}
} else if (typeof val === "string") {
if (val.toLowerCase() === filterParts[1].trim().toLowerCase()) {
partialArray.push(partialRes);
}
}
}
} else {
partialArray.push(partialRes);
}
});
result2[key] = partialArray;
} else {
const partialRes = {};
keys.forEach((k) => {
if ({}.hasOwnProperty.call(data[i3], k)) {
partialRes[k] = data[i3][k];
}
});
result2[key] = partialRes;
}
} else {
result2[key] = {};
}
}
i3++;
}
}
if (callback) {
callback(result2);
}
resolve25(result2);
});
});
});
}
function observe(valueObject, interval, callback) {
let _data = null;
const result2 = setInterval(() => {
get2(valueObject).then((data) => {
if (JSON.stringify(_data) !== JSON.stringify(data)) {
_data = Object.assign({}, data);
callback(data);
}
});
}, interval);
return result2;
}
exports2.version = version4;
exports2.system = system.system;
exports2.bios = system.bios;
exports2.baseboard = system.baseboard;
exports2.chassis = system.chassis;
exports2.time = osInfo.time;
exports2.osInfo = osInfo.osInfo;
exports2.versions = osInfo.versions;
exports2.shell = osInfo.shell;
exports2.uuid = osInfo.uuid;
exports2.cpu = cpu.cpu;
exports2.cpuFlags = cpu.cpuFlags;
exports2.cpuCache = cpu.cpuCache;
exports2.cpuCurrentSpeed = cpu.cpuCurrentSpeed;
exports2.cpuTemperature = cpu.cpuTemperature;
exports2.currentLoad = cpu.currentLoad;
exports2.fullLoad = cpu.fullLoad;
exports2.mem = memory.mem;
exports2.memLayout = memory.memLayout;
exports2.battery = battery;
exports2.graphics = graphics.graphics;
exports2.fsSize = filesystem.fsSize;
exports2.fsOpenFiles = filesystem.fsOpenFiles;
exports2.blockDevices = filesystem.blockDevices;
exports2.fsStats = filesystem.fsStats;
exports2.disksIO = filesystem.disksIO;
exports2.diskLayout = filesystem.diskLayout;
exports2.networkInterfaceDefault = network.networkInterfaceDefault;
exports2.networkGatewayDefault = network.networkGatewayDefault;
exports2.networkInterfaces = network.networkInterfaces;
exports2.networkStats = network.networkStats;
exports2.networkConnections = network.networkConnections;
exports2.wifiNetworks = wifi.wifiNetworks;
exports2.wifiInterfaces = wifi.wifiInterfaces;
exports2.wifiConnections = wifi.wifiConnections;
exports2.services = processes.services;
exports2.processes = processes.processes;
exports2.processLoad = processes.processLoad;
exports2.users = users.users;
exports2.inetChecksite = internet.inetChecksite;
exports2.inetLatency = internet.inetLatency;
exports2.dockerInfo = docker.dockerInfo;
exports2.dockerImages = docker.dockerImages;
exports2.dockerContainers = docker.dockerContainers;
exports2.dockerContainerStats = docker.dockerContainerStats;
exports2.dockerContainerProcesses = docker.dockerContainerProcesses;
exports2.dockerVolumes = docker.dockerVolumes;
exports2.dockerAll = docker.dockerAll;
exports2.vboxInfo = vbox.vboxInfo;
exports2.printer = printer.printer;
exports2.usb = usb.usb;
exports2.audio = audio.audio;
exports2.bluetoothDevices = bluetooth.bluetoothDevices;
exports2.getStaticData = getStaticData;
exports2.getDynamicData = getDynamicData;
exports2.getAllData = getAllData;
exports2.get = get2;
exports2.observe = observe;
exports2.powerShellStart = util2.powerShellStart;
exports2.powerShellRelease = util2.powerShellRelease;
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/external-types.js
var require_external_types = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/external-types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/node_modules/@grpc/proto-loader/build/src/util.js
var require_util8 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/node_modules/@grpc/proto-loader/build/src/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.addCommonProtos = exports2.loadProtosWithOptionsSync = exports2.loadProtosWithOptions = void 0;
var fs84 = __require("fs");
var path101 = __require("path");
var Protobuf = require_protobufjs();
function addIncludePathResolver(root, includePaths) {
const originalResolvePath = root.resolvePath;
root.resolvePath = (origin, target) => {
if (path101.isAbsolute(target)) {
return target;
}
for (const directory of includePaths) {
const fullPath = path101.join(directory, target);
try {
fs84.accessSync(fullPath, fs84.constants.R_OK);
return fullPath;
} catch (err2) {
continue;
}
}
process.emitWarning(`${target} not found in any of the include paths ${includePaths}`);
return originalResolvePath(origin, target);
};
}
async function loadProtosWithOptions(filename, options) {
const root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!Array.isArray(options.includeDirs)) {
return Promise.reject(new Error("The includeDirs option must be an array"));
}
addIncludePathResolver(root, options.includeDirs);
}
const loadedRoot = await root.load(filename, options);
loadedRoot.resolveAll();
return loadedRoot;
}
exports2.loadProtosWithOptions = loadProtosWithOptions;
function loadProtosWithOptionsSync(filename, options) {
const root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!Array.isArray(options.includeDirs)) {
throw new Error("The includeDirs option must be an array");
}
addIncludePathResolver(root, options.includeDirs);
}
const loadedRoot = root.loadSync(filename, options);
loadedRoot.resolveAll();
return loadedRoot;
}
exports2.loadProtosWithOptionsSync = loadProtosWithOptionsSync;
function addCommonProtos() {
const apiDescriptor = require_api();
const descriptorDescriptor = require_descriptor();
const sourceContextDescriptor = require_source_context();
const typeDescriptor = require_type2();
Protobuf.common("api", apiDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("descriptor", descriptorDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("source_context", sourceContextDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("type", typeDescriptor.nested.google.nested.protobuf.nested);
}
exports2.addCommonProtos = addCommonProtos;
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/node_modules/@grpc/proto-loader/build/src/index.js
var require_src37 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/node_modules/@grpc/proto-loader/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.loadFileDescriptorSetFromObject = exports2.loadFileDescriptorSetFromBuffer = exports2.fromJSON = exports2.loadSync = exports2.load = exports2.IdempotencyLevel = exports2.isAnyExtension = exports2.Long = void 0;
var camelCase = require_lodash();
var Protobuf = require_protobufjs();
var descriptor2 = require_descriptor2();
var util_1 = require_util8();
var Long = require_umd();
exports2.Long = Long;
function isAnyExtension(obj) {
return "@type" in obj && typeof obj["@type"] === "string";
}
exports2.isAnyExtension = isAnyExtension;
var IdempotencyLevel;
(function(IdempotencyLevel2) {
IdempotencyLevel2["IDEMPOTENCY_UNKNOWN"] = "IDEMPOTENCY_UNKNOWN";
IdempotencyLevel2["NO_SIDE_EFFECTS"] = "NO_SIDE_EFFECTS";
IdempotencyLevel2["IDEMPOTENT"] = "IDEMPOTENT";
})(IdempotencyLevel = exports2.IdempotencyLevel || (exports2.IdempotencyLevel = {}));
var descriptorOptions = {
longs: String,
enums: String,
bytes: String,
defaults: true,
oneofs: true,
json: true
};
function joinName(baseName, name3) {
if (baseName === "") {
return name3;
} else {
return baseName + "." + name3;
}
}
function isHandledReflectionObject(obj) {
return obj instanceof Protobuf.Service || obj instanceof Protobuf.Type || obj instanceof Protobuf.Enum;
}
function isNamespaceBase(obj) {
return obj instanceof Protobuf.Namespace || obj instanceof Protobuf.Root;
}
function getAllHandledReflectionObjects(obj, parentName) {
const objName = joinName(parentName, obj.name);
if (isHandledReflectionObject(obj)) {
return [[objName, obj]];
} else {
if (isNamespaceBase(obj) && typeof obj.nested !== "undefined") {
return Object.keys(obj.nested).map((name3) => {
return getAllHandledReflectionObjects(obj.nested[name3], objName);
}).reduce((accumulator, currentValue) => accumulator.concat(currentValue), []);
}
}
return [];
}
function createDeserializer(cls, options) {
return function deserialize(argBuf) {
return cls.toObject(cls.decode(argBuf), options);
};
}
function createSerializer(cls) {
return function serialize3(arg) {
if (Array.isArray(arg)) {
throw new Error(`Failed to serialize message: expected object with ${cls.name} structure, got array instead`);
}
const message = cls.fromObject(arg);
return cls.encode(message).finish();
};
}
function mapMethodOptions(options) {
return (options || []).reduce((obj, item) => {
for (const [key, value] of Object.entries(item)) {
switch (key) {
case "uninterpreted_option":
obj.uninterpreted_option.push(item.uninterpreted_option);
break;
default:
obj[key] = value;
}
}
return obj;
}, {
deprecated: false,
idempotency_level: IdempotencyLevel.IDEMPOTENCY_UNKNOWN,
uninterpreted_option: []
});
}
function createMethodDefinition(method, serviceName, options, fileDescriptors) {
const requestType = method.resolvedRequestType;
const responseType = method.resolvedResponseType;
return {
path: "/" + serviceName + "/" + method.name,
requestStream: !!method.requestStream,
responseStream: !!method.responseStream,
requestSerialize: createSerializer(requestType),
requestDeserialize: createDeserializer(requestType, options),
responseSerialize: createSerializer(responseType),
responseDeserialize: createDeserializer(responseType, options),
// TODO(murgatroid99): Find a better way to handle this
originalName: camelCase(method.name),
requestType: createMessageDefinition(requestType, options, fileDescriptors),
responseType: createMessageDefinition(responseType, options, fileDescriptors),
options: mapMethodOptions(method.parsedOptions)
};
}
function createServiceDefinition(service, name3, options, fileDescriptors) {
const def = {};
for (const method of service.methodsArray) {
def[method.name] = createMethodDefinition(method, name3, options, fileDescriptors);
}
return def;
}
function createMessageDefinition(message, options, fileDescriptors) {
const messageDescriptor = message.toDescriptor("proto3");
return {
format: "Protocol Buffer 3 DescriptorProto",
type: messageDescriptor.$type.toObject(messageDescriptor, descriptorOptions),
fileDescriptorProtos: fileDescriptors,
serialize: createSerializer(message),
deserialize: createDeserializer(message, options)
};
}
function createEnumDefinition(enumType, fileDescriptors) {
const enumDescriptor = enumType.toDescriptor("proto3");
return {
format: "Protocol Buffer 3 EnumDescriptorProto",
type: enumDescriptor.$type.toObject(enumDescriptor, descriptorOptions),
fileDescriptorProtos: fileDescriptors
};
}
function createDefinition(obj, name3, options, fileDescriptors) {
if (obj instanceof Protobuf.Service) {
return createServiceDefinition(obj, name3, options, fileDescriptors);
} else if (obj instanceof Protobuf.Type) {
return createMessageDefinition(obj, options, fileDescriptors);
} else if (obj instanceof Protobuf.Enum) {
return createEnumDefinition(obj, fileDescriptors);
} else {
throw new Error("Type mismatch in reflection object handling");
}
}
function createPackageDefinition(root, options) {
const def = {};
root.resolveAll();
const descriptorList = root.toDescriptor("proto3").file;
const bufferList = descriptorList.map((value) => Buffer.from(descriptor2.FileDescriptorProto.encode(value).finish()));
for (const [name3, obj] of getAllHandledReflectionObjects(root, "")) {
def[name3] = createDefinition(obj, name3, options, bufferList);
}
return def;
}
function createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options) {
options = options || {};
const root = Protobuf.Root.fromDescriptor(decodedDescriptorSet);
root.resolveAll();
return createPackageDefinition(root, options);
}
function load3(filename, options) {
return (0, util_1.loadProtosWithOptions)(filename, options).then((loadedRoot) => {
return createPackageDefinition(loadedRoot, options);
});
}
exports2.load = load3;
function loadSync(filename, options) {
const loadedRoot = (0, util_1.loadProtosWithOptionsSync)(filename, options);
return createPackageDefinition(loadedRoot, options);
}
exports2.loadSync = loadSync;
function fromJSON(json3, options) {
options = options || {};
const loadedRoot = Protobuf.Root.fromJSON(json3);
loadedRoot.resolveAll();
return createPackageDefinition(loadedRoot, options);
}
exports2.fromJSON = fromJSON;
function loadFileDescriptorSetFromBuffer(descriptorSet, options) {
const decodedDescriptorSet = descriptor2.FileDescriptorSet.decode(descriptorSet);
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options);
}
exports2.loadFileDescriptorSetFromBuffer = loadFileDescriptorSetFromBuffer;
function loadFileDescriptorSetFromObject(descriptorSet, options) {
const decodedDescriptorSet = descriptor2.FileDescriptorSet.fromObject(descriptorSet);
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options);
}
exports2.loadFileDescriptorSetFromObject = loadFileDescriptorSetFromObject;
(0, util_1.addCommonProtos)();
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/types.js
var require_types6 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SpanKind = exports2.Code = exports2.LinkType = exports2.Type = void 0;
var Type2;
(function(Type3) {
Type3[Type3["TYPE_UNSPECIFIED"] = 0] = "TYPE_UNSPECIFIED";
Type3[Type3["SENT"] = 1] = "SENT";
Type3[Type3["RECEIVED"] = 2] = "RECEIVED";
})(Type2 = exports2.Type || (exports2.Type = {}));
var LinkType;
(function(LinkType2) {
LinkType2[LinkType2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
LinkType2[LinkType2["CHILD_LINKED_SPAN"] = 1] = "CHILD_LINKED_SPAN";
LinkType2[LinkType2["PARENT_LINKED_SPAN"] = 2] = "PARENT_LINKED_SPAN";
})(LinkType = exports2.LinkType || (exports2.LinkType = {}));
var Code;
(function(Code2) {
Code2[Code2["OK"] = 0] = "OK";
Code2[Code2["UNKNOWN"] = 2] = "UNKNOWN";
})(Code = exports2.Code || (exports2.Code = {}));
var SpanKind;
(function(SpanKind2) {
SpanKind2[SpanKind2["SPAN_KIND_UNSPECIFIED"] = 0] = "SPAN_KIND_UNSPECIFIED";
SpanKind2[SpanKind2["INTERNAL"] = 1] = "INTERNAL";
SpanKind2[SpanKind2["SERVER"] = 2] = "SERVER";
SpanKind2[SpanKind2["CLIENT"] = 3] = "CLIENT";
SpanKind2[SpanKind2["PRODUCER"] = 4] = "PRODUCER";
SpanKind2[SpanKind2["CONSUMER"] = 5] = "CONSUMER";
})(SpanKind = exports2.SpanKind || (exports2.SpanKind = {}));
}
});
// node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/faas.js
var require_faas = __commonJS({
"node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/faas.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.faasCloudRegion = exports2.faasInstance = exports2.faasVersion = exports2.faasName = exports2.onCloudFunctions = exports2.onCloudRun = void 0;
var metadata2 = require_src4();
var ID_METADATA_ATTR = "id";
var CLOUD_RUN_CONFIG_ENV = "K_CONFIGURATION";
var CLOUD_FUNCTION_TARGET_ENV = "FUNCTION_TARGET";
var FAAS_SERVICE_ENV = "K_SERVICE";
var FAAS_REVISION_ENV = "K_REVISION";
var REGION_METADATA_ATTR = "region";
async function onCloudRun() {
return process.env[CLOUD_RUN_CONFIG_ENV] !== void 0;
}
exports2.onCloudRun = onCloudRun;
async function onCloudFunctions() {
return process.env[CLOUD_FUNCTION_TARGET_ENV] !== void 0;
}
exports2.onCloudFunctions = onCloudFunctions;
async function faasName() {
return lookupEnv(FAAS_SERVICE_ENV);
}
exports2.faasName = faasName;
async function faasVersion() {
return lookupEnv(FAAS_REVISION_ENV);
}
exports2.faasVersion = faasVersion;
async function faasInstance() {
const id = await metadata2.instance(ID_METADATA_ATTR);
return id.toString();
}
exports2.faasInstance = faasInstance;
async function faasCloudRegion() {
const region = await metadata2.instance(REGION_METADATA_ATTR);
return region.slice(region.lastIndexOf("/") + 1);
}
exports2.faasCloudRegion = faasCloudRegion;
function lookupEnv(key) {
const val = process.env[key];
if (val === void 0) {
throw new Error(`Environment variable ${key} not found`);
}
return val;
}
}
});
// node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/gce.js
var require_gce = __commonJS({
"node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/gce.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.availabilityZoneAndRegion = exports2.hostName = exports2.hostId = exports2.hostType = exports2.onGce = void 0;
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var metadata2 = require_src4();
var MACHINE_TYPE_METADATA_ATTR = "machine-type";
var ID_METADATA_ATTR = "id";
var HOST_NAME_METADATA_ATTR = "name";
var ZONE_METADATA_ATTR = "zone";
async function onGce() {
try {
await metadata2.instance(MACHINE_TYPE_METADATA_ATTR);
return true;
} catch (err2) {
api_1.diag.debug("Could not fetch metadata attribute %s, assuming not on GCE. Error was %s", MACHINE_TYPE_METADATA_ATTR, err2);
return false;
}
}
exports2.onGce = onGce;
async function hostType() {
return metadata2.instance(MACHINE_TYPE_METADATA_ATTR);
}
exports2.hostType = hostType;
async function hostId() {
const id = await metadata2.instance(ID_METADATA_ATTR);
return id.toString();
}
exports2.hostId = hostId;
async function hostName() {
return metadata2.instance(HOST_NAME_METADATA_ATTR);
}
exports2.hostName = hostName;
async function availabilityZoneAndRegion() {
const fullZone = await metadata2.instance(ZONE_METADATA_ATTR);
const re = /projects\/\d+\/zones\/(?<zone>(?<region>\w+-\w+)-\w+)/;
const { zone, region } = fullZone.match(re)?.groups ?? {};
if (!zone || !region) {
throw new Error(`zone was not in the expected format: projects/PROJECT_NUM/zones/COUNTRY-REGION-ZONE. Got ${fullZone}`);
}
return { zone, region };
}
exports2.availabilityZoneAndRegion = availabilityZoneAndRegion;
}
});
// node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/gae.js
var require_gae = __commonJS({
"node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/gae.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.standardCloudRegion = exports2.standardAvailabilityZone = exports2.flexAvailabilityZoneAndRegion = exports2.serviceInstance = exports2.serviceVersion = exports2.serviceName = exports2.onAppEngine = exports2.onAppEngineStandard = void 0;
var metadata2 = require_src4();
var gce = require_gce();
var faas = require_faas();
var GAE_SERVICE_ENV = "GAE_SERVICE";
var GAE_VERSION_ENV = "GAE_VERSION";
var GAE_INSTANCE_ENV = "GAE_INSTANCE";
var GAE_ENV = "GAE_ENV";
var GAE_STANDARD = "standard";
var ZONE_METADATA_ATTR = "zone";
async function onAppEngineStandard() {
return process.env[GAE_ENV] === GAE_STANDARD;
}
exports2.onAppEngineStandard = onAppEngineStandard;
async function onAppEngine() {
return process.env[GAE_SERVICE_ENV] !== void 0;
}
exports2.onAppEngine = onAppEngine;
async function serviceName() {
return lookupEnv(GAE_SERVICE_ENV);
}
exports2.serviceName = serviceName;
async function serviceVersion() {
return lookupEnv(GAE_VERSION_ENV);
}
exports2.serviceVersion = serviceVersion;
async function serviceInstance() {
return lookupEnv(GAE_INSTANCE_ENV);
}
exports2.serviceInstance = serviceInstance;
async function flexAvailabilityZoneAndRegion() {
return await gce.availabilityZoneAndRegion();
}
exports2.flexAvailabilityZoneAndRegion = flexAvailabilityZoneAndRegion;
async function standardAvailabilityZone() {
const zone = await metadata2.instance(ZONE_METADATA_ATTR);
return zone.slice(zone.lastIndexOf("/") + 1);
}
exports2.standardAvailabilityZone = standardAvailabilityZone;
async function standardCloudRegion() {
return await faas.faasCloudRegion();
}
exports2.standardCloudRegion = standardCloudRegion;
function lookupEnv(key) {
const val = process.env[key];
if (val === void 0) {
throw new Error(`Environment variable ${key} not found`);
}
return val;
}
}
});
// node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/gke.js
var require_gke = __commonJS({
"node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/gke.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.availabilityZoneOrRegion = exports2.clusterName = exports2.hostId = exports2.onGke = void 0;
var metadata2 = require_src4();
var gce = require_gce();
var KUBERNETES_SERVICE_HOST_ENV = "KUBERNETES_SERVICE_HOST";
var CLUSTER_NAME_METADATA_ATTR = "attributes/cluster-name";
var CLUSTER_LOCATION_METADATA_ATTR = "attributes/cluster-location";
async function onGke() {
return process.env[KUBERNETES_SERVICE_HOST_ENV] !== void 0;
}
exports2.onGke = onGke;
async function hostId() {
return await gce.hostId();
}
exports2.hostId = hostId;
async function clusterName() {
return metadata2.instance(CLUSTER_NAME_METADATA_ATTR);
}
exports2.clusterName = clusterName;
async function availabilityZoneOrRegion() {
const clusterLocation = await metadata2.instance(CLUSTER_LOCATION_METADATA_ATTR);
switch (countChar(clusterLocation, "-")) {
case 1:
return { type: "region", value: clusterLocation };
case 2:
return { type: "zone", value: clusterLocation };
default:
throw new Error(`unrecognized format for cluster location: ${clusterLocation}`);
}
}
exports2.availabilityZoneOrRegion = availabilityZoneOrRegion;
function countChar(s2, char) {
let count2 = 0;
for (let i3 = 0; i3 < s2.length; i3++) {
if (s2[i3] === char) {
count2 += 1;
}
}
return count2;
}
}
});
// node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/detector.js
var require_detector = __commonJS({
"node_modules/@google-cloud/opentelemetry-resource-util/build/src/detector/detector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GcpDetectorSync = void 0;
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var resources_1 = require_src13();
var metadata2 = require_src4();
var faas = require_faas();
var gae = require_gae();
var gce = require_gce();
var gke = require_gke();
var ATTRIBUTE_NAMES = [
semantic_conventions_1.SEMRESATTRS_CLOUD_PLATFORM,
semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
semantic_conventions_1.SEMRESATTRS_CLOUD_REGION,
semantic_conventions_1.SEMRESATTRS_K8S_CLUSTER_NAME,
semantic_conventions_1.SEMRESATTRS_HOST_TYPE,
semantic_conventions_1.SEMRESATTRS_HOST_ID,
semantic_conventions_1.SEMRESATTRS_HOST_NAME,
semantic_conventions_1.SEMRESATTRS_CLOUD_PROVIDER,
semantic_conventions_1.SEMRESATTRS_CLOUD_ACCOUNT_ID,
semantic_conventions_1.SEMRESATTRS_FAAS_NAME,
semantic_conventions_1.SEMRESATTRS_FAAS_VERSION,
semantic_conventions_1.SEMRESATTRS_FAAS_INSTANCE
];
async function detect() {
if (!await metadata2.isAvailable()) {
return (0, resources_1.emptyResource)();
}
if (await gke.onGke()) {
return await gkeResource();
} else if (await faas.onCloudFunctions()) {
return await cloudFunctionsResource();
} else if (await faas.onCloudRun()) {
return await cloudRunResource();
} else if (await gae.onAppEngine()) {
return await gaeResource();
} else if (await gce.onGce()) {
return await gceResource();
}
return (0, resources_1.emptyResource)();
}
async function gkeResource() {
const [zoneOrRegion, k8sClusterName, hostId] = await Promise.all([
gke.availabilityZoneOrRegion(),
gke.clusterName(),
gke.hostId()
]);
return await makeResource({
[semantic_conventions_1.SEMRESATTRS_CLOUD_PLATFORM]: semantic_conventions_1.CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE,
[zoneOrRegion.type === "zone" ? semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE : semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]: zoneOrRegion.value,
[semantic_conventions_1.SEMRESATTRS_K8S_CLUSTER_NAME]: k8sClusterName,
[semantic_conventions_1.SEMRESATTRS_HOST_ID]: hostId
});
}
async function cloudRunResource() {
const [faasName, faasVersion, faasInstance, faasCloudRegion] = await Promise.all([
faas.faasName(),
faas.faasVersion(),
faas.faasInstance(),
faas.faasCloudRegion()
]);
return await makeResource({
[semantic_conventions_1.SEMRESATTRS_CLOUD_PLATFORM]: semantic_conventions_1.CLOUDPLATFORMVALUES_GCP_CLOUD_RUN,
[semantic_conventions_1.SEMRESATTRS_FAAS_NAME]: faasName,
[semantic_conventions_1.SEMRESATTRS_FAAS_VERSION]: faasVersion,
[semantic_conventions_1.SEMRESATTRS_FAAS_INSTANCE]: faasInstance,
[semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]: faasCloudRegion
});
}
async function cloudFunctionsResource() {
const [faasName, faasVersion, faasInstance, faasCloudRegion] = await Promise.all([
faas.faasName(),
faas.faasVersion(),
faas.faasInstance(),
faas.faasCloudRegion()
]);
return await makeResource({
[semantic_conventions_1.SEMRESATTRS_CLOUD_PLATFORM]: semantic_conventions_1.CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS,
[semantic_conventions_1.SEMRESATTRS_FAAS_NAME]: faasName,
[semantic_conventions_1.SEMRESATTRS_FAAS_VERSION]: faasVersion,
[semantic_conventions_1.SEMRESATTRS_FAAS_INSTANCE]: faasInstance,
[semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]: faasCloudRegion
});
}
async function gaeResource() {
let zone, region;
if (await gae.onAppEngineStandard()) {
[zone, region] = await Promise.all([
gae.standardAvailabilityZone(),
gae.standardCloudRegion()
]);
} else {
({ zone, region } = await gce.availabilityZoneAndRegion());
}
const [faasName, faasVersion, faasInstance] = await Promise.all([
gae.serviceName(),
gae.serviceVersion(),
gae.serviceInstance()
]);
return await makeResource({
[semantic_conventions_1.SEMRESATTRS_CLOUD_PLATFORM]: semantic_conventions_1.CLOUDPLATFORMVALUES_GCP_APP_ENGINE,
[semantic_conventions_1.SEMRESATTRS_FAAS_NAME]: faasName,
[semantic_conventions_1.SEMRESATTRS_FAAS_VERSION]: faasVersion,
[semantic_conventions_1.SEMRESATTRS_FAAS_INSTANCE]: faasInstance,
[semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]: zone,
[semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]: region
});
}
async function gceResource() {
const [zoneAndRegion, hostType, hostId, hostName] = await Promise.all([
gce.availabilityZoneAndRegion(),
gce.hostType(),
gce.hostId(),
gce.hostName()
]);
return await makeResource({
[semantic_conventions_1.SEMRESATTRS_CLOUD_PLATFORM]: semantic_conventions_1.CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE,
[semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]: zoneAndRegion.zone,
[semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]: zoneAndRegion.region,
[semantic_conventions_1.SEMRESATTRS_HOST_TYPE]: hostType,
[semantic_conventions_1.SEMRESATTRS_HOST_ID]: hostId,
[semantic_conventions_1.SEMRESATTRS_HOST_NAME]: hostName
});
}
async function makeResource(attrs) {
const project = await metadata2.project("project-id");
return (0, resources_1.resourceFromAttributes)({
[semantic_conventions_1.SEMRESATTRS_CLOUD_PROVIDER]: semantic_conventions_1.CLOUDPROVIDERVALUES_GCP,
[semantic_conventions_1.SEMRESATTRS_CLOUD_ACCOUNT_ID]: project,
...attrs
});
}
var GcpDetectorSync = class {
async _asyncAttributes() {
return (await detect()).attributes;
}
detect() {
const asyncAttributes = this._asyncAttributes();
const attributes = {};
ATTRIBUTE_NAMES.forEach((name3) => {
attributes[name3] = asyncAttributes.then((data) => data[name3]);
});
return { attributes };
}
};
exports2.GcpDetectorSync = GcpDetectorSync;
}
});
// node_modules/@google-cloud/opentelemetry-resource-util/build/src/index.js
var require_src38 = __commonJS({
"node_modules/@google-cloud/opentelemetry-resource-util/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GcpDetectorSync = exports2.mapOtelResourceToMonitoredResource = void 0;
var semantic_conventions_1 = (init_esm2(), __toCommonJS(esm_exports2));
var AWS_ACCOUNT = "aws_account";
var AWS_EC2_INSTANCE = "aws_ec2_instance";
var CLOUD_FUNCTION = "cloud_function";
var CLOUD_RUN_REVISION = "cloud_run_revision";
var CLUSTER_NAME = "cluster_name";
var CONFIGURATION_NAME = "configuration_name";
var CONTAINER_NAME = "container_name";
var FUNCTION_NAME = "function_name";
var GAE_INSTANCE = "gae_instance";
var GAE_MODULE_ID = "module_id";
var GAE_VERSION_ID = "version_id";
var GCE_INSTANCE = "gce_instance";
var GENERIC_NODE = "generic_node";
var GENERIC_TASK = "generic_task";
var INSTANCE_ID = "instance_id";
var JOB = "job";
var K8S_CLUSTER = "k8s_cluster";
var K8S_CONTAINER = "k8s_container";
var K8S_NODE = "k8s_node";
var K8S_POD = "k8s_pod";
var LOCATION = "location";
var NAMESPACE = "namespace";
var NAMESPACE_NAME = "namespace_name";
var NODE_ID = "node_id";
var NODE_NAME = "node_name";
var POD_NAME = "pod_name";
var REGION = "region";
var REVISION_NAME = "revision_name";
var SERVICE_NAME2 = "service_name";
var TASK_ID = "task_id";
var ZONE = "zone";
var UNKNOWN_SERVICE_PREFIX = "unknown_service";
var MAPPINGS = {
[GCE_INSTANCE]: {
[ZONE]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]
},
[INSTANCE_ID]: { otelKeys: [semantic_conventions_1.SEMRESATTRS_HOST_ID] }
},
[K8S_CONTAINER]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]
},
[CLUSTER_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_CLUSTER_NAME]
},
[NAMESPACE_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_NAMESPACE_NAME]
},
[POD_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_POD_NAME]
},
[CONTAINER_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_CONTAINER_NAME]
}
},
[K8S_POD]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]
},
[CLUSTER_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_CLUSTER_NAME]
},
[NAMESPACE_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_NAMESPACE_NAME]
},
[POD_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_POD_NAME]
}
},
[K8S_NODE]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]
},
[CLUSTER_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_CLUSTER_NAME]
},
[NODE_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_NODE_NAME]
}
},
[K8S_CLUSTER]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]
},
[CLUSTER_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_K8S_CLUSTER_NAME]
}
},
[AWS_EC2_INSTANCE]: {
[INSTANCE_ID]: { otelKeys: [semantic_conventions_1.SEMRESATTRS_HOST_ID] },
[REGION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]
},
[AWS_ACCOUNT]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_ACCOUNT_ID]
}
},
[CLOUD_RUN_REVISION]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]
},
[SERVICE_NAME2]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_FAAS_NAME]
},
[CONFIGURATION_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_FAAS_NAME]
},
[REVISION_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_FAAS_VERSION]
}
},
[CLOUD_FUNCTION]: {
[REGION]: { otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_REGION] },
[FUNCTION_NAME]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_FAAS_NAME]
}
},
[GAE_INSTANCE]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION]
},
[GAE_MODULE_ID]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_FAAS_NAME]
},
[GAE_VERSION_ID]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_FAAS_VERSION]
},
[INSTANCE_ID]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_FAAS_INSTANCE]
}
},
[GENERIC_TASK]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION],
fallback: "global"
},
[NAMESPACE]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_SERVICE_NAMESPACE]
},
[JOB]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_SERVICE_NAME, semantic_conventions_1.SEMRESATTRS_FAAS_NAME]
},
[TASK_ID]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_SERVICE_INSTANCE_ID, semantic_conventions_1.SEMRESATTRS_FAAS_INSTANCE]
}
},
[GENERIC_NODE]: {
[LOCATION]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, semantic_conventions_1.SEMRESATTRS_CLOUD_REGION],
fallback: "global"
},
[NAMESPACE]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_SERVICE_NAMESPACE]
},
[NODE_ID]: {
otelKeys: [semantic_conventions_1.SEMRESATTRS_HOST_ID, semantic_conventions_1.SEMRESATTRS_HOST_NAME]
}
}
};
function mapOtelResourceToMonitoredResource(resource) {
const attrs = resource.attributes;
const platform9 = attrs[semantic_conventions_1.SEMRESATTRS_CLOUD_PLATFORM];
let mr;
if (platform9 === semantic_conventions_1.CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE) {
mr = createMonitoredResource(GCE_INSTANCE, attrs);
} else if (platform9 === semantic_conventions_1.CLOUDPLATFORMVALUES_GCP_APP_ENGINE) {
mr = createMonitoredResource(GAE_INSTANCE, attrs);
} else if (platform9 === semantic_conventions_1.CLOUDPLATFORMVALUES_AWS_EC2) {
mr = createMonitoredResource(AWS_EC2_INSTANCE, attrs);
} else if (semantic_conventions_1.SEMRESATTRS_K8S_CLUSTER_NAME in attrs) {
if (semantic_conventions_1.SEMRESATTRS_K8S_CONTAINER_NAME in attrs) {
mr = createMonitoredResource(K8S_CONTAINER, attrs);
} else if (semantic_conventions_1.SEMRESATTRS_K8S_POD_NAME in attrs) {
mr = createMonitoredResource(K8S_POD, attrs);
} else if (semantic_conventions_1.SEMRESATTRS_K8S_NODE_NAME in attrs) {
mr = createMonitoredResource(K8S_NODE, attrs);
} else {
mr = createMonitoredResource(K8S_CLUSTER, attrs);
}
} else if ((semantic_conventions_1.SEMRESATTRS_SERVICE_NAME in attrs || semantic_conventions_1.SEMRESATTRS_FAAS_NAME in attrs) && (semantic_conventions_1.SEMRESATTRS_SERVICE_INSTANCE_ID in attrs || semantic_conventions_1.SEMRESATTRS_FAAS_INSTANCE in attrs)) {
mr = createMonitoredResource(GENERIC_TASK, attrs);
} else {
mr = createMonitoredResource(GENERIC_NODE, attrs);
}
return mr;
}
exports2.mapOtelResourceToMonitoredResource = mapOtelResourceToMonitoredResource;
function createMonitoredResource(monitoredResourceType, resourceAttrs) {
const mapping = MAPPINGS[monitoredResourceType];
const labels = {};
Object.entries(mapping).map(([mrKey, mapConfig]) => {
let mrValue;
for (const otelKey of mapConfig.otelKeys) {
if (otelKey in resourceAttrs && !resourceAttrs[otelKey]?.toString()?.startsWith(UNKNOWN_SERVICE_PREFIX)) {
mrValue = resourceAttrs[otelKey];
break;
}
}
if (mrValue === void 0 && mapConfig.otelKeys.includes(semantic_conventions_1.SEMRESATTRS_SERVICE_NAME)) {
mrValue = resourceAttrs[semantic_conventions_1.SEMRESATTRS_SERVICE_NAME];
}
if (mrValue === void 0) {
mrValue = mapConfig.fallback ?? "";
}
if (typeof mrValue !== "string") {
mrValue = JSON.stringify(mrValue);
}
labels[mrKey] = mrValue;
});
return {
type: monitoredResourceType,
labels
};
}
var detector_1 = require_detector();
Object.defineProperty(exports2, "GcpDetectorSync", { enumerable: true, get: function() {
return detector_1.GcpDetectorSync;
} });
}
});
// node_modules/@opentelemetry/core/package.json
var require_package5 = __commonJS({
"node_modules/@opentelemetry/core/package.json"(exports2, module2) {
module2.exports = {
name: "@opentelemetry/core",
version: "2.5.0",
description: "OpenTelemetry Core provides constants and utilities shared by all OpenTelemetry SDK packages.",
main: "build/src/index.js",
module: "build/esm/index.js",
esnext: "build/esnext/index.js",
browser: {
"./src/platform/index.ts": "./src/platform/browser/index.ts",
"./build/esm/platform/index.js": "./build/esm/platform/browser/index.js",
"./build/esnext/platform/index.js": "./build/esnext/platform/browser/index.js",
"./build/src/platform/index.js": "./build/src/platform/browser/index.js"
},
types: "build/src/index.d.ts",
repository: "open-telemetry/opentelemetry-js",
scripts: {
prepublishOnly: "npm run compile",
compile: "tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
clean: "tsc --build --clean tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
test: "nyc mocha 'test/**/*.test.ts' --exclude 'test/browser/**/*.ts'",
"test:browser": "karma start --single-run",
tdd: "npm run tdd:node",
"tdd:node": "npm run test -- --watch-extensions ts --watch",
"tdd:browser": "karma start",
lint: "eslint . --ext .ts",
"lint:fix": "eslint . --ext .ts --fix",
version: "node ../../scripts/version-update.js",
watch: "tsc --build --watch tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
prewatch: "npm run precompile",
"test:bench": "node test/performance/benchmark/index.js | tee .benchmark-results.txt",
"peer-api-check": "node ../../scripts/peer-api-check.js",
"align-api-deps": "node ../../scripts/align-api-deps.js"
},
keywords: [
"opentelemetry",
"nodejs",
"browser",
"tracing",
"profiling",
"metrics",
"stats"
],
author: "OpenTelemetry Authors",
license: "Apache-2.0",
engines: {
node: "^18.19.0 || >=20.6.0"
},
files: [
"build/esm/**/*.js",
"build/esm/**/*.js.map",
"build/esm/**/*.d.ts",
"build/esnext/**/*.js",
"build/esnext/**/*.js.map",
"build/esnext/**/*.d.ts",
"build/src/**/*.js",
"build/src/**/*.js.map",
"build/src/**/*.d.ts",
"doc",
"LICENSE",
"README.md"
],
publishConfig: {
access: "public"
},
devDependencies: {
"@opentelemetry/api": ">=1.0.0 <1.10.0",
"@types/mocha": "10.0.10",
"@types/node": "18.19.130",
"@types/sinon": "17.0.4",
"@types/webpack-env": "1.16.3",
"babel-plugin-istanbul": "7.0.1",
karma: "6.4.4",
"karma-chrome-launcher": "3.1.0",
"karma-coverage": "2.2.1",
"karma-mocha": "2.0.1",
"karma-spec-reporter": "0.0.36",
"karma-webpack": "5.0.1",
mocha: "11.7.5",
nyc: "17.1.0",
sinon: "18.0.1",
"ts-loader": "9.5.4",
typescript: "5.0.4",
webpack: "5.101.3"
},
peerDependencies: {
"@opentelemetry/api": ">=1.0.0 <1.10.0"
},
dependencies: {
"@opentelemetry/semantic-conventions": "^1.29.0"
},
homepage: "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core",
sideEffects: false,
gitHead: "38924cbff2a6e924ce8a2a227d3a72de52fbcd35"
};
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/version.js
var require_version4 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/version.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OT_VERSION = exports2.VERSION = void 0;
exports2.VERSION = "3.0.0";
function getOtelVersion() {
try {
return require_package5().version;
} catch (e2) {
return "unknown";
}
}
exports2.OT_VERSION = getOtelVersion();
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/transform.js
var require_transform2 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/transform.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getReadableSpanTransformer = void 0;
var ot = (init_esm(), __toCommonJS(esm_exports));
var types_1 = require_types6();
var opentelemetry_resource_util_1 = require_src38();
var version_1 = require_version4();
var AGENT_LABEL_KEY = "g.co/agent";
var AGENT_LABEL_VALUE = `opentelemetry-js ${version_1.OT_VERSION}; google-cloud-trace-exporter ${version_1.VERSION}`;
function getReadableSpanTransformer(projectId, resourceFilter, stringifyArrayAttributes) {
return (span) => {
const attributes = mergeAttributes(
transformAttributes({
...span.attributes,
[AGENT_LABEL_KEY]: AGENT_LABEL_VALUE
}, stringifyArrayAttributes),
// Add in special g.co/r resource labels
transformResourceToAttributes(span.resource, projectId, resourceFilter, stringifyArrayAttributes)
);
const out2 = {
attributes,
displayName: stringToTruncatableString(span.name),
links: {
link: span.links.map(getLinkTransformer(stringifyArrayAttributes))
},
endTime: transformTime(span.endTime),
startTime: transformTime(span.startTime),
name: `projects/${projectId}/traces/${span.spanContext().traceId}/spans/${span.spanContext().spanId}`,
spanKind: transformKind(span.kind),
spanId: span.spanContext().spanId,
sameProcessAsParentSpan: { value: !span.spanContext().isRemote },
status: transformStatus(span.status),
timeEvents: {
timeEvent: span.events.map((e2) => ({
time: transformTime(e2.time),
annotation: {
attributes: transformAttributes(e2.attributes ?? {}, stringifyArrayAttributes),
description: stringToTruncatableString(e2.name)
}
}))
}
};
if (span.parentSpanContext?.spanId) {
out2.parentSpanId = span.parentSpanContext?.spanId;
}
return out2;
};
}
exports2.getReadableSpanTransformer = getReadableSpanTransformer;
function transformStatus(status2) {
switch (status2.code) {
case ot.SpanStatusCode.UNSET:
return void 0;
case ot.SpanStatusCode.OK:
return { code: types_1.Code.OK };
case ot.SpanStatusCode.ERROR:
return { code: types_1.Code.UNKNOWN, message: status2.message };
default: {
exhaust(status2.code);
return { code: types_1.Code.UNKNOWN, message: status2.message };
}
}
}
function transformKind(kind) {
switch (kind) {
case ot.SpanKind.INTERNAL:
return types_1.SpanKind.INTERNAL;
case ot.SpanKind.SERVER:
return types_1.SpanKind.SERVER;
case ot.SpanKind.CLIENT:
return types_1.SpanKind.CLIENT;
case ot.SpanKind.PRODUCER:
return types_1.SpanKind.PRODUCER;
case ot.SpanKind.CONSUMER:
return types_1.SpanKind.CONSUMER;
default: {
exhaust(kind);
return types_1.SpanKind.SPAN_KIND_UNSPECIFIED;
}
}
}
function exhaust(switchValue) {
return switchValue;
}
function transformTime(time3) {
return {
seconds: time3[0],
nanos: time3[1]
};
}
function getLinkTransformer(stringifyArrayAttributes) {
return (link) => ({
attributes: transformAttributes(link.attributes ?? {}, stringifyArrayAttributes),
spanId: link.context.spanId,
traceId: link.context.traceId,
type: types_1.LinkType.UNSPECIFIED
});
}
function transformAttributes(attributes, stringifyArrayAttributes) {
const changedAttributes = transformAttributeNames(attributes);
return spanAttributesToGCTAttributes(changedAttributes, stringifyArrayAttributes);
}
function spanAttributesToGCTAttributes(attributes, stringifyArrayAttributes) {
const attributeMap = transformAttributeValues(attributes, stringifyArrayAttributes);
return {
attributeMap,
droppedAttributesCount: Object.keys(attributes).length - Object.keys(attributeMap).length
};
}
function mergeAttributes(...attributeList) {
const attributesOut = {
attributeMap: {},
droppedAttributesCount: 0
};
attributeList.forEach((attributes) => {
Object.assign(attributesOut.attributeMap, attributes.attributeMap);
attributesOut.droppedAttributesCount += attributes.droppedAttributesCount ?? 0;
});
return attributesOut;
}
function transformResourceToAttributes(resource, projectId, resourceFilter, stringifyArrayAttributes) {
const monitoredResource = (0, opentelemetry_resource_util_1.mapOtelResourceToMonitoredResource)(resource);
const attributes = {};
if (resourceFilter) {
Object.keys(resource.attributes).filter((key) => resourceFilter.test(key)).forEach((key) => {
attributes[key] = resource.attributes[key];
});
}
if (monitoredResource.type !== "global") {
Object.keys(monitoredResource.labels).forEach((labelKey) => {
const key = `g.co/r/${monitoredResource.type}/${labelKey}`;
attributes[key] = monitoredResource.labels[labelKey];
});
}
return spanAttributesToGCTAttributes(attributes, stringifyArrayAttributes);
}
function transformAttributeValues(attributes, stringifyArrayAttributes) {
const out2 = {};
for (const [key, value] of Object.entries(attributes)) {
if (value === void 0) {
continue;
}
const attributeValue = valueToAttributeValue(value, stringifyArrayAttributes);
if (attributeValue !== void 0) {
out2[key] = attributeValue;
}
}
return out2;
}
function stringToTruncatableString(value) {
return { value };
}
function valueToAttributeValue(value, stringifyArrayAttributes) {
switch (typeof value) {
case "number":
return { intValue: String(Math.round(value)) };
case "boolean":
return { boolValue: value };
case "string":
return { stringValue: stringToTruncatableString(value) };
default:
if (stringifyArrayAttributes) {
return { stringValue: stringToTruncatableString(JSON.stringify(value)) };
}
return void 0;
}
}
var HTTP_ATTRIBUTE_MAPPING = {
"http.method": "/http/method",
"http.url": "/http/url",
"http.host": "/http/host",
"http.scheme": "/http/client_protocol",
"http.status_code": "/http/status_code",
"http.user_agent": "/http/user_agent",
"http.request_content_length": "/http/request/size",
"http.response_content_length": "/http/response/size",
"http.route": "/http/route"
};
function transformAttributeNames(attributes) {
const out2 = {};
for (const [key, value] of Object.entries(attributes)) {
if (HTTP_ATTRIBUTE_MAPPING[key]) {
out2[HTTP_ATTRIBUTE_MAPPING[key]] = value;
} else {
out2[key] = value;
}
}
return out2;
}
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/protos/protos.json
var require_protos = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/protos/protos.json"(exports2, module2) {
module2.exports = {
nested: {
google: {
nested: {
devtools: {
nested: {
cloudtrace: {
nested: {
v2: {
options: {
csharp_namespace: "Google.Cloud.Trace.V2",
go_package: "cloud.google.com/go/trace/apiv2/tracepb;tracepb",
java_multiple_files: true,
java_outer_classname: "TraceProto",
java_package: "com.google.devtools.cloudtrace.v2",
php_namespace: "Google\\Cloud\\Trace\\V2",
ruby_package: "Google::Cloud::Trace::V2"
},
nested: {
TraceService: {
options: {
"(google.api.default_host)": "cloudtrace.googleapis.com",
"(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/trace.append"
},
methods: {
BatchWriteSpans: {
requestType: "BatchWriteSpansRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).post": "/v2/{name=projects/*}/traces:batchWrite",
"(google.api.http).body": "*",
"(google.api.method_signature)": "name,spans"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{name=projects/*}/traces:batchWrite",
body: "*"
}
},
{
"(google.api.method_signature)": "name,spans"
}
]
},
CreateSpan: {
requestType: "Span",
responseType: "Span",
options: {
"(google.api.http).post": "/v2/{name=projects/*/traces/*/spans/*}",
"(google.api.http).body": "*"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{name=projects/*/traces/*/spans/*}",
body: "*"
}
}
]
}
}
},
BatchWriteSpansRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
}
},
spans: {
rule: "repeated",
type: "Span",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
Span: {
options: {
"(google.api.resource).type": "cloudtrace.googleapis.com/Span",
"(google.api.resource).pattern": "projects/{project}/traces/{trace}/spans/{span}"
},
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
spanId: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
parentSpanId: {
type: "string",
id: 3
},
displayName: {
type: "TruncatableString",
id: 4,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
startTime: {
type: "google.protobuf.Timestamp",
id: 5,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
endTime: {
type: "google.protobuf.Timestamp",
id: 6,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
attributes: {
type: "Attributes",
id: 7
},
stackTrace: {
type: "StackTrace",
id: 8
},
timeEvents: {
type: "TimeEvents",
id: 9
},
links: {
type: "Links",
id: 10
},
status: {
type: "google.rpc.Status",
id: 11,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
sameProcessAsParentSpan: {
type: "google.protobuf.BoolValue",
id: 12,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
childSpanCount: {
type: "google.protobuf.Int32Value",
id: 13,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
spanKind: {
type: "SpanKind",
id: 14,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
},
nested: {
Attributes: {
fields: {
attributeMap: {
keyType: "string",
type: "AttributeValue",
id: 1
},
droppedAttributesCount: {
type: "int32",
id: 2
}
}
},
TimeEvent: {
oneofs: {
value: {
oneof: [
"annotation",
"messageEvent"
]
}
},
fields: {
time: {
type: "google.protobuf.Timestamp",
id: 1
},
annotation: {
type: "Annotation",
id: 2
},
messageEvent: {
type: "MessageEvent",
id: 3
}
},
nested: {
Annotation: {
fields: {
description: {
type: "TruncatableString",
id: 1
},
attributes: {
type: "Attributes",
id: 2
}
}
},
MessageEvent: {
fields: {
type: {
type: "Type",
id: 1
},
id: {
type: "int64",
id: 2
},
uncompressedSizeBytes: {
type: "int64",
id: 3
},
compressedSizeBytes: {
type: "int64",
id: 4
}
},
nested: {
Type: {
values: {
TYPE_UNSPECIFIED: 0,
SENT: 1,
RECEIVED: 2
}
}
}
}
}
},
TimeEvents: {
fields: {
timeEvent: {
rule: "repeated",
type: "TimeEvent",
id: 1
},
droppedAnnotationsCount: {
type: "int32",
id: 2
},
droppedMessageEventsCount: {
type: "int32",
id: 3
}
}
},
Link: {
fields: {
traceId: {
type: "string",
id: 1
},
spanId: {
type: "string",
id: 2
},
type: {
type: "Type",
id: 3
},
attributes: {
type: "Attributes",
id: 4
}
},
nested: {
Type: {
values: {
TYPE_UNSPECIFIED: 0,
CHILD_LINKED_SPAN: 1,
PARENT_LINKED_SPAN: 2
}
}
}
},
Links: {
fields: {
link: {
rule: "repeated",
type: "Link",
id: 1
},
droppedLinksCount: {
type: "int32",
id: 2
}
}
},
SpanKind: {
values: {
SPAN_KIND_UNSPECIFIED: 0,
INTERNAL: 1,
SERVER: 2,
CLIENT: 3,
PRODUCER: 4,
CONSUMER: 5
}
}
}
},
AttributeValue: {
oneofs: {
value: {
oneof: [
"stringValue",
"intValue",
"boolValue"
]
}
},
fields: {
stringValue: {
type: "TruncatableString",
id: 1
},
intValue: {
type: "int64",
id: 2
},
boolValue: {
type: "bool",
id: 3
}
}
},
StackTrace: {
fields: {
stackFrames: {
type: "StackFrames",
id: 1
},
stackTraceHashId: {
type: "int64",
id: 2
}
},
nested: {
StackFrame: {
fields: {
functionName: {
type: "TruncatableString",
id: 1
},
originalFunctionName: {
type: "TruncatableString",
id: 2
},
fileName: {
type: "TruncatableString",
id: 3
},
lineNumber: {
type: "int64",
id: 4
},
columnNumber: {
type: "int64",
id: 5
},
loadModule: {
type: "Module",
id: 6
},
sourceVersion: {
type: "TruncatableString",
id: 7
}
}
},
StackFrames: {
fields: {
frame: {
rule: "repeated",
type: "StackFrame",
id: 1
},
droppedFramesCount: {
type: "int32",
id: 2
}
}
}
}
},
Module: {
fields: {
module: {
type: "TruncatableString",
id: 1
},
buildId: {
type: "TruncatableString",
id: 2
}
}
},
TruncatableString: {
fields: {
value: {
type: "string",
id: 1
},
truncatedByteCount: {
type: "int32",
id: 2
}
}
}
}
}
}
}
}
},
api: {
options: {
go_package: "google.golang.org/genproto/googleapis/api/annotations;annotations",
java_multiple_files: true,
java_outer_classname: "ResourceProto",
java_package: "com.google.api",
objc_class_prefix: "GAPI"
},
nested: {
http: {
type: "HttpRule",
id: 72295728,
extend: "google.protobuf.MethodOptions"
},
Http: {
fields: {
rules: {
rule: "repeated",
type: "HttpRule",
id: 1
},
fullyDecodeReservedExpansion: {
type: "bool",
id: 2
}
}
},
HttpRule: {
oneofs: {
pattern: {
oneof: [
"get",
"put",
"post",
"delete",
"patch",
"custom"
]
}
},
fields: {
selector: {
type: "string",
id: 1
},
get: {
type: "string",
id: 2
},
put: {
type: "string",
id: 3
},
post: {
type: "string",
id: 4
},
delete: {
type: "string",
id: 5
},
patch: {
type: "string",
id: 6
},
custom: {
type: "CustomHttpPattern",
id: 8
},
body: {
type: "string",
id: 7
},
responseBody: {
type: "string",
id: 12
},
additionalBindings: {
rule: "repeated",
type: "HttpRule",
id: 11
}
}
},
CustomHttpPattern: {
fields: {
kind: {
type: "string",
id: 1
},
path: {
type: "string",
id: 2
}
}
},
methodSignature: {
rule: "repeated",
type: "string",
id: 1051,
extend: "google.protobuf.MethodOptions"
},
defaultHost: {
type: "string",
id: 1049,
extend: "google.protobuf.ServiceOptions"
},
oauthScopes: {
type: "string",
id: 1050,
extend: "google.protobuf.ServiceOptions"
},
apiVersion: {
type: "string",
id: 525000001,
extend: "google.protobuf.ServiceOptions"
},
CommonLanguageSettings: {
fields: {
referenceDocsUri: {
type: "string",
id: 1,
options: {
deprecated: true
}
},
destinations: {
rule: "repeated",
type: "ClientLibraryDestination",
id: 2
},
selectiveGapicGeneration: {
type: "SelectiveGapicGeneration",
id: 3
}
}
},
ClientLibrarySettings: {
fields: {
version: {
type: "string",
id: 1
},
launchStage: {
type: "LaunchStage",
id: 2
},
restNumericEnums: {
type: "bool",
id: 3
},
javaSettings: {
type: "JavaSettings",
id: 21
},
cppSettings: {
type: "CppSettings",
id: 22
},
phpSettings: {
type: "PhpSettings",
id: 23
},
pythonSettings: {
type: "PythonSettings",
id: 24
},
nodeSettings: {
type: "NodeSettings",
id: 25
},
dotnetSettings: {
type: "DotnetSettings",
id: 26
},
rubySettings: {
type: "RubySettings",
id: 27
},
goSettings: {
type: "GoSettings",
id: 28
}
}
},
Publishing: {
fields: {
methodSettings: {
rule: "repeated",
type: "MethodSettings",
id: 2
},
newIssueUri: {
type: "string",
id: 101
},
documentationUri: {
type: "string",
id: 102
},
apiShortName: {
type: "string",
id: 103
},
githubLabel: {
type: "string",
id: 104
},
codeownerGithubTeams: {
rule: "repeated",
type: "string",
id: 105
},
docTagPrefix: {
type: "string",
id: 106
},
organization: {
type: "ClientLibraryOrganization",
id: 107
},
librarySettings: {
rule: "repeated",
type: "ClientLibrarySettings",
id: 109
},
protoReferenceDocumentationUri: {
type: "string",
id: 110
},
restReferenceDocumentationUri: {
type: "string",
id: 111
}
}
},
JavaSettings: {
fields: {
libraryPackage: {
type: "string",
id: 1
},
serviceClassNames: {
keyType: "string",
type: "string",
id: 2
},
common: {
type: "CommonLanguageSettings",
id: 3
}
}
},
CppSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
PhpSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
PythonSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
},
experimentalFeatures: {
type: "ExperimentalFeatures",
id: 2
}
},
nested: {
ExperimentalFeatures: {
fields: {
restAsyncIoEnabled: {
type: "bool",
id: 1
},
protobufPythonicTypesEnabled: {
type: "bool",
id: 2
},
unversionedPackageDisabled: {
type: "bool",
id: 3
}
}
}
}
},
NodeSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
DotnetSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
},
renamedServices: {
keyType: "string",
type: "string",
id: 2
},
renamedResources: {
keyType: "string",
type: "string",
id: 3
},
ignoredResources: {
rule: "repeated",
type: "string",
id: 4
},
forcedNamespaceAliases: {
rule: "repeated",
type: "string",
id: 5
},
handwrittenSignatures: {
rule: "repeated",
type: "string",
id: 6
}
}
},
RubySettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
GoSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
},
renamedServices: {
keyType: "string",
type: "string",
id: 2
}
}
},
MethodSettings: {
fields: {
selector: {
type: "string",
id: 1
},
longRunning: {
type: "LongRunning",
id: 2
},
autoPopulatedFields: {
rule: "repeated",
type: "string",
id: 3
}
},
nested: {
LongRunning: {
fields: {
initialPollDelay: {
type: "google.protobuf.Duration",
id: 1
},
pollDelayMultiplier: {
type: "float",
id: 2
},
maxPollDelay: {
type: "google.protobuf.Duration",
id: 3
},
totalPollTimeout: {
type: "google.protobuf.Duration",
id: 4
}
}
}
}
},
ClientLibraryOrganization: {
values: {
CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED: 0,
CLOUD: 1,
ADS: 2,
PHOTOS: 3,
STREET_VIEW: 4,
SHOPPING: 5,
GEO: 6,
GENERATIVE_AI: 7
}
},
ClientLibraryDestination: {
values: {
CLIENT_LIBRARY_DESTINATION_UNSPECIFIED: 0,
GITHUB: 10,
PACKAGE_MANAGER: 20
}
},
SelectiveGapicGeneration: {
fields: {
methods: {
rule: "repeated",
type: "string",
id: 1
},
generateOmittedAsInternal: {
type: "bool",
id: 2
}
}
},
LaunchStage: {
values: {
LAUNCH_STAGE_UNSPECIFIED: 0,
UNIMPLEMENTED: 6,
PRELAUNCH: 7,
EARLY_ACCESS: 1,
ALPHA: 2,
BETA: 3,
GA: 4,
DEPRECATED: 5
}
},
fieldBehavior: {
rule: "repeated",
type: "google.api.FieldBehavior",
id: 1052,
extend: "google.protobuf.FieldOptions",
options: {
packed: false
}
},
FieldBehavior: {
values: {
FIELD_BEHAVIOR_UNSPECIFIED: 0,
OPTIONAL: 1,
REQUIRED: 2,
OUTPUT_ONLY: 3,
INPUT_ONLY: 4,
IMMUTABLE: 5,
UNORDERED_LIST: 6,
NON_EMPTY_DEFAULT: 7,
IDENTIFIER: 8
}
},
resourceReference: {
type: "google.api.ResourceReference",
id: 1055,
extend: "google.protobuf.FieldOptions"
},
resourceDefinition: {
rule: "repeated",
type: "google.api.ResourceDescriptor",
id: 1053,
extend: "google.protobuf.FileOptions"
},
resource: {
type: "google.api.ResourceDescriptor",
id: 1053,
extend: "google.protobuf.MessageOptions"
},
ResourceDescriptor: {
fields: {
type: {
type: "string",
id: 1
},
pattern: {
rule: "repeated",
type: "string",
id: 2
},
nameField: {
type: "string",
id: 3
},
history: {
type: "History",
id: 4
},
plural: {
type: "string",
id: 5
},
singular: {
type: "string",
id: 6
},
style: {
rule: "repeated",
type: "Style",
id: 10
}
},
nested: {
History: {
values: {
HISTORY_UNSPECIFIED: 0,
ORIGINALLY_SINGLE_PATTERN: 1,
FUTURE_MULTI_PATTERN: 2
}
},
Style: {
values: {
STYLE_UNSPECIFIED: 0,
DECLARATIVE_FRIENDLY: 1
}
}
}
},
ResourceReference: {
fields: {
type: {
type: "string",
id: 1
},
childType: {
type: "string",
id: 2
}
}
}
}
},
protobuf: {
options: {
go_package: "google.golang.org/protobuf/types/descriptorpb",
java_package: "com.google.protobuf",
java_outer_classname: "DescriptorProtos",
csharp_namespace: "Google.Protobuf.Reflection",
objc_class_prefix: "GPB",
cc_enable_arenas: true,
optimize_for: "SPEED"
},
nested: {
FileDescriptorSet: {
edition: "proto2",
fields: {
file: {
rule: "repeated",
type: "FileDescriptorProto",
id: 1
}
},
extensions: [
[
536e6,
536e6
]
]
},
Edition: {
edition: "proto2",
values: {
EDITION_UNKNOWN: 0,
EDITION_LEGACY: 900,
EDITION_PROTO2: 998,
EDITION_PROTO3: 999,
EDITION_2023: 1e3,
EDITION_2024: 1001,
EDITION_1_TEST_ONLY: 1,
EDITION_2_TEST_ONLY: 2,
EDITION_99997_TEST_ONLY: 99997,
EDITION_99998_TEST_ONLY: 99998,
EDITION_99999_TEST_ONLY: 99999,
EDITION_MAX: 2147483647
}
},
FileDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
package: {
type: "string",
id: 2
},
dependency: {
rule: "repeated",
type: "string",
id: 3
},
publicDependency: {
rule: "repeated",
type: "int32",
id: 10
},
weakDependency: {
rule: "repeated",
type: "int32",
id: 11
},
optionDependency: {
rule: "repeated",
type: "string",
id: 15
},
messageType: {
rule: "repeated",
type: "DescriptorProto",
id: 4
},
enumType: {
rule: "repeated",
type: "EnumDescriptorProto",
id: 5
},
service: {
rule: "repeated",
type: "ServiceDescriptorProto",
id: 6
},
extension: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 7
},
options: {
type: "FileOptions",
id: 8
},
sourceCodeInfo: {
type: "SourceCodeInfo",
id: 9
},
syntax: {
type: "string",
id: 12
},
edition: {
type: "Edition",
id: 14
}
}
},
DescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
field: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 2
},
extension: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 6
},
nestedType: {
rule: "repeated",
type: "DescriptorProto",
id: 3
},
enumType: {
rule: "repeated",
type: "EnumDescriptorProto",
id: 4
},
extensionRange: {
rule: "repeated",
type: "ExtensionRange",
id: 5
},
oneofDecl: {
rule: "repeated",
type: "OneofDescriptorProto",
id: 8
},
options: {
type: "MessageOptions",
id: 7
},
reservedRange: {
rule: "repeated",
type: "ReservedRange",
id: 9
},
reservedName: {
rule: "repeated",
type: "string",
id: 10
},
visibility: {
type: "SymbolVisibility",
id: 11
}
},
nested: {
ExtensionRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
},
options: {
type: "ExtensionRangeOptions",
id: 3
}
}
},
ReservedRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
}
}
}
}
},
ExtensionRangeOptions: {
edition: "proto2",
fields: {
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
},
declaration: {
rule: "repeated",
type: "Declaration",
id: 2,
options: {
retention: "RETENTION_SOURCE"
}
},
features: {
type: "FeatureSet",
id: 50
},
verification: {
type: "VerificationState",
id: 3,
options: {
default: "UNVERIFIED",
retention: "RETENTION_SOURCE"
}
}
},
extensions: [
[
1e3,
536870911
]
],
nested: {
Declaration: {
fields: {
number: {
type: "int32",
id: 1
},
fullName: {
type: "string",
id: 2
},
type: {
type: "string",
id: 3
},
reserved: {
type: "bool",
id: 5
},
repeated: {
type: "bool",
id: 6
}
},
reserved: [
[
4,
4
]
]
},
VerificationState: {
values: {
DECLARATION: 0,
UNVERIFIED: 1
}
}
}
},
FieldDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
number: {
type: "int32",
id: 3
},
label: {
type: "Label",
id: 4
},
type: {
type: "Type",
id: 5
},
typeName: {
type: "string",
id: 6
},
extendee: {
type: "string",
id: 2
},
defaultValue: {
type: "string",
id: 7
},
oneofIndex: {
type: "int32",
id: 9
},
jsonName: {
type: "string",
id: 10
},
options: {
type: "FieldOptions",
id: 8
},
proto3Optional: {
type: "bool",
id: 17
}
},
nested: {
Type: {
values: {
TYPE_DOUBLE: 1,
TYPE_FLOAT: 2,
TYPE_INT64: 3,
TYPE_UINT64: 4,
TYPE_INT32: 5,
TYPE_FIXED64: 6,
TYPE_FIXED32: 7,
TYPE_BOOL: 8,
TYPE_STRING: 9,
TYPE_GROUP: 10,
TYPE_MESSAGE: 11,
TYPE_BYTES: 12,
TYPE_UINT32: 13,
TYPE_ENUM: 14,
TYPE_SFIXED32: 15,
TYPE_SFIXED64: 16,
TYPE_SINT32: 17,
TYPE_SINT64: 18
}
},
Label: {
values: {
LABEL_OPTIONAL: 1,
LABEL_REPEATED: 3,
LABEL_REQUIRED: 2
}
}
}
},
OneofDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
options: {
type: "OneofOptions",
id: 2
}
}
},
EnumDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
value: {
rule: "repeated",
type: "EnumValueDescriptorProto",
id: 2
},
options: {
type: "EnumOptions",
id: 3
},
reservedRange: {
rule: "repeated",
type: "EnumReservedRange",
id: 4
},
reservedName: {
rule: "repeated",
type: "string",
id: 5
},
visibility: {
type: "SymbolVisibility",
id: 6
}
},
nested: {
EnumReservedRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
}
}
}
}
},
EnumValueDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
number: {
type: "int32",
id: 2
},
options: {
type: "EnumValueOptions",
id: 3
}
}
},
ServiceDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
method: {
rule: "repeated",
type: "MethodDescriptorProto",
id: 2
},
options: {
type: "ServiceOptions",
id: 3
}
},
reserved: [
[
4,
4
],
"stream"
]
},
MethodDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
inputType: {
type: "string",
id: 2
},
outputType: {
type: "string",
id: 3
},
options: {
type: "MethodOptions",
id: 4
},
clientStreaming: {
type: "bool",
id: 5,
options: {
default: false
}
},
serverStreaming: {
type: "bool",
id: 6,
options: {
default: false
}
}
}
},
FileOptions: {
edition: "proto2",
fields: {
javaPackage: {
type: "string",
id: 1
},
javaOuterClassname: {
type: "string",
id: 8
},
javaMultipleFiles: {
type: "bool",
id: 10,
options: {
default: false
}
},
javaGenerateEqualsAndHash: {
type: "bool",
id: 20,
options: {
deprecated: true
}
},
javaStringCheckUtf8: {
type: "bool",
id: 27,
options: {
default: false
}
},
optimizeFor: {
type: "OptimizeMode",
id: 9,
options: {
default: "SPEED"
}
},
goPackage: {
type: "string",
id: 11
},
ccGenericServices: {
type: "bool",
id: 16,
options: {
default: false
}
},
javaGenericServices: {
type: "bool",
id: 17,
options: {
default: false
}
},
pyGenericServices: {
type: "bool",
id: 18,
options: {
default: false
}
},
deprecated: {
type: "bool",
id: 23,
options: {
default: false
}
},
ccEnableArenas: {
type: "bool",
id: 31,
options: {
default: true
}
},
objcClassPrefix: {
type: "string",
id: 36
},
csharpNamespace: {
type: "string",
id: 37
},
swiftPrefix: {
type: "string",
id: 39
},
phpClassPrefix: {
type: "string",
id: 40
},
phpNamespace: {
type: "string",
id: 41
},
phpMetadataNamespace: {
type: "string",
id: 44
},
rubyPackage: {
type: "string",
id: 45
},
features: {
type: "FeatureSet",
id: 50
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
42,
42
],
"php_generic_services",
[
38,
38
]
],
nested: {
OptimizeMode: {
values: {
SPEED: 1,
CODE_SIZE: 2,
LITE_RUNTIME: 3
}
}
}
},
MessageOptions: {
edition: "proto2",
fields: {
messageSetWireFormat: {
type: "bool",
id: 1,
options: {
default: false
}
},
noStandardDescriptorAccessor: {
type: "bool",
id: 2,
options: {
default: false
}
},
deprecated: {
type: "bool",
id: 3,
options: {
default: false
}
},
mapEntry: {
type: "bool",
id: 7
},
deprecatedLegacyJsonFieldConflicts: {
type: "bool",
id: 11,
options: {
deprecated: true
}
},
features: {
type: "FeatureSet",
id: 12
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
4,
4
],
[
5,
5
],
[
6,
6
],
[
8,
8
],
[
9,
9
]
]
},
FieldOptions: {
edition: "proto2",
fields: {
ctype: {
type: "CType",
id: 1,
options: {
default: "STRING"
}
},
packed: {
type: "bool",
id: 2
},
jstype: {
type: "JSType",
id: 6,
options: {
default: "JS_NORMAL"
}
},
lazy: {
type: "bool",
id: 5,
options: {
default: false
}
},
unverifiedLazy: {
type: "bool",
id: 15,
options: {
default: false
}
},
deprecated: {
type: "bool",
id: 3,
options: {
default: false
}
},
weak: {
type: "bool",
id: 10,
options: {
default: false,
deprecated: true
}
},
debugRedact: {
type: "bool",
id: 16,
options: {
default: false
}
},
retention: {
type: "OptionRetention",
id: 17
},
targets: {
rule: "repeated",
type: "OptionTargetType",
id: 19
},
editionDefaults: {
rule: "repeated",
type: "EditionDefault",
id: 20
},
features: {
type: "FeatureSet",
id: 21
},
featureSupport: {
type: "FeatureSupport",
id: 22
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
4,
4
],
[
18,
18
]
],
nested: {
CType: {
values: {
STRING: 0,
CORD: 1,
STRING_PIECE: 2
}
},
JSType: {
values: {
JS_NORMAL: 0,
JS_STRING: 1,
JS_NUMBER: 2
}
},
OptionRetention: {
values: {
RETENTION_UNKNOWN: 0,
RETENTION_RUNTIME: 1,
RETENTION_SOURCE: 2
}
},
OptionTargetType: {
values: {
TARGET_TYPE_UNKNOWN: 0,
TARGET_TYPE_FILE: 1,
TARGET_TYPE_EXTENSION_RANGE: 2,
TARGET_TYPE_MESSAGE: 3,
TARGET_TYPE_FIELD: 4,
TARGET_TYPE_ONEOF: 5,
TARGET_TYPE_ENUM: 6,
TARGET_TYPE_ENUM_ENTRY: 7,
TARGET_TYPE_SERVICE: 8,
TARGET_TYPE_METHOD: 9
}
},
EditionDefault: {
fields: {
edition: {
type: "Edition",
id: 3
},
value: {
type: "string",
id: 2
}
}
},
FeatureSupport: {
fields: {
editionIntroduced: {
type: "Edition",
id: 1
},
editionDeprecated: {
type: "Edition",
id: 2
},
deprecationWarning: {
type: "string",
id: 3
},
editionRemoved: {
type: "Edition",
id: 4
}
}
}
}
},
OneofOptions: {
edition: "proto2",
fields: {
features: {
type: "FeatureSet",
id: 1
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
EnumOptions: {
edition: "proto2",
fields: {
allowAlias: {
type: "bool",
id: 2
},
deprecated: {
type: "bool",
id: 3,
options: {
default: false
}
},
deprecatedLegacyJsonFieldConflicts: {
type: "bool",
id: 6,
options: {
deprecated: true
}
},
features: {
type: "FeatureSet",
id: 7
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
5,
5
]
]
},
EnumValueOptions: {
edition: "proto2",
fields: {
deprecated: {
type: "bool",
id: 1,
options: {
default: false
}
},
features: {
type: "FeatureSet",
id: 2
},
debugRedact: {
type: "bool",
id: 3,
options: {
default: false
}
},
featureSupport: {
type: "FieldOptions.FeatureSupport",
id: 4
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
ServiceOptions: {
edition: "proto2",
fields: {
features: {
type: "FeatureSet",
id: 34
},
deprecated: {
type: "bool",
id: 33,
options: {
default: false
}
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
MethodOptions: {
edition: "proto2",
fields: {
deprecated: {
type: "bool",
id: 33,
options: {
default: false
}
},
idempotencyLevel: {
type: "IdempotencyLevel",
id: 34,
options: {
default: "IDEMPOTENCY_UNKNOWN"
}
},
features: {
type: "FeatureSet",
id: 35
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
nested: {
IdempotencyLevel: {
values: {
IDEMPOTENCY_UNKNOWN: 0,
NO_SIDE_EFFECTS: 1,
IDEMPOTENT: 2
}
}
}
},
UninterpretedOption: {
edition: "proto2",
fields: {
name: {
rule: "repeated",
type: "NamePart",
id: 2
},
identifierValue: {
type: "string",
id: 3
},
positiveIntValue: {
type: "uint64",
id: 4
},
negativeIntValue: {
type: "int64",
id: 5
},
doubleValue: {
type: "double",
id: 6
},
stringValue: {
type: "bytes",
id: 7
},
aggregateValue: {
type: "string",
id: 8
}
},
nested: {
NamePart: {
fields: {
namePart: {
rule: "required",
type: "string",
id: 1
},
isExtension: {
rule: "required",
type: "bool",
id: 2
}
}
}
}
},
FeatureSet: {
edition: "proto2",
fields: {
fieldPresence: {
type: "FieldPresence",
id: 1,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_2023",
"edition_defaults.value": "EXPLICIT"
}
},
enumType: {
type: "EnumType",
id: 2,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "OPEN"
}
},
repeatedFieldEncoding: {
type: "RepeatedFieldEncoding",
id: 3,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "PACKED"
}
},
utf8Validation: {
type: "Utf8Validation",
id: 4,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "VERIFY"
}
},
messageEncoding: {
type: "MessageEncoding",
id: 5,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_LEGACY",
"edition_defaults.value": "LENGTH_PREFIXED"
}
},
jsonFormat: {
type: "JsonFormat",
id: 6,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2023",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "ALLOW"
}
},
enforceNamingStyle: {
type: "EnforceNamingStyle",
id: 7,
options: {
retention: "RETENTION_SOURCE",
targets: "TARGET_TYPE_METHOD",
"feature_support.edition_introduced": "EDITION_2024",
"edition_defaults.edition": "EDITION_2024",
"edition_defaults.value": "STYLE2024"
}
},
defaultSymbolVisibility: {
type: "VisibilityFeature.DefaultSymbolVisibility",
id: 8,
options: {
retention: "RETENTION_SOURCE",
targets: "TARGET_TYPE_FILE",
"feature_support.edition_introduced": "EDITION_2024",
"edition_defaults.edition": "EDITION_2024",
"edition_defaults.value": "EXPORT_TOP_LEVEL"
}
}
},
extensions: [
[
1e3,
9994
],
[
9995,
9999
],
[
1e4,
1e4
]
],
reserved: [
[
999,
999
]
],
nested: {
FieldPresence: {
values: {
FIELD_PRESENCE_UNKNOWN: 0,
EXPLICIT: 1,
IMPLICIT: 2,
LEGACY_REQUIRED: 3
}
},
EnumType: {
values: {
ENUM_TYPE_UNKNOWN: 0,
OPEN: 1,
CLOSED: 2
}
},
RepeatedFieldEncoding: {
values: {
REPEATED_FIELD_ENCODING_UNKNOWN: 0,
PACKED: 1,
EXPANDED: 2
}
},
Utf8Validation: {
values: {
UTF8_VALIDATION_UNKNOWN: 0,
VERIFY: 2,
NONE: 3
},
reserved: [
[
1,
1
]
]
},
MessageEncoding: {
values: {
MESSAGE_ENCODING_UNKNOWN: 0,
LENGTH_PREFIXED: 1,
DELIMITED: 2
}
},
JsonFormat: {
values: {
JSON_FORMAT_UNKNOWN: 0,
ALLOW: 1,
LEGACY_BEST_EFFORT: 2
}
},
EnforceNamingStyle: {
values: {
ENFORCE_NAMING_STYLE_UNKNOWN: 0,
STYLE2024: 1,
STYLE_LEGACY: 2
}
},
VisibilityFeature: {
fields: {},
reserved: [
[
1,
536870911
]
],
nested: {
DefaultSymbolVisibility: {
values: {
DEFAULT_SYMBOL_VISIBILITY_UNKNOWN: 0,
EXPORT_ALL: 1,
EXPORT_TOP_LEVEL: 2,
LOCAL_ALL: 3,
STRICT: 4
}
}
}
}
}
},
FeatureSetDefaults: {
edition: "proto2",
fields: {
defaults: {
rule: "repeated",
type: "FeatureSetEditionDefault",
id: 1
},
minimumEdition: {
type: "Edition",
id: 4
},
maximumEdition: {
type: "Edition",
id: 5
}
},
nested: {
FeatureSetEditionDefault: {
fields: {
edition: {
type: "Edition",
id: 3
},
overridableFeatures: {
type: "FeatureSet",
id: 4
},
fixedFeatures: {
type: "FeatureSet",
id: 5
}
},
reserved: [
[
1,
1
],
[
2,
2
],
"features"
]
}
}
},
SourceCodeInfo: {
edition: "proto2",
fields: {
location: {
rule: "repeated",
type: "Location",
id: 1
}
},
extensions: [
[
536e6,
536e6
]
],
nested: {
Location: {
fields: {
path: {
rule: "repeated",
type: "int32",
id: 1,
options: {
packed: true
}
},
span: {
rule: "repeated",
type: "int32",
id: 2,
options: {
packed: true
}
},
leadingComments: {
type: "string",
id: 3
},
trailingComments: {
type: "string",
id: 4
},
leadingDetachedComments: {
rule: "repeated",
type: "string",
id: 6
}
}
}
}
},
GeneratedCodeInfo: {
edition: "proto2",
fields: {
annotation: {
rule: "repeated",
type: "Annotation",
id: 1
}
},
nested: {
Annotation: {
fields: {
path: {
rule: "repeated",
type: "int32",
id: 1,
options: {
packed: true
}
},
sourceFile: {
type: "string",
id: 2
},
begin: {
type: "int32",
id: 3
},
end: {
type: "int32",
id: 4
},
semantic: {
type: "Semantic",
id: 5
}
},
nested: {
Semantic: {
values: {
NONE: 0,
SET: 1,
ALIAS: 2
}
}
}
}
}
},
SymbolVisibility: {
edition: "proto2",
values: {
VISIBILITY_UNSET: 0,
VISIBILITY_LOCAL: 1,
VISIBILITY_EXPORT: 2
}
},
Duration: {
fields: {
seconds: {
type: "int64",
id: 1
},
nanos: {
type: "int32",
id: 2
}
}
},
Timestamp: {
fields: {
seconds: {
type: "int64",
id: 1
},
nanos: {
type: "int32",
id: 2
}
}
},
DoubleValue: {
fields: {
value: {
type: "double",
id: 1
}
}
},
FloatValue: {
fields: {
value: {
type: "float",
id: 1
}
}
},
Int64Value: {
fields: {
value: {
type: "int64",
id: 1
}
}
},
UInt64Value: {
fields: {
value: {
type: "uint64",
id: 1
}
}
},
Int32Value: {
fields: {
value: {
type: "int32",
id: 1
}
}
},
UInt32Value: {
fields: {
value: {
type: "uint32",
id: 1
}
}
},
BoolValue: {
fields: {
value: {
type: "bool",
id: 1
}
}
},
StringValue: {
fields: {
value: {
type: "string",
id: 1
}
}
},
BytesValue: {
fields: {
value: {
type: "bytes",
id: 1
}
}
},
Any: {
fields: {
type_url: {
type: "string",
id: 1
},
value: {
type: "bytes",
id: 2
}
}
},
Empty: {
fields: {}
}
}
},
rpc: {
options: {
cc_enable_arenas: true,
go_package: "google.golang.org/genproto/googleapis/rpc/status;status",
java_multiple_files: true,
java_outer_classname: "StatusProto",
java_package: "com.google.rpc",
objc_class_prefix: "RPC"
},
nested: {
Status: {
fields: {
code: {
type: "int32",
id: 1
},
message: {
type: "string",
id: 2
},
details: {
rule: "repeated",
type: "google.protobuf.Any",
id: 3
}
}
}
}
}
}
}
}
};
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/trace.js
var require_trace3 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/trace.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TraceExporter = void 0;
var core_1 = require_src8();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var protoloader = require_src37();
var grpc3 = require_src11();
var google_auth_library_1 = require_src6();
var util_1 = __require("util");
var transform_1 = require_transform2();
var version_1 = require_version4();
var protoJson = require_protos();
var OT_REQUEST_HEADER = "x-opentelemetry-outgoing-request";
var TRACE_USER_AGENT = `opentelemetry-js ${version_1.OT_VERSION}; google-cloud-trace-exporter ${version_1.VERSION}`;
var OPTIONS = {
"grpc.primary_user_agent": TRACE_USER_AGENT
};
var TraceExporter2 = class {
_projectId;
_stringifyArrayAttributes;
_auth;
_traceServiceClient = void 0;
_resourceFilter = void 0;
_apiEndpoint = "cloudtrace.googleapis.com:443";
constructor(options = {}) {
this._resourceFilter = options.resourceFilter;
this._stringifyArrayAttributes = options.stringifyArrayAttributes ?? false;
this._auth = new google_auth_library_1.GoogleAuth({
credentials: options.credentials,
keyFile: options.keyFile,
keyFilename: options.keyFilename,
projectId: options.projectId,
scopes: ["https://www.googleapis.com/auth/cloud-platform"]
});
this._projectId = this._auth.getProjectId().catch((err2) => {
api_1.diag.error(err2);
});
if (options.apiEndpoint) {
this._apiEndpoint = options.apiEndpoint;
}
}
/**
* Publishes a list of spans to Google Cloud Trace.
* @param spans The list of spans to transmit to Google Cloud Trace
*/
async export(spans, resultCallback) {
if (this._projectId instanceof Promise) {
this._projectId = await this._projectId;
}
if (!this._projectId) {
return resultCallback({
code: core_1.ExportResultCode.FAILED,
error: new Error("Was not able to determine GCP project ID")
});
}
api_1.diag.debug("Google Cloud Trace export");
const namedSpans = {
name: `projects/${this._projectId}`,
spans: spans.map((0, transform_1.getReadableSpanTransformer)(this._projectId, this._resourceFilter, this._stringifyArrayAttributes))
};
const result2 = await this._batchWriteSpans(namedSpans);
resultCallback(result2);
}
async shutdown() {
}
/**
* Sends new spans to new or existing traces in the Google Cloud Trace format to the
* service.
* @param spans
*/
async _batchWriteSpans(spans) {
api_1.diag.debug("Google Cloud Trace batch writing traces");
try {
this._traceServiceClient = await this._getClient();
} catch (e2) {
const error40 = asError(e2);
error40.message = `failed to create client: ${error40.message}`;
api_1.diag.error(error40.message);
return { code: core_1.ExportResultCode.FAILED, error: error40 };
}
const metadata2 = new grpc3.Metadata();
metadata2.add(OT_REQUEST_HEADER, "1");
metadata2.add("user-agent", TRACE_USER_AGENT);
const batchWriteSpans = (0, util_1.promisify)(this._traceServiceClient.BatchWriteSpans).bind(this._traceServiceClient);
try {
await batchWriteSpans(spans, metadata2);
api_1.diag.debug("batchWriteSpans successfully");
return { code: core_1.ExportResultCode.SUCCESS };
} catch (e2) {
const error40 = asError(e2);
error40.message = `batchWriteSpans error: ${error40.message}`;
api_1.diag.error(error40.message);
return { code: core_1.ExportResultCode.FAILED, error: error40 };
}
}
/**
* If the rpc client is not already initialized,
* authenticates with google credentials and initializes the rpc client
*/
async _getClient() {
if (this._traceServiceClient) {
return this._traceServiceClient;
}
api_1.diag.debug("Google Cloud Trace authenticating");
const creds = await this._auth.getClient();
api_1.diag.debug("Google Cloud Trace got authentication. Initializaing rpc client");
const packageDefinition = protoloader.fromJSON(protoJson);
const { google } = grpc3.loadPackageDefinition(packageDefinition);
const traceService = google.devtools.cloudtrace.v2.TraceService;
const sslCreds = grpc3.credentials.createSsl();
const callCreds = grpc3.credentials.createFromGoogleCredential(creds);
return new traceService(this._apiEndpoint, grpc3.credentials.combineChannelCredentials(sslCreds, callCreds), OPTIONS);
}
};
exports2.TraceExporter = TraceExporter2;
function asError(error40) {
if (error40 instanceof Error) {
return error40;
}
return new Error(String(error40));
}
}
});
// node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/index.js
var require_src39 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-trace-exporter/build/src/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_external_types(), exports2);
__exportStar(require_trace3(), exports2);
}
});
// node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/external-types.js
var require_external_types2 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/external-types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
}
});
// node_modules/googleapis-common/build/src/apiIndex.js
var require_apiIndex = __commonJS({
"node_modules/googleapis-common/build/src/apiIndex.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getAPI = void 0;
function getAPI(api, options, versions, context2) {
let version4;
if (typeof options === "string") {
version4 = options;
options = {};
} else if (typeof options === "object") {
version4 = options.version;
delete options.version;
} else {
throw new Error("Argument error: Accepts only string or object");
}
try {
const ctr = versions[version4];
const ep = new ctr(options, context2);
return Object.freeze(ep);
} catch (e2) {
throw new Error(`Unable to load endpoint ${api}("${version4}"): ${e2.message}`);
}
}
exports2.getAPI = getAPI;
}
});
// node_modules/es-errors/type.js
var require_type3 = __commonJS({
"node_modules/es-errors/type.js"(exports2, module2) {
"use strict";
module2.exports = TypeError;
}
});
// node_modules/object-inspect/util.inspect.js
var require_util_inspect = __commonJS({
"node_modules/object-inspect/util.inspect.js"(exports2, module2) {
module2.exports = __require("util").inspect;
}
});
// node_modules/object-inspect/index.js
var require_object_inspect = __commonJS({
"node_modules/object-inspect/index.js"(exports2, module2) {
var hasMap = typeof Map === "function" && Map.prototype;
var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null;
var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null;
var mapForEach = hasMap && Map.prototype.forEach;
var hasSet = typeof Set === "function" && Set.prototype;
var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null;
var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null;
var setForEach = hasSet && Set.prototype.forEach;
var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype;
var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype;
var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype;
var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
var booleanValueOf = Boolean.prototype.valueOf;
var objectToString4 = Object.prototype.toString;
var functionToString = Function.prototype.toString;
var $match = String.prototype.match;
var $slice = String.prototype.slice;
var $replace = String.prototype.replace;
var $toUpperCase = String.prototype.toUpperCase;
var $toLowerCase = String.prototype.toLowerCase;
var $test = RegExp.prototype.test;
var $concat = Array.prototype.concat;
var $join = Array.prototype.join;
var $arrSlice = Array.prototype.slice;
var $floor = Math.floor;
var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null;
var gOPS = Object.getOwnPropertySymbols;
var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null;
var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object";
var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null;
var isEnumerable = Object.prototype.propertyIsEnumerable;
var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) {
return O.__proto__;
} : null);
function addNumericSeparator(num, str2) {
if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str2)) {
return str2;
}
var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
if (typeof num === "number") {
var int3 = num < 0 ? -$floor(-num) : $floor(num);
if (int3 !== num) {
var intStr = String(int3);
var dec = $slice.call(str2, intStr.length + 1);
return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, "");
}
}
return $replace.call(str2, sepRegex, "$&_");
}
var utilInspect2 = require_util_inspect();
var inspectCustom = utilInspect2.custom;
var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;
var quotes = {
__proto__: null,
"double": '"',
single: "'"
};
var quoteREs = {
__proto__: null,
"double": /(["\\])/g,
single: /(['\\])/g
};
module2.exports = function inspect_(obj, options, depth, seen) {
var opts = options || {};
if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) {
throw new TypeError('option "quoteStyle" must be "single" or "double"');
}
if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
}
var customInspect = has(opts, "customInspect") ? opts.customInspect : true;
if (typeof customInspect !== "boolean" && customInspect !== "symbol") {
throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
}
if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
}
if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") {
throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
}
var numericSeparator = opts.numericSeparator;
if (typeof obj === "undefined") {
return "undefined";
}
if (obj === null) {
return "null";
}
if (typeof obj === "boolean") {
return obj ? "true" : "false";
}
if (typeof obj === "string") {
return inspectString(obj, opts);
}
if (typeof obj === "number") {
if (obj === 0) {
return Infinity / obj > 0 ? "0" : "-0";
}
var str2 = String(obj);
return numericSeparator ? addNumericSeparator(obj, str2) : str2;
}
if (typeof obj === "bigint") {
var bigIntStr = String(obj) + "n";
return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
}
var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth;
if (typeof depth === "undefined") {
depth = 0;
}
if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") {
return isArray(obj) ? "[Array]" : "[Object]";
}
var indent = getIndent(opts, depth);
if (typeof seen === "undefined") {
seen = [];
} else if (indexOf(seen, obj) >= 0) {
return "[Circular]";
}
function inspect4(value, from, noIndent) {
if (from) {
seen = $arrSlice.call(seen);
seen.push(from);
}
if (noIndent) {
var newOpts = {
depth: opts.depth
};
if (has(opts, "quoteStyle")) {
newOpts.quoteStyle = opts.quoteStyle;
}
return inspect_(value, newOpts, depth + 1, seen);
}
return inspect_(value, opts, depth + 1, seen);
}
if (typeof obj === "function" && !isRegExp(obj)) {
var name3 = nameOf(obj);
var keys = arrObjKeys(obj, inspect4);
return "[Function" + (name3 ? ": " + name3 : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : "");
}
if (isSymbol(obj)) {
var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj);
return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString;
}
if (isElement(obj)) {
var s2 = "<" + $toLowerCase.call(String(obj.nodeName));
var attrs = obj.attributes || [];
for (var i3 = 0; i3 < attrs.length; i3++) {
s2 += " " + attrs[i3].name + "=" + wrapQuotes(quote2(attrs[i3].value), "double", opts);
}
s2 += ">";
if (obj.childNodes && obj.childNodes.length) {
s2 += "...";
}
s2 += "</" + $toLowerCase.call(String(obj.nodeName)) + ">";
return s2;
}
if (isArray(obj)) {
if (obj.length === 0) {
return "[]";
}
var xs = arrObjKeys(obj, inspect4);
if (indent && !singleLineValues(xs)) {
return "[" + indentedJoin(xs, indent) + "]";
}
return "[ " + $join.call(xs, ", ") + " ]";
}
if (isError(obj)) {
var parts2 = arrObjKeys(obj, inspect4);
if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) {
return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect4(obj.cause), parts2), ", ") + " }";
}
if (parts2.length === 0) {
return "[" + String(obj) + "]";
}
return "{ [" + String(obj) + "] " + $join.call(parts2, ", ") + " }";
}
if (typeof obj === "object" && customInspect) {
if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect2) {
return utilInspect2(obj, { depth: maxDepth - depth });
} else if (customInspect !== "symbol" && typeof obj.inspect === "function") {
return obj.inspect();
}
}
if (isMap(obj)) {
var mapParts = [];
if (mapForEach) {
mapForEach.call(obj, function(value, key) {
mapParts.push(inspect4(key, obj, true) + " => " + inspect4(value, obj));
});
}
return collectionOf("Map", mapSize.call(obj), mapParts, indent);
}
if (isSet2(obj)) {
var setParts = [];
if (setForEach) {
setForEach.call(obj, function(value) {
setParts.push(inspect4(value, obj));
});
}
return collectionOf("Set", setSize.call(obj), setParts, indent);
}
if (isWeakMap(obj)) {
return weakCollectionOf("WeakMap");
}
if (isWeakSet(obj)) {
return weakCollectionOf("WeakSet");
}
if (isWeakRef(obj)) {
return weakCollectionOf("WeakRef");
}
if (isNumber3(obj)) {
return markBoxed(inspect4(Number(obj)));
}
if (isBigInt(obj)) {
return markBoxed(inspect4(bigIntValueOf.call(obj)));
}
if (isBoolean2(obj)) {
return markBoxed(booleanValueOf.call(obj));
}
if (isString2(obj)) {
return markBoxed(inspect4(String(obj)));
}
if (typeof window !== "undefined" && obj === window) {
return "{ [object Window] }";
}
if (typeof globalThis !== "undefined" && obj === globalThis || typeof global !== "undefined" && obj === global) {
return "{ [object globalThis] }";
}
if (!isDate(obj) && !isRegExp(obj)) {
var ys = arrObjKeys(obj, inspect4);
var isPlainObject4 = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
var protoTag = obj instanceof Object ? "" : "null prototype";
var stringTag = !isPlainObject4 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "";
var constructorTag = isPlainObject4 || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : "";
var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : "");
if (ys.length === 0) {
return tag + "{}";
}
if (indent) {
return tag + "{" + indentedJoin(ys, indent) + "}";
}
return tag + "{ " + $join.call(ys, ", ") + " }";
}
return String(obj);
};
function wrapQuotes(s2, defaultStyle, opts) {
var style = opts.quoteStyle || defaultStyle;
var quoteChar = quotes[style];
return quoteChar + s2 + quoteChar;
}
function quote2(s2) {
return $replace.call(String(s2), /"/g, """);
}
function canTrustToString(obj) {
return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined"));
}
function isArray(obj) {
return toStr(obj) === "[object Array]" && canTrustToString(obj);
}
function isDate(obj) {
return toStr(obj) === "[object Date]" && canTrustToString(obj);
}
function isRegExp(obj) {
return toStr(obj) === "[object RegExp]" && canTrustToString(obj);
}
function isError(obj) {
return toStr(obj) === "[object Error]" && canTrustToString(obj);
}
function isString2(obj) {
return toStr(obj) === "[object String]" && canTrustToString(obj);
}
function isNumber3(obj) {
return toStr(obj) === "[object Number]" && canTrustToString(obj);
}
function isBoolean2(obj) {
return toStr(obj) === "[object Boolean]" && canTrustToString(obj);
}
function isSymbol(obj) {
if (hasShammedSymbols) {
return obj && typeof obj === "object" && obj instanceof Symbol;
}
if (typeof obj === "symbol") {
return true;
}
if (!obj || typeof obj !== "object" || !symToString) {
return false;
}
try {
symToString.call(obj);
return true;
} catch (e2) {
}
return false;
}
function isBigInt(obj) {
if (!obj || typeof obj !== "object" || !bigIntValueOf) {
return false;
}
try {
bigIntValueOf.call(obj);
return true;
} catch (e2) {
}
return false;
}
var hasOwn = Object.prototype.hasOwnProperty || function(key) {
return key in this;
};
function has(obj, key) {
return hasOwn.call(obj, key);
}
function toStr(obj) {
return objectToString4.call(obj);
}
function nameOf(f) {
if (f.name) {
return f.name;
}
var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
if (m) {
return m[1];
}
return null;
}
function indexOf(xs, x) {
if (xs.indexOf) {
return xs.indexOf(x);
}
for (var i3 = 0, l2 = xs.length; i3 < l2; i3++) {
if (xs[i3] === x) {
return i3;
}
}
return -1;
}
function isMap(x) {
if (!mapSize || !x || typeof x !== "object") {
return false;
}
try {
mapSize.call(x);
try {
setSize.call(x);
} catch (s2) {
return true;
}
return x instanceof Map;
} catch (e2) {
}
return false;
}
function isWeakMap(x) {
if (!weakMapHas || !x || typeof x !== "object") {
return false;
}
try {
weakMapHas.call(x, weakMapHas);
try {
weakSetHas.call(x, weakSetHas);
} catch (s2) {
return true;
}
return x instanceof WeakMap;
} catch (e2) {
}
return false;
}
function isWeakRef(x) {
if (!weakRefDeref || !x || typeof x !== "object") {
return false;
}
try {
weakRefDeref.call(x);
return true;
} catch (e2) {
}
return false;
}
function isSet2(x) {
if (!setSize || !x || typeof x !== "object") {
return false;
}
try {
setSize.call(x);
try {
mapSize.call(x);
} catch (m) {
return true;
}
return x instanceof Set;
} catch (e2) {
}
return false;
}
function isWeakSet(x) {
if (!weakSetHas || !x || typeof x !== "object") {
return false;
}
try {
weakSetHas.call(x, weakSetHas);
try {
weakMapHas.call(x, weakMapHas);
} catch (s2) {
return true;
}
return x instanceof WeakSet;
} catch (e2) {
}
return false;
}
function isElement(x) {
if (!x || typeof x !== "object") {
return false;
}
if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) {
return true;
}
return typeof x.nodeName === "string" && typeof x.getAttribute === "function";
}
function inspectString(str2, opts) {
if (str2.length > opts.maxStringLength) {
var remaining = str2.length - opts.maxStringLength;
var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : "");
return inspectString($slice.call(str2, 0, opts.maxStringLength), opts) + trailer;
}
var quoteRE = quoteREs[opts.quoteStyle || "single"];
quoteRE.lastIndex = 0;
var s2 = $replace.call($replace.call(str2, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte);
return wrapQuotes(s2, "single", opts);
}
function lowbyte(c4) {
var n3 = c4.charCodeAt(0);
var x = {
8: "b",
9: "t",
10: "n",
12: "f",
13: "r"
}[n3];
if (x) {
return "\\" + x;
}
return "\\x" + (n3 < 16 ? "0" : "") + $toUpperCase.call(n3.toString(16));
}
function markBoxed(str2) {
return "Object(" + str2 + ")";
}
function weakCollectionOf(type2) {
return type2 + " { ? }";
}
function collectionOf(type2, size, entries, indent) {
var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", ");
return type2 + " (" + size + ") {" + joinedEntries + "}";
}
function singleLineValues(xs) {
for (var i3 = 0; i3 < xs.length; i3++) {
if (indexOf(xs[i3], "\n") >= 0) {
return false;
}
}
return true;
}
function getIndent(opts, depth) {
var baseIndent;
if (opts.indent === " ") {
baseIndent = " ";
} else if (typeof opts.indent === "number" && opts.indent > 0) {
baseIndent = $join.call(Array(opts.indent + 1), " ");
} else {
return null;
}
return {
base: baseIndent,
prev: $join.call(Array(depth + 1), baseIndent)
};
}
function indentedJoin(xs, indent) {
if (xs.length === 0) {
return "";
}
var lineJoiner = "\n" + indent.prev + indent.base;
return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev;
}
function arrObjKeys(obj, inspect4) {
var isArr = isArray(obj);
var xs = [];
if (isArr) {
xs.length = obj.length;
for (var i3 = 0; i3 < obj.length; i3++) {
xs[i3] = has(obj, i3) ? inspect4(obj[i3], obj) : "";
}
}
var syms = typeof gOPS === "function" ? gOPS(obj) : [];
var symMap;
if (hasShammedSymbols) {
symMap = {};
for (var k = 0; k < syms.length; k++) {
symMap["$" + syms[k]] = syms[k];
}
}
for (var key in obj) {
if (!has(obj, key)) {
continue;
}
if (isArr && String(Number(key)) === key && key < obj.length) {
continue;
}
if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) {
continue;
} else if ($test.call(/[^\w$]/, key)) {
xs.push(inspect4(key, obj) + ": " + inspect4(obj[key], obj));
} else {
xs.push(key + ": " + inspect4(obj[key], obj));
}
}
if (typeof gOPS === "function") {
for (var j = 0; j < syms.length; j++) {
if (isEnumerable.call(obj, syms[j])) {
xs.push("[" + inspect4(syms[j]) + "]: " + inspect4(obj[syms[j]], obj));
}
}
}
return xs;
}
}
});
// node_modules/side-channel-list/index.js
var require_side_channel_list = __commonJS({
"node_modules/side-channel-list/index.js"(exports2, module2) {
"use strict";
var inspect4 = require_object_inspect();
var $TypeError = require_type3();
var listGetNode = function(list, key, isDelete) {
var prev = list;
var curr;
for (; (curr = prev.next) != null; prev = curr) {
if (curr.key === key) {
prev.next = curr.next;
if (!isDelete) {
curr.next = /** @type {NonNullable<typeof list.next>} */
list.next;
list.next = curr;
}
return curr;
}
}
};
var listGet = function(objects, key) {
if (!objects) {
return void 0;
}
var node = listGetNode(objects, key);
return node && node.value;
};
var listSet = function(objects, key, value) {
var node = listGetNode(objects, key);
if (node) {
node.value = value;
} else {
objects.next = /** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */
{
// eslint-disable-line no-param-reassign, no-extra-parens
key,
next: objects.next,
value
};
}
};
var listHas = function(objects, key) {
if (!objects) {
return false;
}
return !!listGetNode(objects, key);
};
var listDelete = function(objects, key) {
if (objects) {
return listGetNode(objects, key, true);
}
};
module2.exports = function getSideChannelList() {
var $o;
var channel = {
assert: function(key) {
if (!channel.has(key)) {
throw new $TypeError("Side channel does not contain " + inspect4(key));
}
},
"delete": function(key) {
var root = $o && $o.next;
var deletedNode = listDelete($o, key);
if (deletedNode && root && root === deletedNode) {
$o = void 0;
}
return !!deletedNode;
},
get: function(key) {
return listGet($o, key);
},
has: function(key) {
return listHas($o, key);
},
set: function(key, value) {
if (!$o) {
$o = {
next: void 0
};
}
listSet(
/** @type {NonNullable<typeof $o>} */
$o,
key,
value
);
}
};
return channel;
};
}
});
// node_modules/es-object-atoms/index.js
var require_es_object_atoms = __commonJS({
"node_modules/es-object-atoms/index.js"(exports2, module2) {
"use strict";
module2.exports = Object;
}
});
// node_modules/es-errors/index.js
var require_es_errors = __commonJS({
"node_modules/es-errors/index.js"(exports2, module2) {
"use strict";
module2.exports = Error;
}
});
// node_modules/es-errors/eval.js
var require_eval = __commonJS({
"node_modules/es-errors/eval.js"(exports2, module2) {
"use strict";
module2.exports = EvalError;
}
});
// node_modules/es-errors/range.js
var require_range = __commonJS({
"node_modules/es-errors/range.js"(exports2, module2) {
"use strict";
module2.exports = RangeError;
}
});
// node_modules/es-errors/ref.js
var require_ref = __commonJS({
"node_modules/es-errors/ref.js"(exports2, module2) {
"use strict";
module2.exports = ReferenceError;
}
});
// node_modules/es-errors/syntax.js
var require_syntax = __commonJS({
"node_modules/es-errors/syntax.js"(exports2, module2) {
"use strict";
module2.exports = SyntaxError;
}
});
// node_modules/es-errors/uri.js
var require_uri = __commonJS({
"node_modules/es-errors/uri.js"(exports2, module2) {
"use strict";
module2.exports = URIError;
}
});
// node_modules/math-intrinsics/abs.js
var require_abs = __commonJS({
"node_modules/math-intrinsics/abs.js"(exports2, module2) {
"use strict";
module2.exports = Math.abs;
}
});
// node_modules/math-intrinsics/floor.js
var require_floor = __commonJS({
"node_modules/math-intrinsics/floor.js"(exports2, module2) {
"use strict";
module2.exports = Math.floor;
}
});
// node_modules/math-intrinsics/max.js
var require_max = __commonJS({
"node_modules/math-intrinsics/max.js"(exports2, module2) {
"use strict";
module2.exports = Math.max;
}
});
// node_modules/math-intrinsics/min.js
var require_min = __commonJS({
"node_modules/math-intrinsics/min.js"(exports2, module2) {
"use strict";
module2.exports = Math.min;
}
});
// node_modules/math-intrinsics/pow.js
var require_pow = __commonJS({
"node_modules/math-intrinsics/pow.js"(exports2, module2) {
"use strict";
module2.exports = Math.pow;
}
});
// node_modules/math-intrinsics/round.js
var require_round = __commonJS({
"node_modules/math-intrinsics/round.js"(exports2, module2) {
"use strict";
module2.exports = Math.round;
}
});
// node_modules/math-intrinsics/isNaN.js
var require_isNaN = __commonJS({
"node_modules/math-intrinsics/isNaN.js"(exports2, module2) {
"use strict";
module2.exports = Number.isNaN || function isNaN2(a2) {
return a2 !== a2;
};
}
});
// node_modules/math-intrinsics/sign.js
var require_sign = __commonJS({
"node_modules/math-intrinsics/sign.js"(exports2, module2) {
"use strict";
var $isNaN = require_isNaN();
module2.exports = function sign(number4) {
if ($isNaN(number4) || number4 === 0) {
return number4;
}
return number4 < 0 ? -1 : 1;
};
}
});
// node_modules/gopd/gOPD.js
var require_gOPD = __commonJS({
"node_modules/gopd/gOPD.js"(exports2, module2) {
"use strict";
module2.exports = Object.getOwnPropertyDescriptor;
}
});
// node_modules/gopd/index.js
var require_gopd = __commonJS({
"node_modules/gopd/index.js"(exports2, module2) {
"use strict";
var $gOPD = require_gOPD();
if ($gOPD) {
try {
$gOPD([], "length");
} catch (e2) {
$gOPD = null;
}
}
module2.exports = $gOPD;
}
});
// node_modules/es-define-property/index.js
var require_es_define_property = __commonJS({
"node_modules/es-define-property/index.js"(exports2, module2) {
"use strict";
var $defineProperty = Object.defineProperty || false;
if ($defineProperty) {
try {
$defineProperty({}, "a", { value: 1 });
} catch (e2) {
$defineProperty = false;
}
}
module2.exports = $defineProperty;
}
});
// node_modules/has-symbols/shams.js
var require_shams = __commonJS({
"node_modules/has-symbols/shams.js"(exports2, module2) {
"use strict";
module2.exports = function hasSymbols() {
if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
return false;
}
if (typeof Symbol.iterator === "symbol") {
return true;
}
var obj = {};
var sym = Symbol("test");
var symObj = Object(sym);
if (typeof sym === "string") {
return false;
}
if (Object.prototype.toString.call(sym) !== "[object Symbol]") {
return false;
}
if (Object.prototype.toString.call(symObj) !== "[object Symbol]") {
return false;
}
var symVal = 42;
obj[sym] = symVal;
for (var _ in obj) {
return false;
}
if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) {
return false;
}
if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) {
return false;
}
var syms = Object.getOwnPropertySymbols(obj);
if (syms.length !== 1 || syms[0] !== sym) {
return false;
}
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
return false;
}
if (typeof Object.getOwnPropertyDescriptor === "function") {
var descriptor2 = (
/** @type {PropertyDescriptor} */
Object.getOwnPropertyDescriptor(obj, sym)
);
if (descriptor2.value !== symVal || descriptor2.enumerable !== true) {
return false;
}
}
return true;
};
}
});
// node_modules/has-symbols/index.js
var require_has_symbols = __commonJS({
"node_modules/has-symbols/index.js"(exports2, module2) {
"use strict";
var origSymbol = typeof Symbol !== "undefined" && Symbol;
var hasSymbolSham = require_shams();
module2.exports = function hasNativeSymbols() {
if (typeof origSymbol !== "function") {
return false;
}
if (typeof Symbol !== "function") {
return false;
}
if (typeof origSymbol("foo") !== "symbol") {
return false;
}
if (typeof Symbol("bar") !== "symbol") {
return false;
}
return hasSymbolSham();
};
}
});
// node_modules/get-proto/Reflect.getPrototypeOf.js
var require_Reflect_getPrototypeOf = __commonJS({
"node_modules/get-proto/Reflect.getPrototypeOf.js"(exports2, module2) {
"use strict";
module2.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
}
});
// node_modules/get-proto/Object.getPrototypeOf.js
var require_Object_getPrototypeOf = __commonJS({
"node_modules/get-proto/Object.getPrototypeOf.js"(exports2, module2) {
"use strict";
var $Object = require_es_object_atoms();
module2.exports = $Object.getPrototypeOf || null;
}
});
// node_modules/function-bind/implementation.js
var require_implementation = __commonJS({
"node_modules/function-bind/implementation.js"(exports2, module2) {
"use strict";
var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
var toStr = Object.prototype.toString;
var max = Math.max;
var funcType = "[object Function]";
var concatty = function concatty2(a2, b) {
var arr = [];
for (var i3 = 0; i3 < a2.length; i3 += 1) {
arr[i3] = a2[i3];
}
for (var j = 0; j < b.length; j += 1) {
arr[j + a2.length] = b[j];
}
return arr;
};
var slicy = function slicy2(arrLike, offset) {
var arr = [];
for (var i3 = offset || 0, j = 0; i3 < arrLike.length; i3 += 1, j += 1) {
arr[j] = arrLike[i3];
}
return arr;
};
var joiny = function(arr, joiner) {
var str2 = "";
for (var i3 = 0; i3 < arr.length; i3 += 1) {
str2 += arr[i3];
if (i3 + 1 < arr.length) {
str2 += joiner;
}
}
return str2;
};
module2.exports = function bind(that) {
var target = this;
if (typeof target !== "function" || toStr.apply(target) !== funcType) {
throw new TypeError(ERROR_MESSAGE + target);
}
var args2 = slicy(arguments, 1);
var bound;
var binder = function() {
if (this instanceof bound) {
var result2 = target.apply(
this,
concatty(args2, arguments)
);
if (Object(result2) === result2) {
return result2;
}
return this;
}
return target.apply(
that,
concatty(args2, arguments)
);
};
var boundLength = max(0, target.length - args2.length);
var boundArgs = [];
for (var i3 = 0; i3 < boundLength; i3++) {
boundArgs[i3] = "$" + i3;
}
bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
if (target.prototype) {
var Empty2 = function Empty3() {
};
Empty2.prototype = target.prototype;
bound.prototype = new Empty2();
Empty2.prototype = null;
}
return bound;
};
}
});
// node_modules/function-bind/index.js
var require_function_bind = __commonJS({
"node_modules/function-bind/index.js"(exports2, module2) {
"use strict";
var implementation = require_implementation();
module2.exports = Function.prototype.bind || implementation;
}
});
// node_modules/call-bind-apply-helpers/functionCall.js
var require_functionCall = __commonJS({
"node_modules/call-bind-apply-helpers/functionCall.js"(exports2, module2) {
"use strict";
module2.exports = Function.prototype.call;
}
});
// node_modules/call-bind-apply-helpers/functionApply.js
var require_functionApply = __commonJS({
"node_modules/call-bind-apply-helpers/functionApply.js"(exports2, module2) {
"use strict";
module2.exports = Function.prototype.apply;
}
});
// node_modules/call-bind-apply-helpers/reflectApply.js
var require_reflectApply = __commonJS({
"node_modules/call-bind-apply-helpers/reflectApply.js"(exports2, module2) {
"use strict";
module2.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
}
});
// node_modules/call-bind-apply-helpers/actualApply.js
var require_actualApply = __commonJS({
"node_modules/call-bind-apply-helpers/actualApply.js"(exports2, module2) {
"use strict";
var bind = require_function_bind();
var $apply = require_functionApply();
var $call = require_functionCall();
var $reflectApply = require_reflectApply();
module2.exports = $reflectApply || bind.call($call, $apply);
}
});
// node_modules/call-bind-apply-helpers/index.js
var require_call_bind_apply_helpers = __commonJS({
"node_modules/call-bind-apply-helpers/index.js"(exports2, module2) {
"use strict";
var bind = require_function_bind();
var $TypeError = require_type3();
var $call = require_functionCall();
var $actualApply = require_actualApply();
module2.exports = function callBindBasic(args2) {
if (args2.length < 1 || typeof args2[0] !== "function") {
throw new $TypeError("a function is required");
}
return $actualApply(bind, $call, args2);
};
}
});
// node_modules/dunder-proto/get.js
var require_get = __commonJS({
"node_modules/dunder-proto/get.js"(exports2, module2) {
"use strict";
var callBind = require_call_bind_apply_helpers();
var gOPD = require_gopd();
var hasProtoAccessor;
try {
hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */
[].__proto__ === Array.prototype;
} catch (e2) {
if (!e2 || typeof e2 !== "object" || !("code" in e2) || e2.code !== "ERR_PROTO_ACCESS") {
throw e2;
}
}
var desc = !!hasProtoAccessor && gOPD && gOPD(
Object.prototype,
/** @type {keyof typeof Object.prototype} */
"__proto__"
);
var $Object = Object;
var $getPrototypeOf = $Object.getPrototypeOf;
module2.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? (
/** @type {import('./get')} */
function getDunder(value) {
return $getPrototypeOf(value == null ? value : $Object(value));
}
) : false;
}
});
// node_modules/get-proto/index.js
var require_get_proto = __commonJS({
"node_modules/get-proto/index.js"(exports2, module2) {
"use strict";
var reflectGetProto = require_Reflect_getPrototypeOf();
var originalGetProto = require_Object_getPrototypeOf();
var getDunderProto = require_get();
module2.exports = reflectGetProto ? function getProto(O) {
return reflectGetProto(O);
} : originalGetProto ? function getProto(O) {
if (!O || typeof O !== "object" && typeof O !== "function") {
throw new TypeError("getProto: not an object");
}
return originalGetProto(O);
} : getDunderProto ? function getProto(O) {
return getDunderProto(O);
} : null;
}
});
// node_modules/hasown/index.js
var require_hasown = __commonJS({
"node_modules/hasown/index.js"(exports2, module2) {
"use strict";
var call = Function.prototype.call;
var $hasOwn = Object.prototype.hasOwnProperty;
var bind = require_function_bind();
module2.exports = bind.call(call, $hasOwn);
}
});
// node_modules/get-intrinsic/index.js
var require_get_intrinsic = __commonJS({
"node_modules/get-intrinsic/index.js"(exports2, module2) {
"use strict";
var undefined2;
var $Object = require_es_object_atoms();
var $Error = require_es_errors();
var $EvalError = require_eval();
var $RangeError = require_range();
var $ReferenceError = require_ref();
var $SyntaxError = require_syntax();
var $TypeError = require_type3();
var $URIError = require_uri();
var abs = require_abs();
var floor = require_floor();
var max = require_max();
var min = require_min();
var pow = require_pow();
var round = require_round();
var sign = require_sign();
var $Function = Function;
var getEvalledConstructor = function(expressionSyntax) {
try {
return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")();
} catch (e2) {
}
};
var $gOPD = require_gopd();
var $defineProperty = require_es_define_property();
var throwTypeError = function() {
throw new $TypeError();
};
var ThrowTypeError = $gOPD ? function() {
try {
arguments.callee;
return throwTypeError;
} catch (calleeThrows) {
try {
return $gOPD(arguments, "callee").get;
} catch (gOPDthrows) {
return throwTypeError;
}
}
}() : throwTypeError;
var hasSymbols = require_has_symbols()();
var getProto = require_get_proto();
var $ObjectGPO = require_Object_getPrototypeOf();
var $ReflectGPO = require_Reflect_getPrototypeOf();
var $apply = require_functionApply();
var $call = require_functionCall();
var needsEval = {};
var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array);
var INTRINSICS = {
__proto__: null,
"%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError,
"%Array%": Array,
"%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer,
"%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2,
"%AsyncFromSyncIteratorPrototype%": undefined2,
"%AsyncFunction%": needsEval,
"%AsyncGenerator%": needsEval,
"%AsyncGeneratorFunction%": needsEval,
"%AsyncIteratorPrototype%": needsEval,
"%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics,
"%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt,
"%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array,
"%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array,
"%Boolean%": Boolean,
"%DataView%": typeof DataView === "undefined" ? undefined2 : DataView,
"%Date%": Date,
"%decodeURI%": decodeURI,
"%decodeURIComponent%": decodeURIComponent,
"%encodeURI%": encodeURI,
"%encodeURIComponent%": encodeURIComponent,
"%Error%": $Error,
"%eval%": eval,
// eslint-disable-line no-eval
"%EvalError%": $EvalError,
"%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array,
"%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array,
"%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array,
"%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry,
"%Function%": $Function,
"%GeneratorFunction%": needsEval,
"%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array,
"%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array,
"%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array,
"%isFinite%": isFinite,
"%isNaN%": isNaN,
"%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2,
"%JSON%": typeof JSON === "object" ? JSON : undefined2,
"%Map%": typeof Map === "undefined" ? undefined2 : Map,
"%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()),
"%Math%": Math,
"%Number%": Number,
"%Object%": $Object,
"%Object.getOwnPropertyDescriptor%": $gOPD,
"%parseFloat%": parseFloat,
"%parseInt%": parseInt,
"%Promise%": typeof Promise === "undefined" ? undefined2 : Promise,
"%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy,
"%RangeError%": $RangeError,
"%ReferenceError%": $ReferenceError,
"%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect,
"%RegExp%": RegExp,
"%Set%": typeof Set === "undefined" ? undefined2 : Set,
"%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()),
"%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer,
"%String%": String,
"%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2,
"%Symbol%": hasSymbols ? Symbol : undefined2,
"%SyntaxError%": $SyntaxError,
"%ThrowTypeError%": ThrowTypeError,
"%TypedArray%": TypedArray,
"%TypeError%": $TypeError,
"%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array,
"%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray,
"%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array,
"%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array,
"%URIError%": $URIError,
"%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap,
"%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef,
"%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet,
"%Function.prototype.call%": $call,
"%Function.prototype.apply%": $apply,
"%Object.defineProperty%": $defineProperty,
"%Object.getPrototypeOf%": $ObjectGPO,
"%Math.abs%": abs,
"%Math.floor%": floor,
"%Math.max%": max,
"%Math.min%": min,
"%Math.pow%": pow,
"%Math.round%": round,
"%Math.sign%": sign,
"%Reflect.getPrototypeOf%": $ReflectGPO
};
if (getProto) {
try {
null.error;
} catch (e2) {
errorProto = getProto(getProto(e2));
INTRINSICS["%Error.prototype%"] = errorProto;
}
}
var errorProto;
var doEval = function doEval2(name3) {
var value;
if (name3 === "%AsyncFunction%") {
value = getEvalledConstructor("async function () {}");
} else if (name3 === "%GeneratorFunction%") {
value = getEvalledConstructor("function* () {}");
} else if (name3 === "%AsyncGeneratorFunction%") {
value = getEvalledConstructor("async function* () {}");
} else if (name3 === "%AsyncGenerator%") {
var fn = doEval2("%AsyncGeneratorFunction%");
if (fn) {
value = fn.prototype;
}
} else if (name3 === "%AsyncIteratorPrototype%") {
var gen = doEval2("%AsyncGenerator%");
if (gen && getProto) {
value = getProto(gen.prototype);
}
}
INTRINSICS[name3] = value;
return value;
};
var LEGACY_ALIASES = {
__proto__: null,
"%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
"%ArrayPrototype%": ["Array", "prototype"],
"%ArrayProto_entries%": ["Array", "prototype", "entries"],
"%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
"%ArrayProto_keys%": ["Array", "prototype", "keys"],
"%ArrayProto_values%": ["Array", "prototype", "values"],
"%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
"%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
"%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
"%BooleanPrototype%": ["Boolean", "prototype"],
"%DataViewPrototype%": ["DataView", "prototype"],
"%DatePrototype%": ["Date", "prototype"],
"%ErrorPrototype%": ["Error", "prototype"],
"%EvalErrorPrototype%": ["EvalError", "prototype"],
"%Float32ArrayPrototype%": ["Float32Array", "prototype"],
"%Float64ArrayPrototype%": ["Float64Array", "prototype"],
"%FunctionPrototype%": ["Function", "prototype"],
"%Generator%": ["GeneratorFunction", "prototype"],
"%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
"%Int8ArrayPrototype%": ["Int8Array", "prototype"],
"%Int16ArrayPrototype%": ["Int16Array", "prototype"],
"%Int32ArrayPrototype%": ["Int32Array", "prototype"],
"%JSONParse%": ["JSON", "parse"],
"%JSONStringify%": ["JSON", "stringify"],
"%MapPrototype%": ["Map", "prototype"],
"%NumberPrototype%": ["Number", "prototype"],
"%ObjectPrototype%": ["Object", "prototype"],
"%ObjProto_toString%": ["Object", "prototype", "toString"],
"%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
"%PromisePrototype%": ["Promise", "prototype"],
"%PromiseProto_then%": ["Promise", "prototype", "then"],
"%Promise_all%": ["Promise", "all"],
"%Promise_reject%": ["Promise", "reject"],
"%Promise_resolve%": ["Promise", "resolve"],
"%RangeErrorPrototype%": ["RangeError", "prototype"],
"%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
"%RegExpPrototype%": ["RegExp", "prototype"],
"%SetPrototype%": ["Set", "prototype"],
"%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
"%StringPrototype%": ["String", "prototype"],
"%SymbolPrototype%": ["Symbol", "prototype"],
"%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
"%TypedArrayPrototype%": ["TypedArray", "prototype"],
"%TypeErrorPrototype%": ["TypeError", "prototype"],
"%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
"%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
"%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
"%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
"%URIErrorPrototype%": ["URIError", "prototype"],
"%WeakMapPrototype%": ["WeakMap", "prototype"],
"%WeakSetPrototype%": ["WeakSet", "prototype"]
};
var bind = require_function_bind();
var hasOwn = require_hasown();
var $concat = bind.call($call, Array.prototype.concat);
var $spliceApply = bind.call($apply, Array.prototype.splice);
var $replace = bind.call($call, String.prototype.replace);
var $strSlice = bind.call($call, String.prototype.slice);
var $exec = bind.call($call, RegExp.prototype.exec);
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
var reEscapeChar = /\\(\\)?/g;
var stringToPath = function stringToPath2(string4) {
var first2 = $strSlice(string4, 0, 1);
var last2 = $strSlice(string4, -1);
if (first2 === "%" && last2 !== "%") {
throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
} else if (last2 === "%" && first2 !== "%") {
throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
}
var result2 = [];
$replace(string4, rePropName, function(match2, number4, quote2, subString) {
result2[result2.length] = quote2 ? $replace(subString, reEscapeChar, "$1") : number4 || match2;
});
return result2;
};
var getBaseIntrinsic = function getBaseIntrinsic2(name3, allowMissing) {
var intrinsicName = name3;
var alias;
if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
alias = LEGACY_ALIASES[intrinsicName];
intrinsicName = "%" + alias[0] + "%";
}
if (hasOwn(INTRINSICS, intrinsicName)) {
var value = INTRINSICS[intrinsicName];
if (value === needsEval) {
value = doEval(intrinsicName);
}
if (typeof value === "undefined" && !allowMissing) {
throw new $TypeError("intrinsic " + name3 + " exists, but is not available. Please file an issue!");
}
return {
alias,
name: intrinsicName,
value
};
}
throw new $SyntaxError("intrinsic " + name3 + " does not exist!");
};
module2.exports = function GetIntrinsic(name3, allowMissing) {
if (typeof name3 !== "string" || name3.length === 0) {
throw new $TypeError("intrinsic name must be a non-empty string");
}
if (arguments.length > 1 && typeof allowMissing !== "boolean") {
throw new $TypeError('"allowMissing" argument must be a boolean');
}
if ($exec(/^%?[^%]*%?$/, name3) === null) {
throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
}
var parts2 = stringToPath(name3);
var intrinsicBaseName = parts2.length > 0 ? parts2[0] : "";
var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing);
var intrinsicRealName = intrinsic.name;
var value = intrinsic.value;
var skipFurtherCaching = false;
var alias = intrinsic.alias;
if (alias) {
intrinsicBaseName = alias[0];
$spliceApply(parts2, $concat([0, 1], alias));
}
for (var i3 = 1, isOwn = true; i3 < parts2.length; i3 += 1) {
var part = parts2[i3];
var first2 = $strSlice(part, 0, 1);
var last2 = $strSlice(part, -1);
if ((first2 === '"' || first2 === "'" || first2 === "`" || (last2 === '"' || last2 === "'" || last2 === "`")) && first2 !== last2) {
throw new $SyntaxError("property names with quotes must have matching quotes");
}
if (part === "constructor" || !isOwn) {
skipFurtherCaching = true;
}
intrinsicBaseName += "." + part;
intrinsicRealName = "%" + intrinsicBaseName + "%";
if (hasOwn(INTRINSICS, intrinsicRealName)) {
value = INTRINSICS[intrinsicRealName];
} else if (value != null) {
if (!(part in value)) {
if (!allowMissing) {
throw new $TypeError("base intrinsic for " + name3 + " exists, but the property is not available.");
}
return void undefined2;
}
if ($gOPD && i3 + 1 >= parts2.length) {
var desc = $gOPD(value, part);
isOwn = !!desc;
if (isOwn && "get" in desc && !("originalValue" in desc.get)) {
value = desc.get;
} else {
value = value[part];
}
} else {
isOwn = hasOwn(value, part);
value = value[part];
}
if (isOwn && !skipFurtherCaching) {
INTRINSICS[intrinsicRealName] = value;
}
}
}
return value;
};
}
});
// node_modules/call-bound/index.js
var require_call_bound = __commonJS({
"node_modules/call-bound/index.js"(exports2, module2) {
"use strict";
var GetIntrinsic = require_get_intrinsic();
var callBindBasic = require_call_bind_apply_helpers();
var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);
module2.exports = function callBoundIntrinsic(name3, allowMissing) {
var intrinsic = (
/** @type {(this: unknown, ...args: unknown[]) => unknown} */
GetIntrinsic(name3, !!allowMissing)
);
if (typeof intrinsic === "function" && $indexOf(name3, ".prototype.") > -1) {
return callBindBasic(
/** @type {const} */
[intrinsic]
);
}
return intrinsic;
};
}
});
// node_modules/side-channel-map/index.js
var require_side_channel_map = __commonJS({
"node_modules/side-channel-map/index.js"(exports2, module2) {
"use strict";
var GetIntrinsic = require_get_intrinsic();
var callBound = require_call_bound();
var inspect4 = require_object_inspect();
var $TypeError = require_type3();
var $Map = GetIntrinsic("%Map%", true);
var $mapGet = callBound("Map.prototype.get", true);
var $mapSet = callBound("Map.prototype.set", true);
var $mapHas = callBound("Map.prototype.has", true);
var $mapDelete = callBound("Map.prototype.delete", true);
var $mapSize = callBound("Map.prototype.size", true);
module2.exports = !!$Map && /** @type {Exclude<import('.'), false>} */
function getSideChannelMap() {
var $m;
var channel = {
assert: function(key) {
if (!channel.has(key)) {
throw new $TypeError("Side channel does not contain " + inspect4(key));
}
},
"delete": function(key) {
if ($m) {
var result2 = $mapDelete($m, key);
if ($mapSize($m) === 0) {
$m = void 0;
}
return result2;
}
return false;
},
get: function(key) {
if ($m) {
return $mapGet($m, key);
}
},
has: function(key) {
if ($m) {
return $mapHas($m, key);
}
return false;
},
set: function(key, value) {
if (!$m) {
$m = new $Map();
}
$mapSet($m, key, value);
}
};
return channel;
};
}
});
// node_modules/side-channel-weakmap/index.js
var require_side_channel_weakmap = __commonJS({
"node_modules/side-channel-weakmap/index.js"(exports2, module2) {
"use strict";
var GetIntrinsic = require_get_intrinsic();
var callBound = require_call_bound();
var inspect4 = require_object_inspect();
var getSideChannelMap = require_side_channel_map();
var $TypeError = require_type3();
var $WeakMap = GetIntrinsic("%WeakMap%", true);
var $weakMapGet = callBound("WeakMap.prototype.get", true);
var $weakMapSet = callBound("WeakMap.prototype.set", true);
var $weakMapHas = callBound("WeakMap.prototype.has", true);
var $weakMapDelete = callBound("WeakMap.prototype.delete", true);
module2.exports = $WeakMap ? (
/** @type {Exclude<import('.'), false>} */
function getSideChannelWeakMap() {
var $wm;
var $m;
var channel = {
assert: function(key) {
if (!channel.has(key)) {
throw new $TypeError("Side channel does not contain " + inspect4(key));
}
},
"delete": function(key) {
if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
if ($wm) {
return $weakMapDelete($wm, key);
}
} else if (getSideChannelMap) {
if ($m) {
return $m["delete"](key);
}
}
return false;
},
get: function(key) {
if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
if ($wm) {
return $weakMapGet($wm, key);
}
}
return $m && $m.get(key);
},
has: function(key) {
if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
if ($wm) {
return $weakMapHas($wm, key);
}
}
return !!$m && $m.has(key);
},
set: function(key, value) {
if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
if (!$wm) {
$wm = new $WeakMap();
}
$weakMapSet($wm, key, value);
} else if (getSideChannelMap) {
if (!$m) {
$m = getSideChannelMap();
}
$m.set(key, value);
}
}
};
return channel;
}
) : getSideChannelMap;
}
});
// node_modules/side-channel/index.js
var require_side_channel = __commonJS({
"node_modules/side-channel/index.js"(exports2, module2) {
"use strict";
var $TypeError = require_type3();
var inspect4 = require_object_inspect();
var getSideChannelList = require_side_channel_list();
var getSideChannelMap = require_side_channel_map();
var getSideChannelWeakMap = require_side_channel_weakmap();
var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;
module2.exports = function getSideChannel() {
var $channelData;
var channel = {
assert: function(key) {
if (!channel.has(key)) {
throw new $TypeError("Side channel does not contain " + inspect4(key));
}
},
"delete": function(key) {
return !!$channelData && $channelData["delete"](key);
},
get: function(key) {
return $channelData && $channelData.get(key);
},
has: function(key) {
return !!$channelData && $channelData.has(key);
},
set: function(key, value) {
if (!$channelData) {
$channelData = makeChannel();
}
$channelData.set(key, value);
}
};
return channel;
};
}
});
// node_modules/qs/lib/formats.js
var require_formats = __commonJS({
"node_modules/qs/lib/formats.js"(exports2, module2) {
"use strict";
var replace = String.prototype.replace;
var percentTwenties = /%20/g;
var Format = {
RFC1738: "RFC1738",
RFC3986: "RFC3986"
};
module2.exports = {
"default": Format.RFC3986,
formatters: {
RFC1738: function(value) {
return replace.call(value, percentTwenties, "+");
},
RFC3986: function(value) {
return String(value);
}
},
RFC1738: Format.RFC1738,
RFC3986: Format.RFC3986
};
}
});
// node_modules/qs/lib/utils.js
var require_utils13 = __commonJS({
"node_modules/qs/lib/utils.js"(exports2, module2) {
"use strict";
var formats = require_formats();
var getSideChannel = require_side_channel();
var has = Object.prototype.hasOwnProperty;
var isArray = Array.isArray;
var overflowChannel = getSideChannel();
var markOverflow = function markOverflow2(obj, maxIndex) {
overflowChannel.set(obj, maxIndex);
return obj;
};
var isOverflow = function isOverflow2(obj) {
return overflowChannel.has(obj);
};
var getMaxIndex = function getMaxIndex2(obj) {
return overflowChannel.get(obj);
};
var setMaxIndex = function setMaxIndex2(obj, maxIndex) {
overflowChannel.set(obj, maxIndex);
};
var hexTable = function() {
var array2 = [];
for (var i3 = 0; i3 < 256; ++i3) {
array2[array2.length] = "%" + ((i3 < 16 ? "0" : "") + i3.toString(16)).toUpperCase();
}
return array2;
}();
var compactQueue = function compactQueue2(queue) {
while (queue.length > 1) {
var item = queue.pop();
var obj = item.obj[item.prop];
if (isArray(obj)) {
var compacted = [];
for (var j = 0; j < obj.length; ++j) {
if (typeof obj[j] !== "undefined") {
compacted[compacted.length] = obj[j];
}
}
item.obj[item.prop] = compacted;
}
}
};
var arrayToObject = function arrayToObject2(source, options) {
var obj = options && options.plainObjects ? { __proto__: null } : {};
for (var i3 = 0; i3 < source.length; ++i3) {
if (typeof source[i3] !== "undefined") {
obj[i3] = source[i3];
}
}
return obj;
};
var merge4 = function merge5(target, source, options) {
if (!source) {
return target;
}
if (typeof source !== "object" && typeof source !== "function") {
if (isArray(target)) {
var nextIndex = target.length;
if (options && typeof options.arrayLimit === "number" && nextIndex > options.arrayLimit) {
return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
}
target[nextIndex] = source;
} else if (target && typeof target === "object") {
if (isOverflow(target)) {
var newIndex = getMaxIndex(target) + 1;
target[newIndex] = source;
setMaxIndex(target, newIndex);
} else if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) {
target[source] = true;
}
} else {
return [target, source];
}
return target;
}
if (!target || typeof target !== "object") {
if (isOverflow(source)) {
var sourceKeys = Object.keys(source);
var result2 = options && options.plainObjects ? { __proto__: null, 0: target } : { 0: target };
for (var m = 0; m < sourceKeys.length; m++) {
var oldKey = parseInt(sourceKeys[m], 10);
result2[oldKey + 1] = source[sourceKeys[m]];
}
return markOverflow(result2, getMaxIndex(source) + 1);
}
var combined = [target].concat(source);
if (options && typeof options.arrayLimit === "number" && combined.length > options.arrayLimit) {
return markOverflow(arrayToObject(combined, options), combined.length - 1);
}
return combined;
}
var mergeTarget = target;
if (isArray(target) && !isArray(source)) {
mergeTarget = arrayToObject(target, options);
}
if (isArray(target) && isArray(source)) {
source.forEach(function(item, i3) {
if (has.call(target, i3)) {
var targetItem = target[i3];
if (targetItem && typeof targetItem === "object" && item && typeof item === "object") {
target[i3] = merge5(targetItem, item, options);
} else {
target[target.length] = item;
}
} else {
target[i3] = item;
}
});
return target;
}
return Object.keys(source).reduce(function(acc, key) {
var value = source[key];
if (has.call(acc, key)) {
acc[key] = merge5(acc[key], value, options);
} else {
acc[key] = value;
}
if (isOverflow(source) && !isOverflow(acc)) {
markOverflow(acc, getMaxIndex(source));
}
if (isOverflow(acc)) {
var keyNum = parseInt(key, 10);
if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) {
setMaxIndex(acc, keyNum);
}
}
return acc;
}, mergeTarget);
};
var assign = function assignSingleSource(target, source) {
return Object.keys(source).reduce(function(acc, key) {
acc[key] = source[key];
return acc;
}, target);
};
var decode = function(str2, defaultDecoder, charset) {
var strWithoutPlus = str2.replace(/\+/g, " ");
if (charset === "iso-8859-1") {
return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
}
try {
return decodeURIComponent(strWithoutPlus);
} catch (e2) {
return strWithoutPlus;
}
};
var limit = 1024;
var encode = function encode2(str2, defaultEncoder, charset, kind, format2) {
if (str2.length === 0) {
return str2;
}
var string4 = str2;
if (typeof str2 === "symbol") {
string4 = Symbol.prototype.toString.call(str2);
} else if (typeof str2 !== "string") {
string4 = String(str2);
}
if (charset === "iso-8859-1") {
return escape(string4).replace(/%u[0-9a-f]{4}/gi, function($0) {
return "%26%23" + parseInt($0.slice(2), 16) + "%3B";
});
}
var out2 = "";
for (var j = 0; j < string4.length; j += limit) {
var segment = string4.length >= limit ? string4.slice(j, j + limit) : string4;
var arr = [];
for (var i3 = 0; i3 < segment.length; ++i3) {
var c4 = segment.charCodeAt(i3);
if (c4 === 45 || c4 === 46 || c4 === 95 || c4 === 126 || c4 >= 48 && c4 <= 57 || c4 >= 65 && c4 <= 90 || c4 >= 97 && c4 <= 122 || format2 === formats.RFC1738 && (c4 === 40 || c4 === 41)) {
arr[arr.length] = segment.charAt(i3);
continue;
}
if (c4 < 128) {
arr[arr.length] = hexTable[c4];
continue;
}
if (c4 < 2048) {
arr[arr.length] = hexTable[192 | c4 >> 6] + hexTable[128 | c4 & 63];
continue;
}
if (c4 < 55296 || c4 >= 57344) {
arr[arr.length] = hexTable[224 | c4 >> 12] + hexTable[128 | c4 >> 6 & 63] + hexTable[128 | c4 & 63];
continue;
}
i3 += 1;
c4 = 65536 + ((c4 & 1023) << 10 | segment.charCodeAt(i3) & 1023);
arr[arr.length] = hexTable[240 | c4 >> 18] + hexTable[128 | c4 >> 12 & 63] + hexTable[128 | c4 >> 6 & 63] + hexTable[128 | c4 & 63];
}
out2 += arr.join("");
}
return out2;
};
var compact = function compact2(value) {
var queue = [{ obj: { o: value }, prop: "o" }];
var refs = [];
for (var i3 = 0; i3 < queue.length; ++i3) {
var item = queue[i3];
var obj = item.obj[item.prop];
var keys = Object.keys(obj);
for (var j = 0; j < keys.length; ++j) {
var key = keys[j];
var val = obj[key];
if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
queue[queue.length] = { obj, prop: key };
refs[refs.length] = val;
}
}
}
compactQueue(queue);
return value;
};
var isRegExp = function isRegExp2(obj) {
return Object.prototype.toString.call(obj) === "[object RegExp]";
};
var isBuffer = function isBuffer2(obj) {
if (!obj || typeof obj !== "object") {
return false;
}
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
};
var combine = function combine2(a2, b, arrayLimit, plainObjects) {
if (isOverflow(a2)) {
var newIndex = getMaxIndex(a2) + 1;
a2[newIndex] = b;
setMaxIndex(a2, newIndex);
return a2;
}
var result2 = [].concat(a2, b);
if (result2.length > arrayLimit) {
return markOverflow(arrayToObject(result2, { plainObjects }), result2.length - 1);
}
return result2;
};
var maybeMap = function maybeMap2(val, fn) {
if (isArray(val)) {
var mapped = [];
for (var i3 = 0; i3 < val.length; i3 += 1) {
mapped[mapped.length] = fn(val[i3]);
}
return mapped;
}
return fn(val);
};
module2.exports = {
arrayToObject,
assign,
combine,
compact,
decode,
encode,
isBuffer,
isOverflow,
isRegExp,
markOverflow,
maybeMap,
merge: merge4
};
}
});
// node_modules/qs/lib/stringify.js
var require_stringify3 = __commonJS({
"node_modules/qs/lib/stringify.js"(exports2, module2) {
"use strict";
var getSideChannel = require_side_channel();
var utils = require_utils13();
var formats = require_formats();
var has = Object.prototype.hasOwnProperty;
var arrayPrefixGenerators = {
brackets: function brackets(prefix) {
return prefix + "[]";
},
comma: "comma",
indices: function indices(prefix, key) {
return prefix + "[" + key + "]";
},
repeat: function repeat2(prefix) {
return prefix;
}
};
var isArray = Array.isArray;
var push = Array.prototype.push;
var pushToArray = function(arr, valueOrArray) {
push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
};
var toISO = Date.prototype.toISOString;
var defaultFormat = formats["default"];
var defaults2 = {
addQueryPrefix: false,
allowDots: false,
allowEmptyArrays: false,
arrayFormat: "indices",
charset: "utf-8",
charsetSentinel: false,
commaRoundTrip: false,
delimiter: "&",
encode: true,
encodeDotInKeys: false,
encoder: utils.encode,
encodeValuesOnly: false,
filter: void 0,
format: defaultFormat,
formatter: formats.formatters[defaultFormat],
// deprecated
indices: false,
serializeDate: function serializeDate(date5) {
return toISO.call(date5);
},
skipNulls: false,
strictNullHandling: false
};
var isNonNullishPrimitive = function isNonNullishPrimitive2(v) {
return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint";
};
var sentinel = {};
var stringify3 = function stringify4(object3, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter4, sort, allowDots, serializeDate, format2, formatter, encodeValuesOnly, charset, sideChannel) {
var obj = object3;
var tmpSc = sideChannel;
var step = 0;
var findFlag = false;
while ((tmpSc = tmpSc.get(sentinel)) !== void 0 && !findFlag) {
var pos = tmpSc.get(object3);
step += 1;
if (typeof pos !== "undefined") {
if (pos === step) {
throw new RangeError("Cyclic object value");
} else {
findFlag = true;
}
}
if (typeof tmpSc.get(sentinel) === "undefined") {
step = 0;
}
}
if (typeof filter4 === "function") {
obj = filter4(prefix, obj);
} else if (obj instanceof Date) {
obj = serializeDate(obj);
} else if (generateArrayPrefix === "comma" && isArray(obj)) {
obj = utils.maybeMap(obj, function(value2) {
if (value2 instanceof Date) {
return serializeDate(value2);
}
return value2;
});
}
if (obj === null) {
if (strictNullHandling) {
return encoder && !encodeValuesOnly ? encoder(prefix, defaults2.encoder, charset, "key", format2) : prefix;
}
obj = "";
}
if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
if (encoder) {
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults2.encoder, charset, "key", format2);
return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults2.encoder, charset, "value", format2))];
}
return [formatter(prefix) + "=" + formatter(String(obj))];
}
var values = [];
if (typeof obj === "undefined") {
return values;
}
var objKeys;
if (generateArrayPrefix === "comma" && isArray(obj)) {
if (encodeValuesOnly && encoder) {
obj = utils.maybeMap(obj, encoder);
}
objKeys = [{ value: obj.length > 0 ? obj.join(",") || null : void 0 }];
} else if (isArray(filter4)) {
objKeys = filter4;
} else {
var keys = Object.keys(obj);
objKeys = sort ? keys.sort(sort) : keys;
}
var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\./g, "%2E") : String(prefix);
var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + "[]" : encodedPrefix;
if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
return adjustedPrefix + "[]";
}
for (var j = 0; j < objKeys.length; ++j) {
var key = objKeys[j];
var value = typeof key === "object" && key && typeof key.value !== "undefined" ? key.value : obj[key];
if (skipNulls && value === null) {
continue;
}
var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key);
var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]");
sideChannel.set(object3, step);
var valueSideChannel = getSideChannel();
valueSideChannel.set(sentinel, sideChannel);
pushToArray(values, stringify4(
value,
keyPrefix,
generateArrayPrefix,
commaRoundTrip,
allowEmptyArrays,
strictNullHandling,
skipNulls,
encodeDotInKeys,
generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder,
filter4,
sort,
allowDots,
serializeDate,
format2,
formatter,
encodeValuesOnly,
charset,
valueSideChannel
));
}
return values;
};
var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) {
if (!opts) {
return defaults2;
}
if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
}
if (typeof opts.encodeDotInKeys !== "undefined" && typeof opts.encodeDotInKeys !== "boolean") {
throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");
}
if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") {
throw new TypeError("Encoder has to be a function.");
}
var charset = opts.charset || defaults2.charset;
if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
}
var format2 = formats["default"];
if (typeof opts.format !== "undefined") {
if (!has.call(formats.formatters, opts.format)) {
throw new TypeError("Unknown format option provided.");
}
format2 = opts.format;
}
var formatter = formats.formatters[format2];
var filter4 = defaults2.filter;
if (typeof opts.filter === "function" || isArray(opts.filter)) {
filter4 = opts.filter;
}
var arrayFormat;
if (opts.arrayFormat in arrayPrefixGenerators) {
arrayFormat = opts.arrayFormat;
} else if ("indices" in opts) {
arrayFormat = opts.indices ? "indices" : "repeat";
} else {
arrayFormat = defaults2.arrayFormat;
}
if ("commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
}
var allowDots = typeof opts.allowDots === "undefined" ? opts.encodeDotInKeys === true ? true : defaults2.allowDots : !!opts.allowDots;
return {
addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults2.addQueryPrefix,
allowDots,
allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults2.allowEmptyArrays,
arrayFormat,
charset,
charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults2.charsetSentinel,
commaRoundTrip: !!opts.commaRoundTrip,
delimiter: typeof opts.delimiter === "undefined" ? defaults2.delimiter : opts.delimiter,
encode: typeof opts.encode === "boolean" ? opts.encode : defaults2.encode,
encodeDotInKeys: typeof opts.encodeDotInKeys === "boolean" ? opts.encodeDotInKeys : defaults2.encodeDotInKeys,
encoder: typeof opts.encoder === "function" ? opts.encoder : defaults2.encoder,
encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults2.encodeValuesOnly,
filter: filter4,
format: format2,
formatter,
serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults2.serializeDate,
skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults2.skipNulls,
sort: typeof opts.sort === "function" ? opts.sort : null,
strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults2.strictNullHandling
};
};
module2.exports = function(object3, opts) {
var obj = object3;
var options = normalizeStringifyOptions(opts);
var objKeys;
var filter4;
if (typeof options.filter === "function") {
filter4 = options.filter;
obj = filter4("", obj);
} else if (isArray(options.filter)) {
filter4 = options.filter;
objKeys = filter4;
}
var keys = [];
if (typeof obj !== "object" || obj === null) {
return "";
}
var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];
var commaRoundTrip = generateArrayPrefix === "comma" && options.commaRoundTrip;
if (!objKeys) {
objKeys = Object.keys(obj);
}
if (options.sort) {
objKeys.sort(options.sort);
}
var sideChannel = getSideChannel();
for (var i3 = 0; i3 < objKeys.length; ++i3) {
var key = objKeys[i3];
var value = obj[key];
if (options.skipNulls && value === null) {
continue;
}
pushToArray(keys, stringify3(
value,
key,
generateArrayPrefix,
commaRoundTrip,
options.allowEmptyArrays,
options.strictNullHandling,
options.skipNulls,
options.encodeDotInKeys,
options.encode ? options.encoder : null,
options.filter,
options.sort,
options.allowDots,
options.serializeDate,
options.format,
options.formatter,
options.encodeValuesOnly,
options.charset,
sideChannel
));
}
var joined = keys.join(options.delimiter);
var prefix = options.addQueryPrefix === true ? "?" : "";
if (options.charsetSentinel) {
if (options.charset === "iso-8859-1") {
prefix += "utf8=%26%2310003%3B&";
} else {
prefix += "utf8=%E2%9C%93&";
}
}
return joined.length > 0 ? prefix + joined : "";
};
}
});
// node_modules/qs/lib/parse.js
var require_parse4 = __commonJS({
"node_modules/qs/lib/parse.js"(exports2, module2) {
"use strict";
var utils = require_utils13();
var has = Object.prototype.hasOwnProperty;
var isArray = Array.isArray;
var defaults2 = {
allowDots: false,
allowEmptyArrays: false,
allowPrototypes: false,
allowSparse: false,
arrayLimit: 20,
charset: "utf-8",
charsetSentinel: false,
comma: false,
decodeDotInKeys: false,
decoder: utils.decode,
delimiter: "&",
depth: 5,
duplicates: "combine",
ignoreQueryPrefix: false,
interpretNumericEntities: false,
parameterLimit: 1e3,
parseArrays: true,
plainObjects: false,
strictDepth: false,
strictNullHandling: false,
throwOnLimitExceeded: false
};
var interpretNumericEntities = function(str2) {
return str2.replace(/&#(\d+);/g, function($0, numberStr) {
return String.fromCharCode(parseInt(numberStr, 10));
});
};
var parseArrayValue = function(val, options, currentArrayLength) {
if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) {
return val.split(",");
}
if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {
throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
}
return val;
};
var isoSentinel = "utf8=%26%2310003%3B";
var charsetSentinel = "utf8=%E2%9C%93";
var parseValues = function parseQueryStringValues(str2, options) {
var obj = { __proto__: null };
var cleanStr = options.ignoreQueryPrefix ? str2.replace(/^\?/, "") : str2;
cleanStr = cleanStr.replace(/%5B/gi, "[").replace(/%5D/gi, "]");
var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit;
var parts2 = cleanStr.split(
options.delimiter,
options.throwOnLimitExceeded ? limit + 1 : limit
);
if (options.throwOnLimitExceeded && parts2.length > limit) {
throw new RangeError("Parameter limit exceeded. Only " + limit + " parameter" + (limit === 1 ? "" : "s") + " allowed.");
}
var skipIndex = -1;
var i3;
var charset = options.charset;
if (options.charsetSentinel) {
for (i3 = 0; i3 < parts2.length; ++i3) {
if (parts2[i3].indexOf("utf8=") === 0) {
if (parts2[i3] === charsetSentinel) {
charset = "utf-8";
} else if (parts2[i3] === isoSentinel) {
charset = "iso-8859-1";
}
skipIndex = i3;
i3 = parts2.length;
}
}
}
for (i3 = 0; i3 < parts2.length; ++i3) {
if (i3 === skipIndex) {
continue;
}
var part = parts2[i3];
var bracketEqualsPos = part.indexOf("]=");
var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1;
var key;
var val;
if (pos === -1) {
key = options.decoder(part, defaults2.decoder, charset, "key");
val = options.strictNullHandling ? null : "";
} else {
key = options.decoder(part.slice(0, pos), defaults2.decoder, charset, "key");
if (key !== null) {
val = utils.maybeMap(
parseArrayValue(
part.slice(pos + 1),
options,
isArray(obj[key]) ? obj[key].length : 0
),
function(encodedVal) {
return options.decoder(encodedVal, defaults2.decoder, charset, "value");
}
);
}
}
if (val && options.interpretNumericEntities && charset === "iso-8859-1") {
val = interpretNumericEntities(String(val));
}
if (part.indexOf("[]=") > -1) {
val = isArray(val) ? [val] : val;
}
if (options.comma && isArray(val) && val.length > options.arrayLimit) {
if (options.throwOnLimitExceeded) {
throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
}
val = utils.combine([], val, options.arrayLimit, options.plainObjects);
}
if (key !== null) {
var existing = has.call(obj, key);
if (existing && options.duplicates === "combine") {
obj[key] = utils.combine(
obj[key],
val,
options.arrayLimit,
options.plainObjects
);
} else if (!existing || options.duplicates === "last") {
obj[key] = val;
}
}
}
return obj;
};
var parseObject = function(chain2, val, options, valuesParsed) {
var currentArrayLength = 0;
if (chain2.length > 0 && chain2[chain2.length - 1] === "[]") {
var parentKey = chain2.slice(0, -1).join("");
currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0;
}
var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength);
for (var i3 = chain2.length - 1; i3 >= 0; --i3) {
var obj;
var root = chain2[i3];
if (root === "[]" && options.parseArrays) {
if (utils.isOverflow(leaf)) {
obj = leaf;
} else {
obj = options.allowEmptyArrays && (leaf === "" || options.strictNullHandling && leaf === null) ? [] : utils.combine(
[],
leaf,
options.arrayLimit,
options.plainObjects
);
}
} else {
obj = options.plainObjects ? { __proto__: null } : {};
var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root;
var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, ".") : cleanRoot;
var index = parseInt(decodedRoot, 10);
var isValidArrayIndex = !isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays;
if (!options.parseArrays && decodedRoot === "") {
obj = { 0: leaf };
} else if (isValidArrayIndex && index < options.arrayLimit) {
obj = [];
obj[index] = leaf;
} else if (isValidArrayIndex && options.throwOnLimitExceeded) {
throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
} else if (isValidArrayIndex) {
obj[index] = leaf;
utils.markOverflow(obj, index);
} else if (decodedRoot !== "__proto__") {
obj[decodedRoot] = leaf;
}
}
leaf = obj;
}
return leaf;
};
var splitKeyIntoSegments = function splitKeyIntoSegments2(givenKey, options) {
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey;
if (options.depth <= 0) {
if (!options.plainObjects && has.call(Object.prototype, key)) {
if (!options.allowPrototypes) {
return;
}
}
return [key];
}
var brackets = /(\[[^[\]]*])/;
var child = /(\[[^[\]]*])/g;
var segment = brackets.exec(key);
var parent = segment ? key.slice(0, segment.index) : key;
var keys = [];
if (parent) {
if (!options.plainObjects && has.call(Object.prototype, parent)) {
if (!options.allowPrototypes) {
return;
}
}
keys[keys.length] = parent;
}
var i3 = 0;
while ((segment = child.exec(key)) !== null && i3 < options.depth) {
i3 += 1;
var segmentContent = segment[1].slice(1, -1);
if (!options.plainObjects && has.call(Object.prototype, segmentContent)) {
if (!options.allowPrototypes) {
return;
}
}
keys[keys.length] = segment[1];
}
if (segment) {
if (options.strictDepth === true) {
throw new RangeError("Input depth exceeded depth option of " + options.depth + " and strictDepth is true");
}
keys[keys.length] = "[" + key.slice(segment.index) + "]";
}
return keys;
};
var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
if (!givenKey) {
return;
}
var keys = splitKeyIntoSegments(givenKey, options);
if (!keys) {
return;
}
return parseObject(keys, val, options, valuesParsed);
};
var normalizeParseOptions = function normalizeParseOptions2(opts) {
if (!opts) {
return defaults2;
}
if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
}
if (typeof opts.decodeDotInKeys !== "undefined" && typeof opts.decodeDotInKeys !== "boolean") {
throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");
}
if (opts.decoder !== null && typeof opts.decoder !== "undefined" && typeof opts.decoder !== "function") {
throw new TypeError("Decoder has to be a function.");
}
if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
}
if (typeof opts.throwOnLimitExceeded !== "undefined" && typeof opts.throwOnLimitExceeded !== "boolean") {
throw new TypeError("`throwOnLimitExceeded` option must be a boolean");
}
var charset = typeof opts.charset === "undefined" ? defaults2.charset : opts.charset;
var duplicates = typeof opts.duplicates === "undefined" ? defaults2.duplicates : opts.duplicates;
if (duplicates !== "combine" && duplicates !== "first" && duplicates !== "last") {
throw new TypeError("The duplicates option must be either combine, first, or last");
}
var allowDots = typeof opts.allowDots === "undefined" ? opts.decodeDotInKeys === true ? true : defaults2.allowDots : !!opts.allowDots;
return {
allowDots,
allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults2.allowEmptyArrays,
allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults2.allowPrototypes,
allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults2.allowSparse,
arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults2.arrayLimit,
charset,
charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults2.charsetSentinel,
comma: typeof opts.comma === "boolean" ? opts.comma : defaults2.comma,
decodeDotInKeys: typeof opts.decodeDotInKeys === "boolean" ? opts.decodeDotInKeys : defaults2.decodeDotInKeys,
decoder: typeof opts.decoder === "function" ? opts.decoder : defaults2.decoder,
delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults2.delimiter,
// eslint-disable-next-line no-implicit-coercion, no-extra-parens
depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults2.depth,
duplicates,
ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults2.interpretNumericEntities,
parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults2.parameterLimit,
parseArrays: opts.parseArrays !== false,
plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults2.plainObjects,
strictDepth: typeof opts.strictDepth === "boolean" ? !!opts.strictDepth : defaults2.strictDepth,
strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults2.strictNullHandling,
throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === "boolean" ? opts.throwOnLimitExceeded : false
};
};
module2.exports = function(str2, opts) {
var options = normalizeParseOptions(opts);
if (str2 === "" || str2 === null || typeof str2 === "undefined") {
return options.plainObjects ? { __proto__: null } : {};
}
var tempObj = typeof str2 === "string" ? parseValues(str2, options) : str2;
var obj = options.plainObjects ? { __proto__: null } : {};
var keys = Object.keys(tempObj);
for (var i3 = 0; i3 < keys.length; ++i3) {
var key = keys[i3];
var newObj = parseKeys(key, tempObj[key], options, typeof str2 === "string");
obj = utils.merge(obj, newObj, options);
}
if (options.allowSparse === true) {
return obj;
}
return utils.compact(obj);
};
}
});
// node_modules/qs/lib/index.js
var require_lib5 = __commonJS({
"node_modules/qs/lib/index.js"(exports2, module2) {
"use strict";
var stringify3 = require_stringify3();
var parse8 = require_parse4();
var formats = require_formats();
module2.exports = {
formats,
parse: parse8,
stringify: stringify3
};
}
});
// node_modules/url-template/lib/url-template.js
var require_url_template = __commonJS({
"node_modules/url-template/lib/url-template.js"(exports2, module2) {
(function(root, factory) {
if (typeof exports2 === "object") {
module2.exports = factory();
} else if (typeof define === "function" && define.amd) {
define([], factory);
} else {
root.urltemplate = factory();
}
})(exports2, function() {
function UrlTemplate() {
}
UrlTemplate.prototype.encodeReserved = function(str2) {
return str2.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
if (!/%[0-9A-Fa-f]/.test(part)) {
part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
}
return part;
}).join("");
};
UrlTemplate.prototype.encodeUnreserved = function(str2) {
return encodeURIComponent(str2).replace(/[!'()*]/g, function(c4) {
return "%" + c4.charCodeAt(0).toString(16).toUpperCase();
});
};
UrlTemplate.prototype.encodeValue = function(operator, value, key) {
value = operator === "+" || operator === "#" ? this.encodeReserved(value) : this.encodeUnreserved(value);
if (key) {
return this.encodeUnreserved(key) + "=" + value;
} else {
return value;
}
};
UrlTemplate.prototype.isDefined = function(value) {
return value !== void 0 && value !== null;
};
UrlTemplate.prototype.isKeyOperator = function(operator) {
return operator === ";" || operator === "&" || operator === "?";
};
UrlTemplate.prototype.getValues = function(context2, operator, key, modifier) {
var value = context2[key], result2 = [];
if (this.isDefined(value) && value !== "") {
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
value = value.toString();
if (modifier && modifier !== "*") {
value = value.substring(0, parseInt(modifier, 10));
}
result2.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null));
} else {
if (modifier === "*") {
if (Array.isArray(value)) {
value.filter(this.isDefined).forEach(function(value2) {
result2.push(this.encodeValue(operator, value2, this.isKeyOperator(operator) ? key : null));
}, this);
} else {
Object.keys(value).forEach(function(k) {
if (this.isDefined(value[k])) {
result2.push(this.encodeValue(operator, value[k], k));
}
}, this);
}
} else {
var tmp = [];
if (Array.isArray(value)) {
value.filter(this.isDefined).forEach(function(value2) {
tmp.push(this.encodeValue(operator, value2));
}, this);
} else {
Object.keys(value).forEach(function(k) {
if (this.isDefined(value[k])) {
tmp.push(this.encodeUnreserved(k));
tmp.push(this.encodeValue(operator, value[k].toString()));
}
}, this);
}
if (this.isKeyOperator(operator)) {
result2.push(this.encodeUnreserved(key) + "=" + tmp.join(","));
} else if (tmp.length !== 0) {
result2.push(tmp.join(","));
}
}
}
} else {
if (operator === ";") {
if (this.isDefined(value)) {
result2.push(this.encodeUnreserved(key));
}
} else if (value === "" && (operator === "&" || operator === "?")) {
result2.push(this.encodeUnreserved(key) + "=");
} else if (value === "") {
result2.push("");
}
}
return result2;
};
UrlTemplate.prototype.parse = function(template) {
var that = this;
var operators = ["+", "#", ".", "/", ";", "?", "&"];
return {
expand: function(context2) {
return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function(_, expression, literal3) {
if (expression) {
var operator = null, values = [];
if (operators.indexOf(expression.charAt(0)) !== -1) {
operator = expression.charAt(0);
expression = expression.substr(1);
}
expression.split(/,/g).forEach(function(variable) {
var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
values.push.apply(values, that.getValues(context2, operator, tmp[1], tmp[2] || tmp[3]));
});
if (operator && operator !== "+") {
var separator = ",";
if (operator === "?") {
separator = "&";
} else if (operator !== "#") {
separator = operator;
}
return (values.length !== 0 ? operator : "") + values.join(separator);
} else {
return values.join(",");
}
} else {
return that.encodeReserved(literal3);
}
});
}
};
};
return new UrlTemplate();
});
}
});
// node_modules/googleapis-common/build/src/isbrowser.js
var require_isbrowser = __commonJS({
"node_modules/googleapis-common/build/src/isbrowser.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isBrowser = void 0;
function isBrowser() {
return typeof window !== "undefined";
}
exports2.isBrowser = isBrowser;
}
});
// node_modules/googleapis-common/build/src/http2.js
var require_http2 = __commonJS({
"node_modules/googleapis-common/build/src/http2.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.closeSession = exports2.request = exports2.sessions = void 0;
var http22 = __require("http2");
var zlib2 = __require("zlib");
var url_1 = __require("url");
var qs = require_lib5();
var extend4 = require_extend();
var stream_1 = __require("stream");
var util2 = __require("util");
var process25 = __require("process");
var common_1 = require_common();
var { HTTP2_HEADER_CONTENT_ENCODING, HTTP2_HEADER_CONTENT_TYPE, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } = http22.constants;
var DEBUG = !!process25.env.HTTP2_DEBUG;
exports2.sessions = {};
async function request(config2) {
const opts = extend4(true, {}, config2);
opts.validateStatus = opts.validateStatus || validateStatus;
opts.responseType = opts.responseType || "json";
const url3 = new url_1.URL(opts.url);
const sessionData = _getClient(url3.host);
if (sessionData.timeoutHandle !== void 0) {
clearTimeout(sessionData.timeoutHandle);
}
let pathWithQs = url3.pathname;
if (config2.params && Object.keys(config2.params).length > 0) {
const serializer = config2.paramsSerializer || qs.stringify;
const q = serializer(opts.params);
pathWithQs += `?${q}`;
}
const headers = Object.assign({}, opts.headers, {
[HTTP2_HEADER_PATH]: pathWithQs,
[HTTP2_HEADER_METHOD]: config2.method || "GET"
});
if (!headers[HTTP2_HEADER_CONTENT_TYPE]) {
if (opts.responseType !== "text") {
headers[HTTP2_HEADER_CONTENT_TYPE] = "application/json";
}
}
const res = {
config: config2,
request: {},
headers: [],
status: 0,
data: {},
statusText: ""
};
const chunks = [];
const session = sessionData.session;
let req;
return new Promise((resolve25, reject) => {
try {
req = session.request(headers).on("response", (headers2) => {
res.headers = headers2;
res.status = Number(headers2[HTTP2_HEADER_STATUS]);
let stream2 = req;
if (headers2[HTTP2_HEADER_CONTENT_ENCODING] === "gzip") {
stream2 = req.pipe(zlib2.createGunzip());
}
if (opts.responseType === "stream") {
res.data = stream2;
resolve25(res);
return;
}
stream2.on("data", (d) => {
chunks.push(d);
}).on("error", (err2) => {
reject(err2);
return;
}).on("end", () => {
const buf = Buffer.concat(chunks);
let data = buf;
if (buf) {
if (opts.responseType === "json") {
try {
data = JSON.parse(buf.toString("utf8"));
} catch (_a4) {
data = buf.toString("utf8");
}
} else if (opts.responseType === "text") {
data = buf.toString("utf8");
} else if (opts.responseType === "arraybuffer") {
data = buf.buffer;
}
res.data = data;
}
if (!opts.validateStatus(res.status)) {
let message = `Request failed with status code ${res.status}. `;
if (res.data && typeof res.data === "object") {
const body2 = util2.inspect(res.data, { depth: 5 });
message = `${message}
'${body2}`;
}
reject(new common_1.GaxiosError(message, opts, res));
}
resolve25(res);
return;
});
}).on("error", (e2) => {
reject(e2);
return;
});
} catch (e2) {
closeSession(url3);
reject(e2);
}
res.request = req;
if (config2.data) {
if (config2.data instanceof stream_1.Stream) {
config2.data.pipe(req);
} else if (typeof config2.data === "string") {
const data = Buffer.from(config2.data);
req.end(data);
} else if (typeof config2.data === "object") {
const data = JSON.stringify(config2.data);
req.end(data);
}
}
sessionData.timeoutHandle = setTimeout(() => {
closeSession(url3);
}, 500);
});
}
exports2.request = request;
function validateStatus(status2) {
return status2 >= 200 && status2 < 300;
}
function _getClient(host) {
if (!exports2.sessions[host]) {
if (DEBUG) {
console.log(`Creating client for ${host}`);
}
const session = http22.connect(`https://${host}`);
session.on("error", (e2) => {
console.error(`*ERROR*: ${e2}`);
delete exports2.sessions[host];
}).on("goaway", (errorCode, lastStreamId) => {
console.error(`*GOAWAY*: ${errorCode} : ${lastStreamId}`);
delete exports2.sessions[host];
});
exports2.sessions[host] = { session };
} else {
if (DEBUG) {
console.log(`Used cached client for ${host}`);
}
}
return exports2.sessions[host];
}
async function closeSession(url3) {
const sessionData = exports2.sessions[url3.host];
if (!sessionData) {
return;
}
const { session } = sessionData;
delete exports2.sessions[url3.host];
if (DEBUG) {
console.error(`Closing ${url3.host}`);
}
session.close(() => {
if (DEBUG) {
console.error(`Closed ${url3.host}`);
}
});
setTimeout(() => {
if (session && !session.destroyed) {
if (DEBUG) {
console.log(`Forcing close ${url3.host}`);
}
if (session) {
session.destroy();
}
}
}, 1e3);
}
exports2.closeSession = closeSession;
}
});
// node_modules/googleapis-common/package.json
var require_package6 = __commonJS({
"node_modules/googleapis-common/package.json"(exports2, module2) {
module2.exports = {
name: "googleapis-common",
version: "7.2.0",
description: "A common tooling library used by the googleapis npm module. You probably don't want to use this directly.",
repository: "googleapis/nodejs-googleapis-common",
main: "build/src/index.js",
types: "build/src/index.d.ts",
files: [
"build/src",
"!build/src/**/*.map"
],
scripts: {
prebenchmark: "npm run compile",
benchmark: "node build/benchmark/bench.js",
compile: "tsc -p .",
test: "c8 mocha build/test",
"system-test": "c8 mocha build/system-test --timeout 600000",
"presystem-test": "npm run compile",
fix: "gts fix",
prepare: "npm run compile",
pretest: "npm run compile",
lint: "gts check",
"samples-test": "mocha build/samples-test",
docs: "compodoc src/",
"docs-test": "linkinator docs",
webpack: "webpack",
"browser-test": "karma start",
"predocs-test": "npm run docs",
prelint: "cd samples; npm link ../; npm install",
clean: "gts clean",
precompile: "gts clean"
},
keywords: [],
author: "Google LLC",
license: "Apache-2.0",
dependencies: {
extend: "^3.0.2",
gaxios: "^6.0.3",
"google-auth-library": "^9.7.0",
qs: "^6.7.0",
"url-template": "^2.0.8",
uuid: "^9.0.0"
},
devDependencies: {
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@compodoc/compodoc": "1.1.23",
"@types/execa": "^0.9.0",
"@types/extend": "^3.0.1",
"@types/mocha": "^9.0.0",
"@types/mv": "^2.1.0",
"@types/ncp": "^2.0.1",
"@types/nock": "^11.0.0",
"@types/proxyquire": "^1.3.28",
"@types/qs": "^6.5.3",
"@types/sinon": "^17.0.0",
"@types/tmp": "0.2.6",
"@types/url-template": "^2.0.28",
"@types/uuid": "^9.0.0",
c8: "^8.0.0",
codecov: "^3.5.0",
execa: "^5.0.0",
gts: "^5.0.0",
http2spy: "^2.0.0",
"is-docker": "^2.0.0",
karma: "^6.0.0",
"karma-chrome-launcher": "^3.0.0",
"karma-coverage": "^2.0.0",
"karma-firefox-launcher": "^2.0.0",
"karma-mocha": "^2.0.0",
"karma-remap-coverage": "^0.1.5",
"karma-sourcemap-loader": "^0.4.0",
"karma-webpack": "^4.0.0",
linkinator: "^3.1.0",
mocha: "^9.2.2",
mv: "^2.1.1",
ncp: "^2.0.0",
nock: "^13.0.0",
"null-loader": "^4.0.0",
proxyquire: "^2.1.3",
puppeteer: "^18.2.1",
sinon: "^17.0.0",
tmp: "^0.2.0",
"ts-loader": "^8.0.0",
typescript: "5.1.6",
webpack: "^4.0.0",
"webpack-cli": "^4.0.0"
},
engines: {
node: ">=14.0.0"
}
};
}
});
// node_modules/googleapis-common/build/src/apirequest.js
var require_apirequest = __commonJS({
"node_modules/googleapis-common/build/src/apirequest.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createAPIRequest = void 0;
var google_auth_library_1 = require_src6();
var qs = require_lib5();
var stream2 = __require("stream");
var urlTemplate = require_url_template();
var uuid3 = (init_esm_node(), __toCommonJS(esm_node_exports));
var extend4 = require_extend();
var isbrowser_1 = require_isbrowser();
var h2 = require_http2();
var pkg2 = require_package6();
function isReadableStream4(obj) {
return obj !== null && typeof obj === "object" && typeof obj.pipe === "function" && obj.readable !== false && typeof obj._read === "function" && typeof obj._readableState === "object";
}
function getMissingParams(params, required2) {
const missing = new Array();
required2.forEach((param) => {
if (params[param] === void 0) {
missing.push(param);
}
});
return missing.length > 0 ? missing : null;
}
function createAPIRequest(parameters, callback) {
if (callback) {
createAPIRequestAsync(parameters).then((r2) => callback(null, r2), callback);
} else {
return createAPIRequestAsync(parameters);
}
}
exports2.createAPIRequest = createAPIRequest;
async function createAPIRequestAsync(parameters) {
var _a4, _b, _c, _d;
const options = extend4(
true,
{},
// Ensure we don't leak settings upstream
((_a4 = parameters.context.google) === null || _a4 === void 0 ? void 0 : _a4._options) || {},
// Google level options
parameters.context._options || {},
// Per-API options
parameters.options
// API call params
);
const params = extend4(
true,
{},
// New base object
options.params,
// Combined global/per-api params
parameters.params
// API call params
);
options.userAgentDirectives = options.userAgentDirectives || [];
const media = params.media || {};
let resource = params.requestBody;
if (!params.requestBody && params.resource && (!parameters.requiredParams.includes("resource") || typeof params.resource !== "string")) {
resource = params.resource;
delete params.resource;
}
delete params.requestBody;
let authClient = params.auth || options.auth;
const defaultMime = typeof media.body === "string" ? "text/plain" : "application/octet-stream";
delete params.media;
delete params.auth;
const headers = params.headers || {};
populateAPIHeader(headers, options.apiVersion);
delete params.headers;
Object.keys(params).forEach((key) => {
if (key.slice(-1) === "_") {
const newKey = key.slice(0, -1);
params[newKey] = params[key];
delete params[key];
}
});
const missingParams = getMissingParams(params, parameters.requiredParams);
if (missingParams) {
throw new Error("Missing required parameters: " + missingParams.join(", "));
}
if (options.url) {
let url3 = options.url;
if (typeof url3 === "object") {
url3 = url3.toString();
}
options.url = urlTemplate.parse(url3).expand(params);
}
if (parameters.mediaUrl) {
parameters.mediaUrl = urlTemplate.parse(parameters.mediaUrl).expand(params);
}
if (parameters.context._options.rootUrl !== void 0 && options.url !== void 0) {
const originalUrl = new URL(options.url);
const path101 = originalUrl.href.substr(originalUrl.origin.length);
options.url = new URL(path101, parameters.context._options.rootUrl).href;
}
options.paramsSerializer = (params2) => {
return qs.stringify(params2, { arrayFormat: "repeat" });
};
parameters.pathParams.forEach((param) => delete params[param]);
if (typeof authClient === "string") {
params.key = params.key || authClient;
authClient = void 0;
}
function multipartUpload(multipart) {
const boundary = uuid3.v4();
const finale = `--${boundary}--`;
const rStream = new stream2.PassThrough({
flush(callback) {
this.push("\r\n");
this.push(finale);
callback();
}
});
const pStream = new ProgressStream();
const isStream4 = isReadableStream4(multipart[1].body);
headers["content-type"] = `multipart/related; boundary=${boundary}`;
for (const part of multipart) {
const preamble = `--${boundary}\r
content-type: ${part["content-type"]}\r
\r
`;
rStream.push(preamble);
if (typeof part.body === "string") {
rStream.push(part.body);
rStream.push("\r\n");
} else {
pStream.on("progress", (bytesRead) => {
if (options.onUploadProgress) {
options.onUploadProgress({ bytesRead });
}
});
part.body.pipe(pStream).pipe(rStream);
}
}
if (!isStream4) {
rStream.push(finale);
rStream.push(null);
}
options.data = rStream;
}
function browserMultipartUpload(multipart) {
const boundary = uuid3.v4();
const finale = `--${boundary}--`;
headers["content-type"] = `multipart/related; boundary=${boundary}`;
let content = "";
for (const part of multipart) {
const preamble = `--${boundary}\r
content-type: ${part["content-type"]}\r
\r
`;
content += preamble;
if (typeof part.body === "string") {
content += part.body;
content += "\r\n";
}
}
content += finale;
options.data = content;
}
if (parameters.mediaUrl && media.body) {
options.url = parameters.mediaUrl;
if (resource) {
params.uploadType = "multipart";
const multipart = [
{ "content-type": "application/json", body: JSON.stringify(resource) },
{
"content-type": media.mimeType || resource && resource.mimeType || defaultMime,
body: media.body
}
];
if (!(0, isbrowser_1.isBrowser)()) {
multipartUpload(multipart);
} else {
browserMultipartUpload(multipart);
}
} else {
params.uploadType = "media";
Object.assign(headers, { "content-type": media.mimeType || defaultMime });
options.data = media.body;
}
} else {
options.data = resource || void 0;
}
options.headers = extend4(true, options.headers || {}, headers);
options.params = params;
if (!(0, isbrowser_1.isBrowser)()) {
options.headers["Accept-Encoding"] = "gzip";
options.userAgentDirectives.push({
product: "google-api-nodejs-client",
version: pkg2.version,
comment: "gzip"
});
const userAgent = options.userAgentDirectives.map((d) => {
let line = `${d.product}/${d.version}`;
if (d.comment) {
line += ` (${d.comment})`;
}
return line;
}).join(" ");
options.headers["User-Agent"] = userAgent;
}
if (!options.validateStatus) {
options.validateStatus = (status2) => {
return status2 >= 200 && status2 < 300 || status2 === 304;
};
}
options.retry = options.retry === void 0 ? true : options.retry;
delete options.auth;
if (options.universeDomain && options.universe_domain && options.universeDomain !== options.universe_domain) {
throw new Error("Please set either universe_domain or universeDomain, but not both.");
}
const universeDomainEnvVar = typeof process === "object" && typeof process.env === "object" ? process.env["GOOGLE_CLOUD_UNIVERSE_DOMAIN"] : void 0;
const universeDomain = (_d = (_c = (_b = options.universeDomain) !== null && _b !== void 0 ? _b : options.universe_domain) !== null && _c !== void 0 ? _c : universeDomainEnvVar) !== null && _d !== void 0 ? _d : "googleapis.com";
if (universeDomain !== "googleapis.com" && options.url) {
const url3 = new URL(options.url);
if (url3.hostname.endsWith(".googleapis.com")) {
url3.hostname = url3.hostname.replace(/googleapis\.com$/, universeDomain);
options.url = url3.toString();
}
}
if (authClient && typeof authClient === "object") {
const universeFromAuth = typeof authClient.getUniverseDomain === "function" ? await authClient.getUniverseDomain() : void 0;
if (universeFromAuth && universeDomain !== universeFromAuth) {
throw new Error(`The configured universe domain (${universeDomain}) does not match the universe domain found in the credentials (${universeFromAuth}). If you haven't configured the universe domain explicitly, googleapis.com is the default.`);
}
if (options.http2) {
const authHeaders = await authClient.getRequestHeaders(options.url);
const mooOpts = Object.assign({}, options);
mooOpts.headers = Object.assign(mooOpts.headers, authHeaders);
return h2.request(mooOpts);
} else {
return authClient.request(options);
}
} else {
return new google_auth_library_1.DefaultTransporter().request(options);
}
}
var ProgressStream = class extends stream2.Transform {
constructor() {
super(...arguments);
this.bytesRead = 0;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_transform(chunk, encoding, callback) {
this.bytesRead += chunk.length;
this.emit("progress", this.bytesRead);
this.push(chunk);
callback();
}
};
function populateAPIHeader(headers, apiVersion) {
if (!(0, isbrowser_1.isBrowser)()) {
headers["x-goog-api-client"] = `gdcl/${pkg2.version} gl-node/${process.versions.node}`;
}
if (apiVersion) {
headers["x-goog-api-version"] = apiVersion;
}
}
}
});
// node_modules/googleapis-common/build/src/authplus.js
var require_authplus = __commonJS({
"node_modules/googleapis-common/build/src/authplus.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AuthPlus = void 0;
var google_auth_library_1 = require_src6();
var AuthPlus = class extends google_auth_library_1.GoogleAuth {
constructor() {
super(...arguments);
this.JWT = google_auth_library_1.JWT;
this.Compute = google_auth_library_1.Compute;
this.OAuth2 = google_auth_library_1.OAuth2Client;
this.GoogleAuth = google_auth_library_1.GoogleAuth;
this.AwsClient = google_auth_library_1.AwsClient;
this.IdentityPoolClient = google_auth_library_1.IdentityPoolClient;
this.ExternalAccountClient = google_auth_library_1.ExternalAccountClient;
}
/**
* Override getClient(), memoizing an instance of auth for
* subsequent calls to getProjectId().
*/
async getClient(options) {
this._cachedAuth = new google_auth_library_1.GoogleAuth(options);
return this._cachedAuth.getClient();
}
getProjectId(callback) {
if (callback) {
return this._cachedAuth ? this._cachedAuth.getProjectId(callback) : super.getProjectId(callback);
} else {
return this._cachedAuth ? this._cachedAuth.getProjectId() : super.getProjectId();
}
}
};
exports2.AuthPlus = AuthPlus;
}
});
// node_modules/googleapis-common/build/src/endpoint.js
var require_endpoint = __commonJS({
"node_modules/googleapis-common/build/src/endpoint.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Endpoint = void 0;
var apirequest_1 = require_apirequest();
var Endpoint = class {
constructor(options) {
this._options = options || {};
}
/**
* Given a schema, add methods and resources to a target.
*
* @param {object} target The target to which to apply the schema.
* @param {object} rootSchema The top-level schema, so we don't lose track of it
* during recursion.
* @param {object} schema The current schema from which to extract methods and
* resources.
* @param {object} context The context to add to each method.
*/
applySchema(target, rootSchema, schema2, context2) {
this.applyMethodsFromSchema(target, rootSchema, schema2, context2);
if (schema2.resources) {
for (const resourceName in schema2.resources) {
if (Object.prototype.hasOwnProperty.call(schema2.resources, resourceName)) {
const resource = schema2.resources[resourceName];
if (!target[resourceName]) {
target[resourceName] = {};
}
this.applySchema(target[resourceName], rootSchema, resource, context2);
}
}
}
}
/**
* Given a schema, add methods to a target.
*
* @param {object} target The target to which to apply the methods.
* @param {object} rootSchema The top-level schema, so we don't lose track of it
* during recursion.
* @param {object} schema The current schema from which to extract methods.
* @param {object} context The context to add to each method.
*/
applyMethodsFromSchema(target, rootSchema, schema2, context2) {
if (schema2.methods) {
for (const name3 in schema2.methods) {
if (Object.prototype.hasOwnProperty.call(schema2.methods, name3)) {
const method = schema2.methods[name3];
target[name3] = this.makeMethod(rootSchema, method, context2);
}
}
}
}
/**
* Given a method schema, add a method to a target.
*
* @param target The target to which to add the method.
* @param schema The top-level schema that contains the rootUrl, etc.
* @param method The method schema from which to generate the method.
* @param context The context to add to the method.
*/
makeMethod(schema2, method, context2) {
return (paramsOrCallback, callback) => {
const params = typeof paramsOrCallback === "function" ? {} : paramsOrCallback;
callback = typeof paramsOrCallback === "function" ? paramsOrCallback : callback;
const schemaUrl = buildurl(schema2.rootUrl + schema2.servicePath + method.path);
const parameters = {
options: {
url: schemaUrl.substring(1, schemaUrl.length - 1),
method: method.httpMethod,
apiVersion: method.apiVersion
},
params,
requiredParams: method.parameterOrder || [],
pathParams: this.getPathParams(method.parameters),
context: context2
};
if (method.mediaUpload && method.mediaUpload.protocols && method.mediaUpload.protocols.simple && method.mediaUpload.protocols.simple.path) {
const mediaUrl = buildurl(schema2.rootUrl + method.mediaUpload.protocols.simple.path);
parameters.mediaUrl = mediaUrl.substring(1, mediaUrl.length - 1);
}
if (!callback) {
return (0, apirequest_1.createAPIRequest)(parameters);
}
(0, apirequest_1.createAPIRequest)(parameters, callback);
return;
};
}
getPathParams(params) {
const pathParams = new Array();
if (typeof params !== "object") {
params = {};
}
Object.keys(params).forEach((key) => {
if (params[key].location === "path") {
pathParams.push(key);
}
});
return pathParams;
}
};
exports2.Endpoint = Endpoint;
function buildurl(input) {
return input ? `'${input}'`.replace(/([^:]\/)\/+/g, "$1") : "";
}
}
});
// node_modules/googleapis-common/build/src/discovery.js
var require_discovery = __commonJS({
"node_modules/googleapis-common/build/src/discovery.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Discovery = void 0;
var fs84 = __require("fs");
var google_auth_library_1 = require_src6();
var resolve25 = __require("url");
var util2 = __require("util");
var apirequest_1 = require_apirequest();
var endpoint_1 = require_endpoint();
var readFile12 = util2.promisify(fs84.readFile);
var Discovery = class {
/**
* Discovery for discovering API endpoints
*
* @param options Options for discovery
*/
constructor(options) {
this.transporter = new google_auth_library_1.DefaultTransporter();
this.options = options || {};
}
/**
* Generate and Endpoint from an endpoint schema object.
*
* @param schema The schema from which to generate the Endpoint.
* @return A function that creates an endpoint.
*/
makeEndpoint(schema2) {
return (options) => {
const ep = new endpoint_1.Endpoint(options);
ep.applySchema(ep, schema2, schema2, ep);
return ep;
};
}
/**
* Log output of generator. Works just like console.log
*/
log(...args2) {
if (this.options && this.options.debug) {
console.log(...args2);
}
}
/**
* Generate all APIs and return as in-memory object.
* @param discoveryUrl
*/
async discoverAllAPIs(discoveryUrl) {
const headers = this.options.includePrivate ? {} : { "X-User-Ip": "0.0.0.0" };
const res = await this.transporter.request({
url: discoveryUrl,
headers
});
const items = res.data.items;
const apis = await Promise.all(items.map(async (api) => {
const endpointCreator = await this.discoverAPI(api.discoveryRestUrl);
return { api, endpointCreator };
}));
const versionIndex = {};
const apisIndex = {};
for (const set3 of apis) {
if (!apisIndex[set3.api.name]) {
versionIndex[set3.api.name] = {};
apisIndex[set3.api.name] = (options) => {
const type2 = typeof options;
let version4;
if (type2 === "string") {
version4 = options;
options = {};
} else if (type2 === "object") {
version4 = options.version;
delete options.version;
} else {
throw new Error("Argument error: Accepts only string or object");
}
try {
const ep = set3.endpointCreator(options, this);
return Object.freeze(ep);
} catch (e2) {
throw new Error(util2.format('Unable to load endpoint %s("%s"): %s', set3.api.name, version4, e2.message));
}
};
}
versionIndex[set3.api.name][set3.api.version] = set3.endpointCreator;
}
return apisIndex;
}
/**
* Generate API file given discovery URL
*
* @param apiDiscoveryUrl URL or filename of discovery doc for API
* @returns A promise that resolves with a function that creates the endpoint
*/
async discoverAPI(apiDiscoveryUrl) {
if (typeof apiDiscoveryUrl === "string") {
const parts2 = resolve25.parse(apiDiscoveryUrl);
if (apiDiscoveryUrl && !parts2.protocol) {
this.log("Reading from file " + apiDiscoveryUrl);
const file2 = await readFile12(apiDiscoveryUrl, { encoding: "utf8" });
return this.makeEndpoint(JSON.parse(file2));
} else {
this.log("Requesting " + apiDiscoveryUrl);
const res = await this.transporter.request({
url: apiDiscoveryUrl
});
return this.makeEndpoint(res.data);
}
} else {
const options = apiDiscoveryUrl;
this.log("Requesting " + options.url);
const url3 = options.url;
delete options.url;
const parameters = {
options: { url: url3, method: "GET" },
requiredParams: [],
pathParams: [],
params: options,
context: { google: { _options: {} }, _options: {} }
};
const res = await (0, apirequest_1.createAPIRequest)(parameters);
return this.makeEndpoint(res.data);
}
}
};
exports2.Discovery = Discovery;
}
});
// node_modules/googleapis-common/build/src/index.js
var require_src40 = __commonJS({
"node_modules/googleapis-common/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Endpoint = exports2.Discovery = exports2.AuthPlus = exports2.createAPIRequest = exports2.getAPI = exports2.GaxiosError = exports2.Gaxios = exports2.AwsClient = exports2.IdentityPoolClient = exports2.BaseExternalAccountClient = exports2.ExternalAccountClient = exports2.GoogleAuth = exports2.DefaultTransporter = exports2.UserRefreshClient = exports2.Compute = exports2.JWT = exports2.OAuth2Client = void 0;
var google_auth_library_1 = require_src6();
Object.defineProperty(exports2, "OAuth2Client", { enumerable: true, get: function() {
return google_auth_library_1.OAuth2Client;
} });
Object.defineProperty(exports2, "JWT", { enumerable: true, get: function() {
return google_auth_library_1.JWT;
} });
Object.defineProperty(exports2, "Compute", { enumerable: true, get: function() {
return google_auth_library_1.Compute;
} });
Object.defineProperty(exports2, "UserRefreshClient", { enumerable: true, get: function() {
return google_auth_library_1.UserRefreshClient;
} });
Object.defineProperty(exports2, "DefaultTransporter", { enumerable: true, get: function() {
return google_auth_library_1.DefaultTransporter;
} });
Object.defineProperty(exports2, "GoogleAuth", { enumerable: true, get: function() {
return google_auth_library_1.GoogleAuth;
} });
Object.defineProperty(exports2, "ExternalAccountClient", { enumerable: true, get: function() {
return google_auth_library_1.ExternalAccountClient;
} });
Object.defineProperty(exports2, "BaseExternalAccountClient", { enumerable: true, get: function() {
return google_auth_library_1.BaseExternalAccountClient;
} });
Object.defineProperty(exports2, "IdentityPoolClient", { enumerable: true, get: function() {
return google_auth_library_1.IdentityPoolClient;
} });
Object.defineProperty(exports2, "AwsClient", { enumerable: true, get: function() {
return google_auth_library_1.AwsClient;
} });
var gaxios_1 = require_src2();
Object.defineProperty(exports2, "Gaxios", { enumerable: true, get: function() {
return gaxios_1.Gaxios;
} });
Object.defineProperty(exports2, "GaxiosError", { enumerable: true, get: function() {
return gaxios_1.GaxiosError;
} });
var apiIndex_1 = require_apiIndex();
Object.defineProperty(exports2, "getAPI", { enumerable: true, get: function() {
return apiIndex_1.getAPI;
} });
var apirequest_1 = require_apirequest();
Object.defineProperty(exports2, "createAPIRequest", { enumerable: true, get: function() {
return apirequest_1.createAPIRequest;
} });
var authplus_1 = require_authplus();
Object.defineProperty(exports2, "AuthPlus", { enumerable: true, get: function() {
return authplus_1.AuthPlus;
} });
var discovery_1 = require_discovery();
Object.defineProperty(exports2, "Discovery", { enumerable: true, get: function() {
return discovery_1.Discovery;
} });
var endpoint_1 = require_endpoint();
Object.defineProperty(exports2, "Endpoint", { enumerable: true, get: function() {
return endpoint_1.Endpoint;
} });
}
});
// node_modules/googleapis/build/src/apis/monitoring/v1.js
var require_v1 = __commonJS({
"node_modules/googleapis/build/src/apis/monitoring/v1.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.monitoring_v1 = void 0;
var googleapis_common_1 = require_src40();
var monitoring_v1;
(function(monitoring_v12) {
class Monitoring {
constructor(options, google) {
this.context = {
_options: options || {},
google
};
this.locations = new Resource$Locations(this.context);
this.operations = new Resource$Operations(this.context);
this.projects = new Resource$Projects(this.context);
}
}
monitoring_v12.Monitoring = Monitoring;
class Resource$Locations {
constructor(context2) {
this.context = context2;
this.global = new Resource$Locations$Global(this.context);
}
}
monitoring_v12.Resource$Locations = Resource$Locations;
class Resource$Locations$Global {
constructor(context2) {
this.context = context2;
this.metricsScopes = new Resource$Locations$Global$Metricsscopes(this.context);
}
}
monitoring_v12.Resource$Locations$Global = Resource$Locations$Global;
class Resource$Locations$Global$Metricsscopes {
constructor(context2) {
this.context = context2;
this.projects = new Resource$Locations$Global$Metricsscopes$Projects(this.context);
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET"
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
listMetricsScopesByMonitoredProject(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/locations/global/metricsScopes:listMetricsScopesByMonitoredProject").replace(/([^:]\/)\/+/g, "$1"),
method: "GET"
}, options),
params,
requiredParams: [],
pathParams: [],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v12.Resource$Locations$Global$Metricsscopes = Resource$Locations$Global$Metricsscopes;
class Resource$Locations$Global$Metricsscopes$Projects {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+parent}/projects").replace(/([^:]\/)\/+/g, "$1"),
method: "POST"
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE"
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v12.Resource$Locations$Global$Metricsscopes$Projects = Resource$Locations$Global$Metricsscopes$Projects;
class Resource$Operations {
constructor(context2) {
this.context = context2;
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET"
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v12.Resource$Operations = Resource$Operations;
class Resource$Projects {
constructor(context2) {
this.context = context2;
this.dashboards = new Resource$Projects$Dashboards(this.context);
this.location = new Resource$Projects$Location(this.context);
}
}
monitoring_v12.Resource$Projects = Resource$Projects;
class Resource$Projects$Dashboards {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+parent}/dashboards").replace(/([^:]\/)\/+/g, "$1"),
method: "POST"
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE"
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET"
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+parent}/dashboards").replace(/([^:]\/)\/+/g, "$1"),
method: "GET"
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
patch(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PATCH"
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v12.Resource$Projects$Dashboards = Resource$Projects$Dashboards;
class Resource$Projects$Location {
constructor(context2) {
this.context = context2;
this.prometheus = new Resource$Projects$Location$Prometheus(this.context);
}
}
monitoring_v12.Resource$Projects$Location = Resource$Projects$Location;
class Resource$Projects$Location$Prometheus {
constructor(context2) {
this.context = context2;
this.api = new Resource$Projects$Location$Prometheus$Api(this.context);
}
}
monitoring_v12.Resource$Projects$Location$Prometheus = Resource$Projects$Location$Prometheus;
class Resource$Projects$Location$Prometheus$Api {
constructor(context2) {
this.context = context2;
this.v1 = new Resource$Projects$Location$Prometheus$Api$V1(this.context);
}
}
monitoring_v12.Resource$Projects$Location$Prometheus$Api = Resource$Projects$Location$Prometheus$Api;
class Resource$Projects$Location$Prometheus$Api$V1 {
constructor(context2) {
this.context = context2;
this.label = new Resource$Projects$Location$Prometheus$Api$V1$Label(this.context);
this.metadata = new Resource$Projects$Location$Prometheus$Api$V1$Metadata(this.context);
}
query(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}/location/{location}/prometheus/api/v1/query").replace(/([^:]\/)\/+/g, "$1"),
method: "POST"
}, options),
params,
requiredParams: ["name", "location"],
pathParams: ["location", "name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
query_range(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}/location/{location}/prometheus/api/v1/query_range").replace(/([^:]\/)\/+/g, "$1"),
method: "POST"
}, options),
params,
requiredParams: ["name", "location"],
pathParams: ["location", "name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
series(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}/location/{location}/prometheus/api/v1/series").replace(/([^:]\/)\/+/g, "$1"),
method: "POST"
}, options),
params,
requiredParams: ["name", "location"],
pathParams: ["location", "name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v12.Resource$Projects$Location$Prometheus$Api$V1 = Resource$Projects$Location$Prometheus$Api$V1;
class Resource$Projects$Location$Prometheus$Api$V1$Label {
constructor(context2) {
this.context = context2;
}
values(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}/location/{location}/prometheus/api/v1/label/{label}/values").replace(/([^:]\/)\/+/g, "$1"),
method: "GET"
}, options),
params,
requiredParams: ["name", "location", "label"],
pathParams: ["label", "location", "name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v12.Resource$Projects$Location$Prometheus$Api$V1$Label = Resource$Projects$Location$Prometheus$Api$V1$Label;
class Resource$Projects$Location$Prometheus$Api$V1$Metadata {
constructor(context2) {
this.context = context2;
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v1/{+name}/location/{location}/prometheus/api/v1/metadata").replace(/([^:]\/)\/+/g, "$1"),
method: "GET"
}, options),
params,
requiredParams: ["name", "location"],
pathParams: ["location", "name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v12.Resource$Projects$Location$Prometheus$Api$V1$Metadata = Resource$Projects$Location$Prometheus$Api$V1$Metadata;
})(monitoring_v1 || (exports2.monitoring_v1 = monitoring_v1 = {}));
}
});
// node_modules/googleapis/build/src/apis/monitoring/v3.js
var require_v3 = __commonJS({
"node_modules/googleapis/build/src/apis/monitoring/v3.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.monitoring_v3 = void 0;
var googleapis_common_1 = require_src40();
var monitoring_v3;
(function(monitoring_v32) {
class Monitoring {
constructor(options, google) {
this.context = {
_options: options || {},
google
};
this.folders = new Resource$Folders(this.context);
this.organizations = new Resource$Organizations(this.context);
this.projects = new Resource$Projects(this.context);
this.services = new Resource$Services(this.context);
this.uptimeCheckIps = new Resource$Uptimecheckips(this.context);
}
}
monitoring_v32.Monitoring = Monitoring;
class Resource$Folders {
constructor(context2) {
this.context = context2;
this.timeSeries = new Resource$Folders$Timeseries(this.context);
}
}
monitoring_v32.Resource$Folders = Resource$Folders;
class Resource$Folders$Timeseries {
constructor(context2) {
this.context = context2;
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/timeSeries").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Folders$Timeseries = Resource$Folders$Timeseries;
class Resource$Organizations {
constructor(context2) {
this.context = context2;
this.timeSeries = new Resource$Organizations$Timeseries(this.context);
}
}
monitoring_v32.Resource$Organizations = Resource$Organizations;
class Resource$Organizations$Timeseries {
constructor(context2) {
this.context = context2;
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/timeSeries").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Organizations$Timeseries = Resource$Organizations$Timeseries;
class Resource$Projects {
constructor(context2) {
this.context = context2;
this.alertPolicies = new Resource$Projects$Alertpolicies(this.context);
this.collectdTimeSeries = new Resource$Projects$Collectdtimeseries(this.context);
this.groups = new Resource$Projects$Groups(this.context);
this.metricDescriptors = new Resource$Projects$Metricdescriptors(this.context);
this.monitoredResourceDescriptors = new Resource$Projects$Monitoredresourcedescriptors(this.context);
this.notificationChannelDescriptors = new Resource$Projects$Notificationchanneldescriptors(this.context);
this.notificationChannels = new Resource$Projects$Notificationchannels(this.context);
this.snoozes = new Resource$Projects$Snoozes(this.context);
this.timeSeries = new Resource$Projects$Timeseries(this.context);
this.uptimeCheckConfigs = new Resource$Projects$Uptimecheckconfigs(this.context);
}
}
monitoring_v32.Resource$Projects = Resource$Projects;
class Resource$Projects$Alertpolicies {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/alertPolicies").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/alertPolicies").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
patch(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PATCH",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Alertpolicies = Resource$Projects$Alertpolicies;
class Resource$Projects$Collectdtimeseries {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/collectdTimeSeries").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Collectdtimeseries = Resource$Projects$Collectdtimeseries;
class Resource$Projects$Groups {
constructor(context2) {
this.context = context2;
this.members = new Resource$Projects$Groups$Members(this.context);
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/groups").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/groups").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
update(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PUT",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Groups = Resource$Projects$Groups;
class Resource$Projects$Groups$Members {
constructor(context2) {
this.context = context2;
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/members").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Groups$Members = Resource$Projects$Groups$Members;
class Resource$Projects$Metricdescriptors {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/metricDescriptors").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/metricDescriptors").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Metricdescriptors = Resource$Projects$Metricdescriptors;
class Resource$Projects$Monitoredresourcedescriptors {
constructor(context2) {
this.context = context2;
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/monitoredResourceDescriptors").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Monitoredresourcedescriptors = Resource$Projects$Monitoredresourcedescriptors;
class Resource$Projects$Notificationchanneldescriptors {
constructor(context2) {
this.context = context2;
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/notificationChannelDescriptors").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Notificationchanneldescriptors = Resource$Projects$Notificationchanneldescriptors;
class Resource$Projects$Notificationchannels {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/notificationChannels").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
getVerificationCode(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}:getVerificationCode").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/notificationChannels").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
patch(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PATCH",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
sendVerificationCode(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}:sendVerificationCode").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
verify(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}:verify").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Notificationchannels = Resource$Projects$Notificationchannels;
class Resource$Projects$Snoozes {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/snoozes").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/snoozes").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
patch(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PATCH",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Snoozes = Resource$Projects$Snoozes;
class Resource$Projects$Timeseries {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/timeSeries").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
createService(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/timeSeries:createService").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/timeSeries").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
query(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}/timeSeries:query").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Timeseries = Resource$Projects$Timeseries;
class Resource$Projects$Uptimecheckconfigs {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/uptimeCheckConfigs").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/uptimeCheckConfigs").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
patch(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PATCH",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Projects$Uptimecheckconfigs = Resource$Projects$Uptimecheckconfigs;
class Resource$Services {
constructor(context2) {
this.context = context2;
this.serviceLevelObjectives = new Resource$Services$Servicelevelobjectives(this.context);
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/services").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/services").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
patch(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PATCH",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Services = Resource$Services;
class Resource$Services$Servicelevelobjectives {
constructor(context2) {
this.context = context2;
}
create(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/serviceLevelObjectives").replace(/([^:]\/)\/+/g, "$1"),
method: "POST",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
delete(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "DELETE",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
get(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+parent}/serviceLevelObjectives").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: ["parent"],
pathParams: ["parent"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
patch(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/{+name}").replace(/([^:]\/)\/+/g, "$1"),
method: "PATCH",
apiVersion: ""
}, options),
params,
requiredParams: ["name"],
pathParams: ["name"],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Services$Servicelevelobjectives = Resource$Services$Servicelevelobjectives;
class Resource$Uptimecheckips {
constructor(context2) {
this.context = context2;
}
list(paramsOrCallback, optionsOrCallback, callback) {
let params = paramsOrCallback || {};
let options = optionsOrCallback || {};
if (typeof paramsOrCallback === "function") {
callback = paramsOrCallback;
params = {};
options = {};
}
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
options = {};
}
const rootUrl = options.rootUrl || "https://monitoring.googleapis.com/";
const parameters = {
options: Object.assign({
url: (rootUrl + "/v3/uptimeCheckIps").replace(/([^:]\/)\/+/g, "$1"),
method: "GET",
apiVersion: ""
}, options),
params,
requiredParams: [],
pathParams: [],
context: this.context
};
if (callback) {
(0, googleapis_common_1.createAPIRequest)(parameters, callback);
} else {
return (0, googleapis_common_1.createAPIRequest)(parameters);
}
}
}
monitoring_v32.Resource$Uptimecheckips = Resource$Uptimecheckips;
})(monitoring_v3 || (exports2.monitoring_v3 = monitoring_v3 = {}));
}
});
// node_modules/googleapis/build/src/apis/monitoring/index.js
var require_monitoring = __commonJS({
"node_modules/googleapis/build/src/apis/monitoring/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.AuthPlus = exports2.monitoring_v3 = exports2.monitoring_v1 = exports2.auth = exports2.monitoring = exports2.VERSIONS = void 0;
var googleapis_common_1 = require_src40();
var v1_1 = require_v1();
Object.defineProperty(exports2, "monitoring_v1", { enumerable: true, get: function() {
return v1_1.monitoring_v1;
} });
var v3_1 = require_v3();
Object.defineProperty(exports2, "monitoring_v3", { enumerable: true, get: function() {
return v3_1.monitoring_v3;
} });
exports2.VERSIONS = {
v1: v1_1.monitoring_v1.Monitoring,
v3: v3_1.monitoring_v3.Monitoring
};
function monitoring(versionOrOptions) {
return (0, googleapis_common_1.getAPI)("monitoring", versionOrOptions, exports2.VERSIONS, this);
}
exports2.monitoring = monitoring;
var auth2 = new googleapis_common_1.AuthPlus();
exports2.auth = auth2;
var googleapis_common_2 = require_src40();
Object.defineProperty(exports2, "AuthPlus", { enumerable: true, get: function() {
return googleapis_common_2.AuthPlus;
} });
}
});
// node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/types.js
var require_types7 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ValueType = exports2.MetricKind = void 0;
var MetricKind;
(function(MetricKind2) {
MetricKind2["UNSPECIFIED"] = "METRIC_KIND_UNSPECIFIED";
MetricKind2["GAUGE"] = "GAUGE";
MetricKind2["DELTA"] = "DELTA";
MetricKind2["CUMULATIVE"] = "CUMULATIVE";
})(MetricKind = exports2.MetricKind || (exports2.MetricKind = {}));
var ValueType2;
(function(ValueType3) {
ValueType3["VALUE_TYPE_UNSPECIFIED"] = "VALUE_TYPE_UNSPECIFIED";
ValueType3["INT64"] = "INT64";
ValueType3["DOUBLE"] = "DOUBLE";
ValueType3["DISTRIBUTION"] = "DISTRIBUTION";
})(ValueType2 = exports2.ValueType || (exports2.ValueType = {}));
}
});
// node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/utils.js
var require_utils14 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.numbersToStrings = exports2.exp2 = exports2.mountProjectIdPath = exports2.partitionList = void 0;
function partitionList(list, chunkSize) {
const listCopy = [...list];
const results = [];
while (listCopy.length) {
results.push(listCopy.splice(0, chunkSize));
}
return results;
}
exports2.partitionList = partitionList;
function mountProjectIdPath(projectId) {
return `projects/${projectId}`;
}
exports2.mountProjectIdPath = mountProjectIdPath;
function exp2(value) {
return Math.pow(2, value);
}
exports2.exp2 = exp2;
function numbersToStrings(values) {
return values.map((value) => value.toString());
}
exports2.numbersToStrings = numbersToStrings;
}
});
// node_modules/@google-cloud/precise-date/build/src/index.js
var require_src41 = __commonJS({
"node_modules/@google-cloud/precise-date/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PreciseDate = void 0;
var FULL_ISO_REG = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d{4,9}Z/;
var NO_BIG_INT = "BigInt only available in Node >= v10.7. Consider using getFullTimeString instead.";
var Sign;
(function(Sign2) {
Sign2[Sign2["NEGATIVE"] = -1] = "NEGATIVE";
Sign2[Sign2["POSITIVE"] = 1] = "POSITIVE";
Sign2[Sign2["ZERO"] = 0] = "ZERO";
})(Sign || (Sign = {}));
var PreciseDate = class _PreciseDate extends Date {
constructor(time3) {
super();
this._micros = 0;
this._nanos = 0;
if (time3 && typeof time3 !== "number" && !(time3 instanceof Date)) {
this.setFullTime(_PreciseDate.parseFull(time3));
return;
}
const args2 = Array.from(arguments);
const dateFields = args2.slice(0, 7);
const date5 = new Date(...dateFields);
const nanos = args2.length === 9 ? args2.pop() : 0;
const micros = args2.length === 8 ? args2.pop() : 0;
this.setTime(date5.getTime());
this.setMicroseconds(micros);
this.setNanoseconds(nanos);
}
/**
* Returns the specified date represented in nanoseconds according to
* universal time.
*
* **NOTE:** Because this method returns a `BigInt` it requires Node >= v10.7.
* Use {@link PreciseDate#getFullTimeString} to get the time as a string.
*
* @see {@link https://github.com/tc39/proposal-bigint|BigInt}
*
* @throws {error} If `BigInt` is unavailable.
* @returns {bigint}
*
* @example
* const date = new PreciseDate('2019-02-08T10:34:29.481145231Z');
*
* console.log(date.getFullTime());
* // expected output: 1549622069481145231n
*/
getFullTime() {
if (typeof BigInt !== "function") {
throw new Error(NO_BIG_INT);
}
return BigInt(this.getFullTimeString());
}
/**
* Returns a string of the specified date represented in nanoseconds according
* to universal time.
*
* @returns {string}
*
* @example
* const date = new PreciseDate('2019-02-08T10:34:29.481145231Z');
*
* console.log(date.getFullTimeString());
* // expected output: "1549622069481145231"
*/
getFullTimeString() {
const seconds = this._getSeconds();
let nanos = this._getNanos();
if (nanos && Math.sign(seconds) === Sign.NEGATIVE) {
nanos = 1e9 - nanos;
}
return `${seconds}${padLeft(nanos, 9)}`;
}
/**
* Returns the microseconds in the specified date according to universal time.
*
* @returns {number}
*
* @example
* const date = new PreciseDate('2019-02-08T10:34:29.481145Z');
*
* console.log(date.getMicroseconds());
* // expected output: 145
*/
getMicroseconds() {
return this._micros;
}
/**
* Returns the nanoseconds in the specified date according to universal time.
*
* @returns {number}
*
* @example
* const date = new PreciseDate('2019-02-08T10:34:29.481145231Z');
*
* console.log(date.getNanoseconds());
* // expected output: 231
*/
getNanoseconds() {
return this._nanos;
}
/**
* Sets the microseconds for a specified date according to universal time.
*
* @param {number} microseconds A number representing the microseconds.
* @returns {string} Returns a string representing the nanoseconds in the
* specified date according to universal time.
*
* @example
* const date = new PreciseDate();
*
* date.setMicroseconds(149);
*
* console.log(date.getMicroseconds());
* // expected output: 149
*/
setMicroseconds(micros) {
const abs = Math.abs(micros);
let millis = this.getUTCMilliseconds();
if (abs >= 1e3) {
millis += Math.floor(abs / 1e3) * Math.sign(micros);
micros %= 1e3;
}
if (Math.sign(micros) === Sign.NEGATIVE) {
millis -= 1;
micros += 1e3;
}
this._micros = micros;
this.setUTCMilliseconds(millis);
return this.getFullTimeString();
}
/**
* Sets the nanoseconds for a specified date according to universal time.
*
* @param {number} nanoseconds A number representing the nanoseconds.
* @returns {string} Returns a string representing the nanoseconds in the
* specified date according to universal time.
*
* @example
* const date = new PreciseDate();
*
* date.setNanoseconds(231);
*
* console.log(date.getNanoseconds());
* // expected output: 231
*/
setNanoseconds(nanos) {
const abs = Math.abs(nanos);
let micros = this._micros;
if (abs >= 1e3) {
micros += Math.floor(abs / 1e3) * Math.sign(nanos);
nanos %= 1e3;
}
if (Math.sign(nanos) === Sign.NEGATIVE) {
micros -= 1;
nanos += 1e3;
}
this._nanos = nanos;
return this.setMicroseconds(micros);
}
/**
* Sets the PreciseDate object to the time represented by a number of
* nanoseconds since January 1, 1970, 00:00:00 UTC.
*
* @param {bigint|number|string} time Value representing the number of
* nanoseconds since January 1, 1970, 00:00:00 UTC.
* @returns {string} Returns a string representing the nanoseconds in the
* specified date according to universal time (effectively, the value of
* the argument).
*
* @see {@link https://github.com/tc39/proposal-bigint|BigInt}
*
* @example <caption>With a nanosecond string.</caption>
* const date = new PreciseDate();
* date.setFullTime('1549622069481145231');
*
* @example <caption>With a BigInt</caption>
* date.setFullTime(1549622069481145231n);
*/
setFullTime(time3) {
if (typeof time3 !== "string") {
time3 = time3.toString();
}
const sign = Math.sign(Number(time3));
time3 = time3.replace(/^-/, "");
const seconds = Number(time3.substr(0, time3.length - 9)) * sign;
const nanos = Number(time3.substr(-9)) * sign;
this.setTime(seconds * 1e3);
return this.setNanoseconds(nanos);
}
/**
* Sets the PreciseDate object to the time represented by a number of
* milliseconds since January 1, 1970, 00:00:00 UTC. Calling this method will
* reset both the microseconds and nanoseconds to 0.
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime|Date#setTime}
*
* @param {number} time Value representing the number of milliseconds since
* January 1, 1970, 00:00:00 UTC.
* @returns {string} The number of milliseconds between January 1, 1970,
* 00:00:00 UTC and the updated date (effectively, the value of the
* argument).
*/
setTime(time3) {
this._micros = 0;
this._nanos = 0;
return super.setTime(time3);
}
/**
* Returns a string in RFC 3339 format. Unlike the native `Date#toISOString`,
* this will return 9 digits to represent sub-second precision.
*
* @see {@link https://tools.ietf.org/html/rfc3339|RFC 3339}
*
* @returns {string}
*
* @example
* const date = new PreciseDate(1549622069481145231n);
*
* console.log(date.toISOString());
* // expected output: "2019-02-08T10:34:29.481145231Z"
*/
toISOString() {
const micros = padLeft(this._micros, 3);
const nanos = padLeft(this._nanos, 3);
return super.toISOString().replace(/z$/i, `${micros}${nanos}Z`);
}
/**
* Returns an object representing the specified date according to universal
* time.
*
* @see {@link https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp|google.protobuf.Timestamp}
*
* @returns {DateStruct}
*
* @example
* const date = new PreciseDate('2019-02-08T10:34:29.481145231Z');
*
* console.log(date.toStruct());
* // expected output: {seconds: 1549622069, nanos: 481145231}
*/
toStruct() {
let seconds = this._getSeconds();
const nanos = this._getNanos();
const sign = Math.sign(seconds);
if (sign === Sign.NEGATIVE && nanos) {
seconds -= 1;
}
return { seconds, nanos };
}
/**
* Returns a tuple representing the specified date according to universal
* time.
*
* @returns {DateTuple}
*
* @example
* const date = new PreciseDate('2019-02-08T10:34:29.481145231Z');
*
* console.log(date.toTuple());
* // expected output: [1549622069, 481145231]
*/
toTuple() {
const { seconds, nanos } = this.toStruct();
return [seconds, nanos];
}
/**
* Returns the total number of seconds in the specified date since Unix epoch.
* Numbers representing < epoch will be negative.
*
* @private
*
* @returns {number}
*/
_getSeconds() {
const time3 = this.getTime();
const sign = Math.sign(time3);
return Math.floor(Math.abs(time3) / 1e3) * sign;
}
/**
* Returns the sub-second precision of the specified date. This will always be
* a positive number.
*
* @private
*
* @returns {number}
*/
_getNanos() {
const msInNanos = this.getUTCMilliseconds() * 1e6;
const microsInNanos = this._micros * 1e3;
return this._nanos + msInNanos + microsInNanos;
}
/**
* Parses a precise time.
*
* @static
*
* @param {string|bigint|DateTuple|DateStruct} time The precise time value.
* @returns {string} Returns a string representing the nanoseconds in the
* specified date according to universal time.
*
* @example <caption>From a RFC 3339 formatted string.</caption>
* const time = PreciseDate.parseFull('2019-02-08T10:34:29.481145231Z');
* console.log(time); // expected output: "1549622069481145231"
*
* @example <caption>From a nanosecond timestamp string.</caption>
* const time = PreciseDate.parseFull('1549622069481145231');
* console.log(time); // expected output: "1549622069481145231"
*
* @example <caption>From a BigInt (requires Node >= v10.7)</caption>
* const time = PreciseDate.parseFull(1549622069481145231n);
* console.log(time); // expected output: "1549622069481145231"
*
* @example <caption>From a tuple.</caption>
* const time = PreciseDate.parseFull([1549622069, 481145231]);
* console.log(time); // expected output: "1549622069481145231"
*
* @example <caption>From an object.</caption>
* const struct = {seconds: 1549622069, nanos: 481145231};
* const time = PreciseDate.parseFull(struct);
* console.log(time); // expected output: "1549622069481145231"
*/
static parseFull(time3) {
const date5 = new _PreciseDate();
if (Array.isArray(time3)) {
const [seconds, nanos] = time3;
time3 = { seconds, nanos };
}
if (isFullTime(time3)) {
date5.setFullTime(time3);
} else if (isStruct(time3)) {
const { seconds, nanos } = parseProto(time3);
date5.setTime(seconds * 1e3);
date5.setNanoseconds(nanos);
} else if (isFullISOString(time3)) {
date5.setFullTime(parseFullISO(time3));
} else {
date5.setTime(new Date(time3).getTime());
}
return date5.getFullTimeString();
}
/**
* Accepts the same number parameters as the PreciseDate constructor, but
* treats them as UTC. It returns a string that represents the number of
* nanoseconds since January 1, 1970, 00:00:00 UTC.
*
* **NOTE:** Because this method returns a `BigInt` it requires Node >= v10.7.
*
* @see {@link https://github.com/tc39/proposal-bigint|BigInt}
*
* @static
*
* @throws {error} If `BigInt` is unavailable.
*
* @param {...number} [dateFields] The date fields.
* @returns {bigint}
*
* @example
* const time = PreciseDate.fullUTC(2019, 1, 8, 10, 34, 29, 481, 145, 231);
* console.log(time); // expected output: 1549622069481145231n
*/
static fullUTC(...args2) {
if (typeof BigInt !== "function") {
throw new Error(NO_BIG_INT);
}
return BigInt(_PreciseDate.fullUTCString(...args2));
}
/**
* Accepts the same number parameters as the PreciseDate constructor, but
* treats them as UTC. It returns a string that represents the number of
* nanoseconds since January 1, 1970, 00:00:00 UTC.
*
* @static
*
* @param {...number} [dateFields] The date fields.
* @returns {string}
*
* @example
* const time = PreciseDate.fullUTCString(2019, 1, 8, 10, 34, 29, 481, 145,
* 231); console.log(time); // expected output: '1549622069481145231'
*/
static fullUTCString(...args2) {
const milliseconds = Date.UTC(...args2.slice(0, 7));
const date5 = new _PreciseDate(milliseconds);
if (args2.length === 9) {
date5.setNanoseconds(args2.pop());
}
if (args2.length === 8) {
date5.setMicroseconds(args2.pop());
}
return date5.getFullTimeString();
}
};
exports2.PreciseDate = PreciseDate;
function parseFullISO(time3) {
let digits = "0";
time3 = time3.replace(/\.(\d+)/, ($0, $1) => {
digits = $1;
return ".000";
});
const nanos = Number(padRight(digits, 9));
const date5 = new PreciseDate(time3);
return date5.setNanoseconds(nanos);
}
function parseProto({ seconds = 0, nanos = 0 }) {
if (typeof seconds.toNumber === "function") {
seconds = seconds.toNumber();
}
seconds = Number(seconds);
nanos = Number(nanos);
return { seconds, nanos };
}
function isFullTime(time3) {
return typeof time3 === "bigint" || typeof time3 === "string" && /^\d+$/.test(time3);
}
function isStruct(time3) {
return typeof time3 === "object" && typeof time3.seconds !== "undefined" || typeof time3.nanos === "number";
}
function isFullISOString(time3) {
return typeof time3 === "string" && FULL_ISO_REG.test(time3);
}
function padLeft(n3, min) {
const padding = getPadding(n3, min);
return `${padding}${n3}`;
}
function padRight(n3, min) {
const padding = getPadding(n3, min);
return `${n3}${padding}`;
}
function getPadding(n3, min) {
const size = Math.max(min - n3.toString().length, 0);
return "0".repeat(size);
}
}
});
// node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/transform.js
var require_transform3 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/transform.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._TEST_ONLY = exports2.createTimeSeries = exports2.transformMetricDescriptor = void 0;
var sdk_metrics_1 = require_src14();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var types_1 = require_types7();
var utils_1 = require_utils14();
var path101 = __require("path");
var precise_date_1 = require_src41();
function transformMetricDescriptor(metric, metricPrefix) {
const { descriptor: { name: name3, description, unit } } = metric;
return {
type: transformMetricType(metricPrefix, name3),
description,
displayName: name3,
metricKind: transformMetricKind(metric),
valueType: transformValueType(metric),
unit,
labels: transformLabelDescriptors(metric)
};
}
exports2.transformMetricDescriptor = transformMetricDescriptor;
function transformLabelDescriptors(metric) {
if (metric.dataPoints.length === 0) {
return [];
}
const attrs = metric.dataPoints[0].attributes;
return Object.keys(attrs).map((key) => ({
key: normalizeLabelKey(key),
description: ""
}));
}
function transformMetricType(metricPrefix, name3) {
return path101.posix.join(metricPrefix, name3);
}
function transformMetricKind(metric) {
switch (metric.dataPointType) {
case sdk_metrics_1.DataPointType.SUM:
return metric.isMonotonic ? types_1.MetricKind.CUMULATIVE : types_1.MetricKind.GAUGE;
case sdk_metrics_1.DataPointType.GAUGE:
return types_1.MetricKind.GAUGE;
case sdk_metrics_1.DataPointType.HISTOGRAM:
case sdk_metrics_1.DataPointType.EXPONENTIAL_HISTOGRAM:
return types_1.MetricKind.CUMULATIVE;
default:
exhaust(metric);
return types_1.MetricKind.UNSPECIFIED;
}
}
function transformValueType(metric) {
const { dataPointType, descriptor: { valueType } } = metric;
switch (dataPointType) {
case sdk_metrics_1.DataPointType.HISTOGRAM:
case sdk_metrics_1.DataPointType.EXPONENTIAL_HISTOGRAM:
return types_1.ValueType.DISTRIBUTION;
case sdk_metrics_1.DataPointType.GAUGE:
case sdk_metrics_1.DataPointType.SUM:
break;
default:
exhaust(dataPointType);
return types_1.ValueType.VALUE_TYPE_UNSPECIFIED;
}
switch (valueType) {
case api_1.ValueType.DOUBLE:
return types_1.ValueType.DOUBLE;
case api_1.ValueType.INT:
return types_1.ValueType.INT64;
default:
exhaust(valueType);
api_1.diag.info("Encountered unexpected value type %s", valueType);
return types_1.ValueType.VALUE_TYPE_UNSPECIFIED;
}
}
function createTimeSeries(metric, resource, metricPrefix) {
const metricKind = transformMetricKind(metric);
const valueType = transformValueType(metric);
return transformPoints(metric, metricPrefix).map(({ point, metric: metric2 }) => ({
metric: metric2,
resource,
metricKind,
valueType,
points: [point]
}));
}
exports2.createTimeSeries = createTimeSeries;
function transformMetric(point, instrumentDescriptor, metricPrefix) {
const type2 = transformMetricType(metricPrefix, instrumentDescriptor.name);
const labels = {};
Object.keys(point.attributes).forEach((key) => {
labels[normalizeLabelKey(key)] = `${point.attributes[key]}`;
});
return { type: type2, labels };
}
function transformPoints(metric, metricPrefix) {
switch (metric.dataPointType) {
case sdk_metrics_1.DataPointType.SUM:
case sdk_metrics_1.DataPointType.GAUGE:
return metric.dataPoints.map((dataPoint) => ({
metric: transformMetric(dataPoint, metric.descriptor, metricPrefix),
point: {
value: transformNumberValue(metric.descriptor.valueType, dataPoint.value),
interval: {
// Add start time for non-gauge points
...metric.dataPointType === sdk_metrics_1.DataPointType.SUM && metric.isMonotonic ? {
startTime: new precise_date_1.PreciseDate(dataPoint.startTime).toISOString()
} : null,
endTime: new precise_date_1.PreciseDate(dataPoint.endTime).toISOString()
}
}
}));
case sdk_metrics_1.DataPointType.HISTOGRAM:
return metric.dataPoints.map((dataPoint) => ({
metric: transformMetric(dataPoint, metric.descriptor, metricPrefix),
point: {
value: transformHistogramValue(dataPoint.value),
interval: {
startTime: new precise_date_1.PreciseDate(dataPoint.startTime).toISOString(),
endTime: new precise_date_1.PreciseDate(dataPoint.endTime).toISOString()
}
}
}));
case sdk_metrics_1.DataPointType.EXPONENTIAL_HISTOGRAM:
return metric.dataPoints.map((dataPoint) => ({
metric: transformMetric(dataPoint, metric.descriptor, metricPrefix),
point: {
value: transformExponentialHistogramValue(dataPoint.value),
interval: {
startTime: new precise_date_1.PreciseDate(dataPoint.startTime).toISOString(),
endTime: new precise_date_1.PreciseDate(dataPoint.endTime).toISOString()
}
}
}));
default:
exhaust(metric);
api_1.diag.info("Encountered unexpected dataPointType=%s, dropping %s points", metric.dataPointType, metric.dataPoints.length);
break;
}
return [];
}
function transformNumberValue(valueType, value) {
if (valueType === api_1.ValueType.INT) {
return { int64Value: value.toString() };
} else if (valueType === api_1.ValueType.DOUBLE) {
return { doubleValue: value };
}
exhaust(valueType);
throw Error(`unsupported value type: ${valueType}`);
}
function transformHistogramValue(value) {
return {
distributionValue: {
// sumOfSquaredDeviation param not aggregated
count: value.count.toString(),
mean: value.count && value.sum ? value.sum / value.count : 0,
bucketOptions: {
explicitBuckets: { bounds: value.buckets.boundaries }
},
bucketCounts: (0, utils_1.numbersToStrings)(value.buckets.counts)
}
};
}
function transformExponentialHistogramValue(value) {
const underflow = value.zeroCount + value.negative.bucketCounts.reduce((prev, current) => prev + current, 0);
const bucketCounts = [
underflow,
...value.positive.bucketCounts,
0
// overflow bucket is always empty
];
let bucketOptions;
if (value.positive.bucketCounts.length === 0) {
bucketOptions = {
explicitBuckets: { bounds: [] }
};
} else {
const growthFactor = (0, utils_1.exp2)((0, utils_1.exp2)(-value.scale));
const scale = Math.pow(growthFactor, value.positive.offset);
bucketOptions = {
exponentialBuckets: {
growthFactor,
scale,
numFiniteBuckets: bucketCounts.length - 2
}
};
}
const mean = value.sum === void 0 || value.count === 0 ? 0 : value.sum / value.count;
return {
distributionValue: {
// sumOfSquaredDeviation param not aggregated
count: value.count.toString(),
mean,
bucketOptions,
bucketCounts: (0, utils_1.numbersToStrings)(bucketCounts)
}
};
}
function normalizeLabelKey(key) {
let sanitized = key.replace(/[^\p{Letter}\p{Decimal_Number}_]/gu, "_");
if (sanitized[0].match(/\p{Decimal_Number}/u)) {
sanitized = "key_" + sanitized;
}
return sanitized;
}
function exhaust(switchValue) {
return switchValue;
}
exports2._TEST_ONLY = {
normalizeLabelKey
};
}
});
// node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/version.js
var require_version5 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/version.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OT_VERSION = exports2.VERSION = void 0;
exports2.VERSION = "0.21.0";
function getOtelVersion() {
try {
return require_package5().version;
} catch (e2) {
return "unknown";
}
}
exports2.OT_VERSION = getOtelVersion();
}
});
// node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/monitoring.js
var require_monitoring2 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/monitoring.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MetricExporter = void 0;
var core_1 = require_src8();
var google_auth_library_1 = require_src6();
var monitoring_1 = require_monitoring();
var transform_1 = require_transform3();
var utils_1 = require_utils14();
var api_1 = (init_esm(), __toCommonJS(esm_exports));
var opentelemetry_resource_util_1 = require_src38();
var version_1 = require_version5();
var MAX_BATCH_EXPORT_SIZE = 200;
var OT_USER_AGENTS = [
{
product: "opentelemetry-js",
version: version_1.OT_VERSION
},
{
product: "google-cloud-metric-exporter",
version: version_1.VERSION
}
];
var OT_REQUEST_HEADER = {
"x-opentelemetry-outgoing-request": 1
};
var MetricExporter2 = class _MetricExporter {
_projectId;
_metricPrefix;
_auth;
_disableCreateMetricDescriptors;
static DEFAULT_METRIC_PREFIX = "workload.googleapis.com";
/**
* Set of OTel metric names that have already had their metric descriptors successfully
* created
*/
createdMetricDescriptors = /* @__PURE__ */ new Set();
_monitoring;
constructor(options = {}) {
this._metricPrefix = options.prefix ?? _MetricExporter.DEFAULT_METRIC_PREFIX;
this._disableCreateMetricDescriptors = !!options.disableCreateMetricDescriptors;
this._auth = new google_auth_library_1.GoogleAuth({
credentials: options.credentials,
keyFile: options.keyFile,
keyFilename: options.keyFilename,
projectId: options.projectId,
scopes: ["https://www.googleapis.com/auth/cloud-platform"]
});
this._monitoring = (0, monitoring_1.monitoring)({
version: "v3",
rootUrl: "https://" + (options.apiEndpoint || "monitoring.googleapis.com:443"),
headers: OT_REQUEST_HEADER,
userAgentDirectives: OT_USER_AGENTS.concat(options.userAgent ? [options.userAgent] : [])
});
this._projectId = this._auth.getProjectId().catch((err2) => {
api_1.diag.error(err2);
});
}
/**
* Implementation for {@link PushMetricExporter.export}.
* Calls the async wrapper method {@link _exportAsync} and
* assures no rejected promises bubble up to the caller.
*
* @param metrics Metrics to be sent to the Google Cloud Monitoring backend
* @param resultCallback result callback to be called on finish
*/
export(metrics2, resultCallback) {
this._exportAsync(metrics2).then(resultCallback, (err2) => {
api_1.diag.error(err2.message);
resultCallback({ code: core_1.ExportResultCode.FAILED, error: err2 });
});
}
async shutdown() {
}
async forceFlush() {
}
/**
* Asnyc wrapper for the {@link export} implementation.
* Writes the current values of all exported {@link MetricRecord}s
* to the Google Cloud Monitoring backend.
*
* @param resourceMetrics Metrics to be sent to the Google Cloud Monitoring backend
*/
async _exportAsync(resourceMetrics) {
if (this._projectId instanceof Promise) {
this._projectId = await this._projectId;
}
if (!this._projectId) {
const error40 = new Error("expecting a non-blank ProjectID");
api_1.diag.error(error40.message);
return { code: core_1.ExportResultCode.FAILED, error: error40 };
}
api_1.diag.debug("Google Cloud Monitoring export");
const resource = (0, opentelemetry_resource_util_1.mapOtelResourceToMonitoredResource)(resourceMetrics.resource);
const timeSeries = [];
for (const scopeMetric of resourceMetrics.scopeMetrics) {
for (const metric of scopeMetric.metrics) {
const isRegistered = this._disableCreateMetricDescriptors || await this._registerMetricDescriptor(metric);
if (isRegistered) {
timeSeries.push(...(0, transform_1.createTimeSeries)(metric, resource, this._metricPrefix));
}
}
}
let failure = {
sendFailed: false
};
for (const batchedTimeSeries of (0, utils_1.partitionList)(timeSeries, MAX_BATCH_EXPORT_SIZE)) {
try {
await this._sendTimeSeries(batchedTimeSeries);
} catch (e2) {
const err2 = asError(e2);
err2.message = `Send TimeSeries failed: ${err2.message}`;
failure = { sendFailed: true, error: err2 };
api_1.diag.error(err2.message);
}
}
if (failure.sendFailed) {
return { code: core_1.ExportResultCode.FAILED, error: failure.error };
}
return { code: core_1.ExportResultCode.SUCCESS };
}
/**
* Returns true if the given metricDescriptor is successfully registered to
* Google Cloud Monitoring, or the exact same metric has already been
* registered. Returns false otherwise and should be skipped.
*
* @param metric The OpenTelemetry MetricData.
*/
async _registerMetricDescriptor(metric) {
const isDescriptorCreated = this.createdMetricDescriptors.has(metric.descriptor.name);
if (isDescriptorCreated) {
return true;
}
const res = await this._createMetricDescriptorIfNeeded(metric);
if (res) {
this.createdMetricDescriptors.add(metric.descriptor.name);
return true;
}
return false;
}
/**
* Returns true if a descriptor already exists within the requested GCP project id;
* @param descriptor The metric descriptor to check
* @param projectIdPath The GCP project id path
* @param authClient The authenticated client which will be used to make the request
* @returns {boolean}
*/
async _checkIfDescriptorExists(descriptor2, projectIdPath, authClient) {
try {
await this._monitoring.projects.metricDescriptors.get({
name: `${projectIdPath}/metricDescriptors/${descriptor2.type}`,
auth: authClient
});
return true;
} catch (error40) {
return false;
}
}
/**
* Calls CreateMetricDescriptor in the GCM API for the given InstrumentDescriptor if needed
* @param metric The OpenTelemetry MetricData.
* @returns whether or not the descriptor was successfully created
*/
async _createMetricDescriptorIfNeeded(metric) {
const authClient = await this._authorize();
const descriptor2 = (0, transform_1.transformMetricDescriptor)(metric, this._metricPrefix);
const projectIdPath = (0, utils_1.mountProjectIdPath)(this._projectId);
try {
const descriptorExists = await this._checkIfDescriptorExists(descriptor2, projectIdPath, authClient);
if (!descriptorExists) {
await this._monitoring.projects.metricDescriptors.create({
name: projectIdPath,
requestBody: descriptor2,
auth: authClient
});
api_1.diag.debug("sent metric descriptor", descriptor2);
}
return true;
} catch (e2) {
const err2 = asError(e2);
api_1.diag.error("Failed to create metric descriptor: %s", err2.message);
return false;
}
}
async _sendTimeSeries(timeSeries) {
if (timeSeries.length === 0) {
return Promise.resolve();
}
const authClient = await this._authorize();
await this._monitoring.projects.timeSeries.create({
name: (0, utils_1.mountProjectIdPath)(this._projectId),
requestBody: { timeSeries },
auth: authClient
});
api_1.diag.debug("sent time series", timeSeries);
}
/**
* Gets the Google Application Credentials from the environment variables
* and authenticates the client.
*/
async _authorize() {
return await this._auth.getClient();
}
};
exports2.MetricExporter = MetricExporter2;
function asError(error40) {
if (error40 instanceof Error) {
return error40;
}
return new Error(String(error40));
}
}
});
// node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/index.js
var require_src42 = __commonJS({
"node_modules/@google-cloud/opentelemetry-cloud-monitoring-exporter/build/src/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_external_types2(), exports2);
__exportStar(require_monitoring2(), exports2);
}
});
// node_modules/@google-cloud/promisify/build/src/index.js
var require_src43 = __commonJS({
"node_modules/@google-cloud/promisify/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.callbackifyAll = exports2.callbackify = exports2.promisifyAll = exports2.promisify = void 0;
function promisify10(originalMethod, options) {
if (originalMethod.promisified_) {
return originalMethod;
}
options = options || {};
const slice = Array.prototype.slice;
const wrapper = function() {
let last2;
for (last2 = arguments.length - 1; last2 >= 0; last2--) {
const arg = arguments[last2];
if (typeof arg === "undefined") {
continue;
}
if (typeof arg !== "function") {
break;
}
return originalMethod.apply(this, arguments);
}
const args2 = slice.call(arguments, 0, last2 + 1);
let PromiseCtor = Promise;
if (this && this.Promise) {
PromiseCtor = this.Promise;
}
return new PromiseCtor((resolve25, reject) => {
args2.push((...args3) => {
const callbackArgs = slice.call(args3);
const err2 = callbackArgs.shift();
if (err2) {
return reject(err2);
}
if (options.singular && callbackArgs.length === 1) {
resolve25(callbackArgs[0]);
} else {
resolve25(callbackArgs);
}
});
originalMethod.apply(this, args2);
});
};
wrapper.promisified_ = true;
return wrapper;
}
exports2.promisify = promisify10;
function promisifyAll(Class2, options) {
const exclude = options && options.exclude || [];
const ownPropertyNames = Object.getOwnPropertyNames(Class2.prototype);
const methods = ownPropertyNames.filter((methodName) => {
return !exclude.includes(methodName) && typeof Class2.prototype[methodName] === "function" && // is it a function?
!/(^_|(Stream|_)|promise$)|^constructor$/.test(methodName);
});
methods.forEach((methodName) => {
const originalMethod = Class2.prototype[methodName];
if (!originalMethod.promisified_) {
Class2.prototype[methodName] = exports2.promisify(originalMethod, options);
}
});
}
exports2.promisifyAll = promisifyAll;
function callbackify5(originalMethod) {
if (originalMethod.callbackified_) {
return originalMethod;
}
const wrapper = function() {
if (typeof arguments[arguments.length - 1] !== "function") {
return originalMethod.apply(this, arguments);
}
const cb = Array.prototype.pop.call(arguments);
originalMethod.apply(this, arguments).then(
// tslint:disable-next-line:no-any
(res) => {
res = Array.isArray(res) ? res : [res];
cb(null, ...res);
},
(err2) => cb(err2)
);
};
wrapper.callbackified_ = true;
return wrapper;
}
exports2.callbackify = callbackify5;
function callbackifyAll(Class2, options) {
const exclude = options && options.exclude || [];
const ownPropertyNames = Object.getOwnPropertyNames(Class2.prototype);
const methods = ownPropertyNames.filter((methodName) => {
return !exclude.includes(methodName) && typeof Class2.prototype[methodName] === "function" && // is it a function?
!/^_|(Stream|_)|^constructor$/.test(methodName);
});
methods.forEach((methodName) => {
const originalMethod = Class2.prototype[methodName];
if (!originalMethod.callbackified_) {
Class2.prototype[methodName] = exports2.callbackify(originalMethod);
}
});
}
exports2.callbackifyAll = callbackifyAll;
}
});
// node_modules/arrify/index.js
var require_arrify = __commonJS({
"node_modules/arrify/index.js"(exports2, module2) {
"use strict";
var arrify2 = (value) => {
if (value === null || value === void 0) {
return [];
}
if (Array.isArray(value)) {
return value;
}
if (typeof value === "string") {
return [value];
}
if (typeof value[Symbol.iterator] === "function") {
return [...value];
}
return [value];
};
module2.exports = arrify2;
}
});
// node_modules/@google-cloud/projectify/build/src/index.js
var require_src44 = __commonJS({
"node_modules/@google-cloud/projectify/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MissingProjectIdError = exports2.replaceProjectIdToken = void 0;
var stream_1 = __require("stream");
function replaceProjectIdToken(value, projectId) {
if (Array.isArray(value)) {
value = value.map((v) => replaceProjectIdToken(v, projectId));
}
if (value !== null && typeof value === "object" && !(value instanceof Buffer) && !(value instanceof stream_1.Stream) && typeof value.hasOwnProperty === "function") {
for (const opt in value) {
if (value.hasOwnProperty(opt)) {
value[opt] = replaceProjectIdToken(value[opt], projectId);
}
}
}
if (typeof value === "string" && value.indexOf("{{projectId}}") > -1) {
if (!projectId || projectId === "{{projectId}}") {
throw new MissingProjectIdError();
}
value = value.replace(/{{projectId}}/g, projectId);
}
return value;
}
exports2.replaceProjectIdToken = replaceProjectIdToken;
var MissingProjectIdError = class extends Error {
constructor() {
super(...arguments);
this.message = `Sorry, we cannot connect to Cloud Services without a project
ID. You may specify one with an environment variable named
"GOOGLE_CLOUD_PROJECT".`.replace(/ +/g, " ");
}
};
exports2.MissingProjectIdError = MissingProjectIdError;
}
});
// node_modules/html-entities/dist/commonjs/named-references.js
var require_named_references = __commonJS({
"node_modules/html-entities/dist/commonjs/named-references.js"(exports2) {
"use strict";
var __assign = exports2 && exports2.__assign || function() {
__assign = Object.assign || function(t2) {
for (var s2, i3 = 1, n3 = arguments.length; i3 < n3; i3++) {
s2 = arguments[i3];
for (var p in s2) if (Object.prototype.hasOwnProperty.call(s2, p))
t2[p] = s2[p];
}
return t2;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.namedReferences = exports2.bodyRegExps = void 0;
var pairDivider = "~";
var blockDivider = "~~";
function generateNamedReferences(input, prev) {
var entities = {};
var characters = {};
var blocks = input.split(blockDivider);
var isOptionalBlock = false;
for (var i3 = 0; blocks.length > i3; i3++) {
var entries = blocks[i3].split(pairDivider);
for (var j = 0; j < entries.length; j += 2) {
var entity = entries[j];
var character = entries[j + 1];
var fullEntity = "&" + entity + ";";
entities[fullEntity] = character;
if (isOptionalBlock) {
entities["&" + entity] = character;
}
characters[character] = fullEntity;
}
isOptionalBlock = true;
}
return prev ? { entities: __assign(__assign({}, entities), prev.entities), characters: __assign(__assign({}, characters), prev.characters) } : { entities, characters };
}
exports2.bodyRegExps = {
xml: /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,
html4: /∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,
html5: /·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g
};
exports2.namedReferences = {};
exports2.namedReferences["xml"] = generateNamedReferences(`lt~<~gt~>~quot~"~apos~'~amp~&`);
exports2.namedReferences["html4"] = generateNamedReferences(`apos~'~OElig~\u0152~oelig~\u0153~Scaron~\u0160~scaron~\u0161~Yuml~\u0178~circ~\u02C6~tilde~\u02DC~ensp~\u2002~emsp~\u2003~thinsp~\u2009~zwnj~\u200C~zwj~\u200D~lrm~\u200E~rlm~\u200F~ndash~\u2013~mdash~\u2014~lsquo~\u2018~rsquo~\u2019~sbquo~\u201A~ldquo~\u201C~rdquo~\u201D~bdquo~\u201E~dagger~\u2020~Dagger~\u2021~permil~\u2030~lsaquo~\u2039~rsaquo~\u203A~euro~\u20AC~fnof~\u0192~Alpha~\u0391~Beta~\u0392~Gamma~\u0393~Delta~\u0394~Epsilon~\u0395~Zeta~\u0396~Eta~\u0397~Theta~\u0398~Iota~\u0399~Kappa~\u039A~Lambda~\u039B~Mu~\u039C~Nu~\u039D~Xi~\u039E~Omicron~\u039F~Pi~\u03A0~Rho~\u03A1~Sigma~\u03A3~Tau~\u03A4~Upsilon~\u03A5~Phi~\u03A6~Chi~\u03A7~Psi~\u03A8~Omega~\u03A9~alpha~\u03B1~beta~\u03B2~gamma~\u03B3~delta~\u03B4~epsilon~\u03B5~zeta~\u03B6~eta~\u03B7~theta~\u03B8~iota~\u03B9~kappa~\u03BA~lambda~\u03BB~mu~\u03BC~nu~\u03BD~xi~\u03BE~omicron~\u03BF~pi~\u03C0~rho~\u03C1~sigmaf~\u03C2~sigma~\u03C3~tau~\u03C4~upsilon~\u03C5~phi~\u03C6~chi~\u03C7~psi~\u03C8~omega~\u03C9~thetasym~\u03D1~upsih~\u03D2~piv~\u03D6~bull~\u2022~hellip~\u2026~prime~\u2032~Prime~\u2033~oline~\u203E~frasl~\u2044~weierp~\u2118~image~\u2111~real~\u211C~trade~\u2122~alefsym~\u2135~larr~\u2190~uarr~\u2191~rarr~\u2192~darr~\u2193~harr~\u2194~crarr~\u21B5~lArr~\u21D0~uArr~\u21D1~rArr~\u21D2~dArr~\u21D3~hArr~\u21D4~forall~\u2200~part~\u2202~exist~\u2203~empty~\u2205~nabla~\u2207~isin~\u2208~notin~\u2209~ni~\u220B~prod~\u220F~sum~\u2211~minus~\u2212~lowast~\u2217~radic~\u221A~prop~\u221D~infin~\u221E~ang~\u2220~and~\u2227~or~\u2228~cap~\u2229~cup~\u222A~int~\u222B~there4~\u2234~sim~\u223C~cong~\u2245~asymp~\u2248~ne~\u2260~equiv~\u2261~le~\u2264~ge~\u2265~sub~\u2282~sup~\u2283~nsub~\u2284~sube~\u2286~supe~\u2287~oplus~\u2295~otimes~\u2297~perp~\u22A5~sdot~\u22C5~lceil~\u2308~rceil~\u2309~lfloor~\u230A~rfloor~\u230B~lang~\u2329~rang~\u232A~loz~\u25CA~spades~\u2660~clubs~\u2663~hearts~\u2665~diams~\u2666~~nbsp~\xA0~iexcl~\xA1~cent~\xA2~pound~\xA3~curren~\xA4~yen~\xA5~brvbar~\xA6~sect~\xA7~uml~\xA8~copy~\xA9~ordf~\xAA~laquo~\xAB~not~\xAC~shy~\xAD~reg~\xAE~macr~\xAF~deg~\xB0~plusmn~\xB1~sup2~\xB2~sup3~\xB3~acute~\xB4~micro~\xB5~para~\xB6~middot~\xB7~cedil~\xB8~sup1~\xB9~ordm~\xBA~raquo~\xBB~frac14~\xBC~frac12~\xBD~frac34~\xBE~iquest~\xBF~Agrave~\xC0~Aacute~\xC1~Acirc~\xC2~Atilde~\xC3~Auml~\xC4~Aring~\xC5~AElig~\xC6~Ccedil~\xC7~Egrave~\xC8~Eacute~\xC9~Ecirc~\xCA~Euml~\xCB~Igrave~\xCC~Iacute~\xCD~Icirc~\xCE~Iuml~\xCF~ETH~\xD0~Ntilde~\xD1~Ograve~\xD2~Oacute~\xD3~Ocirc~\xD4~Otilde~\xD5~Ouml~\xD6~times~\xD7~Oslash~\xD8~Ugrave~\xD9~Uacute~\xDA~Ucirc~\xDB~Uuml~\xDC~Yacute~\xDD~THORN~\xDE~szlig~\xDF~agrave~\xE0~aacute~\xE1~acirc~\xE2~atilde~\xE3~auml~\xE4~aring~\xE5~aelig~\xE6~ccedil~\xE7~egrave~\xE8~eacute~\xE9~ecirc~\xEA~euml~\xEB~igrave~\xEC~iacute~\xED~icirc~\xEE~iuml~\xEF~eth~\xF0~ntilde~\xF1~ograve~\xF2~oacute~\xF3~ocirc~\xF4~otilde~\xF5~ouml~\xF6~divide~\xF7~oslash~\xF8~ugrave~\xF9~uacute~\xFA~ucirc~\xFB~uuml~\xFC~yacute~\xFD~thorn~\xFE~yuml~\xFF~quot~"~amp~&~lt~<~gt~>`);
exports2.namedReferences["html5"] = generateNamedReferences('Abreve~\u0102~Acy~\u0410~Afr~\u{1D504}~Amacr~\u0100~And~\u2A53~Aogon~\u0104~Aopf~\u{1D538}~ApplyFunction~\u2061~Ascr~\u{1D49C}~Assign~\u2254~Backslash~\u2216~Barv~\u2AE7~Barwed~\u2306~Bcy~\u0411~Because~\u2235~Bernoullis~\u212C~Bfr~\u{1D505}~Bopf~\u{1D539}~Breve~\u02D8~Bscr~\u212C~Bumpeq~\u224E~CHcy~\u0427~Cacute~\u0106~Cap~\u22D2~CapitalDifferentialD~\u2145~Cayleys~\u212D~Ccaron~\u010C~Ccirc~\u0108~Cconint~\u2230~Cdot~\u010A~Cedilla~\xB8~CenterDot~\xB7~Cfr~\u212D~CircleDot~\u2299~CircleMinus~\u2296~CirclePlus~\u2295~CircleTimes~\u2297~ClockwiseContourIntegral~\u2232~CloseCurlyDoubleQuote~\u201D~CloseCurlyQuote~\u2019~Colon~\u2237~Colone~\u2A74~Congruent~\u2261~Conint~\u222F~ContourIntegral~\u222E~Copf~\u2102~Coproduct~\u2210~CounterClockwiseContourIntegral~\u2233~Cross~\u2A2F~Cscr~\u{1D49E}~Cup~\u22D3~CupCap~\u224D~DD~\u2145~DDotrahd~\u2911~DJcy~\u0402~DScy~\u0405~DZcy~\u040F~Darr~\u21A1~Dashv~\u2AE4~Dcaron~\u010E~Dcy~\u0414~Del~\u2207~Dfr~\u{1D507}~DiacriticalAcute~\xB4~DiacriticalDot~\u02D9~DiacriticalDoubleAcute~\u02DD~DiacriticalGrave~`~DiacriticalTilde~\u02DC~Diamond~\u22C4~DifferentialD~\u2146~Dopf~\u{1D53B}~Dot~\xA8~DotDot~\u20DC~DotEqual~\u2250~DoubleContourIntegral~\u222F~DoubleDot~\xA8~DoubleDownArrow~\u21D3~DoubleLeftArrow~\u21D0~DoubleLeftRightArrow~\u21D4~DoubleLeftTee~\u2AE4~DoubleLongLeftArrow~\u27F8~DoubleLongLeftRightArrow~\u27FA~DoubleLongRightArrow~\u27F9~DoubleRightArrow~\u21D2~DoubleRightTee~\u22A8~DoubleUpArrow~\u21D1~DoubleUpDownArrow~\u21D5~DoubleVerticalBar~\u2225~DownArrow~\u2193~DownArrowBar~\u2913~DownArrowUpArrow~\u21F5~DownBreve~\u0311~DownLeftRightVector~\u2950~DownLeftTeeVector~\u295E~DownLeftVector~\u21BD~DownLeftVectorBar~\u2956~DownRightTeeVector~\u295F~DownRightVector~\u21C1~DownRightVectorBar~\u2957~DownTee~\u22A4~DownTeeArrow~\u21A7~Downarrow~\u21D3~Dscr~\u{1D49F}~Dstrok~\u0110~ENG~\u014A~Ecaron~\u011A~Ecy~\u042D~Edot~\u0116~Efr~\u{1D508}~Element~\u2208~Emacr~\u0112~EmptySmallSquare~\u25FB~EmptyVerySmallSquare~\u25AB~Eogon~\u0118~Eopf~\u{1D53C}~Equal~\u2A75~EqualTilde~\u2242~Equilibrium~\u21CC~Escr~\u2130~Esim~\u2A73~Exists~\u2203~ExponentialE~\u2147~Fcy~\u0424~Ffr~\u{1D509}~FilledSmallSquare~\u25FC~FilledVerySmallSquare~\u25AA~Fopf~\u{1D53D}~ForAll~\u2200~Fouriertrf~\u2131~Fscr~\u2131~GJcy~\u0403~Gammad~\u03DC~Gbreve~\u011E~Gcedil~\u0122~Gcirc~\u011C~Gcy~\u0413~Gdot~\u0120~Gfr~\u{1D50A}~Gg~\u22D9~Gopf~\u{1D53E}~GreaterEqual~\u2265~GreaterEqualLess~\u22DB~GreaterFullEqual~\u2267~GreaterGreater~\u2AA2~GreaterLess~\u2277~GreaterSlantEqual~\u2A7E~GreaterTilde~\u2273~Gscr~\u{1D4A2}~Gt~\u226B~HARDcy~\u042A~Hacek~\u02C7~Hat~^~Hcirc~\u0124~Hfr~\u210C~HilbertSpace~\u210B~Hopf~\u210D~HorizontalLine~\u2500~Hscr~\u210B~Hstrok~\u0126~HumpDownHump~\u224E~HumpEqual~\u224F~IEcy~\u0415~IJlig~\u0132~IOcy~\u0401~Icy~\u0418~Idot~\u0130~Ifr~\u2111~Im~\u2111~Imacr~\u012A~ImaginaryI~\u2148~Implies~\u21D2~Int~\u222C~Integral~\u222B~Intersection~\u22C2~InvisibleComma~\u2063~InvisibleTimes~\u2062~Iogon~\u012E~Iopf~\u{1D540}~Iscr~\u2110~Itilde~\u0128~Iukcy~\u0406~Jcirc~\u0134~Jcy~\u0419~Jfr~\u{1D50D}~Jopf~\u{1D541}~Jscr~\u{1D4A5}~Jsercy~\u0408~Jukcy~\u0404~KHcy~\u0425~KJcy~\u040C~Kcedil~\u0136~Kcy~\u041A~Kfr~\u{1D50E}~Kopf~\u{1D542}~Kscr~\u{1D4A6}~LJcy~\u0409~Lacute~\u0139~Lang~\u27EA~Laplacetrf~\u2112~Larr~\u219E~Lcaron~\u013D~Lcedil~\u013B~Lcy~\u041B~LeftAngleBracket~\u27E8~LeftArrow~\u2190~LeftArrowBar~\u21E4~LeftArrowRightArrow~\u21C6~LeftCeiling~\u2308~LeftDoubleBracket~\u27E6~LeftDownTeeVector~\u2961~LeftDownVector~\u21C3~LeftDownVectorBar~\u2959~LeftFloor~\u230A~LeftRightArrow~\u2194~LeftRightVector~\u294E~LeftTee~\u22A3~LeftTeeArrow~\u21A4~LeftTeeVector~\u295A~LeftTriangle~\u22B2~LeftTriangleBar~\u29CF~LeftTriangleEqual~\u22B4~LeftUpDownVector~\u2951~LeftUpTeeVector~\u2960~LeftUpVector~\u21BF~LeftUpVectorBar~\u2958~LeftVector~\u21BC~LeftVectorBar~\u2952~Leftarrow~\u21D0~Leftrightarrow~\u21D4~LessEqualGreater~\u22DA~LessFullEqual~\u2266~LessGreater~\u2276~LessLess~\u2AA1~LessSlantEqual~\u2A7D~LessTilde~\u2272~Lfr~\u{1D50F}~Ll~\u22D8~Lleftarrow~\u21DA~Lmidot~\u013F~LongLeftArrow~\u27F5~LongLeftRightArrow~\u27F7~LongRightArrow~\u27F6~Longleftarrow~\u27F8~Longleftrightarrow~\u27FA~Longrightarrow~\u27F9~Lopf~\u{1D543}~LowerLeftArrow~\u2199~LowerRightArrow~\u2198~Lscr~\u2112~Lsh~\u21B0~Lstrok~\u0141~Lt~\u226A~Map~\u2905~Mcy~\u041C~MediumSpace~\u205F~Mellintrf~\u2133~Mfr~\u{1D510}~MinusPlus~\u2213~Mopf~\u{1D544}~Mscr~\u2133~NJcy~\u040A~Nacute~\u0143~Ncaron~\u0147~Ncedil~\u0145~Ncy~\u041D~NegativeMediumSpace~\u200B~NegativeThickSpace~\u200B~NegativeThinSpace~\u200B~NegativeVeryThinSpace~\u200B~NestedGreaterGreater~\u226B~NestedLessLess~\u226A~NewLine~\n~Nfr~\u{1D511}~NoBreak~\u2060~NonBreakingSpace~\xA0~Nopf~\u2115~Not~\u2AEC~NotCongruent~\u2262~NotCupCap~\u226D~NotDoubleVerticalBar~\u2226~NotElement~\u2209~NotEqual~\u2260~NotEqualTilde~\u2242\u0338~NotExists~\u2204~NotGreater~\u226F~NotGreaterEqual~\u2271~NotGreaterFullEqual~\u2267\u0338~NotGreaterGreater~\u226B\u0338~NotGreaterLess~\u2279~NotGreaterSlantEqual~\u2A7E\u0338~NotGreaterTilde~\u2275~NotHumpDownHump~\u224E\u0338~NotHumpEqual~\u224F\u0338~NotLeftTriangle~\u22EA~NotLeftTriangleBar~\u29CF\u0338~NotLeftTriangleEqual~\u22EC~NotLess~\u226E~NotLessEqual~\u2270~NotLessGreater~\u2278~NotLessLess~\u226A\u0338~NotLessSlantEqual~\u2A7D\u0338~NotLessTilde~\u2274~NotNestedGreaterGreater~\u2AA2\u0338~NotNestedLessLess~\u2AA1\u0338~NotPrecedes~\u2280~NotPrecedesEqual~\u2AAF\u0338~NotPrecedesSlantEqual~\u22E0~NotReverseElement~\u220C~NotRightTriangle~\u22EB~NotRightTriangleBar~\u29D0\u0338~NotRightTriangleEqual~\u22ED~NotSquareSubset~\u228F\u0338~NotSquareSubsetEqual~\u22E2~NotSquareSuperset~\u2290\u0338~NotSquareSupersetEqual~\u22E3~NotSubset~\u2282\u20D2~NotSubsetEqual~\u2288~NotSucceeds~\u2281~NotSucceedsEqual~\u2AB0\u0338~NotSucceedsSlantEqual~\u22E1~NotSucceedsTilde~\u227F\u0338~NotSuperset~\u2283\u20D2~NotSupersetEqual~\u2289~NotTilde~\u2241~NotTildeEqual~\u2244~NotTildeFullEqual~\u2247~NotTildeTilde~\u2249~NotVerticalBar~\u2224~Nscr~\u{1D4A9}~Ocy~\u041E~Odblac~\u0150~Ofr~\u{1D512}~Omacr~\u014C~Oopf~\u{1D546}~OpenCurlyDoubleQuote~\u201C~OpenCurlyQuote~\u2018~Or~\u2A54~Oscr~\u{1D4AA}~Otimes~\u2A37~OverBar~\u203E~OverBrace~\u23DE~OverBracket~\u23B4~OverParenthesis~\u23DC~PartialD~\u2202~Pcy~\u041F~Pfr~\u{1D513}~PlusMinus~\xB1~Poincareplane~\u210C~Popf~\u2119~Pr~\u2ABB~Precedes~\u227A~PrecedesEqual~\u2AAF~PrecedesSlantEqual~\u227C~PrecedesTilde~\u227E~Product~\u220F~Proportion~\u2237~Proportional~\u221D~Pscr~\u{1D4AB}~Qfr~\u{1D514}~Qopf~\u211A~Qscr~\u{1D4AC}~RBarr~\u2910~Racute~\u0154~Rang~\u27EB~Rarr~\u21A0~Rarrtl~\u2916~Rcaron~\u0158~Rcedil~\u0156~Rcy~\u0420~Re~\u211C~ReverseElement~\u220B~ReverseEquilibrium~\u21CB~ReverseUpEquilibrium~\u296F~Rfr~\u211C~RightAngleBracket~\u27E9~RightArrow~\u2192~RightArrowBar~\u21E5~RightArrowLeftArrow~\u21C4~RightCeiling~\u2309~RightDoubleBracket~\u27E7~RightDownTeeVector~\u295D~RightDownVector~\u21C2~RightDownVectorBar~\u2955~RightFloor~\u230B~RightTee~\u22A2~RightTeeArrow~\u21A6~RightTeeVector~\u295B~RightTriangle~\u22B3~RightTriangleBar~\u29D0~RightTriangleEqual~\u22B5~RightUpDownVector~\u294F~RightUpTeeVector~\u295C~RightUpVector~\u21BE~RightUpVectorBar~\u2954~RightVector~\u21C0~RightVectorBar~\u2953~Rightarrow~\u21D2~Ropf~\u211D~RoundImplies~\u2970~Rrightarrow~\u21DB~Rscr~\u211B~Rsh~\u21B1~RuleDelayed~\u29F4~SHCHcy~\u0429~SHcy~\u0428~SOFTcy~\u042C~Sacute~\u015A~Sc~\u2ABC~Scedil~\u015E~Scirc~\u015C~Scy~\u0421~Sfr~\u{1D516}~ShortDownArrow~\u2193~ShortLeftArrow~\u2190~ShortRightArrow~\u2192~ShortUpArrow~\u2191~SmallCircle~\u2218~Sopf~\u{1D54A}~Sqrt~\u221A~Square~\u25A1~SquareIntersection~\u2293~SquareSubset~\u228F~SquareSubsetEqual~\u2291~SquareSuperset~\u2290~SquareSupersetEqual~\u2292~SquareUnion~\u2294~Sscr~\u{1D4AE}~Star~\u22C6~Sub~\u22D0~Subset~\u22D0~SubsetEqual~\u2286~Succeeds~\u227B~SucceedsEqual~\u2AB0~SucceedsSlantEqual~\u227D~SucceedsTilde~\u227F~SuchThat~\u220B~Sum~\u2211~Sup~\u22D1~Superset~\u2283~SupersetEqual~\u2287~Supset~\u22D1~TRADE~\u2122~TSHcy~\u040B~TScy~\u0426~Tab~ ~Tcaron~\u0164~Tcedil~\u0162~Tcy~\u0422~Tfr~\u{1D517}~Therefore~\u2234~ThickSpace~\u205F\u200A~ThinSpace~\u2009~Tilde~\u223C~TildeEqual~\u2243~TildeFullEqual~\u2245~TildeTilde~\u2248~Topf~\u{1D54B}~TripleDot~\u20DB~Tscr~\u{1D4AF}~Tstrok~\u0166~Uarr~\u219F~Uarrocir~\u2949~Ubrcy~\u040E~Ubreve~\u016C~Ucy~\u0423~Udblac~\u0170~Ufr~\u{1D518}~Umacr~\u016A~UnderBar~_~UnderBrace~\u23DF~UnderBracket~\u23B5~UnderParenthesis~\u23DD~Union~\u22C3~UnionPlus~\u228E~Uogon~\u0172~Uopf~\u{1D54C}~UpArrow~\u2191~UpArrowBar~\u2912~UpArrowDownArrow~\u21C5~UpDownArrow~\u2195~UpEquilibrium~\u296E~UpTee~\u22A5~UpTeeArrow~\u21A5~Uparrow~\u21D1~Updownarrow~\u21D5~UpperLeftArrow~\u2196~UpperRightArrow~\u2197~Upsi~\u03D2~Uring~\u016E~Uscr~\u{1D4B0}~Utilde~\u0168~VDash~\u22AB~Vbar~\u2AEB~Vcy~\u0412~Vdash~\u22A9~Vdashl~\u2AE6~Vee~\u22C1~Verbar~\u2016~Vert~\u2016~VerticalBar~\u2223~VerticalLine~|~VerticalSeparator~\u2758~VerticalTilde~\u2240~VeryThinSpace~\u200A~Vfr~\u{1D519}~Vopf~\u{1D54D}~Vscr~\u{1D4B1}~Vvdash~\u22AA~Wcirc~\u0174~Wedge~\u22C0~Wfr~\u{1D51A}~Wopf~\u{1D54E}~Wscr~\u{1D4B2}~Xfr~\u{1D51B}~Xopf~\u{1D54F}~Xscr~\u{1D4B3}~YAcy~\u042F~YIcy~\u0407~YUcy~\u042E~Ycirc~\u0176~Ycy~\u042B~Yfr~\u{1D51C}~Yopf~\u{1D550}~Yscr~\u{1D4B4}~ZHcy~\u0416~Zacute~\u0179~Zcaron~\u017D~Zcy~\u0417~Zdot~\u017B~ZeroWidthSpace~\u200B~Zfr~\u2128~Zopf~\u2124~Zscr~\u{1D4B5}~abreve~\u0103~ac~\u223E~acE~\u223E\u0333~acd~\u223F~acy~\u0430~af~\u2061~afr~\u{1D51E}~aleph~\u2135~amacr~\u0101~amalg~\u2A3F~andand~\u2A55~andd~\u2A5C~andslope~\u2A58~andv~\u2A5A~ange~\u29A4~angle~\u2220~angmsd~\u2221~angmsdaa~\u29A8~angmsdab~\u29A9~angmsdac~\u29AA~angmsdad~\u29AB~angmsdae~\u29AC~angmsdaf~\u29AD~angmsdag~\u29AE~angmsdah~\u29AF~angrt~\u221F~angrtvb~\u22BE~angrtvbd~\u299D~angsph~\u2222~angst~\xC5~angzarr~\u237C~aogon~\u0105~aopf~\u{1D552}~ap~\u2248~apE~\u2A70~apacir~\u2A6F~ape~\u224A~apid~\u224B~approx~\u2248~approxeq~\u224A~ascr~\u{1D4B6}~ast~*~asympeq~\u224D~awconint~\u2233~awint~\u2A11~bNot~\u2AED~backcong~\u224C~backepsilon~\u03F6~backprime~\u2035~backsim~\u223D~backsimeq~\u22CD~barvee~\u22BD~barwed~\u2305~barwedge~\u2305~bbrk~\u23B5~bbrktbrk~\u23B6~bcong~\u224C~bcy~\u0431~becaus~\u2235~because~\u2235~bemptyv~\u29B0~bepsi~\u03F6~bernou~\u212C~beth~\u2136~between~\u226C~bfr~\u{1D51F}~bigcap~\u22C2~bigcirc~\u25EF~bigcup~\u22C3~bigodot~\u2A00~bigoplus~\u2A01~bigotimes~\u2A02~bigsqcup~\u2A06~bigstar~\u2605~bigtriangledown~\u25BD~bigtriangleup~\u25B3~biguplus~\u2A04~bigvee~\u22C1~bigwedge~\u22C0~bkarow~\u290D~blacklozenge~\u29EB~blacksquare~\u25AA~blacktriangle~\u25B4~blacktriangledown~\u25BE~blacktriangleleft~\u25C2~blacktriangleright~\u25B8~blank~\u2423~blk12~\u2592~blk14~\u2591~blk34~\u2593~block~\u2588~bne~=\u20E5~bnequiv~\u2261\u20E5~bnot~\u2310~bopf~\u{1D553}~bot~\u22A5~bottom~\u22A5~bowtie~\u22C8~boxDL~\u2557~boxDR~\u2554~boxDl~\u2556~boxDr~\u2553~boxH~\u2550~boxHD~\u2566~boxHU~\u2569~boxHd~\u2564~boxHu~\u2567~boxUL~\u255D~boxUR~\u255A~boxUl~\u255C~boxUr~\u2559~boxV~\u2551~boxVH~\u256C~boxVL~\u2563~boxVR~\u2560~boxVh~\u256B~boxVl~\u2562~boxVr~\u255F~boxbox~\u29C9~boxdL~\u2555~boxdR~\u2552~boxdl~\u2510~boxdr~\u250C~boxh~\u2500~boxhD~\u2565~boxhU~\u2568~boxhd~\u252C~boxhu~\u2534~boxminus~\u229F~boxplus~\u229E~boxtimes~\u22A0~boxuL~\u255B~boxuR~\u2558~boxul~\u2518~boxur~\u2514~boxv~\u2502~boxvH~\u256A~boxvL~\u2561~boxvR~\u255E~boxvh~\u253C~boxvl~\u2524~boxvr~\u251C~bprime~\u2035~breve~\u02D8~bscr~\u{1D4B7}~bsemi~\u204F~bsim~\u223D~bsime~\u22CD~bsol~\\~bsolb~\u29C5~bsolhsub~\u27C8~bullet~\u2022~bump~\u224E~bumpE~\u2AAE~bumpe~\u224F~bumpeq~\u224F~cacute~\u0107~capand~\u2A44~capbrcup~\u2A49~capcap~\u2A4B~capcup~\u2A47~capdot~\u2A40~caps~\u2229\uFE00~caret~\u2041~caron~\u02C7~ccaps~\u2A4D~ccaron~\u010D~ccirc~\u0109~ccups~\u2A4C~ccupssm~\u2A50~cdot~\u010B~cemptyv~\u29B2~centerdot~\xB7~cfr~\u{1D520}~chcy~\u0447~check~\u2713~checkmark~\u2713~cir~\u25CB~cirE~\u29C3~circeq~\u2257~circlearrowleft~\u21BA~circlearrowright~\u21BB~circledR~\xAE~circledS~\u24C8~circledast~\u229B~circledcirc~\u229A~circleddash~\u229D~cire~\u2257~cirfnint~\u2A10~cirmid~\u2AEF~cirscir~\u29C2~clubsuit~\u2663~colon~:~colone~\u2254~coloneq~\u2254~comma~,~commat~@~comp~\u2201~compfn~\u2218~complement~\u2201~complexes~\u2102~congdot~\u2A6D~conint~\u222E~copf~\u{1D554}~coprod~\u2210~copysr~\u2117~cross~\u2717~cscr~\u{1D4B8}~csub~\u2ACF~csube~\u2AD1~csup~\u2AD0~csupe~\u2AD2~ctdot~\u22EF~cudarrl~\u2938~cudarrr~\u2935~cuepr~\u22DE~cuesc~\u22DF~cularr~\u21B6~cularrp~\u293D~cupbrcap~\u2A48~cupcap~\u2A46~cupcup~\u2A4A~cupdot~\u228D~cupor~\u2A45~cups~\u222A\uFE00~curarr~\u21B7~curarrm~\u293C~curlyeqprec~\u22DE~curlyeqsucc~\u22DF~curlyvee~\u22CE~curlywedge~\u22CF~curvearrowleft~\u21B6~curvearrowright~\u21B7~cuvee~\u22CE~cuwed~\u22CF~cwconint~\u2232~cwint~\u2231~cylcty~\u232D~dHar~\u2965~daleth~\u2138~dash~\u2010~dashv~\u22A3~dbkarow~\u290F~dblac~\u02DD~dcaron~\u010F~dcy~\u0434~dd~\u2146~ddagger~\u2021~ddarr~\u21CA~ddotseq~\u2A77~demptyv~\u29B1~dfisht~\u297F~dfr~\u{1D521}~dharl~\u21C3~dharr~\u21C2~diam~\u22C4~diamond~\u22C4~diamondsuit~\u2666~die~\xA8~digamma~\u03DD~disin~\u22F2~div~\xF7~divideontimes~\u22C7~divonx~\u22C7~djcy~\u0452~dlcorn~\u231E~dlcrop~\u230D~dollar~$~dopf~\u{1D555}~dot~\u02D9~doteq~\u2250~doteqdot~\u2251~dotminus~\u2238~dotplus~\u2214~dotsquare~\u22A1~doublebarwedge~\u2306~downarrow~\u2193~downdownarrows~\u21CA~downharpoonleft~\u21C3~downharpoonright~\u21C2~drbkarow~\u2910~drcorn~\u231F~drcrop~\u230C~dscr~\u{1D4B9}~dscy~\u0455~dsol~\u29F6~dstrok~\u0111~dtdot~\u22F1~dtri~\u25BF~dtrif~\u25BE~duarr~\u21F5~duhar~\u296F~dwangle~\u29A6~dzcy~\u045F~dzigrarr~\u27FF~eDDot~\u2A77~eDot~\u2251~easter~\u2A6E~ecaron~\u011B~ecir~\u2256~ecolon~\u2255~ecy~\u044D~edot~\u0117~ee~\u2147~efDot~\u2252~efr~\u{1D522}~eg~\u2A9A~egs~\u2A96~egsdot~\u2A98~el~\u2A99~elinters~\u23E7~ell~\u2113~els~\u2A95~elsdot~\u2A97~emacr~\u0113~emptyset~\u2205~emptyv~\u2205~emsp13~\u2004~emsp14~\u2005~eng~\u014B~eogon~\u0119~eopf~\u{1D556}~epar~\u22D5~eparsl~\u29E3~eplus~\u2A71~epsi~\u03B5~epsiv~\u03F5~eqcirc~\u2256~eqcolon~\u2255~eqsim~\u2242~eqslantgtr~\u2A96~eqslantless~\u2A95~equals~=~equest~\u225F~equivDD~\u2A78~eqvparsl~\u29E5~erDot~\u2253~erarr~\u2971~escr~\u212F~esdot~\u2250~esim~\u2242~excl~!~expectation~\u2130~exponentiale~\u2147~fallingdotseq~\u2252~fcy~\u0444~female~\u2640~ffilig~\uFB03~fflig~\uFB00~ffllig~\uFB04~ffr~\u{1D523}~filig~\uFB01~fjlig~fj~flat~\u266D~fllig~\uFB02~fltns~\u25B1~fopf~\u{1D557}~fork~\u22D4~forkv~\u2AD9~fpartint~\u2A0D~frac13~\u2153~frac15~\u2155~frac16~\u2159~frac18~\u215B~frac23~\u2154~frac25~\u2156~frac35~\u2157~frac38~\u215C~frac45~\u2158~frac56~\u215A~frac58~\u215D~frac78~\u215E~frown~\u2322~fscr~\u{1D4BB}~gE~\u2267~gEl~\u2A8C~gacute~\u01F5~gammad~\u03DD~gap~\u2A86~gbreve~\u011F~gcirc~\u011D~gcy~\u0433~gdot~\u0121~gel~\u22DB~geq~\u2265~geqq~\u2267~geqslant~\u2A7E~ges~\u2A7E~gescc~\u2AA9~gesdot~\u2A80~gesdoto~\u2A82~gesdotol~\u2A84~gesl~\u22DB\uFE00~gesles~\u2A94~gfr~\u{1D524}~gg~\u226B~ggg~\u22D9~gimel~\u2137~gjcy~\u0453~gl~\u2277~glE~\u2A92~gla~\u2AA5~glj~\u2AA4~gnE~\u2269~gnap~\u2A8A~gnapprox~\u2A8A~gne~\u2A88~gneq~\u2A88~gneqq~\u2269~gnsim~\u22E7~gopf~\u{1D558}~grave~`~gscr~\u210A~gsim~\u2273~gsime~\u2A8E~gsiml~\u2A90~gtcc~\u2AA7~gtcir~\u2A7A~gtdot~\u22D7~gtlPar~\u2995~gtquest~\u2A7C~gtrapprox~\u2A86~gtrarr~\u2978~gtrdot~\u22D7~gtreqless~\u22DB~gtreqqless~\u2A8C~gtrless~\u2277~gtrsim~\u2273~gvertneqq~\u2269\uFE00~gvnE~\u2269\uFE00~hairsp~\u200A~half~\xBD~hamilt~\u210B~hardcy~\u044A~harrcir~\u2948~harrw~\u21AD~hbar~\u210F~hcirc~\u0125~heartsuit~\u2665~hercon~\u22B9~hfr~\u{1D525}~hksearow~\u2925~hkswarow~\u2926~hoarr~\u21FF~homtht~\u223B~hookleftarrow~\u21A9~hookrightarrow~\u21AA~hopf~\u{1D559}~horbar~\u2015~hscr~\u{1D4BD}~hslash~\u210F~hstrok~\u0127~hybull~\u2043~hyphen~\u2010~ic~\u2063~icy~\u0438~iecy~\u0435~iff~\u21D4~ifr~\u{1D526}~ii~\u2148~iiiint~\u2A0C~iiint~\u222D~iinfin~\u29DC~iiota~\u2129~ijlig~\u0133~imacr~\u012B~imagline~\u2110~imagpart~\u2111~imath~\u0131~imof~\u22B7~imped~\u01B5~in~\u2208~incare~\u2105~infintie~\u29DD~inodot~\u0131~intcal~\u22BA~integers~\u2124~intercal~\u22BA~intlarhk~\u2A17~intprod~\u2A3C~iocy~\u0451~iogon~\u012F~iopf~\u{1D55A}~iprod~\u2A3C~iscr~\u{1D4BE}~isinE~\u22F9~isindot~\u22F5~isins~\u22F4~isinsv~\u22F3~isinv~\u2208~it~\u2062~itilde~\u0129~iukcy~\u0456~jcirc~\u0135~jcy~\u0439~jfr~\u{1D527}~jmath~\u0237~jopf~\u{1D55B}~jscr~\u{1D4BF}~jsercy~\u0458~jukcy~\u0454~kappav~\u03F0~kcedil~\u0137~kcy~\u043A~kfr~\u{1D528}~kgreen~\u0138~khcy~\u0445~kjcy~\u045C~kopf~\u{1D55C}~kscr~\u{1D4C0}~lAarr~\u21DA~lAtail~\u291B~lBarr~\u290E~lE~\u2266~lEg~\u2A8B~lHar~\u2962~lacute~\u013A~laemptyv~\u29B4~lagran~\u2112~langd~\u2991~langle~\u27E8~lap~\u2A85~larrb~\u21E4~larrbfs~\u291F~larrfs~\u291D~larrhk~\u21A9~larrlp~\u21AB~larrpl~\u2939~larrsim~\u2973~larrtl~\u21A2~lat~\u2AAB~latail~\u2919~late~\u2AAD~lates~\u2AAD\uFE00~lbarr~\u290C~lbbrk~\u2772~lbrace~{~lbrack~[~lbrke~\u298B~lbrksld~\u298F~lbrkslu~\u298D~lcaron~\u013E~lcedil~\u013C~lcub~{~lcy~\u043B~ldca~\u2936~ldquor~\u201E~ldrdhar~\u2967~ldrushar~\u294B~ldsh~\u21B2~leftarrow~\u2190~leftarrowtail~\u21A2~leftharpoondown~\u21BD~leftharpoonup~\u21BC~leftleftarrows~\u21C7~leftrightarrow~\u2194~leftrightarrows~\u21C6~leftrightharpoons~\u21CB~leftrightsquigarrow~\u21AD~leftthreetimes~\u22CB~leg~\u22DA~leq~\u2264~leqq~\u2266~leqslant~\u2A7D~les~\u2A7D~lescc~\u2AA8~lesdot~\u2A7F~lesdoto~\u2A81~lesdotor~\u2A83~lesg~\u22DA\uFE00~lesges~\u2A93~lessapprox~\u2A85~lessdot~\u22D6~lesseqgtr~\u22DA~lesseqqgtr~\u2A8B~lessgtr~\u2276~lesssim~\u2272~lfisht~\u297C~lfr~\u{1D529}~lg~\u2276~lgE~\u2A91~lhard~\u21BD~lharu~\u21BC~lharul~\u296A~lhblk~\u2584~ljcy~\u0459~ll~\u226A~llarr~\u21C7~llcorner~\u231E~llhard~\u296B~lltri~\u25FA~lmidot~\u0140~lmoust~\u23B0~lmoustache~\u23B0~lnE~\u2268~lnap~\u2A89~lnapprox~\u2A89~lne~\u2A87~lneq~\u2A87~lneqq~\u2268~lnsim~\u22E6~loang~\u27EC~loarr~\u21FD~lobrk~\u27E6~longleftarrow~\u27F5~longleftrightarrow~\u27F7~longmapsto~\u27FC~longrightarrow~\u27F6~looparrowleft~\u21AB~looparrowright~\u21AC~lopar~\u2985~lopf~\u{1D55D}~loplus~\u2A2D~lotimes~\u2A34~lowbar~_~lozenge~\u25CA~lozf~\u29EB~lpar~(~lparlt~\u2993~lrarr~\u21C6~lrcorner~\u231F~lrhar~\u21CB~lrhard~\u296D~lrtri~\u22BF~lscr~\u{1D4C1}~lsh~\u21B0~lsim~\u2272~lsime~\u2A8D~lsimg~\u2A8F~lsqb~[~lsquor~\u201A~lstrok~\u0142~ltcc~\u2AA6~ltcir~\u2A79~ltdot~\u22D6~lthree~\u22CB~ltimes~\u22C9~ltlarr~\u2976~ltquest~\u2A7B~ltrPar~\u2996~ltri~\u25C3~ltrie~\u22B4~ltrif~\u25C2~lurdshar~\u294A~luruhar~\u2966~lvertneqq~\u2268\uFE00~lvnE~\u2268\uFE00~mDDot~\u223A~male~\u2642~malt~\u2720~maltese~\u2720~map~\u21A6~mapsto~\u21A6~mapstodown~\u21A7~mapstoleft~\u21A4~mapstoup~\u21A5~marker~\u25AE~mcomma~\u2A29~mcy~\u043C~measuredangle~\u2221~mfr~\u{1D52A}~mho~\u2127~mid~\u2223~midast~*~midcir~\u2AF0~minusb~\u229F~minusd~\u2238~minusdu~\u2A2A~mlcp~\u2ADB~mldr~\u2026~mnplus~\u2213~models~\u22A7~mopf~\u{1D55E}~mp~\u2213~mscr~\u{1D4C2}~mstpos~\u223E~multimap~\u22B8~mumap~\u22B8~nGg~\u22D9\u0338~nGt~\u226B\u20D2~nGtv~\u226B\u0338~nLeftarrow~\u21CD~nLeftrightarrow~\u21CE~nLl~\u22D8\u0338~nLt~\u226A\u20D2~nLtv~\u226A\u0338~nRightarrow~\u21CF~nVDash~\u22AF~nVdash~\u22AE~nacute~\u0144~nang~\u2220\u20D2~nap~\u2249~napE~\u2A70\u0338~napid~\u224B\u0338~napos~\u0149~napprox~\u2249~natur~\u266E~natural~\u266E~naturals~\u2115~nbump~\u224E\u0338~nbumpe~\u224F\u0338~ncap~\u2A43~ncaron~\u0148~ncedil~\u0146~ncong~\u2247~ncongdot~\u2A6D\u0338~ncup~\u2A42~ncy~\u043D~neArr~\u21D7~nearhk~\u2924~nearr~\u2197~nearrow~\u2197~nedot~\u2250\u0338~nequiv~\u2262~nesear~\u2928~nesim~\u2242\u0338~nexist~\u2204~nexists~\u2204~nfr~\u{1D52B}~ngE~\u2267\u0338~nge~\u2271~ngeq~\u2271~ngeqq~\u2267\u0338~ngeqslant~\u2A7E\u0338~nges~\u2A7E\u0338~ngsim~\u2275~ngt~\u226F~ngtr~\u226F~nhArr~\u21CE~nharr~\u21AE~nhpar~\u2AF2~nis~\u22FC~nisd~\u22FA~niv~\u220B~njcy~\u045A~nlArr~\u21CD~nlE~\u2266\u0338~nlarr~\u219A~nldr~\u2025~nle~\u2270~nleftarrow~\u219A~nleftrightarrow~\u21AE~nleq~\u2270~nleqq~\u2266\u0338~nleqslant~\u2A7D\u0338~nles~\u2A7D\u0338~nless~\u226E~nlsim~\u2274~nlt~\u226E~nltri~\u22EA~nltrie~\u22EC~nmid~\u2224~nopf~\u{1D55F}~notinE~\u22F9\u0338~notindot~\u22F5\u0338~notinva~\u2209~notinvb~\u22F7~notinvc~\u22F6~notni~\u220C~notniva~\u220C~notnivb~\u22FE~notnivc~\u22FD~npar~\u2226~nparallel~\u2226~nparsl~\u2AFD\u20E5~npart~\u2202\u0338~npolint~\u2A14~npr~\u2280~nprcue~\u22E0~npre~\u2AAF\u0338~nprec~\u2280~npreceq~\u2AAF\u0338~nrArr~\u21CF~nrarr~\u219B~nrarrc~\u2933\u0338~nrarrw~\u219D\u0338~nrightarrow~\u219B~nrtri~\u22EB~nrtrie~\u22ED~nsc~\u2281~nsccue~\u22E1~nsce~\u2AB0\u0338~nscr~\u{1D4C3}~nshortmid~\u2224~nshortparallel~\u2226~nsim~\u2241~nsime~\u2244~nsimeq~\u2244~nsmid~\u2224~nspar~\u2226~nsqsube~\u22E2~nsqsupe~\u22E3~nsubE~\u2AC5\u0338~nsube~\u2288~nsubset~\u2282\u20D2~nsubseteq~\u2288~nsubseteqq~\u2AC5\u0338~nsucc~\u2281~nsucceq~\u2AB0\u0338~nsup~\u2285~nsupE~\u2AC6\u0338~nsupe~\u2289~nsupset~\u2283\u20D2~nsupseteq~\u2289~nsupseteqq~\u2AC6\u0338~ntgl~\u2279~ntlg~\u2278~ntriangleleft~\u22EA~ntrianglelefteq~\u22EC~ntriangleright~\u22EB~ntrianglerighteq~\u22ED~num~#~numero~\u2116~numsp~\u2007~nvDash~\u22AD~nvHarr~\u2904~nvap~\u224D\u20D2~nvdash~\u22AC~nvge~\u2265\u20D2~nvgt~>\u20D2~nvinfin~\u29DE~nvlArr~\u2902~nvle~\u2264\u20D2~nvlt~<\u20D2~nvltrie~\u22B4\u20D2~nvrArr~\u2903~nvrtrie~\u22B5\u20D2~nvsim~\u223C\u20D2~nwArr~\u21D6~nwarhk~\u2923~nwarr~\u2196~nwarrow~\u2196~nwnear~\u2927~oS~\u24C8~oast~\u229B~ocir~\u229A~ocy~\u043E~odash~\u229D~odblac~\u0151~odiv~\u2A38~odot~\u2299~odsold~\u29BC~ofcir~\u29BF~ofr~\u{1D52C}~ogon~\u02DB~ogt~\u29C1~ohbar~\u29B5~ohm~\u03A9~oint~\u222E~olarr~\u21BA~olcir~\u29BE~olcross~\u29BB~olt~\u29C0~omacr~\u014D~omid~\u29B6~ominus~\u2296~oopf~\u{1D560}~opar~\u29B7~operp~\u29B9~orarr~\u21BB~ord~\u2A5D~order~\u2134~orderof~\u2134~origof~\u22B6~oror~\u2A56~orslope~\u2A57~orv~\u2A5B~oscr~\u2134~osol~\u2298~otimesas~\u2A36~ovbar~\u233D~par~\u2225~parallel~\u2225~parsim~\u2AF3~parsl~\u2AFD~pcy~\u043F~percnt~%~period~.~pertenk~\u2031~pfr~\u{1D52D}~phiv~\u03D5~phmmat~\u2133~phone~\u260E~pitchfork~\u22D4~planck~\u210F~planckh~\u210E~plankv~\u210F~plus~+~plusacir~\u2A23~plusb~\u229E~pluscir~\u2A22~plusdo~\u2214~plusdu~\u2A25~pluse~\u2A72~plussim~\u2A26~plustwo~\u2A27~pm~\xB1~pointint~\u2A15~popf~\u{1D561}~pr~\u227A~prE~\u2AB3~prap~\u2AB7~prcue~\u227C~pre~\u2AAF~prec~\u227A~precapprox~\u2AB7~preccurlyeq~\u227C~preceq~\u2AAF~precnapprox~\u2AB9~precneqq~\u2AB5~precnsim~\u22E8~precsim~\u227E~primes~\u2119~prnE~\u2AB5~prnap~\u2AB9~prnsim~\u22E8~profalar~\u232E~profline~\u2312~profsurf~\u2313~propto~\u221D~prsim~\u227E~prurel~\u22B0~pscr~\u{1D4C5}~puncsp~\u2008~qfr~\u{1D52E}~qint~\u2A0C~qopf~\u{1D562}~qprime~\u2057~qscr~\u{1D4C6}~quaternions~\u210D~quatint~\u2A16~quest~?~questeq~\u225F~rAarr~\u21DB~rAtail~\u291C~rBarr~\u290F~rHar~\u2964~race~\u223D\u0331~racute~\u0155~raemptyv~\u29B3~rangd~\u2992~range~\u29A5~rangle~\u27E9~rarrap~\u2975~rarrb~\u21E5~rarrbfs~\u2920~rarrc~\u2933~rarrfs~\u291E~rarrhk~\u21AA~rarrlp~\u21AC~rarrpl~\u2945~rarrsim~\u2974~rarrtl~\u21A3~rarrw~\u219D~ratail~\u291A~ratio~\u2236~rationals~\u211A~rbarr~\u290D~rbbrk~\u2773~rbrace~}~rbrack~]~rbrke~\u298C~rbrksld~\u298E~rbrkslu~\u2990~rcaron~\u0159~rcedil~\u0157~rcub~}~rcy~\u0440~rdca~\u2937~rdldhar~\u2969~rdquor~\u201D~rdsh~\u21B3~realine~\u211B~realpart~\u211C~reals~\u211D~rect~\u25AD~rfisht~\u297D~rfr~\u{1D52F}~rhard~\u21C1~rharu~\u21C0~rharul~\u296C~rhov~\u03F1~rightarrow~\u2192~rightarrowtail~\u21A3~rightharpoondown~\u21C1~rightharpoonup~\u21C0~rightleftarrows~\u21C4~rightleftharpoons~\u21CC~rightrightarrows~\u21C9~rightsquigarrow~\u219D~rightthreetimes~\u22CC~ring~\u02DA~risingdotseq~\u2253~rlarr~\u21C4~rlhar~\u21CC~rmoust~\u23B1~rmoustache~\u23B1~rnmid~\u2AEE~roang~\u27ED~roarr~\u21FE~robrk~\u27E7~ropar~\u2986~ropf~\u{1D563}~roplus~\u2A2E~rotimes~\u2A35~rpar~)~rpargt~\u2994~rppolint~\u2A12~rrarr~\u21C9~rscr~\u{1D4C7}~rsh~\u21B1~rsqb~]~rsquor~\u2019~rthree~\u22CC~rtimes~\u22CA~rtri~\u25B9~rtrie~\u22B5~rtrif~\u25B8~rtriltri~\u29CE~ruluhar~\u2968~rx~\u211E~sacute~\u015B~sc~\u227B~scE~\u2AB4~scap~\u2AB8~sccue~\u227D~sce~\u2AB0~scedil~\u015F~scirc~\u015D~scnE~\u2AB6~scnap~\u2ABA~scnsim~\u22E9~scpolint~\u2A13~scsim~\u227F~scy~\u0441~sdotb~\u22A1~sdote~\u2A66~seArr~\u21D8~searhk~\u2925~searr~\u2198~searrow~\u2198~semi~;~seswar~\u2929~setminus~\u2216~setmn~\u2216~sext~\u2736~sfr~\u{1D530}~sfrown~\u2322~sharp~\u266F~shchcy~\u0449~shcy~\u0448~shortmid~\u2223~shortparallel~\u2225~sigmav~\u03C2~simdot~\u2A6A~sime~\u2243~simeq~\u2243~simg~\u2A9E~simgE~\u2AA0~siml~\u2A9D~simlE~\u2A9F~simne~\u2246~simplus~\u2A24~simrarr~\u2972~slarr~\u2190~smallsetminus~\u2216~smashp~\u2A33~smeparsl~\u29E4~smid~\u2223~smile~\u2323~smt~\u2AAA~smte~\u2AAC~smtes~\u2AAC\uFE00~softcy~\u044C~sol~/~solb~\u29C4~solbar~\u233F~sopf~\u{1D564}~spadesuit~\u2660~spar~\u2225~sqcap~\u2293~sqcaps~\u2293\uFE00~sqcup~\u2294~sqcups~\u2294\uFE00~sqsub~\u228F~sqsube~\u2291~sqsubset~\u228F~sqsubseteq~\u2291~sqsup~\u2290~sqsupe~\u2292~sqsupset~\u2290~sqsupseteq~\u2292~squ~\u25A1~square~\u25A1~squarf~\u25AA~squf~\u25AA~srarr~\u2192~sscr~\u{1D4C8}~ssetmn~\u2216~ssmile~\u2323~sstarf~\u22C6~star~\u2606~starf~\u2605~straightepsilon~\u03F5~straightphi~\u03D5~strns~\xAF~subE~\u2AC5~subdot~\u2ABD~subedot~\u2AC3~submult~\u2AC1~subnE~\u2ACB~subne~\u228A~subplus~\u2ABF~subrarr~\u2979~subset~\u2282~subseteq~\u2286~subseteqq~\u2AC5~subsetneq~\u228A~subsetneqq~\u2ACB~subsim~\u2AC7~subsub~\u2AD5~subsup~\u2AD3~succ~\u227B~succapprox~\u2AB8~succcurlyeq~\u227D~succeq~\u2AB0~succnapprox~\u2ABA~succneqq~\u2AB6~succnsim~\u22E9~succsim~\u227F~sung~\u266A~supE~\u2AC6~supdot~\u2ABE~supdsub~\u2AD8~supedot~\u2AC4~suphsol~\u27C9~suphsub~\u2AD7~suplarr~\u297B~supmult~\u2AC2~supnE~\u2ACC~supne~\u228B~supplus~\u2AC0~supset~\u2283~supseteq~\u2287~supseteqq~\u2AC6~supsetneq~\u228B~supsetneqq~\u2ACC~supsim~\u2AC8~supsub~\u2AD4~supsup~\u2AD6~swArr~\u21D9~swarhk~\u2926~swarr~\u2199~swarrow~\u2199~swnwar~\u292A~target~\u2316~tbrk~\u23B4~tcaron~\u0165~tcedil~\u0163~tcy~\u0442~tdot~\u20DB~telrec~\u2315~tfr~\u{1D531}~therefore~\u2234~thetav~\u03D1~thickapprox~\u2248~thicksim~\u223C~thkap~\u2248~thksim~\u223C~timesb~\u22A0~timesbar~\u2A31~timesd~\u2A30~tint~\u222D~toea~\u2928~top~\u22A4~topbot~\u2336~topcir~\u2AF1~topf~\u{1D565}~topfork~\u2ADA~tosa~\u2929~tprime~\u2034~triangle~\u25B5~triangledown~\u25BF~triangleleft~\u25C3~trianglelefteq~\u22B4~triangleq~\u225C~triangleright~\u25B9~trianglerighteq~\u22B5~tridot~\u25EC~trie~\u225C~triminus~\u2A3A~triplus~\u2A39~trisb~\u29CD~tritime~\u2A3B~trpezium~\u23E2~tscr~\u{1D4C9}~tscy~\u0446~tshcy~\u045B~tstrok~\u0167~twixt~\u226C~twoheadleftarrow~\u219E~twoheadrightarrow~\u21A0~uHar~\u2963~ubrcy~\u045E~ubreve~\u016D~ucy~\u0443~udarr~\u21C5~udblac~\u0171~udhar~\u296E~ufisht~\u297E~ufr~\u{1D532}~uharl~\u21BF~uharr~\u21BE~uhblk~\u2580~ulcorn~\u231C~ulcorner~\u231C~ulcrop~\u230F~ultri~\u25F8~umacr~\u016B~uogon~\u0173~uopf~\u{1D566}~uparrow~\u2191~updownarrow~\u2195~upharpoonleft~\u21BF~upharpoonright~\u21BE~uplus~\u228E~upsi~\u03C5~upuparrows~\u21C8~urcorn~\u231D~urcorner~\u231D~urcrop~\u230E~uring~\u016F~urtri~\u25F9~uscr~\u{1D4CA}~utdot~\u22F0~utilde~\u0169~utri~\u25B5~utrif~\u25B4~uuarr~\u21C8~uwangle~\u29A7~vArr~\u21D5~vBar~\u2AE8~vBarv~\u2AE9~vDash~\u22A8~vangrt~\u299C~varepsilon~\u03F5~varkappa~\u03F0~varnothing~\u2205~varphi~\u03D5~varpi~\u03D6~varpropto~\u221D~varr~\u2195~varrho~\u03F1~varsigma~\u03C2~varsubsetneq~\u228A\uFE00~varsubsetneqq~\u2ACB\uFE00~varsupsetneq~\u228B\uFE00~varsupsetneqq~\u2ACC\uFE00~vartheta~\u03D1~vartriangleleft~\u22B2~vartriangleright~\u22B3~vcy~\u0432~vdash~\u22A2~vee~\u2228~veebar~\u22BB~veeeq~\u225A~vellip~\u22EE~verbar~|~vert~|~vfr~\u{1D533}~vltri~\u22B2~vnsub~\u2282\u20D2~vnsup~\u2283\u20D2~vopf~\u{1D567}~vprop~\u221D~vrtri~\u22B3~vscr~\u{1D4CB}~vsubnE~\u2ACB\uFE00~vsubne~\u228A\uFE00~vsupnE~\u2ACC\uFE00~vsupne~\u228B\uFE00~vzigzag~\u299A~wcirc~\u0175~wedbar~\u2A5F~wedge~\u2227~wedgeq~\u2259~wfr~\u{1D534}~wopf~\u{1D568}~wp~\u2118~wr~\u2240~wreath~\u2240~wscr~\u{1D4CC}~xcap~\u22C2~xcirc~\u25EF~xcup~\u22C3~xdtri~\u25BD~xfr~\u{1D535}~xhArr~\u27FA~xharr~\u27F7~xlArr~\u27F8~xlarr~\u27F5~xmap~\u27FC~xnis~\u22FB~xodot~\u2A00~xopf~\u{1D569}~xoplus~\u2A01~xotime~\u2A02~xrArr~\u27F9~xrarr~\u27F6~xscr~\u{1D4CD}~xsqcup~\u2A06~xuplus~\u2A04~xutri~\u25B3~xvee~\u22C1~xwedge~\u22C0~yacy~\u044F~ycirc~\u0177~ycy~\u044B~yfr~\u{1D536}~yicy~\u0457~yopf~\u{1D56A}~yscr~\u{1D4CE}~yucy~\u044E~zacute~\u017A~zcaron~\u017E~zcy~\u0437~zdot~\u017C~zeetrf~\u2128~zfr~\u{1D537}~zhcy~\u0436~zigrarr~\u21DD~zopf~\u{1D56B}~zscr~\u{1D4CF}~~AMP~&~COPY~\xA9~GT~>~LT~<~QUOT~"~REG~\xAE', exports2.namedReferences["html4"]);
}
});
// node_modules/html-entities/dist/commonjs/numeric-unicode-map.js
var require_numeric_unicode_map = __commonJS({
"node_modules/html-entities/dist/commonjs/numeric-unicode-map.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.numericUnicodeMap = void 0;
exports2.numericUnicodeMap = {
0: 65533,
128: 8364,
130: 8218,
131: 402,
132: 8222,
133: 8230,
134: 8224,
135: 8225,
136: 710,
137: 8240,
138: 352,
139: 8249,
140: 338,
142: 381,
145: 8216,
146: 8217,
147: 8220,
148: 8221,
149: 8226,
150: 8211,
151: 8212,
152: 732,
153: 8482,
154: 353,
155: 8250,
156: 339,
158: 382,
159: 376
};
}
});
// node_modules/html-entities/dist/commonjs/surrogate-pairs.js
var require_surrogate_pairs = __commonJS({
"node_modules/html-entities/dist/commonjs/surrogate-pairs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.highSurrogateTo = exports2.highSurrogateFrom = exports2.getCodePoint = exports2.fromCodePoint = void 0;
exports2.fromCodePoint = String.fromCodePoint || function(astralCodePoint) {
return String.fromCharCode(Math.floor((astralCodePoint - 65536) / 1024) + 55296, (astralCodePoint - 65536) % 1024 + 56320);
};
exports2.getCodePoint = String.prototype.codePointAt ? function(input, position) {
return input.codePointAt(position);
} : function(input, position) {
return (input.charCodeAt(position) - 55296) * 1024 + input.charCodeAt(position + 1) - 56320 + 65536;
};
exports2.highSurrogateFrom = 55296;
exports2.highSurrogateTo = 56319;
}
});
// node_modules/html-entities/dist/commonjs/index.js
var require_commonjs = __commonJS({
"node_modules/html-entities/dist/commonjs/index.js"(exports2) {
"use strict";
var __assign = exports2 && exports2.__assign || function() {
__assign = Object.assign || function(t2) {
for (var s2, i3 = 1, n3 = arguments.length; i3 < n3; i3++) {
s2 = arguments[i3];
for (var p in s2) if (Object.prototype.hasOwnProperty.call(s2, p))
t2[p] = s2[p];
}
return t2;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.encode = encode;
exports2.decodeEntity = decodeEntity;
exports2.decode = decode;
var named_references_js_1 = require_named_references();
var numeric_unicode_map_js_1 = require_numeric_unicode_map();
var surrogate_pairs_js_1 = require_surrogate_pairs();
var allNamedReferences = __assign(__assign({}, named_references_js_1.namedReferences), { all: named_references_js_1.namedReferences.html5 });
var encodeRegExps = {
specialChars: /[<>'"&]/g,
nonAscii: /[<>'"&\u0080-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,
nonAsciiPrintable: /[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,
nonAsciiPrintableOnly: /[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g,
extensive: /[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF\uDC00-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]?/g
};
var defaultEncodeOptions = {
mode: "specialChars",
level: "all",
numeric: "decimal"
};
function encode(text, _a4) {
var _b = _a4 === void 0 ? defaultEncodeOptions : _a4, _c = _b.mode, mode = _c === void 0 ? "specialChars" : _c, _d = _b.numeric, numeric2 = _d === void 0 ? "decimal" : _d, _e = _b.level, level = _e === void 0 ? "all" : _e;
if (!text) {
return "";
}
var encodeRegExp = encodeRegExps[mode];
var references = allNamedReferences[level].characters;
var isHex = numeric2 === "hexadecimal";
return String.prototype.replace.call(text, encodeRegExp, function(input) {
var result2 = references[input];
if (!result2) {
var code = input.length > 1 ? (0, surrogate_pairs_js_1.getCodePoint)(input, 0) : input.charCodeAt(0);
result2 = (isHex ? "&#x" + code.toString(16) : "&#" + code) + ";";
}
return result2;
});
}
var defaultDecodeOptions = {
scope: "body",
level: "all"
};
var strict = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g;
var attribute = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g;
var baseDecodeRegExps = {
xml: {
strict,
attribute,
body: named_references_js_1.bodyRegExps.xml
},
html4: {
strict,
attribute,
body: named_references_js_1.bodyRegExps.html4
},
html5: {
strict,
attribute,
body: named_references_js_1.bodyRegExps.html5
}
};
var decodeRegExps = __assign(__assign({}, baseDecodeRegExps), { all: baseDecodeRegExps.html5 });
var fromCharCode = String.fromCharCode;
var outOfBoundsChar = fromCharCode(65533);
var defaultDecodeEntityOptions = {
level: "all"
};
function getDecodedEntity(entity, references, isAttribute, isStrict) {
var decodeResult = entity;
var decodeEntityLastChar = entity[entity.length - 1];
if (isAttribute && decodeEntityLastChar === "=") {
decodeResult = entity;
} else if (isStrict && decodeEntityLastChar !== ";") {
decodeResult = entity;
} else {
var decodeResultByReference = references[entity];
if (decodeResultByReference) {
decodeResult = decodeResultByReference;
} else if (entity[0] === "&" && entity[1] === "#") {
var decodeSecondChar = entity[2];
var decodeCode = decodeSecondChar == "x" || decodeSecondChar == "X" ? parseInt(entity.substr(3), 16) : parseInt(entity.substr(2));
decodeResult = decodeCode >= 1114111 ? outOfBoundsChar : decodeCode > 65535 ? (0, surrogate_pairs_js_1.fromCodePoint)(decodeCode) : fromCharCode(numeric_unicode_map_js_1.numericUnicodeMap[decodeCode] || decodeCode);
}
}
return decodeResult;
}
function decodeEntity(entity, _a4) {
var _b = _a4 === void 0 ? defaultDecodeEntityOptions : _a4, _c = _b.level, level = _c === void 0 ? "all" : _c;
if (!entity) {
return "";
}
return getDecodedEntity(entity, allNamedReferences[level].entities, false, false);
}
function decode(text, _a4) {
var _b = _a4 === void 0 ? defaultDecodeOptions : _a4, _c = _b.level, level = _c === void 0 ? "all" : _c, _d = _b.scope, scope = _d === void 0 ? level === "xml" ? "strict" : "body" : _d;
if (!text) {
return "";
}
var decodeRegExp = decodeRegExps[level][scope];
var references = allNamedReferences[level].entities;
var isAttribute = scope === "attribute";
var isStrict = scope === "strict";
return text.replace(decodeRegExp, function(entity) {
return getDecodedEntity(entity, references, isAttribute, isStrict);
});
}
}
});
// node_modules/retry-request/index.js
var require_retry_request = __commonJS({
"node_modules/retry-request/index.js"(exports2, module2) {
"use strict";
var { PassThrough: PassThrough3 } = __require("stream");
var extend4 = require_extend();
var debug2 = () => {
};
if (typeof process !== "undefined" && "env" in process && typeof process.env === "object" && process.env.DEBUG === "retry-request") {
debug2 = (message) => {
console.log("retry-request:", message);
};
}
var DEFAULTS = {
objectMode: false,
retries: 2,
/*
The maximum time to delay in seconds. If retryDelayMultiplier results in a
delay greater than maxRetryDelay, retries should delay by maxRetryDelay
seconds instead.
*/
maxRetryDelay: 64,
/*
The multiplier by which to increase the delay time between the completion of
failed requests, and the initiation of the subsequent retrying request.
*/
retryDelayMultiplier: 2,
/*
The length of time to keep retrying in seconds. The last sleep period will
be shortened as necessary, so that the last retry runs at deadline (and not
considerably beyond it). The total time starting from when the initial
request is sent, after which an error will be returned, regardless of the
retrying attempts made meanwhile.
*/
totalTimeout: 600,
noResponseRetries: 2,
currentRetryAttempt: 0,
shouldRetryFn: function(response) {
const retryRanges = [
// https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
// 1xx - Retry (Informational, request still processing)
// 2xx - Do not retry (Success)
// 3xx - Do not retry (Redirect)
// 4xx - Do not retry (Client errors)
// 429 - Retry ("Too Many Requests")
// 5xx - Retry (Server errors)
[100, 199],
[429, 429],
[500, 599]
];
const statusCode = response.statusCode;
debug2(`Response status: ${statusCode}`);
let range2;
while (range2 = retryRanges.shift()) {
if (statusCode >= range2[0] && statusCode <= range2[1]) {
return true;
}
}
}
};
function retryRequest(requestOpts, opts, callback) {
if (typeof requestOpts === "string") {
requestOpts = { url: requestOpts };
}
const streamMode = typeof arguments[arguments.length - 1] !== "function";
if (typeof opts === "function") {
callback = opts;
}
const manualCurrentRetryAttemptWasSet = opts && typeof opts.currentRetryAttempt === "number";
opts = extend4({}, DEFAULTS, opts);
if (typeof opts.request === "undefined") {
throw new Error("A request library must be provided to retry-request.");
}
let currentRetryAttempt = opts.currentRetryAttempt;
let numNoResponseAttempts = 0;
let streamResponseHandled = false;
let retryStream;
let requestStream;
let delayStream;
let activeRequest;
const retryRequest2 = {
abort: function() {
if (activeRequest && activeRequest.abort) {
activeRequest.abort();
}
}
};
if (streamMode) {
retryStream = new PassThrough3({ objectMode: opts.objectMode });
retryStream.abort = resetStreams;
}
const timeOfFirstRequest = Date.now();
if (currentRetryAttempt > 0) {
retryAfterDelay(currentRetryAttempt);
} else {
makeRequest();
}
if (streamMode) {
return retryStream;
} else {
return retryRequest2;
}
function resetStreams() {
delayStream = null;
if (requestStream) {
requestStream.abort && requestStream.abort();
requestStream.cancel && requestStream.cancel();
if (requestStream.destroy) {
requestStream.destroy();
} else if (requestStream.end) {
requestStream.end();
}
}
}
function makeRequest() {
let finishHandled = false;
currentRetryAttempt++;
debug2(`Current retry attempt: ${currentRetryAttempt}`);
function handleFinish(args2 = []) {
if (!finishHandled) {
finishHandled = true;
retryStream.emit("complete", ...args2);
}
}
if (streamMode) {
streamResponseHandled = false;
delayStream = new PassThrough3({ objectMode: opts.objectMode });
requestStream = opts.request(requestOpts);
setImmediate(() => {
retryStream.emit("request");
});
requestStream.on("error", (err2) => {
if (streamResponseHandled) {
return;
}
streamResponseHandled = true;
onResponse(err2);
}).on("response", (resp, body2) => {
if (streamResponseHandled) {
return;
}
streamResponseHandled = true;
onResponse(null, resp, body2);
}).on("complete", (...params) => handleFinish(params)).on("finish", (...params) => handleFinish(params));
requestStream.pipe(delayStream);
} else {
activeRequest = opts.request(requestOpts, onResponse);
}
}
function retryAfterDelay(currentRetryAttempt2) {
if (streamMode) {
resetStreams();
}
const nextRetryDelay = getNextRetryDelay({
maxRetryDelay: opts.maxRetryDelay,
retryDelayMultiplier: opts.retryDelayMultiplier,
retryNumber: currentRetryAttempt2,
timeOfFirstRequest,
totalTimeout: opts.totalTimeout
});
debug2(`Next retry delay: ${nextRetryDelay}`);
if (nextRetryDelay <= 0) {
numNoResponseAttempts = opts.noResponseRetries + 1;
return;
}
setTimeout(makeRequest, nextRetryDelay);
}
function onResponse(err2, response, body2) {
if (err2) {
numNoResponseAttempts++;
if (numNoResponseAttempts <= opts.noResponseRetries) {
retryAfterDelay(numNoResponseAttempts);
} else {
if (streamMode) {
retryStream.emit("error", err2);
retryStream.end();
} else {
callback(err2, response, body2);
}
}
return;
}
const adjustedCurrentRetryAttempt = manualCurrentRetryAttemptWasSet ? currentRetryAttempt : currentRetryAttempt - 1;
if (adjustedCurrentRetryAttempt < opts.retries && opts.shouldRetryFn(response)) {
retryAfterDelay(currentRetryAttempt);
return;
}
if (streamMode) {
retryStream.emit("response", response);
delayStream.pipe(retryStream);
requestStream.on("error", (err3) => {
retryStream.destroy(err3);
});
} else {
callback(err2, response, body2);
}
}
}
module2.exports = retryRequest;
function getNextRetryDelay(config2) {
const {
maxRetryDelay,
retryDelayMultiplier,
retryNumber,
timeOfFirstRequest,
totalTimeout
} = config2;
const maxRetryDelayMs = maxRetryDelay * 1e3;
const totalTimeoutMs = totalTimeout * 1e3;
const jitter = Math.floor(Math.random() * 1e3);
const calculatedNextRetryDelay = Math.pow(retryDelayMultiplier, retryNumber) * 1e3 + jitter;
const maxAllowableDelayMs = totalTimeoutMs - (Date.now() - timeOfFirstRequest);
return Math.min(
calculatedNextRetryDelay,
maxAllowableDelayMs,
maxRetryDelayMs
);
}
module2.exports.defaults = DEFAULTS;
module2.exports.getNextRetryDelay = getNextRetryDelay;
}
});
// node_modules/@tootallnate/once/dist/index.js
var require_dist4 = __commonJS({
"node_modules/@tootallnate/once/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function once11(emitter, name3, { signal } = {}) {
return new Promise((resolve25, reject) => {
function cleanup() {
signal === null || signal === void 0 ? void 0 : signal.removeEventListener("abort", cleanup);
emitter.removeListener(name3, onEvent);
emitter.removeListener("error", onError2);
}
function onEvent(...args2) {
cleanup();
resolve25(args2);
}
function onError2(err2) {
cleanup();
reject(err2);
}
signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", cleanup);
emitter.on(name3, onEvent);
emitter.on("error", onError2);
});
}
exports2.default = once11;
}
});
// node_modules/teeny-request/node_modules/agent-base/dist/src/promisify.js
var require_promisify = __commonJS({
"node_modules/teeny-request/node_modules/agent-base/dist/src/promisify.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function promisify10(fn) {
return function(req, opts) {
return new Promise((resolve25, reject) => {
fn.call(this, req, opts, (err2, rtn) => {
if (err2) {
reject(err2);
} else {
resolve25(rtn);
}
});
});
};
}
exports2.default = promisify10;
}
});
// node_modules/teeny-request/node_modules/agent-base/dist/src/index.js
var require_src45 = __commonJS({
"node_modules/teeny-request/node_modules/agent-base/dist/src/index.js"(exports2, module2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
var events_1 = __require("events");
var debug_1 = __importDefault(require_src());
var promisify_1 = __importDefault(require_promisify());
var debug2 = debug_1.default("agent-base");
function isAgent(v) {
return Boolean(v) && typeof v.addRequest === "function";
}
function isSecureEndpoint() {
const { stack } = new Error();
if (typeof stack !== "string")
return false;
return stack.split("\n").some((l2) => l2.indexOf("(https.js:") !== -1 || l2.indexOf("node:https:") !== -1);
}
function createAgent(callback, opts) {
return new createAgent.Agent(callback, opts);
}
(function(createAgent2) {
class Agent2 extends events_1.EventEmitter {
constructor(callback, _opts) {
super();
let opts = _opts;
if (typeof callback === "function") {
this.callback = callback;
} else if (callback) {
opts = callback;
}
this.timeout = null;
if (opts && typeof opts.timeout === "number") {
this.timeout = opts.timeout;
}
this.maxFreeSockets = 1;
this.maxSockets = 1;
this.maxTotalSockets = Infinity;
this.sockets = {};
this.freeSockets = {};
this.requests = {};
this.options = {};
}
get defaultPort() {
if (typeof this.explicitDefaultPort === "number") {
return this.explicitDefaultPort;
}
return isSecureEndpoint() ? 443 : 80;
}
set defaultPort(v) {
this.explicitDefaultPort = v;
}
get protocol() {
if (typeof this.explicitProtocol === "string") {
return this.explicitProtocol;
}
return isSecureEndpoint() ? "https:" : "http:";
}
set protocol(v) {
this.explicitProtocol = v;
}
callback(req, opts, fn) {
throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`');
}
/**
* Called by node-core's "_http_client.js" module when creating
* a new HTTP request with this Agent instance.
*
* @api public
*/
addRequest(req, _opts) {
const opts = Object.assign({}, _opts);
if (typeof opts.secureEndpoint !== "boolean") {
opts.secureEndpoint = isSecureEndpoint();
}
if (opts.host == null) {
opts.host = "localhost";
}
if (opts.port == null) {
opts.port = opts.secureEndpoint ? 443 : 80;
}
if (opts.protocol == null) {
opts.protocol = opts.secureEndpoint ? "https:" : "http:";
}
if (opts.host && opts.path) {
delete opts.path;
}
delete opts.agent;
delete opts.hostname;
delete opts._defaultAgent;
delete opts.defaultPort;
delete opts.createConnection;
req._last = true;
req.shouldKeepAlive = false;
let timedOut = false;
let timeoutId = null;
const timeoutMs = opts.timeout || this.timeout;
const onerror = (err2) => {
if (req._hadError)
return;
req.emit("error", err2);
req._hadError = true;
};
const ontimeout = () => {
timeoutId = null;
timedOut = true;
const err2 = new Error(`A "socket" was not created for HTTP request before ${timeoutMs}ms`);
err2.code = "ETIMEOUT";
onerror(err2);
};
const callbackError = (err2) => {
if (timedOut)
return;
if (timeoutId !== null) {
clearTimeout(timeoutId);
timeoutId = null;
}
onerror(err2);
};
const onsocket = (socket) => {
if (timedOut)
return;
if (timeoutId != null) {
clearTimeout(timeoutId);
timeoutId = null;
}
if (isAgent(socket)) {
debug2("Callback returned another Agent instance %o", socket.constructor.name);
socket.addRequest(req, opts);
return;
}
if (socket) {
socket.once("free", () => {
this.freeSocket(socket, opts);
});
req.onSocket(socket);
return;
}
const err2 = new Error(`no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``);
onerror(err2);
};
if (typeof this.callback !== "function") {
onerror(new Error("`callback` is not defined"));
return;
}
if (!this.promisifiedCallback) {
if (this.callback.length >= 3) {
debug2("Converting legacy callback function to promise");
this.promisifiedCallback = promisify_1.default(this.callback);
} else {
this.promisifiedCallback = this.callback;
}
}
if (typeof timeoutMs === "number" && timeoutMs > 0) {
timeoutId = setTimeout(ontimeout, timeoutMs);
}
if ("port" in opts && typeof opts.port !== "number") {
opts.port = Number(opts.port);
}
try {
debug2("Resolving socket for %o request: %o", opts.protocol, `${req.method} ${req.path}`);
Promise.resolve(this.promisifiedCallback(req, opts)).then(onsocket, callbackError);
} catch (err2) {
Promise.reject(err2).catch(callbackError);
}
}
freeSocket(socket, opts) {
debug2("Freeing socket %o %o", socket.constructor.name, opts);
socket.destroy();
}
destroy() {
debug2("Destroying agent %o", this.constructor.name);
}
}
createAgent2.Agent = Agent2;
createAgent2.prototype = createAgent2.Agent.prototype;
})(createAgent || (createAgent = {}));
module2.exports = createAgent;
}
});
// node_modules/teeny-request/node_modules/http-proxy-agent/dist/agent.js
var require_agent = __commonJS({
"node_modules/teeny-request/node_modules/http-proxy-agent/dist/agent.js"(exports2) {
"use strict";
var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve25) {
resolve25(value);
});
}
return new (P || (P = Promise))(function(resolve25, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e2) {
reject(e2);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e2) {
reject(e2);
}
}
function step(result2) {
result2.done ? resolve25(result2.value) : adopt(result2.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var net_1 = __importDefault(__require("net"));
var tls_1 = __importDefault(__require("tls"));
var url_1 = __importDefault(__require("url"));
var debug_1 = __importDefault(require_src());
var once_1 = __importDefault(require_dist4());
var agent_base_1 = require_src45();
var debug2 = (0, debug_1.default)("http-proxy-agent");
function isHTTPS(protocol) {
return typeof protocol === "string" ? /^https:?$/i.test(protocol) : false;
}
var HttpProxyAgent = class extends agent_base_1.Agent {
constructor(_opts) {
let opts;
if (typeof _opts === "string") {
opts = url_1.default.parse(_opts);
} else {
opts = _opts;
}
if (!opts) {
throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!");
}
debug2("Creating new HttpProxyAgent instance: %o", opts);
super(opts);
const proxy2 = Object.assign({}, opts);
this.secureProxy = opts.secureProxy || isHTTPS(proxy2.protocol);
proxy2.host = proxy2.hostname || proxy2.host;
if (typeof proxy2.port === "string") {
proxy2.port = parseInt(proxy2.port, 10);
}
if (!proxy2.port && proxy2.host) {
proxy2.port = this.secureProxy ? 443 : 80;
}
if (proxy2.host && proxy2.path) {
delete proxy2.path;
delete proxy2.pathname;
}
this.proxy = proxy2;
}
/**
* Called when the node-core HTTP client library is creating a
* new HTTP request.
*
* @api protected
*/
callback(req, opts) {
return __awaiter(this, void 0, void 0, function* () {
const { proxy: proxy2, secureProxy } = this;
const parsed = url_1.default.parse(req.path);
if (!parsed.protocol) {
parsed.protocol = "http:";
}
if (!parsed.hostname) {
parsed.hostname = opts.hostname || opts.host || null;
}
if (parsed.port == null && typeof opts.port) {
parsed.port = String(opts.port);
}
if (parsed.port === "80") {
parsed.port = "";
}
req.path = url_1.default.format(parsed);
if (proxy2.auth) {
req.setHeader("Proxy-Authorization", `Basic ${Buffer.from(proxy2.auth).toString("base64")}`);
}
let socket;
if (secureProxy) {
debug2("Creating `tls.Socket`: %o", proxy2);
socket = tls_1.default.connect(proxy2);
} else {
debug2("Creating `net.Socket`: %o", proxy2);
socket = net_1.default.connect(proxy2);
}
if (req._header) {
let first2;
let endOfHeaders;
debug2("Regenerating stored HTTP header string for request");
req._header = null;
req._implicitHeader();
if (req.output && req.output.length > 0) {
debug2("Patching connection write() output buffer with updated header");
first2 = req.output[0];
endOfHeaders = first2.indexOf("\r\n\r\n") + 4;
req.output[0] = req._header + first2.substring(endOfHeaders);
debug2("Output buffer: %o", req.output);
} else if (req.outputData && req.outputData.length > 0) {
debug2("Patching connection write() output buffer with updated header");
first2 = req.outputData[0].data;
endOfHeaders = first2.indexOf("\r\n\r\n") + 4;
req.outputData[0].data = req._header + first2.substring(endOfHeaders);
debug2("Output buffer: %o", req.outputData[0].data);
}
}
yield (0, once_1.default)(socket, "connect");
return socket;
});
}
};
exports2.default = HttpProxyAgent;
}
});
// node_modules/teeny-request/node_modules/http-proxy-agent/dist/index.js
var require_dist5 = __commonJS({
"node_modules/teeny-request/node_modules/http-proxy-agent/dist/index.js"(exports2, module2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
var agent_1 = __importDefault(require_agent());
function createHttpProxyAgent(opts) {
return new agent_1.default(opts);
}
(function(createHttpProxyAgent2) {
createHttpProxyAgent2.HttpProxyAgent = agent_1.default;
createHttpProxyAgent2.prototype = agent_1.default.prototype;
})(createHttpProxyAgent || (createHttpProxyAgent = {}));
module2.exports = createHttpProxyAgent;
}
});
// node_modules/teeny-request/node_modules/https-proxy-agent/dist/parse-proxy-response.js
var require_parse_proxy_response = __commonJS({
"node_modules/teeny-request/node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var debug_1 = __importDefault(require_src());
var debug2 = debug_1.default("https-proxy-agent:parse-proxy-response");
function parseProxyResponse(socket) {
return new Promise((resolve25, reject) => {
let buffersLength = 0;
const buffers = [];
function read2() {
const b = socket.read();
if (b)
ondata(b);
else
socket.once("readable", read2);
}
function cleanup() {
socket.removeListener("end", onend);
socket.removeListener("error", onerror);
socket.removeListener("close", onclose);
socket.removeListener("readable", read2);
}
function onclose(err2) {
debug2("onclose had error %o", err2);
}
function onend() {
debug2("onend");
}
function onerror(err2) {
cleanup();
debug2("onerror %o", err2);
reject(err2);
}
function ondata(b) {
buffers.push(b);
buffersLength += b.length;
const buffered = Buffer.concat(buffers, buffersLength);
const endOfHeaders = buffered.indexOf("\r\n\r\n");
if (endOfHeaders === -1) {
debug2("have not received end of HTTP headers yet...");
read2();
return;
}
const firstLine = buffered.toString("ascii", 0, buffered.indexOf("\r\n"));
const statusCode = +firstLine.split(" ")[1];
debug2("got proxy server response: %o", firstLine);
resolve25({
statusCode,
buffered
});
}
socket.on("error", onerror);
socket.on("close", onclose);
socket.on("end", onend);
read2();
});
}
exports2.default = parseProxyResponse;
}
});
// node_modules/teeny-request/node_modules/https-proxy-agent/dist/agent.js
var require_agent2 = __commonJS({
"node_modules/teeny-request/node_modules/https-proxy-agent/dist/agent.js"(exports2) {
"use strict";
var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve25) {
resolve25(value);
});
}
return new (P || (P = Promise))(function(resolve25, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e2) {
reject(e2);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e2) {
reject(e2);
}
}
function step(result2) {
result2.done ? resolve25(result2.value) : adopt(result2.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var net_1 = __importDefault(__require("net"));
var tls_1 = __importDefault(__require("tls"));
var url_1 = __importDefault(__require("url"));
var assert_1 = __importDefault(__require("assert"));
var debug_1 = __importDefault(require_src());
var agent_base_1 = require_src45();
var parse_proxy_response_1 = __importDefault(require_parse_proxy_response());
var debug2 = debug_1.default("https-proxy-agent:agent");
var HttpsProxyAgent2 = class extends agent_base_1.Agent {
constructor(_opts) {
let opts;
if (typeof _opts === "string") {
opts = url_1.default.parse(_opts);
} else {
opts = _opts;
}
if (!opts) {
throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!");
}
debug2("creating new HttpsProxyAgent instance: %o", opts);
super(opts);
const proxy2 = Object.assign({}, opts);
this.secureProxy = opts.secureProxy || isHTTPS(proxy2.protocol);
proxy2.host = proxy2.hostname || proxy2.host;
if (typeof proxy2.port === "string") {
proxy2.port = parseInt(proxy2.port, 10);
}
if (!proxy2.port && proxy2.host) {
proxy2.port = this.secureProxy ? 443 : 80;
}
if (this.secureProxy && !("ALPNProtocols" in proxy2)) {
proxy2.ALPNProtocols = ["http 1.1"];
}
if (proxy2.host && proxy2.path) {
delete proxy2.path;
delete proxy2.pathname;
}
this.proxy = proxy2;
}
/**
* Called when the node-core HTTP client library is creating a
* new HTTP request.
*
* @api protected
*/
callback(req, opts) {
return __awaiter(this, void 0, void 0, function* () {
const { proxy: proxy2, secureProxy } = this;
let socket;
if (secureProxy) {
debug2("Creating `tls.Socket`: %o", proxy2);
socket = tls_1.default.connect(proxy2);
} else {
debug2("Creating `net.Socket`: %o", proxy2);
socket = net_1.default.connect(proxy2);
}
const headers = Object.assign({}, proxy2.headers);
const hostname3 = `${opts.host}:${opts.port}`;
let payload = `CONNECT ${hostname3} HTTP/1.1\r
`;
if (proxy2.auth) {
headers["Proxy-Authorization"] = `Basic ${Buffer.from(proxy2.auth).toString("base64")}`;
}
let { host, port, secureEndpoint } = opts;
if (!isDefaultPort(port, secureEndpoint)) {
host += `:${port}`;
}
headers.Host = host;
headers.Connection = "close";
for (const name3 of Object.keys(headers)) {
payload += `${name3}: ${headers[name3]}\r
`;
}
const proxyResponsePromise = parse_proxy_response_1.default(socket);
socket.write(`${payload}\r
`);
const { statusCode, buffered } = yield proxyResponsePromise;
if (statusCode === 200) {
req.once("socket", resume);
if (opts.secureEndpoint) {
debug2("Upgrading socket connection to TLS");
const servername = opts.servername || opts.host;
return tls_1.default.connect(Object.assign(Object.assign({}, omit2(opts, "host", "hostname", "path", "port")), {
socket,
servername
}));
}
return socket;
}
socket.destroy();
const fakeSocket = new net_1.default.Socket({ writable: false });
fakeSocket.readable = true;
req.once("socket", (s2) => {
debug2("replaying proxy buffer for failed request");
assert_1.default(s2.listenerCount("data") > 0);
s2.push(buffered);
s2.push(null);
});
return fakeSocket;
});
}
};
exports2.default = HttpsProxyAgent2;
function resume(socket) {
socket.resume();
}
function isDefaultPort(port, secure) {
return Boolean(!secure && port === 80 || secure && port === 443);
}
function isHTTPS(protocol) {
return typeof protocol === "string" ? /^https:?$/i.test(protocol) : false;
}
function omit2(obj, ...keys) {
const ret = {};
let key;
for (key in obj) {
if (!keys.includes(key)) {
ret[key] = obj[key];
}
}
return ret;
}
}
});
// node_modules/teeny-request/node_modules/https-proxy-agent/dist/index.js
var require_dist6 = __commonJS({
"node_modules/teeny-request/node_modules/https-proxy-agent/dist/index.js"(exports2, module2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
var agent_1 = __importDefault(require_agent2());
function createHttpsProxyAgent(opts) {
return new agent_1.default(opts);
}
(function(createHttpsProxyAgent2) {
createHttpsProxyAgent2.HttpsProxyAgent = agent_1.default;
createHttpsProxyAgent2.prototype = agent_1.default.prototype;
})(createHttpsProxyAgent || (createHttpsProxyAgent = {}));
module2.exports = createHttpsProxyAgent;
}
});
// node_modules/teeny-request/build/src/agents.js
var require_agents = __commonJS({
"node_modules/teeny-request/build/src/agents.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getAgent = exports2.pool = void 0;
var http_1 = __require("http");
var https_1 = __require("https");
var url_1 = __require("url");
exports2.pool = /* @__PURE__ */ new Map();
function shouldUseProxyForURI(uri) {
const noProxyEnv = process.env.NO_PROXY || process.env.no_proxy;
if (!noProxyEnv) {
return true;
}
const givenURI = new URL(uri);
for (const noProxyRaw of noProxyEnv.split(",")) {
const noProxy = noProxyRaw.trim();
if (noProxy === givenURI.origin || noProxy === givenURI.hostname) {
return false;
} else if (noProxy.startsWith("*.") || noProxy.startsWith(".")) {
const noProxyWildcard = noProxy.replace(/^\*\./, ".");
if (givenURI.hostname.endsWith(noProxyWildcard)) {
return false;
}
}
}
return true;
}
function getAgent(uri, reqOpts) {
const isHttp = uri.startsWith("http://");
const proxy2 = reqOpts.proxy || process.env.HTTP_PROXY || process.env.http_proxy || process.env.HTTPS_PROXY || process.env.https_proxy;
const poolOptions = Object.assign({}, reqOpts.pool);
const manuallyProvidedProxy = !!reqOpts.proxy;
const shouldUseProxy = manuallyProvidedProxy || shouldUseProxyForURI(uri);
if (proxy2 && shouldUseProxy) {
const Agent2 = isHttp ? require_dist5() : require_dist6();
const proxyOpts = { ...(0, url_1.parse)(proxy2), ...poolOptions };
return new Agent2(proxyOpts);
}
let key = isHttp ? "http" : "https";
if (reqOpts.forever) {
key += ":forever";
if (!exports2.pool.has(key)) {
const Agent2 = isHttp ? http_1.Agent : https_1.Agent;
exports2.pool.set(key, new Agent2({ ...poolOptions, keepAlive: true }));
}
}
return exports2.pool.get(key);
}
exports2.getAgent = getAgent;
}
});
// node_modules/teeny-request/build/src/TeenyStatistics.js
var require_TeenyStatistics = __commonJS({
"node_modules/teeny-request/build/src/TeenyStatistics.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TeenyStatistics = exports2.TeenyStatisticsWarning = void 0;
var TeenyStatisticsWarning = class extends Error {
/**
* @param {string} message
*/
constructor(message) {
super(message);
this.threshold = 0;
this.type = "";
this.value = 0;
this.name = this.constructor.name;
Error.captureStackTrace(this, this.constructor);
}
};
exports2.TeenyStatisticsWarning = TeenyStatisticsWarning;
TeenyStatisticsWarning.CONCURRENT_REQUESTS = "ConcurrentRequestsExceededWarning";
var TeenyStatistics = class _TeenyStatistics {
/**
* @param {TeenyStatisticsOptions} [opts]
*/
constructor(opts) {
this._concurrentRequests = 0;
this._didConcurrentRequestWarn = false;
this._options = _TeenyStatistics._prepareOptions(opts);
}
/**
* Returns a copy of the current options.
* @return {TeenyStatisticsOptions}
*/
getOptions() {
return Object.assign({}, this._options);
}
/**
* Change configured statistics options. This will not preserve unspecified
* options that were previously specified, i.e. this is a reset of options.
* @param {TeenyStatisticsOptions} [opts]
* @returns {TeenyStatisticsConfig} The previous options.
* @see _prepareOptions
*/
setOptions(opts) {
const oldOpts = this._options;
this._options = _TeenyStatistics._prepareOptions(opts);
return oldOpts;
}
/**
* @readonly
* @return {TeenyStatisticsCounters}
*/
get counters() {
return {
concurrentRequests: this._concurrentRequests
};
}
/**
* @description Should call this right before making a request.
*/
requestStarting() {
this._concurrentRequests++;
if (this._options.concurrentRequests > 0 && this._concurrentRequests >= this._options.concurrentRequests && !this._didConcurrentRequestWarn) {
this._didConcurrentRequestWarn = true;
const warning = new TeenyStatisticsWarning("Possible excessive concurrent requests detected. " + this._concurrentRequests + " requests in-flight, which exceeds the configured threshold of " + this._options.concurrentRequests + ". Use the TEENY_REQUEST_WARN_CONCURRENT_REQUESTS environment variable or the concurrentRequests option of teeny-request to increase or disable (0) this warning.");
warning.type = TeenyStatisticsWarning.CONCURRENT_REQUESTS;
warning.value = this._concurrentRequests;
warning.threshold = this._options.concurrentRequests;
process.emitWarning(warning);
}
}
/**
* @description When using `requestStarting`, call this after the request
* has finished.
*/
requestFinished() {
this._concurrentRequests--;
}
/**
* Configuration Precedence:
* 1. Dependency inversion via defined option.
* 2. Global numeric environment variable.
* 3. Built-in default.
* This will not preserve unspecified options previously specified.
* @param {TeenyStatisticsOptions} [opts]
* @returns {TeenyStatisticsOptions}
* @private
*/
static _prepareOptions({ concurrentRequests: diConcurrentRequests } = {}) {
let concurrentRequests = this.DEFAULT_WARN_CONCURRENT_REQUESTS;
const envConcurrentRequests = Number(process.env.TEENY_REQUEST_WARN_CONCURRENT_REQUESTS);
if (diConcurrentRequests !== void 0) {
concurrentRequests = diConcurrentRequests;
} else if (!Number.isNaN(envConcurrentRequests)) {
concurrentRequests = envConcurrentRequests;
}
return { concurrentRequests };
}
};
exports2.TeenyStatistics = TeenyStatistics;
TeenyStatistics.DEFAULT_WARN_CONCURRENT_REQUESTS = 5e3;
}
});
// node_modules/stubs/index.js
var require_stubs = __commonJS({
"node_modules/stubs/index.js"(exports2, module2) {
"use strict";
module2.exports = function stubs(obj, method, cfg, stub) {
if (!obj || !method || !obj[method])
throw new Error("You must provide an object and a key for an existing method");
if (!stub) {
stub = cfg;
cfg = {};
}
stub = stub || function() {
};
cfg.callthrough = cfg.callthrough || false;
cfg.calls = cfg.calls || 0;
var norevert = cfg.calls === 0;
var cached2 = obj[method].bind(obj);
obj[method] = function() {
var args2 = [].slice.call(arguments);
var returnVal;
if (cfg.callthrough)
returnVal = cached2.apply(obj, args2);
returnVal = stub.apply(obj, args2) || returnVal;
if (!norevert && --cfg.calls === 0)
obj[method] = cached2;
return returnVal;
};
};
}
});
// node_modules/stream-events/index.js
var require_stream_events = __commonJS({
"node_modules/stream-events/index.js"(exports2, module2) {
"use strict";
var stubs = require_stubs();
function StreamEvents(stream2) {
stream2 = stream2 || this;
var cfg = {
callthrough: true,
calls: 1
};
stubs(stream2, "_read", cfg, stream2.emit.bind(stream2, "reading"));
stubs(stream2, "_write", cfg, stream2.emit.bind(stream2, "writing"));
return stream2;
}
module2.exports = StreamEvents;
}
});
// node_modules/teeny-request/build/src/index.js
var require_src46 = __commonJS({
"node_modules/teeny-request/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.teenyRequest = exports2.RequestError = void 0;
var node_fetch_1 = require_lib3();
var stream_1 = __require("stream");
var uuid3 = (init_esm_node(), __toCommonJS(esm_node_exports));
var agents_1 = require_agents();
var TeenyStatistics_1 = require_TeenyStatistics();
var streamEvents = require_stream_events();
var RequestError = class extends Error {
};
exports2.RequestError = RequestError;
function requestToFetchOptions(reqOpts) {
const options = {
method: reqOpts.method || "GET",
...reqOpts.timeout && { timeout: reqOpts.timeout },
...typeof reqOpts.gzip === "boolean" && { compress: reqOpts.gzip }
};
if (typeof reqOpts.json === "object") {
reqOpts.headers = reqOpts.headers || {};
reqOpts.headers["Content-Type"] = "application/json";
options.body = JSON.stringify(reqOpts.json);
} else {
if (Buffer.isBuffer(reqOpts.body)) {
options.body = reqOpts.body;
} else if (typeof reqOpts.body !== "string") {
options.body = JSON.stringify(reqOpts.body);
} else {
options.body = reqOpts.body;
}
}
options.headers = reqOpts.headers;
let uri = reqOpts.uri || reqOpts.url;
if (!uri) {
throw new Error("Missing uri or url in reqOpts.");
}
if (reqOpts.useQuerystring === true || typeof reqOpts.qs === "object") {
const qs = __require("querystring");
const params = qs.stringify(reqOpts.qs);
uri = uri + "?" + params;
}
options.agent = (0, agents_1.getAgent)(uri, reqOpts);
return { uri, options };
}
function fetchToRequestResponse(opts, res) {
const request = {};
request.agent = opts.agent || false;
request.headers = opts.headers || {};
request.href = res.url;
const resHeaders = {};
res.headers.forEach((value, key) => resHeaders[key] = value);
const response = Object.assign(res.body, {
statusCode: res.status,
statusMessage: res.statusText,
request,
body: res.body,
headers: resHeaders,
toJSON: () => ({ headers: resHeaders })
});
return response;
}
function createMultipartStream(boundary, multipart) {
const finale = `--${boundary}--`;
const stream2 = new stream_1.PassThrough();
for (const part of multipart) {
const preamble = `--${boundary}\r
Content-Type: ${part["Content-Type"]}\r
\r
`;
stream2.write(preamble);
if (typeof part.body === "string") {
stream2.write(part.body);
stream2.write("\r\n");
} else {
part.body.pipe(stream2, { end: false });
part.body.on("end", () => {
stream2.write("\r\n");
stream2.write(finale);
stream2.end();
});
}
}
return stream2;
}
function teenyRequest(reqOpts, callback) {
const { uri, options } = requestToFetchOptions(reqOpts);
const multipart = reqOpts.multipart;
if (reqOpts.multipart && multipart.length === 2) {
if (!callback) {
throw new Error("Multipart without callback is not implemented.");
}
const boundary = uuid3.v4();
options.headers["Content-Type"] = `multipart/related; boundary=${boundary}`;
options.body = createMultipartStream(boundary, multipart);
teenyRequest.stats.requestStarting();
(0, node_fetch_1.default)(uri, options).then((res) => {
teenyRequest.stats.requestFinished();
const header = res.headers.get("content-type");
const response = fetchToRequestResponse(options, res);
const body2 = response.body;
if (header === "application/json" || header === "application/json; charset=utf-8") {
res.json().then((json3) => {
response.body = json3;
callback(null, response, json3);
}, (err2) => {
callback(err2, response, body2);
});
return;
}
res.text().then((text) => {
response.body = text;
callback(null, response, text);
}, (err2) => {
callback(err2, response, body2);
});
}, (err2) => {
teenyRequest.stats.requestFinished();
callback(err2, null, null);
});
return;
}
if (callback === void 0) {
const requestStream = streamEvents(new stream_1.PassThrough());
let responseStream;
requestStream.once("reading", () => {
if (responseStream) {
(0, stream_1.pipeline)(responseStream, requestStream, () => {
});
} else {
requestStream.once("response", () => {
(0, stream_1.pipeline)(responseStream, requestStream, () => {
});
});
}
});
options.compress = false;
teenyRequest.stats.requestStarting();
(0, node_fetch_1.default)(uri, options).then((res) => {
teenyRequest.stats.requestFinished();
responseStream = res.body;
responseStream.on("error", (err2) => {
requestStream.emit("error", err2);
});
const response = fetchToRequestResponse(options, res);
requestStream.emit("response", response);
}, (err2) => {
teenyRequest.stats.requestFinished();
requestStream.emit("error", err2);
});
return requestStream;
}
teenyRequest.stats.requestStarting();
(0, node_fetch_1.default)(uri, options).then((res) => {
teenyRequest.stats.requestFinished();
const header = res.headers.get("content-type");
const response = fetchToRequestResponse(options, res);
const body2 = response.body;
if (header === "application/json" || header === "application/json; charset=utf-8") {
if (response.statusCode === 204) {
callback(null, response, body2);
return;
}
res.json().then((json3) => {
response.body = json3;
callback(null, response, json3);
}, (err2) => {
callback(err2, response, body2);
});
return;
}
res.text().then((text) => {
const response2 = fetchToRequestResponse(options, res);
response2.body = text;
callback(null, response2, text);
}, (err2) => {
callback(err2, response, body2);
});
}, (err2) => {
teenyRequest.stats.requestFinished();
callback(err2, null, null);
});
return;
}
exports2.teenyRequest = teenyRequest;
teenyRequest.defaults = (defaults2) => {
return (reqOpts, callback) => {
const opts = { ...defaults2, ...reqOpts };
if (callback === void 0) {
return teenyRequest(opts);
}
teenyRequest(opts, callback);
};
};
teenyRequest.stats = new TeenyStatistics_1.TeenyStatistics();
teenyRequest.resetStats = () => {
teenyRequest.stats = new TeenyStatistics_1.TeenyStatistics(teenyRequest.stats.getOptions());
};
}
});
// node_modules/@google-cloud/common/build/src/service.js
var require_service4 = __commonJS({
"node_modules/@google-cloud/common/build/src/service.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Service = exports2.DEFAULT_PROJECT_ID_TOKEN = void 0;
var arrify2 = require_arrify();
var extend4 = require_extend();
var util_1 = require_util9();
exports2.DEFAULT_PROJECT_ID_TOKEN = "{{projectId}}";
var Service = class _Service {
/**
* Service is a base class, meant to be inherited from by a "service," like
* BigQuery or Storage.
*
* This handles making authenticated requests by exposing a `makeReq_`
* function.
*
* @constructor
* @alias module:common/service
*
* @param {object} config - Configuration object.
* @param {string} config.baseUrl - The base URL to make API requests to.
* @param {string[]} config.scopes - The scopes required for the request.
* @param {object=} options - [Configuration object](#/docs).
*/
constructor(config2, options = {}) {
this.baseUrl = config2.baseUrl;
this.apiEndpoint = config2.apiEndpoint;
this.timeout = options.timeout;
this.globalInterceptors = arrify2(options.interceptors_);
this.interceptors = [];
this.packageJson = config2.packageJson;
this.projectId = options.projectId || exports2.DEFAULT_PROJECT_ID_TOKEN;
this.projectIdRequired = config2.projectIdRequired !== false;
this.providedUserAgent = options.userAgent;
const reqCfg = extend4({}, config2, {
projectIdRequired: this.projectIdRequired,
projectId: this.projectId,
authClient: options.authClient,
credentials: options.credentials,
keyFile: options.keyFilename,
email: options.email,
token: options.token
});
this.makeAuthenticatedRequest = util_1.util.makeAuthenticatedRequestFactory(reqCfg);
this.authClient = this.makeAuthenticatedRequest.authClient;
this.getCredentials = this.makeAuthenticatedRequest.getCredentials;
const isCloudFunctionEnv = !!process.env.FUNCTION_NAME;
if (isCloudFunctionEnv) {
this.interceptors.push({
request(reqOpts) {
reqOpts.forever = false;
return reqOpts;
}
});
}
}
/**
* Return the user's custom request interceptors.
*/
getRequestInterceptors() {
return [].slice.call(this.globalInterceptors).concat(this.interceptors).filter((interceptor) => typeof interceptor.request === "function").map((interceptor) => interceptor.request);
}
getProjectId(callback) {
if (!callback) {
return this.getProjectIdAsync();
}
this.getProjectIdAsync().then((p) => callback(null, p), callback);
}
async getProjectIdAsync() {
const projectId = await this.authClient.getProjectId();
if (this.projectId === exports2.DEFAULT_PROJECT_ID_TOKEN && projectId) {
this.projectId = projectId;
}
return this.projectId;
}
request_(reqOpts, callback) {
reqOpts = extend4(true, {}, reqOpts, { timeout: this.timeout });
const isAbsoluteUrl = reqOpts.uri.indexOf("http") === 0;
const uriComponents = [this.baseUrl];
if (this.projectIdRequired) {
if (reqOpts.projectId) {
uriComponents.push("projects");
uriComponents.push(reqOpts.projectId);
} else {
uriComponents.push("projects");
uriComponents.push(this.projectId);
}
}
uriComponents.push(reqOpts.uri);
if (isAbsoluteUrl) {
uriComponents.splice(0, uriComponents.indexOf(reqOpts.uri));
}
reqOpts.uri = uriComponents.map((uriComponent) => {
const trimSlashesRegex = /^\/*|\/*$/g;
return uriComponent.replace(trimSlashesRegex, "");
}).join("/").replace(/\/:/g, ":");
const requestInterceptors = this.getRequestInterceptors();
arrify2(reqOpts.interceptors_).forEach((interceptor) => {
if (typeof interceptor.request === "function") {
requestInterceptors.push(interceptor.request);
}
});
requestInterceptors.forEach((requestInterceptor) => {
reqOpts = requestInterceptor(reqOpts);
});
delete reqOpts.interceptors_;
const pkg2 = this.packageJson;
let userAgent = util_1.util.getUserAgentFromPackageJson(pkg2);
if (this.providedUserAgent) {
userAgent = `${this.providedUserAgent} ${userAgent}`;
}
reqOpts.headers = extend4({}, reqOpts.headers, {
"User-Agent": userAgent,
"x-goog-api-client": `gl-node/${process.versions.node} gccl/${pkg2.version}`
});
if (reqOpts.shouldReturnStream) {
return this.makeAuthenticatedRequest(reqOpts);
} else {
this.makeAuthenticatedRequest(reqOpts, callback);
}
}
/**
* Make an authenticated API request.
*
* @param {object} reqOpts - Request options that are passed to `request`.
* @param {string} reqOpts.uri - A URI relative to the baseUrl.
* @param {function} callback - The callback function passed to `request`.
*/
request(reqOpts, callback) {
_Service.prototype.request_.call(this, reqOpts, callback);
}
/**
* Make an authenticated API request.
*
* @param {object} reqOpts - Request options that are passed to `request`.
* @param {string} reqOpts.uri - A URI relative to the baseUrl.
*/
requestStream(reqOpts) {
const opts = extend4(true, reqOpts, { shouldReturnStream: true });
return _Service.prototype.request_.call(this, opts);
}
};
exports2.Service = Service;
}
});
// node_modules/readable-stream/lib/internal/streams/stream.js
var require_stream = __commonJS({
"node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
module2.exports = __require("stream");
}
});
// node_modules/readable-stream/lib/internal/streams/buffer_list.js
var require_buffer_list = __commonJS({
"node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
"use strict";
function ownKeys(object3, enumerableOnly) {
var keys = Object.keys(object3);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object3);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object3, sym).enumerable;
})), keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread(target) {
for (var i3 = 1; i3 < arguments.length; i3++) {
var source = null != arguments[i3] ? arguments[i3] : {};
i3 % 2 ? ownKeys(Object(source), true).forEach(function(key) {
_defineProperty(target, key, source[key]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
} else {
obj[key] = value;
}
return obj;
}
function _classCallCheck(instance2, Constructor) {
if (!(instance2 instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _defineProperties(target, props) {
for (var i3 = 0; i3 < props.length; i3++) {
var descriptor2 = props[i3];
descriptor2.enumerable = descriptor2.enumerable || false;
descriptor2.configurable = true;
if ("value" in descriptor2) descriptor2.writable = true;
Object.defineProperty(target, _toPropertyKey(descriptor2.key), descriptor2);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
Object.defineProperty(Constructor, "prototype", { writable: false });
return Constructor;
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return typeof key === "symbol" ? key : String(key);
}
function _toPrimitive(input, hint) {
if (typeof input !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== void 0) {
var res = prim.call(input, hint || "default");
if (typeof res !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
var _require = __require("buffer");
var Buffer6 = _require.Buffer;
var _require2 = __require("util");
var inspect4 = _require2.inspect;
var custom2 = inspect4 && inspect4.custom || "inspect";
function copyBuffer(src, target, offset) {
Buffer6.prototype.copy.call(src, target, offset);
}
module2.exports = /* @__PURE__ */ function() {
function BufferList() {
_classCallCheck(this, BufferList);
this.head = null;
this.tail = null;
this.length = 0;
}
_createClass(BufferList, [{
key: "push",
value: function push(v) {
var entry = {
data: v,
next: null
};
if (this.length > 0) this.tail.next = entry;
else this.head = entry;
this.tail = entry;
++this.length;
}
}, {
key: "unshift",
value: function unshift(v) {
var entry = {
data: v,
next: this.head
};
if (this.length === 0) this.tail = entry;
this.head = entry;
++this.length;
}
}, {
key: "shift",
value: function shift() {
if (this.length === 0) return;
var ret = this.head.data;
if (this.length === 1) this.head = this.tail = null;
else this.head = this.head.next;
--this.length;
return ret;
}
}, {
key: "clear",
value: function clear() {
this.head = this.tail = null;
this.length = 0;
}
}, {
key: "join",
value: function join38(s2) {
if (this.length === 0) return "";
var p = this.head;
var ret = "" + p.data;
while (p = p.next) ret += s2 + p.data;
return ret;
}
}, {
key: "concat",
value: function concat(n3) {
if (this.length === 0) return Buffer6.alloc(0);
var ret = Buffer6.allocUnsafe(n3 >>> 0);
var p = this.head;
var i3 = 0;
while (p) {
copyBuffer(p.data, ret, i3);
i3 += p.data.length;
p = p.next;
}
return ret;
}
// Consumes a specified amount of bytes or characters from the buffered data.
}, {
key: "consume",
value: function consume(n3, hasStrings) {
var ret;
if (n3 < this.head.data.length) {
ret = this.head.data.slice(0, n3);
this.head.data = this.head.data.slice(n3);
} else if (n3 === this.head.data.length) {
ret = this.shift();
} else {
ret = hasStrings ? this._getString(n3) : this._getBuffer(n3);
}
return ret;
}
}, {
key: "first",
value: function first2() {
return this.head.data;
}
// Consumes a specified amount of characters from the buffered data.
}, {
key: "_getString",
value: function _getString(n3) {
var p = this.head;
var c4 = 1;
var ret = p.data;
n3 -= ret.length;
while (p = p.next) {
var str2 = p.data;
var nb = n3 > str2.length ? str2.length : n3;
if (nb === str2.length) ret += str2;
else ret += str2.slice(0, n3);
n3 -= nb;
if (n3 === 0) {
if (nb === str2.length) {
++c4;
if (p.next) this.head = p.next;
else this.head = this.tail = null;
} else {
this.head = p;
p.data = str2.slice(nb);
}
break;
}
++c4;
}
this.length -= c4;
return ret;
}
// Consumes a specified amount of bytes from the buffered data.
}, {
key: "_getBuffer",
value: function _getBuffer(n3) {
var ret = Buffer6.allocUnsafe(n3);
var p = this.head;
var c4 = 1;
p.data.copy(ret);
n3 -= p.data.length;
while (p = p.next) {
var buf = p.data;
var nb = n3 > buf.length ? buf.length : n3;
buf.copy(ret, ret.length - n3, 0, nb);
n3 -= nb;
if (n3 === 0) {
if (nb === buf.length) {
++c4;
if (p.next) this.head = p.next;
else this.head = this.tail = null;
} else {
this.head = p;
p.data = buf.slice(nb);
}
break;
}
++c4;
}
this.length -= c4;
return ret;
}
// Make sure the linked list only shows the minimal necessary information.
}, {
key: custom2,
value: function value(_, options) {
return inspect4(this, _objectSpread(_objectSpread({}, options), {}, {
// Only inspect one level.
depth: 0,
// It should not recurse.
customInspect: false
}));
}
}]);
return BufferList;
}();
}
});
// node_modules/readable-stream/lib/internal/streams/destroy.js
var require_destroy = __commonJS({
"node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
"use strict";
function destroy(err2, cb) {
var _this = this;
var readableDestroyed = this._readableState && this._readableState.destroyed;
var writableDestroyed = this._writableState && this._writableState.destroyed;
if (readableDestroyed || writableDestroyed) {
if (cb) {
cb(err2);
} else if (err2) {
if (!this._writableState) {
process.nextTick(emitErrorNT, this, err2);
} else if (!this._writableState.errorEmitted) {
this._writableState.errorEmitted = true;
process.nextTick(emitErrorNT, this, err2);
}
}
return this;
}
if (this._readableState) {
this._readableState.destroyed = true;
}
if (this._writableState) {
this._writableState.destroyed = true;
}
this._destroy(err2 || null, function(err3) {
if (!cb && err3) {
if (!_this._writableState) {
process.nextTick(emitErrorAndCloseNT, _this, err3);
} else if (!_this._writableState.errorEmitted) {
_this._writableState.errorEmitted = true;
process.nextTick(emitErrorAndCloseNT, _this, err3);
} else {
process.nextTick(emitCloseNT, _this);
}
} else if (cb) {
process.nextTick(emitCloseNT, _this);
cb(err3);
} else {
process.nextTick(emitCloseNT, _this);
}
});
return this;
}
function emitErrorAndCloseNT(self2, err2) {
emitErrorNT(self2, err2);
emitCloseNT(self2);
}
function emitCloseNT(self2) {
if (self2._writableState && !self2._writableState.emitClose) return;
if (self2._readableState && !self2._readableState.emitClose) return;
self2.emit("close");
}
function undestroy() {
if (this._readableState) {
this._readableState.destroyed = false;
this._readableState.reading = false;
this._readableState.ended = false;
this._readableState.endEmitted = false;
}
if (this._writableState) {
this._writableState.destroyed = false;
this._writableState.ended = false;
this._writableState.ending = false;
this._writableState.finalCalled = false;
this._writableState.prefinished = false;
this._writableState.finished = false;
this._writableState.errorEmitted = false;
}
}
function emitErrorNT(self2, err2) {
self2.emit("error", err2);
}
function errorOrDestroy(stream2, err2) {
var rState = stream2._readableState;
var wState = stream2._writableState;
if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream2.destroy(err2);
else stream2.emit("error", err2);
}
module2.exports = {
destroy,
undestroy,
errorOrDestroy
};
}
});
// node_modules/readable-stream/errors.js
var require_errors2 = __commonJS({
"node_modules/readable-stream/errors.js"(exports2, module2) {
"use strict";
var codes = {};
function createErrorType(code, message, Base) {
if (!Base) {
Base = Error;
}
function getMessage2(arg1, arg2, arg3) {
if (typeof message === "string") {
return message;
} else {
return message(arg1, arg2, arg3);
}
}
class NodeError extends Base {
constructor(arg1, arg2, arg3) {
super(getMessage2(arg1, arg2, arg3));
}
}
NodeError.prototype.name = Base.name;
NodeError.prototype.code = code;
codes[code] = NodeError;
}
function oneOf(expected, thing) {
if (Array.isArray(expected)) {
const len = expected.length;
expected = expected.map((i3) => String(i3));
if (len > 2) {
return `one of ${thing} ${expected.slice(0, len - 1).join(", ")}, or ` + expected[len - 1];
} else if (len === 2) {
return `one of ${thing} ${expected[0]} or ${expected[1]}`;
} else {
return `of ${thing} ${expected[0]}`;
}
} else {
return `of ${thing} ${String(expected)}`;
}
}
function startsWith(str2, search, pos) {
return str2.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
}
function endsWith(str2, search, this_len) {
if (this_len === void 0 || this_len > str2.length) {
this_len = str2.length;
}
return str2.substring(this_len - search.length, this_len) === search;
}
function includes(str2, search, start2) {
if (typeof start2 !== "number") {
start2 = 0;
}
if (start2 + search.length > str2.length) {
return false;
} else {
return str2.indexOf(search, start2) !== -1;
}
}
createErrorType("ERR_INVALID_OPT_VALUE", function(name3, value) {
return 'The value "' + value + '" is invalid for option "' + name3 + '"';
}, TypeError);
createErrorType("ERR_INVALID_ARG_TYPE", function(name3, expected, actual) {
let determiner;
if (typeof expected === "string" && startsWith(expected, "not ")) {
determiner = "must not be";
expected = expected.replace(/^not /, "");
} else {
determiner = "must be";
}
let msg;
if (endsWith(name3, " argument")) {
msg = `The ${name3} ${determiner} ${oneOf(expected, "type")}`;
} else {
const type2 = includes(name3, ".") ? "property" : "argument";
msg = `The "${name3}" ${type2} ${determiner} ${oneOf(expected, "type")}`;
}
msg += `. Received type ${typeof actual}`;
return msg;
}, TypeError);
createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");
createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name3) {
return "The " + name3 + " method is not implemented";
});
createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");
createErrorType("ERR_STREAM_DESTROYED", function(name3) {
return "Cannot call " + name3 + " after a stream was destroyed";
});
createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");
createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");
createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");
createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {
return "Unknown encoding: " + arg;
}, TypeError);
createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");
module2.exports.codes = codes;
}
});
// node_modules/readable-stream/lib/internal/streams/state.js
var require_state = __commonJS({
"node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
"use strict";
var ERR_INVALID_OPT_VALUE = require_errors2().codes.ERR_INVALID_OPT_VALUE;
function highWaterMarkFrom(options, isDuplex, duplexKey) {
return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
}
function getHighWaterMark2(state, options, duplexKey, isDuplex) {
var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
if (hwm != null) {
if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {
var name3 = isDuplex ? duplexKey : "highWaterMark";
throw new ERR_INVALID_OPT_VALUE(name3, hwm);
}
return Math.floor(hwm);
}
return state.objectMode ? 16 : 16 * 1024;
}
module2.exports = {
getHighWaterMark: getHighWaterMark2
};
}
});
// node_modules/inherits/inherits_browser.js
var require_inherits_browser = __commonJS({
"node_modules/inherits/inherits_browser.js"(exports2, module2) {
if (typeof Object.create === "function") {
module2.exports = function inherits(ctor, superCtor) {
if (superCtor) {
ctor.super_ = superCtor;
ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
value: ctor,
enumerable: false,
writable: true,
configurable: true
}
});
}
};
} else {
module2.exports = function inherits(ctor, superCtor) {
if (superCtor) {
ctor.super_ = superCtor;
var TempCtor = function() {
};
TempCtor.prototype = superCtor.prototype;
ctor.prototype = new TempCtor();
ctor.prototype.constructor = ctor;
}
};
}
}
});
// node_modules/inherits/inherits.js
var require_inherits = __commonJS({
"node_modules/inherits/inherits.js"(exports2, module2) {
try {
util2 = __require("util");
if (typeof util2.inherits !== "function") throw "";
module2.exports = util2.inherits;
} catch (e2) {
module2.exports = require_inherits_browser();
}
var util2;
}
});
// node_modules/util-deprecate/node.js
var require_node13 = __commonJS({
"node_modules/util-deprecate/node.js"(exports2, module2) {
module2.exports = __require("util").deprecate;
}
});
// node_modules/readable-stream/lib/_stream_writable.js
var require_stream_writable = __commonJS({
"node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
"use strict";
module2.exports = Writable4;
function CorkedRequest(state) {
var _this = this;
this.next = null;
this.entry = null;
this.finish = function() {
onCorkedFinish(_this, state);
};
}
var Duplex4;
Writable4.WritableState = WritableState;
var internalUtil = {
deprecate: require_node13()
};
var Stream2 = require_stream();
var Buffer6 = __require("buffer").Buffer;
var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
};
function _uint8ArrayToBuffer(chunk) {
return Buffer6.from(chunk);
}
function _isUint8Array(obj) {
return Buffer6.isBuffer(obj) || obj instanceof OurUint8Array;
}
var destroyImpl = require_destroy();
var _require = require_state();
var getHighWaterMark2 = _require.getHighWaterMark;
var _require$codes = require_errors2().codes;
var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;
var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;
var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;
var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;
var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;
var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;
var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;
var errorOrDestroy = destroyImpl.errorOrDestroy;
require_inherits()(Writable4, Stream2);
function nop() {
}
function WritableState(options, stream2, isDuplex) {
Duplex4 = Duplex4 || require_stream_duplex();
options = options || {};
if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof Duplex4;
this.objectMode = !!options.objectMode;
if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
this.highWaterMark = getHighWaterMark2(this, options, "writableHighWaterMark", isDuplex);
this.finalCalled = false;
this.needDrain = false;
this.ending = false;
this.ended = false;
this.finished = false;
this.destroyed = false;
var noDecode = options.decodeStrings === false;
this.decodeStrings = !noDecode;
this.defaultEncoding = options.defaultEncoding || "utf8";
this.length = 0;
this.writing = false;
this.corked = 0;
this.sync = true;
this.bufferProcessing = false;
this.onwrite = function(er) {
onwrite(stream2, er);
};
this.writecb = null;
this.writelen = 0;
this.bufferedRequest = null;
this.lastBufferedRequest = null;
this.pendingcb = 0;
this.prefinished = false;
this.errorEmitted = false;
this.emitClose = options.emitClose !== false;
this.autoDestroy = !!options.autoDestroy;
this.bufferedRequestCount = 0;
this.corkedRequestsFree = new CorkedRequest(this);
}
WritableState.prototype.getBuffer = function getBuffer() {
var current = this.bufferedRequest;
var out2 = [];
while (current) {
out2.push(current);
current = current.next;
}
return out2;
};
(function() {
try {
Object.defineProperty(WritableState.prototype, "buffer", {
get: internalUtil.deprecate(function writableStateBufferGetter() {
return this.getBuffer();
}, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
});
} catch (_) {
}
})();
var realHasInstance;
if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
realHasInstance = Function.prototype[Symbol.hasInstance];
Object.defineProperty(Writable4, Symbol.hasInstance, {
value: function value(object3) {
if (realHasInstance.call(this, object3)) return true;
if (this !== Writable4) return false;
return object3 && object3._writableState instanceof WritableState;
}
});
} else {
realHasInstance = function realHasInstance2(object3) {
return object3 instanceof this;
};
}
function Writable4(options) {
Duplex4 = Duplex4 || require_stream_duplex();
var isDuplex = this instanceof Duplex4;
if (!isDuplex && !realHasInstance.call(Writable4, this)) return new Writable4(options);
this._writableState = new WritableState(options, this, isDuplex);
this.writable = true;
if (options) {
if (typeof options.write === "function") this._write = options.write;
if (typeof options.writev === "function") this._writev = options.writev;
if (typeof options.destroy === "function") this._destroy = options.destroy;
if (typeof options.final === "function") this._final = options.final;
}
Stream2.call(this);
}
Writable4.prototype.pipe = function() {
errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
};
function writeAfterEnd(stream2, cb) {
var er = new ERR_STREAM_WRITE_AFTER_END();
errorOrDestroy(stream2, er);
process.nextTick(cb, er);
}
function validChunk(stream2, state, chunk, cb) {
var er;
if (chunk === null) {
er = new ERR_STREAM_NULL_VALUES();
} else if (typeof chunk !== "string" && !state.objectMode) {
er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);
}
if (er) {
errorOrDestroy(stream2, er);
process.nextTick(cb, er);
return false;
}
return true;
}
Writable4.prototype.write = function(chunk, encoding, cb) {
var state = this._writableState;
var ret = false;
var isBuf = !state.objectMode && _isUint8Array(chunk);
if (isBuf && !Buffer6.isBuffer(chunk)) {
chunk = _uint8ArrayToBuffer(chunk);
}
if (typeof encoding === "function") {
cb = encoding;
encoding = null;
}
if (isBuf) encoding = "buffer";
else if (!encoding) encoding = state.defaultEncoding;
if (typeof cb !== "function") cb = nop;
if (state.ending) writeAfterEnd(this, cb);
else if (isBuf || validChunk(this, state, chunk, cb)) {
state.pendingcb++;
ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
}
return ret;
};
Writable4.prototype.cork = function() {
this._writableState.corked++;
};
Writable4.prototype.uncork = function() {
var state = this._writableState;
if (state.corked) {
state.corked--;
if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
}
};
Writable4.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
if (typeof encoding === "string") encoding = encoding.toLowerCase();
if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);
this._writableState.defaultEncoding = encoding;
return this;
};
Object.defineProperty(Writable4.prototype, "writableBuffer", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._writableState && this._writableState.getBuffer();
}
});
function decodeChunk(state, chunk, encoding) {
if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
chunk = Buffer6.from(chunk, encoding);
}
return chunk;
}
Object.defineProperty(Writable4.prototype, "writableHighWaterMark", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._writableState.highWaterMark;
}
});
function writeOrBuffer(stream2, state, isBuf, chunk, encoding, cb) {
if (!isBuf) {
var newChunk = decodeChunk(state, chunk, encoding);
if (chunk !== newChunk) {
isBuf = true;
encoding = "buffer";
chunk = newChunk;
}
}
var len = state.objectMode ? 1 : chunk.length;
state.length += len;
var ret = state.length < state.highWaterMark;
if (!ret) state.needDrain = true;
if (state.writing || state.corked) {
var last2 = state.lastBufferedRequest;
state.lastBufferedRequest = {
chunk,
encoding,
isBuf,
callback: cb,
next: null
};
if (last2) {
last2.next = state.lastBufferedRequest;
} else {
state.bufferedRequest = state.lastBufferedRequest;
}
state.bufferedRequestCount += 1;
} else {
doWrite(stream2, state, false, len, chunk, encoding, cb);
}
return ret;
}
function doWrite(stream2, state, writev, len, chunk, encoding, cb) {
state.writelen = len;
state.writecb = cb;
state.writing = true;
state.sync = true;
if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
else if (writev) stream2._writev(chunk, state.onwrite);
else stream2._write(chunk, encoding, state.onwrite);
state.sync = false;
}
function onwriteError(stream2, state, sync2, er, cb) {
--state.pendingcb;
if (sync2) {
process.nextTick(cb, er);
process.nextTick(finishMaybe, stream2, state);
stream2._writableState.errorEmitted = true;
errorOrDestroy(stream2, er);
} else {
cb(er);
stream2._writableState.errorEmitted = true;
errorOrDestroy(stream2, er);
finishMaybe(stream2, state);
}
}
function onwriteStateUpdate(state) {
state.writing = false;
state.writecb = null;
state.length -= state.writelen;
state.writelen = 0;
}
function onwrite(stream2, er) {
var state = stream2._writableState;
var sync2 = state.sync;
var cb = state.writecb;
if (typeof cb !== "function") throw new ERR_MULTIPLE_CALLBACK();
onwriteStateUpdate(state);
if (er) onwriteError(stream2, state, sync2, er, cb);
else {
var finished7 = needFinish(state) || stream2.destroyed;
if (!finished7 && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
clearBuffer(stream2, state);
}
if (sync2) {
process.nextTick(afterWrite, stream2, state, finished7, cb);
} else {
afterWrite(stream2, state, finished7, cb);
}
}
}
function afterWrite(stream2, state, finished7, cb) {
if (!finished7) onwriteDrain(stream2, state);
state.pendingcb--;
cb();
finishMaybe(stream2, state);
}
function onwriteDrain(stream2, state) {
if (state.length === 0 && state.needDrain) {
state.needDrain = false;
stream2.emit("drain");
}
}
function clearBuffer(stream2, state) {
state.bufferProcessing = true;
var entry = state.bufferedRequest;
if (stream2._writev && entry && entry.next) {
var l2 = state.bufferedRequestCount;
var buffer = new Array(l2);
var holder = state.corkedRequestsFree;
holder.entry = entry;
var count2 = 0;
var allBuffers = true;
while (entry) {
buffer[count2] = entry;
if (!entry.isBuf) allBuffers = false;
entry = entry.next;
count2 += 1;
}
buffer.allBuffers = allBuffers;
doWrite(stream2, state, true, state.length, buffer, "", holder.finish);
state.pendingcb++;
state.lastBufferedRequest = null;
if (holder.next) {
state.corkedRequestsFree = holder.next;
holder.next = null;
} else {
state.corkedRequestsFree = new CorkedRequest(state);
}
state.bufferedRequestCount = 0;
} else {
while (entry) {
var chunk = entry.chunk;
var encoding = entry.encoding;
var cb = entry.callback;
var len = state.objectMode ? 1 : chunk.length;
doWrite(stream2, state, false, len, chunk, encoding, cb);
entry = entry.next;
state.bufferedRequestCount--;
if (state.writing) {
break;
}
}
if (entry === null) state.lastBufferedRequest = null;
}
state.bufferedRequest = entry;
state.bufferProcessing = false;
}
Writable4.prototype._write = function(chunk, encoding, cb) {
cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));
};
Writable4.prototype._writev = null;
Writable4.prototype.end = function(chunk, encoding, cb) {
var state = this._writableState;
if (typeof chunk === "function") {
cb = chunk;
chunk = null;
encoding = null;
} else if (typeof encoding === "function") {
cb = encoding;
encoding = null;
}
if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
if (state.corked) {
state.corked = 1;
this.uncork();
}
if (!state.ending) endWritable(this, state, cb);
return this;
};
Object.defineProperty(Writable4.prototype, "writableLength", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._writableState.length;
}
});
function needFinish(state) {
return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
}
function callFinal(stream2, state) {
stream2._final(function(err2) {
state.pendingcb--;
if (err2) {
errorOrDestroy(stream2, err2);
}
state.prefinished = true;
stream2.emit("prefinish");
finishMaybe(stream2, state);
});
}
function prefinish(stream2, state) {
if (!state.prefinished && !state.finalCalled) {
if (typeof stream2._final === "function" && !state.destroyed) {
state.pendingcb++;
state.finalCalled = true;
process.nextTick(callFinal, stream2, state);
} else {
state.prefinished = true;
stream2.emit("prefinish");
}
}
}
function finishMaybe(stream2, state) {
var need = needFinish(state);
if (need) {
prefinish(stream2, state);
if (state.pendingcb === 0) {
state.finished = true;
stream2.emit("finish");
if (state.autoDestroy) {
var rState = stream2._readableState;
if (!rState || rState.autoDestroy && rState.endEmitted) {
stream2.destroy();
}
}
}
}
return need;
}
function endWritable(stream2, state, cb) {
state.ending = true;
finishMaybe(stream2, state);
if (cb) {
if (state.finished) process.nextTick(cb);
else stream2.once("finish", cb);
}
state.ended = true;
stream2.writable = false;
}
function onCorkedFinish(corkReq, state, err2) {
var entry = corkReq.entry;
corkReq.entry = null;
while (entry) {
var cb = entry.callback;
state.pendingcb--;
cb(err2);
entry = entry.next;
}
state.corkedRequestsFree.next = corkReq;
}
Object.defineProperty(Writable4.prototype, "destroyed", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
if (this._writableState === void 0) {
return false;
}
return this._writableState.destroyed;
},
set: function set3(value) {
if (!this._writableState) {
return;
}
this._writableState.destroyed = value;
}
});
Writable4.prototype.destroy = destroyImpl.destroy;
Writable4.prototype._undestroy = destroyImpl.undestroy;
Writable4.prototype._destroy = function(err2, cb) {
cb(err2);
};
}
});
// node_modules/readable-stream/lib/_stream_duplex.js
var require_stream_duplex = __commonJS({
"node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
"use strict";
var objectKeys = Object.keys || function(obj) {
var keys2 = [];
for (var key in obj) keys2.push(key);
return keys2;
};
module2.exports = Duplex4;
var Readable7 = require_stream_readable();
var Writable4 = require_stream_writable();
require_inherits()(Duplex4, Readable7);
{
keys = objectKeys(Writable4.prototype);
for (v = 0; v < keys.length; v++) {
method = keys[v];
if (!Duplex4.prototype[method]) Duplex4.prototype[method] = Writable4.prototype[method];
}
}
var keys;
var method;
var v;
function Duplex4(options) {
if (!(this instanceof Duplex4)) return new Duplex4(options);
Readable7.call(this, options);
Writable4.call(this, options);
this.allowHalfOpen = true;
if (options) {
if (options.readable === false) this.readable = false;
if (options.writable === false) this.writable = false;
if (options.allowHalfOpen === false) {
this.allowHalfOpen = false;
this.once("end", onend);
}
}
}
Object.defineProperty(Duplex4.prototype, "writableHighWaterMark", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._writableState.highWaterMark;
}
});
Object.defineProperty(Duplex4.prototype, "writableBuffer", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._writableState && this._writableState.getBuffer();
}
});
Object.defineProperty(Duplex4.prototype, "writableLength", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._writableState.length;
}
});
function onend() {
if (this._writableState.ended) return;
process.nextTick(onEndNT, this);
}
function onEndNT(self2) {
self2.end();
}
Object.defineProperty(Duplex4.prototype, "destroyed", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
if (this._readableState === void 0 || this._writableState === void 0) {
return false;
}
return this._readableState.destroyed && this._writableState.destroyed;
},
set: function set3(value) {
if (this._readableState === void 0 || this._writableState === void 0) {
return;
}
this._readableState.destroyed = value;
this._writableState.destroyed = value;
}
});
}
});
// node_modules/string_decoder/lib/string_decoder.js
var require_string_decoder = __commonJS({
"node_modules/string_decoder/lib/string_decoder.js"(exports2) {
"use strict";
var Buffer6 = require_safe_buffer().Buffer;
var isEncoding = Buffer6.isEncoding || function(encoding) {
encoding = "" + encoding;
switch (encoding && encoding.toLowerCase()) {
case "hex":
case "utf8":
case "utf-8":
case "ascii":
case "binary":
case "base64":
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
case "raw":
return true;
default:
return false;
}
};
function _normalizeEncoding(enc) {
if (!enc) return "utf8";
var retried;
while (true) {
switch (enc) {
case "utf8":
case "utf-8":
return "utf8";
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return "utf16le";
case "latin1":
case "binary":
return "latin1";
case "base64":
case "ascii":
case "hex":
return enc;
default:
if (retried) return;
enc = ("" + enc).toLowerCase();
retried = true;
}
}
}
function normalizeEncoding(enc) {
var nenc = _normalizeEncoding(enc);
if (typeof nenc !== "string" && (Buffer6.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
return nenc || enc;
}
exports2.StringDecoder = StringDecoder5;
function StringDecoder5(encoding) {
this.encoding = normalizeEncoding(encoding);
var nb;
switch (this.encoding) {
case "utf16le":
this.text = utf16Text;
this.end = utf16End;
nb = 4;
break;
case "utf8":
this.fillLast = utf8FillLast;
nb = 4;
break;
case "base64":
this.text = base64Text;
this.end = base64End;
nb = 3;
break;
default:
this.write = simpleWrite;
this.end = simpleEnd;
return;
}
this.lastNeed = 0;
this.lastTotal = 0;
this.lastChar = Buffer6.allocUnsafe(nb);
}
StringDecoder5.prototype.write = function(buf) {
if (buf.length === 0) return "";
var r2;
var i3;
if (this.lastNeed) {
r2 = this.fillLast(buf);
if (r2 === void 0) return "";
i3 = this.lastNeed;
this.lastNeed = 0;
} else {
i3 = 0;
}
if (i3 < buf.length) return r2 ? r2 + this.text(buf, i3) : this.text(buf, i3);
return r2 || "";
};
StringDecoder5.prototype.end = utf8End;
StringDecoder5.prototype.text = utf8Text;
StringDecoder5.prototype.fillLast = function(buf) {
if (this.lastNeed <= buf.length) {
buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
return this.lastChar.toString(this.encoding, 0, this.lastTotal);
}
buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
this.lastNeed -= buf.length;
};
function utf8CheckByte(byte) {
if (byte <= 127) return 0;
else if (byte >> 5 === 6) return 2;
else if (byte >> 4 === 14) return 3;
else if (byte >> 3 === 30) return 4;
return byte >> 6 === 2 ? -1 : -2;
}
function utf8CheckIncomplete(self2, buf, i3) {
var j = buf.length - 1;
if (j < i3) return 0;
var nb = utf8CheckByte(buf[j]);
if (nb >= 0) {
if (nb > 0) self2.lastNeed = nb - 1;
return nb;
}
if (--j < i3 || nb === -2) return 0;
nb = utf8CheckByte(buf[j]);
if (nb >= 0) {
if (nb > 0) self2.lastNeed = nb - 2;
return nb;
}
if (--j < i3 || nb === -2) return 0;
nb = utf8CheckByte(buf[j]);
if (nb >= 0) {
if (nb > 0) {
if (nb === 2) nb = 0;
else self2.lastNeed = nb - 3;
}
return nb;
}
return 0;
}
function utf8CheckExtraBytes(self2, buf, p) {
if ((buf[0] & 192) !== 128) {
self2.lastNeed = 0;
return "\uFFFD";
}
if (self2.lastNeed > 1 && buf.length > 1) {
if ((buf[1] & 192) !== 128) {
self2.lastNeed = 1;
return "\uFFFD";
}
if (self2.lastNeed > 2 && buf.length > 2) {
if ((buf[2] & 192) !== 128) {
self2.lastNeed = 2;
return "\uFFFD";
}
}
}
}
function utf8FillLast(buf) {
var p = this.lastTotal - this.lastNeed;
var r2 = utf8CheckExtraBytes(this, buf, p);
if (r2 !== void 0) return r2;
if (this.lastNeed <= buf.length) {
buf.copy(this.lastChar, p, 0, this.lastNeed);
return this.lastChar.toString(this.encoding, 0, this.lastTotal);
}
buf.copy(this.lastChar, p, 0, buf.length);
this.lastNeed -= buf.length;
}
function utf8Text(buf, i3) {
var total = utf8CheckIncomplete(this, buf, i3);
if (!this.lastNeed) return buf.toString("utf8", i3);
this.lastTotal = total;
var end = buf.length - (total - this.lastNeed);
buf.copy(this.lastChar, 0, end);
return buf.toString("utf8", i3, end);
}
function utf8End(buf) {
var r2 = buf && buf.length ? this.write(buf) : "";
if (this.lastNeed) return r2 + "\uFFFD";
return r2;
}
function utf16Text(buf, i3) {
if ((buf.length - i3) % 2 === 0) {
var r2 = buf.toString("utf16le", i3);
if (r2) {
var c4 = r2.charCodeAt(r2.length - 1);
if (c4 >= 55296 && c4 <= 56319) {
this.lastNeed = 2;
this.lastTotal = 4;
this.lastChar[0] = buf[buf.length - 2];
this.lastChar[1] = buf[buf.length - 1];
return r2.slice(0, -1);
}
}
return r2;
}
this.lastNeed = 1;
this.lastTotal = 2;
this.lastChar[0] = buf[buf.length - 1];
return buf.toString("utf16le", i3, buf.length - 1);
}
function utf16End(buf) {
var r2 = buf && buf.length ? this.write(buf) : "";
if (this.lastNeed) {
var end = this.lastTotal - this.lastNeed;
return r2 + this.lastChar.toString("utf16le", 0, end);
}
return r2;
}
function base64Text(buf, i3) {
var n3 = (buf.length - i3) % 3;
if (n3 === 0) return buf.toString("base64", i3);
this.lastNeed = 3 - n3;
this.lastTotal = 3;
if (n3 === 1) {
this.lastChar[0] = buf[buf.length - 1];
} else {
this.lastChar[0] = buf[buf.length - 2];
this.lastChar[1] = buf[buf.length - 1];
}
return buf.toString("base64", i3, buf.length - n3);
}
function base64End(buf) {
var r2 = buf && buf.length ? this.write(buf) : "";
if (this.lastNeed) return r2 + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
return r2;
}
function simpleWrite(buf) {
return buf.toString(this.encoding);
}
function simpleEnd(buf) {
return buf && buf.length ? this.write(buf) : "";
}
}
});
// node_modules/readable-stream/lib/internal/streams/end-of-stream.js
var require_end_of_stream = __commonJS({
"node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
"use strict";
var ERR_STREAM_PREMATURE_CLOSE = require_errors2().codes.ERR_STREAM_PREMATURE_CLOSE;
function once11(callback) {
var called = false;
return function() {
if (called) return;
called = true;
for (var _len = arguments.length, args2 = new Array(_len), _key = 0; _key < _len; _key++) {
args2[_key] = arguments[_key];
}
callback.apply(this, args2);
};
}
function noop4() {
}
function isRequest(stream2) {
return stream2.setHeader && typeof stream2.abort === "function";
}
function eos(stream2, opts, callback) {
if (typeof opts === "function") return eos(stream2, null, opts);
if (!opts) opts = {};
callback = once11(callback || noop4);
var readable2 = opts.readable || opts.readable !== false && stream2.readable;
var writable2 = opts.writable || opts.writable !== false && stream2.writable;
var onlegacyfinish = function onlegacyfinish2() {
if (!stream2.writable) onfinish();
};
var writableEnded = stream2._writableState && stream2._writableState.finished;
var onfinish = function onfinish2() {
writable2 = false;
writableEnded = true;
if (!readable2) callback.call(stream2);
};
var readableEnded = stream2._readableState && stream2._readableState.endEmitted;
var onend = function onend2() {
readable2 = false;
readableEnded = true;
if (!writable2) callback.call(stream2);
};
var onerror = function onerror2(err2) {
callback.call(stream2, err2);
};
var onclose = function onclose2() {
var err2;
if (readable2 && !readableEnded) {
if (!stream2._readableState || !stream2._readableState.ended) err2 = new ERR_STREAM_PREMATURE_CLOSE();
return callback.call(stream2, err2);
}
if (writable2 && !writableEnded) {
if (!stream2._writableState || !stream2._writableState.ended) err2 = new ERR_STREAM_PREMATURE_CLOSE();
return callback.call(stream2, err2);
}
};
var onrequest = function onrequest2() {
stream2.req.on("finish", onfinish);
};
if (isRequest(stream2)) {
stream2.on("complete", onfinish);
stream2.on("abort", onclose);
if (stream2.req) onrequest();
else stream2.on("request", onrequest);
} else if (writable2 && !stream2._writableState) {
stream2.on("end", onlegacyfinish);
stream2.on("close", onlegacyfinish);
}
stream2.on("end", onend);
stream2.on("finish", onfinish);
if (opts.error !== false) stream2.on("error", onerror);
stream2.on("close", onclose);
return function() {
stream2.removeListener("complete", onfinish);
stream2.removeListener("abort", onclose);
stream2.removeListener("request", onrequest);
if (stream2.req) stream2.req.removeListener("finish", onfinish);
stream2.removeListener("end", onlegacyfinish);
stream2.removeListener("close", onlegacyfinish);
stream2.removeListener("finish", onfinish);
stream2.removeListener("end", onend);
stream2.removeListener("error", onerror);
stream2.removeListener("close", onclose);
};
}
module2.exports = eos;
}
});
// node_modules/readable-stream/lib/internal/streams/async_iterator.js
var require_async_iterator = __commonJS({
"node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports2, module2) {
"use strict";
var _Object$setPrototypeO;
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
} else {
obj[key] = value;
}
return obj;
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return typeof key === "symbol" ? key : String(key);
}
function _toPrimitive(input, hint) {
if (typeof input !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== void 0) {
var res = prim.call(input, hint || "default");
if (typeof res !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
var finished7 = require_end_of_stream();
var kLastResolve = Symbol("lastResolve");
var kLastReject = Symbol("lastReject");
var kError = Symbol("error");
var kEnded = Symbol("ended");
var kLastPromise = Symbol("lastPromise");
var kHandlePromise = Symbol("handlePromise");
var kStream = Symbol("stream");
function createIterResult(value, done) {
return {
value,
done
};
}
function readAndResolve(iter) {
var resolve25 = iter[kLastResolve];
if (resolve25 !== null) {
var data = iter[kStream].read();
if (data !== null) {
iter[kLastPromise] = null;
iter[kLastResolve] = null;
iter[kLastReject] = null;
resolve25(createIterResult(data, false));
}
}
}
function onReadable(iter) {
process.nextTick(readAndResolve, iter);
}
function wrapForNext(lastPromise, iter) {
return function(resolve25, reject) {
lastPromise.then(function() {
if (iter[kEnded]) {
resolve25(createIterResult(void 0, true));
return;
}
iter[kHandlePromise](resolve25, reject);
}, reject);
};
}
var AsyncIteratorPrototype = Object.getPrototypeOf(function() {
});
var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {
get stream() {
return this[kStream];
},
next: function next() {
var _this = this;
var error40 = this[kError];
if (error40 !== null) {
return Promise.reject(error40);
}
if (this[kEnded]) {
return Promise.resolve(createIterResult(void 0, true));
}
if (this[kStream].destroyed) {
return new Promise(function(resolve25, reject) {
process.nextTick(function() {
if (_this[kError]) {
reject(_this[kError]);
} else {
resolve25(createIterResult(void 0, true));
}
});
});
}
var lastPromise = this[kLastPromise];
var promise2;
if (lastPromise) {
promise2 = new Promise(wrapForNext(lastPromise, this));
} else {
var data = this[kStream].read();
if (data !== null) {
return Promise.resolve(createIterResult(data, false));
}
promise2 = new Promise(this[kHandlePromise]);
}
this[kLastPromise] = promise2;
return promise2;
}
}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {
return this;
}), _defineProperty(_Object$setPrototypeO, "return", function _return() {
var _this2 = this;
return new Promise(function(resolve25, reject) {
_this2[kStream].destroy(null, function(err2) {
if (err2) {
reject(err2);
return;
}
resolve25(createIterResult(void 0, true));
});
});
}), _Object$setPrototypeO), AsyncIteratorPrototype);
var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream2) {
var _Object$create;
var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {
value: stream2,
writable: true
}), _defineProperty(_Object$create, kLastResolve, {
value: null,
writable: true
}), _defineProperty(_Object$create, kLastReject, {
value: null,
writable: true
}), _defineProperty(_Object$create, kError, {
value: null,
writable: true
}), _defineProperty(_Object$create, kEnded, {
value: stream2._readableState.endEmitted,
writable: true
}), _defineProperty(_Object$create, kHandlePromise, {
value: function value(resolve25, reject) {
var data = iterator[kStream].read();
if (data) {
iterator[kLastPromise] = null;
iterator[kLastResolve] = null;
iterator[kLastReject] = null;
resolve25(createIterResult(data, false));
} else {
iterator[kLastResolve] = resolve25;
iterator[kLastReject] = reject;
}
},
writable: true
}), _Object$create));
iterator[kLastPromise] = null;
finished7(stream2, function(err2) {
if (err2 && err2.code !== "ERR_STREAM_PREMATURE_CLOSE") {
var reject = iterator[kLastReject];
if (reject !== null) {
iterator[kLastPromise] = null;
iterator[kLastResolve] = null;
iterator[kLastReject] = null;
reject(err2);
}
iterator[kError] = err2;
return;
}
var resolve25 = iterator[kLastResolve];
if (resolve25 !== null) {
iterator[kLastPromise] = null;
iterator[kLastResolve] = null;
iterator[kLastReject] = null;
resolve25(createIterResult(void 0, true));
}
iterator[kEnded] = true;
});
stream2.on("readable", onReadable.bind(null, iterator));
return iterator;
};
module2.exports = createReadableStreamAsyncIterator;
}
});
// node_modules/readable-stream/lib/internal/streams/from.js
var require_from = __commonJS({
"node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
"use strict";
function asyncGeneratorStep(gen, resolve25, reject, _next, _throw, key, arg) {
try {
var info2 = gen[key](arg);
var value = info2.value;
} catch (error40) {
reject(error40);
return;
}
if (info2.done) {
resolve25(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn) {
return function() {
var self2 = this, args2 = arguments;
return new Promise(function(resolve25, reject) {
var gen = fn.apply(self2, args2);
function _next(value) {
asyncGeneratorStep(gen, resolve25, reject, _next, _throw, "next", value);
}
function _throw(err2) {
asyncGeneratorStep(gen, resolve25, reject, _next, _throw, "throw", err2);
}
_next(void 0);
});
};
}
function ownKeys(object3, enumerableOnly) {
var keys = Object.keys(object3);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object3);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object3, sym).enumerable;
})), keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread(target) {
for (var i3 = 1; i3 < arguments.length; i3++) {
var source = null != arguments[i3] ? arguments[i3] : {};
i3 % 2 ? ownKeys(Object(source), true).forEach(function(key) {
_defineProperty(target, key, source[key]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
} else {
obj[key] = value;
}
return obj;
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return typeof key === "symbol" ? key : String(key);
}
function _toPrimitive(input, hint) {
if (typeof input !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== void 0) {
var res = prim.call(input, hint || "default");
if (typeof res !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
var ERR_INVALID_ARG_TYPE = require_errors2().codes.ERR_INVALID_ARG_TYPE;
function from(Readable7, iterable, opts) {
var iterator;
if (iterable && typeof iterable.next === "function") {
iterator = iterable;
} else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();
else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();
else throw new ERR_INVALID_ARG_TYPE("iterable", ["Iterable"], iterable);
var readable2 = new Readable7(_objectSpread({
objectMode: true
}, opts));
var reading = false;
readable2._read = function() {
if (!reading) {
reading = true;
next();
}
};
function next() {
return _next2.apply(this, arguments);
}
function _next2() {
_next2 = _asyncToGenerator(function* () {
try {
var _yield$iterator$next = yield iterator.next(), value = _yield$iterator$next.value, done = _yield$iterator$next.done;
if (done) {
readable2.push(null);
} else if (readable2.push(yield value)) {
next();
} else {
reading = false;
}
} catch (err2) {
readable2.destroy(err2);
}
});
return _next2.apply(this, arguments);
}
return readable2;
}
module2.exports = from;
}
});
// node_modules/readable-stream/lib/_stream_readable.js
var require_stream_readable = __commonJS({
"node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
"use strict";
module2.exports = Readable7;
var Duplex4;
Readable7.ReadableState = ReadableState;
var EE = __require("events").EventEmitter;
var EElistenerCount = function EElistenerCount2(emitter, type2) {
return emitter.listeners(type2).length;
};
var Stream2 = require_stream();
var Buffer6 = __require("buffer").Buffer;
var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
};
function _uint8ArrayToBuffer(chunk) {
return Buffer6.from(chunk);
}
function _isUint8Array(obj) {
return Buffer6.isBuffer(obj) || obj instanceof OurUint8Array;
}
var debugUtil = __require("util");
var debug2;
if (debugUtil && debugUtil.debuglog) {
debug2 = debugUtil.debuglog("stream");
} else {
debug2 = function debug3() {
};
}
var BufferList = require_buffer_list();
var destroyImpl = require_destroy();
var _require = require_state();
var getHighWaterMark2 = _require.getHighWaterMark;
var _require$codes = require_errors2().codes;
var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;
var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;
var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;
var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;
var StringDecoder5;
var createReadableStreamAsyncIterator;
var from;
require_inherits()(Readable7, Stream2);
var errorOrDestroy = destroyImpl.errorOrDestroy;
var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
function prependListener(emitter, event, fn) {
if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);
else emitter._events[event] = [fn, emitter._events[event]];
}
function ReadableState(options, stream2, isDuplex) {
Duplex4 = Duplex4 || require_stream_duplex();
options = options || {};
if (typeof isDuplex !== "boolean") isDuplex = stream2 instanceof Duplex4;
this.objectMode = !!options.objectMode;
if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
this.highWaterMark = getHighWaterMark2(this, options, "readableHighWaterMark", isDuplex);
this.buffer = new BufferList();
this.length = 0;
this.pipes = null;
this.pipesCount = 0;
this.flowing = null;
this.ended = false;
this.endEmitted = false;
this.reading = false;
this.sync = true;
this.needReadable = false;
this.emittedReadable = false;
this.readableListening = false;
this.resumeScheduled = false;
this.paused = true;
this.emitClose = options.emitClose !== false;
this.autoDestroy = !!options.autoDestroy;
this.destroyed = false;
this.defaultEncoding = options.defaultEncoding || "utf8";
this.awaitDrain = 0;
this.readingMore = false;
this.decoder = null;
this.encoding = null;
if (options.encoding) {
if (!StringDecoder5) StringDecoder5 = require_string_decoder().StringDecoder;
this.decoder = new StringDecoder5(options.encoding);
this.encoding = options.encoding;
}
}
function Readable7(options) {
Duplex4 = Duplex4 || require_stream_duplex();
if (!(this instanceof Readable7)) return new Readable7(options);
var isDuplex = this instanceof Duplex4;
this._readableState = new ReadableState(options, this, isDuplex);
this.readable = true;
if (options) {
if (typeof options.read === "function") this._read = options.read;
if (typeof options.destroy === "function") this._destroy = options.destroy;
}
Stream2.call(this);
}
Object.defineProperty(Readable7.prototype, "destroyed", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
if (this._readableState === void 0) {
return false;
}
return this._readableState.destroyed;
},
set: function set3(value) {
if (!this._readableState) {
return;
}
this._readableState.destroyed = value;
}
});
Readable7.prototype.destroy = destroyImpl.destroy;
Readable7.prototype._undestroy = destroyImpl.undestroy;
Readable7.prototype._destroy = function(err2, cb) {
cb(err2);
};
Readable7.prototype.push = function(chunk, encoding) {
var state = this._readableState;
var skipChunkCheck;
if (!state.objectMode) {
if (typeof chunk === "string") {
encoding = encoding || state.defaultEncoding;
if (encoding !== state.encoding) {
chunk = Buffer6.from(chunk, encoding);
encoding = "";
}
skipChunkCheck = true;
}
} else {
skipChunkCheck = true;
}
return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
};
Readable7.prototype.unshift = function(chunk) {
return readableAddChunk(this, chunk, null, true, false);
};
function readableAddChunk(stream2, chunk, encoding, addToFront, skipChunkCheck) {
debug2("readableAddChunk", chunk);
var state = stream2._readableState;
if (chunk === null) {
state.reading = false;
onEofChunk(stream2, state);
} else {
var er;
if (!skipChunkCheck) er = chunkInvalid(state, chunk);
if (er) {
errorOrDestroy(stream2, er);
} else if (state.objectMode || chunk && chunk.length > 0) {
if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer6.prototype) {
chunk = _uint8ArrayToBuffer(chunk);
}
if (addToFront) {
if (state.endEmitted) errorOrDestroy(stream2, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
else addChunk(stream2, state, chunk, true);
} else if (state.ended) {
errorOrDestroy(stream2, new ERR_STREAM_PUSH_AFTER_EOF());
} else if (state.destroyed) {
return false;
} else {
state.reading = false;
if (state.decoder && !encoding) {
chunk = state.decoder.write(chunk);
if (state.objectMode || chunk.length !== 0) addChunk(stream2, state, chunk, false);
else maybeReadMore(stream2, state);
} else {
addChunk(stream2, state, chunk, false);
}
}
} else if (!addToFront) {
state.reading = false;
maybeReadMore(stream2, state);
}
}
return !state.ended && (state.length < state.highWaterMark || state.length === 0);
}
function addChunk(stream2, state, chunk, addToFront) {
if (state.flowing && state.length === 0 && !state.sync) {
state.awaitDrain = 0;
stream2.emit("data", chunk);
} else {
state.length += state.objectMode ? 1 : chunk.length;
if (addToFront) state.buffer.unshift(chunk);
else state.buffer.push(chunk);
if (state.needReadable) emitReadable(stream2);
}
maybeReadMore(stream2, state);
}
function chunkInvalid(state, chunk) {
var er;
if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);
}
return er;
}
Readable7.prototype.isPaused = function() {
return this._readableState.flowing === false;
};
Readable7.prototype.setEncoding = function(enc) {
if (!StringDecoder5) StringDecoder5 = require_string_decoder().StringDecoder;
var decoder = new StringDecoder5(enc);
this._readableState.decoder = decoder;
this._readableState.encoding = this._readableState.decoder.encoding;
var p = this._readableState.buffer.head;
var content = "";
while (p !== null) {
content += decoder.write(p.data);
p = p.next;
}
this._readableState.buffer.clear();
if (content !== "") this._readableState.buffer.push(content);
this._readableState.length = content.length;
return this;
};
var MAX_HWM = 1073741824;
function computeNewHighWaterMark(n3) {
if (n3 >= MAX_HWM) {
n3 = MAX_HWM;
} else {
n3--;
n3 |= n3 >>> 1;
n3 |= n3 >>> 2;
n3 |= n3 >>> 4;
n3 |= n3 >>> 8;
n3 |= n3 >>> 16;
n3++;
}
return n3;
}
function howMuchToRead(n3, state) {
if (n3 <= 0 || state.length === 0 && state.ended) return 0;
if (state.objectMode) return 1;
if (n3 !== n3) {
if (state.flowing && state.length) return state.buffer.head.data.length;
else return state.length;
}
if (n3 > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n3);
if (n3 <= state.length) return n3;
if (!state.ended) {
state.needReadable = true;
return 0;
}
return state.length;
}
Readable7.prototype.read = function(n3) {
debug2("read", n3);
n3 = parseInt(n3, 10);
var state = this._readableState;
var nOrig = n3;
if (n3 !== 0) state.emittedReadable = false;
if (n3 === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
debug2("read: emitReadable", state.length, state.ended);
if (state.length === 0 && state.ended) endReadable(this);
else emitReadable(this);
return null;
}
n3 = howMuchToRead(n3, state);
if (n3 === 0 && state.ended) {
if (state.length === 0) endReadable(this);
return null;
}
var doRead = state.needReadable;
debug2("need readable", doRead);
if (state.length === 0 || state.length - n3 < state.highWaterMark) {
doRead = true;
debug2("length less than watermark", doRead);
}
if (state.ended || state.reading) {
doRead = false;
debug2("reading or ended", doRead);
} else if (doRead) {
debug2("do read");
state.reading = true;
state.sync = true;
if (state.length === 0) state.needReadable = true;
this._read(state.highWaterMark);
state.sync = false;
if (!state.reading) n3 = howMuchToRead(nOrig, state);
}
var ret;
if (n3 > 0) ret = fromList(n3, state);
else ret = null;
if (ret === null) {
state.needReadable = state.length <= state.highWaterMark;
n3 = 0;
} else {
state.length -= n3;
state.awaitDrain = 0;
}
if (state.length === 0) {
if (!state.ended) state.needReadable = true;
if (nOrig !== n3 && state.ended) endReadable(this);
}
if (ret !== null) this.emit("data", ret);
return ret;
};
function onEofChunk(stream2, state) {
debug2("onEofChunk");
if (state.ended) return;
if (state.decoder) {
var chunk = state.decoder.end();
if (chunk && chunk.length) {
state.buffer.push(chunk);
state.length += state.objectMode ? 1 : chunk.length;
}
}
state.ended = true;
if (state.sync) {
emitReadable(stream2);
} else {
state.needReadable = false;
if (!state.emittedReadable) {
state.emittedReadable = true;
emitReadable_(stream2);
}
}
}
function emitReadable(stream2) {
var state = stream2._readableState;
debug2("emitReadable", state.needReadable, state.emittedReadable);
state.needReadable = false;
if (!state.emittedReadable) {
debug2("emitReadable", state.flowing);
state.emittedReadable = true;
process.nextTick(emitReadable_, stream2);
}
}
function emitReadable_(stream2) {
var state = stream2._readableState;
debug2("emitReadable_", state.destroyed, state.length, state.ended);
if (!state.destroyed && (state.length || state.ended)) {
stream2.emit("readable");
state.emittedReadable = false;
}
state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
flow(stream2);
}
function maybeReadMore(stream2, state) {
if (!state.readingMore) {
state.readingMore = true;
process.nextTick(maybeReadMore_, stream2, state);
}
}
function maybeReadMore_(stream2, state) {
while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
var len = state.length;
debug2("maybeReadMore read 0");
stream2.read(0);
if (len === state.length)
break;
}
state.readingMore = false;
}
Readable7.prototype._read = function(n3) {
errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));
};
Readable7.prototype.pipe = function(dest, pipeOpts) {
var src = this;
var state = this._readableState;
switch (state.pipesCount) {
case 0:
state.pipes = dest;
break;
case 1:
state.pipes = [state.pipes, dest];
break;
default:
state.pipes.push(dest);
break;
}
state.pipesCount += 1;
debug2("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
var endFn = doEnd ? onend : unpipe;
if (state.endEmitted) process.nextTick(endFn);
else src.once("end", endFn);
dest.on("unpipe", onunpipe);
function onunpipe(readable2, unpipeInfo) {
debug2("onunpipe");
if (readable2 === src) {
if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
unpipeInfo.hasUnpiped = true;
cleanup();
}
}
}
function onend() {
debug2("onend");
dest.end();
}
var ondrain = pipeOnDrain(src);
dest.on("drain", ondrain);
var cleanedUp = false;
function cleanup() {
debug2("cleanup");
dest.removeListener("close", onclose);
dest.removeListener("finish", onfinish);
dest.removeListener("drain", ondrain);
dest.removeListener("error", onerror);
dest.removeListener("unpipe", onunpipe);
src.removeListener("end", onend);
src.removeListener("end", unpipe);
src.removeListener("data", ondata);
cleanedUp = true;
if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
}
src.on("data", ondata);
function ondata(chunk) {
debug2("ondata");
var ret = dest.write(chunk);
debug2("dest.write", ret);
if (ret === false) {
if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
debug2("false write response, pause", state.awaitDrain);
state.awaitDrain++;
}
src.pause();
}
}
function onerror(er) {
debug2("onerror", er);
unpipe();
dest.removeListener("error", onerror);
if (EElistenerCount(dest, "error") === 0) errorOrDestroy(dest, er);
}
prependListener(dest, "error", onerror);
function onclose() {
dest.removeListener("finish", onfinish);
unpipe();
}
dest.once("close", onclose);
function onfinish() {
debug2("onfinish");
dest.removeListener("close", onclose);
unpipe();
}
dest.once("finish", onfinish);
function unpipe() {
debug2("unpipe");
src.unpipe(dest);
}
dest.emit("pipe", src);
if (!state.flowing) {
debug2("pipe resume");
src.resume();
}
return dest;
};
function pipeOnDrain(src) {
return function pipeOnDrainFunctionResult() {
var state = src._readableState;
debug2("pipeOnDrain", state.awaitDrain);
if (state.awaitDrain) state.awaitDrain--;
if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
state.flowing = true;
flow(src);
}
};
}
Readable7.prototype.unpipe = function(dest) {
var state = this._readableState;
var unpipeInfo = {
hasUnpiped: false
};
if (state.pipesCount === 0) return this;
if (state.pipesCount === 1) {
if (dest && dest !== state.pipes) return this;
if (!dest) dest = state.pipes;
state.pipes = null;
state.pipesCount = 0;
state.flowing = false;
if (dest) dest.emit("unpipe", this, unpipeInfo);
return this;
}
if (!dest) {
var dests = state.pipes;
var len = state.pipesCount;
state.pipes = null;
state.pipesCount = 0;
state.flowing = false;
for (var i3 = 0; i3 < len; i3++) dests[i3].emit("unpipe", this, {
hasUnpiped: false
});
return this;
}
var index = indexOf(state.pipes, dest);
if (index === -1) return this;
state.pipes.splice(index, 1);
state.pipesCount -= 1;
if (state.pipesCount === 1) state.pipes = state.pipes[0];
dest.emit("unpipe", this, unpipeInfo);
return this;
};
Readable7.prototype.on = function(ev, fn) {
var res = Stream2.prototype.on.call(this, ev, fn);
var state = this._readableState;
if (ev === "data") {
state.readableListening = this.listenerCount("readable") > 0;
if (state.flowing !== false) this.resume();
} else if (ev === "readable") {
if (!state.endEmitted && !state.readableListening) {
state.readableListening = state.needReadable = true;
state.flowing = false;
state.emittedReadable = false;
debug2("on readable", state.length, state.reading);
if (state.length) {
emitReadable(this);
} else if (!state.reading) {
process.nextTick(nReadingNextTick, this);
}
}
}
return res;
};
Readable7.prototype.addListener = Readable7.prototype.on;
Readable7.prototype.removeListener = function(ev, fn) {
var res = Stream2.prototype.removeListener.call(this, ev, fn);
if (ev === "readable") {
process.nextTick(updateReadableListening, this);
}
return res;
};
Readable7.prototype.removeAllListeners = function(ev) {
var res = Stream2.prototype.removeAllListeners.apply(this, arguments);
if (ev === "readable" || ev === void 0) {
process.nextTick(updateReadableListening, this);
}
return res;
};
function updateReadableListening(self2) {
var state = self2._readableState;
state.readableListening = self2.listenerCount("readable") > 0;
if (state.resumeScheduled && !state.paused) {
state.flowing = true;
} else if (self2.listenerCount("data") > 0) {
self2.resume();
}
}
function nReadingNextTick(self2) {
debug2("readable nexttick read 0");
self2.read(0);
}
Readable7.prototype.resume = function() {
var state = this._readableState;
if (!state.flowing) {
debug2("resume");
state.flowing = !state.readableListening;
resume(this, state);
}
state.paused = false;
return this;
};
function resume(stream2, state) {
if (!state.resumeScheduled) {
state.resumeScheduled = true;
process.nextTick(resume_, stream2, state);
}
}
function resume_(stream2, state) {
debug2("resume", state.reading);
if (!state.reading) {
stream2.read(0);
}
state.resumeScheduled = false;
stream2.emit("resume");
flow(stream2);
if (state.flowing && !state.reading) stream2.read(0);
}
Readable7.prototype.pause = function() {
debug2("call pause flowing=%j", this._readableState.flowing);
if (this._readableState.flowing !== false) {
debug2("pause");
this._readableState.flowing = false;
this.emit("pause");
}
this._readableState.paused = true;
return this;
};
function flow(stream2) {
var state = stream2._readableState;
debug2("flow", state.flowing);
while (state.flowing && stream2.read() !== null) ;
}
Readable7.prototype.wrap = function(stream2) {
var _this = this;
var state = this._readableState;
var paused = false;
stream2.on("end", function() {
debug2("wrapped end");
if (state.decoder && !state.ended) {
var chunk = state.decoder.end();
if (chunk && chunk.length) _this.push(chunk);
}
_this.push(null);
});
stream2.on("data", function(chunk) {
debug2("wrapped data");
if (state.decoder) chunk = state.decoder.write(chunk);
if (state.objectMode && (chunk === null || chunk === void 0)) return;
else if (!state.objectMode && (!chunk || !chunk.length)) return;
var ret = _this.push(chunk);
if (!ret) {
paused = true;
stream2.pause();
}
});
for (var i3 in stream2) {
if (this[i3] === void 0 && typeof stream2[i3] === "function") {
this[i3] = /* @__PURE__ */ function methodWrap(method) {
return function methodWrapReturnFunction() {
return stream2[method].apply(stream2, arguments);
};
}(i3);
}
}
for (var n3 = 0; n3 < kProxyEvents.length; n3++) {
stream2.on(kProxyEvents[n3], this.emit.bind(this, kProxyEvents[n3]));
}
this._read = function(n4) {
debug2("wrapped _read", n4);
if (paused) {
paused = false;
stream2.resume();
}
};
return this;
};
if (typeof Symbol === "function") {
Readable7.prototype[Symbol.asyncIterator] = function() {
if (createReadableStreamAsyncIterator === void 0) {
createReadableStreamAsyncIterator = require_async_iterator();
}
return createReadableStreamAsyncIterator(this);
};
}
Object.defineProperty(Readable7.prototype, "readableHighWaterMark", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._readableState.highWaterMark;
}
});
Object.defineProperty(Readable7.prototype, "readableBuffer", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._readableState && this._readableState.buffer;
}
});
Object.defineProperty(Readable7.prototype, "readableFlowing", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._readableState.flowing;
},
set: function set3(state) {
if (this._readableState) {
this._readableState.flowing = state;
}
}
});
Readable7._fromList = fromList;
Object.defineProperty(Readable7.prototype, "readableLength", {
// making it explicit this property is not enumerable
// because otherwise some prototype manipulation in
// userland will fail
enumerable: false,
get: function get2() {
return this._readableState.length;
}
});
function fromList(n3, state) {
if (state.length === 0) return null;
var ret;
if (state.objectMode) ret = state.buffer.shift();
else if (!n3 || n3 >= state.length) {
if (state.decoder) ret = state.buffer.join("");
else if (state.buffer.length === 1) ret = state.buffer.first();
else ret = state.buffer.concat(state.length);
state.buffer.clear();
} else {
ret = state.buffer.consume(n3, state.decoder);
}
return ret;
}
function endReadable(stream2) {
var state = stream2._readableState;
debug2("endReadable", state.endEmitted);
if (!state.endEmitted) {
state.ended = true;
process.nextTick(endReadableNT, state, stream2);
}
}
function endReadableNT(state, stream2) {
debug2("endReadableNT", state.endEmitted, state.length);
if (!state.endEmitted && state.length === 0) {
state.endEmitted = true;
stream2.readable = false;
stream2.emit("end");
if (state.autoDestroy) {
var wState = stream2._writableState;
if (!wState || wState.autoDestroy && wState.finished) {
stream2.destroy();
}
}
}
}
if (typeof Symbol === "function") {
Readable7.from = function(iterable, opts) {
if (from === void 0) {
from = require_from();
}
return from(Readable7, iterable, opts);
};
}
function indexOf(xs, x) {
for (var i3 = 0, l2 = xs.length; i3 < l2; i3++) {
if (xs[i3] === x) return i3;
}
return -1;
}
}
});
// node_modules/readable-stream/lib/_stream_transform.js
var require_stream_transform = __commonJS({
"node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
"use strict";
module2.exports = Transform2;
var _require$codes = require_errors2().codes;
var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;
var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;
var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;
var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;
var Duplex4 = require_stream_duplex();
require_inherits()(Transform2, Duplex4);
function afterTransform(er, data) {
var ts = this._transformState;
ts.transforming = false;
var cb = ts.writecb;
if (cb === null) {
return this.emit("error", new ERR_MULTIPLE_CALLBACK());
}
ts.writechunk = null;
ts.writecb = null;
if (data != null)
this.push(data);
cb(er);
var rs = this._readableState;
rs.reading = false;
if (rs.needReadable || rs.length < rs.highWaterMark) {
this._read(rs.highWaterMark);
}
}
function Transform2(options) {
if (!(this instanceof Transform2)) return new Transform2(options);
Duplex4.call(this, options);
this._transformState = {
afterTransform: afterTransform.bind(this),
needTransform: false,
transforming: false,
writecb: null,
writechunk: null,
writeencoding: null
};
this._readableState.needReadable = true;
this._readableState.sync = false;
if (options) {
if (typeof options.transform === "function") this._transform = options.transform;
if (typeof options.flush === "function") this._flush = options.flush;
}
this.on("prefinish", prefinish);
}
function prefinish() {
var _this = this;
if (typeof this._flush === "function" && !this._readableState.destroyed) {
this._flush(function(er, data) {
done(_this, er, data);
});
} else {
done(this, null, null);
}
}
Transform2.prototype.push = function(chunk, encoding) {
this._transformState.needTransform = false;
return Duplex4.prototype.push.call(this, chunk, encoding);
};
Transform2.prototype._transform = function(chunk, encoding, cb) {
cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));
};
Transform2.prototype._write = function(chunk, encoding, cb) {
var ts = this._transformState;
ts.writecb = cb;
ts.writechunk = chunk;
ts.writeencoding = encoding;
if (!ts.transforming) {
var rs = this._readableState;
if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
}
};
Transform2.prototype._read = function(n3) {
var ts = this._transformState;
if (ts.writechunk !== null && !ts.transforming) {
ts.transforming = true;
this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
} else {
ts.needTransform = true;
}
};
Transform2.prototype._destroy = function(err2, cb) {
Duplex4.prototype._destroy.call(this, err2, function(err22) {
cb(err22);
});
};
function done(stream2, er, data) {
if (er) return stream2.emit("error", er);
if (data != null)
stream2.push(data);
if (stream2._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();
if (stream2._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();
return stream2.push(null);
}
}
});
// node_modules/readable-stream/lib/_stream_passthrough.js
var require_stream_passthrough = __commonJS({
"node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
"use strict";
module2.exports = PassThrough3;
var Transform2 = require_stream_transform();
require_inherits()(PassThrough3, Transform2);
function PassThrough3(options) {
if (!(this instanceof PassThrough3)) return new PassThrough3(options);
Transform2.call(this, options);
}
PassThrough3.prototype._transform = function(chunk, encoding, cb) {
cb(null, chunk);
};
}
});
// node_modules/readable-stream/lib/internal/streams/pipeline.js
var require_pipeline = __commonJS({
"node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
"use strict";
var eos;
function once11(callback) {
var called = false;
return function() {
if (called) return;
called = true;
callback.apply(void 0, arguments);
};
}
var _require$codes = require_errors2().codes;
var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
function noop4(err2) {
if (err2) throw err2;
}
function isRequest(stream2) {
return stream2.setHeader && typeof stream2.abort === "function";
}
function destroyer(stream2, reading, writing, callback) {
callback = once11(callback);
var closed = false;
stream2.on("close", function() {
closed = true;
});
if (eos === void 0) eos = require_end_of_stream();
eos(stream2, {
readable: reading,
writable: writing
}, function(err2) {
if (err2) return callback(err2);
closed = true;
callback();
});
var destroyed = false;
return function(err2) {
if (closed) return;
if (destroyed) return;
destroyed = true;
if (isRequest(stream2)) return stream2.abort();
if (typeof stream2.destroy === "function") return stream2.destroy();
callback(err2 || new ERR_STREAM_DESTROYED("pipe"));
};
}
function call(fn) {
fn();
}
function pipe2(from, to) {
return from.pipe(to);
}
function popCallback(streams) {
if (!streams.length) return noop4;
if (typeof streams[streams.length - 1] !== "function") return noop4;
return streams.pop();
}
function pipeline() {
for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {
streams[_key] = arguments[_key];
}
var callback = popCallback(streams);
if (Array.isArray(streams[0])) streams = streams[0];
if (streams.length < 2) {
throw new ERR_MISSING_ARGS("streams");
}
var error40;
var destroys = streams.map(function(stream2, i3) {
var reading = i3 < streams.length - 1;
var writing = i3 > 0;
return destroyer(stream2, reading, writing, function(err2) {
if (!error40) error40 = err2;
if (err2) destroys.forEach(call);
if (reading) return;
destroys.forEach(call);
callback(error40);
});
});
return streams.reduce(pipe2);
}
module2.exports = pipeline;
}
});
// node_modules/readable-stream/readable.js
var require_readable = __commonJS({
"node_modules/readable-stream/readable.js"(exports2, module2) {
var Stream2 = __require("stream");
if (process.env.READABLE_STREAM === "disable" && Stream2) {
module2.exports = Stream2.Readable;
Object.assign(module2.exports, Stream2);
module2.exports.Stream = Stream2;
} else {
exports2 = module2.exports = require_stream_readable();
exports2.Stream = Stream2 || exports2;
exports2.Readable = exports2;
exports2.Writable = require_stream_writable();
exports2.Duplex = require_stream_duplex();
exports2.Transform = require_stream_transform();
exports2.PassThrough = require_stream_passthrough();
exports2.finished = require_end_of_stream();
exports2.pipeline = require_pipeline();
}
}
});
// node_modules/wrappy/wrappy.js
var require_wrappy = __commonJS({
"node_modules/wrappy/wrappy.js"(exports2, module2) {
module2.exports = wrappy;
function wrappy(fn, cb) {
if (fn && cb) return wrappy(fn)(cb);
if (typeof fn !== "function")
throw new TypeError("need wrapper function");
Object.keys(fn).forEach(function(k) {
wrapper[k] = fn[k];
});
return wrapper;
function wrapper() {
var args2 = new Array(arguments.length);
for (var i3 = 0; i3 < args2.length; i3++) {
args2[i3] = arguments[i3];
}
var ret = fn.apply(this, args2);
var cb2 = args2[args2.length - 1];
if (typeof ret === "function" && ret !== cb2) {
Object.keys(cb2).forEach(function(k) {
ret[k] = cb2[k];
});
}
return ret;
}
}
}
});
// node_modules/once/once.js
var require_once = __commonJS({
"node_modules/once/once.js"(exports2, module2) {
var wrappy = require_wrappy();
module2.exports = wrappy(once11);
module2.exports.strict = wrappy(onceStrict);
once11.proto = once11(function() {
Object.defineProperty(Function.prototype, "once", {
value: function() {
return once11(this);
},
configurable: true
});
Object.defineProperty(Function.prototype, "onceStrict", {
value: function() {
return onceStrict(this);
},
configurable: true
});
});
function once11(fn) {
var f = function() {
if (f.called) return f.value;
f.called = true;
return f.value = fn.apply(this, arguments);
};
f.called = false;
return f;
}
function onceStrict(fn) {
var f = function() {
if (f.called)
throw new Error(f.onceError);
f.called = true;
return f.value = fn.apply(this, arguments);
};
var name3 = fn.name || "Function wrapped with `once`";
f.onceError = name3 + " shouldn't be called more than once";
f.called = false;
return f;
}
}
});
// node_modules/end-of-stream/index.js
var require_end_of_stream2 = __commonJS({
"node_modules/end-of-stream/index.js"(exports2, module2) {
var once11 = require_once();
var noop4 = function() {
};
var qnt = global.Bare ? queueMicrotask : process.nextTick.bind(process);
var isRequest = function(stream2) {
return stream2.setHeader && typeof stream2.abort === "function";
};
var isChildProcess = function(stream2) {
return stream2.stdio && Array.isArray(stream2.stdio) && stream2.stdio.length === 3;
};
var eos = function(stream2, opts, callback) {
if (typeof opts === "function") return eos(stream2, null, opts);
if (!opts) opts = {};
callback = once11(callback || noop4);
var ws2 = stream2._writableState;
var rs = stream2._readableState;
var readable2 = opts.readable || opts.readable !== false && stream2.readable;
var writable2 = opts.writable || opts.writable !== false && stream2.writable;
var cancelled = false;
var onlegacyfinish = function() {
if (!stream2.writable) onfinish();
};
var onfinish = function() {
writable2 = false;
if (!readable2) callback.call(stream2);
};
var onend = function() {
readable2 = false;
if (!writable2) callback.call(stream2);
};
var onexit = function(exitCode) {
callback.call(stream2, exitCode ? new Error("exited with error code: " + exitCode) : null);
};
var onerror = function(err2) {
callback.call(stream2, err2);
};
var onclose = function() {
qnt(onclosenexttick);
};
var onclosenexttick = function() {
if (cancelled) return;
if (readable2 && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream2, new Error("premature close"));
if (writable2 && !(ws2 && (ws2.ended && !ws2.destroyed))) return callback.call(stream2, new Error("premature close"));
};
var onrequest = function() {
stream2.req.on("finish", onfinish);
};
if (isRequest(stream2)) {
stream2.on("complete", onfinish);
stream2.on("abort", onclose);
if (stream2.req) onrequest();
else stream2.on("request", onrequest);
} else if (writable2 && !ws2) {
stream2.on("end", onlegacyfinish);
stream2.on("close", onlegacyfinish);
}
if (isChildProcess(stream2)) stream2.on("exit", onexit);
stream2.on("end", onend);
stream2.on("finish", onfinish);
if (opts.error !== false) stream2.on("error", onerror);
stream2.on("close", onclose);
return function() {
cancelled = true;
stream2.removeListener("complete", onfinish);
stream2.removeListener("abort", onclose);
stream2.removeListener("request", onrequest);
if (stream2.req) stream2.req.removeListener("finish", onfinish);
stream2.removeListener("end", onlegacyfinish);
stream2.removeListener("close", onlegacyfinish);
stream2.removeListener("finish", onfinish);
stream2.removeListener("exit", onexit);
stream2.removeListener("end", onend);
stream2.removeListener("error", onerror);
stream2.removeListener("close", onclose);
};
};
module2.exports = eos;
}
});
// node_modules/stream-shift/index.js
var require_stream_shift = __commonJS({
"node_modules/stream-shift/index.js"(exports2, module2) {
module2.exports = shift;
function shift(stream2) {
var rs = stream2._readableState;
if (!rs) return null;
return rs.objectMode || typeof stream2._duplexState === "number" ? stream2.read() : stream2.read(getStateLength(rs));
}
function getStateLength(state) {
if (state.buffer.length) {
var idx = state.bufferIndex || 0;
if (state.buffer.head) {
return state.buffer.head.data.length;
} else if (state.buffer.length - idx > 0 && state.buffer[idx]) {
return state.buffer[idx].length;
}
}
return state.length;
}
}
});
// node_modules/duplexify/index.js
var require_duplexify = __commonJS({
"node_modules/duplexify/index.js"(exports2, module2) {
var stream2 = require_readable();
var eos = require_end_of_stream2();
var inherits = require_inherits();
var shift = require_stream_shift();
var SIGNAL_FLUSH = Buffer.from && Buffer.from !== Uint8Array.from ? Buffer.from([0]) : new Buffer([0]);
var onuncork = function(self2, fn) {
if (self2._corked) self2.once("uncork", fn);
else fn();
};
var autoDestroy = function(self2, err2) {
if (self2._autoDestroy) self2.destroy(err2);
};
var destroyer = function(self2, end2) {
return function(err2) {
if (err2) autoDestroy(self2, err2.message === "premature close" ? null : err2);
else if (end2 && !self2._ended) self2.end();
};
};
var end = function(ws2, fn) {
if (!ws2) return fn();
if (ws2._writableState && ws2._writableState.finished) return fn();
if (ws2._writableState) return ws2.end(fn);
ws2.end();
fn();
};
var noop4 = function() {
};
var toStreams2 = function(rs) {
return new stream2.Readable({ objectMode: true, highWaterMark: 16 }).wrap(rs);
};
var Duplexify = function(writable2, readable2, opts) {
if (!(this instanceof Duplexify)) return new Duplexify(writable2, readable2, opts);
stream2.Duplex.call(this, opts);
this._writable = null;
this._readable = null;
this._readable2 = null;
this._autoDestroy = !opts || opts.autoDestroy !== false;
this._forwardDestroy = !opts || opts.destroy !== false;
this._forwardEnd = !opts || opts.end !== false;
this._corked = 1;
this._ondrain = null;
this._drained = false;
this._forwarding = false;
this._unwrite = null;
this._unread = null;
this._ended = false;
this.destroyed = false;
if (writable2) this.setWritable(writable2);
if (readable2) this.setReadable(readable2);
};
inherits(Duplexify, stream2.Duplex);
Duplexify.obj = function(writable2, readable2, opts) {
if (!opts) opts = {};
opts.objectMode = true;
opts.highWaterMark = 16;
return new Duplexify(writable2, readable2, opts);
};
Duplexify.prototype.cork = function() {
if (++this._corked === 1) this.emit("cork");
};
Duplexify.prototype.uncork = function() {
if (this._corked && --this._corked === 0) this.emit("uncork");
};
Duplexify.prototype.setWritable = function(writable2) {
if (this._unwrite) this._unwrite();
if (this.destroyed) {
if (writable2 && writable2.destroy) writable2.destroy();
return;
}
if (writable2 === null || writable2 === false) {
this.end();
return;
}
var self2 = this;
var unend = eos(writable2, { writable: true, readable: false }, destroyer(this, this._forwardEnd));
var ondrain = function() {
var ondrain2 = self2._ondrain;
self2._ondrain = null;
if (ondrain2) ondrain2();
};
var clear = function() {
self2._writable.removeListener("drain", ondrain);
unend();
};
if (this._unwrite) process.nextTick(ondrain);
this._writable = writable2;
this._writable.on("drain", ondrain);
this._unwrite = clear;
this.uncork();
};
Duplexify.prototype.setReadable = function(readable2) {
if (this._unread) this._unread();
if (this.destroyed) {
if (readable2 && readable2.destroy) readable2.destroy();
return;
}
if (readable2 === null || readable2 === false) {
this.push(null);
this.resume();
return;
}
var self2 = this;
var unend = eos(readable2, { writable: false, readable: true }, destroyer(this));
var onreadable = function() {
self2._forward();
};
var onend = function() {
self2.push(null);
};
var clear = function() {
self2._readable2.removeListener("readable", onreadable);
self2._readable2.removeListener("end", onend);
unend();
};
this._drained = true;
this._readable = readable2;
this._readable2 = readable2._readableState ? readable2 : toStreams2(readable2);
this._readable2.on("readable", onreadable);
this._readable2.on("end", onend);
this._unread = clear;
this._forward();
};
Duplexify.prototype._read = function() {
this._drained = true;
this._forward();
};
Duplexify.prototype._forward = function() {
if (this._forwarding || !this._readable2 || !this._drained) return;
this._forwarding = true;
var data;
while (this._drained && (data = shift(this._readable2)) !== null) {
if (this.destroyed) continue;
this._drained = this.push(data);
}
this._forwarding = false;
};
Duplexify.prototype.destroy = function(err2, cb) {
if (!cb) cb = noop4;
if (this.destroyed) return cb(null);
this.destroyed = true;
var self2 = this;
process.nextTick(function() {
self2._destroy(err2);
cb(null);
});
};
Duplexify.prototype._destroy = function(err2) {
if (err2) {
var ondrain = this._ondrain;
this._ondrain = null;
if (ondrain) ondrain(err2);
else this.emit("error", err2);
}
if (this._forwardDestroy) {
if (this._readable && this._readable.destroy) this._readable.destroy();
if (this._writable && this._writable.destroy) this._writable.destroy();
}
this.emit("close");
};
Duplexify.prototype._write = function(data, enc, cb) {
if (this.destroyed) return;
if (this._corked) return onuncork(this, this._write.bind(this, data, enc, cb));
if (data === SIGNAL_FLUSH) return this._finish(cb);
if (!this._writable) return cb();
if (this._writable.write(data) === false) this._ondrain = cb;
else if (!this.destroyed) cb();
};
Duplexify.prototype._finish = function(cb) {
var self2 = this;
this.emit("preend");
onuncork(this, function() {
end(self2._forwardEnd && self2._writable, function() {
if (self2._writableState.prefinished === false) self2._writableState.prefinished = true;
self2.emit("prefinish");
onuncork(self2, cb);
});
});
};
Duplexify.prototype.end = function(data, enc, cb) {
if (typeof data === "function") return this.end(null, null, data);
if (typeof enc === "function") return this.end(data, null, enc);
this._ended = true;
if (data) this.write(data);
if (!this._writableState.ending && !this._writableState.destroyed) this.write(SIGNAL_FLUSH);
return stream2.Writable.prototype.end.call(this, cb);
};
module2.exports = Duplexify;
}
});
// node_modules/@google-cloud/common/build/src/util.js
var require_util9 = __commonJS({
"node_modules/@google-cloud/common/build/src/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.util = exports2.Util = exports2.PartialFailureError = exports2.ApiError = void 0;
var projectify_1 = require_src44();
var htmlEntities = require_commonjs();
var extend4 = require_extend();
var google_auth_library_1 = require_src6();
var retryRequest = require_retry_request();
var stream_1 = __require("stream");
var teeny_request_1 = require_src46();
var service_1 = require_service4();
var duplexify = require_duplexify();
var requestDefaults = {
timeout: 6e4,
gzip: true,
forever: true,
pool: {
maxSockets: Infinity
}
};
var AUTO_RETRY_DEFAULT = true;
var MAX_RETRY_DEFAULT = 3;
var ApiError2 = class _ApiError extends Error {
constructor(errorBodyOrMessage) {
super();
if (typeof errorBodyOrMessage !== "object") {
this.message = errorBodyOrMessage || "";
return;
}
const errorBody = errorBodyOrMessage;
this.code = errorBody.code;
this.errors = errorBody.errors;
this.response = errorBody.response;
try {
this.errors = JSON.parse(this.response.body).error.errors;
} catch (e2) {
this.errors = errorBody.errors;
}
this.message = _ApiError.createMultiErrorMessage(errorBody, this.errors);
Error.captureStackTrace(this);
}
/**
* Pieces together an error message by combining all unique error messages
* returned from a single GoogleError
*
* @private
*
* @param {GoogleErrorBody} err The original error.
* @param {GoogleInnerError[]} [errors] Inner errors, if any.
* @returns {string}
*/
static createMultiErrorMessage(err2, errors) {
const messages = /* @__PURE__ */ new Set();
if (err2.message) {
messages.add(err2.message);
}
if (errors && errors.length) {
errors.forEach(({ message }) => messages.add(message));
} else if (err2.response && err2.response.body) {
messages.add(htmlEntities.decode(err2.response.body.toString()));
} else if (!err2.message) {
messages.add("A failure occurred during this request.");
}
let messageArr = Array.from(messages);
if (messageArr.length > 1) {
messageArr = messageArr.map((message, i3) => ` ${i3 + 1}. ${message}`);
messageArr.unshift("Multiple errors occurred during the request. Please see the `errors` array for complete details.\n");
messageArr.push("\n");
}
return messageArr.join("\n");
}
};
exports2.ApiError = ApiError2;
var PartialFailureError = class extends Error {
constructor(b) {
super();
const errorObject = b;
this.errors = errorObject.errors;
this.name = "PartialFailureError";
this.response = errorObject.response;
this.message = ApiError2.createMultiErrorMessage(errorObject, this.errors);
}
};
exports2.PartialFailureError = PartialFailureError;
var Util = class {
constructor() {
this.ApiError = ApiError2;
this.PartialFailureError = PartialFailureError;
}
/**
* No op.
*
* @example
* function doSomething(callback) {
* callback = callback || noop;
* }
*/
noop() {
}
/**
* Uniformly process an API response.
*
* @param {*} err - Error value.
* @param {*} resp - Response value.
* @param {*} body - Body value.
* @param {function} callback - The callback function.
*/
handleResp(err2, resp, body2, callback) {
callback = callback || util2.noop;
const parsedResp = extend4(true, { err: err2 || null }, resp && util2.parseHttpRespMessage(resp), body2 && util2.parseHttpRespBody(body2));
if (!parsedResp.err && resp && typeof parsedResp.body === "object") {
parsedResp.resp.body = parsedResp.body;
}
if (parsedResp.err && resp) {
parsedResp.err.response = resp;
}
callback(parsedResp.err, parsedResp.body, parsedResp.resp);
}
/**
* Sniff an incoming HTTP response message for errors.
*
* @param {object} httpRespMessage - An incoming HTTP response message from `request`.
* @return {object} parsedHttpRespMessage - The parsed response.
* @param {?error} parsedHttpRespMessage.err - An error detected.
* @param {object} parsedHttpRespMessage.resp - The original response object.
*/
parseHttpRespMessage(httpRespMessage) {
const parsedHttpRespMessage = {
resp: httpRespMessage
};
if (httpRespMessage.statusCode < 200 || httpRespMessage.statusCode > 299) {
parsedHttpRespMessage.err = new ApiError2({
errors: new Array(),
code: httpRespMessage.statusCode,
message: httpRespMessage.statusMessage,
response: httpRespMessage
});
}
return parsedHttpRespMessage;
}
/**
* Parse the response body from an HTTP request.
*
* @param {object} body - The response body.
* @return {object} parsedHttpRespMessage - The parsed response.
* @param {?error} parsedHttpRespMessage.err - An error detected.
* @param {object} parsedHttpRespMessage.body - The original body value provided
* will try to be JSON.parse'd. If it's successful, the parsed value will
* be returned here, otherwise the original value and an error will be returned.
*/
parseHttpRespBody(body2) {
const parsedHttpRespBody = {
body: body2
};
if (typeof body2 === "string") {
try {
parsedHttpRespBody.body = JSON.parse(body2);
} catch (err2) {
parsedHttpRespBody.body = body2;
}
}
if (parsedHttpRespBody.body && parsedHttpRespBody.body.error) {
parsedHttpRespBody.err = new ApiError2(parsedHttpRespBody.body.error);
}
return parsedHttpRespBody;
}
/**
* Take a Duplexify stream, fetch an authenticated connection header, and
* create an outgoing writable stream.
*
* @param {Duplexify} dup - Duplexify stream.
* @param {object} options - Configuration object.
* @param {module:common/connection} options.connection - A connection instance used to get a token with and send the request through.
* @param {object} options.metadata - Metadata to send at the head of the request.
* @param {object} options.request - Request object, in the format of a standard Node.js http.request() object.
* @param {string=} options.request.method - Default: "POST".
* @param {string=} options.request.qs.uploadType - Default: "multipart".
* @param {string=} options.streamContentType - Default: "application/octet-stream".
* @param {function} onComplete - Callback, executed after the writable Request stream has completed.
*/
makeWritableStream(dup, options, onComplete) {
onComplete = onComplete || util2.noop;
const writeStream = new ProgressStream();
writeStream.on("progress", (evt) => dup.emit("progress", evt));
dup.setWritable(writeStream);
const defaultReqOpts = {
method: "POST",
qs: {
uploadType: "multipart"
},
timeout: 0,
maxRetries: 0
};
const metadata2 = options.metadata || {};
const reqOpts = extend4(true, defaultReqOpts, options.request, {
multipart: [
{
"Content-Type": "application/json",
body: JSON.stringify(metadata2)
},
{
"Content-Type": metadata2.contentType || "application/octet-stream",
body: writeStream
}
]
});
options.makeAuthenticatedRequest(reqOpts, {
onAuthenticated(err2, authenticatedReqOpts) {
if (err2) {
dup.destroy(err2);
return;
}
const request = teeny_request_1.teenyRequest.defaults(requestDefaults);
request(authenticatedReqOpts, (err3, resp, body2) => {
util2.handleResp(err3, resp, body2, (err4, data) => {
if (err4) {
dup.destroy(err4);
return;
}
dup.emit("response", resp);
onComplete(data);
});
});
}
});
}
/**
* Returns true if the API request should be retried, given the error that was
* given the first time the request was attempted. This is used for rate limit
* related errors as well as intermittent server errors.
*
* @param {error} err - The API error to check if it is appropriate to retry.
* @return {boolean} True if the API request should be retried, false otherwise.
*/
shouldRetryRequest(err2) {
if (err2) {
if ([408, 429, 500, 502, 503, 504].indexOf(err2.code) !== -1) {
return true;
}
if (err2.errors) {
for (const e2 of err2.errors) {
const reason = e2.reason;
if (reason === "rateLimitExceeded") {
return true;
}
if (reason === "userRateLimitExceeded") {
return true;
}
if (reason && reason.includes("EAI_AGAIN")) {
return true;
}
}
}
}
return false;
}
/**
* Get a function for making authenticated requests.
*
* @param {object} config - Configuration object.
* @param {boolean=} config.autoRetry - Automatically retry requests if the
* response is related to rate limits or certain intermittent server
* errors. We will exponentially backoff subsequent requests by default.
* (default: true)
* @param {object=} config.credentials - Credentials object.
* @param {boolean=} config.customEndpoint - If true, just return the provided request options. Default: false.
* @param {boolean=} config.useAuthWithCustomEndpoint - If true, will authenticate when using a custom endpoint. Default: false.
* @param {string=} config.email - Account email address, required for PEM/P12 usage.
* @param {number=} config.maxRetries - Maximum number of automatic retries attempted before returning the error. (default: 3)
* @param {string=} config.keyFile - Path to a .json, .pem, or .p12 keyfile.
* @param {array} config.scopes - Array of scopes required for the API.
*/
makeAuthenticatedRequestFactory(config2) {
const googleAutoAuthConfig = extend4({}, config2);
if (googleAutoAuthConfig.projectId === service_1.DEFAULT_PROJECT_ID_TOKEN) {
delete googleAutoAuthConfig.projectId;
}
let authClient;
if (googleAutoAuthConfig.authClient instanceof google_auth_library_1.GoogleAuth) {
authClient = googleAutoAuthConfig.authClient;
} else {
const config3 = {
...googleAutoAuthConfig,
authClient: googleAutoAuthConfig.authClient
};
authClient = new google_auth_library_1.GoogleAuth(config3);
}
function makeAuthenticatedRequest(reqOpts, optionsOrCallback) {
let stream2;
let projectId;
const reqConfig = extend4({}, config2);
let activeRequest_;
if (!optionsOrCallback) {
stream2 = duplexify();
reqConfig.stream = stream2;
}
const options = typeof optionsOrCallback === "object" ? optionsOrCallback : void 0;
const callback = typeof optionsOrCallback === "function" ? optionsOrCallback : void 0;
async function setProjectId() {
projectId = await authClient.getProjectId();
}
const onAuthenticated = async (err2, authenticatedReqOpts) => {
const authLibraryError = err2;
const autoAuthFailed = err2 && err2.message.indexOf("Could not load the default credentials") > -1;
if (autoAuthFailed) {
authenticatedReqOpts = reqOpts;
}
if (!err2 || autoAuthFailed) {
try {
authenticatedReqOpts = util2.decorateRequest(authenticatedReqOpts, projectId);
err2 = null;
} catch (e2) {
if (e2 instanceof projectify_1.MissingProjectIdError) {
try {
await setProjectId();
authenticatedReqOpts = util2.decorateRequest(authenticatedReqOpts, projectId);
err2 = null;
} catch (e3) {
err2 = err2 || e3;
}
} else {
err2 = err2 || e2;
}
}
}
if (err2) {
if (stream2) {
stream2.destroy(err2);
} else {
const fn = options && options.onAuthenticated ? options.onAuthenticated : callback;
fn(err2);
}
return;
}
if (options && options.onAuthenticated) {
options.onAuthenticated(null, authenticatedReqOpts);
} else {
activeRequest_ = util2.makeRequest(authenticatedReqOpts, reqConfig, (apiResponseError, ...params) => {
if (apiResponseError && apiResponseError.code === 401 && authLibraryError) {
apiResponseError = authLibraryError;
}
callback(apiResponseError, ...params);
});
}
};
const prepareRequest = async () => {
try {
const getProjectId = async () => {
if (config2.projectId && config2.projectId !== service_1.DEFAULT_PROJECT_ID_TOKEN) {
return config2.projectId;
}
if (config2.projectIdRequired === false) {
return service_1.DEFAULT_PROJECT_ID_TOKEN;
}
return setProjectId();
};
const authorizeRequest = async () => {
if (reqConfig.customEndpoint && !reqConfig.useAuthWithCustomEndpoint) {
return reqOpts;
} else {
return authClient.authorizeRequest(reqOpts);
}
};
const [_projectId, authorizedReqOpts] = await Promise.all([
getProjectId(),
authorizeRequest()
]);
if (_projectId) {
projectId = _projectId;
}
return onAuthenticated(null, authorizedReqOpts);
} catch (e2) {
return onAuthenticated(e2);
}
};
prepareRequest();
if (stream2) {
return stream2;
}
return {
abort() {
setImmediate(() => {
if (activeRequest_) {
activeRequest_.abort();
activeRequest_ = null;
}
});
}
};
}
const mar = makeAuthenticatedRequest;
mar.getCredentials = authClient.getCredentials.bind(authClient);
mar.authClient = authClient;
return mar;
}
/**
* Make a request through the `retryRequest` module with built-in error
* handling and exponential back off.
*
* @param {object} reqOpts - Request options in the format `request` expects.
* @param {object=} config - Configuration object.
* @param {boolean=} config.autoRetry - Automatically retry requests if the
* response is related to rate limits or certain intermittent server
* errors. We will exponentially backoff subsequent requests by default.
* (default: true)
* @param {number=} config.maxRetries - Maximum number of automatic retries
* attempted before returning the error. (default: 3)
* @param {object=} config.request - HTTP module for request calls.
* @param {function} callback - The callback function.
*/
makeRequest(reqOpts, config2, callback) {
var _a4, _b, _c, _d, _e, _f, _g;
let autoRetryValue = AUTO_RETRY_DEFAULT;
if (config2.autoRetry !== void 0 && ((_a4 = config2.retryOptions) === null || _a4 === void 0 ? void 0 : _a4.autoRetry) !== void 0) {
throw new ApiError2("autoRetry is deprecated. Use retryOptions.autoRetry instead.");
} else if (config2.autoRetry !== void 0) {
autoRetryValue = config2.autoRetry;
} else if (((_b = config2.retryOptions) === null || _b === void 0 ? void 0 : _b.autoRetry) !== void 0) {
autoRetryValue = config2.retryOptions.autoRetry;
}
let maxRetryValue = MAX_RETRY_DEFAULT;
if (config2.maxRetries && ((_c = config2.retryOptions) === null || _c === void 0 ? void 0 : _c.maxRetries)) {
throw new ApiError2("maxRetries is deprecated. Use retryOptions.maxRetries instead.");
} else if (config2.maxRetries) {
maxRetryValue = config2.maxRetries;
} else if ((_d = config2.retryOptions) === null || _d === void 0 ? void 0 : _d.maxRetries) {
maxRetryValue = config2.retryOptions.maxRetries;
}
const options = {
request: teeny_request_1.teenyRequest.defaults(requestDefaults),
retries: autoRetryValue !== false ? maxRetryValue : 0,
noResponseRetries: autoRetryValue !== false ? maxRetryValue : 0,
shouldRetryFn(httpRespMessage) {
var _a5, _b2;
const err2 = util2.parseHttpRespMessage(httpRespMessage).err;
if ((_a5 = config2.retryOptions) === null || _a5 === void 0 ? void 0 : _a5.retryableErrorFn) {
return err2 && ((_b2 = config2.retryOptions) === null || _b2 === void 0 ? void 0 : _b2.retryableErrorFn(err2));
}
return err2 && util2.shouldRetryRequest(err2);
},
maxRetryDelay: (_e = config2.retryOptions) === null || _e === void 0 ? void 0 : _e.maxRetryDelay,
retryDelayMultiplier: (_f = config2.retryOptions) === null || _f === void 0 ? void 0 : _f.retryDelayMultiplier,
totalTimeout: (_g = config2.retryOptions) === null || _g === void 0 ? void 0 : _g.totalTimeout
};
if (typeof reqOpts.maxRetries === "number") {
options.retries = reqOpts.maxRetries;
}
if (!config2.stream) {
return retryRequest(reqOpts, options, (err2, response, body2) => {
util2.handleResp(err2, response, body2, callback);
});
}
const dup = config2.stream;
let requestStream;
const isGetRequest = (reqOpts.method || "GET").toUpperCase() === "GET";
if (isGetRequest) {
requestStream = retryRequest(reqOpts, options);
dup.setReadable(requestStream);
} else {
requestStream = options.request(reqOpts);
dup.setWritable(requestStream);
}
requestStream.on("error", dup.destroy.bind(dup)).on("response", dup.emit.bind(dup, "response")).on("complete", dup.emit.bind(dup, "complete"));
dup.abort = requestStream.abort;
return dup;
}
/**
* Decorate the options about to be made in a request.
*
* @param {object} reqOpts - The options to be passed to `request`.
* @param {string} projectId - The project ID.
* @return {object} reqOpts - The decorated reqOpts.
*/
decorateRequest(reqOpts, projectId) {
delete reqOpts.autoPaginate;
delete reqOpts.autoPaginateVal;
delete reqOpts.objectMode;
if (reqOpts.qs !== null && typeof reqOpts.qs === "object") {
delete reqOpts.qs.autoPaginate;
delete reqOpts.qs.autoPaginateVal;
reqOpts.qs = (0, projectify_1.replaceProjectIdToken)(reqOpts.qs, projectId);
}
if (Array.isArray(reqOpts.multipart)) {
reqOpts.multipart = reqOpts.multipart.map((part) => {
return (0, projectify_1.replaceProjectIdToken)(part, projectId);
});
}
if (reqOpts.json !== null && typeof reqOpts.json === "object") {
delete reqOpts.json.autoPaginate;
delete reqOpts.json.autoPaginateVal;
reqOpts.json = (0, projectify_1.replaceProjectIdToken)(reqOpts.json, projectId);
}
reqOpts.uri = (0, projectify_1.replaceProjectIdToken)(reqOpts.uri, projectId);
return reqOpts;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
isCustomType(unknown2, module3) {
function getConstructorName(obj) {
return obj.constructor && obj.constructor.name.toLowerCase();
}
const moduleNameParts = module3.split("/");
const parentModuleName = moduleNameParts[0] && moduleNameParts[0].toLowerCase();
const subModuleName = moduleNameParts[1] && moduleNameParts[1].toLowerCase();
if (subModuleName && getConstructorName(unknown2) !== subModuleName) {
return false;
}
let walkingModule = unknown2;
while (true) {
if (getConstructorName(walkingModule) === parentModuleName) {
return true;
}
walkingModule = walkingModule.parent;
if (!walkingModule) {
return false;
}
}
}
/**
* Create a properly-formatted User-Agent string from a package.json file.
*
* @param {object} packageJson - A module's package.json file.
* @return {string} userAgent - The formatted User-Agent string.
*/
getUserAgentFromPackageJson(packageJson) {
const hyphenatedPackageName = packageJson.name.replace("@google-cloud", "gcloud-node").replace("/", "-");
return hyphenatedPackageName + "/" + packageJson.version;
}
/**
* Given two parameters, figure out if this is either:
* - Just a callback function
* - An options object, and then a callback function
* @param optionsOrCallback An options object or callback.
* @param cb A potentially undefined callback.
*/
maybeOptionsOrCallback(optionsOrCallback, cb) {
return typeof optionsOrCallback === "function" ? [{}, optionsOrCallback] : [optionsOrCallback, cb];
}
};
exports2.Util = Util;
var ProgressStream = class extends stream_1.Transform {
constructor() {
super(...arguments);
this.bytesRead = 0;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_transform(chunk, encoding, callback) {
this.bytesRead += chunk.length;
this.emit("progress", { bytesWritten: this.bytesRead, contentLength: "*" });
this.push(chunk);
callback();
}
};
var util2 = new Util();
exports2.util = util2;
}
});
// node_modules/@google-cloud/common/build/src/service-object.js
var require_service_object = __commonJS({
"node_modules/@google-cloud/common/build/src/service-object.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ServiceObject = void 0;
var promisify_1 = require_src43();
var arrify2 = require_arrify();
var events_1 = __require("events");
var extend4 = require_extend();
var util_1 = require_util9();
var ServiceObject = class _ServiceObject extends events_1.EventEmitter {
/*
* @constructor
* @alias module:common/service-object
*
* @private
*
* @param {object} config - Configuration object.
* @param {string} config.baseUrl - The base URL to make API requests to.
* @param {string} config.createMethod - The method which creates this object.
* @param {string=} config.id - The identifier of the object. For example, the
* name of a Storage bucket or Pub/Sub topic.
* @param {object=} config.methods - A map of each method name that should be inherited.
* @param {object} config.methods[].reqOpts - Default request options for this
* particular method. A common use case is when `setMetadata` requires a
* `PUT` method to override the default `PATCH`.
* @param {object} config.parent - The parent service instance. For example, an
* instance of Storage if the object is Bucket.
*/
constructor(config2) {
super();
this.metadata = {};
this.baseUrl = config2.baseUrl;
this.parent = config2.parent;
this.id = config2.id;
this.createMethod = config2.createMethod;
this.methods = config2.methods || {};
this.interceptors = [];
this.pollIntervalMs = config2.pollIntervalMs;
this.projectId = config2.projectId;
if (config2.methods) {
Object.getOwnPropertyNames(_ServiceObject.prototype).filter((methodName) => {
return (
// All ServiceObjects need `request` and `getRequestInterceptors`.
// clang-format off
!/^request/.test(methodName) && !/^getRequestInterceptors/.test(methodName) && // clang-format on
// The ServiceObject didn't redefine the method.
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this[methodName] === // eslint-disable-next-line @typescript-eslint/no-explicit-any
_ServiceObject.prototype[methodName] && // This method isn't wanted.
!config2.methods[methodName]
);
}).forEach((methodName) => {
this[methodName] = void 0;
});
}
}
create(optionsOrCallback, callback) {
const self2 = this;
const args2 = [this.id];
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
}
if (typeof optionsOrCallback === "object") {
args2.push(optionsOrCallback);
}
function onCreate(...args3) {
const [err2, instance2] = args3;
if (!err2) {
self2.metadata = instance2.metadata;
args3[1] = self2;
}
callback(...args3);
}
args2.push(onCreate);
this.createMethod.apply(null, args2);
}
delete(optionsOrCallback, cb) {
const [options, callback] = util_1.util.maybeOptionsOrCallback(optionsOrCallback, cb);
const ignoreNotFound = options.ignoreNotFound;
delete options.ignoreNotFound;
const methodConfig = typeof this.methods.delete === "object" && this.methods.delete || {};
const reqOpts = extend4(true, {
method: "DELETE",
uri: ""
}, methodConfig.reqOpts, {
qs: options
});
_ServiceObject.prototype.request.call(this, reqOpts, (err2, ...args2) => {
if (err2) {
if (err2.code === 404 && ignoreNotFound) {
err2 = null;
}
}
callback(err2, ...args2);
});
}
exists(optionsOrCallback, cb) {
const [options, callback] = util_1.util.maybeOptionsOrCallback(optionsOrCallback, cb);
this.get(options, (err2) => {
if (err2) {
if (err2.code === 404) {
callback(null, false);
} else {
callback(err2);
}
return;
}
callback(null, true);
});
}
get(optionsOrCallback, cb) {
const self2 = this;
const [opts, callback] = util_1.util.maybeOptionsOrCallback(optionsOrCallback, cb);
const options = Object.assign({}, opts);
const autoCreate = options.autoCreate && typeof this.create === "function";
delete options.autoCreate;
function onCreate(err2, instance2, apiResponse) {
if (err2) {
if (err2.code === 409) {
self2.get(options, callback);
return;
}
callback(err2, null, apiResponse);
return;
}
callback(null, instance2, apiResponse);
}
this.getMetadata(options, (err2, metadata2) => {
if (err2) {
if (err2.code === 404 && autoCreate) {
const args2 = [];
if (Object.keys(options).length > 0) {
args2.push(options);
}
args2.push(onCreate);
self2.create(...args2);
return;
}
callback(err2, null, metadata2);
return;
}
callback(null, self2, metadata2);
});
}
getMetadata(optionsOrCallback, cb) {
const [options, callback] = util_1.util.maybeOptionsOrCallback(optionsOrCallback, cb);
const methodConfig = typeof this.methods.getMetadata === "object" && this.methods.getMetadata || {};
const reqOpts = extend4(true, {
uri: ""
}, methodConfig.reqOpts, {
qs: options
});
_ServiceObject.prototype.request.call(this, reqOpts, (err2, body2, res) => {
this.metadata = body2;
callback(err2, this.metadata, res);
});
}
/**
* Return the user's custom request interceptors.
*/
getRequestInterceptors() {
const localInterceptors = this.interceptors.filter((interceptor) => typeof interceptor.request === "function").map((interceptor) => interceptor.request);
return this.parent.getRequestInterceptors().concat(localInterceptors);
}
setMetadata(metadata2, optionsOrCallback, cb) {
const [options, callback] = util_1.util.maybeOptionsOrCallback(optionsOrCallback, cb);
const methodConfig = typeof this.methods.setMetadata === "object" && this.methods.setMetadata || {};
const reqOpts = extend4(true, {}, {
method: "PATCH",
uri: ""
}, methodConfig.reqOpts, {
json: metadata2,
qs: options
});
_ServiceObject.prototype.request.call(this, reqOpts, (err2, body2, res) => {
this.metadata = body2;
callback(err2, this.metadata, res);
});
}
request_(reqOpts, callback) {
reqOpts = extend4(true, {}, reqOpts);
if (this.projectId) {
reqOpts.projectId = this.projectId;
}
const isAbsoluteUrl = reqOpts.uri.indexOf("http") === 0;
const uriComponents = [this.baseUrl, this.id || "", reqOpts.uri];
if (isAbsoluteUrl) {
uriComponents.splice(0, uriComponents.indexOf(reqOpts.uri));
}
reqOpts.uri = uriComponents.filter((x) => x.trim()).map((uriComponent) => {
const trimSlashesRegex = /^\/*|\/*$/g;
return uriComponent.replace(trimSlashesRegex, "");
}).join("/");
const childInterceptors = arrify2(reqOpts.interceptors_);
const localInterceptors = [].slice.call(this.interceptors);
reqOpts.interceptors_ = childInterceptors.concat(localInterceptors);
if (reqOpts.shouldReturnStream) {
return this.parent.requestStream(reqOpts);
}
this.parent.request(reqOpts, callback);
}
request(reqOpts, callback) {
this.request_(reqOpts, callback);
}
/**
* Make an authenticated API request.
*
* @param {object} reqOpts - Request options that are passed to `request`.
* @param {string} reqOpts.uri - A URI relative to the baseUrl.
*/
requestStream(reqOpts) {
const opts = extend4(true, reqOpts, { shouldReturnStream: true });
return this.request_(opts);
}
};
exports2.ServiceObject = ServiceObject;
(0, promisify_1.promisifyAll)(ServiceObject, { exclude: ["getRequestInterceptors"] });
}
});
// node_modules/@google-cloud/common/build/src/operation.js
var require_operation = __commonJS({
"node_modules/@google-cloud/common/build/src/operation.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Operation = void 0;
var service_object_1 = require_service_object();
var util_1 = __require("util");
var Operation = class extends service_object_1.ServiceObject {
/**
* An Operation object allows you to interact with APIs that take longer to
* process things.
*
* @constructor
* @alias module:common/operation
*
* @param {object} config - Configuration object.
* @param {module:common/service|module:common/serviceObject|module:common/grpcService|module:common/grpcServiceObject} config.parent - The parent object.
*/
constructor(config2) {
const methods = {
/**
* Checks to see if an operation exists.
*/
exists: true,
/**
* Retrieves the operation.
*/
get: true,
/**
* Retrieves metadata for the operation.
*/
getMetadata: {
reqOpts: {
name: config2.id
}
}
};
config2 = Object.assign({
baseUrl: ""
}, config2);
config2.methods = config2.methods || methods;
super(config2);
this.completeListeners = 0;
this.hasActiveListeners = false;
this.listenForEvents_();
}
/**
* Wraps the `complete` and `error` events in a Promise.
*
* @return {Promise}
*/
promise() {
return new Promise((resolve25, reject) => {
this.on("error", reject).on("complete", (metadata2) => {
resolve25([metadata2]);
});
});
}
/**
* Begin listening for events on the operation. This method keeps track of how
* many "complete" listeners are registered and removed, making sure polling
* is handled automatically.
*
* As long as there is one active "complete" listener, the connection is open.
* When there are no more listeners, the polling stops.
*
* @private
*/
listenForEvents_() {
this.on("newListener", (event) => {
if (event === "complete") {
this.completeListeners++;
if (!this.hasActiveListeners) {
this.hasActiveListeners = true;
this.startPolling_();
}
}
});
this.on("removeListener", (event) => {
if (event === "complete" && --this.completeListeners === 0) {
this.hasActiveListeners = false;
}
});
}
/**
* Poll for a status update. Returns null for an incomplete
* status, and metadata for a complete status.
*
* @private
*/
poll_(callback) {
this.getMetadata((err2, body2) => {
if (err2 || body2.error) {
callback(err2 || body2.error);
return;
}
if (!body2.done) {
callback(null);
return;
}
callback(null, body2);
});
}
/**
* Poll `getMetadata` to check the operation's status. This runs a loop to
* ping the API on an interval.
*
* Note: This method is automatically called once a "complete" event handler
* is registered on the operation.
*
* @private
*/
async startPolling_() {
if (!this.hasActiveListeners) {
return;
}
try {
const metadata2 = await (0, util_1.promisify)(this.poll_.bind(this))();
if (!metadata2) {
setTimeout(this.startPolling_.bind(this), this.pollIntervalMs || 500);
return;
}
this.emit("complete", metadata2);
} catch (err2) {
this.emit("error", err2);
}
}
};
exports2.Operation = Operation;
}
});
// node_modules/@google-cloud/common/build/src/index.js
var require_src47 = __commonJS({
"node_modules/@google-cloud/common/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.util = exports2.ApiError = exports2.ServiceObject = exports2.Service = exports2.Operation = void 0;
var operation_1 = require_operation();
Object.defineProperty(exports2, "Operation", { enumerable: true, get: function() {
return operation_1.Operation;
} });
var service_1 = require_service4();
Object.defineProperty(exports2, "Service", { enumerable: true, get: function() {
return service_1.Service;
} });
var service_object_1 = require_service_object();
Object.defineProperty(exports2, "ServiceObject", { enumerable: true, get: function() {
return service_object_1.ServiceObject;
} });
var util_1 = require_util9();
Object.defineProperty(exports2, "ApiError", { enumerable: true, get: function() {
return util_1.ApiError;
} });
Object.defineProperty(exports2, "util", { enumerable: true, get: function() {
return util_1.util;
} });
}
});
// node_modules/@google-cloud/paginator/build/src/resource-stream.js
var require_resource_stream = __commonJS({
"node_modules/@google-cloud/paginator/build/src/resource-stream.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ResourceStream = void 0;
var stream_1 = __require("stream");
var ResourceStream = class extends stream_1.Transform {
constructor(args2, requestFn) {
const options = Object.assign({ objectMode: true }, args2.streamOptions);
super(options);
this._ended = false;
this._maxApiCalls = args2.maxApiCalls === -1 ? Infinity : args2.maxApiCalls;
this._nextQuery = args2.query;
this._reading = false;
this._requestFn = requestFn;
this._requestsMade = 0;
this._resultsToSend = args2.maxResults === -1 ? Infinity : args2.maxResults;
this._otherArgs = [];
}
/* eslint-disable @typescript-eslint/no-explicit-any */
end(...args2) {
this._ended = true;
return super.end(...args2);
}
_read() {
if (this._reading) {
return;
}
this._reading = true;
try {
this._requestFn(this._nextQuery, (err2, results, nextQuery, ...otherArgs) => {
if (err2) {
this.destroy(err2);
return;
}
this._otherArgs = otherArgs;
this._nextQuery = nextQuery;
if (this._resultsToSend !== Infinity) {
results = results.splice(0, this._resultsToSend);
this._resultsToSend -= results.length;
}
let more = true;
for (const result2 of results) {
if (this._ended) {
break;
}
more = this.push(result2);
}
const isFinished = !this._nextQuery || this._resultsToSend < 1;
const madeMaxCalls = ++this._requestsMade >= this._maxApiCalls;
if (isFinished || madeMaxCalls) {
this.end();
}
if (more && !this._ended) {
setImmediate(() => this._read());
}
this._reading = false;
});
} catch (e2) {
this.destroy(e2);
}
}
};
exports2.ResourceStream = ResourceStream;
}
});
// node_modules/@google-cloud/paginator/build/src/index.js
var require_src48 = __commonJS({
"node_modules/@google-cloud/paginator/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ResourceStream = exports2.paginator = exports2.Paginator = void 0;
var arrify2 = require_arrify();
var extend4 = require_extend();
var resource_stream_1 = require_resource_stream();
Object.defineProperty(exports2, "ResourceStream", { enumerable: true, get: function() {
return resource_stream_1.ResourceStream;
} });
var Paginator = class {
/**
* Cache the original method, then overwrite it on the Class's prototype.
*
* @param {function} Class - The parent class of the methods to extend.
* @param {string|string[]} methodNames - Name(s) of the methods to extend.
*/
// tslint:disable-next-line:variable-name
extend(Class2, methodNames) {
methodNames = arrify2(methodNames);
methodNames.forEach((methodName) => {
const originalMethod = Class2.prototype[methodName];
Class2.prototype[methodName + "_"] = originalMethod;
Class2.prototype[methodName] = function(...args2) {
const parsedArguments = paginator.parseArguments_(args2);
return paginator.run_(parsedArguments, originalMethod.bind(this));
};
});
}
/**
* Wraps paginated API calls in a readable object stream.
*
* This method simply calls the nextQuery recursively, emitting results to a
* stream. The stream ends when `nextQuery` is null.
*
* `maxResults` will act as a cap for how many results are fetched and emitted
* to the stream.
*
* @param {string} methodName - Name of the method to streamify.
* @return {function} - Wrapped function.
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
streamify(methodName) {
return function(...args2) {
const parsedArguments = paginator.parseArguments_(args2);
const originalMethod = this[methodName + "_"] || this[methodName];
return paginator.runAsStream_(parsedArguments, originalMethod.bind(this));
};
}
/**
* Parse a pseudo-array `arguments` for a query and callback.
*
* @param {array} args - The original `arguments` pseduo-array that the original
* method received.
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
parseArguments_(args2) {
let query;
let autoPaginate = true;
let maxApiCalls = -1;
let maxResults = -1;
let callback;
const firstArgument = args2[0];
const lastArgument = args2[args2.length - 1];
if (typeof firstArgument === "function") {
callback = firstArgument;
} else {
query = firstArgument;
}
if (typeof lastArgument === "function") {
callback = lastArgument;
}
if (typeof query === "object") {
query = extend4(true, {}, query);
if (query.maxResults && typeof query.maxResults === "number") {
maxResults = query.maxResults;
} else if (typeof query.pageSize === "number") {
maxResults = query.pageSize;
}
if (query.maxApiCalls && typeof query.maxApiCalls === "number") {
maxApiCalls = query.maxApiCalls;
delete query.maxApiCalls;
}
if (maxResults !== -1 || query.autoPaginate === false) {
autoPaginate = false;
}
}
const parsedArguments = {
query: query || {},
autoPaginate,
maxApiCalls,
maxResults,
callback
};
parsedArguments.streamOptions = extend4(true, {}, parsedArguments.query);
delete parsedArguments.streamOptions.autoPaginate;
delete parsedArguments.streamOptions.maxResults;
delete parsedArguments.streamOptions.pageSize;
return parsedArguments;
}
/**
* This simply checks to see if `autoPaginate` is set or not, if it's true
* then we buffer all results, otherwise simply call the original method.
*
* @param {array} parsedArguments - Parsed arguments from the original method
* call.
* @param {object=|string=} parsedArguments.query - Query object. This is most
* commonly an object, but to make the API more simple, it can also be a
* string in some places.
* @param {function=} parsedArguments.callback - Callback function.
* @param {boolean} parsedArguments.autoPaginate - Auto-pagination enabled.
* @param {boolean} parsedArguments.maxApiCalls - Maximum API calls to make.
* @param {number} parsedArguments.maxResults - Maximum results to return.
* @param {function} originalMethod - The cached method that accepts a callback
* and returns `nextQuery` to receive more results.
*/
run_(parsedArguments, originalMethod) {
const query = parsedArguments.query;
const callback = parsedArguments.callback;
if (!parsedArguments.autoPaginate) {
return originalMethod(query, callback);
}
const results = new Array();
let otherArgs = [];
const promise2 = new Promise((resolve25, reject) => {
const stream2 = paginator.runAsStream_(parsedArguments, originalMethod);
stream2.on("error", reject).on("data", (data) => results.push(data)).on("end", () => {
otherArgs = stream2._otherArgs || [];
resolve25(results);
});
});
if (!callback) {
return promise2.then((results2) => [results2, query, ...otherArgs]);
}
promise2.then((results2) => callback(null, results2, query, ...otherArgs), (err2) => callback(err2));
}
/**
* This method simply calls the nextQuery recursively, emitting results to a
* stream. The stream ends when `nextQuery` is null.
*
* `maxResults` will act as a cap for how many results are fetched and emitted
* to the stream.
*
* @param {object=|string=} parsedArguments.query - Query object. This is most
* commonly an object, but to make the API more simple, it can also be a
* string in some places.
* @param {function=} parsedArguments.callback - Callback function.
* @param {boolean} parsedArguments.autoPaginate - Auto-pagination enabled.
* @param {boolean} parsedArguments.maxApiCalls - Maximum API calls to make.
* @param {number} parsedArguments.maxResults - Maximum results to return.
* @param {function} originalMethod - The cached method that accepts a callback
* and returns `nextQuery` to receive more results.
* @return {stream} - Readable object stream.
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
runAsStream_(parsedArguments, originalMethod) {
return new resource_stream_1.ResourceStream(parsedArguments, originalMethod);
}
};
exports2.Paginator = Paginator;
var paginator = new Paginator();
exports2.paginator = paginator;
}
});
// node_modules/object-hash/index.js
var require_object_hash = __commonJS({
"node_modules/object-hash/index.js"(exports2, module2) {
"use strict";
var crypto22 = __require("crypto");
exports2 = module2.exports = objectHash;
function objectHash(object3, options) {
options = applyDefaults(object3, options);
return hash(object3, options);
}
exports2.sha1 = function(object3) {
return objectHash(object3);
};
exports2.keys = function(object3) {
return objectHash(object3, { excludeValues: true, algorithm: "sha1", encoding: "hex" });
};
exports2.MD5 = function(object3) {
return objectHash(object3, { algorithm: "md5", encoding: "hex" });
};
exports2.keysMD5 = function(object3) {
return objectHash(object3, { algorithm: "md5", encoding: "hex", excludeValues: true });
};
var hashes = crypto22.getHashes ? crypto22.getHashes().slice() : ["sha1", "md5"];
hashes.push("passthrough");
var encodings = ["buffer", "hex", "binary", "base64"];
function applyDefaults(object3, sourceOptions) {
sourceOptions = sourceOptions || {};
var options = {};
options.algorithm = sourceOptions.algorithm || "sha1";
options.encoding = sourceOptions.encoding || "hex";
options.excludeValues = sourceOptions.excludeValues ? true : false;
options.algorithm = options.algorithm.toLowerCase();
options.encoding = options.encoding.toLowerCase();
options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true;
options.respectType = sourceOptions.respectType === false ? false : true;
options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;
options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;
options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true;
options.unorderedSets = sourceOptions.unorderedSets === false ? false : true;
options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true;
options.replacer = sourceOptions.replacer || void 0;
options.excludeKeys = sourceOptions.excludeKeys || void 0;
if (typeof object3 === "undefined") {
throw new Error("Object argument required.");
}
for (var i3 = 0; i3 < hashes.length; ++i3) {
if (hashes[i3].toLowerCase() === options.algorithm.toLowerCase()) {
options.algorithm = hashes[i3];
}
}
if (hashes.indexOf(options.algorithm) === -1) {
throw new Error('Algorithm "' + options.algorithm + '" not supported. supported values: ' + hashes.join(", "));
}
if (encodings.indexOf(options.encoding) === -1 && options.algorithm !== "passthrough") {
throw new Error('Encoding "' + options.encoding + '" not supported. supported values: ' + encodings.join(", "));
}
return options;
}
function isNativeFunction(f) {
if (typeof f !== "function") {
return false;
}
var exp = /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;
return exp.exec(Function.prototype.toString.call(f)) != null;
}
function hash(object3, options) {
var hashingStream;
if (options.algorithm !== "passthrough") {
hashingStream = crypto22.createHash(options.algorithm);
} else {
hashingStream = new PassThrough3();
}
if (typeof hashingStream.write === "undefined") {
hashingStream.write = hashingStream.update;
hashingStream.end = hashingStream.update;
}
var hasher = typeHasher(options, hashingStream);
hasher.dispatch(object3);
if (!hashingStream.update) {
hashingStream.end("");
}
if (hashingStream.digest) {
return hashingStream.digest(options.encoding === "buffer" ? void 0 : options.encoding);
}
var buf = hashingStream.read();
if (options.encoding === "buffer") {
return buf;
}
return buf.toString(options.encoding);
}
exports2.writeToStream = function(object3, options, stream2) {
if (typeof stream2 === "undefined") {
stream2 = options;
options = {};
}
options = applyDefaults(object3, options);
return typeHasher(options, stream2).dispatch(object3);
};
function typeHasher(options, writeTo, context2) {
context2 = context2 || [];
var write2 = function(str2) {
if (writeTo.update) {
return writeTo.update(str2, "utf8");
} else {
return writeTo.write(str2, "utf8");
}
};
return {
dispatch: function(value) {
if (options.replacer) {
value = options.replacer(value);
}
var type2 = typeof value;
if (value === null) {
type2 = "null";
}
return this["_" + type2](value);
},
_object: function(object3) {
var pattern = /\[object (.*)\]/i;
var objString = Object.prototype.toString.call(object3);
var objType = pattern.exec(objString);
if (!objType) {
objType = "unknown:[" + objString + "]";
} else {
objType = objType[1];
}
objType = objType.toLowerCase();
var objectNumber = null;
if ((objectNumber = context2.indexOf(object3)) >= 0) {
return this.dispatch("[CIRCULAR:" + objectNumber + "]");
} else {
context2.push(object3);
}
if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object3)) {
write2("buffer:");
return write2(object3);
}
if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") {
if (this["_" + objType]) {
this["_" + objType](object3);
} else if (options.ignoreUnknown) {
return write2("[" + objType + "]");
} else {
throw new Error('Unknown object type "' + objType + '"');
}
} else {
var keys = Object.keys(object3);
if (options.unorderedObjects) {
keys = keys.sort();
}
if (options.respectType !== false && !isNativeFunction(object3)) {
keys.splice(0, 0, "prototype", "__proto__", "constructor");
}
if (options.excludeKeys) {
keys = keys.filter(function(key) {
return !options.excludeKeys(key);
});
}
write2("object:" + keys.length + ":");
var self2 = this;
return keys.forEach(function(key) {
self2.dispatch(key);
write2(":");
if (!options.excludeValues) {
self2.dispatch(object3[key]);
}
write2(",");
});
}
},
_array: function(arr, unordered) {
unordered = typeof unordered !== "undefined" ? unordered : options.unorderedArrays !== false;
var self2 = this;
write2("array:" + arr.length + ":");
if (!unordered || arr.length <= 1) {
return arr.forEach(function(entry) {
return self2.dispatch(entry);
});
}
var contextAdditions = [];
var entries = arr.map(function(entry) {
var strm = new PassThrough3();
var localContext = context2.slice();
var hasher = typeHasher(options, strm, localContext);
hasher.dispatch(entry);
contextAdditions = contextAdditions.concat(localContext.slice(context2.length));
return strm.read().toString();
});
context2 = context2.concat(contextAdditions);
entries.sort();
return this._array(entries, false);
},
_date: function(date5) {
return write2("date:" + date5.toJSON());
},
_symbol: function(sym) {
return write2("symbol:" + sym.toString());
},
_error: function(err2) {
return write2("error:" + err2.toString());
},
_boolean: function(bool2) {
return write2("bool:" + bool2.toString());
},
_string: function(string4) {
write2("string:" + string4.length + ":");
write2(string4.toString());
},
_function: function(fn) {
write2("fn:");
if (isNativeFunction(fn)) {
this.dispatch("[native]");
} else {
this.dispatch(fn.toString());
}
if (options.respectFunctionNames !== false) {
this.dispatch("function-name:" + String(fn.name));
}
if (options.respectFunctionProperties) {
this._object(fn);
}
},
_number: function(number4) {
return write2("number:" + number4.toString());
},
_xml: function(xml) {
return write2("xml:" + xml.toString());
},
_null: function() {
return write2("Null");
},
_undefined: function() {
return write2("Undefined");
},
_regexp: function(regex2) {
return write2("regex:" + regex2.toString());
},
_uint8array: function(arr) {
write2("uint8array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_uint8clampedarray: function(arr) {
write2("uint8clampedarray:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_int8array: function(arr) {
write2("int8array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_uint16array: function(arr) {
write2("uint16array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_int16array: function(arr) {
write2("int16array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_uint32array: function(arr) {
write2("uint32array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_int32array: function(arr) {
write2("int32array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_float32array: function(arr) {
write2("float32array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_float64array: function(arr) {
write2("float64array:");
return this.dispatch(Array.prototype.slice.call(arr));
},
_arraybuffer: function(arr) {
write2("arraybuffer:");
return this.dispatch(new Uint8Array(arr));
},
_url: function(url3) {
return write2("url:" + url3.toString(), "utf8");
},
_map: function(map4) {
write2("map:");
var arr = Array.from(map4);
return this._array(arr, options.unorderedSets !== false);
},
_set: function(set3) {
write2("set:");
var arr = Array.from(set3);
return this._array(arr, options.unorderedSets !== false);
},
_file: function(file2) {
write2("file:");
return this.dispatch([file2.name, file2.size, file2.type, file2.lastModfied]);
},
_blob: function() {
if (options.ignoreUnknown) {
return write2("[blob]");
}
throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n');
},
_domwindow: function() {
return write2("domwindow");
},
_bigint: function(number4) {
return write2("bigint:" + number4.toString());
},
/* Node.js standard native objects */
_process: function() {
return write2("process");
},
_timer: function() {
return write2("timer");
},
_pipe: function() {
return write2("pipe");
},
_tcp: function() {
return write2("tcp");
},
_udp: function() {
return write2("udp");
},
_tty: function() {
return write2("tty");
},
_statwatcher: function() {
return write2("statwatcher");
},
_securecontext: function() {
return write2("securecontext");
},
_connection: function() {
return write2("connection");
},
_zlib: function() {
return write2("zlib");
},
_context: function() {
return write2("context");
},
_nodescript: function() {
return write2("nodescript");
},
_httpparser: function() {
return write2("httpparser");
},
_dataview: function() {
return write2("dataview");
},
_signal: function() {
return write2("signal");
},
_fsevent: function() {
return write2("fsevent");
},
_tlswrap: function() {
return write2("tlswrap");
}
};
}
function PassThrough3() {
return {
buf: "",
write: function(b) {
this.buf += b;
},
end: function(b) {
this.buf += b;
},
read: function() {
return this.buf;
}
};
}
}
});
// node_modules/google-gax/build/src/featureDetection.js
var require_featureDetection = __commonJS({
"node_modules/google-gax/build/src/featureDetection.js"(exports2) {
"use strict";
var _a4;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.hasWindowFetch = hasWindowFetch;
exports2.isNodeJS = isNodeJS;
exports2.hasAbortController = hasAbortController;
var features = {
windowFetch: typeof window !== "undefined" && (window === null || window === void 0 ? void 0 : window.fetch) && typeof (window === null || window === void 0 ? void 0 : window.fetch) === "function",
// eslint-disable-next-line n/no-unsupported-features/node-builtins
textEncoder: typeof TextEncoder !== "undefined",
// eslint-disable-next-line n/no-unsupported-features/node-builtins
textDecoder: typeof TextDecoder !== "undefined",
nodeJS: typeof process !== "undefined" && ((_a4 = process === null || process === void 0 ? void 0 : process.versions) === null || _a4 === void 0 ? void 0 : _a4.node),
abortController: typeof AbortController !== "undefined"
};
function hasWindowFetch() {
return features.windowFetch;
}
function isNodeJS() {
return features.nodeJS;
}
function hasAbortController() {
return features.abortController;
}
}
});
// node_modules/google-gax/build/src/warnings.js
var require_warnings = __commonJS({
"node_modules/google-gax/build/src/warnings.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.warn = warn;
var featureDetection_1 = require_featureDetection();
var emittedWarnings2 = /* @__PURE__ */ new Set();
function warn(code, message, warnType) {
if (emittedWarnings2.has(code)) {
return;
}
emittedWarnings2.add(code);
if (!(0, featureDetection_1.isNodeJS)()) {
console.warn(message);
} else if (typeof warnType !== "undefined") {
process.emitWarning(message, {
type: warnType
});
} else {
process.emitWarning(message);
}
}
}
});
// node_modules/google-gax/build/src/util.js
var require_util10 = __commonJS({
"node_modules/google-gax/build/src/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.camelToSnakeCase = camelToSnakeCase;
exports2.toCamelCase = toCamelCase;
exports2.toLowerCamelCase = toLowerCamelCase;
exports2.makeUUID = makeUUID;
var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports));
function words(str2, normalize5 = false) {
if (normalize5) {
str2 = str2.replace(/([A-Z])([A-Z]+)([A-Z])/g, (str3) => {
return str3[0] + str3.slice(1, str3.length - 1).toLowerCase() + str3[str3.length - 1];
});
}
return str2.split(/(?=[A-Z])|[^A-Za-z0-9.]+/).filter((w) => w.length > 0).map((w, index) => index === 0 ? w : w.toLowerCase());
}
function lowercase2(str2) {
if (str2.length === 0) {
return str2;
}
return str2[0].toLowerCase() + str2.slice(1);
}
function camelToSnakeCase(str2) {
const wordsList = words(str2);
if (wordsList.length === 0) {
return str2;
}
const result2 = [wordsList[0]];
result2.push(...wordsList.slice(1).map(lowercase2));
return result2.join("_");
}
function capitalize(str2) {
if (str2.length === 0) {
return str2;
}
return str2[0].toUpperCase() + str2.slice(1);
}
function toCamelCase(str2) {
const wordsList = words(
str2,
/*normalize:*/
true
);
if (wordsList.length === 0) {
return str2;
}
const result2 = [wordsList[0]];
result2.push(...wordsList.slice(1).map((w) => {
if (w.match(/^\d+$/)) {
return "_" + w;
}
return capitalize(w);
}));
return result2.join("");
}
function toLowerCamelCase(str2) {
const camelCase = toCamelCase(str2);
if (camelCase.length === 0) {
return camelCase;
}
return camelCase[0].toLowerCase() + camelCase.slice(1);
}
function makeUUID() {
return (0, uuid_1.v4)();
}
}
});
// node_modules/google-gax/build/src/status.js
var require_status = __commonJS({
"node_modules/google-gax/build/src/status.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HttpCodeToRpcCodeMap = exports2.Status = void 0;
exports2.rpcCodeFromHttpStatusCode = rpcCodeFromHttpStatusCode;
var Status;
(function(Status2) {
Status2[Status2["OK"] = 0] = "OK";
Status2[Status2["CANCELLED"] = 1] = "CANCELLED";
Status2[Status2["UNKNOWN"] = 2] = "UNKNOWN";
Status2[Status2["INVALID_ARGUMENT"] = 3] = "INVALID_ARGUMENT";
Status2[Status2["DEADLINE_EXCEEDED"] = 4] = "DEADLINE_EXCEEDED";
Status2[Status2["NOT_FOUND"] = 5] = "NOT_FOUND";
Status2[Status2["ALREADY_EXISTS"] = 6] = "ALREADY_EXISTS";
Status2[Status2["PERMISSION_DENIED"] = 7] = "PERMISSION_DENIED";
Status2[Status2["RESOURCE_EXHAUSTED"] = 8] = "RESOURCE_EXHAUSTED";
Status2[Status2["FAILED_PRECONDITION"] = 9] = "FAILED_PRECONDITION";
Status2[Status2["ABORTED"] = 10] = "ABORTED";
Status2[Status2["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
Status2[Status2["UNIMPLEMENTED"] = 12] = "UNIMPLEMENTED";
Status2[Status2["INTERNAL"] = 13] = "INTERNAL";
Status2[Status2["UNAVAILABLE"] = 14] = "UNAVAILABLE";
Status2[Status2["DATA_LOSS"] = 15] = "DATA_LOSS";
Status2[Status2["UNAUTHENTICATED"] = 16] = "UNAUTHENTICATED";
})(Status || (exports2.Status = Status = {}));
exports2.HttpCodeToRpcCodeMap = /* @__PURE__ */ new Map([
[400, Status.INVALID_ARGUMENT],
[401, Status.UNAUTHENTICATED],
[403, Status.PERMISSION_DENIED],
[404, Status.NOT_FOUND],
[409, Status.ABORTED],
[416, Status.OUT_OF_RANGE],
[429, Status.RESOURCE_EXHAUSTED],
[499, Status.CANCELLED],
[501, Status.UNIMPLEMENTED],
[503, Status.UNAVAILABLE],
[504, Status.DEADLINE_EXCEEDED]
]);
function rpcCodeFromHttpStatusCode(httpStatusCode) {
if (exports2.HttpCodeToRpcCodeMap.has(httpStatusCode)) {
return exports2.HttpCodeToRpcCodeMap.get(httpStatusCode);
}
if (httpStatusCode >= 200 && httpStatusCode < 300) {
return Status.OK;
}
if (httpStatusCode >= 400 && httpStatusCode < 500) {
return Status.FAILED_PRECONDITION;
}
if (httpStatusCode >= 500 && httpStatusCode < 600) {
return Status.INTERNAL;
}
return Status.UNKNOWN;
}
}
});
// node_modules/google-gax/build/src/gax.js
var require_gax = __commonJS({
"node_modules/google-gax/build/src/gax.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CallSettings = exports2.RetryOptions = void 0;
exports2.convertRetryOptions = convertRetryOptions;
exports2.createRetryOptions = createRetryOptions;
exports2.createBackoffSettings = createBackoffSettings;
exports2.createDefaultBackoffSettings = createDefaultBackoffSettings;
exports2.createMaxRetriesBackoffSettings = createMaxRetriesBackoffSettings;
exports2.createBundleOptions = createBundleOptions;
exports2.constructSettings = constructSettings;
exports2.createByteLengthFunction = createByteLengthFunction;
var warnings_1 = require_warnings();
var util_1 = require_util10();
var status_1 = require_status();
var RetryOptions = class {
constructor(retryCodes, backoffSettings, shouldRetryFn, getResumptionRequestFn) {
this.retryCodes = retryCodes;
this.backoffSettings = backoffSettings;
this.shouldRetryFn = shouldRetryFn;
this.getResumptionRequestFn = getResumptionRequestFn;
}
};
exports2.RetryOptions = RetryOptions;
var CallSettings = class _CallSettings {
/**
* @param {Object} settings - An object containing parameters of this settings.
* @param {number} settings.timeout - The client-side timeout for API calls.
* This parameter is ignored for retrying calls.
* @param {RetryOptions} settings.retry - The configuration for retrying upon
* transient error. If set to null, this call will not retry.
* @param {boolean} settings.autoPaginate - If there is no `pageDescriptor`,
* this attrbute has no meaning. Otherwise, determines whether a page
* streamed response should make the page structure transparent to the user by
* flattening the repeated field in the returned generator.
* @param {number} settings.pageToken - If there is no `pageDescriptor`,
* this attribute has no meaning. Otherwise, determines the page token used
* in the page streaming request.
* @param {Object} settings.otherArgs - Additional arguments to be passed to
* the API calls.
*
* @constructor
*/
constructor(settings) {
var _a4;
settings = settings || {};
this.timeout = settings.timeout || 30 * 1e3;
this.retry = settings.retry;
this.autoPaginate = "autoPaginate" in settings ? settings.autoPaginate : true;
this.maxResults = settings.maxResults;
this.otherArgs = settings.otherArgs || {};
this.bundleOptions = settings.bundleOptions;
this.isBundling = "isBundling" in settings ? settings.isBundling : true;
this.longrunning = "longrunning" in settings ? settings.longrunning : void 0;
this.apiName = (_a4 = settings.apiName) !== null && _a4 !== void 0 ? _a4 : void 0;
this.retryRequestOptions = settings.retryRequestOptions;
}
/**
* Returns a new CallSettings merged from this and a CallOptions object.
*
* @param {CallOptions} options - an instance whose values override
* those in this object. If null, ``merge`` returns a copy of this
* object
* @return {CallSettings} The merged CallSettings instance.
*/
merge(options) {
if (!options) {
return new _CallSettings(this);
}
let timeout = this.timeout;
let retry = this.retry;
let autoPaginate = this.autoPaginate;
let maxResults = this.maxResults;
let otherArgs = this.otherArgs;
let isBundling = this.isBundling;
let longrunning = this.longrunning;
let apiName = this.apiName;
let retryRequestOptions = this.retryRequestOptions;
if ("timeout" in options) {
timeout = options.timeout;
}
if (retry === null || retry === void 0 ? void 0 : retry.retryCodes) {
retry.backoffSettings.initialRpcTimeoutMillis = timeout;
retry.backoffSettings.maxRpcTimeoutMillis = timeout;
retry.backoffSettings.totalTimeoutMillis = timeout;
}
if ("retry" in options) {
retry = mergeRetryOptions(retry || {}, options.retry);
}
if ("autoPaginate" in options && !options.autoPaginate) {
autoPaginate = false;
}
if ("maxResults" in options) {
maxResults = options.maxResults;
}
if ("otherArgs" in options) {
otherArgs = {};
for (const key in this.otherArgs) {
otherArgs[key] = this.otherArgs[key];
}
for (const optionsKey in options.otherArgs) {
otherArgs[optionsKey] = options.otherArgs[optionsKey];
}
}
if ("isBundling" in options) {
isBundling = options.isBundling;
}
if ("maxRetries" in options && options.maxRetries !== void 0) {
retry.backoffSettings.maxRetries = options.maxRetries;
delete retry.backoffSettings.totalTimeoutMillis;
}
if ("longrunning" in options) {
longrunning = options.longrunning;
}
if ("apiName" in options) {
apiName = options.apiName;
}
if ("retryRequestOptions" in options) {
retryRequestOptions = options.retryRequestOptions;
}
return new _CallSettings({
timeout,
retry,
bundleOptions: this.bundleOptions,
longrunning,
autoPaginate,
maxResults,
otherArgs,
isBundling,
apiName,
retryRequestOptions
});
}
};
exports2.CallSettings = CallSettings;
function convertRetryOptions(options, gaxStreamingRetries) {
var _a4, _b, _c, _d;
if (!options) {
return options;
}
if (!gaxStreamingRetries) {
return options;
}
if (options.retry && options.retryRequestOptions) {
throw new Error("Only one of retry or retryRequestOptions may be set");
}
if (options.retryRequestOptions) {
if (options.retryRequestOptions.objectMode !== void 0) {
(0, warnings_1.warn)("retry_request_options", "objectMode override is not supported. It is set to true internally by default in gax.", "UnsupportedParameterWarning");
}
if (options.retryRequestOptions.noResponseRetries !== void 0) {
(0, warnings_1.warn)("retry_request_options", "noResponseRetries override is not supported. Please specify retry codes or a function to determine retry eligibility.", "UnsupportedParameterWarning");
}
if (options.retryRequestOptions.currentRetryAttempt !== void 0) {
(0, warnings_1.warn)("retry_request_options", "currentRetryAttempt override is not supported. Retry attempts are tracked internally.", "UnsupportedParameterWarning");
}
let retryCodes = [status_1.Status.UNAVAILABLE];
let shouldRetryFn;
if (options.retryRequestOptions.shouldRetryFn) {
retryCodes = [];
shouldRetryFn = options.retryRequestOptions.shouldRetryFn;
}
options.maxRetries = (_b = (_a4 = options === null || options === void 0 ? void 0 : options.retryRequestOptions) === null || _a4 === void 0 ? void 0 : _a4.retries) !== null && _b !== void 0 ? _b : options.maxRetries;
const backoffSettings = createDefaultBackoffSettings();
let maxRetryDelayMillis;
let totalTimeoutMillis;
if (options.retryRequestOptions.maxRetryDelay !== void 0) {
maxRetryDelayMillis = options.retryRequestOptions.maxRetryDelay * 1e3;
}
const retryDelayMultiplier = (_d = (_c = options === null || options === void 0 ? void 0 : options.retryRequestOptions) === null || _c === void 0 ? void 0 : _c.retryDelayMultiplier) !== null && _d !== void 0 ? _d : backoffSettings.retryDelayMultiplier;
if (options.retryRequestOptions.totalTimeout !== void 0) {
totalTimeoutMillis = options.retryRequestOptions.totalTimeout * 1e3;
} else {
if (options.maxRetries === void 0) {
totalTimeoutMillis = 3e4;
(0, warnings_1.warn)("retry_request_options_no_max_retries_timeout", "Neither maxRetries nor totalTimeout were passed. Defaulting to totalTimeout of 30000ms.", "MissingParameterWarning");
}
}
backoffSettings.maxRetryDelayMillis = maxRetryDelayMillis !== null && maxRetryDelayMillis !== void 0 ? maxRetryDelayMillis : backoffSettings.maxRetryDelayMillis;
backoffSettings.retryDelayMultiplier = retryDelayMultiplier !== null && retryDelayMultiplier !== void 0 ? retryDelayMultiplier : backoffSettings.retryDelayMultiplier;
backoffSettings.totalTimeoutMillis = totalTimeoutMillis !== null && totalTimeoutMillis !== void 0 ? totalTimeoutMillis : backoffSettings.totalTimeoutMillis;
const convertedRetryOptions = createRetryOptions(retryCodes, backoffSettings, shouldRetryFn);
options.retry = convertedRetryOptions;
delete options.retryRequestOptions;
(0, warnings_1.warn)("retry_request_options", "retryRequestOptions will be deprecated in a future release. Please use retryOptions to pass retry options at call time", "DeprecationWarning");
}
return options;
}
function createRetryOptions(retryCodes, backoffSettings, shouldRetryFn, getResumptionRequestFn) {
return {
retryCodes,
backoffSettings,
shouldRetryFn,
getResumptionRequestFn
};
}
function createBackoffSettings(initialRetryDelayMillis, retryDelayMultiplier, maxRetryDelayMillis, initialRpcTimeoutMillis, rpcTimeoutMultiplier, maxRpcTimeoutMillis, totalTimeoutMillis) {
return {
initialRetryDelayMillis,
retryDelayMultiplier,
maxRetryDelayMillis,
initialRpcTimeoutMillis,
rpcTimeoutMultiplier,
maxRpcTimeoutMillis,
totalTimeoutMillis
};
}
function createDefaultBackoffSettings() {
return createBackoffSettings(100, 1.3, 6e4, null, null, null, null);
}
function createMaxRetriesBackoffSettings(initialRetryDelayMillis, retryDelayMultiplier, maxRetryDelayMillis, initialRpcTimeoutMillis, rpcTimeoutMultiplier, maxRpcTimeoutMillis, maxRetries) {
return {
initialRetryDelayMillis,
retryDelayMultiplier,
maxRetryDelayMillis,
initialRpcTimeoutMillis,
rpcTimeoutMultiplier,
maxRpcTimeoutMillis,
maxRetries
};
}
function createBundleOptions(options) {
const params = [
"element_count_threshold",
"element_count_limit",
"request_byte_threshold",
"request_byte_limit",
"delay_threshold_millis"
];
params.forEach((param) => {
if (param in options && typeof options[param] !== "number") {
throw new Error(`${param} should be a number`);
}
});
const elementCountThreshold = options.element_count_threshold || 0;
const elementCountLimit = options.element_count_limit || 0;
const requestByteThreshold = options.request_byte_threshold || 0;
const requestByteLimit = options.request_byte_limit || 0;
const delayThreshold = options.delay_threshold_millis || 0;
if (elementCountThreshold === 0 && requestByteThreshold === 0 && delayThreshold === 0) {
throw new Error("one threshold should be > 0");
}
return {
elementCountThreshold,
elementCountLimit,
requestByteThreshold,
requestByteLimit,
delayThreshold
};
}
function constructRetry(methodConfig, retryCodes, retryParams, retryNames) {
if (!methodConfig) {
return null;
}
let codes = null;
if (retryCodes && "retry_codes_name" in methodConfig) {
const retryCodesName = methodConfig["retry_codes_name"];
codes = (retryCodes[retryCodesName] || []).map((name3) => {
return Number(retryNames[name3]);
});
}
let backoffSettings = null;
if (retryParams && "retry_params_name" in methodConfig) {
const params = retryParams[methodConfig.retry_params_name];
backoffSettings = createBackoffSettings(params.initial_retry_delay_millis, params.retry_delay_multiplier, params.max_retry_delay_millis, params.initial_rpc_timeout_millis, params.rpc_timeout_multiplier, params.max_rpc_timeout_millis, params.total_timeout_millis);
}
return createRetryOptions(codes, backoffSettings);
}
function mergeRetryOptions(retry, overrides) {
if (!overrides) {
return null;
}
if (!overrides.retryCodes && !overrides.backoffSettings && !overrides.shouldRetryFn && !overrides.getResumptionRequestFn) {
return retry;
}
const retryCodes = overrides.retryCodes ? overrides.retryCodes : retry.retryCodes;
const backoffSettings = overrides.backoffSettings ? overrides.backoffSettings : retry.backoffSettings;
const shouldRetryFn = overrides.shouldRetryFn ? overrides.shouldRetryFn : retry.shouldRetryFn;
const getResumptionRequestFn = overrides.getResumptionRequestFn ? overrides.getResumptionRequestFn : retry.getResumptionRequestFn;
return createRetryOptions(retryCodes, backoffSettings, shouldRetryFn, getResumptionRequestFn);
}
function constructSettings(serviceName, clientConfig, configOverrides, retryNames, otherArgs) {
otherArgs = otherArgs || {};
const defaults2 = {};
const serviceConfig = (clientConfig.interfaces || {})[serviceName];
if (!serviceConfig) {
return null;
}
const overrides = (configOverrides.interfaces || {})[serviceName] || {};
const methods = serviceConfig.methods;
const overridingMethods = overrides.methods || {};
for (const methodName in methods) {
const methodConfig = methods[methodName];
const jsName = (0, util_1.toLowerCamelCase)(methodName);
let retry = constructRetry(methodConfig, serviceConfig.retry_codes, serviceConfig.retry_params, retryNames);
let bundlingConfig = methodConfig.bundling;
let timeout = methodConfig.timeout_millis;
if (methodName in overridingMethods) {
const overridingMethod = overridingMethods[methodName];
if (overridingMethod) {
if ("bundling" in overridingMethod) {
bundlingConfig = overridingMethod.bundling;
}
if ("timeout_millis" in overridingMethod) {
timeout = overridingMethod.timeout_millis;
}
}
retry = mergeRetryOptions(retry, constructRetry(overridingMethod, overrides.retry_codes, overrides.retry_params, retryNames));
}
const apiName = serviceName;
defaults2[jsName] = new CallSettings({
timeout,
retry,
bundleOptions: bundlingConfig ? createBundleOptions(bundlingConfig) : null,
otherArgs,
apiName
});
}
return defaults2;
}
function createByteLengthFunction(message) {
return function getByteLength(obj) {
try {
return message.encode(obj).finish().length;
} catch (err2) {
const stringified = JSON.stringify(obj);
(0, warnings_1.warn)("error_encoding_protobufjs_object", `Cannot encode protobuf.js object: ${stringified}: ${err2}`);
return stringified.length;
}
};
}
}
});
// node_modules/google-gax/build/src/protosList.json
var require_protosList = __commonJS({
"node_modules/google-gax/build/src/protosList.json"(exports2, module2) {
module2.exports = [
"google/api/annotations.proto",
"google/api/apikeys/v2/apikeys.proto",
"google/api/apikeys/v2/resources.proto",
"google/api/auth.proto",
"google/api/backend.proto",
"google/api/billing.proto",
"google/api/client.proto",
"google/api/cloudquotas/v1/cloudquotas.proto",
"google/api/cloudquotas/v1/resources.proto",
"google/api/config_change.proto",
"google/api/consumer.proto",
"google/api/context.proto",
"google/api/control.proto",
"google/api/distribution.proto",
"google/api/documentation.proto",
"google/api/endpoint.proto",
"google/api/error_reason.proto",
"google/api/expr/conformance/v1alpha1/conformance_service.proto",
"google/api/expr/v1alpha1/checked.proto",
"google/api/expr/v1alpha1/eval.proto",
"google/api/expr/v1alpha1/explain.proto",
"google/api/expr/v1alpha1/syntax.proto",
"google/api/expr/v1alpha1/value.proto",
"google/api/expr/v1beta1/decl.proto",
"google/api/expr/v1beta1/eval.proto",
"google/api/expr/v1beta1/expr.proto",
"google/api/expr/v1beta1/source.proto",
"google/api/expr/v1beta1/value.proto",
"google/api/field_behavior.proto",
"google/api/field_info.proto",
"google/api/http.proto",
"google/api/httpbody.proto",
"google/api/label.proto",
"google/api/launch_stage.proto",
"google/api/log.proto",
"google/api/logging.proto",
"google/api/metric.proto",
"google/api/monitored_resource.proto",
"google/api/monitoring.proto",
"google/api/policy.proto",
"google/api/quota.proto",
"google/api/resource.proto",
"google/api/routing.proto",
"google/api/service.proto",
"google/api/servicecontrol/v1/check_error.proto",
"google/api/servicecontrol/v1/distribution.proto",
"google/api/servicecontrol/v1/http_request.proto",
"google/api/servicecontrol/v1/log_entry.proto",
"google/api/servicecontrol/v1/metric_value.proto",
"google/api/servicecontrol/v1/operation.proto",
"google/api/servicecontrol/v1/quota_controller.proto",
"google/api/servicecontrol/v1/service_controller.proto",
"google/api/servicecontrol/v2/service_controller.proto",
"google/api/servicemanagement/v1/resources.proto",
"google/api/servicemanagement/v1/servicemanager.proto",
"google/api/serviceusage/v1/resources.proto",
"google/api/serviceusage/v1/serviceusage.proto",
"google/api/serviceusage/v1beta1/resources.proto",
"google/api/serviceusage/v1beta1/serviceusage.proto",
"google/api/source_info.proto",
"google/api/system_parameter.proto",
"google/api/usage.proto",
"google/api/visibility.proto",
"google/cloud/location/locations.proto",
"google/iam/v1/iam_policy.proto",
"google/iam/v1/logging/audit_data.proto",
"google/iam/v1/options.proto",
"google/iam/v1/policy.proto",
"google/logging/type/http_request.proto",
"google/logging/type/log_severity.proto",
"google/longrunning/operations.proto",
"google/monitoring/v3/alert.proto",
"google/monitoring/v3/alert_service.proto",
"google/monitoring/v3/common.proto",
"google/monitoring/v3/dropped_labels.proto",
"google/monitoring/v3/group.proto",
"google/monitoring/v3/group_service.proto",
"google/monitoring/v3/metric.proto",
"google/monitoring/v3/metric_service.proto",
"google/monitoring/v3/mutation_record.proto",
"google/monitoring/v3/notification.proto",
"google/monitoring/v3/notification_service.proto",
"google/monitoring/v3/query_service.proto",
"google/monitoring/v3/service.proto",
"google/monitoring/v3/service_service.proto",
"google/monitoring/v3/snooze.proto",
"google/monitoring/v3/snooze_service.proto",
"google/monitoring/v3/span_context.proto",
"google/monitoring/v3/uptime.proto",
"google/monitoring/v3/uptime_service.proto",
"google/protobuf/any.proto",
"google/protobuf/api.proto",
"google/protobuf/bridge/message_set.proto",
"google/protobuf/compiler/plugin.proto",
"google/protobuf/compiler/ruby/ruby_generated_code.proto",
"google/protobuf/compiler/ruby/ruby_generated_code_proto2.proto",
"google/protobuf/compiler/ruby/ruby_generated_code_proto2_import.proto",
"google/protobuf/compiler/ruby/ruby_generated_pkg_explicit.proto",
"google/protobuf/compiler/ruby/ruby_generated_pkg_explicit_legacy.proto",
"google/protobuf/compiler/ruby/ruby_generated_pkg_implicit.proto",
"google/protobuf/cpp_features.proto",
"google/protobuf/descriptor.proto",
"google/protobuf/duration.proto",
"google/protobuf/empty.proto",
"google/protobuf/field_mask.proto",
"google/protobuf/source_context.proto",
"google/protobuf/struct.proto",
"google/protobuf/timestamp.proto",
"google/protobuf/type.proto",
"google/protobuf/util/json_format.proto",
"google/protobuf/util/json_format_proto3.proto",
"google/protobuf/wrappers.proto",
"google/rpc/code.proto",
"google/rpc/context/attribute_context.proto",
"google/rpc/context/audit_context.proto",
"google/rpc/error_details.proto",
"google/rpc/http.proto",
"google/rpc/status.proto",
"google/type/calendar_period.proto",
"google/type/color.proto",
"google/type/date.proto",
"google/type/datetime.proto",
"google/type/dayofweek.proto",
"google/type/decimal.proto",
"google/type/expr.proto",
"google/type/fraction.proto",
"google/type/interval.proto",
"google/type/latlng.proto",
"google/type/localized_text.proto",
"google/type/money.proto",
"google/type/month.proto",
"google/type/phone_number.proto",
"google/type/postal_address.proto",
"google/type/quaternion.proto",
"google/type/timeofday.proto"
];
}
});
// node_modules/google-gax/build/src/grpc.js
var require_grpc = __commonJS({
"node_modules/google-gax/build/src/grpc.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GoogleProtoFilesRoot = exports2.GrpcClient = exports2.ClientStub = void 0;
var grpcProtoLoader = require_src10();
var child_process_1 = __require("child_process");
var fs84 = __require("fs");
var google_auth_library_1 = require_src6();
var grpc3 = require_src11();
var os30 = __require("os");
var path_1 = __require("path");
var path101 = __require("path");
var protobuf = require_protobufjs();
var objectHash = require_object_hash();
var gax = require_gax();
var googleProtoFilesDir = path101.join(__chunk_dirname, "..", "..", "build", "protos");
var INCLUDE_DIRS = [];
INCLUDE_DIRS.push(googleProtoFilesDir);
var commonProtoFiles = require_protosList();
var COMMON_PROTO_FILES = commonProtoFiles.map((file2) => file2.replace(/[/\\]/g, path101.sep));
async function readFileAsync(path102) {
return new Promise((resolve25, reject) => {
fs84.readFile(path102, "utf8", (err2, content) => {
if (err2)
return reject(err2);
else
resolve25(content);
});
});
}
async function execFileAsync6(command, args2) {
return new Promise((resolve25, reject) => {
(0, child_process_1.execFile)(command, args2, (err2, stdout) => {
if (err2)
return reject(err2);
else
resolve25(stdout);
});
});
}
var ClientStub = class extends grpc3.Client {
};
exports2.ClientStub = ClientStub;
var GrpcClient = class _GrpcClient {
/**
* Key for proto cache map. We are doing our best to make sure we respect
* the options, so if the same proto file is loaded with different set of
* options, the cache won't be used. Since some of the options are
* Functions (e.g. `enums: String` - see below in `loadProto()`),
* they will be omitted from the cache key. If the cache breaks anything
* for you, use the `ignoreCache` parameter of `loadProto()` to disable it.
*/
static protoCacheKey(filename, options) {
if (!filename || Array.isArray(filename) && (filename.length === 0 || !filename[0])) {
return void 0;
}
return JSON.stringify(filename) + " " + JSON.stringify(options);
}
/**
* In rare cases users might need to deallocate all memory consumed by loaded protos.
* This method will delete the proto cache content.
*/
static clearProtoCache() {
_GrpcClient.protoCache.clear();
}
/**
* A class which keeps the context of gRPC and auth for the gRPC.
*
* @param {Object=} options - The optional parameters. It will be directly
* passed to google-auth-library library, so parameters like keyFile or
* credentials will be valid.
* @param {Object=} options.auth - An instance of google-auth-library.
* When specified, this auth instance will be used instead of creating
* a new one.
* @param {Object=} options.grpc - When specified, this will be used
* for the 'grpc' module in this context. By default, it will load the grpc
* module in the standard way.
* @constructor
*/
constructor(options = {}) {
var _a4;
this.auth = options.auth || new google_auth_library_1.GoogleAuth(options);
this.fallback = false;
const minimumVersion = 10;
const major = Number((_a4 = process.version.match(/^v(\d+)/)) === null || _a4 === void 0 ? void 0 : _a4[1]);
if (Number.isNaN(major) || major < minimumVersion) {
const errorMessage = `Node.js v${minimumVersion}.0.0 is a minimum requirement. To learn about legacy version support visit: https://github.com/googleapis/google-cloud-node#supported-nodejs-versions`;
throw new Error(errorMessage);
}
if ("grpc" in options) {
this.grpc = options.grpc;
this.grpcVersion = "";
} else {
this.grpc = grpc3;
this.grpcVersion = require_package3().version;
}
}
/**
* Creates a gRPC credentials. It asks the auth data if necessary.
* @private
* @param {Object} opts - options values for configuring credentials.
* @param {Object=} opts.sslCreds - when specified, this is used instead
* of default channel credentials.
* @return {Promise} The promise which will be resolved to the gRPC credential.
*/
async _getCredentials(opts) {
if (opts.sslCreds) {
return opts.sslCreds;
}
const grpc4 = this.grpc;
const sslCreds = opts.cert && opts.key ? grpc4.credentials.createSsl(null, Buffer.from(opts.key), Buffer.from(opts.cert)) : grpc4.credentials.createSsl();
const client = await this.auth.getClient();
const credentials3 = grpc4.credentials.combineChannelCredentials(sslCreds, grpc4.credentials.createFromGoogleCredential(client));
return credentials3;
}
static defaultOptions() {
const includeDirs = INCLUDE_DIRS.slice();
const options = {
keepCase: false,
longs: String,
enums: String,
defaults: true,
oneofs: true,
includeDirs
};
return options;
}
/**
* Loads the gRPC service from the proto file(s) at the given path and with the
* given options. Caches the loaded protos so the subsequent loads don't do
* any disk reads.
* @param filename The path to the proto file(s).
* @param options Options for loading the proto file.
* @param ignoreCache Defaults to `false`. Set it to `true` if the caching logic
* incorrectly decides that the options object is the same, or if you want to
* re-read the protos from disk for any other reason.
*/
loadFromProto(filename, options, ignoreCache = false) {
const cacheKey = _GrpcClient.protoCacheKey(filename, options);
let grpcPackage = cacheKey ? _GrpcClient.protoCache.get(cacheKey) : void 0;
if (ignoreCache || !grpcPackage) {
const packageDef = grpcProtoLoader.loadSync(filename, options);
grpcPackage = this.grpc.loadPackageDefinition(packageDef);
if (cacheKey) {
_GrpcClient.protoCache.set(cacheKey, grpcPackage);
}
}
return grpcPackage;
}
/**
* Load gRPC proto service from a filename looking in googleapis common protos
* when necessary. Caches the loaded protos so the subsequent loads don't do
* any disk reads.
* @param {String} protoPath - The directory to search for the protofile.
* @param {String|String[]} filename - The filename(s) of the proto(s) to be loaded.
* If omitted, protoPath will be treated as a file path to load.
* @param ignoreCache Defaults to `false`. Set it to `true` if the caching logic
* incorrectly decides that the options object is the same, or if you want to
* re-read the protos from disk for any other reason.
* @return {Object<string, *>} The gRPC loaded result (the toplevel namespace
* object).
*/
loadProto(protoPath, filename, ignoreCache = false) {
if (!filename) {
filename = path101.basename(protoPath);
protoPath = path101.dirname(protoPath);
}
if (Array.isArray(filename) && filename.length === 0) {
return {};
}
const options = _GrpcClient.defaultOptions();
options.includeDirs.unshift(protoPath);
return this.loadFromProto(filename, options, ignoreCache);
}
static _resolveFile(protoPath, filename) {
if (fs84.existsSync(path101.join(protoPath, filename))) {
return path101.join(protoPath, filename);
} else if (COMMON_PROTO_FILES.indexOf(filename) > -1) {
return path101.join(googleProtoFilesDir, filename);
}
throw new Error(filename + " could not be found in " + protoPath);
}
loadProtoJSON(json3, ignoreCache = false) {
const hash = objectHash(JSON.stringify(json3)).toString();
const cached2 = _GrpcClient.protoCache.get(hash);
if (cached2 && !ignoreCache) {
return cached2;
}
const options = _GrpcClient.defaultOptions();
const packageDefinition = grpcProtoLoader.fromJSON(json3, options);
const grpcPackage = this.grpc.loadPackageDefinition(packageDefinition);
_GrpcClient.protoCache.set(hash, grpcPackage);
return grpcPackage;
}
metadataBuilder(headers) {
const Metadata2 = this.grpc.Metadata;
const baseMetadata = new Metadata2();
for (const key in headers) {
const value = headers[key];
if (Array.isArray(value)) {
value.forEach((v) => baseMetadata.add(key, v));
} else {
baseMetadata.set(key, `${value}`);
}
}
return function buildMetadata(abTests, moreHeaders) {
let copied = false;
let metadata2 = baseMetadata;
if (moreHeaders) {
for (const key in moreHeaders) {
if (key.toLowerCase() !== "x-goog-api-client") {
if (!copied) {
copied = true;
metadata2 = metadata2.clone();
}
const value = moreHeaders[key];
if (Array.isArray(value)) {
value.forEach((v) => metadata2.add(key, v));
} else {
metadata2.set(key, `${value}`);
}
}
}
}
return metadata2;
};
}
/**
* A wrapper of {@link constructSettings} function under the gRPC context.
*
* Most of parameters are common among constructSettings, please take a look.
* @param {string} serviceName - The fullly-qualified name of the service.
* @param {Object} clientConfig - A dictionary of the client config.
* @param {Object} configOverrides - A dictionary of overriding configs.
* @param {Object} headers - A dictionary of additional HTTP header name to
* its value.
* @return {Object} A mapping of method names to CallSettings.
*/
constructSettings(serviceName, clientConfig, configOverrides, headers) {
return gax.constructSettings(serviceName, clientConfig, configOverrides, this.grpc.status, { metadataBuilder: this.metadataBuilder(headers) });
}
/**
* Creates a gRPC stub with current gRPC and auth.
* @param {function} CreateStub - The constructor function of the stub.
* @param {Object} options - The optional arguments to customize
* gRPC connection. This options will be passed to the constructor of
* gRPC client too.
* @param {string} options.servicePath - The name of the server of the service.
* @param {number} options.port - The port of the service.
* @param {grpcTypes.ClientCredentials=} options.sslCreds - The credentials to be used
* to set up gRPC connection.
* @param {string} defaultServicePath - The default service path.
* @return {Promise} A promise which resolves to a gRPC stub instance.
*/
async createStub(CreateStub, options, customServicePath) {
const grpcGcpOptions = [
"grpc.callInvocationTransformer",
"grpc.channelFactoryOverride",
"grpc.gcpApiConfig"
];
const [cert, key] = await this._detectClientCertificate(options, options.universeDomain);
const servicePath = this._mtlsServicePath(options.servicePath, customServicePath, cert && key);
const opts = Object.assign({}, options, { cert, key, servicePath });
const serviceAddress = servicePath + ":" + opts.port;
if (!options.universeDomain) {
options.universeDomain = "googleapis.com";
}
if (options.universeDomain) {
const universeFromAuth = await this.auth.getUniverseDomain();
if (universeFromAuth && options.universeDomain !== universeFromAuth) {
throw new Error(`The configured universe domain (${options.universeDomain}) does not match the universe domain found in the credentials (${universeFromAuth}). If you haven't configured the universe domain explicitly, googleapis.com is the default.`);
}
}
const creds = await this._getCredentials(opts);
const grpcOptions = {};
grpcOptions["grpc.max_receive_message_length"] = -1;
grpcOptions["grpc.max_send_message_length"] = -1;
grpcOptions["grpc.initial_reconnect_backoff_ms"] = 1e3;
Object.keys(opts).forEach((key2) => {
const value = options[key2];
if (key2.startsWith("grpc.grpc.")) {
key2 = key2.replace(/^grpc\./, "");
}
if (key2.startsWith("grpc.")) {
if (grpcGcpOptions.includes(key2)) {
key2 = key2.replace(/^grpc\./, "");
}
grpcOptions[key2] = value;
}
if (key2.startsWith("grpc-node.")) {
grpcOptions[key2] = value;
}
});
const stub = new CreateStub(serviceAddress, creds, grpcOptions);
return stub;
}
/**
* Detect mTLS client certificate based on logic described in
* https://google.aip.dev/auth/4114.
*
* @param {object} [options] - The configuration object.
* @returns {Promise} Resolves array of strings representing cert and key.
*/
async _detectClientCertificate(opts, universeDomain) {
var _a4;
const certRegex = /(?<cert>-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----)/s;
const keyRegex = /(?<key>-----BEGIN PRIVATE KEY-----.*?-----END PRIVATE KEY-----)/s;
if (typeof process !== "undefined" && ((_a4 = process === null || process === void 0 ? void 0 : process.env) === null || _a4 === void 0 ? void 0 : _a4.GOOGLE_API_USE_CLIENT_CERTIFICATE) === "true") {
if (universeDomain && universeDomain !== "googleapis.com") {
throw new Error("mTLS is not supported outside of googleapis.com universe domain.");
}
if ((opts === null || opts === void 0 ? void 0 : opts.cert) && (opts === null || opts === void 0 ? void 0 : opts.key)) {
return [opts.cert, opts.key];
}
const metadataPath = (0, path_1.join)(os30.homedir(), ".secureConnect", "context_aware_metadata.json");
const metadata2 = JSON.parse(await readFileAsync(metadataPath));
if (!metadata2.cert_provider_command) {
throw Error("no cert_provider_command found");
}
const stdout = await execFileAsync6(metadata2.cert_provider_command[0], metadata2.cert_provider_command.slice(1));
const matchCert = stdout.toString().match(certRegex);
const matchKey = stdout.toString().match(keyRegex);
if (!((matchCert === null || matchCert === void 0 ? void 0 : matchCert.groups) && (matchKey === null || matchKey === void 0 ? void 0 : matchKey.groups))) {
throw Error("unable to parse certificate and key");
} else {
return [matchCert.groups.cert, matchKey.groups.key];
}
}
return [void 0, void 0];
}
/**
* Return service path, taking into account mTLS logic.
* See: https://google.aip.dev/auth/4114
*
* @param {string|undefined} servicePath - The path of the service.
* @param {string|undefined} customServicePath - Did the user provide a custom service URL.
* @param {boolean} hasCertificate - Was a certificate found.
* @returns {string} The DNS address for this service.
*/
_mtlsServicePath(servicePath, customServicePath, hasCertificate) {
var _a4, _b;
if (customServicePath || !servicePath)
return servicePath;
if (typeof process !== "undefined" && ((_a4 = process === null || process === void 0 ? void 0 : process.env) === null || _a4 === void 0 ? void 0 : _a4.GOOGLE_API_USE_MTLS_ENDPOINT) === "never") {
return servicePath;
} else if (typeof process !== "undefined" && ((_b = process === null || process === void 0 ? void 0 : process.env) === null || _b === void 0 ? void 0 : _b.GOOGLE_API_USE_MTLS_ENDPOINT) === "always" || hasCertificate) {
return servicePath.replace("googleapis.com", "mtls.googleapis.com");
}
return servicePath;
}
/**
* Creates a 'bytelength' function for a given proto message class.
*
* See {@link BundleDescriptor} about the meaning of the return value.
*
* @param {function} message - a constructor function that is generated by
* protobuf.js. Assumes 'encoder' field in the message.
* @return {function(Object):number} - a function to compute the byte length
* for an object.
*/
static createByteLengthFunction(message) {
return gax.createByteLengthFunction(message);
}
};
exports2.GrpcClient = GrpcClient;
GrpcClient.protoCache = /* @__PURE__ */ new Map();
var GoogleProtoFilesRoot = class _GoogleProtoFilesRoot extends protobuf.Root {
constructor(...args2) {
super(...args2);
}
// Causes the loading of an included proto to check if it is a common
// proto. If it is a common proto, use the bundled proto.
resolvePath(originPath, includePath) {
originPath = path101.normalize(originPath);
includePath = path101.normalize(includePath);
if (path101.isAbsolute(includePath)) {
if (!fs84.existsSync(includePath)) {
throw new Error("The include `" + includePath + "` was not found.");
}
return includePath;
}
if (COMMON_PROTO_FILES.indexOf(includePath) > -1) {
return path101.join(googleProtoFilesDir, includePath);
}
return _GoogleProtoFilesRoot._findIncludePath(originPath, includePath);
}
static _findIncludePath(originPath, includePath) {
originPath = path101.normalize(originPath);
includePath = path101.normalize(includePath);
let current = originPath;
let found = fs84.existsSync(path101.join(current, includePath));
while (!found && current.length > 0) {
current = current.substring(0, current.lastIndexOf(path101.sep));
found = fs84.existsSync(path101.join(current, includePath));
}
if (!found) {
throw new Error("The include `" + includePath + "` was not found.");
}
return path101.join(current, includePath);
}
};
exports2.GoogleProtoFilesRoot = GoogleProtoFilesRoot;
}
});
// node_modules/protobufjs/minimal.js
var require_minimal4 = __commonJS({
"node_modules/protobufjs/minimal.js"(exports2, module2) {
"use strict";
module2.exports = require_index_minimal();
}
});
// node_modules/google-gax/build/protos/iam_service.js
var require_iam_service = __commonJS({
"node_modules/google-gax/build/protos/iam_service.js"(exports2, module2) {
((e2) => {
"function" == typeof define && define.amd ? define(["protobufjs/minimal"], e2) : "function" == typeof __require && "object" == typeof module2 && module2 && module2.exports && (module2.exports = e2(require_minimal4()));
})(function(o3) {
var e2, t2, n3, r2, F, a2 = o3.Reader, i3 = o3.Writer, p = o3.util, l2 = o3.roots.iam_protos || (o3.roots.iam_protos = {});
function B(e3, t3, n4) {
o3.rpc.Service.call(this, e3, t3, n4);
}
function s2(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function u2(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function c4(e3) {
if (this.permissions = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function G(e3) {
if (this.permissions = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function U(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function d(e3) {
if (this.bindings = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function g(e3) {
if (this.members = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function M(e3) {
if (this.bindingDeltas = [], this.auditConfigDeltas = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function f(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function y(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function L(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function J(e3) {
if (this.rules = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function h2(e3) {
if (this.additionalBindings = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function _(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function b(e3) {
if (this.pattern = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function H(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function q(e3) {
if (this.file = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function m(e3) {
if (this.dependency = [], this.publicDependency = [], this.weakDependency = [], this.messageType = [], this.enumType = [], this.service = [], this.extension = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function O(e3) {
if (this.field = [], this.extension = [], this.nestedType = [], this.enumType = [], this.extensionRange = [], this.oneofDecl = [], this.reservedRange = [], this.reservedName = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function v(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function Y(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function z(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function P(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function W(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function w(e3) {
if (this.value = [], this.reservedRange = [], this.reservedName = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function X(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function j(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function D(e3) {
if (this.method = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function x(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function S(e3) {
if (this.uninterpretedOption = [], this[".google.api.resourceDefinition"] = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function k(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function T(e3) {
if (this.uninterpretedOption = [], this[".google.api.fieldBehavior"] = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function Q(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function E(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function K(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function A(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function N(e3) {
if (this.uninterpretedOption = [], this[".google.api.methodSignature"] = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function R(e3) {
if (this.name = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function Z(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function $2(e3) {
if (this.location = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function I2(e3) {
if (this.path = [], this.span = [], this.leadingDetachedComments = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function ee(e3) {
if (this.annotation = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function C2(e3) {
if (this.path = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function V2(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
return l2.google = ((F = {}).iam = ((n3 = {}).v1 = ((t2 = {}).IAMPolicy = (((B.prototype = Object.create(o3.rpc.Service.prototype)).constructor = B).create = function(e3, t3, n4) {
return new this(e3, t3, n4);
}, Object.defineProperty(B.prototype.setIamPolicy = function e3(t3, n4) {
return this.rpcCall(e3, l2.google.iam.v1.SetIamPolicyRequest, l2.google.iam.v1.Policy, t3, n4);
}, "name", { value: "SetIamPolicy" }), Object.defineProperty(B.prototype.getIamPolicy = function e3(t3, n4) {
return this.rpcCall(e3, l2.google.iam.v1.GetIamPolicyRequest, l2.google.iam.v1.Policy, t3, n4);
}, "name", { value: "GetIamPolicy" }), Object.defineProperty(B.prototype.testIamPermissions = function e3(t3, n4) {
return this.rpcCall(e3, l2.google.iam.v1.TestIamPermissionsRequest, l2.google.iam.v1.TestIamPermissionsResponse, t3, n4);
}, "name", { value: "TestIamPermissions" }), B), t2.SetIamPolicyRequest = (s2.prototype.resource = "", s2.prototype.policy = null, s2.create = function(e3) {
return new s2(e3);
}, s2.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.resource && Object.hasOwnProperty.call(e3, "resource") && t3.uint32(10).string(e3.resource), null != e3.policy && Object.hasOwnProperty.call(e3, "policy") && l2.google.iam.v1.Policy.encode(e3.policy, t3.uint32(18).fork()).ldelim(), t3;
}, s2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, s2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.SetIamPolicyRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.resource = e3.string();
break;
case 2:
o4.policy = l2.google.iam.v1.Policy.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, s2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, s2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.resource && e3.hasOwnProperty("resource") && !p.isString(e3.resource)) return "resource: string expected";
if (null != e3.policy && e3.hasOwnProperty("policy")) {
e3 = l2.google.iam.v1.Policy.verify(e3.policy);
if (e3) return "policy." + e3;
}
return null;
}, s2.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.SetIamPolicyRequest) return e3;
var t3 = new l2.google.iam.v1.SetIamPolicyRequest();
if (null != e3.resource && (t3.resource = String(e3.resource)), null != e3.policy) {
if ("object" != typeof e3.policy) throw TypeError(".google.iam.v1.SetIamPolicyRequest.policy: object expected");
t3.policy = l2.google.iam.v1.Policy.fromObject(e3.policy);
}
return t3;
}, s2.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.resource = "", n4.policy = null), null != e3.resource && e3.hasOwnProperty("resource") && (n4.resource = e3.resource), null != e3.policy && e3.hasOwnProperty("policy") && (n4.policy = l2.google.iam.v1.Policy.toObject(e3.policy, t3)), n4;
}, s2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, s2), t2.GetIamPolicyRequest = (u2.prototype.resource = "", u2.prototype.options = null, u2.create = function(e3) {
return new u2(e3);
}, u2.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.resource && Object.hasOwnProperty.call(e3, "resource") && t3.uint32(10).string(e3.resource), null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.iam.v1.GetPolicyOptions.encode(e3.options, t3.uint32(18).fork()).ldelim(), t3;
}, u2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, u2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.GetIamPolicyRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.resource = e3.string();
break;
case 2:
o4.options = l2.google.iam.v1.GetPolicyOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, u2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, u2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.resource && e3.hasOwnProperty("resource") && !p.isString(e3.resource)) return "resource: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = l2.google.iam.v1.GetPolicyOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, u2.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.GetIamPolicyRequest) return e3;
var t3 = new l2.google.iam.v1.GetIamPolicyRequest();
if (null != e3.resource && (t3.resource = String(e3.resource)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.iam.v1.GetIamPolicyRequest.options: object expected");
t3.options = l2.google.iam.v1.GetPolicyOptions.fromObject(e3.options);
}
return t3;
}, u2.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.resource = "", n4.options = null), null != e3.resource && e3.hasOwnProperty("resource") && (n4.resource = e3.resource), null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.iam.v1.GetPolicyOptions.toObject(e3.options, t3)), n4;
}, u2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, u2), t2.TestIamPermissionsRequest = (c4.prototype.resource = "", c4.prototype.permissions = p.emptyArray, c4.create = function(e3) {
return new c4(e3);
}, c4.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.resource && Object.hasOwnProperty.call(e3, "resource") && t3.uint32(10).string(e3.resource), null != e3.permissions && e3.permissions.length) for (var n4 = 0; n4 < e3.permissions.length; ++n4) t3.uint32(18).string(e3.permissions[n4]);
return t3;
}, c4.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, c4.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.TestIamPermissionsRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.resource = e3.string();
break;
case 2:
o4.permissions && o4.permissions.length || (o4.permissions = []), o4.permissions.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, c4.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, c4.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.resource && e3.hasOwnProperty("resource") && !p.isString(e3.resource)) return "resource: string expected";
if (null != e3.permissions && e3.hasOwnProperty("permissions")) {
if (!Array.isArray(e3.permissions)) return "permissions: array expected";
for (var t3 = 0; t3 < e3.permissions.length; ++t3) if (!p.isString(e3.permissions[t3])) return "permissions: string[] expected";
}
return null;
}, c4.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.TestIamPermissionsRequest) return e3;
var t3 = new l2.google.iam.v1.TestIamPermissionsRequest();
if (null != e3.resource && (t3.resource = String(e3.resource)), e3.permissions) {
if (!Array.isArray(e3.permissions)) throw TypeError(".google.iam.v1.TestIamPermissionsRequest.permissions: array expected");
t3.permissions = [];
for (var n4 = 0; n4 < e3.permissions.length; ++n4) t3.permissions[n4] = String(e3.permissions[n4]);
}
return t3;
}, c4.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.permissions = []), t3.defaults && (n4.resource = ""), null != e3.resource && e3.hasOwnProperty("resource") && (n4.resource = e3.resource), e3.permissions && e3.permissions.length) {
n4.permissions = [];
for (var o4 = 0; o4 < e3.permissions.length; ++o4) n4.permissions[o4] = e3.permissions[o4];
}
return n4;
}, c4.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, c4), t2.TestIamPermissionsResponse = (G.prototype.permissions = p.emptyArray, G.create = function(e3) {
return new G(e3);
}, G.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.permissions && e3.permissions.length) for (var n4 = 0; n4 < e3.permissions.length; ++n4) t3.uint32(10).string(e3.permissions[n4]);
return t3;
}, G.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, G.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.TestIamPermissionsResponse(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.permissions && o4.permissions.length || (o4.permissions = []), o4.permissions.push(e3.string())) : e3.skipType(7 & r3);
}
return o4;
}, G.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, G.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.permissions && e3.hasOwnProperty("permissions")) {
if (!Array.isArray(e3.permissions)) return "permissions: array expected";
for (var t3 = 0; t3 < e3.permissions.length; ++t3) if (!p.isString(e3.permissions[t3])) return "permissions: string[] expected";
}
return null;
}, G.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.TestIamPermissionsResponse) return e3;
var t3 = new l2.google.iam.v1.TestIamPermissionsResponse();
if (e3.permissions) {
if (!Array.isArray(e3.permissions)) throw TypeError(".google.iam.v1.TestIamPermissionsResponse.permissions: array expected");
t3.permissions = [];
for (var n4 = 0; n4 < e3.permissions.length; ++n4) t3.permissions[n4] = String(e3.permissions[n4]);
}
return t3;
}, G.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.permissions = []), e3.permissions && e3.permissions.length) {
n4.permissions = [];
for (var o4 = 0; o4 < e3.permissions.length; ++o4) n4.permissions[o4] = e3.permissions[o4];
}
return n4;
}, G.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, G), t2.GetPolicyOptions = (U.prototype.requestedPolicyVersion = 0, U.create = function(e3) {
return new U(e3);
}, U.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.requestedPolicyVersion && Object.hasOwnProperty.call(e3, "requestedPolicyVersion") && t3.uint32(8).int32(e3.requestedPolicyVersion), t3;
}, U.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, U.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.GetPolicyOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? o4.requestedPolicyVersion = e3.int32() : e3.skipType(7 & r3);
}
return o4;
}, U.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, U.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.requestedPolicyVersion && e3.hasOwnProperty("requestedPolicyVersion") && !p.isInteger(e3.requestedPolicyVersion) ? "requestedPolicyVersion: integer expected" : null;
}, U.fromObject = function(e3) {
var t3;
return e3 instanceof l2.google.iam.v1.GetPolicyOptions ? e3 : (t3 = new l2.google.iam.v1.GetPolicyOptions(), null != e3.requestedPolicyVersion && (t3.requestedPolicyVersion = 0 | e3.requestedPolicyVersion), t3);
}, U.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.requestedPolicyVersion = 0), null != e3.requestedPolicyVersion && e3.hasOwnProperty("requestedPolicyVersion") && (n4.requestedPolicyVersion = e3.requestedPolicyVersion), n4;
}, U.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, U), t2.Policy = (d.prototype.version = 0, d.prototype.bindings = p.emptyArray, d.prototype.etag = p.newBuffer([]), d.create = function(e3) {
return new d(e3);
}, d.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.version && Object.hasOwnProperty.call(e3, "version") && t3.uint32(8).int32(e3.version), null != e3.etag && Object.hasOwnProperty.call(e3, "etag") && t3.uint32(26).bytes(e3.etag), null != e3.bindings && e3.bindings.length) for (var n4 = 0; n4 < e3.bindings.length; ++n4) l2.google.iam.v1.Binding.encode(e3.bindings[n4], t3.uint32(34).fork()).ldelim();
return t3;
}, d.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, d.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.Policy(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.version = e3.int32();
break;
case 4:
o4.bindings && o4.bindings.length || (o4.bindings = []), o4.bindings.push(l2.google.iam.v1.Binding.decode(e3, e3.uint32()));
break;
case 3:
o4.etag = e3.bytes();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, d.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, d.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.version && e3.hasOwnProperty("version") && !p.isInteger(e3.version)) return "version: integer expected";
if (null != e3.bindings && e3.hasOwnProperty("bindings")) {
if (!Array.isArray(e3.bindings)) return "bindings: array expected";
for (var t3 = 0; t3 < e3.bindings.length; ++t3) {
var n4 = l2.google.iam.v1.Binding.verify(e3.bindings[t3]);
if (n4) return "bindings." + n4;
}
}
return null != e3.etag && e3.hasOwnProperty("etag") && !(e3.etag && "number" == typeof e3.etag.length || p.isString(e3.etag)) ? "etag: buffer expected" : null;
}, d.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.Policy) return e3;
var t3 = new l2.google.iam.v1.Policy();
if (null != e3.version && (t3.version = 0 | e3.version), e3.bindings) {
if (!Array.isArray(e3.bindings)) throw TypeError(".google.iam.v1.Policy.bindings: array expected");
t3.bindings = [];
for (var n4 = 0; n4 < e3.bindings.length; ++n4) {
if ("object" != typeof e3.bindings[n4]) throw TypeError(".google.iam.v1.Policy.bindings: object expected");
t3.bindings[n4] = l2.google.iam.v1.Binding.fromObject(e3.bindings[n4]);
}
}
return null != e3.etag && ("string" == typeof e3.etag ? p.base64.decode(e3.etag, t3.etag = p.newBuffer(p.base64.length(e3.etag)), 0) : e3.etag.length && (t3.etag = e3.etag)), t3;
}, d.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.bindings = []), t3.defaults && (n4.version = 0, t3.bytes === String ? n4.etag = "" : (n4.etag = [], t3.bytes !== Array && (n4.etag = p.newBuffer(n4.etag)))), null != e3.version && e3.hasOwnProperty("version") && (n4.version = e3.version), null != e3.etag && e3.hasOwnProperty("etag") && (n4.etag = t3.bytes === String ? p.base64.encode(e3.etag, 0, e3.etag.length) : t3.bytes === Array ? Array.prototype.slice.call(e3.etag) : e3.etag), e3.bindings && e3.bindings.length) {
n4.bindings = [];
for (var o4 = 0; o4 < e3.bindings.length; ++o4) n4.bindings[o4] = l2.google.iam.v1.Binding.toObject(e3.bindings[o4], t3);
}
return n4;
}, d.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, d), t2.Binding = (g.prototype.role = "", g.prototype.members = p.emptyArray, g.prototype.condition = null, g.create = function(e3) {
return new g(e3);
}, g.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.role && Object.hasOwnProperty.call(e3, "role") && t3.uint32(10).string(e3.role), null != e3.members && e3.members.length) for (var n4 = 0; n4 < e3.members.length; ++n4) t3.uint32(18).string(e3.members[n4]);
return null != e3.condition && Object.hasOwnProperty.call(e3, "condition") && l2.google.type.Expr.encode(e3.condition, t3.uint32(26).fork()).ldelim(), t3;
}, g.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, g.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.Binding(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.role = e3.string();
break;
case 2:
o4.members && o4.members.length || (o4.members = []), o4.members.push(e3.string());
break;
case 3:
o4.condition = l2.google.type.Expr.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, g.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, g.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.role && e3.hasOwnProperty("role") && !p.isString(e3.role)) return "role: string expected";
if (null != e3.members && e3.hasOwnProperty("members")) {
if (!Array.isArray(e3.members)) return "members: array expected";
for (var t3 = 0; t3 < e3.members.length; ++t3) if (!p.isString(e3.members[t3])) return "members: string[] expected";
}
if (null != e3.condition && e3.hasOwnProperty("condition")) {
var n4 = l2.google.type.Expr.verify(e3.condition);
if (n4) return "condition." + n4;
}
return null;
}, g.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.Binding) return e3;
var t3 = new l2.google.iam.v1.Binding();
if (null != e3.role && (t3.role = String(e3.role)), e3.members) {
if (!Array.isArray(e3.members)) throw TypeError(".google.iam.v1.Binding.members: array expected");
t3.members = [];
for (var n4 = 0; n4 < e3.members.length; ++n4) t3.members[n4] = String(e3.members[n4]);
}
if (null != e3.condition) {
if ("object" != typeof e3.condition) throw TypeError(".google.iam.v1.Binding.condition: object expected");
t3.condition = l2.google.type.Expr.fromObject(e3.condition);
}
return t3;
}, g.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.members = []), t3.defaults && (n4.role = "", n4.condition = null), null != e3.role && e3.hasOwnProperty("role") && (n4.role = e3.role), e3.members && e3.members.length) {
n4.members = [];
for (var o4 = 0; o4 < e3.members.length; ++o4) n4.members[o4] = e3.members[o4];
}
return null != e3.condition && e3.hasOwnProperty("condition") && (n4.condition = l2.google.type.Expr.toObject(e3.condition, t3)), n4;
}, g.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, g), t2.PolicyDelta = (M.prototype.bindingDeltas = p.emptyArray, M.prototype.auditConfigDeltas = p.emptyArray, M.create = function(e3) {
return new M(e3);
}, M.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.bindingDeltas && e3.bindingDeltas.length) for (var n4 = 0; n4 < e3.bindingDeltas.length; ++n4) l2.google.iam.v1.BindingDelta.encode(e3.bindingDeltas[n4], t3.uint32(10).fork()).ldelim();
if (null != e3.auditConfigDeltas && e3.auditConfigDeltas.length) for (n4 = 0; n4 < e3.auditConfigDeltas.length; ++n4) l2.google.iam.v1.AuditConfigDelta.encode(e3.auditConfigDeltas[n4], t3.uint32(18).fork()).ldelim();
return t3;
}, M.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, M.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.PolicyDelta(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.bindingDeltas && o4.bindingDeltas.length || (o4.bindingDeltas = []), o4.bindingDeltas.push(l2.google.iam.v1.BindingDelta.decode(e3, e3.uint32()));
break;
case 2:
o4.auditConfigDeltas && o4.auditConfigDeltas.length || (o4.auditConfigDeltas = []), o4.auditConfigDeltas.push(l2.google.iam.v1.AuditConfigDelta.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, M.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, M.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.bindingDeltas && e3.hasOwnProperty("bindingDeltas")) {
if (!Array.isArray(e3.bindingDeltas)) return "bindingDeltas: array expected";
for (var t3 = 0; t3 < e3.bindingDeltas.length; ++t3) if (n4 = l2.google.iam.v1.BindingDelta.verify(e3.bindingDeltas[t3])) return "bindingDeltas." + n4;
}
if (null != e3.auditConfigDeltas && e3.hasOwnProperty("auditConfigDeltas")) {
if (!Array.isArray(e3.auditConfigDeltas)) return "auditConfigDeltas: array expected";
for (var n4, t3 = 0; t3 < e3.auditConfigDeltas.length; ++t3) if (n4 = l2.google.iam.v1.AuditConfigDelta.verify(e3.auditConfigDeltas[t3])) return "auditConfigDeltas." + n4;
}
return null;
}, M.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.PolicyDelta) return e3;
var t3 = new l2.google.iam.v1.PolicyDelta();
if (e3.bindingDeltas) {
if (!Array.isArray(e3.bindingDeltas)) throw TypeError(".google.iam.v1.PolicyDelta.bindingDeltas: array expected");
t3.bindingDeltas = [];
for (var n4 = 0; n4 < e3.bindingDeltas.length; ++n4) {
if ("object" != typeof e3.bindingDeltas[n4]) throw TypeError(".google.iam.v1.PolicyDelta.bindingDeltas: object expected");
t3.bindingDeltas[n4] = l2.google.iam.v1.BindingDelta.fromObject(e3.bindingDeltas[n4]);
}
}
if (e3.auditConfigDeltas) {
if (!Array.isArray(e3.auditConfigDeltas)) throw TypeError(".google.iam.v1.PolicyDelta.auditConfigDeltas: array expected");
t3.auditConfigDeltas = [];
for (n4 = 0; n4 < e3.auditConfigDeltas.length; ++n4) {
if ("object" != typeof e3.auditConfigDeltas[n4]) throw TypeError(".google.iam.v1.PolicyDelta.auditConfigDeltas: object expected");
t3.auditConfigDeltas[n4] = l2.google.iam.v1.AuditConfigDelta.fromObject(e3.auditConfigDeltas[n4]);
}
}
return t3;
}, M.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.bindingDeltas = [], n4.auditConfigDeltas = []), e3.bindingDeltas && e3.bindingDeltas.length) {
n4.bindingDeltas = [];
for (var o4 = 0; o4 < e3.bindingDeltas.length; ++o4) n4.bindingDeltas[o4] = l2.google.iam.v1.BindingDelta.toObject(e3.bindingDeltas[o4], t3);
}
if (e3.auditConfigDeltas && e3.auditConfigDeltas.length) {
n4.auditConfigDeltas = [];
for (o4 = 0; o4 < e3.auditConfigDeltas.length; ++o4) n4.auditConfigDeltas[o4] = l2.google.iam.v1.AuditConfigDelta.toObject(e3.auditConfigDeltas[o4], t3);
}
return n4;
}, M.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, M), t2.BindingDelta = (f.prototype.action = 0, f.prototype.role = "", f.prototype.member = "", f.prototype.condition = null, f.create = function(e3) {
return new f(e3);
}, f.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.action && Object.hasOwnProperty.call(e3, "action") && t3.uint32(8).int32(e3.action), null != e3.role && Object.hasOwnProperty.call(e3, "role") && t3.uint32(18).string(e3.role), null != e3.member && Object.hasOwnProperty.call(e3, "member") && t3.uint32(26).string(e3.member), null != e3.condition && Object.hasOwnProperty.call(e3, "condition") && l2.google.type.Expr.encode(e3.condition, t3.uint32(34).fork()).ldelim(), t3;
}, f.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, f.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.BindingDelta(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.action = e3.int32();
break;
case 2:
o4.role = e3.string();
break;
case 3:
o4.member = e3.string();
break;
case 4:
o4.condition = l2.google.type.Expr.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, f.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, f.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.action && e3.hasOwnProperty("action")) switch (e3.action) {
default:
return "action: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.role && e3.hasOwnProperty("role") && !p.isString(e3.role)) return "role: string expected";
if (null != e3.member && e3.hasOwnProperty("member") && !p.isString(e3.member)) return "member: string expected";
if (null != e3.condition && e3.hasOwnProperty("condition")) {
e3 = l2.google.type.Expr.verify(e3.condition);
if (e3) return "condition." + e3;
}
return null;
}, f.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.BindingDelta) return e3;
var t3 = new l2.google.iam.v1.BindingDelta();
switch (e3.action) {
case "ACTION_UNSPECIFIED":
case 0:
t3.action = 0;
break;
case "ADD":
case 1:
t3.action = 1;
break;
case "REMOVE":
case 2:
t3.action = 2;
}
if (null != e3.role && (t3.role = String(e3.role)), null != e3.member && (t3.member = String(e3.member)), null != e3.condition) {
if ("object" != typeof e3.condition) throw TypeError(".google.iam.v1.BindingDelta.condition: object expected");
t3.condition = l2.google.type.Expr.fromObject(e3.condition);
}
return t3;
}, f.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.action = t3.enums === String ? "ACTION_UNSPECIFIED" : 0, n4.role = "", n4.member = "", n4.condition = null), null != e3.action && e3.hasOwnProperty("action") && (n4.action = t3.enums === String ? l2.google.iam.v1.BindingDelta.Action[e3.action] : e3.action), null != e3.role && e3.hasOwnProperty("role") && (n4.role = e3.role), null != e3.member && e3.hasOwnProperty("member") && (n4.member = e3.member), null != e3.condition && e3.hasOwnProperty("condition") && (n4.condition = l2.google.type.Expr.toObject(e3.condition, t3)), n4;
}, f.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, f.Action = (e2 = {}, (r2 = Object.create(e2))[e2[0] = "ACTION_UNSPECIFIED"] = 0, r2[e2[1] = "ADD"] = 1, r2[e2[2] = "REMOVE"] = 2, r2), f), t2.AuditConfigDelta = (y.prototype.action = 0, y.prototype.service = "", y.prototype.exemptedMember = "", y.prototype.logType = "", y.create = function(e3) {
return new y(e3);
}, y.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.action && Object.hasOwnProperty.call(e3, "action") && t3.uint32(8).int32(e3.action), null != e3.service && Object.hasOwnProperty.call(e3, "service") && t3.uint32(18).string(e3.service), null != e3.exemptedMember && Object.hasOwnProperty.call(e3, "exemptedMember") && t3.uint32(26).string(e3.exemptedMember), null != e3.logType && Object.hasOwnProperty.call(e3, "logType") && t3.uint32(34).string(e3.logType), t3;
}, y.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, y.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.AuditConfigDelta(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.action = e3.int32();
break;
case 2:
o4.service = e3.string();
break;
case 3:
o4.exemptedMember = e3.string();
break;
case 4:
o4.logType = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, y.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, y.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.action && e3.hasOwnProperty("action")) switch (e3.action) {
default:
return "action: enum value expected";
case 0:
case 1:
case 2:
}
return null != e3.service && e3.hasOwnProperty("service") && !p.isString(e3.service) ? "service: string expected" : null != e3.exemptedMember && e3.hasOwnProperty("exemptedMember") && !p.isString(e3.exemptedMember) ? "exemptedMember: string expected" : null != e3.logType && e3.hasOwnProperty("logType") && !p.isString(e3.logType) ? "logType: string expected" : null;
}, y.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.AuditConfigDelta) return e3;
var t3 = new l2.google.iam.v1.AuditConfigDelta();
switch (e3.action) {
case "ACTION_UNSPECIFIED":
case 0:
t3.action = 0;
break;
case "ADD":
case 1:
t3.action = 1;
break;
case "REMOVE":
case 2:
t3.action = 2;
}
return null != e3.service && (t3.service = String(e3.service)), null != e3.exemptedMember && (t3.exemptedMember = String(e3.exemptedMember)), null != e3.logType && (t3.logType = String(e3.logType)), t3;
}, y.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.action = t3.enums === String ? "ACTION_UNSPECIFIED" : 0, n4.service = "", n4.exemptedMember = "", n4.logType = ""), null != e3.action && e3.hasOwnProperty("action") && (n4.action = t3.enums === String ? l2.google.iam.v1.AuditConfigDelta.Action[e3.action] : e3.action), null != e3.service && e3.hasOwnProperty("service") && (n4.service = e3.service), null != e3.exemptedMember && e3.hasOwnProperty("exemptedMember") && (n4.exemptedMember = e3.exemptedMember), null != e3.logType && e3.hasOwnProperty("logType") && (n4.logType = e3.logType), n4;
}, y.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, y.Action = (e2 = {}, (r2 = Object.create(e2))[e2[0] = "ACTION_UNSPECIFIED"] = 0, r2[e2[1] = "ADD"] = 1, r2[e2[2] = "REMOVE"] = 2, r2), y), t2.logging = ((e2 = {}).AuditData = (L.prototype.policyDelta = null, L.create = function(e3) {
return new L(e3);
}, L.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.policyDelta && Object.hasOwnProperty.call(e3, "policyDelta") && l2.google.iam.v1.PolicyDelta.encode(e3.policyDelta, t3.uint32(18).fork()).ldelim(), t3;
}, L.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, L.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.iam.v1.logging.AuditData(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 2 ? o4.policyDelta = l2.google.iam.v1.PolicyDelta.decode(e3, e3.uint32()) : e3.skipType(7 & r3);
}
return o4;
}, L.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, L.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.policyDelta && e3.hasOwnProperty("policyDelta")) {
e3 = l2.google.iam.v1.PolicyDelta.verify(e3.policyDelta);
if (e3) return "policyDelta." + e3;
}
return null;
}, L.fromObject = function(e3) {
if (e3 instanceof l2.google.iam.v1.logging.AuditData) return e3;
var t3 = new l2.google.iam.v1.logging.AuditData();
if (null != e3.policyDelta) {
if ("object" != typeof e3.policyDelta) throw TypeError(".google.iam.v1.logging.AuditData.policyDelta: object expected");
t3.policyDelta = l2.google.iam.v1.PolicyDelta.fromObject(e3.policyDelta);
}
return t3;
}, L.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.policyDelta = null), null != e3.policyDelta && e3.hasOwnProperty("policyDelta") && (n4.policyDelta = l2.google.iam.v1.PolicyDelta.toObject(e3.policyDelta, t3)), n4;
}, L.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, L), e2), t2), n3), F.api = ((r2 = {}).Http = (J.prototype.rules = p.emptyArray, J.prototype.fullyDecodeReservedExpansion = false, J.create = function(e3) {
return new J(e3);
}, J.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.rules && e3.rules.length) for (var n4 = 0; n4 < e3.rules.length; ++n4) l2.google.api.HttpRule.encode(e3.rules[n4], t3.uint32(10).fork()).ldelim();
return null != e3.fullyDecodeReservedExpansion && Object.hasOwnProperty.call(e3, "fullyDecodeReservedExpansion") && t3.uint32(16).bool(e3.fullyDecodeReservedExpansion), t3;
}, J.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, J.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.api.Http(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.rules && o4.rules.length || (o4.rules = []), o4.rules.push(l2.google.api.HttpRule.decode(e3, e3.uint32()));
break;
case 2:
o4.fullyDecodeReservedExpansion = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, J.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, J.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.rules && e3.hasOwnProperty("rules")) {
if (!Array.isArray(e3.rules)) return "rules: array expected";
for (var t3 = 0; t3 < e3.rules.length; ++t3) {
var n4 = l2.google.api.HttpRule.verify(e3.rules[t3]);
if (n4) return "rules." + n4;
}
}
return null != e3.fullyDecodeReservedExpansion && e3.hasOwnProperty("fullyDecodeReservedExpansion") && "boolean" != typeof e3.fullyDecodeReservedExpansion ? "fullyDecodeReservedExpansion: boolean expected" : null;
}, J.fromObject = function(e3) {
if (e3 instanceof l2.google.api.Http) return e3;
var t3 = new l2.google.api.Http();
if (e3.rules) {
if (!Array.isArray(e3.rules)) throw TypeError(".google.api.Http.rules: array expected");
t3.rules = [];
for (var n4 = 0; n4 < e3.rules.length; ++n4) {
if ("object" != typeof e3.rules[n4]) throw TypeError(".google.api.Http.rules: object expected");
t3.rules[n4] = l2.google.api.HttpRule.fromObject(e3.rules[n4]);
}
}
return null != e3.fullyDecodeReservedExpansion && (t3.fullyDecodeReservedExpansion = Boolean(e3.fullyDecodeReservedExpansion)), t3;
}, J.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.rules = []), t3.defaults && (n4.fullyDecodeReservedExpansion = false), e3.rules && e3.rules.length) {
n4.rules = [];
for (var o4 = 0; o4 < e3.rules.length; ++o4) n4.rules[o4] = l2.google.api.HttpRule.toObject(e3.rules[o4], t3);
}
return null != e3.fullyDecodeReservedExpansion && e3.hasOwnProperty("fullyDecodeReservedExpansion") && (n4.fullyDecodeReservedExpansion = e3.fullyDecodeReservedExpansion), n4;
}, J.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, J), r2.HttpRule = (h2.prototype.selector = "", h2.prototype.get = "", h2.prototype.put = "", h2.prototype.post = "", h2.prototype.delete = "", h2.prototype.patch = "", h2.prototype.custom = null, h2.prototype.body = "", h2.prototype.responseBody = "", h2.prototype.additionalBindings = p.emptyArray, Object.defineProperty(h2.prototype, "pattern", { get: p.oneOfGetter(e2 = ["get", "put", "post", "delete", "patch", "custom"]), set: p.oneOfSetter(e2) }), h2.create = function(e3) {
return new h2(e3);
}, h2.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.selector && Object.hasOwnProperty.call(e3, "selector") && t3.uint32(10).string(e3.selector), null != e3.get && Object.hasOwnProperty.call(e3, "get") && t3.uint32(18).string(e3.get), null != e3.put && Object.hasOwnProperty.call(e3, "put") && t3.uint32(26).string(e3.put), null != e3.post && Object.hasOwnProperty.call(e3, "post") && t3.uint32(34).string(e3.post), null != e3.delete && Object.hasOwnProperty.call(e3, "delete") && t3.uint32(42).string(e3.delete), null != e3.patch && Object.hasOwnProperty.call(e3, "patch") && t3.uint32(50).string(e3.patch), null != e3.body && Object.hasOwnProperty.call(e3, "body") && t3.uint32(58).string(e3.body), null != e3.custom && Object.hasOwnProperty.call(e3, "custom") && l2.google.api.CustomHttpPattern.encode(e3.custom, t3.uint32(66).fork()).ldelim(), null != e3.additionalBindings && e3.additionalBindings.length) for (var n4 = 0; n4 < e3.additionalBindings.length; ++n4) l2.google.api.HttpRule.encode(e3.additionalBindings[n4], t3.uint32(90).fork()).ldelim();
return null != e3.responseBody && Object.hasOwnProperty.call(e3, "responseBody") && t3.uint32(98).string(e3.responseBody), t3;
}, h2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, h2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.api.HttpRule(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.selector = e3.string();
break;
case 2:
o4.get = e3.string();
break;
case 3:
o4.put = e3.string();
break;
case 4:
o4.post = e3.string();
break;
case 5:
o4.delete = e3.string();
break;
case 6:
o4.patch = e3.string();
break;
case 8:
o4.custom = l2.google.api.CustomHttpPattern.decode(e3, e3.uint32());
break;
case 7:
o4.body = e3.string();
break;
case 12:
o4.responseBody = e3.string();
break;
case 11:
o4.additionalBindings && o4.additionalBindings.length || (o4.additionalBindings = []), o4.additionalBindings.push(l2.google.api.HttpRule.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, h2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, h2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
var t3 = {};
if (null != e3.selector && e3.hasOwnProperty("selector") && !p.isString(e3.selector)) return "selector: string expected";
if (null != e3.get && e3.hasOwnProperty("get") && (t3.pattern = 1, !p.isString(e3.get))) return "get: string expected";
if (null != e3.put && e3.hasOwnProperty("put")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !p.isString(e3.put)) return "put: string expected";
}
if (null != e3.post && e3.hasOwnProperty("post")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !p.isString(e3.post)) return "post: string expected";
}
if (null != e3.delete && e3.hasOwnProperty("delete")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !p.isString(e3.delete)) return "delete: string expected";
}
if (null != e3.patch && e3.hasOwnProperty("patch")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !p.isString(e3.patch)) return "patch: string expected";
}
if (null != e3.custom && e3.hasOwnProperty("custom")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, n4 = l2.google.api.CustomHttpPattern.verify(e3.custom)) return "custom." + n4;
}
if (null != e3.body && e3.hasOwnProperty("body") && !p.isString(e3.body)) return "body: string expected";
if (null != e3.responseBody && e3.hasOwnProperty("responseBody") && !p.isString(e3.responseBody)) return "responseBody: string expected";
if (null != e3.additionalBindings && e3.hasOwnProperty("additionalBindings")) {
if (!Array.isArray(e3.additionalBindings)) return "additionalBindings: array expected";
for (var n4, o4 = 0; o4 < e3.additionalBindings.length; ++o4) if (n4 = l2.google.api.HttpRule.verify(e3.additionalBindings[o4])) return "additionalBindings." + n4;
}
return null;
}, h2.fromObject = function(e3) {
if (e3 instanceof l2.google.api.HttpRule) return e3;
var t3 = new l2.google.api.HttpRule();
if (null != e3.selector && (t3.selector = String(e3.selector)), null != e3.get && (t3.get = String(e3.get)), null != e3.put && (t3.put = String(e3.put)), null != e3.post && (t3.post = String(e3.post)), null != e3.delete && (t3.delete = String(e3.delete)), null != e3.patch && (t3.patch = String(e3.patch)), null != e3.custom) {
if ("object" != typeof e3.custom) throw TypeError(".google.api.HttpRule.custom: object expected");
t3.custom = l2.google.api.CustomHttpPattern.fromObject(e3.custom);
}
if (null != e3.body && (t3.body = String(e3.body)), null != e3.responseBody && (t3.responseBody = String(e3.responseBody)), e3.additionalBindings) {
if (!Array.isArray(e3.additionalBindings)) throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
t3.additionalBindings = [];
for (var n4 = 0; n4 < e3.additionalBindings.length; ++n4) {
if ("object" != typeof e3.additionalBindings[n4]) throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
t3.additionalBindings[n4] = l2.google.api.HttpRule.fromObject(e3.additionalBindings[n4]);
}
}
return t3;
}, h2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.additionalBindings = []), t3.defaults && (n4.selector = "", n4.body = "", n4.responseBody = ""), null != e3.selector && e3.hasOwnProperty("selector") && (n4.selector = e3.selector), null != e3.get && e3.hasOwnProperty("get") && (n4.get = e3.get, t3.oneofs) && (n4.pattern = "get"), null != e3.put && e3.hasOwnProperty("put") && (n4.put = e3.put, t3.oneofs) && (n4.pattern = "put"), null != e3.post && e3.hasOwnProperty("post") && (n4.post = e3.post, t3.oneofs) && (n4.pattern = "post"), null != e3.delete && e3.hasOwnProperty("delete") && (n4.delete = e3.delete, t3.oneofs) && (n4.pattern = "delete"), null != e3.patch && e3.hasOwnProperty("patch") && (n4.patch = e3.patch, t3.oneofs) && (n4.pattern = "patch"), null != e3.body && e3.hasOwnProperty("body") && (n4.body = e3.body), null != e3.custom && e3.hasOwnProperty("custom") && (n4.custom = l2.google.api.CustomHttpPattern.toObject(e3.custom, t3), t3.oneofs) && (n4.pattern = "custom"), e3.additionalBindings && e3.additionalBindings.length) {
n4.additionalBindings = [];
for (var o4 = 0; o4 < e3.additionalBindings.length; ++o4) n4.additionalBindings[o4] = l2.google.api.HttpRule.toObject(e3.additionalBindings[o4], t3);
}
return null != e3.responseBody && e3.hasOwnProperty("responseBody") && (n4.responseBody = e3.responseBody), n4;
}, h2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, h2), r2.CustomHttpPattern = (_.prototype.kind = "", _.prototype.path = "", _.create = function(e3) {
return new _(e3);
}, _.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.kind && Object.hasOwnProperty.call(e3, "kind") && t3.uint32(10).string(e3.kind), null != e3.path && Object.hasOwnProperty.call(e3, "path") && t3.uint32(18).string(e3.path), t3;
}, _.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, _.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.api.CustomHttpPattern(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.kind = e3.string();
break;
case 2:
o4.path = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, _.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, _.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.kind && e3.hasOwnProperty("kind") && !p.isString(e3.kind) ? "kind: string expected" : null != e3.path && e3.hasOwnProperty("path") && !p.isString(e3.path) ? "path: string expected" : null;
}, _.fromObject = function(e3) {
var t3;
return e3 instanceof l2.google.api.CustomHttpPattern ? e3 : (t3 = new l2.google.api.CustomHttpPattern(), null != e3.kind && (t3.kind = String(e3.kind)), null != e3.path && (t3.path = String(e3.path)), t3);
}, _.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.kind = "", n4.path = ""), null != e3.kind && e3.hasOwnProperty("kind") && (n4.kind = e3.kind), null != e3.path && e3.hasOwnProperty("path") && (n4.path = e3.path), n4;
}, _.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, _), r2.FieldBehavior = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0, t2[e2[1] = "OPTIONAL"] = 1, t2[e2[2] = "REQUIRED"] = 2, t2[e2[3] = "OUTPUT_ONLY"] = 3, t2[e2[4] = "INPUT_ONLY"] = 4, t2[e2[5] = "IMMUTABLE"] = 5, t2), r2.ResourceDescriptor = (b.prototype.type = "", b.prototype.pattern = p.emptyArray, b.prototype.nameField = "", b.prototype.history = 0, b.prototype.plural = "", b.prototype.singular = "", b.create = function(e3) {
return new b(e3);
}, b.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.type && Object.hasOwnProperty.call(e3, "type") && t3.uint32(10).string(e3.type), null != e3.pattern && e3.pattern.length) for (var n4 = 0; n4 < e3.pattern.length; ++n4) t3.uint32(18).string(e3.pattern[n4]);
return null != e3.nameField && Object.hasOwnProperty.call(e3, "nameField") && t3.uint32(26).string(e3.nameField), null != e3.history && Object.hasOwnProperty.call(e3, "history") && t3.uint32(32).int32(e3.history), null != e3.plural && Object.hasOwnProperty.call(e3, "plural") && t3.uint32(42).string(e3.plural), null != e3.singular && Object.hasOwnProperty.call(e3, "singular") && t3.uint32(50).string(e3.singular), t3;
}, b.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, b.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.api.ResourceDescriptor(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.type = e3.string();
break;
case 2:
o4.pattern && o4.pattern.length || (o4.pattern = []), o4.pattern.push(e3.string());
break;
case 3:
o4.nameField = e3.string();
break;
case 4:
o4.history = e3.int32();
break;
case 5:
o4.plural = e3.string();
break;
case 6:
o4.singular = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, b.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, b.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.type && e3.hasOwnProperty("type") && !p.isString(e3.type)) return "type: string expected";
if (null != e3.pattern && e3.hasOwnProperty("pattern")) {
if (!Array.isArray(e3.pattern)) return "pattern: array expected";
for (var t3 = 0; t3 < e3.pattern.length; ++t3) if (!p.isString(e3.pattern[t3])) return "pattern: string[] expected";
}
if (null != e3.nameField && e3.hasOwnProperty("nameField") && !p.isString(e3.nameField)) return "nameField: string expected";
if (null != e3.history && e3.hasOwnProperty("history")) switch (e3.history) {
default:
return "history: enum value expected";
case 0:
case 1:
case 2:
}
return null != e3.plural && e3.hasOwnProperty("plural") && !p.isString(e3.plural) ? "plural: string expected" : null != e3.singular && e3.hasOwnProperty("singular") && !p.isString(e3.singular) ? "singular: string expected" : null;
}, b.fromObject = function(e3) {
if (e3 instanceof l2.google.api.ResourceDescriptor) return e3;
var t3 = new l2.google.api.ResourceDescriptor();
if (null != e3.type && (t3.type = String(e3.type)), e3.pattern) {
if (!Array.isArray(e3.pattern)) throw TypeError(".google.api.ResourceDescriptor.pattern: array expected");
t3.pattern = [];
for (var n4 = 0; n4 < e3.pattern.length; ++n4) t3.pattern[n4] = String(e3.pattern[n4]);
}
switch (null != e3.nameField && (t3.nameField = String(e3.nameField)), e3.history) {
case "HISTORY_UNSPECIFIED":
case 0:
t3.history = 0;
break;
case "ORIGINALLY_SINGLE_PATTERN":
case 1:
t3.history = 1;
break;
case "FUTURE_MULTI_PATTERN":
case 2:
t3.history = 2;
}
return null != e3.plural && (t3.plural = String(e3.plural)), null != e3.singular && (t3.singular = String(e3.singular)), t3;
}, b.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.pattern = []), t3.defaults && (n4.type = "", n4.nameField = "", n4.history = t3.enums === String ? "HISTORY_UNSPECIFIED" : 0, n4.plural = "", n4.singular = ""), null != e3.type && e3.hasOwnProperty("type") && (n4.type = e3.type), e3.pattern && e3.pattern.length) {
n4.pattern = [];
for (var o4 = 0; o4 < e3.pattern.length; ++o4) n4.pattern[o4] = e3.pattern[o4];
}
return null != e3.nameField && e3.hasOwnProperty("nameField") && (n4.nameField = e3.nameField), null != e3.history && e3.hasOwnProperty("history") && (n4.history = t3.enums === String ? l2.google.api.ResourceDescriptor.History[e3.history] : e3.history), null != e3.plural && e3.hasOwnProperty("plural") && (n4.plural = e3.plural), null != e3.singular && e3.hasOwnProperty("singular") && (n4.singular = e3.singular), n4;
}, b.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, b.History = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "HISTORY_UNSPECIFIED"] = 0, t2[e2[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1, t2[e2[2] = "FUTURE_MULTI_PATTERN"] = 2, t2), b), r2.ResourceReference = (H.prototype.type = "", H.prototype.childType = "", H.create = function(e3) {
return new H(e3);
}, H.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.type && Object.hasOwnProperty.call(e3, "type") && t3.uint32(10).string(e3.type), null != e3.childType && Object.hasOwnProperty.call(e3, "childType") && t3.uint32(18).string(e3.childType), t3;
}, H.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, H.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.api.ResourceReference(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.type = e3.string();
break;
case 2:
o4.childType = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, H.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, H.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.type && e3.hasOwnProperty("type") && !p.isString(e3.type) ? "type: string expected" : null != e3.childType && e3.hasOwnProperty("childType") && !p.isString(e3.childType) ? "childType: string expected" : null;
}, H.fromObject = function(e3) {
var t3;
return e3 instanceof l2.google.api.ResourceReference ? e3 : (t3 = new l2.google.api.ResourceReference(), null != e3.type && (t3.type = String(e3.type)), null != e3.childType && (t3.childType = String(e3.childType)), t3);
}, H.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.type = "", n4.childType = ""), null != e3.type && e3.hasOwnProperty("type") && (n4.type = e3.type), null != e3.childType && e3.hasOwnProperty("childType") && (n4.childType = e3.childType), n4;
}, H.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, H), r2), F.protobuf = ((n3 = {}).FileDescriptorSet = (q.prototype.file = p.emptyArray, q.create = function(e3) {
return new q(e3);
}, q.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.file && e3.file.length) for (var n4 = 0; n4 < e3.file.length; ++n4) l2.google.protobuf.FileDescriptorProto.encode(e3.file[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, q.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, q.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.FileDescriptorSet(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.file && o4.file.length || (o4.file = []), o4.file.push(l2.google.protobuf.FileDescriptorProto.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, q.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, q.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.file && e3.hasOwnProperty("file")) {
if (!Array.isArray(e3.file)) return "file: array expected";
for (var t3 = 0; t3 < e3.file.length; ++t3) {
var n4 = l2.google.protobuf.FileDescriptorProto.verify(e3.file[t3]);
if (n4) return "file." + n4;
}
}
return null;
}, q.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.FileDescriptorSet) return e3;
var t3 = new l2.google.protobuf.FileDescriptorSet();
if (e3.file) {
if (!Array.isArray(e3.file)) throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
t3.file = [];
for (var n4 = 0; n4 < e3.file.length; ++n4) {
if ("object" != typeof e3.file[n4]) throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
t3.file[n4] = l2.google.protobuf.FileDescriptorProto.fromObject(e3.file[n4]);
}
}
return t3;
}, q.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.file = []), e3.file && e3.file.length) {
n4.file = [];
for (var o4 = 0; o4 < e3.file.length; ++o4) n4.file[o4] = l2.google.protobuf.FileDescriptorProto.toObject(e3.file[o4], t3);
}
return n4;
}, q.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, q), n3.FileDescriptorProto = (m.prototype.name = "", m.prototype.package = "", m.prototype.dependency = p.emptyArray, m.prototype.publicDependency = p.emptyArray, m.prototype.weakDependency = p.emptyArray, m.prototype.messageType = p.emptyArray, m.prototype.enumType = p.emptyArray, m.prototype.service = p.emptyArray, m.prototype.extension = p.emptyArray, m.prototype.options = null, m.prototype.sourceCodeInfo = null, m.prototype.syntax = "", m.create = function(e3) {
return new m(e3);
}, m.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.package && Object.hasOwnProperty.call(e3, "package") && t3.uint32(18).string(e3.package), null != e3.dependency && e3.dependency.length) for (var n4 = 0; n4 < e3.dependency.length; ++n4) t3.uint32(26).string(e3.dependency[n4]);
if (null != e3.messageType && e3.messageType.length) for (n4 = 0; n4 < e3.messageType.length; ++n4) l2.google.protobuf.DescriptorProto.encode(e3.messageType[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.enumType && e3.enumType.length) for (n4 = 0; n4 < e3.enumType.length; ++n4) l2.google.protobuf.EnumDescriptorProto.encode(e3.enumType[n4], t3.uint32(42).fork()).ldelim();
if (null != e3.service && e3.service.length) for (n4 = 0; n4 < e3.service.length; ++n4) l2.google.protobuf.ServiceDescriptorProto.encode(e3.service[n4], t3.uint32(50).fork()).ldelim();
if (null != e3.extension && e3.extension.length) for (n4 = 0; n4 < e3.extension.length; ++n4) l2.google.protobuf.FieldDescriptorProto.encode(e3.extension[n4], t3.uint32(58).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.FileOptions.encode(e3.options, t3.uint32(66).fork()).ldelim(), null != e3.sourceCodeInfo && Object.hasOwnProperty.call(e3, "sourceCodeInfo") && l2.google.protobuf.SourceCodeInfo.encode(e3.sourceCodeInfo, t3.uint32(74).fork()).ldelim(), null != e3.publicDependency && e3.publicDependency.length) for (n4 = 0; n4 < e3.publicDependency.length; ++n4) t3.uint32(80).int32(e3.publicDependency[n4]);
if (null != e3.weakDependency && e3.weakDependency.length) for (n4 = 0; n4 < e3.weakDependency.length; ++n4) t3.uint32(88).int32(e3.weakDependency[n4]);
return null != e3.syntax && Object.hasOwnProperty.call(e3, "syntax") && t3.uint32(98).string(e3.syntax), t3;
}, m.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, m.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.FileDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.package = e3.string();
break;
case 3:
o4.dependency && o4.dependency.length || (o4.dependency = []), o4.dependency.push(e3.string());
break;
case 10:
if (o4.publicDependency && o4.publicDependency.length || (o4.publicDependency = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.publicDependency.push(e3.int32());
else o4.publicDependency.push(e3.int32());
break;
case 11:
if (o4.weakDependency && o4.weakDependency.length || (o4.weakDependency = []), 2 == (7 & r3)) for (i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.weakDependency.push(e3.int32());
else o4.weakDependency.push(e3.int32());
break;
case 4:
o4.messageType && o4.messageType.length || (o4.messageType = []), o4.messageType.push(l2.google.protobuf.DescriptorProto.decode(e3, e3.uint32()));
break;
case 5:
o4.enumType && o4.enumType.length || (o4.enumType = []), o4.enumType.push(l2.google.protobuf.EnumDescriptorProto.decode(e3, e3.uint32()));
break;
case 6:
o4.service && o4.service.length || (o4.service = []), o4.service.push(l2.google.protobuf.ServiceDescriptorProto.decode(e3, e3.uint32()));
break;
case 7:
o4.extension && o4.extension.length || (o4.extension = []), o4.extension.push(l2.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 8:
o4.options = l2.google.protobuf.FileOptions.decode(e3, e3.uint32());
break;
case 9:
o4.sourceCodeInfo = l2.google.protobuf.SourceCodeInfo.decode(e3, e3.uint32());
break;
case 12:
o4.syntax = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, m.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, m.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.package && e3.hasOwnProperty("package") && !p.isString(e3.package)) return "package: string expected";
if (null != e3.dependency && e3.hasOwnProperty("dependency")) {
if (!Array.isArray(e3.dependency)) return "dependency: array expected";
for (var t3 = 0; t3 < e3.dependency.length; ++t3) if (!p.isString(e3.dependency[t3])) return "dependency: string[] expected";
}
if (null != e3.publicDependency && e3.hasOwnProperty("publicDependency")) {
if (!Array.isArray(e3.publicDependency)) return "publicDependency: array expected";
for (t3 = 0; t3 < e3.publicDependency.length; ++t3) if (!p.isInteger(e3.publicDependency[t3])) return "publicDependency: integer[] expected";
}
if (null != e3.weakDependency && e3.hasOwnProperty("weakDependency")) {
if (!Array.isArray(e3.weakDependency)) return "weakDependency: array expected";
for (t3 = 0; t3 < e3.weakDependency.length; ++t3) if (!p.isInteger(e3.weakDependency[t3])) return "weakDependency: integer[] expected";
}
if (null != e3.messageType && e3.hasOwnProperty("messageType")) {
if (!Array.isArray(e3.messageType)) return "messageType: array expected";
for (t3 = 0; t3 < e3.messageType.length; ++t3) if (n4 = l2.google.protobuf.DescriptorProto.verify(e3.messageType[t3])) return "messageType." + n4;
}
if (null != e3.enumType && e3.hasOwnProperty("enumType")) {
if (!Array.isArray(e3.enumType)) return "enumType: array expected";
for (t3 = 0; t3 < e3.enumType.length; ++t3) if (n4 = l2.google.protobuf.EnumDescriptorProto.verify(e3.enumType[t3])) return "enumType." + n4;
}
if (null != e3.service && e3.hasOwnProperty("service")) {
if (!Array.isArray(e3.service)) return "service: array expected";
for (t3 = 0; t3 < e3.service.length; ++t3) if (n4 = l2.google.protobuf.ServiceDescriptorProto.verify(e3.service[t3])) return "service." + n4;
}
if (null != e3.extension && e3.hasOwnProperty("extension")) {
if (!Array.isArray(e3.extension)) return "extension: array expected";
for (t3 = 0; t3 < e3.extension.length; ++t3) if (n4 = l2.google.protobuf.FieldDescriptorProto.verify(e3.extension[t3])) return "extension." + n4;
}
var n4;
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = l2.google.protobuf.FileOptions.verify(e3.options))) return "options." + n4;
if (null != e3.sourceCodeInfo && e3.hasOwnProperty("sourceCodeInfo") && (n4 = l2.google.protobuf.SourceCodeInfo.verify(e3.sourceCodeInfo))) return "sourceCodeInfo." + n4;
return null != e3.syntax && e3.hasOwnProperty("syntax") && !p.isString(e3.syntax) ? "syntax: string expected" : null;
}, m.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.FileDescriptorProto) return e3;
var t3 = new l2.google.protobuf.FileDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.package && (t3.package = String(e3.package)), e3.dependency) {
if (!Array.isArray(e3.dependency)) throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");
t3.dependency = [];
for (var n4 = 0; n4 < e3.dependency.length; ++n4) t3.dependency[n4] = String(e3.dependency[n4]);
}
if (e3.publicDependency) {
if (!Array.isArray(e3.publicDependency)) throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");
t3.publicDependency = [];
for (n4 = 0; n4 < e3.publicDependency.length; ++n4) t3.publicDependency[n4] = 0 | e3.publicDependency[n4];
}
if (e3.weakDependency) {
if (!Array.isArray(e3.weakDependency)) throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");
t3.weakDependency = [];
for (n4 = 0; n4 < e3.weakDependency.length; ++n4) t3.weakDependency[n4] = 0 | e3.weakDependency[n4];
}
if (e3.messageType) {
if (!Array.isArray(e3.messageType)) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
t3.messageType = [];
for (n4 = 0; n4 < e3.messageType.length; ++n4) {
if ("object" != typeof e3.messageType[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
t3.messageType[n4] = l2.google.protobuf.DescriptorProto.fromObject(e3.messageType[n4]);
}
}
if (e3.enumType) {
if (!Array.isArray(e3.enumType)) throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");
t3.enumType = [];
for (n4 = 0; n4 < e3.enumType.length; ++n4) {
if ("object" != typeof e3.enumType[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
t3.enumType[n4] = l2.google.protobuf.EnumDescriptorProto.fromObject(e3.enumType[n4]);
}
}
if (e3.service) {
if (!Array.isArray(e3.service)) throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");
t3.service = [];
for (n4 = 0; n4 < e3.service.length; ++n4) {
if ("object" != typeof e3.service[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
t3.service[n4] = l2.google.protobuf.ServiceDescriptorProto.fromObject(e3.service[n4]);
}
}
if (e3.extension) {
if (!Array.isArray(e3.extension)) throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");
t3.extension = [];
for (n4 = 0; n4 < e3.extension.length; ++n4) {
if ("object" != typeof e3.extension[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
t3.extension[n4] = l2.google.protobuf.FieldDescriptorProto.fromObject(e3.extension[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
t3.options = l2.google.protobuf.FileOptions.fromObject(e3.options);
}
if (null != e3.sourceCodeInfo) {
if ("object" != typeof e3.sourceCodeInfo) throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
t3.sourceCodeInfo = l2.google.protobuf.SourceCodeInfo.fromObject(e3.sourceCodeInfo);
}
return null != e3.syntax && (t3.syntax = String(e3.syntax)), t3;
}, m.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.dependency = [], n4.messageType = [], n4.enumType = [], n4.service = [], n4.extension = [], n4.publicDependency = [], n4.weakDependency = []), t3.defaults && (n4.name = "", n4.package = "", n4.options = null, n4.sourceCodeInfo = null, n4.syntax = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.package && e3.hasOwnProperty("package") && (n4.package = e3.package), e3.dependency && e3.dependency.length) {
n4.dependency = [];
for (var o4 = 0; o4 < e3.dependency.length; ++o4) n4.dependency[o4] = e3.dependency[o4];
}
if (e3.messageType && e3.messageType.length) {
n4.messageType = [];
for (o4 = 0; o4 < e3.messageType.length; ++o4) n4.messageType[o4] = l2.google.protobuf.DescriptorProto.toObject(e3.messageType[o4], t3);
}
if (e3.enumType && e3.enumType.length) {
n4.enumType = [];
for (o4 = 0; o4 < e3.enumType.length; ++o4) n4.enumType[o4] = l2.google.protobuf.EnumDescriptorProto.toObject(e3.enumType[o4], t3);
}
if (e3.service && e3.service.length) {
n4.service = [];
for (o4 = 0; o4 < e3.service.length; ++o4) n4.service[o4] = l2.google.protobuf.ServiceDescriptorProto.toObject(e3.service[o4], t3);
}
if (e3.extension && e3.extension.length) {
n4.extension = [];
for (o4 = 0; o4 < e3.extension.length; ++o4) n4.extension[o4] = l2.google.protobuf.FieldDescriptorProto.toObject(e3.extension[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.FileOptions.toObject(e3.options, t3)), null != e3.sourceCodeInfo && e3.hasOwnProperty("sourceCodeInfo") && (n4.sourceCodeInfo = l2.google.protobuf.SourceCodeInfo.toObject(e3.sourceCodeInfo, t3)), e3.publicDependency && e3.publicDependency.length) {
n4.publicDependency = [];
for (o4 = 0; o4 < e3.publicDependency.length; ++o4) n4.publicDependency[o4] = e3.publicDependency[o4];
}
if (e3.weakDependency && e3.weakDependency.length) {
n4.weakDependency = [];
for (o4 = 0; o4 < e3.weakDependency.length; ++o4) n4.weakDependency[o4] = e3.weakDependency[o4];
}
return null != e3.syntax && e3.hasOwnProperty("syntax") && (n4.syntax = e3.syntax), n4;
}, m.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, m), n3.DescriptorProto = (O.prototype.name = "", O.prototype.field = p.emptyArray, O.prototype.extension = p.emptyArray, O.prototype.nestedType = p.emptyArray, O.prototype.enumType = p.emptyArray, O.prototype.extensionRange = p.emptyArray, O.prototype.oneofDecl = p.emptyArray, O.prototype.options = null, O.prototype.reservedRange = p.emptyArray, O.prototype.reservedName = p.emptyArray, O.create = function(e3) {
return new O(e3);
}, O.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.field && e3.field.length) for (var n4 = 0; n4 < e3.field.length; ++n4) l2.google.protobuf.FieldDescriptorProto.encode(e3.field[n4], t3.uint32(18).fork()).ldelim();
if (null != e3.nestedType && e3.nestedType.length) for (n4 = 0; n4 < e3.nestedType.length; ++n4) l2.google.protobuf.DescriptorProto.encode(e3.nestedType[n4], t3.uint32(26).fork()).ldelim();
if (null != e3.enumType && e3.enumType.length) for (n4 = 0; n4 < e3.enumType.length; ++n4) l2.google.protobuf.EnumDescriptorProto.encode(e3.enumType[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.extensionRange && e3.extensionRange.length) for (n4 = 0; n4 < e3.extensionRange.length; ++n4) l2.google.protobuf.DescriptorProto.ExtensionRange.encode(e3.extensionRange[n4], t3.uint32(42).fork()).ldelim();
if (null != e3.extension && e3.extension.length) for (n4 = 0; n4 < e3.extension.length; ++n4) l2.google.protobuf.FieldDescriptorProto.encode(e3.extension[n4], t3.uint32(50).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.MessageOptions.encode(e3.options, t3.uint32(58).fork()).ldelim(), null != e3.oneofDecl && e3.oneofDecl.length) for (n4 = 0; n4 < e3.oneofDecl.length; ++n4) l2.google.protobuf.OneofDescriptorProto.encode(e3.oneofDecl[n4], t3.uint32(66).fork()).ldelim();
if (null != e3.reservedRange && e3.reservedRange.length) for (n4 = 0; n4 < e3.reservedRange.length; ++n4) l2.google.protobuf.DescriptorProto.ReservedRange.encode(e3.reservedRange[n4], t3.uint32(74).fork()).ldelim();
if (null != e3.reservedName && e3.reservedName.length) for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.uint32(82).string(e3.reservedName[n4]);
return t3;
}, O.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, O.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.DescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.field && o4.field.length || (o4.field = []), o4.field.push(l2.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 6:
o4.extension && o4.extension.length || (o4.extension = []), o4.extension.push(l2.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.nestedType && o4.nestedType.length || (o4.nestedType = []), o4.nestedType.push(l2.google.protobuf.DescriptorProto.decode(e3, e3.uint32()));
break;
case 4:
o4.enumType && o4.enumType.length || (o4.enumType = []), o4.enumType.push(l2.google.protobuf.EnumDescriptorProto.decode(e3, e3.uint32()));
break;
case 5:
o4.extensionRange && o4.extensionRange.length || (o4.extensionRange = []), o4.extensionRange.push(l2.google.protobuf.DescriptorProto.ExtensionRange.decode(e3, e3.uint32()));
break;
case 8:
o4.oneofDecl && o4.oneofDecl.length || (o4.oneofDecl = []), o4.oneofDecl.push(l2.google.protobuf.OneofDescriptorProto.decode(e3, e3.uint32()));
break;
case 7:
o4.options = l2.google.protobuf.MessageOptions.decode(e3, e3.uint32());
break;
case 9:
o4.reservedRange && o4.reservedRange.length || (o4.reservedRange = []), o4.reservedRange.push(l2.google.protobuf.DescriptorProto.ReservedRange.decode(e3, e3.uint32()));
break;
case 10:
o4.reservedName && o4.reservedName.length || (o4.reservedName = []), o4.reservedName.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, O.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, O.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.field && e3.hasOwnProperty("field")) {
if (!Array.isArray(e3.field)) return "field: array expected";
for (var t3 = 0; t3 < e3.field.length; ++t3) if (n4 = l2.google.protobuf.FieldDescriptorProto.verify(e3.field[t3])) return "field." + n4;
}
if (null != e3.extension && e3.hasOwnProperty("extension")) {
if (!Array.isArray(e3.extension)) return "extension: array expected";
for (t3 = 0; t3 < e3.extension.length; ++t3) if (n4 = l2.google.protobuf.FieldDescriptorProto.verify(e3.extension[t3])) return "extension." + n4;
}
if (null != e3.nestedType && e3.hasOwnProperty("nestedType")) {
if (!Array.isArray(e3.nestedType)) return "nestedType: array expected";
for (t3 = 0; t3 < e3.nestedType.length; ++t3) if (n4 = l2.google.protobuf.DescriptorProto.verify(e3.nestedType[t3])) return "nestedType." + n4;
}
if (null != e3.enumType && e3.hasOwnProperty("enumType")) {
if (!Array.isArray(e3.enumType)) return "enumType: array expected";
for (t3 = 0; t3 < e3.enumType.length; ++t3) if (n4 = l2.google.protobuf.EnumDescriptorProto.verify(e3.enumType[t3])) return "enumType." + n4;
}
if (null != e3.extensionRange && e3.hasOwnProperty("extensionRange")) {
if (!Array.isArray(e3.extensionRange)) return "extensionRange: array expected";
for (t3 = 0; t3 < e3.extensionRange.length; ++t3) if (n4 = l2.google.protobuf.DescriptorProto.ExtensionRange.verify(e3.extensionRange[t3])) return "extensionRange." + n4;
}
if (null != e3.oneofDecl && e3.hasOwnProperty("oneofDecl")) {
if (!Array.isArray(e3.oneofDecl)) return "oneofDecl: array expected";
for (t3 = 0; t3 < e3.oneofDecl.length; ++t3) if (n4 = l2.google.protobuf.OneofDescriptorProto.verify(e3.oneofDecl[t3])) return "oneofDecl." + n4;
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = l2.google.protobuf.MessageOptions.verify(e3.options))) return "options." + n4;
if (null != e3.reservedRange && e3.hasOwnProperty("reservedRange")) {
if (!Array.isArray(e3.reservedRange)) return "reservedRange: array expected";
for (var n4, t3 = 0; t3 < e3.reservedRange.length; ++t3) if (n4 = l2.google.protobuf.DescriptorProto.ReservedRange.verify(e3.reservedRange[t3])) return "reservedRange." + n4;
}
if (null != e3.reservedName && e3.hasOwnProperty("reservedName")) {
if (!Array.isArray(e3.reservedName)) return "reservedName: array expected";
for (t3 = 0; t3 < e3.reservedName.length; ++t3) if (!p.isString(e3.reservedName[t3])) return "reservedName: string[] expected";
}
return null;
}, O.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.DescriptorProto) return e3;
var t3 = new l2.google.protobuf.DescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.field) {
if (!Array.isArray(e3.field)) throw TypeError(".google.protobuf.DescriptorProto.field: array expected");
t3.field = [];
for (var n4 = 0; n4 < e3.field.length; ++n4) {
if ("object" != typeof e3.field[n4]) throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
t3.field[n4] = l2.google.protobuf.FieldDescriptorProto.fromObject(e3.field[n4]);
}
}
if (e3.extension) {
if (!Array.isArray(e3.extension)) throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");
t3.extension = [];
for (n4 = 0; n4 < e3.extension.length; ++n4) {
if ("object" != typeof e3.extension[n4]) throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
t3.extension[n4] = l2.google.protobuf.FieldDescriptorProto.fromObject(e3.extension[n4]);
}
}
if (e3.nestedType) {
if (!Array.isArray(e3.nestedType)) throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");
t3.nestedType = [];
for (n4 = 0; n4 < e3.nestedType.length; ++n4) {
if ("object" != typeof e3.nestedType[n4]) throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
t3.nestedType[n4] = l2.google.protobuf.DescriptorProto.fromObject(e3.nestedType[n4]);
}
}
if (e3.enumType) {
if (!Array.isArray(e3.enumType)) throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");
t3.enumType = [];
for (n4 = 0; n4 < e3.enumType.length; ++n4) {
if ("object" != typeof e3.enumType[n4]) throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
t3.enumType[n4] = l2.google.protobuf.EnumDescriptorProto.fromObject(e3.enumType[n4]);
}
}
if (e3.extensionRange) {
if (!Array.isArray(e3.extensionRange)) throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");
t3.extensionRange = [];
for (n4 = 0; n4 < e3.extensionRange.length; ++n4) {
if ("object" != typeof e3.extensionRange[n4]) throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
t3.extensionRange[n4] = l2.google.protobuf.DescriptorProto.ExtensionRange.fromObject(e3.extensionRange[n4]);
}
}
if (e3.oneofDecl) {
if (!Array.isArray(e3.oneofDecl)) throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");
t3.oneofDecl = [];
for (n4 = 0; n4 < e3.oneofDecl.length; ++n4) {
if ("object" != typeof e3.oneofDecl[n4]) throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
t3.oneofDecl[n4] = l2.google.protobuf.OneofDescriptorProto.fromObject(e3.oneofDecl[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
t3.options = l2.google.protobuf.MessageOptions.fromObject(e3.options);
}
if (e3.reservedRange) {
if (!Array.isArray(e3.reservedRange)) throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");
t3.reservedRange = [];
for (n4 = 0; n4 < e3.reservedRange.length; ++n4) {
if ("object" != typeof e3.reservedRange[n4]) throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
t3.reservedRange[n4] = l2.google.protobuf.DescriptorProto.ReservedRange.fromObject(e3.reservedRange[n4]);
}
}
if (e3.reservedName) {
if (!Array.isArray(e3.reservedName)) throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");
t3.reservedName = [];
for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.reservedName[n4] = String(e3.reservedName[n4]);
}
return t3;
}, O.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.field = [], n4.nestedType = [], n4.enumType = [], n4.extensionRange = [], n4.extension = [], n4.oneofDecl = [], n4.reservedRange = [], n4.reservedName = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.field && e3.field.length) {
n4.field = [];
for (var o4 = 0; o4 < e3.field.length; ++o4) n4.field[o4] = l2.google.protobuf.FieldDescriptorProto.toObject(e3.field[o4], t3);
}
if (e3.nestedType && e3.nestedType.length) {
n4.nestedType = [];
for (o4 = 0; o4 < e3.nestedType.length; ++o4) n4.nestedType[o4] = l2.google.protobuf.DescriptorProto.toObject(e3.nestedType[o4], t3);
}
if (e3.enumType && e3.enumType.length) {
n4.enumType = [];
for (o4 = 0; o4 < e3.enumType.length; ++o4) n4.enumType[o4] = l2.google.protobuf.EnumDescriptorProto.toObject(e3.enumType[o4], t3);
}
if (e3.extensionRange && e3.extensionRange.length) {
n4.extensionRange = [];
for (o4 = 0; o4 < e3.extensionRange.length; ++o4) n4.extensionRange[o4] = l2.google.protobuf.DescriptorProto.ExtensionRange.toObject(e3.extensionRange[o4], t3);
}
if (e3.extension && e3.extension.length) {
n4.extension = [];
for (o4 = 0; o4 < e3.extension.length; ++o4) n4.extension[o4] = l2.google.protobuf.FieldDescriptorProto.toObject(e3.extension[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.MessageOptions.toObject(e3.options, t3)), e3.oneofDecl && e3.oneofDecl.length) {
n4.oneofDecl = [];
for (o4 = 0; o4 < e3.oneofDecl.length; ++o4) n4.oneofDecl[o4] = l2.google.protobuf.OneofDescriptorProto.toObject(e3.oneofDecl[o4], t3);
}
if (e3.reservedRange && e3.reservedRange.length) {
n4.reservedRange = [];
for (o4 = 0; o4 < e3.reservedRange.length; ++o4) n4.reservedRange[o4] = l2.google.protobuf.DescriptorProto.ReservedRange.toObject(e3.reservedRange[o4], t3);
}
if (e3.reservedName && e3.reservedName.length) {
n4.reservedName = [];
for (o4 = 0; o4 < e3.reservedName.length; ++o4) n4.reservedName[o4] = e3.reservedName[o4];
}
return n4;
}, O.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, O.ExtensionRange = (v.prototype.start = 0, v.prototype.end = 0, v.prototype.options = null, v.create = function(e3) {
return new v(e3);
}, v.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.ExtensionRangeOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, v.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, v.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.DescriptorProto.ExtensionRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
case 3:
o4.options = l2.google.protobuf.ExtensionRangeOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, v.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, v.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.start && e3.hasOwnProperty("start") && !p.isInteger(e3.start)) return "start: integer expected";
if (null != e3.end && e3.hasOwnProperty("end") && !p.isInteger(e3.end)) return "end: integer expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = l2.google.protobuf.ExtensionRangeOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, v.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.DescriptorProto.ExtensionRange) return e3;
var t3 = new l2.google.protobuf.DescriptorProto.ExtensionRange();
if (null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
t3.options = l2.google.protobuf.ExtensionRangeOptions.fromObject(e3.options);
}
return t3;
}, v.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0, n4.options = null), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.ExtensionRangeOptions.toObject(e3.options, t3)), n4;
}, v.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, v), O.ReservedRange = (Y.prototype.start = 0, Y.prototype.end = 0, Y.create = function(e3) {
return new Y(e3);
}, Y.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), t3;
}, Y.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, Y.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.DescriptorProto.ReservedRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, Y.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, Y.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.start && e3.hasOwnProperty("start") && !p.isInteger(e3.start) ? "start: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !p.isInteger(e3.end) ? "end: integer expected" : null;
}, Y.fromObject = function(e3) {
var t3;
return e3 instanceof l2.google.protobuf.DescriptorProto.ReservedRange ? e3 : (t3 = new l2.google.protobuf.DescriptorProto.ReservedRange(), null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), t3);
}, Y.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, Y.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, Y), O), n3.ExtensionRangeOptions = (z.prototype.uninterpretedOption = p.emptyArray, z.create = function(e3) {
return new z(e3);
}, z.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, z.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, z.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.ExtensionRangeOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 999 ? (o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, z.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, z.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, z.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.ExtensionRangeOptions) return e3;
var t3 = new l2.google.protobuf.ExtensionRangeOptions();
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, z.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, z.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, z), n3.FieldDescriptorProto = (P.prototype.name = "", P.prototype.number = 0, P.prototype.label = 1, P.prototype.type = 1, P.prototype.typeName = "", P.prototype.extendee = "", P.prototype.defaultValue = "", P.prototype.oneofIndex = 0, P.prototype.jsonName = "", P.prototype.options = null, P.prototype.proto3Optional = false, P.create = function(e3) {
return new P(e3);
}, P.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.extendee && Object.hasOwnProperty.call(e3, "extendee") && t3.uint32(18).string(e3.extendee), null != e3.number && Object.hasOwnProperty.call(e3, "number") && t3.uint32(24).int32(e3.number), null != e3.label && Object.hasOwnProperty.call(e3, "label") && t3.uint32(32).int32(e3.label), null != e3.type && Object.hasOwnProperty.call(e3, "type") && t3.uint32(40).int32(e3.type), null != e3.typeName && Object.hasOwnProperty.call(e3, "typeName") && t3.uint32(50).string(e3.typeName), null != e3.defaultValue && Object.hasOwnProperty.call(e3, "defaultValue") && t3.uint32(58).string(e3.defaultValue), null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.FieldOptions.encode(e3.options, t3.uint32(66).fork()).ldelim(), null != e3.oneofIndex && Object.hasOwnProperty.call(e3, "oneofIndex") && t3.uint32(72).int32(e3.oneofIndex), null != e3.jsonName && Object.hasOwnProperty.call(e3, "jsonName") && t3.uint32(82).string(e3.jsonName), null != e3.proto3Optional && Object.hasOwnProperty.call(e3, "proto3Optional") && t3.uint32(136).bool(e3.proto3Optional), t3;
}, P.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, P.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.FieldDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 3:
o4.number = e3.int32();
break;
case 4:
o4.label = e3.int32();
break;
case 5:
o4.type = e3.int32();
break;
case 6:
o4.typeName = e3.string();
break;
case 2:
o4.extendee = e3.string();
break;
case 7:
o4.defaultValue = e3.string();
break;
case 9:
o4.oneofIndex = e3.int32();
break;
case 10:
o4.jsonName = e3.string();
break;
case 8:
o4.options = l2.google.protobuf.FieldOptions.decode(e3, e3.uint32());
break;
case 17:
o4.proto3Optional = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, P.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, P.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.number && e3.hasOwnProperty("number") && !p.isInteger(e3.number)) return "number: integer expected";
if (null != e3.label && e3.hasOwnProperty("label")) switch (e3.label) {
default:
return "label: enum value expected";
case 1:
case 2:
case 3:
}
if (null != e3.type && e3.hasOwnProperty("type")) switch (e3.type) {
default:
return "type: enum value expected";
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
}
if (null != e3.typeName && e3.hasOwnProperty("typeName") && !p.isString(e3.typeName)) return "typeName: string expected";
if (null != e3.extendee && e3.hasOwnProperty("extendee") && !p.isString(e3.extendee)) return "extendee: string expected";
if (null != e3.defaultValue && e3.hasOwnProperty("defaultValue") && !p.isString(e3.defaultValue)) return "defaultValue: string expected";
if (null != e3.oneofIndex && e3.hasOwnProperty("oneofIndex") && !p.isInteger(e3.oneofIndex)) return "oneofIndex: integer expected";
if (null != e3.jsonName && e3.hasOwnProperty("jsonName") && !p.isString(e3.jsonName)) return "jsonName: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
var t3 = l2.google.protobuf.FieldOptions.verify(e3.options);
if (t3) return "options." + t3;
}
return null != e3.proto3Optional && e3.hasOwnProperty("proto3Optional") && "boolean" != typeof e3.proto3Optional ? "proto3Optional: boolean expected" : null;
}, P.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.FieldDescriptorProto) return e3;
var t3 = new l2.google.protobuf.FieldDescriptorProto();
switch (null != e3.name && (t3.name = String(e3.name)), null != e3.number && (t3.number = 0 | e3.number), e3.label) {
case "LABEL_OPTIONAL":
case 1:
t3.label = 1;
break;
case "LABEL_REQUIRED":
case 2:
t3.label = 2;
break;
case "LABEL_REPEATED":
case 3:
t3.label = 3;
}
switch (e3.type) {
case "TYPE_DOUBLE":
case 1:
t3.type = 1;
break;
case "TYPE_FLOAT":
case 2:
t3.type = 2;
break;
case "TYPE_INT64":
case 3:
t3.type = 3;
break;
case "TYPE_UINT64":
case 4:
t3.type = 4;
break;
case "TYPE_INT32":
case 5:
t3.type = 5;
break;
case "TYPE_FIXED64":
case 6:
t3.type = 6;
break;
case "TYPE_FIXED32":
case 7:
t3.type = 7;
break;
case "TYPE_BOOL":
case 8:
t3.type = 8;
break;
case "TYPE_STRING":
case 9:
t3.type = 9;
break;
case "TYPE_GROUP":
case 10:
t3.type = 10;
break;
case "TYPE_MESSAGE":
case 11:
t3.type = 11;
break;
case "TYPE_BYTES":
case 12:
t3.type = 12;
break;
case "TYPE_UINT32":
case 13:
t3.type = 13;
break;
case "TYPE_ENUM":
case 14:
t3.type = 14;
break;
case "TYPE_SFIXED32":
case 15:
t3.type = 15;
break;
case "TYPE_SFIXED64":
case 16:
t3.type = 16;
break;
case "TYPE_SINT32":
case 17:
t3.type = 17;
break;
case "TYPE_SINT64":
case 18:
t3.type = 18;
}
if (null != e3.typeName && (t3.typeName = String(e3.typeName)), null != e3.extendee && (t3.extendee = String(e3.extendee)), null != e3.defaultValue && (t3.defaultValue = String(e3.defaultValue)), null != e3.oneofIndex && (t3.oneofIndex = 0 | e3.oneofIndex), null != e3.jsonName && (t3.jsonName = String(e3.jsonName)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
t3.options = l2.google.protobuf.FieldOptions.fromObject(e3.options);
}
return null != e3.proto3Optional && (t3.proto3Optional = Boolean(e3.proto3Optional)), t3;
}, P.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.extendee = "", n4.number = 0, n4.label = t3.enums === String ? "LABEL_OPTIONAL" : 1, n4.type = t3.enums === String ? "TYPE_DOUBLE" : 1, n4.typeName = "", n4.defaultValue = "", n4.options = null, n4.oneofIndex = 0, n4.jsonName = "", n4.proto3Optional = false), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.extendee && e3.hasOwnProperty("extendee") && (n4.extendee = e3.extendee), null != e3.number && e3.hasOwnProperty("number") && (n4.number = e3.number), null != e3.label && e3.hasOwnProperty("label") && (n4.label = t3.enums === String ? l2.google.protobuf.FieldDescriptorProto.Label[e3.label] : e3.label), null != e3.type && e3.hasOwnProperty("type") && (n4.type = t3.enums === String ? l2.google.protobuf.FieldDescriptorProto.Type[e3.type] : e3.type), null != e3.typeName && e3.hasOwnProperty("typeName") && (n4.typeName = e3.typeName), null != e3.defaultValue && e3.hasOwnProperty("defaultValue") && (n4.defaultValue = e3.defaultValue), null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.FieldOptions.toObject(e3.options, t3)), null != e3.oneofIndex && e3.hasOwnProperty("oneofIndex") && (n4.oneofIndex = e3.oneofIndex), null != e3.jsonName && e3.hasOwnProperty("jsonName") && (n4.jsonName = e3.jsonName), null != e3.proto3Optional && e3.hasOwnProperty("proto3Optional") && (n4.proto3Optional = e3.proto3Optional), n4;
}, P.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, P.Type = (e2 = {}, (t2 = Object.create(e2))[e2[1] = "TYPE_DOUBLE"] = 1, t2[e2[2] = "TYPE_FLOAT"] = 2, t2[e2[3] = "TYPE_INT64"] = 3, t2[e2[4] = "TYPE_UINT64"] = 4, t2[e2[5] = "TYPE_INT32"] = 5, t2[e2[6] = "TYPE_FIXED64"] = 6, t2[e2[7] = "TYPE_FIXED32"] = 7, t2[e2[8] = "TYPE_BOOL"] = 8, t2[e2[9] = "TYPE_STRING"] = 9, t2[e2[10] = "TYPE_GROUP"] = 10, t2[e2[11] = "TYPE_MESSAGE"] = 11, t2[e2[12] = "TYPE_BYTES"] = 12, t2[e2[13] = "TYPE_UINT32"] = 13, t2[e2[14] = "TYPE_ENUM"] = 14, t2[e2[15] = "TYPE_SFIXED32"] = 15, t2[e2[16] = "TYPE_SFIXED64"] = 16, t2[e2[17] = "TYPE_SINT32"] = 17, t2[e2[18] = "TYPE_SINT64"] = 18, t2), P.Label = (e2 = {}, (t2 = Object.create(e2))[e2[1] = "LABEL_OPTIONAL"] = 1, t2[e2[2] = "LABEL_REQUIRED"] = 2, t2[e2[3] = "LABEL_REPEATED"] = 3, t2), P), n3.OneofDescriptorProto = (W.prototype.name = "", W.prototype.options = null, W.create = function(e3) {
return new W(e3);
}, W.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.OneofOptions.encode(e3.options, t3.uint32(18).fork()).ldelim(), t3;
}, W.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, W.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.OneofDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.options = l2.google.protobuf.OneofOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, W.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, W.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = l2.google.protobuf.OneofOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, W.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.OneofDescriptorProto) return e3;
var t3 = new l2.google.protobuf.OneofDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
t3.options = l2.google.protobuf.OneofOptions.fromObject(e3.options);
}
return t3;
}, W.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.OneofOptions.toObject(e3.options, t3)), n4;
}, W.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, W), n3.EnumDescriptorProto = (w.prototype.name = "", w.prototype.value = p.emptyArray, w.prototype.options = null, w.prototype.reservedRange = p.emptyArray, w.prototype.reservedName = p.emptyArray, w.create = function(e3) {
return new w(e3);
}, w.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.value && e3.value.length) for (var n4 = 0; n4 < e3.value.length; ++n4) l2.google.protobuf.EnumValueDescriptorProto.encode(e3.value[n4], t3.uint32(18).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.EnumOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), null != e3.reservedRange && e3.reservedRange.length) for (n4 = 0; n4 < e3.reservedRange.length; ++n4) l2.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(e3.reservedRange[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.reservedName && e3.reservedName.length) for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.uint32(42).string(e3.reservedName[n4]);
return t3;
}, w.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, w.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.EnumDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.value && o4.value.length || (o4.value = []), o4.value.push(l2.google.protobuf.EnumValueDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.options = l2.google.protobuf.EnumOptions.decode(e3, e3.uint32());
break;
case 4:
o4.reservedRange && o4.reservedRange.length || (o4.reservedRange = []), o4.reservedRange.push(l2.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(e3, e3.uint32()));
break;
case 5:
o4.reservedName && o4.reservedName.length || (o4.reservedName = []), o4.reservedName.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, w.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, w.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.value && e3.hasOwnProperty("value")) {
if (!Array.isArray(e3.value)) return "value: array expected";
for (var t3 = 0; t3 < e3.value.length; ++t3) if (n4 = l2.google.protobuf.EnumValueDescriptorProto.verify(e3.value[t3])) return "value." + n4;
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = l2.google.protobuf.EnumOptions.verify(e3.options))) return "options." + n4;
if (null != e3.reservedRange && e3.hasOwnProperty("reservedRange")) {
if (!Array.isArray(e3.reservedRange)) return "reservedRange: array expected";
for (var n4, t3 = 0; t3 < e3.reservedRange.length; ++t3) if (n4 = l2.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(e3.reservedRange[t3])) return "reservedRange." + n4;
}
if (null != e3.reservedName && e3.hasOwnProperty("reservedName")) {
if (!Array.isArray(e3.reservedName)) return "reservedName: array expected";
for (t3 = 0; t3 < e3.reservedName.length; ++t3) if (!p.isString(e3.reservedName[t3])) return "reservedName: string[] expected";
}
return null;
}, w.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.EnumDescriptorProto) return e3;
var t3 = new l2.google.protobuf.EnumDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.value) {
if (!Array.isArray(e3.value)) throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");
t3.value = [];
for (var n4 = 0; n4 < e3.value.length; ++n4) {
if ("object" != typeof e3.value[n4]) throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");
t3.value[n4] = l2.google.protobuf.EnumValueDescriptorProto.fromObject(e3.value[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");
t3.options = l2.google.protobuf.EnumOptions.fromObject(e3.options);
}
if (e3.reservedRange) {
if (!Array.isArray(e3.reservedRange)) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");
t3.reservedRange = [];
for (n4 = 0; n4 < e3.reservedRange.length; ++n4) {
if ("object" != typeof e3.reservedRange[n4]) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");
t3.reservedRange[n4] = l2.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(e3.reservedRange[n4]);
}
}
if (e3.reservedName) {
if (!Array.isArray(e3.reservedName)) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");
t3.reservedName = [];
for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.reservedName[n4] = String(e3.reservedName[n4]);
}
return t3;
}, w.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.value = [], n4.reservedRange = [], n4.reservedName = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.value && e3.value.length) {
n4.value = [];
for (var o4 = 0; o4 < e3.value.length; ++o4) n4.value[o4] = l2.google.protobuf.EnumValueDescriptorProto.toObject(e3.value[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.EnumOptions.toObject(e3.options, t3)), e3.reservedRange && e3.reservedRange.length) {
n4.reservedRange = [];
for (o4 = 0; o4 < e3.reservedRange.length; ++o4) n4.reservedRange[o4] = l2.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(e3.reservedRange[o4], t3);
}
if (e3.reservedName && e3.reservedName.length) {
n4.reservedName = [];
for (o4 = 0; o4 < e3.reservedName.length; ++o4) n4.reservedName[o4] = e3.reservedName[o4];
}
return n4;
}, w.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, w.EnumReservedRange = (X.prototype.start = 0, X.prototype.end = 0, X.create = function(e3) {
return new X(e3);
}, X.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), t3;
}, X.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, X.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.EnumDescriptorProto.EnumReservedRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, X.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, X.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.start && e3.hasOwnProperty("start") && !p.isInteger(e3.start) ? "start: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !p.isInteger(e3.end) ? "end: integer expected" : null;
}, X.fromObject = function(e3) {
var t3;
return e3 instanceof l2.google.protobuf.EnumDescriptorProto.EnumReservedRange ? e3 : (t3 = new l2.google.protobuf.EnumDescriptorProto.EnumReservedRange(), null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), t3);
}, X.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, X.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, X), w), n3.EnumValueDescriptorProto = (j.prototype.name = "", j.prototype.number = 0, j.prototype.options = null, j.create = function(e3) {
return new j(e3);
}, j.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.number && Object.hasOwnProperty.call(e3, "number") && t3.uint32(16).int32(e3.number), null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.EnumValueOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, j.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, j.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.EnumValueDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.number = e3.int32();
break;
case 3:
o4.options = l2.google.protobuf.EnumValueOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, j.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, j.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.number && e3.hasOwnProperty("number") && !p.isInteger(e3.number)) return "number: integer expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = l2.google.protobuf.EnumValueOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, j.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.EnumValueDescriptorProto) return e3;
var t3 = new l2.google.protobuf.EnumValueDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.number && (t3.number = 0 | e3.number), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");
t3.options = l2.google.protobuf.EnumValueOptions.fromObject(e3.options);
}
return t3;
}, j.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.number = 0, n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.number && e3.hasOwnProperty("number") && (n4.number = e3.number), null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.EnumValueOptions.toObject(e3.options, t3)), n4;
}, j.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, j), n3.ServiceDescriptorProto = (D.prototype.name = "", D.prototype.method = p.emptyArray, D.prototype.options = null, D.create = function(e3) {
return new D(e3);
}, D.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.method && e3.method.length) for (var n4 = 0; n4 < e3.method.length; ++n4) l2.google.protobuf.MethodDescriptorProto.encode(e3.method[n4], t3.uint32(18).fork()).ldelim();
return null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.ServiceOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, D.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, D.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.ServiceDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.method && o4.method.length || (o4.method = []), o4.method.push(l2.google.protobuf.MethodDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.options = l2.google.protobuf.ServiceOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, D.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, D.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.method && e3.hasOwnProperty("method")) {
if (!Array.isArray(e3.method)) return "method: array expected";
for (var t3 = 0; t3 < e3.method.length; ++t3) if (n4 = l2.google.protobuf.MethodDescriptorProto.verify(e3.method[t3])) return "method." + n4;
}
var n4;
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = l2.google.protobuf.ServiceOptions.verify(e3.options))) return "options." + n4;
return null;
}, D.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.ServiceDescriptorProto) return e3;
var t3 = new l2.google.protobuf.ServiceDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.method) {
if (!Array.isArray(e3.method)) throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");
t3.method = [];
for (var n4 = 0; n4 < e3.method.length; ++n4) {
if ("object" != typeof e3.method[n4]) throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");
t3.method[n4] = l2.google.protobuf.MethodDescriptorProto.fromObject(e3.method[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");
t3.options = l2.google.protobuf.ServiceOptions.fromObject(e3.options);
}
return t3;
}, D.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.method = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.method && e3.method.length) {
n4.method = [];
for (var o4 = 0; o4 < e3.method.length; ++o4) n4.method[o4] = l2.google.protobuf.MethodDescriptorProto.toObject(e3.method[o4], t3);
}
return null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.ServiceOptions.toObject(e3.options, t3)), n4;
}, D.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, D), n3.MethodDescriptorProto = (x.prototype.name = "", x.prototype.inputType = "", x.prototype.outputType = "", x.prototype.options = null, x.prototype.clientStreaming = false, x.prototype.serverStreaming = false, x.create = function(e3) {
return new x(e3);
}, x.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.inputType && Object.hasOwnProperty.call(e3, "inputType") && t3.uint32(18).string(e3.inputType), null != e3.outputType && Object.hasOwnProperty.call(e3, "outputType") && t3.uint32(26).string(e3.outputType), null != e3.options && Object.hasOwnProperty.call(e3, "options") && l2.google.protobuf.MethodOptions.encode(e3.options, t3.uint32(34).fork()).ldelim(), null != e3.clientStreaming && Object.hasOwnProperty.call(e3, "clientStreaming") && t3.uint32(40).bool(e3.clientStreaming), null != e3.serverStreaming && Object.hasOwnProperty.call(e3, "serverStreaming") && t3.uint32(48).bool(e3.serverStreaming), t3;
}, x.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, x.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.MethodDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.inputType = e3.string();
break;
case 3:
o4.outputType = e3.string();
break;
case 4:
o4.options = l2.google.protobuf.MethodOptions.decode(e3, e3.uint32());
break;
case 5:
o4.clientStreaming = e3.bool();
break;
case 6:
o4.serverStreaming = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, x.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, x.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !p.isString(e3.name)) return "name: string expected";
if (null != e3.inputType && e3.hasOwnProperty("inputType") && !p.isString(e3.inputType)) return "inputType: string expected";
if (null != e3.outputType && e3.hasOwnProperty("outputType") && !p.isString(e3.outputType)) return "outputType: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
var t3 = l2.google.protobuf.MethodOptions.verify(e3.options);
if (t3) return "options." + t3;
}
return null != e3.clientStreaming && e3.hasOwnProperty("clientStreaming") && "boolean" != typeof e3.clientStreaming ? "clientStreaming: boolean expected" : null != e3.serverStreaming && e3.hasOwnProperty("serverStreaming") && "boolean" != typeof e3.serverStreaming ? "serverStreaming: boolean expected" : null;
}, x.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.MethodDescriptorProto) return e3;
var t3 = new l2.google.protobuf.MethodDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.inputType && (t3.inputType = String(e3.inputType)), null != e3.outputType && (t3.outputType = String(e3.outputType)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");
t3.options = l2.google.protobuf.MethodOptions.fromObject(e3.options);
}
return null != e3.clientStreaming && (t3.clientStreaming = Boolean(e3.clientStreaming)), null != e3.serverStreaming && (t3.serverStreaming = Boolean(e3.serverStreaming)), t3;
}, x.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.inputType = "", n4.outputType = "", n4.options = null, n4.clientStreaming = false, n4.serverStreaming = false), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.inputType && e3.hasOwnProperty("inputType") && (n4.inputType = e3.inputType), null != e3.outputType && e3.hasOwnProperty("outputType") && (n4.outputType = e3.outputType), null != e3.options && e3.hasOwnProperty("options") && (n4.options = l2.google.protobuf.MethodOptions.toObject(e3.options, t3)), null != e3.clientStreaming && e3.hasOwnProperty("clientStreaming") && (n4.clientStreaming = e3.clientStreaming), null != e3.serverStreaming && e3.hasOwnProperty("serverStreaming") && (n4.serverStreaming = e3.serverStreaming), n4;
}, x.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, x), n3.FileOptions = (S.prototype.javaPackage = "", S.prototype.javaOuterClassname = "", S.prototype.javaMultipleFiles = false, S.prototype.javaGenerateEqualsAndHash = false, S.prototype.javaStringCheckUtf8 = false, S.prototype.optimizeFor = 1, S.prototype.goPackage = "", S.prototype.ccGenericServices = false, S.prototype.javaGenericServices = false, S.prototype.pyGenericServices = false, S.prototype.phpGenericServices = false, S.prototype.deprecated = false, S.prototype.ccEnableArenas = true, S.prototype.objcClassPrefix = "", S.prototype.csharpNamespace = "", S.prototype.swiftPrefix = "", S.prototype.phpClassPrefix = "", S.prototype.phpNamespace = "", S.prototype.phpMetadataNamespace = "", S.prototype.rubyPackage = "", S.prototype.uninterpretedOption = p.emptyArray, S.prototype[".google.api.resourceDefinition"] = p.emptyArray, S.create = function(e3) {
return new S(e3);
}, S.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.javaPackage && Object.hasOwnProperty.call(e3, "javaPackage") && t3.uint32(10).string(e3.javaPackage), null != e3.javaOuterClassname && Object.hasOwnProperty.call(e3, "javaOuterClassname") && t3.uint32(66).string(e3.javaOuterClassname), null != e3.optimizeFor && Object.hasOwnProperty.call(e3, "optimizeFor") && t3.uint32(72).int32(e3.optimizeFor), null != e3.javaMultipleFiles && Object.hasOwnProperty.call(e3, "javaMultipleFiles") && t3.uint32(80).bool(e3.javaMultipleFiles), null != e3.goPackage && Object.hasOwnProperty.call(e3, "goPackage") && t3.uint32(90).string(e3.goPackage), null != e3.ccGenericServices && Object.hasOwnProperty.call(e3, "ccGenericServices") && t3.uint32(128).bool(e3.ccGenericServices), null != e3.javaGenericServices && Object.hasOwnProperty.call(e3, "javaGenericServices") && t3.uint32(136).bool(e3.javaGenericServices), null != e3.pyGenericServices && Object.hasOwnProperty.call(e3, "pyGenericServices") && t3.uint32(144).bool(e3.pyGenericServices), null != e3.javaGenerateEqualsAndHash && Object.hasOwnProperty.call(e3, "javaGenerateEqualsAndHash") && t3.uint32(160).bool(e3.javaGenerateEqualsAndHash), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(184).bool(e3.deprecated), null != e3.javaStringCheckUtf8 && Object.hasOwnProperty.call(e3, "javaStringCheckUtf8") && t3.uint32(216).bool(e3.javaStringCheckUtf8), null != e3.ccEnableArenas && Object.hasOwnProperty.call(e3, "ccEnableArenas") && t3.uint32(248).bool(e3.ccEnableArenas), null != e3.objcClassPrefix && Object.hasOwnProperty.call(e3, "objcClassPrefix") && t3.uint32(290).string(e3.objcClassPrefix), null != e3.csharpNamespace && Object.hasOwnProperty.call(e3, "csharpNamespace") && t3.uint32(298).string(e3.csharpNamespace), null != e3.swiftPrefix && Object.hasOwnProperty.call(e3, "swiftPrefix") && t3.uint32(314).string(e3.swiftPrefix), null != e3.phpClassPrefix && Object.hasOwnProperty.call(e3, "phpClassPrefix") && t3.uint32(322).string(e3.phpClassPrefix), null != e3.phpNamespace && Object.hasOwnProperty.call(e3, "phpNamespace") && t3.uint32(330).string(e3.phpNamespace), null != e3.phpGenericServices && Object.hasOwnProperty.call(e3, "phpGenericServices") && t3.uint32(336).bool(e3.phpGenericServices), null != e3.phpMetadataNamespace && Object.hasOwnProperty.call(e3, "phpMetadataNamespace") && t3.uint32(354).string(e3.phpMetadataNamespace), null != e3.rubyPackage && Object.hasOwnProperty.call(e3, "rubyPackage") && t3.uint32(362).string(e3.rubyPackage), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
if (null != e3[".google.api.resourceDefinition"] && e3[".google.api.resourceDefinition"].length) for (n4 = 0; n4 < e3[".google.api.resourceDefinition"].length; ++n4) l2.google.api.ResourceDescriptor.encode(e3[".google.api.resourceDefinition"][n4], t3.uint32(8426).fork()).ldelim();
return t3;
}, S.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, S.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.FileOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.javaPackage = e3.string();
break;
case 8:
o4.javaOuterClassname = e3.string();
break;
case 10:
o4.javaMultipleFiles = e3.bool();
break;
case 20:
o4.javaGenerateEqualsAndHash = e3.bool();
break;
case 27:
o4.javaStringCheckUtf8 = e3.bool();
break;
case 9:
o4.optimizeFor = e3.int32();
break;
case 11:
o4.goPackage = e3.string();
break;
case 16:
o4.ccGenericServices = e3.bool();
break;
case 17:
o4.javaGenericServices = e3.bool();
break;
case 18:
o4.pyGenericServices = e3.bool();
break;
case 42:
o4.phpGenericServices = e3.bool();
break;
case 23:
o4.deprecated = e3.bool();
break;
case 31:
o4.ccEnableArenas = e3.bool();
break;
case 36:
o4.objcClassPrefix = e3.string();
break;
case 37:
o4.csharpNamespace = e3.string();
break;
case 39:
o4.swiftPrefix = e3.string();
break;
case 40:
o4.phpClassPrefix = e3.string();
break;
case 41:
o4.phpNamespace = e3.string();
break;
case 44:
o4.phpMetadataNamespace = e3.string();
break;
case 45:
o4.rubyPackage = e3.string();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 1053:
o4[".google.api.resourceDefinition"] && o4[".google.api.resourceDefinition"].length || (o4[".google.api.resourceDefinition"] = []), o4[".google.api.resourceDefinition"].push(l2.google.api.ResourceDescriptor.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, S.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, S.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.javaPackage && e3.hasOwnProperty("javaPackage") && !p.isString(e3.javaPackage)) return "javaPackage: string expected";
if (null != e3.javaOuterClassname && e3.hasOwnProperty("javaOuterClassname") && !p.isString(e3.javaOuterClassname)) return "javaOuterClassname: string expected";
if (null != e3.javaMultipleFiles && e3.hasOwnProperty("javaMultipleFiles") && "boolean" != typeof e3.javaMultipleFiles) return "javaMultipleFiles: boolean expected";
if (null != e3.javaGenerateEqualsAndHash && e3.hasOwnProperty("javaGenerateEqualsAndHash") && "boolean" != typeof e3.javaGenerateEqualsAndHash) return "javaGenerateEqualsAndHash: boolean expected";
if (null != e3.javaStringCheckUtf8 && e3.hasOwnProperty("javaStringCheckUtf8") && "boolean" != typeof e3.javaStringCheckUtf8) return "javaStringCheckUtf8: boolean expected";
if (null != e3.optimizeFor && e3.hasOwnProperty("optimizeFor")) switch (e3.optimizeFor) {
default:
return "optimizeFor: enum value expected";
case 1:
case 2:
case 3:
}
if (null != e3.goPackage && e3.hasOwnProperty("goPackage") && !p.isString(e3.goPackage)) return "goPackage: string expected";
if (null != e3.ccGenericServices && e3.hasOwnProperty("ccGenericServices") && "boolean" != typeof e3.ccGenericServices) return "ccGenericServices: boolean expected";
if (null != e3.javaGenericServices && e3.hasOwnProperty("javaGenericServices") && "boolean" != typeof e3.javaGenericServices) return "javaGenericServices: boolean expected";
if (null != e3.pyGenericServices && e3.hasOwnProperty("pyGenericServices") && "boolean" != typeof e3.pyGenericServices) return "pyGenericServices: boolean expected";
if (null != e3.phpGenericServices && e3.hasOwnProperty("phpGenericServices") && "boolean" != typeof e3.phpGenericServices) return "phpGenericServices: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.ccEnableArenas && e3.hasOwnProperty("ccEnableArenas") && "boolean" != typeof e3.ccEnableArenas) return "ccEnableArenas: boolean expected";
if (null != e3.objcClassPrefix && e3.hasOwnProperty("objcClassPrefix") && !p.isString(e3.objcClassPrefix)) return "objcClassPrefix: string expected";
if (null != e3.csharpNamespace && e3.hasOwnProperty("csharpNamespace") && !p.isString(e3.csharpNamespace)) return "csharpNamespace: string expected";
if (null != e3.swiftPrefix && e3.hasOwnProperty("swiftPrefix") && !p.isString(e3.swiftPrefix)) return "swiftPrefix: string expected";
if (null != e3.phpClassPrefix && e3.hasOwnProperty("phpClassPrefix") && !p.isString(e3.phpClassPrefix)) return "phpClassPrefix: string expected";
if (null != e3.phpNamespace && e3.hasOwnProperty("phpNamespace") && !p.isString(e3.phpNamespace)) return "phpNamespace: string expected";
if (null != e3.phpMetadataNamespace && e3.hasOwnProperty("phpMetadataNamespace") && !p.isString(e3.phpMetadataNamespace)) return "phpMetadataNamespace: string expected";
if (null != e3.rubyPackage && e3.hasOwnProperty("rubyPackage") && !p.isString(e3.rubyPackage)) return "rubyPackage: string expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) if (n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3])) return "uninterpretedOption." + n4;
}
if (null != e3[".google.api.resourceDefinition"] && e3.hasOwnProperty(".google.api.resourceDefinition")) {
if (!Array.isArray(e3[".google.api.resourceDefinition"])) return ".google.api.resourceDefinition: array expected";
for (var n4, t3 = 0; t3 < e3[".google.api.resourceDefinition"].length; ++t3) if (n4 = l2.google.api.ResourceDescriptor.verify(e3[".google.api.resourceDefinition"][t3])) return ".google.api.resourceDefinition." + n4;
}
return null;
}, S.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.FileOptions) return e3;
var t3 = new l2.google.protobuf.FileOptions();
switch (null != e3.javaPackage && (t3.javaPackage = String(e3.javaPackage)), null != e3.javaOuterClassname && (t3.javaOuterClassname = String(e3.javaOuterClassname)), null != e3.javaMultipleFiles && (t3.javaMultipleFiles = Boolean(e3.javaMultipleFiles)), null != e3.javaGenerateEqualsAndHash && (t3.javaGenerateEqualsAndHash = Boolean(e3.javaGenerateEqualsAndHash)), null != e3.javaStringCheckUtf8 && (t3.javaStringCheckUtf8 = Boolean(e3.javaStringCheckUtf8)), e3.optimizeFor) {
case "SPEED":
case 1:
t3.optimizeFor = 1;
break;
case "CODE_SIZE":
case 2:
t3.optimizeFor = 2;
break;
case "LITE_RUNTIME":
case 3:
t3.optimizeFor = 3;
}
if (null != e3.goPackage && (t3.goPackage = String(e3.goPackage)), null != e3.ccGenericServices && (t3.ccGenericServices = Boolean(e3.ccGenericServices)), null != e3.javaGenericServices && (t3.javaGenericServices = Boolean(e3.javaGenericServices)), null != e3.pyGenericServices && (t3.pyGenericServices = Boolean(e3.pyGenericServices)), null != e3.phpGenericServices && (t3.phpGenericServices = Boolean(e3.phpGenericServices)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.ccEnableArenas && (t3.ccEnableArenas = Boolean(e3.ccEnableArenas)), null != e3.objcClassPrefix && (t3.objcClassPrefix = String(e3.objcClassPrefix)), null != e3.csharpNamespace && (t3.csharpNamespace = String(e3.csharpNamespace)), null != e3.swiftPrefix && (t3.swiftPrefix = String(e3.swiftPrefix)), null != e3.phpClassPrefix && (t3.phpClassPrefix = String(e3.phpClassPrefix)), null != e3.phpNamespace && (t3.phpNamespace = String(e3.phpNamespace)), null != e3.phpMetadataNamespace && (t3.phpMetadataNamespace = String(e3.phpMetadataNamespace)), null != e3.rubyPackage && (t3.rubyPackage = String(e3.rubyPackage)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
if (e3[".google.api.resourceDefinition"]) {
if (!Array.isArray(e3[".google.api.resourceDefinition"])) throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected");
t3[".google.api.resourceDefinition"] = [];
for (n4 = 0; n4 < e3[".google.api.resourceDefinition"].length; ++n4) {
if ("object" != typeof e3[".google.api.resourceDefinition"][n4]) throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected");
t3[".google.api.resourceDefinition"][n4] = l2.google.api.ResourceDescriptor.fromObject(e3[".google.api.resourceDefinition"][n4]);
}
}
return t3;
}, S.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = [], n4[".google.api.resourceDefinition"] = []), t3.defaults && (n4.javaPackage = "", n4.javaOuterClassname = "", n4.optimizeFor = t3.enums === String ? "SPEED" : 1, n4.javaMultipleFiles = false, n4.goPackage = "", n4.ccGenericServices = false, n4.javaGenericServices = false, n4.pyGenericServices = false, n4.javaGenerateEqualsAndHash = false, n4.deprecated = false, n4.javaStringCheckUtf8 = false, n4.ccEnableArenas = true, n4.objcClassPrefix = "", n4.csharpNamespace = "", n4.swiftPrefix = "", n4.phpClassPrefix = "", n4.phpNamespace = "", n4.phpGenericServices = false, n4.phpMetadataNamespace = "", n4.rubyPackage = ""), null != e3.javaPackage && e3.hasOwnProperty("javaPackage") && (n4.javaPackage = e3.javaPackage), null != e3.javaOuterClassname && e3.hasOwnProperty("javaOuterClassname") && (n4.javaOuterClassname = e3.javaOuterClassname), null != e3.optimizeFor && e3.hasOwnProperty("optimizeFor") && (n4.optimizeFor = t3.enums === String ? l2.google.protobuf.FileOptions.OptimizeMode[e3.optimizeFor] : e3.optimizeFor), null != e3.javaMultipleFiles && e3.hasOwnProperty("javaMultipleFiles") && (n4.javaMultipleFiles = e3.javaMultipleFiles), null != e3.goPackage && e3.hasOwnProperty("goPackage") && (n4.goPackage = e3.goPackage), null != e3.ccGenericServices && e3.hasOwnProperty("ccGenericServices") && (n4.ccGenericServices = e3.ccGenericServices), null != e3.javaGenericServices && e3.hasOwnProperty("javaGenericServices") && (n4.javaGenericServices = e3.javaGenericServices), null != e3.pyGenericServices && e3.hasOwnProperty("pyGenericServices") && (n4.pyGenericServices = e3.pyGenericServices), null != e3.javaGenerateEqualsAndHash && e3.hasOwnProperty("javaGenerateEqualsAndHash") && (n4.javaGenerateEqualsAndHash = e3.javaGenerateEqualsAndHash), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.javaStringCheckUtf8 && e3.hasOwnProperty("javaStringCheckUtf8") && (n4.javaStringCheckUtf8 = e3.javaStringCheckUtf8), null != e3.ccEnableArenas && e3.hasOwnProperty("ccEnableArenas") && (n4.ccEnableArenas = e3.ccEnableArenas), null != e3.objcClassPrefix && e3.hasOwnProperty("objcClassPrefix") && (n4.objcClassPrefix = e3.objcClassPrefix), null != e3.csharpNamespace && e3.hasOwnProperty("csharpNamespace") && (n4.csharpNamespace = e3.csharpNamespace), null != e3.swiftPrefix && e3.hasOwnProperty("swiftPrefix") && (n4.swiftPrefix = e3.swiftPrefix), null != e3.phpClassPrefix && e3.hasOwnProperty("phpClassPrefix") && (n4.phpClassPrefix = e3.phpClassPrefix), null != e3.phpNamespace && e3.hasOwnProperty("phpNamespace") && (n4.phpNamespace = e3.phpNamespace), null != e3.phpGenericServices && e3.hasOwnProperty("phpGenericServices") && (n4.phpGenericServices = e3.phpGenericServices), null != e3.phpMetadataNamespace && e3.hasOwnProperty("phpMetadataNamespace") && (n4.phpMetadataNamespace = e3.phpMetadataNamespace), null != e3.rubyPackage && e3.hasOwnProperty("rubyPackage") && (n4.rubyPackage = e3.rubyPackage), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
if (e3[".google.api.resourceDefinition"] && e3[".google.api.resourceDefinition"].length) {
n4[".google.api.resourceDefinition"] = [];
for (o4 = 0; o4 < e3[".google.api.resourceDefinition"].length; ++o4) n4[".google.api.resourceDefinition"][o4] = l2.google.api.ResourceDescriptor.toObject(e3[".google.api.resourceDefinition"][o4], t3);
}
return n4;
}, S.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, S.OptimizeMode = (e2 = {}, (t2 = Object.create(e2))[e2[1] = "SPEED"] = 1, t2[e2[2] = "CODE_SIZE"] = 2, t2[e2[3] = "LITE_RUNTIME"] = 3, t2), S), n3.MessageOptions = (k.prototype.messageSetWireFormat = false, k.prototype.noStandardDescriptorAccessor = false, k.prototype.deprecated = false, k.prototype.mapEntry = false, k.prototype.uninterpretedOption = p.emptyArray, k.prototype[".google.api.resource"] = null, k.create = function(e3) {
return new k(e3);
}, k.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.messageSetWireFormat && Object.hasOwnProperty.call(e3, "messageSetWireFormat") && t3.uint32(8).bool(e3.messageSetWireFormat), null != e3.noStandardDescriptorAccessor && Object.hasOwnProperty.call(e3, "noStandardDescriptorAccessor") && t3.uint32(16).bool(e3.noStandardDescriptorAccessor), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.mapEntry && Object.hasOwnProperty.call(e3, "mapEntry") && t3.uint32(56).bool(e3.mapEntry), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return null != e3[".google.api.resource"] && Object.hasOwnProperty.call(e3, ".google.api.resource") && l2.google.api.ResourceDescriptor.encode(e3[".google.api.resource"], t3.uint32(8426).fork()).ldelim(), t3;
}, k.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, k.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.MessageOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.messageSetWireFormat = e3.bool();
break;
case 2:
o4.noStandardDescriptorAccessor = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 7:
o4.mapEntry = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 1053:
o4[".google.api.resource"] = l2.google.api.ResourceDescriptor.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, k.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, k.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.messageSetWireFormat && e3.hasOwnProperty("messageSetWireFormat") && "boolean" != typeof e3.messageSetWireFormat) return "messageSetWireFormat: boolean expected";
if (null != e3.noStandardDescriptorAccessor && e3.hasOwnProperty("noStandardDescriptorAccessor") && "boolean" != typeof e3.noStandardDescriptorAccessor) return "noStandardDescriptorAccessor: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.mapEntry && e3.hasOwnProperty("mapEntry") && "boolean" != typeof e3.mapEntry) return "mapEntry: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) if (n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3])) return "uninterpretedOption." + n4;
}
var n4;
if (null != e3[".google.api.resource"] && e3.hasOwnProperty(".google.api.resource") && (n4 = l2.google.api.ResourceDescriptor.verify(e3[".google.api.resource"]))) return ".google.api.resource." + n4;
return null;
}, k.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.MessageOptions) return e3;
var t3 = new l2.google.protobuf.MessageOptions();
if (null != e3.messageSetWireFormat && (t3.messageSetWireFormat = Boolean(e3.messageSetWireFormat)), null != e3.noStandardDescriptorAccessor && (t3.noStandardDescriptorAccessor = Boolean(e3.noStandardDescriptorAccessor)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.mapEntry && (t3.mapEntry = Boolean(e3.mapEntry)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
if (null != e3[".google.api.resource"]) {
if ("object" != typeof e3[".google.api.resource"]) throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected");
t3[".google.api.resource"] = l2.google.api.ResourceDescriptor.fromObject(e3[".google.api.resource"]);
}
return t3;
}, k.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.messageSetWireFormat = false, n4.noStandardDescriptorAccessor = false, n4.deprecated = false, n4.mapEntry = false, n4[".google.api.resource"] = null), null != e3.messageSetWireFormat && e3.hasOwnProperty("messageSetWireFormat") && (n4.messageSetWireFormat = e3.messageSetWireFormat), null != e3.noStandardDescriptorAccessor && e3.hasOwnProperty("noStandardDescriptorAccessor") && (n4.noStandardDescriptorAccessor = e3.noStandardDescriptorAccessor), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.mapEntry && e3.hasOwnProperty("mapEntry") && (n4.mapEntry = e3.mapEntry), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return null != e3[".google.api.resource"] && e3.hasOwnProperty(".google.api.resource") && (n4[".google.api.resource"] = l2.google.api.ResourceDescriptor.toObject(e3[".google.api.resource"], t3)), n4;
}, k.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, k), n3.FieldOptions = (T.prototype.ctype = 0, T.prototype.packed = false, T.prototype.jstype = 0, T.prototype.lazy = false, T.prototype.deprecated = false, T.prototype.weak = false, T.prototype.uninterpretedOption = p.emptyArray, T.prototype[".google.api.fieldBehavior"] = p.emptyArray, T.prototype[".google.api.resourceReference"] = null, T.create = function(e3) {
return new T(e3);
}, T.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.ctype && Object.hasOwnProperty.call(e3, "ctype") && t3.uint32(8).int32(e3.ctype), null != e3.packed && Object.hasOwnProperty.call(e3, "packed") && t3.uint32(16).bool(e3.packed), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.lazy && Object.hasOwnProperty.call(e3, "lazy") && t3.uint32(40).bool(e3.lazy), null != e3.jstype && Object.hasOwnProperty.call(e3, "jstype") && t3.uint32(48).int32(e3.jstype), null != e3.weak && Object.hasOwnProperty.call(e3, "weak") && t3.uint32(80).bool(e3.weak), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
if (null != e3[".google.api.fieldBehavior"] && e3[".google.api.fieldBehavior"].length) {
t3.uint32(8418).fork();
for (n4 = 0; n4 < e3[".google.api.fieldBehavior"].length; ++n4) t3.int32(e3[".google.api.fieldBehavior"][n4]);
t3.ldelim();
}
return null != e3[".google.api.resourceReference"] && Object.hasOwnProperty.call(e3, ".google.api.resourceReference") && l2.google.api.ResourceReference.encode(e3[".google.api.resourceReference"], t3.uint32(8442).fork()).ldelim(), t3;
}, T.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, T.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.FieldOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.ctype = e3.int32();
break;
case 2:
o4.packed = e3.bool();
break;
case 6:
o4.jstype = e3.int32();
break;
case 5:
o4.lazy = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 10:
o4.weak = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 1052:
if (o4[".google.api.fieldBehavior"] && o4[".google.api.fieldBehavior"].length || (o4[".google.api.fieldBehavior"] = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4[".google.api.fieldBehavior"].push(e3.int32());
else o4[".google.api.fieldBehavior"].push(e3.int32());
break;
case 1055:
o4[".google.api.resourceReference"] = l2.google.api.ResourceReference.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, T.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, T.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.ctype && e3.hasOwnProperty("ctype")) switch (e3.ctype) {
default:
return "ctype: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.packed && e3.hasOwnProperty("packed") && "boolean" != typeof e3.packed) return "packed: boolean expected";
if (null != e3.jstype && e3.hasOwnProperty("jstype")) switch (e3.jstype) {
default:
return "jstype: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.lazy && e3.hasOwnProperty("lazy") && "boolean" != typeof e3.lazy) return "lazy: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.weak && e3.hasOwnProperty("weak") && "boolean" != typeof e3.weak) return "weak: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) if (n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3])) return "uninterpretedOption." + n4;
}
if (null != e3[".google.api.fieldBehavior"] && e3.hasOwnProperty(".google.api.fieldBehavior")) {
if (!Array.isArray(e3[".google.api.fieldBehavior"])) return ".google.api.fieldBehavior: array expected";
for (t3 = 0; t3 < e3[".google.api.fieldBehavior"].length; ++t3) switch (e3[".google.api.fieldBehavior"][t3]) {
default:
return ".google.api.fieldBehavior: enum value[] expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
}
}
var n4;
if (null != e3[".google.api.resourceReference"] && e3.hasOwnProperty(".google.api.resourceReference") && (n4 = l2.google.api.ResourceReference.verify(e3[".google.api.resourceReference"]))) return ".google.api.resourceReference." + n4;
return null;
}, T.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.FieldOptions) return e3;
var t3 = new l2.google.protobuf.FieldOptions();
switch (e3.ctype) {
case "STRING":
case 0:
t3.ctype = 0;
break;
case "CORD":
case 1:
t3.ctype = 1;
break;
case "STRING_PIECE":
case 2:
t3.ctype = 2;
}
switch (null != e3.packed && (t3.packed = Boolean(e3.packed)), e3.jstype) {
case "JS_NORMAL":
case 0:
t3.jstype = 0;
break;
case "JS_STRING":
case 1:
t3.jstype = 1;
break;
case "JS_NUMBER":
case 2:
t3.jstype = 2;
}
if (null != e3.lazy && (t3.lazy = Boolean(e3.lazy)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.weak && (t3.weak = Boolean(e3.weak)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
if (e3[".google.api.fieldBehavior"]) {
if (!Array.isArray(e3[".google.api.fieldBehavior"])) throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected");
t3[".google.api.fieldBehavior"] = [];
for (n4 = 0; n4 < e3[".google.api.fieldBehavior"].length; ++n4) switch (e3[".google.api.fieldBehavior"][n4]) {
default:
case "FIELD_BEHAVIOR_UNSPECIFIED":
case 0:
t3[".google.api.fieldBehavior"][n4] = 0;
break;
case "OPTIONAL":
case 1:
t3[".google.api.fieldBehavior"][n4] = 1;
break;
case "REQUIRED":
case 2:
t3[".google.api.fieldBehavior"][n4] = 2;
break;
case "OUTPUT_ONLY":
case 3:
t3[".google.api.fieldBehavior"][n4] = 3;
break;
case "INPUT_ONLY":
case 4:
t3[".google.api.fieldBehavior"][n4] = 4;
break;
case "IMMUTABLE":
case 5:
t3[".google.api.fieldBehavior"][n4] = 5;
}
}
if (null != e3[".google.api.resourceReference"]) {
if ("object" != typeof e3[".google.api.resourceReference"]) throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected");
t3[".google.api.resourceReference"] = l2.google.api.ResourceReference.fromObject(e3[".google.api.resourceReference"]);
}
return t3;
}, T.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = [], n4[".google.api.fieldBehavior"] = []), t3.defaults && (n4.ctype = t3.enums === String ? "STRING" : 0, n4.packed = false, n4.deprecated = false, n4.lazy = false, n4.jstype = t3.enums === String ? "JS_NORMAL" : 0, n4.weak = false, n4[".google.api.resourceReference"] = null), null != e3.ctype && e3.hasOwnProperty("ctype") && (n4.ctype = t3.enums === String ? l2.google.protobuf.FieldOptions.CType[e3.ctype] : e3.ctype), null != e3.packed && e3.hasOwnProperty("packed") && (n4.packed = e3.packed), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.lazy && e3.hasOwnProperty("lazy") && (n4.lazy = e3.lazy), null != e3.jstype && e3.hasOwnProperty("jstype") && (n4.jstype = t3.enums === String ? l2.google.protobuf.FieldOptions.JSType[e3.jstype] : e3.jstype), null != e3.weak && e3.hasOwnProperty("weak") && (n4.weak = e3.weak), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
if (e3[".google.api.fieldBehavior"] && e3[".google.api.fieldBehavior"].length) {
n4[".google.api.fieldBehavior"] = [];
for (o4 = 0; o4 < e3[".google.api.fieldBehavior"].length; ++o4) n4[".google.api.fieldBehavior"][o4] = t3.enums === String ? l2.google.api.FieldBehavior[e3[".google.api.fieldBehavior"][o4]] : e3[".google.api.fieldBehavior"][o4];
}
return null != e3[".google.api.resourceReference"] && e3.hasOwnProperty(".google.api.resourceReference") && (n4[".google.api.resourceReference"] = l2.google.api.ResourceReference.toObject(e3[".google.api.resourceReference"], t3)), n4;
}, T.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, T.CType = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "STRING"] = 0, t2[e2[1] = "CORD"] = 1, t2[e2[2] = "STRING_PIECE"] = 2, t2), T.JSType = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "JS_NORMAL"] = 0, t2[e2[1] = "JS_STRING"] = 1, t2[e2[2] = "JS_NUMBER"] = 2, t2), T), n3.OneofOptions = (Q.prototype.uninterpretedOption = p.emptyArray, Q.create = function(e3) {
return new Q(e3);
}, Q.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, Q.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, Q.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.OneofOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 999 ? (o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, Q.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, Q.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, Q.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.OneofOptions) return e3;
var t3 = new l2.google.protobuf.OneofOptions();
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, Q.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, Q.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, Q), n3.EnumOptions = (E.prototype.allowAlias = false, E.prototype.deprecated = false, E.prototype.uninterpretedOption = p.emptyArray, E.create = function(e3) {
return new E(e3);
}, E.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.allowAlias && Object.hasOwnProperty.call(e3, "allowAlias") && t3.uint32(16).bool(e3.allowAlias), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, E.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, E.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.EnumOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 2:
o4.allowAlias = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, E.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, E.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.allowAlias && e3.hasOwnProperty("allowAlias") && "boolean" != typeof e3.allowAlias) return "allowAlias: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, E.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.EnumOptions) return e3;
var t3 = new l2.google.protobuf.EnumOptions();
if (null != e3.allowAlias && (t3.allowAlias = Boolean(e3.allowAlias)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, E.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.allowAlias = false, n4.deprecated = false), null != e3.allowAlias && e3.hasOwnProperty("allowAlias") && (n4.allowAlias = e3.allowAlias), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, E.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, E), n3.EnumValueOptions = (K.prototype.deprecated = false, K.prototype.uninterpretedOption = p.emptyArray, K.create = function(e3) {
return new K(e3);
}, K.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(8).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, K.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, K.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.EnumValueOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, K.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, K.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, K.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.EnumValueOptions) return e3;
var t3 = new l2.google.protobuf.EnumValueOptions();
if (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, K.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.deprecated = false), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, K.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, K), n3.ServiceOptions = (A.prototype.deprecated = false, A.prototype.uninterpretedOption = p.emptyArray, A.prototype[".google.api.defaultHost"] = "", A.prototype[".google.api.oauthScopes"] = "", A.create = function(e3) {
return new A(e3);
}, A.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(264).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return null != e3[".google.api.defaultHost"] && Object.hasOwnProperty.call(e3, ".google.api.defaultHost") && t3.uint32(8394).string(e3[".google.api.defaultHost"]), null != e3[".google.api.oauthScopes"] && Object.hasOwnProperty.call(e3, ".google.api.oauthScopes") && t3.uint32(8402).string(e3[".google.api.oauthScopes"]), t3;
}, A.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, A.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.ServiceOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 33:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 1049:
o4[".google.api.defaultHost"] = e3.string();
break;
case 1050:
o4[".google.api.oauthScopes"] = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, A.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, A.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null != e3[".google.api.defaultHost"] && e3.hasOwnProperty(".google.api.defaultHost") && !p.isString(e3[".google.api.defaultHost"]) ? ".google.api.defaultHost: string expected" : null != e3[".google.api.oauthScopes"] && e3.hasOwnProperty(".google.api.oauthScopes") && !p.isString(e3[".google.api.oauthScopes"]) ? ".google.api.oauthScopes: string expected" : null;
}, A.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.ServiceOptions) return e3;
var t3 = new l2.google.protobuf.ServiceOptions();
if (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return null != e3[".google.api.defaultHost"] && (t3[".google.api.defaultHost"] = String(e3[".google.api.defaultHost"])), null != e3[".google.api.oauthScopes"] && (t3[".google.api.oauthScopes"] = String(e3[".google.api.oauthScopes"])), t3;
}, A.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.deprecated = false, n4[".google.api.defaultHost"] = "", n4[".google.api.oauthScopes"] = ""), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return null != e3[".google.api.defaultHost"] && e3.hasOwnProperty(".google.api.defaultHost") && (n4[".google.api.defaultHost"] = e3[".google.api.defaultHost"]), null != e3[".google.api.oauthScopes"] && e3.hasOwnProperty(".google.api.oauthScopes") && (n4[".google.api.oauthScopes"] = e3[".google.api.oauthScopes"]), n4;
}, A.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, A), n3.MethodOptions = (N.prototype.deprecated = false, N.prototype.idempotencyLevel = 0, N.prototype.uninterpretedOption = p.emptyArray, N.prototype[".google.api.http"] = null, N.prototype[".google.api.methodSignature"] = p.emptyArray, N.create = function(e3) {
return new N(e3);
}, N.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(264).bool(e3.deprecated), null != e3.idempotencyLevel && Object.hasOwnProperty.call(e3, "idempotencyLevel") && t3.uint32(272).int32(e3.idempotencyLevel), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) l2.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
if (null != e3[".google.api.methodSignature"] && e3[".google.api.methodSignature"].length) for (n4 = 0; n4 < e3[".google.api.methodSignature"].length; ++n4) t3.uint32(8410).string(e3[".google.api.methodSignature"][n4]);
return null != e3[".google.api.http"] && Object.hasOwnProperty.call(e3, ".google.api.http") && l2.google.api.HttpRule.encode(e3[".google.api.http"], t3.uint32(578365826).fork()).ldelim(), t3;
}, N.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, N.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.MethodOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 33:
o4.deprecated = e3.bool();
break;
case 34:
o4.idempotencyLevel = e3.int32();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(l2.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 72295728:
o4[".google.api.http"] = l2.google.api.HttpRule.decode(e3, e3.uint32());
break;
case 1051:
o4[".google.api.methodSignature"] && o4[".google.api.methodSignature"].length || (o4[".google.api.methodSignature"] = []), o4[".google.api.methodSignature"].push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, N.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, N.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.idempotencyLevel && e3.hasOwnProperty("idempotencyLevel")) switch (e3.idempotencyLevel) {
default:
return "idempotencyLevel: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) if (n4 = l2.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3])) return "uninterpretedOption." + n4;
}
var n4;
if (null != e3[".google.api.http"] && e3.hasOwnProperty(".google.api.http") && (n4 = l2.google.api.HttpRule.verify(e3[".google.api.http"]))) return ".google.api.http." + n4;
if (null != e3[".google.api.methodSignature"] && e3.hasOwnProperty(".google.api.methodSignature")) {
if (!Array.isArray(e3[".google.api.methodSignature"])) return ".google.api.methodSignature: array expected";
for (t3 = 0; t3 < e3[".google.api.methodSignature"].length; ++t3) if (!p.isString(e3[".google.api.methodSignature"][t3])) return ".google.api.methodSignature: string[] expected";
}
return null;
}, N.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.MethodOptions) return e3;
var t3 = new l2.google.protobuf.MethodOptions();
switch (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.idempotencyLevel) {
case "IDEMPOTENCY_UNKNOWN":
case 0:
t3.idempotencyLevel = 0;
break;
case "NO_SIDE_EFFECTS":
case 1:
t3.idempotencyLevel = 1;
break;
case "IDEMPOTENT":
case 2:
t3.idempotencyLevel = 2;
}
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = l2.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
if (null != e3[".google.api.http"]) {
if ("object" != typeof e3[".google.api.http"]) throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");
t3[".google.api.http"] = l2.google.api.HttpRule.fromObject(e3[".google.api.http"]);
}
if (e3[".google.api.methodSignature"]) {
if (!Array.isArray(e3[".google.api.methodSignature"])) throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected");
t3[".google.api.methodSignature"] = [];
for (n4 = 0; n4 < e3[".google.api.methodSignature"].length; ++n4) t3[".google.api.methodSignature"][n4] = String(e3[".google.api.methodSignature"][n4]);
}
return t3;
}, N.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = [], n4[".google.api.methodSignature"] = []), t3.defaults && (n4.deprecated = false, n4.idempotencyLevel = t3.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0, n4[".google.api.http"] = null), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.idempotencyLevel && e3.hasOwnProperty("idempotencyLevel") && (n4.idempotencyLevel = t3.enums === String ? l2.google.protobuf.MethodOptions.IdempotencyLevel[e3.idempotencyLevel] : e3.idempotencyLevel), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = l2.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
if (e3[".google.api.methodSignature"] && e3[".google.api.methodSignature"].length) {
n4[".google.api.methodSignature"] = [];
for (o4 = 0; o4 < e3[".google.api.methodSignature"].length; ++o4) n4[".google.api.methodSignature"][o4] = e3[".google.api.methodSignature"][o4];
}
return null != e3[".google.api.http"] && e3.hasOwnProperty(".google.api.http") && (n4[".google.api.http"] = l2.google.api.HttpRule.toObject(e3[".google.api.http"], t3)), n4;
}, N.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, N.IdempotencyLevel = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "IDEMPOTENCY_UNKNOWN"] = 0, t2[e2[1] = "NO_SIDE_EFFECTS"] = 1, t2[e2[2] = "IDEMPOTENT"] = 2, t2), N), n3.UninterpretedOption = (R.prototype.name = p.emptyArray, R.prototype.identifierValue = "", R.prototype.positiveIntValue = p.Long ? p.Long.fromBits(0, 0, true) : 0, R.prototype.negativeIntValue = p.Long ? p.Long.fromBits(0, 0, false) : 0, R.prototype.doubleValue = 0, R.prototype.stringValue = p.newBuffer([]), R.prototype.aggregateValue = "", R.create = function(e3) {
return new R(e3);
}, R.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.name && e3.name.length) for (var n4 = 0; n4 < e3.name.length; ++n4) l2.google.protobuf.UninterpretedOption.NamePart.encode(e3.name[n4], t3.uint32(18).fork()).ldelim();
return null != e3.identifierValue && Object.hasOwnProperty.call(e3, "identifierValue") && t3.uint32(26).string(e3.identifierValue), null != e3.positiveIntValue && Object.hasOwnProperty.call(e3, "positiveIntValue") && t3.uint32(32).uint64(e3.positiveIntValue), null != e3.negativeIntValue && Object.hasOwnProperty.call(e3, "negativeIntValue") && t3.uint32(40).int64(e3.negativeIntValue), null != e3.doubleValue && Object.hasOwnProperty.call(e3, "doubleValue") && t3.uint32(49).double(e3.doubleValue), null != e3.stringValue && Object.hasOwnProperty.call(e3, "stringValue") && t3.uint32(58).bytes(e3.stringValue), null != e3.aggregateValue && Object.hasOwnProperty.call(e3, "aggregateValue") && t3.uint32(66).string(e3.aggregateValue), t3;
}, R.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, R.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.UninterpretedOption(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 2:
o4.name && o4.name.length || (o4.name = []), o4.name.push(l2.google.protobuf.UninterpretedOption.NamePart.decode(e3, e3.uint32()));
break;
case 3:
o4.identifierValue = e3.string();
break;
case 4:
o4.positiveIntValue = e3.uint64();
break;
case 5:
o4.negativeIntValue = e3.int64();
break;
case 6:
o4.doubleValue = e3.double();
break;
case 7:
o4.stringValue = e3.bytes();
break;
case 8:
o4.aggregateValue = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, R.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, R.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name")) {
if (!Array.isArray(e3.name)) return "name: array expected";
for (var t3 = 0; t3 < e3.name.length; ++t3) {
var n4 = l2.google.protobuf.UninterpretedOption.NamePart.verify(e3.name[t3]);
if (n4) return "name." + n4;
}
}
return null != e3.identifierValue && e3.hasOwnProperty("identifierValue") && !p.isString(e3.identifierValue) ? "identifierValue: string expected" : null != e3.positiveIntValue && e3.hasOwnProperty("positiveIntValue") && !(p.isInteger(e3.positiveIntValue) || e3.positiveIntValue && p.isInteger(e3.positiveIntValue.low) && p.isInteger(e3.positiveIntValue.high)) ? "positiveIntValue: integer|Long expected" : null != e3.negativeIntValue && e3.hasOwnProperty("negativeIntValue") && !(p.isInteger(e3.negativeIntValue) || e3.negativeIntValue && p.isInteger(e3.negativeIntValue.low) && p.isInteger(e3.negativeIntValue.high)) ? "negativeIntValue: integer|Long expected" : null != e3.doubleValue && e3.hasOwnProperty("doubleValue") && "number" != typeof e3.doubleValue ? "doubleValue: number expected" : null != e3.stringValue && e3.hasOwnProperty("stringValue") && !(e3.stringValue && "number" == typeof e3.stringValue.length || p.isString(e3.stringValue)) ? "stringValue: buffer expected" : null != e3.aggregateValue && e3.hasOwnProperty("aggregateValue") && !p.isString(e3.aggregateValue) ? "aggregateValue: string expected" : null;
}, R.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.UninterpretedOption) return e3;
var t3 = new l2.google.protobuf.UninterpretedOption();
if (e3.name) {
if (!Array.isArray(e3.name)) throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");
t3.name = [];
for (var n4 = 0; n4 < e3.name.length; ++n4) {
if ("object" != typeof e3.name[n4]) throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");
t3.name[n4] = l2.google.protobuf.UninterpretedOption.NamePart.fromObject(e3.name[n4]);
}
}
return null != e3.identifierValue && (t3.identifierValue = String(e3.identifierValue)), null != e3.positiveIntValue && (p.Long ? (t3.positiveIntValue = p.Long.fromValue(e3.positiveIntValue)).unsigned = true : "string" == typeof e3.positiveIntValue ? t3.positiveIntValue = parseInt(e3.positiveIntValue, 10) : "number" == typeof e3.positiveIntValue ? t3.positiveIntValue = e3.positiveIntValue : "object" == typeof e3.positiveIntValue && (t3.positiveIntValue = new p.LongBits(e3.positiveIntValue.low >>> 0, e3.positiveIntValue.high >>> 0).toNumber(true))), null != e3.negativeIntValue && (p.Long ? (t3.negativeIntValue = p.Long.fromValue(e3.negativeIntValue)).unsigned = false : "string" == typeof e3.negativeIntValue ? t3.negativeIntValue = parseInt(e3.negativeIntValue, 10) : "number" == typeof e3.negativeIntValue ? t3.negativeIntValue = e3.negativeIntValue : "object" == typeof e3.negativeIntValue && (t3.negativeIntValue = new p.LongBits(e3.negativeIntValue.low >>> 0, e3.negativeIntValue.high >>> 0).toNumber())), null != e3.doubleValue && (t3.doubleValue = Number(e3.doubleValue)), null != e3.stringValue && ("string" == typeof e3.stringValue ? p.base64.decode(e3.stringValue, t3.stringValue = p.newBuffer(p.base64.length(e3.stringValue)), 0) : e3.stringValue.length && (t3.stringValue = e3.stringValue)), null != e3.aggregateValue && (t3.aggregateValue = String(e3.aggregateValue)), t3;
}, R.toObject = function(e3, t3) {
var n4, o4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (o4.name = []), t3.defaults && (o4.identifierValue = "", p.Long ? (n4 = new p.Long(0, 0, true), o4.positiveIntValue = t3.longs === String ? n4.toString() : t3.longs === Number ? n4.toNumber() : n4) : o4.positiveIntValue = t3.longs === String ? "0" : 0, p.Long ? (n4 = new p.Long(0, 0, false), o4.negativeIntValue = t3.longs === String ? n4.toString() : t3.longs === Number ? n4.toNumber() : n4) : o4.negativeIntValue = t3.longs === String ? "0" : 0, o4.doubleValue = 0, t3.bytes === String ? o4.stringValue = "" : (o4.stringValue = [], t3.bytes !== Array && (o4.stringValue = p.newBuffer(o4.stringValue))), o4.aggregateValue = ""), e3.name && e3.name.length) {
o4.name = [];
for (var r3 = 0; r3 < e3.name.length; ++r3) o4.name[r3] = l2.google.protobuf.UninterpretedOption.NamePart.toObject(e3.name[r3], t3);
}
return null != e3.identifierValue && e3.hasOwnProperty("identifierValue") && (o4.identifierValue = e3.identifierValue), null != e3.positiveIntValue && e3.hasOwnProperty("positiveIntValue") && ("number" == typeof e3.positiveIntValue ? o4.positiveIntValue = t3.longs === String ? String(e3.positiveIntValue) : e3.positiveIntValue : o4.positiveIntValue = t3.longs === String ? p.Long.prototype.toString.call(e3.positiveIntValue) : t3.longs === Number ? new p.LongBits(e3.positiveIntValue.low >>> 0, e3.positiveIntValue.high >>> 0).toNumber(true) : e3.positiveIntValue), null != e3.negativeIntValue && e3.hasOwnProperty("negativeIntValue") && ("number" == typeof e3.negativeIntValue ? o4.negativeIntValue = t3.longs === String ? String(e3.negativeIntValue) : e3.negativeIntValue : o4.negativeIntValue = t3.longs === String ? p.Long.prototype.toString.call(e3.negativeIntValue) : t3.longs === Number ? new p.LongBits(e3.negativeIntValue.low >>> 0, e3.negativeIntValue.high >>> 0).toNumber() : e3.negativeIntValue), null != e3.doubleValue && e3.hasOwnProperty("doubleValue") && (o4.doubleValue = t3.json && !isFinite(e3.doubleValue) ? String(e3.doubleValue) : e3.doubleValue), null != e3.stringValue && e3.hasOwnProperty("stringValue") && (o4.stringValue = t3.bytes === String ? p.base64.encode(e3.stringValue, 0, e3.stringValue.length) : t3.bytes === Array ? Array.prototype.slice.call(e3.stringValue) : e3.stringValue), null != e3.aggregateValue && e3.hasOwnProperty("aggregateValue") && (o4.aggregateValue = e3.aggregateValue), o4;
}, R.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, R.NamePart = (Z.prototype.namePart = "", Z.prototype.isExtension = false, Z.create = function(e3) {
return new Z(e3);
}, Z.encode = function(e3, t3) {
return (t3 = t3 || i3.create()).uint32(10).string(e3.namePart), t3.uint32(16).bool(e3.isExtension), t3;
}, Z.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, Z.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.UninterpretedOption.NamePart(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.namePart = e3.string();
break;
case 2:
o4.isExtension = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
if (!o4.hasOwnProperty("namePart")) throw p.ProtocolError("missing required 'namePart'", { instance: o4 });
if (o4.hasOwnProperty("isExtension")) return o4;
throw p.ProtocolError("missing required 'isExtension'", { instance: o4 });
}, Z.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, Z.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : p.isString(e3.namePart) ? "boolean" != typeof e3.isExtension ? "isExtension: boolean expected" : null : "namePart: string expected";
}, Z.fromObject = function(e3) {
var t3;
return e3 instanceof l2.google.protobuf.UninterpretedOption.NamePart ? e3 : (t3 = new l2.google.protobuf.UninterpretedOption.NamePart(), null != e3.namePart && (t3.namePart = String(e3.namePart)), null != e3.isExtension && (t3.isExtension = Boolean(e3.isExtension)), t3);
}, Z.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.namePart = "", n4.isExtension = false), null != e3.namePart && e3.hasOwnProperty("namePart") && (n4.namePart = e3.namePart), null != e3.isExtension && e3.hasOwnProperty("isExtension") && (n4.isExtension = e3.isExtension), n4;
}, Z.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, Z), R), n3.SourceCodeInfo = ($2.prototype.location = p.emptyArray, $2.create = function(e3) {
return new $2(e3);
}, $2.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.location && e3.location.length) for (var n4 = 0; n4 < e3.location.length; ++n4) l2.google.protobuf.SourceCodeInfo.Location.encode(e3.location[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, $2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, $2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.SourceCodeInfo(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.location && o4.location.length || (o4.location = []), o4.location.push(l2.google.protobuf.SourceCodeInfo.Location.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, $2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, $2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.location && e3.hasOwnProperty("location")) {
if (!Array.isArray(e3.location)) return "location: array expected";
for (var t3 = 0; t3 < e3.location.length; ++t3) {
var n4 = l2.google.protobuf.SourceCodeInfo.Location.verify(e3.location[t3]);
if (n4) return "location." + n4;
}
}
return null;
}, $2.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.SourceCodeInfo) return e3;
var t3 = new l2.google.protobuf.SourceCodeInfo();
if (e3.location) {
if (!Array.isArray(e3.location)) throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected");
t3.location = [];
for (var n4 = 0; n4 < e3.location.length; ++n4) {
if ("object" != typeof e3.location[n4]) throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected");
t3.location[n4] = l2.google.protobuf.SourceCodeInfo.Location.fromObject(e3.location[n4]);
}
}
return t3;
}, $2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.location = []), e3.location && e3.location.length) {
n4.location = [];
for (var o4 = 0; o4 < e3.location.length; ++o4) n4.location[o4] = l2.google.protobuf.SourceCodeInfo.Location.toObject(e3.location[o4], t3);
}
return n4;
}, $2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, $2.Location = (I2.prototype.path = p.emptyArray, I2.prototype.span = p.emptyArray, I2.prototype.leadingComments = "", I2.prototype.trailingComments = "", I2.prototype.leadingDetachedComments = p.emptyArray, I2.create = function(e3) {
return new I2(e3);
}, I2.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.path && e3.path.length) {
t3.uint32(10).fork();
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.int32(e3.path[n4]);
t3.ldelim();
}
if (null != e3.span && e3.span.length) {
t3.uint32(18).fork();
for (n4 = 0; n4 < e3.span.length; ++n4) t3.int32(e3.span[n4]);
t3.ldelim();
}
if (null != e3.leadingComments && Object.hasOwnProperty.call(e3, "leadingComments") && t3.uint32(26).string(e3.leadingComments), null != e3.trailingComments && Object.hasOwnProperty.call(e3, "trailingComments") && t3.uint32(34).string(e3.trailingComments), null != e3.leadingDetachedComments && e3.leadingDetachedComments.length) for (n4 = 0; n4 < e3.leadingDetachedComments.length; ++n4) t3.uint32(50).string(e3.leadingDetachedComments[n4]);
return t3;
}, I2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, I2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.SourceCodeInfo.Location(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
if (o4.path && o4.path.length || (o4.path = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.path.push(e3.int32());
else o4.path.push(e3.int32());
break;
case 2:
if (o4.span && o4.span.length || (o4.span = []), 2 == (7 & r3)) for (i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.span.push(e3.int32());
else o4.span.push(e3.int32());
break;
case 3:
o4.leadingComments = e3.string();
break;
case 4:
o4.trailingComments = e3.string();
break;
case 6:
o4.leadingDetachedComments && o4.leadingDetachedComments.length || (o4.leadingDetachedComments = []), o4.leadingDetachedComments.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, I2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, I2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.path && e3.hasOwnProperty("path")) {
if (!Array.isArray(e3.path)) return "path: array expected";
for (var t3 = 0; t3 < e3.path.length; ++t3) if (!p.isInteger(e3.path[t3])) return "path: integer[] expected";
}
if (null != e3.span && e3.hasOwnProperty("span")) {
if (!Array.isArray(e3.span)) return "span: array expected";
for (t3 = 0; t3 < e3.span.length; ++t3) if (!p.isInteger(e3.span[t3])) return "span: integer[] expected";
}
if (null != e3.leadingComments && e3.hasOwnProperty("leadingComments") && !p.isString(e3.leadingComments)) return "leadingComments: string expected";
if (null != e3.trailingComments && e3.hasOwnProperty("trailingComments") && !p.isString(e3.trailingComments)) return "trailingComments: string expected";
if (null != e3.leadingDetachedComments && e3.hasOwnProperty("leadingDetachedComments")) {
if (!Array.isArray(e3.leadingDetachedComments)) return "leadingDetachedComments: array expected";
for (t3 = 0; t3 < e3.leadingDetachedComments.length; ++t3) if (!p.isString(e3.leadingDetachedComments[t3])) return "leadingDetachedComments: string[] expected";
}
return null;
}, I2.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.SourceCodeInfo.Location) return e3;
var t3 = new l2.google.protobuf.SourceCodeInfo.Location();
if (e3.path) {
if (!Array.isArray(e3.path)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected");
t3.path = [];
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.path[n4] = 0 | e3.path[n4];
}
if (e3.span) {
if (!Array.isArray(e3.span)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected");
t3.span = [];
for (n4 = 0; n4 < e3.span.length; ++n4) t3.span[n4] = 0 | e3.span[n4];
}
if (null != e3.leadingComments && (t3.leadingComments = String(e3.leadingComments)), null != e3.trailingComments && (t3.trailingComments = String(e3.trailingComments)), e3.leadingDetachedComments) {
if (!Array.isArray(e3.leadingDetachedComments)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected");
t3.leadingDetachedComments = [];
for (n4 = 0; n4 < e3.leadingDetachedComments.length; ++n4) t3.leadingDetachedComments[n4] = String(e3.leadingDetachedComments[n4]);
}
return t3;
}, I2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.path = [], n4.span = [], n4.leadingDetachedComments = []), t3.defaults && (n4.leadingComments = "", n4.trailingComments = ""), e3.path && e3.path.length) {
n4.path = [];
for (var o4 = 0; o4 < e3.path.length; ++o4) n4.path[o4] = e3.path[o4];
}
if (e3.span && e3.span.length) {
n4.span = [];
for (o4 = 0; o4 < e3.span.length; ++o4) n4.span[o4] = e3.span[o4];
}
if (null != e3.leadingComments && e3.hasOwnProperty("leadingComments") && (n4.leadingComments = e3.leadingComments), null != e3.trailingComments && e3.hasOwnProperty("trailingComments") && (n4.trailingComments = e3.trailingComments), e3.leadingDetachedComments && e3.leadingDetachedComments.length) {
n4.leadingDetachedComments = [];
for (o4 = 0; o4 < e3.leadingDetachedComments.length; ++o4) n4.leadingDetachedComments[o4] = e3.leadingDetachedComments[o4];
}
return n4;
}, I2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, I2), $2), n3.GeneratedCodeInfo = (ee.prototype.annotation = p.emptyArray, ee.create = function(e3) {
return new ee(e3);
}, ee.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.annotation && e3.annotation.length) for (var n4 = 0; n4 < e3.annotation.length; ++n4) l2.google.protobuf.GeneratedCodeInfo.Annotation.encode(e3.annotation[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, ee.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, ee.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.GeneratedCodeInfo(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.annotation && o4.annotation.length || (o4.annotation = []), o4.annotation.push(l2.google.protobuf.GeneratedCodeInfo.Annotation.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, ee.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, ee.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.annotation && e3.hasOwnProperty("annotation")) {
if (!Array.isArray(e3.annotation)) return "annotation: array expected";
for (var t3 = 0; t3 < e3.annotation.length; ++t3) {
var n4 = l2.google.protobuf.GeneratedCodeInfo.Annotation.verify(e3.annotation[t3]);
if (n4) return "annotation." + n4;
}
}
return null;
}, ee.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.GeneratedCodeInfo) return e3;
var t3 = new l2.google.protobuf.GeneratedCodeInfo();
if (e3.annotation) {
if (!Array.isArray(e3.annotation)) throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected");
t3.annotation = [];
for (var n4 = 0; n4 < e3.annotation.length; ++n4) {
if ("object" != typeof e3.annotation[n4]) throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected");
t3.annotation[n4] = l2.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(e3.annotation[n4]);
}
}
return t3;
}, ee.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.annotation = []), e3.annotation && e3.annotation.length) {
n4.annotation = [];
for (var o4 = 0; o4 < e3.annotation.length; ++o4) n4.annotation[o4] = l2.google.protobuf.GeneratedCodeInfo.Annotation.toObject(e3.annotation[o4], t3);
}
return n4;
}, ee.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, ee.Annotation = (C2.prototype.path = p.emptyArray, C2.prototype.sourceFile = "", C2.prototype.begin = 0, C2.prototype.end = 0, C2.create = function(e3) {
return new C2(e3);
}, C2.encode = function(e3, t3) {
if (t3 = t3 || i3.create(), null != e3.path && e3.path.length) {
t3.uint32(10).fork();
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.int32(e3.path[n4]);
t3.ldelim();
}
return null != e3.sourceFile && Object.hasOwnProperty.call(e3, "sourceFile") && t3.uint32(18).string(e3.sourceFile), null != e3.begin && Object.hasOwnProperty.call(e3, "begin") && t3.uint32(24).int32(e3.begin), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(32).int32(e3.end), t3;
}, C2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, C2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.protobuf.GeneratedCodeInfo.Annotation(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
if (o4.path && o4.path.length || (o4.path = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.path.push(e3.int32());
else o4.path.push(e3.int32());
break;
case 2:
o4.sourceFile = e3.string();
break;
case 3:
o4.begin = e3.int32();
break;
case 4:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, C2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, C2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.path && e3.hasOwnProperty("path")) {
if (!Array.isArray(e3.path)) return "path: array expected";
for (var t3 = 0; t3 < e3.path.length; ++t3) if (!p.isInteger(e3.path[t3])) return "path: integer[] expected";
}
return null != e3.sourceFile && e3.hasOwnProperty("sourceFile") && !p.isString(e3.sourceFile) ? "sourceFile: string expected" : null != e3.begin && e3.hasOwnProperty("begin") && !p.isInteger(e3.begin) ? "begin: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !p.isInteger(e3.end) ? "end: integer expected" : null;
}, C2.fromObject = function(e3) {
if (e3 instanceof l2.google.protobuf.GeneratedCodeInfo.Annotation) return e3;
var t3 = new l2.google.protobuf.GeneratedCodeInfo.Annotation();
if (e3.path) {
if (!Array.isArray(e3.path)) throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected");
t3.path = [];
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.path[n4] = 0 | e3.path[n4];
}
return null != e3.sourceFile && (t3.sourceFile = String(e3.sourceFile)), null != e3.begin && (t3.begin = 0 | e3.begin), null != e3.end && (t3.end = 0 | e3.end), t3;
}, C2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.path = []), t3.defaults && (n4.sourceFile = "", n4.begin = 0, n4.end = 0), e3.path && e3.path.length) {
n4.path = [];
for (var o4 = 0; o4 < e3.path.length; ++o4) n4.path[o4] = e3.path[o4];
}
return null != e3.sourceFile && e3.hasOwnProperty("sourceFile") && (n4.sourceFile = e3.sourceFile), null != e3.begin && e3.hasOwnProperty("begin") && (n4.begin = e3.begin), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, C2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, C2), ee), n3), F.type = ((r2 = {}).Expr = (V2.prototype.expression = "", V2.prototype.title = "", V2.prototype.description = "", V2.prototype.location = "", V2.create = function(e3) {
return new V2(e3);
}, V2.encode = function(e3, t3) {
return t3 = t3 || i3.create(), null != e3.expression && Object.hasOwnProperty.call(e3, "expression") && t3.uint32(10).string(e3.expression), null != e3.title && Object.hasOwnProperty.call(e3, "title") && t3.uint32(18).string(e3.title), null != e3.description && Object.hasOwnProperty.call(e3, "description") && t3.uint32(26).string(e3.description), null != e3.location && Object.hasOwnProperty.call(e3, "location") && t3.uint32(34).string(e3.location), t3;
}, V2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, V2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new l2.google.type.Expr(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.expression = e3.string();
break;
case 2:
o4.title = e3.string();
break;
case 3:
o4.description = e3.string();
break;
case 4:
o4.location = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, V2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, V2.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.expression && e3.hasOwnProperty("expression") && !p.isString(e3.expression) ? "expression: string expected" : null != e3.title && e3.hasOwnProperty("title") && !p.isString(e3.title) ? "title: string expected" : null != e3.description && e3.hasOwnProperty("description") && !p.isString(e3.description) ? "description: string expected" : null != e3.location && e3.hasOwnProperty("location") && !p.isString(e3.location) ? "location: string expected" : null;
}, V2.fromObject = function(e3) {
var t3;
return e3 instanceof l2.google.type.Expr ? e3 : (t3 = new l2.google.type.Expr(), null != e3.expression && (t3.expression = String(e3.expression)), null != e3.title && (t3.title = String(e3.title)), null != e3.description && (t3.description = String(e3.description)), null != e3.location && (t3.location = String(e3.location)), t3);
}, V2.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.expression = "", n4.title = "", n4.description = "", n4.location = ""), null != e3.expression && e3.hasOwnProperty("expression") && (n4.expression = e3.expression), null != e3.title && e3.hasOwnProperty("title") && (n4.title = e3.title), null != e3.description && e3.hasOwnProperty("description") && (n4.description = e3.description), null != e3.location && e3.hasOwnProperty("location") && (n4.location = e3.location), n4;
}, V2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, V2), r2), F), l2;
});
}
});
// node_modules/google-gax/build/protos/locations.js
var require_locations = __commonJS({
"node_modules/google-gax/build/protos/locations.js"(exports2, module2) {
((e2) => {
"function" == typeof define && define.amd ? define(["protobufjs/minimal"], e2) : "function" == typeof __require && "object" == typeof module2 && module2 && module2.exports && (module2.exports = e2(require_minimal4()));
})(function(o3) {
var e2, t2, n3, F, s2 = o3.Reader, r2 = o3.Writer, u2 = o3.util, c4 = o3.roots.locations_protos || (o3.roots.locations_protos = {});
function L(e3, t3, n4) {
o3.rpc.Service.call(this, e3, t3, n4);
}
function i3(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function a2(e3) {
if (this.locations = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function G(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function p(e3) {
if (this.labels = {}, e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function l2(e3) {
if (this.rules = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function d(e3) {
if (this.additionalBindings = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function g(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function B(e3) {
if (this.file = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function f(e3) {
if (this.dependency = [], this.publicDependency = [], this.weakDependency = [], this.messageType = [], this.enumType = [], this.service = [], this.extension = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function y(e3) {
if (this.field = [], this.extension = [], this.nestedType = [], this.enumType = [], this.extensionRange = [], this.oneofDecl = [], this.reservedRange = [], this.reservedName = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function h2(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function b(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function U(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function O(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function m(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function v(e3) {
if (this.value = [], this.reservedRange = [], this.reservedName = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function P(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function w(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function j(e3) {
if (this.method = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function x(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function S(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function k(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function D(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function M(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function T(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function E(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function A(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function N(e3) {
if (this.uninterpretedOption = [], this[".google.api.methodSignature"] = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function I2(e3) {
if (this.name = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function R(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function _(e3) {
if (this.location = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function C2(e3) {
if (this.path = [], this.span = [], this.leadingDetachedComments = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function J(e3) {
if (this.annotation = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function V2(e3) {
if (this.path = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function H(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
return c4.google = ((F = {}).cloud = ((n3 = {}).location = ((e2 = {}).Locations = (((L.prototype = Object.create(o3.rpc.Service.prototype)).constructor = L).create = function(e3, t3, n4) {
return new this(e3, t3, n4);
}, Object.defineProperty(L.prototype.listLocations = function e3(t3, n4) {
return this.rpcCall(e3, c4.google.cloud.location.ListLocationsRequest, c4.google.cloud.location.ListLocationsResponse, t3, n4);
}, "name", { value: "ListLocations" }), Object.defineProperty(L.prototype.getLocation = function e3(t3, n4) {
return this.rpcCall(e3, c4.google.cloud.location.GetLocationRequest, c4.google.cloud.location.Location, t3, n4);
}, "name", { value: "GetLocation" }), L), e2.ListLocationsRequest = (i3.prototype.name = "", i3.prototype.filter = "", i3.prototype.pageSize = 0, i3.prototype.pageToken = "", i3.create = function(e3) {
return new i3(e3);
}, i3.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.filter && Object.hasOwnProperty.call(e3, "filter") && t3.uint32(18).string(e3.filter), null != e3.pageSize && Object.hasOwnProperty.call(e3, "pageSize") && t3.uint32(24).int32(e3.pageSize), null != e3.pageToken && Object.hasOwnProperty.call(e3, "pageToken") && t3.uint32(34).string(e3.pageToken), t3;
}, i3.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, i3.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.cloud.location.ListLocationsRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.filter = e3.string();
break;
case 3:
o4.pageSize = e3.int32();
break;
case 4:
o4.pageToken = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, i3.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, i3.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name) ? "name: string expected" : null != e3.filter && e3.hasOwnProperty("filter") && !u2.isString(e3.filter) ? "filter: string expected" : null != e3.pageSize && e3.hasOwnProperty("pageSize") && !u2.isInteger(e3.pageSize) ? "pageSize: integer expected" : null != e3.pageToken && e3.hasOwnProperty("pageToken") && !u2.isString(e3.pageToken) ? "pageToken: string expected" : null;
}, i3.fromObject = function(e3) {
var t3;
return e3 instanceof c4.google.cloud.location.ListLocationsRequest ? e3 : (t3 = new c4.google.cloud.location.ListLocationsRequest(), null != e3.name && (t3.name = String(e3.name)), null != e3.filter && (t3.filter = String(e3.filter)), null != e3.pageSize && (t3.pageSize = 0 | e3.pageSize), null != e3.pageToken && (t3.pageToken = String(e3.pageToken)), t3);
}, i3.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.filter = "", n4.pageSize = 0, n4.pageToken = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.filter && e3.hasOwnProperty("filter") && (n4.filter = e3.filter), null != e3.pageSize && e3.hasOwnProperty("pageSize") && (n4.pageSize = e3.pageSize), null != e3.pageToken && e3.hasOwnProperty("pageToken") && (n4.pageToken = e3.pageToken), n4;
}, i3.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, i3), e2.ListLocationsResponse = (a2.prototype.locations = u2.emptyArray, a2.prototype.nextPageToken = "", a2.create = function(e3) {
return new a2(e3);
}, a2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.locations && e3.locations.length) for (var n4 = 0; n4 < e3.locations.length; ++n4) c4.google.cloud.location.Location.encode(e3.locations[n4], t3.uint32(10).fork()).ldelim();
return null != e3.nextPageToken && Object.hasOwnProperty.call(e3, "nextPageToken") && t3.uint32(18).string(e3.nextPageToken), t3;
}, a2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, a2.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.cloud.location.ListLocationsResponse(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.locations && o4.locations.length || (o4.locations = []), o4.locations.push(c4.google.cloud.location.Location.decode(e3, e3.uint32()));
break;
case 2:
o4.nextPageToken = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, a2.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, a2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.locations && e3.hasOwnProperty("locations")) {
if (!Array.isArray(e3.locations)) return "locations: array expected";
for (var t3 = 0; t3 < e3.locations.length; ++t3) {
var n4 = c4.google.cloud.location.Location.verify(e3.locations[t3]);
if (n4) return "locations." + n4;
}
}
return null != e3.nextPageToken && e3.hasOwnProperty("nextPageToken") && !u2.isString(e3.nextPageToken) ? "nextPageToken: string expected" : null;
}, a2.fromObject = function(e3) {
if (e3 instanceof c4.google.cloud.location.ListLocationsResponse) return e3;
var t3 = new c4.google.cloud.location.ListLocationsResponse();
if (e3.locations) {
if (!Array.isArray(e3.locations)) throw TypeError(".google.cloud.location.ListLocationsResponse.locations: array expected");
t3.locations = [];
for (var n4 = 0; n4 < e3.locations.length; ++n4) {
if ("object" != typeof e3.locations[n4]) throw TypeError(".google.cloud.location.ListLocationsResponse.locations: object expected");
t3.locations[n4] = c4.google.cloud.location.Location.fromObject(e3.locations[n4]);
}
}
return null != e3.nextPageToken && (t3.nextPageToken = String(e3.nextPageToken)), t3;
}, a2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.locations = []), t3.defaults && (n4.nextPageToken = ""), e3.locations && e3.locations.length) {
n4.locations = [];
for (var o4 = 0; o4 < e3.locations.length; ++o4) n4.locations[o4] = c4.google.cloud.location.Location.toObject(e3.locations[o4], t3);
}
return null != e3.nextPageToken && e3.hasOwnProperty("nextPageToken") && (n4.nextPageToken = e3.nextPageToken), n4;
}, a2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, a2), e2.GetLocationRequest = (G.prototype.name = "", G.create = function(e3) {
return new G(e3);
}, G.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), t3;
}, G.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, G.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.cloud.location.GetLocationRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? o4.name = e3.string() : e3.skipType(7 & r3);
}
return o4;
}, G.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, G.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name) ? "name: string expected" : null;
}, G.fromObject = function(e3) {
var t3;
return e3 instanceof c4.google.cloud.location.GetLocationRequest ? e3 : (t3 = new c4.google.cloud.location.GetLocationRequest(), null != e3.name && (t3.name = String(e3.name)), t3);
}, G.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), n4;
}, G.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, G), e2.Location = (p.prototype.name = "", p.prototype.locationId = "", p.prototype.displayName = "", p.prototype.labels = u2.emptyObject, p.prototype.metadata = null, p.create = function(e3) {
return new p(e3);
}, p.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.labels && Object.hasOwnProperty.call(e3, "labels")) for (var n4 = Object.keys(e3.labels), o4 = 0; o4 < n4.length; ++o4) t3.uint32(18).fork().uint32(10).string(n4[o4]).uint32(18).string(e3.labels[n4[o4]]).ldelim();
return null != e3.metadata && Object.hasOwnProperty.call(e3, "metadata") && c4.google.protobuf.Any.encode(e3.metadata, t3.uint32(26).fork()).ldelim(), null != e3.locationId && Object.hasOwnProperty.call(e3, "locationId") && t3.uint32(34).string(e3.locationId), null != e3.displayName && Object.hasOwnProperty.call(e3, "displayName") && t3.uint32(42).string(e3.displayName), t3;
}, p.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, p.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.cloud.location.Location(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 4:
o4.locationId = e3.string();
break;
case 5:
o4.displayName = e3.string();
break;
case 2:
o4.labels === u2.emptyObject && (o4.labels = {});
for (var i4 = e3.uint32() + e3.pos, a3 = "", p2 = ""; e3.pos < i4; ) {
var l3 = e3.uint32();
switch (l3 >>> 3) {
case 1:
a3 = e3.string();
break;
case 2:
p2 = e3.string();
break;
default:
e3.skipType(7 & l3);
}
}
o4.labels[a3] = p2;
break;
case 3:
o4.metadata = c4.google.protobuf.Any.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, p.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, p.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.locationId && e3.hasOwnProperty("locationId") && !u2.isString(e3.locationId)) return "locationId: string expected";
if (null != e3.displayName && e3.hasOwnProperty("displayName") && !u2.isString(e3.displayName)) return "displayName: string expected";
if (null != e3.labels && e3.hasOwnProperty("labels")) {
if (!u2.isObject(e3.labels)) return "labels: object expected";
for (var t3 = Object.keys(e3.labels), n4 = 0; n4 < t3.length; ++n4) if (!u2.isString(e3.labels[t3[n4]])) return "labels: string{k:string} expected";
}
if (null != e3.metadata && e3.hasOwnProperty("metadata")) {
var o4 = c4.google.protobuf.Any.verify(e3.metadata);
if (o4) return "metadata." + o4;
}
return null;
}, p.fromObject = function(e3) {
if (e3 instanceof c4.google.cloud.location.Location) return e3;
var t3 = new c4.google.cloud.location.Location();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.locationId && (t3.locationId = String(e3.locationId)), null != e3.displayName && (t3.displayName = String(e3.displayName)), e3.labels) {
if ("object" != typeof e3.labels) throw TypeError(".google.cloud.location.Location.labels: object expected");
t3.labels = {};
for (var n4 = Object.keys(e3.labels), o4 = 0; o4 < n4.length; ++o4) t3.labels[n4[o4]] = String(e3.labels[n4[o4]]);
}
if (null != e3.metadata) {
if ("object" != typeof e3.metadata) throw TypeError(".google.cloud.location.Location.metadata: object expected");
t3.metadata = c4.google.protobuf.Any.fromObject(e3.metadata);
}
return t3;
}, p.toObject = function(e3, t3) {
var n4, o4 = {};
if (((t3 = t3 || {}).objects || t3.defaults) && (o4.labels = {}), t3.defaults && (o4.name = "", o4.metadata = null, o4.locationId = "", o4.displayName = ""), null != e3.name && e3.hasOwnProperty("name") && (o4.name = e3.name), e3.labels && (n4 = Object.keys(e3.labels)).length) {
o4.labels = {};
for (var r3 = 0; r3 < n4.length; ++r3) o4.labels[n4[r3]] = e3.labels[n4[r3]];
}
return null != e3.metadata && e3.hasOwnProperty("metadata") && (o4.metadata = c4.google.protobuf.Any.toObject(e3.metadata, t3)), null != e3.locationId && e3.hasOwnProperty("locationId") && (o4.locationId = e3.locationId), null != e3.displayName && e3.hasOwnProperty("displayName") && (o4.displayName = e3.displayName), o4;
}, p.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, p), e2), n3), F.api = ((e2 = {}).Http = (l2.prototype.rules = u2.emptyArray, l2.prototype.fullyDecodeReservedExpansion = false, l2.create = function(e3) {
return new l2(e3);
}, l2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.rules && e3.rules.length) for (var n4 = 0; n4 < e3.rules.length; ++n4) c4.google.api.HttpRule.encode(e3.rules[n4], t3.uint32(10).fork()).ldelim();
return null != e3.fullyDecodeReservedExpansion && Object.hasOwnProperty.call(e3, "fullyDecodeReservedExpansion") && t3.uint32(16).bool(e3.fullyDecodeReservedExpansion), t3;
}, l2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, l2.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.api.Http(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.rules && o4.rules.length || (o4.rules = []), o4.rules.push(c4.google.api.HttpRule.decode(e3, e3.uint32()));
break;
case 2:
o4.fullyDecodeReservedExpansion = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, l2.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, l2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.rules && e3.hasOwnProperty("rules")) {
if (!Array.isArray(e3.rules)) return "rules: array expected";
for (var t3 = 0; t3 < e3.rules.length; ++t3) {
var n4 = c4.google.api.HttpRule.verify(e3.rules[t3]);
if (n4) return "rules." + n4;
}
}
return null != e3.fullyDecodeReservedExpansion && e3.hasOwnProperty("fullyDecodeReservedExpansion") && "boolean" != typeof e3.fullyDecodeReservedExpansion ? "fullyDecodeReservedExpansion: boolean expected" : null;
}, l2.fromObject = function(e3) {
if (e3 instanceof c4.google.api.Http) return e3;
var t3 = new c4.google.api.Http();
if (e3.rules) {
if (!Array.isArray(e3.rules)) throw TypeError(".google.api.Http.rules: array expected");
t3.rules = [];
for (var n4 = 0; n4 < e3.rules.length; ++n4) {
if ("object" != typeof e3.rules[n4]) throw TypeError(".google.api.Http.rules: object expected");
t3.rules[n4] = c4.google.api.HttpRule.fromObject(e3.rules[n4]);
}
}
return null != e3.fullyDecodeReservedExpansion && (t3.fullyDecodeReservedExpansion = Boolean(e3.fullyDecodeReservedExpansion)), t3;
}, l2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.rules = []), t3.defaults && (n4.fullyDecodeReservedExpansion = false), e3.rules && e3.rules.length) {
n4.rules = [];
for (var o4 = 0; o4 < e3.rules.length; ++o4) n4.rules[o4] = c4.google.api.HttpRule.toObject(e3.rules[o4], t3);
}
return null != e3.fullyDecodeReservedExpansion && e3.hasOwnProperty("fullyDecodeReservedExpansion") && (n4.fullyDecodeReservedExpansion = e3.fullyDecodeReservedExpansion), n4;
}, l2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, l2), e2.HttpRule = (d.prototype.selector = "", d.prototype.get = null, d.prototype.put = null, d.prototype.post = null, d.prototype.delete = null, d.prototype.patch = null, d.prototype.custom = null, d.prototype.body = "", d.prototype.responseBody = "", d.prototype.additionalBindings = u2.emptyArray, Object.defineProperty(d.prototype, "pattern", { get: u2.oneOfGetter(n3 = ["get", "put", "post", "delete", "patch", "custom"]), set: u2.oneOfSetter(n3) }), d.create = function(e3) {
return new d(e3);
}, d.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.selector && Object.hasOwnProperty.call(e3, "selector") && t3.uint32(10).string(e3.selector), null != e3.get && Object.hasOwnProperty.call(e3, "get") && t3.uint32(18).string(e3.get), null != e3.put && Object.hasOwnProperty.call(e3, "put") && t3.uint32(26).string(e3.put), null != e3.post && Object.hasOwnProperty.call(e3, "post") && t3.uint32(34).string(e3.post), null != e3.delete && Object.hasOwnProperty.call(e3, "delete") && t3.uint32(42).string(e3.delete), null != e3.patch && Object.hasOwnProperty.call(e3, "patch") && t3.uint32(50).string(e3.patch), null != e3.body && Object.hasOwnProperty.call(e3, "body") && t3.uint32(58).string(e3.body), null != e3.custom && Object.hasOwnProperty.call(e3, "custom") && c4.google.api.CustomHttpPattern.encode(e3.custom, t3.uint32(66).fork()).ldelim(), null != e3.additionalBindings && e3.additionalBindings.length) for (var n4 = 0; n4 < e3.additionalBindings.length; ++n4) c4.google.api.HttpRule.encode(e3.additionalBindings[n4], t3.uint32(90).fork()).ldelim();
return null != e3.responseBody && Object.hasOwnProperty.call(e3, "responseBody") && t3.uint32(98).string(e3.responseBody), t3;
}, d.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, d.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.api.HttpRule(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.selector = e3.string();
break;
case 2:
o4.get = e3.string();
break;
case 3:
o4.put = e3.string();
break;
case 4:
o4.post = e3.string();
break;
case 5:
o4.delete = e3.string();
break;
case 6:
o4.patch = e3.string();
break;
case 8:
o4.custom = c4.google.api.CustomHttpPattern.decode(e3, e3.uint32());
break;
case 7:
o4.body = e3.string();
break;
case 12:
o4.responseBody = e3.string();
break;
case 11:
o4.additionalBindings && o4.additionalBindings.length || (o4.additionalBindings = []), o4.additionalBindings.push(c4.google.api.HttpRule.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, d.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, d.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
var t3 = {};
if (null != e3.selector && e3.hasOwnProperty("selector") && !u2.isString(e3.selector)) return "selector: string expected";
if (null != e3.get && e3.hasOwnProperty("get") && (t3.pattern = 1, !u2.isString(e3.get))) return "get: string expected";
if (null != e3.put && e3.hasOwnProperty("put")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !u2.isString(e3.put)) return "put: string expected";
}
if (null != e3.post && e3.hasOwnProperty("post")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !u2.isString(e3.post)) return "post: string expected";
}
if (null != e3.delete && e3.hasOwnProperty("delete")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !u2.isString(e3.delete)) return "delete: string expected";
}
if (null != e3.patch && e3.hasOwnProperty("patch")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !u2.isString(e3.patch)) return "patch: string expected";
}
if (null != e3.custom && e3.hasOwnProperty("custom")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, n4 = c4.google.api.CustomHttpPattern.verify(e3.custom)) return "custom." + n4;
}
if (null != e3.body && e3.hasOwnProperty("body") && !u2.isString(e3.body)) return "body: string expected";
if (null != e3.responseBody && e3.hasOwnProperty("responseBody") && !u2.isString(e3.responseBody)) return "responseBody: string expected";
if (null != e3.additionalBindings && e3.hasOwnProperty("additionalBindings")) {
if (!Array.isArray(e3.additionalBindings)) return "additionalBindings: array expected";
for (var n4, o4 = 0; o4 < e3.additionalBindings.length; ++o4) if (n4 = c4.google.api.HttpRule.verify(e3.additionalBindings[o4])) return "additionalBindings." + n4;
}
return null;
}, d.fromObject = function(e3) {
if (e3 instanceof c4.google.api.HttpRule) return e3;
var t3 = new c4.google.api.HttpRule();
if (null != e3.selector && (t3.selector = String(e3.selector)), null != e3.get && (t3.get = String(e3.get)), null != e3.put && (t3.put = String(e3.put)), null != e3.post && (t3.post = String(e3.post)), null != e3.delete && (t3.delete = String(e3.delete)), null != e3.patch && (t3.patch = String(e3.patch)), null != e3.custom) {
if ("object" != typeof e3.custom) throw TypeError(".google.api.HttpRule.custom: object expected");
t3.custom = c4.google.api.CustomHttpPattern.fromObject(e3.custom);
}
if (null != e3.body && (t3.body = String(e3.body)), null != e3.responseBody && (t3.responseBody = String(e3.responseBody)), e3.additionalBindings) {
if (!Array.isArray(e3.additionalBindings)) throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
t3.additionalBindings = [];
for (var n4 = 0; n4 < e3.additionalBindings.length; ++n4) {
if ("object" != typeof e3.additionalBindings[n4]) throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
t3.additionalBindings[n4] = c4.google.api.HttpRule.fromObject(e3.additionalBindings[n4]);
}
}
return t3;
}, d.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.additionalBindings = []), t3.defaults && (n4.selector = "", n4.body = "", n4.responseBody = ""), null != e3.selector && e3.hasOwnProperty("selector") && (n4.selector = e3.selector), null != e3.get && e3.hasOwnProperty("get") && (n4.get = e3.get, t3.oneofs) && (n4.pattern = "get"), null != e3.put && e3.hasOwnProperty("put") && (n4.put = e3.put, t3.oneofs) && (n4.pattern = "put"), null != e3.post && e3.hasOwnProperty("post") && (n4.post = e3.post, t3.oneofs) && (n4.pattern = "post"), null != e3.delete && e3.hasOwnProperty("delete") && (n4.delete = e3.delete, t3.oneofs) && (n4.pattern = "delete"), null != e3.patch && e3.hasOwnProperty("patch") && (n4.patch = e3.patch, t3.oneofs) && (n4.pattern = "patch"), null != e3.body && e3.hasOwnProperty("body") && (n4.body = e3.body), null != e3.custom && e3.hasOwnProperty("custom") && (n4.custom = c4.google.api.CustomHttpPattern.toObject(e3.custom, t3), t3.oneofs) && (n4.pattern = "custom"), e3.additionalBindings && e3.additionalBindings.length) {
n4.additionalBindings = [];
for (var o4 = 0; o4 < e3.additionalBindings.length; ++o4) n4.additionalBindings[o4] = c4.google.api.HttpRule.toObject(e3.additionalBindings[o4], t3);
}
return null != e3.responseBody && e3.hasOwnProperty("responseBody") && (n4.responseBody = e3.responseBody), n4;
}, d.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, d), e2.CustomHttpPattern = (g.prototype.kind = "", g.prototype.path = "", g.create = function(e3) {
return new g(e3);
}, g.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.kind && Object.hasOwnProperty.call(e3, "kind") && t3.uint32(10).string(e3.kind), null != e3.path && Object.hasOwnProperty.call(e3, "path") && t3.uint32(18).string(e3.path), t3;
}, g.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, g.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.api.CustomHttpPattern(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.kind = e3.string();
break;
case 2:
o4.path = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, g.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, g.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.kind && e3.hasOwnProperty("kind") && !u2.isString(e3.kind) ? "kind: string expected" : null != e3.path && e3.hasOwnProperty("path") && !u2.isString(e3.path) ? "path: string expected" : null;
}, g.fromObject = function(e3) {
var t3;
return e3 instanceof c4.google.api.CustomHttpPattern ? e3 : (t3 = new c4.google.api.CustomHttpPattern(), null != e3.kind && (t3.kind = String(e3.kind)), null != e3.path && (t3.path = String(e3.path)), t3);
}, g.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.kind = "", n4.path = ""), null != e3.kind && e3.hasOwnProperty("kind") && (n4.kind = e3.kind), null != e3.path && e3.hasOwnProperty("path") && (n4.path = e3.path), n4;
}, g.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, g), e2), F.protobuf = ((n3 = {}).FileDescriptorSet = (B.prototype.file = u2.emptyArray, B.create = function(e3) {
return new B(e3);
}, B.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.file && e3.file.length) for (var n4 = 0; n4 < e3.file.length; ++n4) c4.google.protobuf.FileDescriptorProto.encode(e3.file[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, B.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, B.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.FileDescriptorSet(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.file && o4.file.length || (o4.file = []), o4.file.push(c4.google.protobuf.FileDescriptorProto.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, B.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, B.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.file && e3.hasOwnProperty("file")) {
if (!Array.isArray(e3.file)) return "file: array expected";
for (var t3 = 0; t3 < e3.file.length; ++t3) {
var n4 = c4.google.protobuf.FileDescriptorProto.verify(e3.file[t3]);
if (n4) return "file." + n4;
}
}
return null;
}, B.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.FileDescriptorSet) return e3;
var t3 = new c4.google.protobuf.FileDescriptorSet();
if (e3.file) {
if (!Array.isArray(e3.file)) throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
t3.file = [];
for (var n4 = 0; n4 < e3.file.length; ++n4) {
if ("object" != typeof e3.file[n4]) throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
t3.file[n4] = c4.google.protobuf.FileDescriptorProto.fromObject(e3.file[n4]);
}
}
return t3;
}, B.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.file = []), e3.file && e3.file.length) {
n4.file = [];
for (var o4 = 0; o4 < e3.file.length; ++o4) n4.file[o4] = c4.google.protobuf.FileDescriptorProto.toObject(e3.file[o4], t3);
}
return n4;
}, B.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, B), n3.FileDescriptorProto = (f.prototype.name = "", f.prototype.package = "", f.prototype.dependency = u2.emptyArray, f.prototype.publicDependency = u2.emptyArray, f.prototype.weakDependency = u2.emptyArray, f.prototype.messageType = u2.emptyArray, f.prototype.enumType = u2.emptyArray, f.prototype.service = u2.emptyArray, f.prototype.extension = u2.emptyArray, f.prototype.options = null, f.prototype.sourceCodeInfo = null, f.prototype.syntax = "", f.create = function(e3) {
return new f(e3);
}, f.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.package && Object.hasOwnProperty.call(e3, "package") && t3.uint32(18).string(e3.package), null != e3.dependency && e3.dependency.length) for (var n4 = 0; n4 < e3.dependency.length; ++n4) t3.uint32(26).string(e3.dependency[n4]);
if (null != e3.messageType && e3.messageType.length) for (n4 = 0; n4 < e3.messageType.length; ++n4) c4.google.protobuf.DescriptorProto.encode(e3.messageType[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.enumType && e3.enumType.length) for (n4 = 0; n4 < e3.enumType.length; ++n4) c4.google.protobuf.EnumDescriptorProto.encode(e3.enumType[n4], t3.uint32(42).fork()).ldelim();
if (null != e3.service && e3.service.length) for (n4 = 0; n4 < e3.service.length; ++n4) c4.google.protobuf.ServiceDescriptorProto.encode(e3.service[n4], t3.uint32(50).fork()).ldelim();
if (null != e3.extension && e3.extension.length) for (n4 = 0; n4 < e3.extension.length; ++n4) c4.google.protobuf.FieldDescriptorProto.encode(e3.extension[n4], t3.uint32(58).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.FileOptions.encode(e3.options, t3.uint32(66).fork()).ldelim(), null != e3.sourceCodeInfo && Object.hasOwnProperty.call(e3, "sourceCodeInfo") && c4.google.protobuf.SourceCodeInfo.encode(e3.sourceCodeInfo, t3.uint32(74).fork()).ldelim(), null != e3.publicDependency && e3.publicDependency.length) for (n4 = 0; n4 < e3.publicDependency.length; ++n4) t3.uint32(80).int32(e3.publicDependency[n4]);
if (null != e3.weakDependency && e3.weakDependency.length) for (n4 = 0; n4 < e3.weakDependency.length; ++n4) t3.uint32(88).int32(e3.weakDependency[n4]);
return null != e3.syntax && Object.hasOwnProperty.call(e3, "syntax") && t3.uint32(98).string(e3.syntax), t3;
}, f.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, f.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.FileDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.package = e3.string();
break;
case 3:
o4.dependency && o4.dependency.length || (o4.dependency = []), o4.dependency.push(e3.string());
break;
case 10:
if (o4.publicDependency && o4.publicDependency.length || (o4.publicDependency = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.publicDependency.push(e3.int32());
else o4.publicDependency.push(e3.int32());
break;
case 11:
if (o4.weakDependency && o4.weakDependency.length || (o4.weakDependency = []), 2 == (7 & r3)) for (i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.weakDependency.push(e3.int32());
else o4.weakDependency.push(e3.int32());
break;
case 4:
o4.messageType && o4.messageType.length || (o4.messageType = []), o4.messageType.push(c4.google.protobuf.DescriptorProto.decode(e3, e3.uint32()));
break;
case 5:
o4.enumType && o4.enumType.length || (o4.enumType = []), o4.enumType.push(c4.google.protobuf.EnumDescriptorProto.decode(e3, e3.uint32()));
break;
case 6:
o4.service && o4.service.length || (o4.service = []), o4.service.push(c4.google.protobuf.ServiceDescriptorProto.decode(e3, e3.uint32()));
break;
case 7:
o4.extension && o4.extension.length || (o4.extension = []), o4.extension.push(c4.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 8:
o4.options = c4.google.protobuf.FileOptions.decode(e3, e3.uint32());
break;
case 9:
o4.sourceCodeInfo = c4.google.protobuf.SourceCodeInfo.decode(e3, e3.uint32());
break;
case 12:
o4.syntax = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, f.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, f.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.package && e3.hasOwnProperty("package") && !u2.isString(e3.package)) return "package: string expected";
if (null != e3.dependency && e3.hasOwnProperty("dependency")) {
if (!Array.isArray(e3.dependency)) return "dependency: array expected";
for (var t3 = 0; t3 < e3.dependency.length; ++t3) if (!u2.isString(e3.dependency[t3])) return "dependency: string[] expected";
}
if (null != e3.publicDependency && e3.hasOwnProperty("publicDependency")) {
if (!Array.isArray(e3.publicDependency)) return "publicDependency: array expected";
for (t3 = 0; t3 < e3.publicDependency.length; ++t3) if (!u2.isInteger(e3.publicDependency[t3])) return "publicDependency: integer[] expected";
}
if (null != e3.weakDependency && e3.hasOwnProperty("weakDependency")) {
if (!Array.isArray(e3.weakDependency)) return "weakDependency: array expected";
for (t3 = 0; t3 < e3.weakDependency.length; ++t3) if (!u2.isInteger(e3.weakDependency[t3])) return "weakDependency: integer[] expected";
}
if (null != e3.messageType && e3.hasOwnProperty("messageType")) {
if (!Array.isArray(e3.messageType)) return "messageType: array expected";
for (t3 = 0; t3 < e3.messageType.length; ++t3) if (n4 = c4.google.protobuf.DescriptorProto.verify(e3.messageType[t3])) return "messageType." + n4;
}
if (null != e3.enumType && e3.hasOwnProperty("enumType")) {
if (!Array.isArray(e3.enumType)) return "enumType: array expected";
for (t3 = 0; t3 < e3.enumType.length; ++t3) if (n4 = c4.google.protobuf.EnumDescriptorProto.verify(e3.enumType[t3])) return "enumType." + n4;
}
if (null != e3.service && e3.hasOwnProperty("service")) {
if (!Array.isArray(e3.service)) return "service: array expected";
for (t3 = 0; t3 < e3.service.length; ++t3) if (n4 = c4.google.protobuf.ServiceDescriptorProto.verify(e3.service[t3])) return "service." + n4;
}
if (null != e3.extension && e3.hasOwnProperty("extension")) {
if (!Array.isArray(e3.extension)) return "extension: array expected";
for (t3 = 0; t3 < e3.extension.length; ++t3) if (n4 = c4.google.protobuf.FieldDescriptorProto.verify(e3.extension[t3])) return "extension." + n4;
}
var n4;
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = c4.google.protobuf.FileOptions.verify(e3.options))) return "options." + n4;
if (null != e3.sourceCodeInfo && e3.hasOwnProperty("sourceCodeInfo") && (n4 = c4.google.protobuf.SourceCodeInfo.verify(e3.sourceCodeInfo))) return "sourceCodeInfo." + n4;
return null != e3.syntax && e3.hasOwnProperty("syntax") && !u2.isString(e3.syntax) ? "syntax: string expected" : null;
}, f.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.FileDescriptorProto) return e3;
var t3 = new c4.google.protobuf.FileDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.package && (t3.package = String(e3.package)), e3.dependency) {
if (!Array.isArray(e3.dependency)) throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");
t3.dependency = [];
for (var n4 = 0; n4 < e3.dependency.length; ++n4) t3.dependency[n4] = String(e3.dependency[n4]);
}
if (e3.publicDependency) {
if (!Array.isArray(e3.publicDependency)) throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");
t3.publicDependency = [];
for (n4 = 0; n4 < e3.publicDependency.length; ++n4) t3.publicDependency[n4] = 0 | e3.publicDependency[n4];
}
if (e3.weakDependency) {
if (!Array.isArray(e3.weakDependency)) throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");
t3.weakDependency = [];
for (n4 = 0; n4 < e3.weakDependency.length; ++n4) t3.weakDependency[n4] = 0 | e3.weakDependency[n4];
}
if (e3.messageType) {
if (!Array.isArray(e3.messageType)) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
t3.messageType = [];
for (n4 = 0; n4 < e3.messageType.length; ++n4) {
if ("object" != typeof e3.messageType[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
t3.messageType[n4] = c4.google.protobuf.DescriptorProto.fromObject(e3.messageType[n4]);
}
}
if (e3.enumType) {
if (!Array.isArray(e3.enumType)) throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");
t3.enumType = [];
for (n4 = 0; n4 < e3.enumType.length; ++n4) {
if ("object" != typeof e3.enumType[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
t3.enumType[n4] = c4.google.protobuf.EnumDescriptorProto.fromObject(e3.enumType[n4]);
}
}
if (e3.service) {
if (!Array.isArray(e3.service)) throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");
t3.service = [];
for (n4 = 0; n4 < e3.service.length; ++n4) {
if ("object" != typeof e3.service[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
t3.service[n4] = c4.google.protobuf.ServiceDescriptorProto.fromObject(e3.service[n4]);
}
}
if (e3.extension) {
if (!Array.isArray(e3.extension)) throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");
t3.extension = [];
for (n4 = 0; n4 < e3.extension.length; ++n4) {
if ("object" != typeof e3.extension[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
t3.extension[n4] = c4.google.protobuf.FieldDescriptorProto.fromObject(e3.extension[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
t3.options = c4.google.protobuf.FileOptions.fromObject(e3.options);
}
if (null != e3.sourceCodeInfo) {
if ("object" != typeof e3.sourceCodeInfo) throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
t3.sourceCodeInfo = c4.google.protobuf.SourceCodeInfo.fromObject(e3.sourceCodeInfo);
}
return null != e3.syntax && (t3.syntax = String(e3.syntax)), t3;
}, f.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.dependency = [], n4.messageType = [], n4.enumType = [], n4.service = [], n4.extension = [], n4.publicDependency = [], n4.weakDependency = []), t3.defaults && (n4.name = "", n4.package = "", n4.options = null, n4.sourceCodeInfo = null, n4.syntax = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.package && e3.hasOwnProperty("package") && (n4.package = e3.package), e3.dependency && e3.dependency.length) {
n4.dependency = [];
for (var o4 = 0; o4 < e3.dependency.length; ++o4) n4.dependency[o4] = e3.dependency[o4];
}
if (e3.messageType && e3.messageType.length) {
n4.messageType = [];
for (o4 = 0; o4 < e3.messageType.length; ++o4) n4.messageType[o4] = c4.google.protobuf.DescriptorProto.toObject(e3.messageType[o4], t3);
}
if (e3.enumType && e3.enumType.length) {
n4.enumType = [];
for (o4 = 0; o4 < e3.enumType.length; ++o4) n4.enumType[o4] = c4.google.protobuf.EnumDescriptorProto.toObject(e3.enumType[o4], t3);
}
if (e3.service && e3.service.length) {
n4.service = [];
for (o4 = 0; o4 < e3.service.length; ++o4) n4.service[o4] = c4.google.protobuf.ServiceDescriptorProto.toObject(e3.service[o4], t3);
}
if (e3.extension && e3.extension.length) {
n4.extension = [];
for (o4 = 0; o4 < e3.extension.length; ++o4) n4.extension[o4] = c4.google.protobuf.FieldDescriptorProto.toObject(e3.extension[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.FileOptions.toObject(e3.options, t3)), null != e3.sourceCodeInfo && e3.hasOwnProperty("sourceCodeInfo") && (n4.sourceCodeInfo = c4.google.protobuf.SourceCodeInfo.toObject(e3.sourceCodeInfo, t3)), e3.publicDependency && e3.publicDependency.length) {
n4.publicDependency = [];
for (o4 = 0; o4 < e3.publicDependency.length; ++o4) n4.publicDependency[o4] = e3.publicDependency[o4];
}
if (e3.weakDependency && e3.weakDependency.length) {
n4.weakDependency = [];
for (o4 = 0; o4 < e3.weakDependency.length; ++o4) n4.weakDependency[o4] = e3.weakDependency[o4];
}
return null != e3.syntax && e3.hasOwnProperty("syntax") && (n4.syntax = e3.syntax), n4;
}, f.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, f), n3.DescriptorProto = (y.prototype.name = "", y.prototype.field = u2.emptyArray, y.prototype.extension = u2.emptyArray, y.prototype.nestedType = u2.emptyArray, y.prototype.enumType = u2.emptyArray, y.prototype.extensionRange = u2.emptyArray, y.prototype.oneofDecl = u2.emptyArray, y.prototype.options = null, y.prototype.reservedRange = u2.emptyArray, y.prototype.reservedName = u2.emptyArray, y.create = function(e3) {
return new y(e3);
}, y.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.field && e3.field.length) for (var n4 = 0; n4 < e3.field.length; ++n4) c4.google.protobuf.FieldDescriptorProto.encode(e3.field[n4], t3.uint32(18).fork()).ldelim();
if (null != e3.nestedType && e3.nestedType.length) for (n4 = 0; n4 < e3.nestedType.length; ++n4) c4.google.protobuf.DescriptorProto.encode(e3.nestedType[n4], t3.uint32(26).fork()).ldelim();
if (null != e3.enumType && e3.enumType.length) for (n4 = 0; n4 < e3.enumType.length; ++n4) c4.google.protobuf.EnumDescriptorProto.encode(e3.enumType[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.extensionRange && e3.extensionRange.length) for (n4 = 0; n4 < e3.extensionRange.length; ++n4) c4.google.protobuf.DescriptorProto.ExtensionRange.encode(e3.extensionRange[n4], t3.uint32(42).fork()).ldelim();
if (null != e3.extension && e3.extension.length) for (n4 = 0; n4 < e3.extension.length; ++n4) c4.google.protobuf.FieldDescriptorProto.encode(e3.extension[n4], t3.uint32(50).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.MessageOptions.encode(e3.options, t3.uint32(58).fork()).ldelim(), null != e3.oneofDecl && e3.oneofDecl.length) for (n4 = 0; n4 < e3.oneofDecl.length; ++n4) c4.google.protobuf.OneofDescriptorProto.encode(e3.oneofDecl[n4], t3.uint32(66).fork()).ldelim();
if (null != e3.reservedRange && e3.reservedRange.length) for (n4 = 0; n4 < e3.reservedRange.length; ++n4) c4.google.protobuf.DescriptorProto.ReservedRange.encode(e3.reservedRange[n4], t3.uint32(74).fork()).ldelim();
if (null != e3.reservedName && e3.reservedName.length) for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.uint32(82).string(e3.reservedName[n4]);
return t3;
}, y.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, y.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.DescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.field && o4.field.length || (o4.field = []), o4.field.push(c4.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 6:
o4.extension && o4.extension.length || (o4.extension = []), o4.extension.push(c4.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.nestedType && o4.nestedType.length || (o4.nestedType = []), o4.nestedType.push(c4.google.protobuf.DescriptorProto.decode(e3, e3.uint32()));
break;
case 4:
o4.enumType && o4.enumType.length || (o4.enumType = []), o4.enumType.push(c4.google.protobuf.EnumDescriptorProto.decode(e3, e3.uint32()));
break;
case 5:
o4.extensionRange && o4.extensionRange.length || (o4.extensionRange = []), o4.extensionRange.push(c4.google.protobuf.DescriptorProto.ExtensionRange.decode(e3, e3.uint32()));
break;
case 8:
o4.oneofDecl && o4.oneofDecl.length || (o4.oneofDecl = []), o4.oneofDecl.push(c4.google.protobuf.OneofDescriptorProto.decode(e3, e3.uint32()));
break;
case 7:
o4.options = c4.google.protobuf.MessageOptions.decode(e3, e3.uint32());
break;
case 9:
o4.reservedRange && o4.reservedRange.length || (o4.reservedRange = []), o4.reservedRange.push(c4.google.protobuf.DescriptorProto.ReservedRange.decode(e3, e3.uint32()));
break;
case 10:
o4.reservedName && o4.reservedName.length || (o4.reservedName = []), o4.reservedName.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, y.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, y.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.field && e3.hasOwnProperty("field")) {
if (!Array.isArray(e3.field)) return "field: array expected";
for (var t3 = 0; t3 < e3.field.length; ++t3) if (n4 = c4.google.protobuf.FieldDescriptorProto.verify(e3.field[t3])) return "field." + n4;
}
if (null != e3.extension && e3.hasOwnProperty("extension")) {
if (!Array.isArray(e3.extension)) return "extension: array expected";
for (t3 = 0; t3 < e3.extension.length; ++t3) if (n4 = c4.google.protobuf.FieldDescriptorProto.verify(e3.extension[t3])) return "extension." + n4;
}
if (null != e3.nestedType && e3.hasOwnProperty("nestedType")) {
if (!Array.isArray(e3.nestedType)) return "nestedType: array expected";
for (t3 = 0; t3 < e3.nestedType.length; ++t3) if (n4 = c4.google.protobuf.DescriptorProto.verify(e3.nestedType[t3])) return "nestedType." + n4;
}
if (null != e3.enumType && e3.hasOwnProperty("enumType")) {
if (!Array.isArray(e3.enumType)) return "enumType: array expected";
for (t3 = 0; t3 < e3.enumType.length; ++t3) if (n4 = c4.google.protobuf.EnumDescriptorProto.verify(e3.enumType[t3])) return "enumType." + n4;
}
if (null != e3.extensionRange && e3.hasOwnProperty("extensionRange")) {
if (!Array.isArray(e3.extensionRange)) return "extensionRange: array expected";
for (t3 = 0; t3 < e3.extensionRange.length; ++t3) if (n4 = c4.google.protobuf.DescriptorProto.ExtensionRange.verify(e3.extensionRange[t3])) return "extensionRange." + n4;
}
if (null != e3.oneofDecl && e3.hasOwnProperty("oneofDecl")) {
if (!Array.isArray(e3.oneofDecl)) return "oneofDecl: array expected";
for (t3 = 0; t3 < e3.oneofDecl.length; ++t3) if (n4 = c4.google.protobuf.OneofDescriptorProto.verify(e3.oneofDecl[t3])) return "oneofDecl." + n4;
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = c4.google.protobuf.MessageOptions.verify(e3.options))) return "options." + n4;
if (null != e3.reservedRange && e3.hasOwnProperty("reservedRange")) {
if (!Array.isArray(e3.reservedRange)) return "reservedRange: array expected";
for (var n4, t3 = 0; t3 < e3.reservedRange.length; ++t3) if (n4 = c4.google.protobuf.DescriptorProto.ReservedRange.verify(e3.reservedRange[t3])) return "reservedRange." + n4;
}
if (null != e3.reservedName && e3.hasOwnProperty("reservedName")) {
if (!Array.isArray(e3.reservedName)) return "reservedName: array expected";
for (t3 = 0; t3 < e3.reservedName.length; ++t3) if (!u2.isString(e3.reservedName[t3])) return "reservedName: string[] expected";
}
return null;
}, y.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.DescriptorProto) return e3;
var t3 = new c4.google.protobuf.DescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.field) {
if (!Array.isArray(e3.field)) throw TypeError(".google.protobuf.DescriptorProto.field: array expected");
t3.field = [];
for (var n4 = 0; n4 < e3.field.length; ++n4) {
if ("object" != typeof e3.field[n4]) throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
t3.field[n4] = c4.google.protobuf.FieldDescriptorProto.fromObject(e3.field[n4]);
}
}
if (e3.extension) {
if (!Array.isArray(e3.extension)) throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");
t3.extension = [];
for (n4 = 0; n4 < e3.extension.length; ++n4) {
if ("object" != typeof e3.extension[n4]) throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
t3.extension[n4] = c4.google.protobuf.FieldDescriptorProto.fromObject(e3.extension[n4]);
}
}
if (e3.nestedType) {
if (!Array.isArray(e3.nestedType)) throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");
t3.nestedType = [];
for (n4 = 0; n4 < e3.nestedType.length; ++n4) {
if ("object" != typeof e3.nestedType[n4]) throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
t3.nestedType[n4] = c4.google.protobuf.DescriptorProto.fromObject(e3.nestedType[n4]);
}
}
if (e3.enumType) {
if (!Array.isArray(e3.enumType)) throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");
t3.enumType = [];
for (n4 = 0; n4 < e3.enumType.length; ++n4) {
if ("object" != typeof e3.enumType[n4]) throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
t3.enumType[n4] = c4.google.protobuf.EnumDescriptorProto.fromObject(e3.enumType[n4]);
}
}
if (e3.extensionRange) {
if (!Array.isArray(e3.extensionRange)) throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");
t3.extensionRange = [];
for (n4 = 0; n4 < e3.extensionRange.length; ++n4) {
if ("object" != typeof e3.extensionRange[n4]) throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
t3.extensionRange[n4] = c4.google.protobuf.DescriptorProto.ExtensionRange.fromObject(e3.extensionRange[n4]);
}
}
if (e3.oneofDecl) {
if (!Array.isArray(e3.oneofDecl)) throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");
t3.oneofDecl = [];
for (n4 = 0; n4 < e3.oneofDecl.length; ++n4) {
if ("object" != typeof e3.oneofDecl[n4]) throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
t3.oneofDecl[n4] = c4.google.protobuf.OneofDescriptorProto.fromObject(e3.oneofDecl[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
t3.options = c4.google.protobuf.MessageOptions.fromObject(e3.options);
}
if (e3.reservedRange) {
if (!Array.isArray(e3.reservedRange)) throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");
t3.reservedRange = [];
for (n4 = 0; n4 < e3.reservedRange.length; ++n4) {
if ("object" != typeof e3.reservedRange[n4]) throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
t3.reservedRange[n4] = c4.google.protobuf.DescriptorProto.ReservedRange.fromObject(e3.reservedRange[n4]);
}
}
if (e3.reservedName) {
if (!Array.isArray(e3.reservedName)) throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");
t3.reservedName = [];
for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.reservedName[n4] = String(e3.reservedName[n4]);
}
return t3;
}, y.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.field = [], n4.nestedType = [], n4.enumType = [], n4.extensionRange = [], n4.extension = [], n4.oneofDecl = [], n4.reservedRange = [], n4.reservedName = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.field && e3.field.length) {
n4.field = [];
for (var o4 = 0; o4 < e3.field.length; ++o4) n4.field[o4] = c4.google.protobuf.FieldDescriptorProto.toObject(e3.field[o4], t3);
}
if (e3.nestedType && e3.nestedType.length) {
n4.nestedType = [];
for (o4 = 0; o4 < e3.nestedType.length; ++o4) n4.nestedType[o4] = c4.google.protobuf.DescriptorProto.toObject(e3.nestedType[o4], t3);
}
if (e3.enumType && e3.enumType.length) {
n4.enumType = [];
for (o4 = 0; o4 < e3.enumType.length; ++o4) n4.enumType[o4] = c4.google.protobuf.EnumDescriptorProto.toObject(e3.enumType[o4], t3);
}
if (e3.extensionRange && e3.extensionRange.length) {
n4.extensionRange = [];
for (o4 = 0; o4 < e3.extensionRange.length; ++o4) n4.extensionRange[o4] = c4.google.protobuf.DescriptorProto.ExtensionRange.toObject(e3.extensionRange[o4], t3);
}
if (e3.extension && e3.extension.length) {
n4.extension = [];
for (o4 = 0; o4 < e3.extension.length; ++o4) n4.extension[o4] = c4.google.protobuf.FieldDescriptorProto.toObject(e3.extension[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.MessageOptions.toObject(e3.options, t3)), e3.oneofDecl && e3.oneofDecl.length) {
n4.oneofDecl = [];
for (o4 = 0; o4 < e3.oneofDecl.length; ++o4) n4.oneofDecl[o4] = c4.google.protobuf.OneofDescriptorProto.toObject(e3.oneofDecl[o4], t3);
}
if (e3.reservedRange && e3.reservedRange.length) {
n4.reservedRange = [];
for (o4 = 0; o4 < e3.reservedRange.length; ++o4) n4.reservedRange[o4] = c4.google.protobuf.DescriptorProto.ReservedRange.toObject(e3.reservedRange[o4], t3);
}
if (e3.reservedName && e3.reservedName.length) {
n4.reservedName = [];
for (o4 = 0; o4 < e3.reservedName.length; ++o4) n4.reservedName[o4] = e3.reservedName[o4];
}
return n4;
}, y.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, y.ExtensionRange = (h2.prototype.start = 0, h2.prototype.end = 0, h2.prototype.options = null, h2.create = function(e3) {
return new h2(e3);
}, h2.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.ExtensionRangeOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, h2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, h2.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.DescriptorProto.ExtensionRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
case 3:
o4.options = c4.google.protobuf.ExtensionRangeOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, h2.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, h2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.start && e3.hasOwnProperty("start") && !u2.isInteger(e3.start)) return "start: integer expected";
if (null != e3.end && e3.hasOwnProperty("end") && !u2.isInteger(e3.end)) return "end: integer expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = c4.google.protobuf.ExtensionRangeOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, h2.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.DescriptorProto.ExtensionRange) return e3;
var t3 = new c4.google.protobuf.DescriptorProto.ExtensionRange();
if (null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
t3.options = c4.google.protobuf.ExtensionRangeOptions.fromObject(e3.options);
}
return t3;
}, h2.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0, n4.options = null), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.ExtensionRangeOptions.toObject(e3.options, t3)), n4;
}, h2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, h2), y.ReservedRange = (b.prototype.start = 0, b.prototype.end = 0, b.create = function(e3) {
return new b(e3);
}, b.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), t3;
}, b.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, b.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.DescriptorProto.ReservedRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, b.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, b.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.start && e3.hasOwnProperty("start") && !u2.isInteger(e3.start) ? "start: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !u2.isInteger(e3.end) ? "end: integer expected" : null;
}, b.fromObject = function(e3) {
var t3;
return e3 instanceof c4.google.protobuf.DescriptorProto.ReservedRange ? e3 : (t3 = new c4.google.protobuf.DescriptorProto.ReservedRange(), null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), t3);
}, b.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, b.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, b), y), n3.ExtensionRangeOptions = (U.prototype.uninterpretedOption = u2.emptyArray, U.create = function(e3) {
return new U(e3);
}, U.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, U.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, U.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.ExtensionRangeOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 999 ? (o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, U.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, U.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, U.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.ExtensionRangeOptions) return e3;
var t3 = new c4.google.protobuf.ExtensionRangeOptions();
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, U.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, U.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, U), n3.FieldDescriptorProto = (O.prototype.name = "", O.prototype.number = 0, O.prototype.label = 1, O.prototype.type = 1, O.prototype.typeName = "", O.prototype.extendee = "", O.prototype.defaultValue = "", O.prototype.oneofIndex = 0, O.prototype.jsonName = "", O.prototype.options = null, O.prototype.proto3Optional = false, O.create = function(e3) {
return new O(e3);
}, O.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.extendee && Object.hasOwnProperty.call(e3, "extendee") && t3.uint32(18).string(e3.extendee), null != e3.number && Object.hasOwnProperty.call(e3, "number") && t3.uint32(24).int32(e3.number), null != e3.label && Object.hasOwnProperty.call(e3, "label") && t3.uint32(32).int32(e3.label), null != e3.type && Object.hasOwnProperty.call(e3, "type") && t3.uint32(40).int32(e3.type), null != e3.typeName && Object.hasOwnProperty.call(e3, "typeName") && t3.uint32(50).string(e3.typeName), null != e3.defaultValue && Object.hasOwnProperty.call(e3, "defaultValue") && t3.uint32(58).string(e3.defaultValue), null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.FieldOptions.encode(e3.options, t3.uint32(66).fork()).ldelim(), null != e3.oneofIndex && Object.hasOwnProperty.call(e3, "oneofIndex") && t3.uint32(72).int32(e3.oneofIndex), null != e3.jsonName && Object.hasOwnProperty.call(e3, "jsonName") && t3.uint32(82).string(e3.jsonName), null != e3.proto3Optional && Object.hasOwnProperty.call(e3, "proto3Optional") && t3.uint32(136).bool(e3.proto3Optional), t3;
}, O.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, O.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.FieldDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 3:
o4.number = e3.int32();
break;
case 4:
o4.label = e3.int32();
break;
case 5:
o4.type = e3.int32();
break;
case 6:
o4.typeName = e3.string();
break;
case 2:
o4.extendee = e3.string();
break;
case 7:
o4.defaultValue = e3.string();
break;
case 9:
o4.oneofIndex = e3.int32();
break;
case 10:
o4.jsonName = e3.string();
break;
case 8:
o4.options = c4.google.protobuf.FieldOptions.decode(e3, e3.uint32());
break;
case 17:
o4.proto3Optional = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, O.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, O.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.number && e3.hasOwnProperty("number") && !u2.isInteger(e3.number)) return "number: integer expected";
if (null != e3.label && e3.hasOwnProperty("label")) switch (e3.label) {
default:
return "label: enum value expected";
case 1:
case 2:
case 3:
}
if (null != e3.type && e3.hasOwnProperty("type")) switch (e3.type) {
default:
return "type: enum value expected";
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
}
if (null != e3.typeName && e3.hasOwnProperty("typeName") && !u2.isString(e3.typeName)) return "typeName: string expected";
if (null != e3.extendee && e3.hasOwnProperty("extendee") && !u2.isString(e3.extendee)) return "extendee: string expected";
if (null != e3.defaultValue && e3.hasOwnProperty("defaultValue") && !u2.isString(e3.defaultValue)) return "defaultValue: string expected";
if (null != e3.oneofIndex && e3.hasOwnProperty("oneofIndex") && !u2.isInteger(e3.oneofIndex)) return "oneofIndex: integer expected";
if (null != e3.jsonName && e3.hasOwnProperty("jsonName") && !u2.isString(e3.jsonName)) return "jsonName: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
var t3 = c4.google.protobuf.FieldOptions.verify(e3.options);
if (t3) return "options." + t3;
}
return null != e3.proto3Optional && e3.hasOwnProperty("proto3Optional") && "boolean" != typeof e3.proto3Optional ? "proto3Optional: boolean expected" : null;
}, O.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.FieldDescriptorProto) return e3;
var t3 = new c4.google.protobuf.FieldDescriptorProto();
switch (null != e3.name && (t3.name = String(e3.name)), null != e3.number && (t3.number = 0 | e3.number), e3.label) {
case "LABEL_OPTIONAL":
case 1:
t3.label = 1;
break;
case "LABEL_REQUIRED":
case 2:
t3.label = 2;
break;
case "LABEL_REPEATED":
case 3:
t3.label = 3;
}
switch (e3.type) {
case "TYPE_DOUBLE":
case 1:
t3.type = 1;
break;
case "TYPE_FLOAT":
case 2:
t3.type = 2;
break;
case "TYPE_INT64":
case 3:
t3.type = 3;
break;
case "TYPE_UINT64":
case 4:
t3.type = 4;
break;
case "TYPE_INT32":
case 5:
t3.type = 5;
break;
case "TYPE_FIXED64":
case 6:
t3.type = 6;
break;
case "TYPE_FIXED32":
case 7:
t3.type = 7;
break;
case "TYPE_BOOL":
case 8:
t3.type = 8;
break;
case "TYPE_STRING":
case 9:
t3.type = 9;
break;
case "TYPE_GROUP":
case 10:
t3.type = 10;
break;
case "TYPE_MESSAGE":
case 11:
t3.type = 11;
break;
case "TYPE_BYTES":
case 12:
t3.type = 12;
break;
case "TYPE_UINT32":
case 13:
t3.type = 13;
break;
case "TYPE_ENUM":
case 14:
t3.type = 14;
break;
case "TYPE_SFIXED32":
case 15:
t3.type = 15;
break;
case "TYPE_SFIXED64":
case 16:
t3.type = 16;
break;
case "TYPE_SINT32":
case 17:
t3.type = 17;
break;
case "TYPE_SINT64":
case 18:
t3.type = 18;
}
if (null != e3.typeName && (t3.typeName = String(e3.typeName)), null != e3.extendee && (t3.extendee = String(e3.extendee)), null != e3.defaultValue && (t3.defaultValue = String(e3.defaultValue)), null != e3.oneofIndex && (t3.oneofIndex = 0 | e3.oneofIndex), null != e3.jsonName && (t3.jsonName = String(e3.jsonName)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
t3.options = c4.google.protobuf.FieldOptions.fromObject(e3.options);
}
return null != e3.proto3Optional && (t3.proto3Optional = Boolean(e3.proto3Optional)), t3;
}, O.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.extendee = "", n4.number = 0, n4.label = t3.enums === String ? "LABEL_OPTIONAL" : 1, n4.type = t3.enums === String ? "TYPE_DOUBLE" : 1, n4.typeName = "", n4.defaultValue = "", n4.options = null, n4.oneofIndex = 0, n4.jsonName = "", n4.proto3Optional = false), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.extendee && e3.hasOwnProperty("extendee") && (n4.extendee = e3.extendee), null != e3.number && e3.hasOwnProperty("number") && (n4.number = e3.number), null != e3.label && e3.hasOwnProperty("label") && (n4.label = t3.enums === String ? c4.google.protobuf.FieldDescriptorProto.Label[e3.label] : e3.label), null != e3.type && e3.hasOwnProperty("type") && (n4.type = t3.enums === String ? c4.google.protobuf.FieldDescriptorProto.Type[e3.type] : e3.type), null != e3.typeName && e3.hasOwnProperty("typeName") && (n4.typeName = e3.typeName), null != e3.defaultValue && e3.hasOwnProperty("defaultValue") && (n4.defaultValue = e3.defaultValue), null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.FieldOptions.toObject(e3.options, t3)), null != e3.oneofIndex && e3.hasOwnProperty("oneofIndex") && (n4.oneofIndex = e3.oneofIndex), null != e3.jsonName && e3.hasOwnProperty("jsonName") && (n4.jsonName = e3.jsonName), null != e3.proto3Optional && e3.hasOwnProperty("proto3Optional") && (n4.proto3Optional = e3.proto3Optional), n4;
}, O.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, O.Type = (e2 = {}, (t2 = Object.create(e2))[e2[1] = "TYPE_DOUBLE"] = 1, t2[e2[2] = "TYPE_FLOAT"] = 2, t2[e2[3] = "TYPE_INT64"] = 3, t2[e2[4] = "TYPE_UINT64"] = 4, t2[e2[5] = "TYPE_INT32"] = 5, t2[e2[6] = "TYPE_FIXED64"] = 6, t2[e2[7] = "TYPE_FIXED32"] = 7, t2[e2[8] = "TYPE_BOOL"] = 8, t2[e2[9] = "TYPE_STRING"] = 9, t2[e2[10] = "TYPE_GROUP"] = 10, t2[e2[11] = "TYPE_MESSAGE"] = 11, t2[e2[12] = "TYPE_BYTES"] = 12, t2[e2[13] = "TYPE_UINT32"] = 13, t2[e2[14] = "TYPE_ENUM"] = 14, t2[e2[15] = "TYPE_SFIXED32"] = 15, t2[e2[16] = "TYPE_SFIXED64"] = 16, t2[e2[17] = "TYPE_SINT32"] = 17, t2[e2[18] = "TYPE_SINT64"] = 18, t2), O.Label = (e2 = {}, (t2 = Object.create(e2))[e2[1] = "LABEL_OPTIONAL"] = 1, t2[e2[2] = "LABEL_REQUIRED"] = 2, t2[e2[3] = "LABEL_REPEATED"] = 3, t2), O), n3.OneofDescriptorProto = (m.prototype.name = "", m.prototype.options = null, m.create = function(e3) {
return new m(e3);
}, m.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.OneofOptions.encode(e3.options, t3.uint32(18).fork()).ldelim(), t3;
}, m.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, m.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.OneofDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.options = c4.google.protobuf.OneofOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, m.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, m.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = c4.google.protobuf.OneofOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, m.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.OneofDescriptorProto) return e3;
var t3 = new c4.google.protobuf.OneofDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
t3.options = c4.google.protobuf.OneofOptions.fromObject(e3.options);
}
return t3;
}, m.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.OneofOptions.toObject(e3.options, t3)), n4;
}, m.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, m), n3.EnumDescriptorProto = (v.prototype.name = "", v.prototype.value = u2.emptyArray, v.prototype.options = null, v.prototype.reservedRange = u2.emptyArray, v.prototype.reservedName = u2.emptyArray, v.create = function(e3) {
return new v(e3);
}, v.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.value && e3.value.length) for (var n4 = 0; n4 < e3.value.length; ++n4) c4.google.protobuf.EnumValueDescriptorProto.encode(e3.value[n4], t3.uint32(18).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.EnumOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), null != e3.reservedRange && e3.reservedRange.length) for (n4 = 0; n4 < e3.reservedRange.length; ++n4) c4.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(e3.reservedRange[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.reservedName && e3.reservedName.length) for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.uint32(42).string(e3.reservedName[n4]);
return t3;
}, v.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, v.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.EnumDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.value && o4.value.length || (o4.value = []), o4.value.push(c4.google.protobuf.EnumValueDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.options = c4.google.protobuf.EnumOptions.decode(e3, e3.uint32());
break;
case 4:
o4.reservedRange && o4.reservedRange.length || (o4.reservedRange = []), o4.reservedRange.push(c4.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(e3, e3.uint32()));
break;
case 5:
o4.reservedName && o4.reservedName.length || (o4.reservedName = []), o4.reservedName.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, v.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, v.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.value && e3.hasOwnProperty("value")) {
if (!Array.isArray(e3.value)) return "value: array expected";
for (var t3 = 0; t3 < e3.value.length; ++t3) if (n4 = c4.google.protobuf.EnumValueDescriptorProto.verify(e3.value[t3])) return "value." + n4;
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = c4.google.protobuf.EnumOptions.verify(e3.options))) return "options." + n4;
if (null != e3.reservedRange && e3.hasOwnProperty("reservedRange")) {
if (!Array.isArray(e3.reservedRange)) return "reservedRange: array expected";
for (var n4, t3 = 0; t3 < e3.reservedRange.length; ++t3) if (n4 = c4.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(e3.reservedRange[t3])) return "reservedRange." + n4;
}
if (null != e3.reservedName && e3.hasOwnProperty("reservedName")) {
if (!Array.isArray(e3.reservedName)) return "reservedName: array expected";
for (t3 = 0; t3 < e3.reservedName.length; ++t3) if (!u2.isString(e3.reservedName[t3])) return "reservedName: string[] expected";
}
return null;
}, v.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.EnumDescriptorProto) return e3;
var t3 = new c4.google.protobuf.EnumDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.value) {
if (!Array.isArray(e3.value)) throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");
t3.value = [];
for (var n4 = 0; n4 < e3.value.length; ++n4) {
if ("object" != typeof e3.value[n4]) throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");
t3.value[n4] = c4.google.protobuf.EnumValueDescriptorProto.fromObject(e3.value[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");
t3.options = c4.google.protobuf.EnumOptions.fromObject(e3.options);
}
if (e3.reservedRange) {
if (!Array.isArray(e3.reservedRange)) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");
t3.reservedRange = [];
for (n4 = 0; n4 < e3.reservedRange.length; ++n4) {
if ("object" != typeof e3.reservedRange[n4]) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");
t3.reservedRange[n4] = c4.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(e3.reservedRange[n4]);
}
}
if (e3.reservedName) {
if (!Array.isArray(e3.reservedName)) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");
t3.reservedName = [];
for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.reservedName[n4] = String(e3.reservedName[n4]);
}
return t3;
}, v.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.value = [], n4.reservedRange = [], n4.reservedName = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.value && e3.value.length) {
n4.value = [];
for (var o4 = 0; o4 < e3.value.length; ++o4) n4.value[o4] = c4.google.protobuf.EnumValueDescriptorProto.toObject(e3.value[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.EnumOptions.toObject(e3.options, t3)), e3.reservedRange && e3.reservedRange.length) {
n4.reservedRange = [];
for (o4 = 0; o4 < e3.reservedRange.length; ++o4) n4.reservedRange[o4] = c4.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(e3.reservedRange[o4], t3);
}
if (e3.reservedName && e3.reservedName.length) {
n4.reservedName = [];
for (o4 = 0; o4 < e3.reservedName.length; ++o4) n4.reservedName[o4] = e3.reservedName[o4];
}
return n4;
}, v.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, v.EnumReservedRange = (P.prototype.start = 0, P.prototype.end = 0, P.create = function(e3) {
return new P(e3);
}, P.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), t3;
}, P.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, P.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.EnumDescriptorProto.EnumReservedRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, P.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, P.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.start && e3.hasOwnProperty("start") && !u2.isInteger(e3.start) ? "start: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !u2.isInteger(e3.end) ? "end: integer expected" : null;
}, P.fromObject = function(e3) {
var t3;
return e3 instanceof c4.google.protobuf.EnumDescriptorProto.EnumReservedRange ? e3 : (t3 = new c4.google.protobuf.EnumDescriptorProto.EnumReservedRange(), null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), t3);
}, P.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, P.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, P), v), n3.EnumValueDescriptorProto = (w.prototype.name = "", w.prototype.number = 0, w.prototype.options = null, w.create = function(e3) {
return new w(e3);
}, w.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.number && Object.hasOwnProperty.call(e3, "number") && t3.uint32(16).int32(e3.number), null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.EnumValueOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, w.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, w.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.EnumValueDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.number = e3.int32();
break;
case 3:
o4.options = c4.google.protobuf.EnumValueOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, w.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, w.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.number && e3.hasOwnProperty("number") && !u2.isInteger(e3.number)) return "number: integer expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = c4.google.protobuf.EnumValueOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, w.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.EnumValueDescriptorProto) return e3;
var t3 = new c4.google.protobuf.EnumValueDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.number && (t3.number = 0 | e3.number), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");
t3.options = c4.google.protobuf.EnumValueOptions.fromObject(e3.options);
}
return t3;
}, w.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.number = 0, n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.number && e3.hasOwnProperty("number") && (n4.number = e3.number), null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.EnumValueOptions.toObject(e3.options, t3)), n4;
}, w.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, w), n3.ServiceDescriptorProto = (j.prototype.name = "", j.prototype.method = u2.emptyArray, j.prototype.options = null, j.create = function(e3) {
return new j(e3);
}, j.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.method && e3.method.length) for (var n4 = 0; n4 < e3.method.length; ++n4) c4.google.protobuf.MethodDescriptorProto.encode(e3.method[n4], t3.uint32(18).fork()).ldelim();
return null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.ServiceOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, j.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, j.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.ServiceDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.method && o4.method.length || (o4.method = []), o4.method.push(c4.google.protobuf.MethodDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.options = c4.google.protobuf.ServiceOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, j.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, j.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.method && e3.hasOwnProperty("method")) {
if (!Array.isArray(e3.method)) return "method: array expected";
for (var t3 = 0; t3 < e3.method.length; ++t3) if (n4 = c4.google.protobuf.MethodDescriptorProto.verify(e3.method[t3])) return "method." + n4;
}
var n4;
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = c4.google.protobuf.ServiceOptions.verify(e3.options))) return "options." + n4;
return null;
}, j.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.ServiceDescriptorProto) return e3;
var t3 = new c4.google.protobuf.ServiceDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.method) {
if (!Array.isArray(e3.method)) throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");
t3.method = [];
for (var n4 = 0; n4 < e3.method.length; ++n4) {
if ("object" != typeof e3.method[n4]) throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");
t3.method[n4] = c4.google.protobuf.MethodDescriptorProto.fromObject(e3.method[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");
t3.options = c4.google.protobuf.ServiceOptions.fromObject(e3.options);
}
return t3;
}, j.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.method = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.method && e3.method.length) {
n4.method = [];
for (var o4 = 0; o4 < e3.method.length; ++o4) n4.method[o4] = c4.google.protobuf.MethodDescriptorProto.toObject(e3.method[o4], t3);
}
return null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.ServiceOptions.toObject(e3.options, t3)), n4;
}, j.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, j), n3.MethodDescriptorProto = (x.prototype.name = "", x.prototype.inputType = "", x.prototype.outputType = "", x.prototype.options = null, x.prototype.clientStreaming = false, x.prototype.serverStreaming = false, x.create = function(e3) {
return new x(e3);
}, x.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.inputType && Object.hasOwnProperty.call(e3, "inputType") && t3.uint32(18).string(e3.inputType), null != e3.outputType && Object.hasOwnProperty.call(e3, "outputType") && t3.uint32(26).string(e3.outputType), null != e3.options && Object.hasOwnProperty.call(e3, "options") && c4.google.protobuf.MethodOptions.encode(e3.options, t3.uint32(34).fork()).ldelim(), null != e3.clientStreaming && Object.hasOwnProperty.call(e3, "clientStreaming") && t3.uint32(40).bool(e3.clientStreaming), null != e3.serverStreaming && Object.hasOwnProperty.call(e3, "serverStreaming") && t3.uint32(48).bool(e3.serverStreaming), t3;
}, x.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, x.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.MethodDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.inputType = e3.string();
break;
case 3:
o4.outputType = e3.string();
break;
case 4:
o4.options = c4.google.protobuf.MethodOptions.decode(e3, e3.uint32());
break;
case 5:
o4.clientStreaming = e3.bool();
break;
case 6:
o4.serverStreaming = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, x.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, x.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !u2.isString(e3.name)) return "name: string expected";
if (null != e3.inputType && e3.hasOwnProperty("inputType") && !u2.isString(e3.inputType)) return "inputType: string expected";
if (null != e3.outputType && e3.hasOwnProperty("outputType") && !u2.isString(e3.outputType)) return "outputType: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
var t3 = c4.google.protobuf.MethodOptions.verify(e3.options);
if (t3) return "options." + t3;
}
return null != e3.clientStreaming && e3.hasOwnProperty("clientStreaming") && "boolean" != typeof e3.clientStreaming ? "clientStreaming: boolean expected" : null != e3.serverStreaming && e3.hasOwnProperty("serverStreaming") && "boolean" != typeof e3.serverStreaming ? "serverStreaming: boolean expected" : null;
}, x.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.MethodDescriptorProto) return e3;
var t3 = new c4.google.protobuf.MethodDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.inputType && (t3.inputType = String(e3.inputType)), null != e3.outputType && (t3.outputType = String(e3.outputType)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");
t3.options = c4.google.protobuf.MethodOptions.fromObject(e3.options);
}
return null != e3.clientStreaming && (t3.clientStreaming = Boolean(e3.clientStreaming)), null != e3.serverStreaming && (t3.serverStreaming = Boolean(e3.serverStreaming)), t3;
}, x.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.inputType = "", n4.outputType = "", n4.options = null, n4.clientStreaming = false, n4.serverStreaming = false), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.inputType && e3.hasOwnProperty("inputType") && (n4.inputType = e3.inputType), null != e3.outputType && e3.hasOwnProperty("outputType") && (n4.outputType = e3.outputType), null != e3.options && e3.hasOwnProperty("options") && (n4.options = c4.google.protobuf.MethodOptions.toObject(e3.options, t3)), null != e3.clientStreaming && e3.hasOwnProperty("clientStreaming") && (n4.clientStreaming = e3.clientStreaming), null != e3.serverStreaming && e3.hasOwnProperty("serverStreaming") && (n4.serverStreaming = e3.serverStreaming), n4;
}, x.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, x), n3.FileOptions = (S.prototype.javaPackage = "", S.prototype.javaOuterClassname = "", S.prototype.javaMultipleFiles = false, S.prototype.javaGenerateEqualsAndHash = false, S.prototype.javaStringCheckUtf8 = false, S.prototype.optimizeFor = 1, S.prototype.goPackage = "", S.prototype.ccGenericServices = false, S.prototype.javaGenericServices = false, S.prototype.pyGenericServices = false, S.prototype.phpGenericServices = false, S.prototype.deprecated = false, S.prototype.ccEnableArenas = true, S.prototype.objcClassPrefix = "", S.prototype.csharpNamespace = "", S.prototype.swiftPrefix = "", S.prototype.phpClassPrefix = "", S.prototype.phpNamespace = "", S.prototype.phpMetadataNamespace = "", S.prototype.rubyPackage = "", S.prototype.uninterpretedOption = u2.emptyArray, S.create = function(e3) {
return new S(e3);
}, S.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.javaPackage && Object.hasOwnProperty.call(e3, "javaPackage") && t3.uint32(10).string(e3.javaPackage), null != e3.javaOuterClassname && Object.hasOwnProperty.call(e3, "javaOuterClassname") && t3.uint32(66).string(e3.javaOuterClassname), null != e3.optimizeFor && Object.hasOwnProperty.call(e3, "optimizeFor") && t3.uint32(72).int32(e3.optimizeFor), null != e3.javaMultipleFiles && Object.hasOwnProperty.call(e3, "javaMultipleFiles") && t3.uint32(80).bool(e3.javaMultipleFiles), null != e3.goPackage && Object.hasOwnProperty.call(e3, "goPackage") && t3.uint32(90).string(e3.goPackage), null != e3.ccGenericServices && Object.hasOwnProperty.call(e3, "ccGenericServices") && t3.uint32(128).bool(e3.ccGenericServices), null != e3.javaGenericServices && Object.hasOwnProperty.call(e3, "javaGenericServices") && t3.uint32(136).bool(e3.javaGenericServices), null != e3.pyGenericServices && Object.hasOwnProperty.call(e3, "pyGenericServices") && t3.uint32(144).bool(e3.pyGenericServices), null != e3.javaGenerateEqualsAndHash && Object.hasOwnProperty.call(e3, "javaGenerateEqualsAndHash") && t3.uint32(160).bool(e3.javaGenerateEqualsAndHash), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(184).bool(e3.deprecated), null != e3.javaStringCheckUtf8 && Object.hasOwnProperty.call(e3, "javaStringCheckUtf8") && t3.uint32(216).bool(e3.javaStringCheckUtf8), null != e3.ccEnableArenas && Object.hasOwnProperty.call(e3, "ccEnableArenas") && t3.uint32(248).bool(e3.ccEnableArenas), null != e3.objcClassPrefix && Object.hasOwnProperty.call(e3, "objcClassPrefix") && t3.uint32(290).string(e3.objcClassPrefix), null != e3.csharpNamespace && Object.hasOwnProperty.call(e3, "csharpNamespace") && t3.uint32(298).string(e3.csharpNamespace), null != e3.swiftPrefix && Object.hasOwnProperty.call(e3, "swiftPrefix") && t3.uint32(314).string(e3.swiftPrefix), null != e3.phpClassPrefix && Object.hasOwnProperty.call(e3, "phpClassPrefix") && t3.uint32(322).string(e3.phpClassPrefix), null != e3.phpNamespace && Object.hasOwnProperty.call(e3, "phpNamespace") && t3.uint32(330).string(e3.phpNamespace), null != e3.phpGenericServices && Object.hasOwnProperty.call(e3, "phpGenericServices") && t3.uint32(336).bool(e3.phpGenericServices), null != e3.phpMetadataNamespace && Object.hasOwnProperty.call(e3, "phpMetadataNamespace") && t3.uint32(354).string(e3.phpMetadataNamespace), null != e3.rubyPackage && Object.hasOwnProperty.call(e3, "rubyPackage") && t3.uint32(362).string(e3.rubyPackage), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, S.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, S.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.FileOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.javaPackage = e3.string();
break;
case 8:
o4.javaOuterClassname = e3.string();
break;
case 10:
o4.javaMultipleFiles = e3.bool();
break;
case 20:
o4.javaGenerateEqualsAndHash = e3.bool();
break;
case 27:
o4.javaStringCheckUtf8 = e3.bool();
break;
case 9:
o4.optimizeFor = e3.int32();
break;
case 11:
o4.goPackage = e3.string();
break;
case 16:
o4.ccGenericServices = e3.bool();
break;
case 17:
o4.javaGenericServices = e3.bool();
break;
case 18:
o4.pyGenericServices = e3.bool();
break;
case 42:
o4.phpGenericServices = e3.bool();
break;
case 23:
o4.deprecated = e3.bool();
break;
case 31:
o4.ccEnableArenas = e3.bool();
break;
case 36:
o4.objcClassPrefix = e3.string();
break;
case 37:
o4.csharpNamespace = e3.string();
break;
case 39:
o4.swiftPrefix = e3.string();
break;
case 40:
o4.phpClassPrefix = e3.string();
break;
case 41:
o4.phpNamespace = e3.string();
break;
case 44:
o4.phpMetadataNamespace = e3.string();
break;
case 45:
o4.rubyPackage = e3.string();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, S.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, S.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.javaPackage && e3.hasOwnProperty("javaPackage") && !u2.isString(e3.javaPackage)) return "javaPackage: string expected";
if (null != e3.javaOuterClassname && e3.hasOwnProperty("javaOuterClassname") && !u2.isString(e3.javaOuterClassname)) return "javaOuterClassname: string expected";
if (null != e3.javaMultipleFiles && e3.hasOwnProperty("javaMultipleFiles") && "boolean" != typeof e3.javaMultipleFiles) return "javaMultipleFiles: boolean expected";
if (null != e3.javaGenerateEqualsAndHash && e3.hasOwnProperty("javaGenerateEqualsAndHash") && "boolean" != typeof e3.javaGenerateEqualsAndHash) return "javaGenerateEqualsAndHash: boolean expected";
if (null != e3.javaStringCheckUtf8 && e3.hasOwnProperty("javaStringCheckUtf8") && "boolean" != typeof e3.javaStringCheckUtf8) return "javaStringCheckUtf8: boolean expected";
if (null != e3.optimizeFor && e3.hasOwnProperty("optimizeFor")) switch (e3.optimizeFor) {
default:
return "optimizeFor: enum value expected";
case 1:
case 2:
case 3:
}
if (null != e3.goPackage && e3.hasOwnProperty("goPackage") && !u2.isString(e3.goPackage)) return "goPackage: string expected";
if (null != e3.ccGenericServices && e3.hasOwnProperty("ccGenericServices") && "boolean" != typeof e3.ccGenericServices) return "ccGenericServices: boolean expected";
if (null != e3.javaGenericServices && e3.hasOwnProperty("javaGenericServices") && "boolean" != typeof e3.javaGenericServices) return "javaGenericServices: boolean expected";
if (null != e3.pyGenericServices && e3.hasOwnProperty("pyGenericServices") && "boolean" != typeof e3.pyGenericServices) return "pyGenericServices: boolean expected";
if (null != e3.phpGenericServices && e3.hasOwnProperty("phpGenericServices") && "boolean" != typeof e3.phpGenericServices) return "phpGenericServices: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.ccEnableArenas && e3.hasOwnProperty("ccEnableArenas") && "boolean" != typeof e3.ccEnableArenas) return "ccEnableArenas: boolean expected";
if (null != e3.objcClassPrefix && e3.hasOwnProperty("objcClassPrefix") && !u2.isString(e3.objcClassPrefix)) return "objcClassPrefix: string expected";
if (null != e3.csharpNamespace && e3.hasOwnProperty("csharpNamespace") && !u2.isString(e3.csharpNamespace)) return "csharpNamespace: string expected";
if (null != e3.swiftPrefix && e3.hasOwnProperty("swiftPrefix") && !u2.isString(e3.swiftPrefix)) return "swiftPrefix: string expected";
if (null != e3.phpClassPrefix && e3.hasOwnProperty("phpClassPrefix") && !u2.isString(e3.phpClassPrefix)) return "phpClassPrefix: string expected";
if (null != e3.phpNamespace && e3.hasOwnProperty("phpNamespace") && !u2.isString(e3.phpNamespace)) return "phpNamespace: string expected";
if (null != e3.phpMetadataNamespace && e3.hasOwnProperty("phpMetadataNamespace") && !u2.isString(e3.phpMetadataNamespace)) return "phpMetadataNamespace: string expected";
if (null != e3.rubyPackage && e3.hasOwnProperty("rubyPackage") && !u2.isString(e3.rubyPackage)) return "rubyPackage: string expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, S.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.FileOptions) return e3;
var t3 = new c4.google.protobuf.FileOptions();
switch (null != e3.javaPackage && (t3.javaPackage = String(e3.javaPackage)), null != e3.javaOuterClassname && (t3.javaOuterClassname = String(e3.javaOuterClassname)), null != e3.javaMultipleFiles && (t3.javaMultipleFiles = Boolean(e3.javaMultipleFiles)), null != e3.javaGenerateEqualsAndHash && (t3.javaGenerateEqualsAndHash = Boolean(e3.javaGenerateEqualsAndHash)), null != e3.javaStringCheckUtf8 && (t3.javaStringCheckUtf8 = Boolean(e3.javaStringCheckUtf8)), e3.optimizeFor) {
case "SPEED":
case 1:
t3.optimizeFor = 1;
break;
case "CODE_SIZE":
case 2:
t3.optimizeFor = 2;
break;
case "LITE_RUNTIME":
case 3:
t3.optimizeFor = 3;
}
if (null != e3.goPackage && (t3.goPackage = String(e3.goPackage)), null != e3.ccGenericServices && (t3.ccGenericServices = Boolean(e3.ccGenericServices)), null != e3.javaGenericServices && (t3.javaGenericServices = Boolean(e3.javaGenericServices)), null != e3.pyGenericServices && (t3.pyGenericServices = Boolean(e3.pyGenericServices)), null != e3.phpGenericServices && (t3.phpGenericServices = Boolean(e3.phpGenericServices)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.ccEnableArenas && (t3.ccEnableArenas = Boolean(e3.ccEnableArenas)), null != e3.objcClassPrefix && (t3.objcClassPrefix = String(e3.objcClassPrefix)), null != e3.csharpNamespace && (t3.csharpNamespace = String(e3.csharpNamespace)), null != e3.swiftPrefix && (t3.swiftPrefix = String(e3.swiftPrefix)), null != e3.phpClassPrefix && (t3.phpClassPrefix = String(e3.phpClassPrefix)), null != e3.phpNamespace && (t3.phpNamespace = String(e3.phpNamespace)), null != e3.phpMetadataNamespace && (t3.phpMetadataNamespace = String(e3.phpMetadataNamespace)), null != e3.rubyPackage && (t3.rubyPackage = String(e3.rubyPackage)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, S.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.javaPackage = "", n4.javaOuterClassname = "", n4.optimizeFor = t3.enums === String ? "SPEED" : 1, n4.javaMultipleFiles = false, n4.goPackage = "", n4.ccGenericServices = false, n4.javaGenericServices = false, n4.pyGenericServices = false, n4.javaGenerateEqualsAndHash = false, n4.deprecated = false, n4.javaStringCheckUtf8 = false, n4.ccEnableArenas = true, n4.objcClassPrefix = "", n4.csharpNamespace = "", n4.swiftPrefix = "", n4.phpClassPrefix = "", n4.phpNamespace = "", n4.phpGenericServices = false, n4.phpMetadataNamespace = "", n4.rubyPackage = ""), null != e3.javaPackage && e3.hasOwnProperty("javaPackage") && (n4.javaPackage = e3.javaPackage), null != e3.javaOuterClassname && e3.hasOwnProperty("javaOuterClassname") && (n4.javaOuterClassname = e3.javaOuterClassname), null != e3.optimizeFor && e3.hasOwnProperty("optimizeFor") && (n4.optimizeFor = t3.enums === String ? c4.google.protobuf.FileOptions.OptimizeMode[e3.optimizeFor] : e3.optimizeFor), null != e3.javaMultipleFiles && e3.hasOwnProperty("javaMultipleFiles") && (n4.javaMultipleFiles = e3.javaMultipleFiles), null != e3.goPackage && e3.hasOwnProperty("goPackage") && (n4.goPackage = e3.goPackage), null != e3.ccGenericServices && e3.hasOwnProperty("ccGenericServices") && (n4.ccGenericServices = e3.ccGenericServices), null != e3.javaGenericServices && e3.hasOwnProperty("javaGenericServices") && (n4.javaGenericServices = e3.javaGenericServices), null != e3.pyGenericServices && e3.hasOwnProperty("pyGenericServices") && (n4.pyGenericServices = e3.pyGenericServices), null != e3.javaGenerateEqualsAndHash && e3.hasOwnProperty("javaGenerateEqualsAndHash") && (n4.javaGenerateEqualsAndHash = e3.javaGenerateEqualsAndHash), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.javaStringCheckUtf8 && e3.hasOwnProperty("javaStringCheckUtf8") && (n4.javaStringCheckUtf8 = e3.javaStringCheckUtf8), null != e3.ccEnableArenas && e3.hasOwnProperty("ccEnableArenas") && (n4.ccEnableArenas = e3.ccEnableArenas), null != e3.objcClassPrefix && e3.hasOwnProperty("objcClassPrefix") && (n4.objcClassPrefix = e3.objcClassPrefix), null != e3.csharpNamespace && e3.hasOwnProperty("csharpNamespace") && (n4.csharpNamespace = e3.csharpNamespace), null != e3.swiftPrefix && e3.hasOwnProperty("swiftPrefix") && (n4.swiftPrefix = e3.swiftPrefix), null != e3.phpClassPrefix && e3.hasOwnProperty("phpClassPrefix") && (n4.phpClassPrefix = e3.phpClassPrefix), null != e3.phpNamespace && e3.hasOwnProperty("phpNamespace") && (n4.phpNamespace = e3.phpNamespace), null != e3.phpGenericServices && e3.hasOwnProperty("phpGenericServices") && (n4.phpGenericServices = e3.phpGenericServices), null != e3.phpMetadataNamespace && e3.hasOwnProperty("phpMetadataNamespace") && (n4.phpMetadataNamespace = e3.phpMetadataNamespace), null != e3.rubyPackage && e3.hasOwnProperty("rubyPackage") && (n4.rubyPackage = e3.rubyPackage), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, S.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, S.OptimizeMode = (e2 = {}, (t2 = Object.create(e2))[e2[1] = "SPEED"] = 1, t2[e2[2] = "CODE_SIZE"] = 2, t2[e2[3] = "LITE_RUNTIME"] = 3, t2), S), n3.MessageOptions = (k.prototype.messageSetWireFormat = false, k.prototype.noStandardDescriptorAccessor = false, k.prototype.deprecated = false, k.prototype.mapEntry = false, k.prototype.uninterpretedOption = u2.emptyArray, k.create = function(e3) {
return new k(e3);
}, k.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.messageSetWireFormat && Object.hasOwnProperty.call(e3, "messageSetWireFormat") && t3.uint32(8).bool(e3.messageSetWireFormat), null != e3.noStandardDescriptorAccessor && Object.hasOwnProperty.call(e3, "noStandardDescriptorAccessor") && t3.uint32(16).bool(e3.noStandardDescriptorAccessor), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.mapEntry && Object.hasOwnProperty.call(e3, "mapEntry") && t3.uint32(56).bool(e3.mapEntry), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, k.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, k.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.MessageOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.messageSetWireFormat = e3.bool();
break;
case 2:
o4.noStandardDescriptorAccessor = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 7:
o4.mapEntry = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, k.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, k.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.messageSetWireFormat && e3.hasOwnProperty("messageSetWireFormat") && "boolean" != typeof e3.messageSetWireFormat) return "messageSetWireFormat: boolean expected";
if (null != e3.noStandardDescriptorAccessor && e3.hasOwnProperty("noStandardDescriptorAccessor") && "boolean" != typeof e3.noStandardDescriptorAccessor) return "noStandardDescriptorAccessor: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.mapEntry && e3.hasOwnProperty("mapEntry") && "boolean" != typeof e3.mapEntry) return "mapEntry: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, k.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.MessageOptions) return e3;
var t3 = new c4.google.protobuf.MessageOptions();
if (null != e3.messageSetWireFormat && (t3.messageSetWireFormat = Boolean(e3.messageSetWireFormat)), null != e3.noStandardDescriptorAccessor && (t3.noStandardDescriptorAccessor = Boolean(e3.noStandardDescriptorAccessor)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.mapEntry && (t3.mapEntry = Boolean(e3.mapEntry)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, k.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.messageSetWireFormat = false, n4.noStandardDescriptorAccessor = false, n4.deprecated = false, n4.mapEntry = false), null != e3.messageSetWireFormat && e3.hasOwnProperty("messageSetWireFormat") && (n4.messageSetWireFormat = e3.messageSetWireFormat), null != e3.noStandardDescriptorAccessor && e3.hasOwnProperty("noStandardDescriptorAccessor") && (n4.noStandardDescriptorAccessor = e3.noStandardDescriptorAccessor), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.mapEntry && e3.hasOwnProperty("mapEntry") && (n4.mapEntry = e3.mapEntry), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, k.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, k), n3.FieldOptions = (D.prototype.ctype = 0, D.prototype.packed = false, D.prototype.jstype = 0, D.prototype.lazy = false, D.prototype.deprecated = false, D.prototype.weak = false, D.prototype.uninterpretedOption = u2.emptyArray, D.create = function(e3) {
return new D(e3);
}, D.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.ctype && Object.hasOwnProperty.call(e3, "ctype") && t3.uint32(8).int32(e3.ctype), null != e3.packed && Object.hasOwnProperty.call(e3, "packed") && t3.uint32(16).bool(e3.packed), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.lazy && Object.hasOwnProperty.call(e3, "lazy") && t3.uint32(40).bool(e3.lazy), null != e3.jstype && Object.hasOwnProperty.call(e3, "jstype") && t3.uint32(48).int32(e3.jstype), null != e3.weak && Object.hasOwnProperty.call(e3, "weak") && t3.uint32(80).bool(e3.weak), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, D.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, D.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.FieldOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.ctype = e3.int32();
break;
case 2:
o4.packed = e3.bool();
break;
case 6:
o4.jstype = e3.int32();
break;
case 5:
o4.lazy = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 10:
o4.weak = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, D.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, D.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.ctype && e3.hasOwnProperty("ctype")) switch (e3.ctype) {
default:
return "ctype: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.packed && e3.hasOwnProperty("packed") && "boolean" != typeof e3.packed) return "packed: boolean expected";
if (null != e3.jstype && e3.hasOwnProperty("jstype")) switch (e3.jstype) {
default:
return "jstype: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.lazy && e3.hasOwnProperty("lazy") && "boolean" != typeof e3.lazy) return "lazy: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.weak && e3.hasOwnProperty("weak") && "boolean" != typeof e3.weak) return "weak: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, D.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.FieldOptions) return e3;
var t3 = new c4.google.protobuf.FieldOptions();
switch (e3.ctype) {
case "STRING":
case 0:
t3.ctype = 0;
break;
case "CORD":
case 1:
t3.ctype = 1;
break;
case "STRING_PIECE":
case 2:
t3.ctype = 2;
}
switch (null != e3.packed && (t3.packed = Boolean(e3.packed)), e3.jstype) {
case "JS_NORMAL":
case 0:
t3.jstype = 0;
break;
case "JS_STRING":
case 1:
t3.jstype = 1;
break;
case "JS_NUMBER":
case 2:
t3.jstype = 2;
}
if (null != e3.lazy && (t3.lazy = Boolean(e3.lazy)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.weak && (t3.weak = Boolean(e3.weak)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, D.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.ctype = t3.enums === String ? "STRING" : 0, n4.packed = false, n4.deprecated = false, n4.lazy = false, n4.jstype = t3.enums === String ? "JS_NORMAL" : 0, n4.weak = false), null != e3.ctype && e3.hasOwnProperty("ctype") && (n4.ctype = t3.enums === String ? c4.google.protobuf.FieldOptions.CType[e3.ctype] : e3.ctype), null != e3.packed && e3.hasOwnProperty("packed") && (n4.packed = e3.packed), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.lazy && e3.hasOwnProperty("lazy") && (n4.lazy = e3.lazy), null != e3.jstype && e3.hasOwnProperty("jstype") && (n4.jstype = t3.enums === String ? c4.google.protobuf.FieldOptions.JSType[e3.jstype] : e3.jstype), null != e3.weak && e3.hasOwnProperty("weak") && (n4.weak = e3.weak), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, D.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, D.CType = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "STRING"] = 0, t2[e2[1] = "CORD"] = 1, t2[e2[2] = "STRING_PIECE"] = 2, t2), D.JSType = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "JS_NORMAL"] = 0, t2[e2[1] = "JS_STRING"] = 1, t2[e2[2] = "JS_NUMBER"] = 2, t2), D), n3.OneofOptions = (M.prototype.uninterpretedOption = u2.emptyArray, M.create = function(e3) {
return new M(e3);
}, M.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, M.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, M.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.OneofOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 999 ? (o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, M.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, M.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, M.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.OneofOptions) return e3;
var t3 = new c4.google.protobuf.OneofOptions();
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, M.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, M.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, M), n3.EnumOptions = (T.prototype.allowAlias = false, T.prototype.deprecated = false, T.prototype.uninterpretedOption = u2.emptyArray, T.create = function(e3) {
return new T(e3);
}, T.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.allowAlias && Object.hasOwnProperty.call(e3, "allowAlias") && t3.uint32(16).bool(e3.allowAlias), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, T.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, T.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.EnumOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 2:
o4.allowAlias = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, T.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, T.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.allowAlias && e3.hasOwnProperty("allowAlias") && "boolean" != typeof e3.allowAlias) return "allowAlias: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, T.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.EnumOptions) return e3;
var t3 = new c4.google.protobuf.EnumOptions();
if (null != e3.allowAlias && (t3.allowAlias = Boolean(e3.allowAlias)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, T.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.allowAlias = false, n4.deprecated = false), null != e3.allowAlias && e3.hasOwnProperty("allowAlias") && (n4.allowAlias = e3.allowAlias), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, T.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, T), n3.EnumValueOptions = (E.prototype.deprecated = false, E.prototype.uninterpretedOption = u2.emptyArray, E.create = function(e3) {
return new E(e3);
}, E.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(8).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, E.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, E.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.EnumValueOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, E.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, E.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, E.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.EnumValueOptions) return e3;
var t3 = new c4.google.protobuf.EnumValueOptions();
if (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, E.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.deprecated = false), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, E.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, E), n3.ServiceOptions = (A.prototype.deprecated = false, A.prototype.uninterpretedOption = u2.emptyArray, A.prototype[".google.api.defaultHost"] = "", A.prototype[".google.api.oauthScopes"] = "", A.create = function(e3) {
return new A(e3);
}, A.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(264).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return null != e3[".google.api.defaultHost"] && Object.hasOwnProperty.call(e3, ".google.api.defaultHost") && t3.uint32(8394).string(e3[".google.api.defaultHost"]), null != e3[".google.api.oauthScopes"] && Object.hasOwnProperty.call(e3, ".google.api.oauthScopes") && t3.uint32(8402).string(e3[".google.api.oauthScopes"]), t3;
}, A.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, A.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.ServiceOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 33:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 1049:
o4[".google.api.defaultHost"] = e3.string();
break;
case 1050:
o4[".google.api.oauthScopes"] = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, A.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, A.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null != e3[".google.api.defaultHost"] && e3.hasOwnProperty(".google.api.defaultHost") && !u2.isString(e3[".google.api.defaultHost"]) ? ".google.api.defaultHost: string expected" : null != e3[".google.api.oauthScopes"] && e3.hasOwnProperty(".google.api.oauthScopes") && !u2.isString(e3[".google.api.oauthScopes"]) ? ".google.api.oauthScopes: string expected" : null;
}, A.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.ServiceOptions) return e3;
var t3 = new c4.google.protobuf.ServiceOptions();
if (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return null != e3[".google.api.defaultHost"] && (t3[".google.api.defaultHost"] = String(e3[".google.api.defaultHost"])), null != e3[".google.api.oauthScopes"] && (t3[".google.api.oauthScopes"] = String(e3[".google.api.oauthScopes"])), t3;
}, A.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.deprecated = false, n4[".google.api.defaultHost"] = "", n4[".google.api.oauthScopes"] = ""), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return null != e3[".google.api.defaultHost"] && e3.hasOwnProperty(".google.api.defaultHost") && (n4[".google.api.defaultHost"] = e3[".google.api.defaultHost"]), null != e3[".google.api.oauthScopes"] && e3.hasOwnProperty(".google.api.oauthScopes") && (n4[".google.api.oauthScopes"] = e3[".google.api.oauthScopes"]), n4;
}, A.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, A), n3.MethodOptions = (N.prototype.deprecated = false, N.prototype.idempotencyLevel = 0, N.prototype.uninterpretedOption = u2.emptyArray, N.prototype[".google.api.http"] = null, N.prototype[".google.api.methodSignature"] = u2.emptyArray, N.create = function(e3) {
return new N(e3);
}, N.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(264).bool(e3.deprecated), null != e3.idempotencyLevel && Object.hasOwnProperty.call(e3, "idempotencyLevel") && t3.uint32(272).int32(e3.idempotencyLevel), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) c4.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
if (null != e3[".google.api.methodSignature"] && e3[".google.api.methodSignature"].length) for (n4 = 0; n4 < e3[".google.api.methodSignature"].length; ++n4) t3.uint32(8410).string(e3[".google.api.methodSignature"][n4]);
return null != e3[".google.api.http"] && Object.hasOwnProperty.call(e3, ".google.api.http") && c4.google.api.HttpRule.encode(e3[".google.api.http"], t3.uint32(578365826).fork()).ldelim(), t3;
}, N.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, N.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.MethodOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 33:
o4.deprecated = e3.bool();
break;
case 34:
o4.idempotencyLevel = e3.int32();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(c4.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 72295728:
o4[".google.api.http"] = c4.google.api.HttpRule.decode(e3, e3.uint32());
break;
case 1051:
o4[".google.api.methodSignature"] && o4[".google.api.methodSignature"].length || (o4[".google.api.methodSignature"] = []), o4[".google.api.methodSignature"].push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, N.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, N.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.idempotencyLevel && e3.hasOwnProperty("idempotencyLevel")) switch (e3.idempotencyLevel) {
default:
return "idempotencyLevel: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) if (n4 = c4.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3])) return "uninterpretedOption." + n4;
}
var n4;
if (null != e3[".google.api.http"] && e3.hasOwnProperty(".google.api.http") && (n4 = c4.google.api.HttpRule.verify(e3[".google.api.http"]))) return ".google.api.http." + n4;
if (null != e3[".google.api.methodSignature"] && e3.hasOwnProperty(".google.api.methodSignature")) {
if (!Array.isArray(e3[".google.api.methodSignature"])) return ".google.api.methodSignature: array expected";
for (t3 = 0; t3 < e3[".google.api.methodSignature"].length; ++t3) if (!u2.isString(e3[".google.api.methodSignature"][t3])) return ".google.api.methodSignature: string[] expected";
}
return null;
}, N.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.MethodOptions) return e3;
var t3 = new c4.google.protobuf.MethodOptions();
switch (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.idempotencyLevel) {
case "IDEMPOTENCY_UNKNOWN":
case 0:
t3.idempotencyLevel = 0;
break;
case "NO_SIDE_EFFECTS":
case 1:
t3.idempotencyLevel = 1;
break;
case "IDEMPOTENT":
case 2:
t3.idempotencyLevel = 2;
}
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = c4.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
if (null != e3[".google.api.http"]) {
if ("object" != typeof e3[".google.api.http"]) throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");
t3[".google.api.http"] = c4.google.api.HttpRule.fromObject(e3[".google.api.http"]);
}
if (e3[".google.api.methodSignature"]) {
if (!Array.isArray(e3[".google.api.methodSignature"])) throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected");
t3[".google.api.methodSignature"] = [];
for (n4 = 0; n4 < e3[".google.api.methodSignature"].length; ++n4) t3[".google.api.methodSignature"][n4] = String(e3[".google.api.methodSignature"][n4]);
}
return t3;
}, N.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = [], n4[".google.api.methodSignature"] = []), t3.defaults && (n4.deprecated = false, n4.idempotencyLevel = t3.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0, n4[".google.api.http"] = null), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.idempotencyLevel && e3.hasOwnProperty("idempotencyLevel") && (n4.idempotencyLevel = t3.enums === String ? c4.google.protobuf.MethodOptions.IdempotencyLevel[e3.idempotencyLevel] : e3.idempotencyLevel), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = c4.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
if (e3[".google.api.methodSignature"] && e3[".google.api.methodSignature"].length) {
n4[".google.api.methodSignature"] = [];
for (o4 = 0; o4 < e3[".google.api.methodSignature"].length; ++o4) n4[".google.api.methodSignature"][o4] = e3[".google.api.methodSignature"][o4];
}
return null != e3[".google.api.http"] && e3.hasOwnProperty(".google.api.http") && (n4[".google.api.http"] = c4.google.api.HttpRule.toObject(e3[".google.api.http"], t3)), n4;
}, N.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, N.IdempotencyLevel = (e2 = {}, (t2 = Object.create(e2))[e2[0] = "IDEMPOTENCY_UNKNOWN"] = 0, t2[e2[1] = "NO_SIDE_EFFECTS"] = 1, t2[e2[2] = "IDEMPOTENT"] = 2, t2), N), n3.UninterpretedOption = (I2.prototype.name = u2.emptyArray, I2.prototype.identifierValue = "", I2.prototype.positiveIntValue = u2.Long ? u2.Long.fromBits(0, 0, true) : 0, I2.prototype.negativeIntValue = u2.Long ? u2.Long.fromBits(0, 0, false) : 0, I2.prototype.doubleValue = 0, I2.prototype.stringValue = u2.newBuffer([]), I2.prototype.aggregateValue = "", I2.create = function(e3) {
return new I2(e3);
}, I2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && e3.name.length) for (var n4 = 0; n4 < e3.name.length; ++n4) c4.google.protobuf.UninterpretedOption.NamePart.encode(e3.name[n4], t3.uint32(18).fork()).ldelim();
return null != e3.identifierValue && Object.hasOwnProperty.call(e3, "identifierValue") && t3.uint32(26).string(e3.identifierValue), null != e3.positiveIntValue && Object.hasOwnProperty.call(e3, "positiveIntValue") && t3.uint32(32).uint64(e3.positiveIntValue), null != e3.negativeIntValue && Object.hasOwnProperty.call(e3, "negativeIntValue") && t3.uint32(40).int64(e3.negativeIntValue), null != e3.doubleValue && Object.hasOwnProperty.call(e3, "doubleValue") && t3.uint32(49).double(e3.doubleValue), null != e3.stringValue && Object.hasOwnProperty.call(e3, "stringValue") && t3.uint32(58).bytes(e3.stringValue), null != e3.aggregateValue && Object.hasOwnProperty.call(e3, "aggregateValue") && t3.uint32(66).string(e3.aggregateValue), t3;
}, I2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, I2.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.UninterpretedOption(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 2:
o4.name && o4.name.length || (o4.name = []), o4.name.push(c4.google.protobuf.UninterpretedOption.NamePart.decode(e3, e3.uint32()));
break;
case 3:
o4.identifierValue = e3.string();
break;
case 4:
o4.positiveIntValue = e3.uint64();
break;
case 5:
o4.negativeIntValue = e3.int64();
break;
case 6:
o4.doubleValue = e3.double();
break;
case 7:
o4.stringValue = e3.bytes();
break;
case 8:
o4.aggregateValue = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, I2.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, I2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name")) {
if (!Array.isArray(e3.name)) return "name: array expected";
for (var t3 = 0; t3 < e3.name.length; ++t3) {
var n4 = c4.google.protobuf.UninterpretedOption.NamePart.verify(e3.name[t3]);
if (n4) return "name." + n4;
}
}
return null != e3.identifierValue && e3.hasOwnProperty("identifierValue") && !u2.isString(e3.identifierValue) ? "identifierValue: string expected" : null != e3.positiveIntValue && e3.hasOwnProperty("positiveIntValue") && !(u2.isInteger(e3.positiveIntValue) || e3.positiveIntValue && u2.isInteger(e3.positiveIntValue.low) && u2.isInteger(e3.positiveIntValue.high)) ? "positiveIntValue: integer|Long expected" : null != e3.negativeIntValue && e3.hasOwnProperty("negativeIntValue") && !(u2.isInteger(e3.negativeIntValue) || e3.negativeIntValue && u2.isInteger(e3.negativeIntValue.low) && u2.isInteger(e3.negativeIntValue.high)) ? "negativeIntValue: integer|Long expected" : null != e3.doubleValue && e3.hasOwnProperty("doubleValue") && "number" != typeof e3.doubleValue ? "doubleValue: number expected" : null != e3.stringValue && e3.hasOwnProperty("stringValue") && !(e3.stringValue && "number" == typeof e3.stringValue.length || u2.isString(e3.stringValue)) ? "stringValue: buffer expected" : null != e3.aggregateValue && e3.hasOwnProperty("aggregateValue") && !u2.isString(e3.aggregateValue) ? "aggregateValue: string expected" : null;
}, I2.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.UninterpretedOption) return e3;
var t3 = new c4.google.protobuf.UninterpretedOption();
if (e3.name) {
if (!Array.isArray(e3.name)) throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");
t3.name = [];
for (var n4 = 0; n4 < e3.name.length; ++n4) {
if ("object" != typeof e3.name[n4]) throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");
t3.name[n4] = c4.google.protobuf.UninterpretedOption.NamePart.fromObject(e3.name[n4]);
}
}
return null != e3.identifierValue && (t3.identifierValue = String(e3.identifierValue)), null != e3.positiveIntValue && (u2.Long ? (t3.positiveIntValue = u2.Long.fromValue(e3.positiveIntValue)).unsigned = true : "string" == typeof e3.positiveIntValue ? t3.positiveIntValue = parseInt(e3.positiveIntValue, 10) : "number" == typeof e3.positiveIntValue ? t3.positiveIntValue = e3.positiveIntValue : "object" == typeof e3.positiveIntValue && (t3.positiveIntValue = new u2.LongBits(e3.positiveIntValue.low >>> 0, e3.positiveIntValue.high >>> 0).toNumber(true))), null != e3.negativeIntValue && (u2.Long ? (t3.negativeIntValue = u2.Long.fromValue(e3.negativeIntValue)).unsigned = false : "string" == typeof e3.negativeIntValue ? t3.negativeIntValue = parseInt(e3.negativeIntValue, 10) : "number" == typeof e3.negativeIntValue ? t3.negativeIntValue = e3.negativeIntValue : "object" == typeof e3.negativeIntValue && (t3.negativeIntValue = new u2.LongBits(e3.negativeIntValue.low >>> 0, e3.negativeIntValue.high >>> 0).toNumber())), null != e3.doubleValue && (t3.doubleValue = Number(e3.doubleValue)), null != e3.stringValue && ("string" == typeof e3.stringValue ? u2.base64.decode(e3.stringValue, t3.stringValue = u2.newBuffer(u2.base64.length(e3.stringValue)), 0) : e3.stringValue.length && (t3.stringValue = e3.stringValue)), null != e3.aggregateValue && (t3.aggregateValue = String(e3.aggregateValue)), t3;
}, I2.toObject = function(e3, t3) {
var n4, o4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (o4.name = []), t3.defaults && (o4.identifierValue = "", u2.Long ? (n4 = new u2.Long(0, 0, true), o4.positiveIntValue = t3.longs === String ? n4.toString() : t3.longs === Number ? n4.toNumber() : n4) : o4.positiveIntValue = t3.longs === String ? "0" : 0, u2.Long ? (n4 = new u2.Long(0, 0, false), o4.negativeIntValue = t3.longs === String ? n4.toString() : t3.longs === Number ? n4.toNumber() : n4) : o4.negativeIntValue = t3.longs === String ? "0" : 0, o4.doubleValue = 0, t3.bytes === String ? o4.stringValue = "" : (o4.stringValue = [], t3.bytes !== Array && (o4.stringValue = u2.newBuffer(o4.stringValue))), o4.aggregateValue = ""), e3.name && e3.name.length) {
o4.name = [];
for (var r3 = 0; r3 < e3.name.length; ++r3) o4.name[r3] = c4.google.protobuf.UninterpretedOption.NamePart.toObject(e3.name[r3], t3);
}
return null != e3.identifierValue && e3.hasOwnProperty("identifierValue") && (o4.identifierValue = e3.identifierValue), null != e3.positiveIntValue && e3.hasOwnProperty("positiveIntValue") && ("number" == typeof e3.positiveIntValue ? o4.positiveIntValue = t3.longs === String ? String(e3.positiveIntValue) : e3.positiveIntValue : o4.positiveIntValue = t3.longs === String ? u2.Long.prototype.toString.call(e3.positiveIntValue) : t3.longs === Number ? new u2.LongBits(e3.positiveIntValue.low >>> 0, e3.positiveIntValue.high >>> 0).toNumber(true) : e3.positiveIntValue), null != e3.negativeIntValue && e3.hasOwnProperty("negativeIntValue") && ("number" == typeof e3.negativeIntValue ? o4.negativeIntValue = t3.longs === String ? String(e3.negativeIntValue) : e3.negativeIntValue : o4.negativeIntValue = t3.longs === String ? u2.Long.prototype.toString.call(e3.negativeIntValue) : t3.longs === Number ? new u2.LongBits(e3.negativeIntValue.low >>> 0, e3.negativeIntValue.high >>> 0).toNumber() : e3.negativeIntValue), null != e3.doubleValue && e3.hasOwnProperty("doubleValue") && (o4.doubleValue = t3.json && !isFinite(e3.doubleValue) ? String(e3.doubleValue) : e3.doubleValue), null != e3.stringValue && e3.hasOwnProperty("stringValue") && (o4.stringValue = t3.bytes === String ? u2.base64.encode(e3.stringValue, 0, e3.stringValue.length) : t3.bytes === Array ? Array.prototype.slice.call(e3.stringValue) : e3.stringValue), null != e3.aggregateValue && e3.hasOwnProperty("aggregateValue") && (o4.aggregateValue = e3.aggregateValue), o4;
}, I2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, I2.NamePart = (R.prototype.namePart = "", R.prototype.isExtension = false, R.create = function(e3) {
return new R(e3);
}, R.encode = function(e3, t3) {
return (t3 = t3 || r2.create()).uint32(10).string(e3.namePart), t3.uint32(16).bool(e3.isExtension), t3;
}, R.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, R.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.UninterpretedOption.NamePart(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.namePart = e3.string();
break;
case 2:
o4.isExtension = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
if (!o4.hasOwnProperty("namePart")) throw u2.ProtocolError("missing required 'namePart'", { instance: o4 });
if (o4.hasOwnProperty("isExtension")) return o4;
throw u2.ProtocolError("missing required 'isExtension'", { instance: o4 });
}, R.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, R.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : u2.isString(e3.namePart) ? "boolean" != typeof e3.isExtension ? "isExtension: boolean expected" : null : "namePart: string expected";
}, R.fromObject = function(e3) {
var t3;
return e3 instanceof c4.google.protobuf.UninterpretedOption.NamePart ? e3 : (t3 = new c4.google.protobuf.UninterpretedOption.NamePart(), null != e3.namePart && (t3.namePart = String(e3.namePart)), null != e3.isExtension && (t3.isExtension = Boolean(e3.isExtension)), t3);
}, R.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.namePart = "", n4.isExtension = false), null != e3.namePart && e3.hasOwnProperty("namePart") && (n4.namePart = e3.namePart), null != e3.isExtension && e3.hasOwnProperty("isExtension") && (n4.isExtension = e3.isExtension), n4;
}, R.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, R), I2), n3.SourceCodeInfo = (_.prototype.location = u2.emptyArray, _.create = function(e3) {
return new _(e3);
}, _.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.location && e3.location.length) for (var n4 = 0; n4 < e3.location.length; ++n4) c4.google.protobuf.SourceCodeInfo.Location.encode(e3.location[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, _.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, _.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.SourceCodeInfo(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.location && o4.location.length || (o4.location = []), o4.location.push(c4.google.protobuf.SourceCodeInfo.Location.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, _.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, _.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.location && e3.hasOwnProperty("location")) {
if (!Array.isArray(e3.location)) return "location: array expected";
for (var t3 = 0; t3 < e3.location.length; ++t3) {
var n4 = c4.google.protobuf.SourceCodeInfo.Location.verify(e3.location[t3]);
if (n4) return "location." + n4;
}
}
return null;
}, _.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.SourceCodeInfo) return e3;
var t3 = new c4.google.protobuf.SourceCodeInfo();
if (e3.location) {
if (!Array.isArray(e3.location)) throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected");
t3.location = [];
for (var n4 = 0; n4 < e3.location.length; ++n4) {
if ("object" != typeof e3.location[n4]) throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected");
t3.location[n4] = c4.google.protobuf.SourceCodeInfo.Location.fromObject(e3.location[n4]);
}
}
return t3;
}, _.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.location = []), e3.location && e3.location.length) {
n4.location = [];
for (var o4 = 0; o4 < e3.location.length; ++o4) n4.location[o4] = c4.google.protobuf.SourceCodeInfo.Location.toObject(e3.location[o4], t3);
}
return n4;
}, _.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, _.Location = (C2.prototype.path = u2.emptyArray, C2.prototype.span = u2.emptyArray, C2.prototype.leadingComments = "", C2.prototype.trailingComments = "", C2.prototype.leadingDetachedComments = u2.emptyArray, C2.create = function(e3) {
return new C2(e3);
}, C2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.path && e3.path.length) {
t3.uint32(10).fork();
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.int32(e3.path[n4]);
t3.ldelim();
}
if (null != e3.span && e3.span.length) {
t3.uint32(18).fork();
for (n4 = 0; n4 < e3.span.length; ++n4) t3.int32(e3.span[n4]);
t3.ldelim();
}
if (null != e3.leadingComments && Object.hasOwnProperty.call(e3, "leadingComments") && t3.uint32(26).string(e3.leadingComments), null != e3.trailingComments && Object.hasOwnProperty.call(e3, "trailingComments") && t3.uint32(34).string(e3.trailingComments), null != e3.leadingDetachedComments && e3.leadingDetachedComments.length) for (n4 = 0; n4 < e3.leadingDetachedComments.length; ++n4) t3.uint32(50).string(e3.leadingDetachedComments[n4]);
return t3;
}, C2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, C2.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.SourceCodeInfo.Location(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
if (o4.path && o4.path.length || (o4.path = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.path.push(e3.int32());
else o4.path.push(e3.int32());
break;
case 2:
if (o4.span && o4.span.length || (o4.span = []), 2 == (7 & r3)) for (i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.span.push(e3.int32());
else o4.span.push(e3.int32());
break;
case 3:
o4.leadingComments = e3.string();
break;
case 4:
o4.trailingComments = e3.string();
break;
case 6:
o4.leadingDetachedComments && o4.leadingDetachedComments.length || (o4.leadingDetachedComments = []), o4.leadingDetachedComments.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, C2.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, C2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.path && e3.hasOwnProperty("path")) {
if (!Array.isArray(e3.path)) return "path: array expected";
for (var t3 = 0; t3 < e3.path.length; ++t3) if (!u2.isInteger(e3.path[t3])) return "path: integer[] expected";
}
if (null != e3.span && e3.hasOwnProperty("span")) {
if (!Array.isArray(e3.span)) return "span: array expected";
for (t3 = 0; t3 < e3.span.length; ++t3) if (!u2.isInteger(e3.span[t3])) return "span: integer[] expected";
}
if (null != e3.leadingComments && e3.hasOwnProperty("leadingComments") && !u2.isString(e3.leadingComments)) return "leadingComments: string expected";
if (null != e3.trailingComments && e3.hasOwnProperty("trailingComments") && !u2.isString(e3.trailingComments)) return "trailingComments: string expected";
if (null != e3.leadingDetachedComments && e3.hasOwnProperty("leadingDetachedComments")) {
if (!Array.isArray(e3.leadingDetachedComments)) return "leadingDetachedComments: array expected";
for (t3 = 0; t3 < e3.leadingDetachedComments.length; ++t3) if (!u2.isString(e3.leadingDetachedComments[t3])) return "leadingDetachedComments: string[] expected";
}
return null;
}, C2.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.SourceCodeInfo.Location) return e3;
var t3 = new c4.google.protobuf.SourceCodeInfo.Location();
if (e3.path) {
if (!Array.isArray(e3.path)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected");
t3.path = [];
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.path[n4] = 0 | e3.path[n4];
}
if (e3.span) {
if (!Array.isArray(e3.span)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected");
t3.span = [];
for (n4 = 0; n4 < e3.span.length; ++n4) t3.span[n4] = 0 | e3.span[n4];
}
if (null != e3.leadingComments && (t3.leadingComments = String(e3.leadingComments)), null != e3.trailingComments && (t3.trailingComments = String(e3.trailingComments)), e3.leadingDetachedComments) {
if (!Array.isArray(e3.leadingDetachedComments)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected");
t3.leadingDetachedComments = [];
for (n4 = 0; n4 < e3.leadingDetachedComments.length; ++n4) t3.leadingDetachedComments[n4] = String(e3.leadingDetachedComments[n4]);
}
return t3;
}, C2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.path = [], n4.span = [], n4.leadingDetachedComments = []), t3.defaults && (n4.leadingComments = "", n4.trailingComments = ""), e3.path && e3.path.length) {
n4.path = [];
for (var o4 = 0; o4 < e3.path.length; ++o4) n4.path[o4] = e3.path[o4];
}
if (e3.span && e3.span.length) {
n4.span = [];
for (o4 = 0; o4 < e3.span.length; ++o4) n4.span[o4] = e3.span[o4];
}
if (null != e3.leadingComments && e3.hasOwnProperty("leadingComments") && (n4.leadingComments = e3.leadingComments), null != e3.trailingComments && e3.hasOwnProperty("trailingComments") && (n4.trailingComments = e3.trailingComments), e3.leadingDetachedComments && e3.leadingDetachedComments.length) {
n4.leadingDetachedComments = [];
for (o4 = 0; o4 < e3.leadingDetachedComments.length; ++o4) n4.leadingDetachedComments[o4] = e3.leadingDetachedComments[o4];
}
return n4;
}, C2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, C2), _), n3.GeneratedCodeInfo = (J.prototype.annotation = u2.emptyArray, J.create = function(e3) {
return new J(e3);
}, J.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.annotation && e3.annotation.length) for (var n4 = 0; n4 < e3.annotation.length; ++n4) c4.google.protobuf.GeneratedCodeInfo.Annotation.encode(e3.annotation[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, J.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, J.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.GeneratedCodeInfo(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.annotation && o4.annotation.length || (o4.annotation = []), o4.annotation.push(c4.google.protobuf.GeneratedCodeInfo.Annotation.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, J.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, J.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.annotation && e3.hasOwnProperty("annotation")) {
if (!Array.isArray(e3.annotation)) return "annotation: array expected";
for (var t3 = 0; t3 < e3.annotation.length; ++t3) {
var n4 = c4.google.protobuf.GeneratedCodeInfo.Annotation.verify(e3.annotation[t3]);
if (n4) return "annotation." + n4;
}
}
return null;
}, J.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.GeneratedCodeInfo) return e3;
var t3 = new c4.google.protobuf.GeneratedCodeInfo();
if (e3.annotation) {
if (!Array.isArray(e3.annotation)) throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected");
t3.annotation = [];
for (var n4 = 0; n4 < e3.annotation.length; ++n4) {
if ("object" != typeof e3.annotation[n4]) throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected");
t3.annotation[n4] = c4.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(e3.annotation[n4]);
}
}
return t3;
}, J.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.annotation = []), e3.annotation && e3.annotation.length) {
n4.annotation = [];
for (var o4 = 0; o4 < e3.annotation.length; ++o4) n4.annotation[o4] = c4.google.protobuf.GeneratedCodeInfo.Annotation.toObject(e3.annotation[o4], t3);
}
return n4;
}, J.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, J.Annotation = (V2.prototype.path = u2.emptyArray, V2.prototype.sourceFile = "", V2.prototype.begin = 0, V2.prototype.end = 0, V2.create = function(e3) {
return new V2(e3);
}, V2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.path && e3.path.length) {
t3.uint32(10).fork();
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.int32(e3.path[n4]);
t3.ldelim();
}
return null != e3.sourceFile && Object.hasOwnProperty.call(e3, "sourceFile") && t3.uint32(18).string(e3.sourceFile), null != e3.begin && Object.hasOwnProperty.call(e3, "begin") && t3.uint32(24).int32(e3.begin), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(32).int32(e3.end), t3;
}, V2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, V2.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.GeneratedCodeInfo.Annotation(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
if (o4.path && o4.path.length || (o4.path = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.path.push(e3.int32());
else o4.path.push(e3.int32());
break;
case 2:
o4.sourceFile = e3.string();
break;
case 3:
o4.begin = e3.int32();
break;
case 4:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, V2.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, V2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.path && e3.hasOwnProperty("path")) {
if (!Array.isArray(e3.path)) return "path: array expected";
for (var t3 = 0; t3 < e3.path.length; ++t3) if (!u2.isInteger(e3.path[t3])) return "path: integer[] expected";
}
return null != e3.sourceFile && e3.hasOwnProperty("sourceFile") && !u2.isString(e3.sourceFile) ? "sourceFile: string expected" : null != e3.begin && e3.hasOwnProperty("begin") && !u2.isInteger(e3.begin) ? "begin: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !u2.isInteger(e3.end) ? "end: integer expected" : null;
}, V2.fromObject = function(e3) {
if (e3 instanceof c4.google.protobuf.GeneratedCodeInfo.Annotation) return e3;
var t3 = new c4.google.protobuf.GeneratedCodeInfo.Annotation();
if (e3.path) {
if (!Array.isArray(e3.path)) throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected");
t3.path = [];
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.path[n4] = 0 | e3.path[n4];
}
return null != e3.sourceFile && (t3.sourceFile = String(e3.sourceFile)), null != e3.begin && (t3.begin = 0 | e3.begin), null != e3.end && (t3.end = 0 | e3.end), t3;
}, V2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.path = []), t3.defaults && (n4.sourceFile = "", n4.begin = 0, n4.end = 0), e3.path && e3.path.length) {
n4.path = [];
for (var o4 = 0; o4 < e3.path.length; ++o4) n4.path[o4] = e3.path[o4];
}
return null != e3.sourceFile && e3.hasOwnProperty("sourceFile") && (n4.sourceFile = e3.sourceFile), null != e3.begin && e3.hasOwnProperty("begin") && (n4.begin = e3.begin), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, V2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, V2), J), n3.Any = (H.prototype.type_url = "", H.prototype.value = u2.newBuffer([]), H.create = function(e3) {
return new H(e3);
}, H.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.type_url && Object.hasOwnProperty.call(e3, "type_url") && t3.uint32(10).string(e3.type_url), null != e3.value && Object.hasOwnProperty.call(e3, "value") && t3.uint32(18).bytes(e3.value), t3;
}, H.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, H.decode = function(e3, t3) {
e3 instanceof s2 || (e3 = s2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new c4.google.protobuf.Any(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.type_url = e3.string();
break;
case 2:
o4.value = e3.bytes();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, H.decodeDelimited = function(e3) {
return e3 instanceof s2 || (e3 = new s2(e3)), this.decode(e3, e3.uint32());
}, H.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.type_url && e3.hasOwnProperty("type_url") && !u2.isString(e3.type_url) ? "type_url: string expected" : null != e3.value && e3.hasOwnProperty("value") && !(e3.value && "number" == typeof e3.value.length || u2.isString(e3.value)) ? "value: buffer expected" : null;
}, H.fromObject = function(e3) {
var t3;
return e3 instanceof c4.google.protobuf.Any ? e3 : (t3 = new c4.google.protobuf.Any(), null != e3.type_url && (t3.type_url = String(e3.type_url)), null != e3.value && ("string" == typeof e3.value ? u2.base64.decode(e3.value, t3.value = u2.newBuffer(u2.base64.length(e3.value)), 0) : e3.value.length && (t3.value = e3.value)), t3);
}, H.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.type_url = "", t3.bytes === String ? n4.value = "" : (n4.value = [], t3.bytes !== Array && (n4.value = u2.newBuffer(n4.value)))), null != e3.type_url && e3.hasOwnProperty("type_url") && (n4.type_url = e3.type_url), null != e3.value && e3.hasOwnProperty("value") && (n4.value = t3.bytes === String ? u2.base64.encode(e3.value, 0, e3.value.length) : t3.bytes === Array ? Array.prototype.slice.call(e3.value) : e3.value), n4;
}, H.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, H), n3), F), c4;
});
}
});
// node_modules/google-gax/build/protos/operations.js
var require_operations = __commonJS({
"node_modules/google-gax/build/protos/operations.js"(exports2, module2) {
((e2) => {
"function" == typeof define && define.amd ? define(["protobufjs/minimal"], e2) : "function" == typeof __require && "object" == typeof module2 && module2 && module2.exports && (module2.exports = e2(require_minimal4()));
})(function(o3) {
var e2, t2, n3, F, a2 = o3.Reader, r2 = o3.Writer, i3 = o3.util, p = o3.roots.operations_protos || (o3.roots.operations_protos = {});
function G(e3, t3, n4) {
o3.rpc.Service.call(this, e3, t3, n4);
}
function l2(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function B(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function s2(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function u2(e3) {
if (this.operations = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function L(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function U(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function c4(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function d(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function g(e3) {
if (this.rules = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function f(e3) {
if (this.additionalBindings = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function y(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function J(e3) {
if (this.file = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function h2(e3) {
if (this.dependency = [], this.publicDependency = [], this.weakDependency = [], this.messageType = [], this.enumType = [], this.service = [], this.extension = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function O(e3) {
if (this.field = [], this.extension = [], this.nestedType = [], this.enumType = [], this.extensionRange = [], this.oneofDecl = [], this.reservedRange = [], this.reservedName = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function b(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function m(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function M(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function v(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function w(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function P(e3) {
if (this.value = [], this.reservedRange = [], this.reservedName = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function _(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function j(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function S(e3) {
if (this.method = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function x(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function k(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function D(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function T(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function H(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function E(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function z(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function A(e3) {
if (this.uninterpretedOption = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function N(e3) {
if (this.uninterpretedOption = [], this[".google.api.methodSignature"] = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function I2(e3) {
if (this.name = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function q(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function Y(e3) {
if (this.location = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function R(e3) {
if (this.path = [], this.span = [], this.leadingDetachedComments = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function W(e3) {
if (this.annotation = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function C2(e3) {
if (this.path = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function X(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function K(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function Q(e3) {
if (e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
function V2(e3) {
if (this.details = [], e3) for (var t3 = Object.keys(e3), n4 = 0; n4 < t3.length; ++n4) null != e3[t3[n4]] && (this[t3[n4]] = e3[t3[n4]]);
}
return p.google = ((F = {}).longrunning = ((t2 = {}).Operations = (((G.prototype = Object.create(o3.rpc.Service.prototype)).constructor = G).create = function(e3, t3, n4) {
return new this(e3, t3, n4);
}, Object.defineProperty(G.prototype.listOperations = function e3(t3, n4) {
return this.rpcCall(e3, p.google.longrunning.ListOperationsRequest, p.google.longrunning.ListOperationsResponse, t3, n4);
}, "name", { value: "ListOperations" }), Object.defineProperty(G.prototype.getOperation = function e3(t3, n4) {
return this.rpcCall(e3, p.google.longrunning.GetOperationRequest, p.google.longrunning.Operation, t3, n4);
}, "name", { value: "GetOperation" }), Object.defineProperty(G.prototype.deleteOperation = function e3(t3, n4) {
return this.rpcCall(e3, p.google.longrunning.DeleteOperationRequest, p.google.protobuf.Empty, t3, n4);
}, "name", { value: "DeleteOperation" }), Object.defineProperty(G.prototype.cancelOperation = function e3(t3, n4) {
return this.rpcCall(e3, p.google.longrunning.CancelOperationRequest, p.google.protobuf.Empty, t3, n4);
}, "name", { value: "CancelOperation" }), Object.defineProperty(G.prototype.waitOperation = function e3(t3, n4) {
return this.rpcCall(e3, p.google.longrunning.WaitOperationRequest, p.google.longrunning.Operation, t3, n4);
}, "name", { value: "WaitOperation" }), G), t2.Operation = (l2.prototype.name = "", l2.prototype.metadata = null, l2.prototype.done = false, l2.prototype.error = null, l2.prototype.response = null, Object.defineProperty(l2.prototype, "result", { get: i3.oneOfGetter(n3 = ["error", "response"]), set: i3.oneOfSetter(n3) }), l2.create = function(e3) {
return new l2(e3);
}, l2.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.metadata && Object.hasOwnProperty.call(e3, "metadata") && p.google.protobuf.Any.encode(e3.metadata, t3.uint32(18).fork()).ldelim(), null != e3.done && Object.hasOwnProperty.call(e3, "done") && t3.uint32(24).bool(e3.done), null != e3.error && Object.hasOwnProperty.call(e3, "error") && p.google.rpc.Status.encode(e3.error, t3.uint32(34).fork()).ldelim(), null != e3.response && Object.hasOwnProperty.call(e3, "response") && p.google.protobuf.Any.encode(e3.response, t3.uint32(42).fork()).ldelim(), t3;
}, l2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, l2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.Operation(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.metadata = p.google.protobuf.Any.decode(e3, e3.uint32());
break;
case 3:
o4.done = e3.bool();
break;
case 4:
o4.error = p.google.rpc.Status.decode(e3, e3.uint32());
break;
case 5:
o4.response = p.google.protobuf.Any.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, l2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, l2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
var t3, n4 = {};
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.metadata && e3.hasOwnProperty("metadata") && (t3 = p.google.protobuf.Any.verify(e3.metadata))) return "metadata." + t3;
if (null != e3.done && e3.hasOwnProperty("done") && "boolean" != typeof e3.done) return "done: boolean expected";
if (null != e3.error && e3.hasOwnProperty("error") && (n4.result = 1, t3 = p.google.rpc.Status.verify(e3.error))) return "error." + t3;
if (null != e3.response && e3.hasOwnProperty("response")) {
if (1 === n4.result) return "result: multiple values";
if (n4.result = 1, t3 = p.google.protobuf.Any.verify(e3.response)) return "response." + t3;
}
return null;
}, l2.fromObject = function(e3) {
if (e3 instanceof p.google.longrunning.Operation) return e3;
var t3 = new p.google.longrunning.Operation();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.metadata) {
if ("object" != typeof e3.metadata) throw TypeError(".google.longrunning.Operation.metadata: object expected");
t3.metadata = p.google.protobuf.Any.fromObject(e3.metadata);
}
if (null != e3.done && (t3.done = Boolean(e3.done)), null != e3.error) {
if ("object" != typeof e3.error) throw TypeError(".google.longrunning.Operation.error: object expected");
t3.error = p.google.rpc.Status.fromObject(e3.error);
}
if (null != e3.response) {
if ("object" != typeof e3.response) throw TypeError(".google.longrunning.Operation.response: object expected");
t3.response = p.google.protobuf.Any.fromObject(e3.response);
}
return t3;
}, l2.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.metadata = null, n4.done = false), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.metadata && e3.hasOwnProperty("metadata") && (n4.metadata = p.google.protobuf.Any.toObject(e3.metadata, t3)), null != e3.done && e3.hasOwnProperty("done") && (n4.done = e3.done), null != e3.error && e3.hasOwnProperty("error") && (n4.error = p.google.rpc.Status.toObject(e3.error, t3), t3.oneofs) && (n4.result = "error"), null != e3.response && e3.hasOwnProperty("response") && (n4.response = p.google.protobuf.Any.toObject(e3.response, t3), t3.oneofs) && (n4.result = "response"), n4;
}, l2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, l2), t2.GetOperationRequest = (B.prototype.name = "", B.create = function(e3) {
return new B(e3);
}, B.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), t3;
}, B.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, B.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.GetOperationRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? o4.name = e3.string() : e3.skipType(7 & r3);
}
return o4;
}, B.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, B.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name) ? "name: string expected" : null;
}, B.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.longrunning.GetOperationRequest ? e3 : (t3 = new p.google.longrunning.GetOperationRequest(), null != e3.name && (t3.name = String(e3.name)), t3);
}, B.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), n4;
}, B.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, B), t2.ListOperationsRequest = (s2.prototype.name = "", s2.prototype.filter = "", s2.prototype.pageSize = 0, s2.prototype.pageToken = "", s2.create = function(e3) {
return new s2(e3);
}, s2.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.filter && Object.hasOwnProperty.call(e3, "filter") && t3.uint32(10).string(e3.filter), null != e3.pageSize && Object.hasOwnProperty.call(e3, "pageSize") && t3.uint32(16).int32(e3.pageSize), null != e3.pageToken && Object.hasOwnProperty.call(e3, "pageToken") && t3.uint32(26).string(e3.pageToken), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(34).string(e3.name), t3;
}, s2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, s2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.ListOperationsRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 4:
o4.name = e3.string();
break;
case 1:
o4.filter = e3.string();
break;
case 2:
o4.pageSize = e3.int32();
break;
case 3:
o4.pageToken = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, s2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, s2.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name) ? "name: string expected" : null != e3.filter && e3.hasOwnProperty("filter") && !i3.isString(e3.filter) ? "filter: string expected" : null != e3.pageSize && e3.hasOwnProperty("pageSize") && !i3.isInteger(e3.pageSize) ? "pageSize: integer expected" : null != e3.pageToken && e3.hasOwnProperty("pageToken") && !i3.isString(e3.pageToken) ? "pageToken: string expected" : null;
}, s2.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.longrunning.ListOperationsRequest ? e3 : (t3 = new p.google.longrunning.ListOperationsRequest(), null != e3.name && (t3.name = String(e3.name)), null != e3.filter && (t3.filter = String(e3.filter)), null != e3.pageSize && (t3.pageSize = 0 | e3.pageSize), null != e3.pageToken && (t3.pageToken = String(e3.pageToken)), t3);
}, s2.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.filter = "", n4.pageSize = 0, n4.pageToken = "", n4.name = ""), null != e3.filter && e3.hasOwnProperty("filter") && (n4.filter = e3.filter), null != e3.pageSize && e3.hasOwnProperty("pageSize") && (n4.pageSize = e3.pageSize), null != e3.pageToken && e3.hasOwnProperty("pageToken") && (n4.pageToken = e3.pageToken), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), n4;
}, s2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, s2), t2.ListOperationsResponse = (u2.prototype.operations = i3.emptyArray, u2.prototype.nextPageToken = "", u2.create = function(e3) {
return new u2(e3);
}, u2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.operations && e3.operations.length) for (var n4 = 0; n4 < e3.operations.length; ++n4) p.google.longrunning.Operation.encode(e3.operations[n4], t3.uint32(10).fork()).ldelim();
return null != e3.nextPageToken && Object.hasOwnProperty.call(e3, "nextPageToken") && t3.uint32(18).string(e3.nextPageToken), t3;
}, u2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, u2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.ListOperationsResponse(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.operations && o4.operations.length || (o4.operations = []), o4.operations.push(p.google.longrunning.Operation.decode(e3, e3.uint32()));
break;
case 2:
o4.nextPageToken = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, u2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, u2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.operations && e3.hasOwnProperty("operations")) {
if (!Array.isArray(e3.operations)) return "operations: array expected";
for (var t3 = 0; t3 < e3.operations.length; ++t3) {
var n4 = p.google.longrunning.Operation.verify(e3.operations[t3]);
if (n4) return "operations." + n4;
}
}
return null != e3.nextPageToken && e3.hasOwnProperty("nextPageToken") && !i3.isString(e3.nextPageToken) ? "nextPageToken: string expected" : null;
}, u2.fromObject = function(e3) {
if (e3 instanceof p.google.longrunning.ListOperationsResponse) return e3;
var t3 = new p.google.longrunning.ListOperationsResponse();
if (e3.operations) {
if (!Array.isArray(e3.operations)) throw TypeError(".google.longrunning.ListOperationsResponse.operations: array expected");
t3.operations = [];
for (var n4 = 0; n4 < e3.operations.length; ++n4) {
if ("object" != typeof e3.operations[n4]) throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected");
t3.operations[n4] = p.google.longrunning.Operation.fromObject(e3.operations[n4]);
}
}
return null != e3.nextPageToken && (t3.nextPageToken = String(e3.nextPageToken)), t3;
}, u2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.operations = []), t3.defaults && (n4.nextPageToken = ""), e3.operations && e3.operations.length) {
n4.operations = [];
for (var o4 = 0; o4 < e3.operations.length; ++o4) n4.operations[o4] = p.google.longrunning.Operation.toObject(e3.operations[o4], t3);
}
return null != e3.nextPageToken && e3.hasOwnProperty("nextPageToken") && (n4.nextPageToken = e3.nextPageToken), n4;
}, u2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, u2), t2.CancelOperationRequest = (L.prototype.name = "", L.create = function(e3) {
return new L(e3);
}, L.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), t3;
}, L.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, L.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.CancelOperationRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? o4.name = e3.string() : e3.skipType(7 & r3);
}
return o4;
}, L.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, L.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name) ? "name: string expected" : null;
}, L.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.longrunning.CancelOperationRequest ? e3 : (t3 = new p.google.longrunning.CancelOperationRequest(), null != e3.name && (t3.name = String(e3.name)), t3);
}, L.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), n4;
}, L.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, L), t2.DeleteOperationRequest = (U.prototype.name = "", U.create = function(e3) {
return new U(e3);
}, U.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), t3;
}, U.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, U.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.DeleteOperationRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? o4.name = e3.string() : e3.skipType(7 & r3);
}
return o4;
}, U.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, U.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name) ? "name: string expected" : null;
}, U.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.longrunning.DeleteOperationRequest ? e3 : (t3 = new p.google.longrunning.DeleteOperationRequest(), null != e3.name && (t3.name = String(e3.name)), t3);
}, U.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), n4;
}, U.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, U), t2.WaitOperationRequest = (c4.prototype.name = "", c4.prototype.timeout = null, c4.create = function(e3) {
return new c4(e3);
}, c4.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.timeout && Object.hasOwnProperty.call(e3, "timeout") && p.google.protobuf.Duration.encode(e3.timeout, t3.uint32(18).fork()).ldelim(), t3;
}, c4.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, c4.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.WaitOperationRequest(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.timeout = p.google.protobuf.Duration.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, c4.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, c4.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.timeout && e3.hasOwnProperty("timeout")) {
e3 = p.google.protobuf.Duration.verify(e3.timeout);
if (e3) return "timeout." + e3;
}
return null;
}, c4.fromObject = function(e3) {
if (e3 instanceof p.google.longrunning.WaitOperationRequest) return e3;
var t3 = new p.google.longrunning.WaitOperationRequest();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.timeout) {
if ("object" != typeof e3.timeout) throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected");
t3.timeout = p.google.protobuf.Duration.fromObject(e3.timeout);
}
return t3;
}, c4.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.timeout = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.timeout && e3.hasOwnProperty("timeout") && (n4.timeout = p.google.protobuf.Duration.toObject(e3.timeout, t3)), n4;
}, c4.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, c4), t2.OperationInfo = (d.prototype.responseType = "", d.prototype.metadataType = "", d.create = function(e3) {
return new d(e3);
}, d.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.responseType && Object.hasOwnProperty.call(e3, "responseType") && t3.uint32(10).string(e3.responseType), null != e3.metadataType && Object.hasOwnProperty.call(e3, "metadataType") && t3.uint32(18).string(e3.metadataType), t3;
}, d.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, d.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.longrunning.OperationInfo(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.responseType = e3.string();
break;
case 2:
o4.metadataType = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, d.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, d.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.responseType && e3.hasOwnProperty("responseType") && !i3.isString(e3.responseType) ? "responseType: string expected" : null != e3.metadataType && e3.hasOwnProperty("metadataType") && !i3.isString(e3.metadataType) ? "metadataType: string expected" : null;
}, d.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.longrunning.OperationInfo ? e3 : (t3 = new p.google.longrunning.OperationInfo(), null != e3.responseType && (t3.responseType = String(e3.responseType)), null != e3.metadataType && (t3.metadataType = String(e3.metadataType)), t3);
}, d.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.responseType = "", n4.metadataType = ""), null != e3.responseType && e3.hasOwnProperty("responseType") && (n4.responseType = e3.responseType), null != e3.metadataType && e3.hasOwnProperty("metadataType") && (n4.metadataType = e3.metadataType), n4;
}, d.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, d), t2), F.api = ((n3 = {}).Http = (g.prototype.rules = i3.emptyArray, g.prototype.fullyDecodeReservedExpansion = false, g.create = function(e3) {
return new g(e3);
}, g.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.rules && e3.rules.length) for (var n4 = 0; n4 < e3.rules.length; ++n4) p.google.api.HttpRule.encode(e3.rules[n4], t3.uint32(10).fork()).ldelim();
return null != e3.fullyDecodeReservedExpansion && Object.hasOwnProperty.call(e3, "fullyDecodeReservedExpansion") && t3.uint32(16).bool(e3.fullyDecodeReservedExpansion), t3;
}, g.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, g.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.api.Http(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.rules && o4.rules.length || (o4.rules = []), o4.rules.push(p.google.api.HttpRule.decode(e3, e3.uint32()));
break;
case 2:
o4.fullyDecodeReservedExpansion = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, g.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, g.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.rules && e3.hasOwnProperty("rules")) {
if (!Array.isArray(e3.rules)) return "rules: array expected";
for (var t3 = 0; t3 < e3.rules.length; ++t3) {
var n4 = p.google.api.HttpRule.verify(e3.rules[t3]);
if (n4) return "rules." + n4;
}
}
return null != e3.fullyDecodeReservedExpansion && e3.hasOwnProperty("fullyDecodeReservedExpansion") && "boolean" != typeof e3.fullyDecodeReservedExpansion ? "fullyDecodeReservedExpansion: boolean expected" : null;
}, g.fromObject = function(e3) {
if (e3 instanceof p.google.api.Http) return e3;
var t3 = new p.google.api.Http();
if (e3.rules) {
if (!Array.isArray(e3.rules)) throw TypeError(".google.api.Http.rules: array expected");
t3.rules = [];
for (var n4 = 0; n4 < e3.rules.length; ++n4) {
if ("object" != typeof e3.rules[n4]) throw TypeError(".google.api.Http.rules: object expected");
t3.rules[n4] = p.google.api.HttpRule.fromObject(e3.rules[n4]);
}
}
return null != e3.fullyDecodeReservedExpansion && (t3.fullyDecodeReservedExpansion = Boolean(e3.fullyDecodeReservedExpansion)), t3;
}, g.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.rules = []), t3.defaults && (n4.fullyDecodeReservedExpansion = false), e3.rules && e3.rules.length) {
n4.rules = [];
for (var o4 = 0; o4 < e3.rules.length; ++o4) n4.rules[o4] = p.google.api.HttpRule.toObject(e3.rules[o4], t3);
}
return null != e3.fullyDecodeReservedExpansion && e3.hasOwnProperty("fullyDecodeReservedExpansion") && (n4.fullyDecodeReservedExpansion = e3.fullyDecodeReservedExpansion), n4;
}, g.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, g), n3.HttpRule = (f.prototype.selector = "", f.prototype.get = "", f.prototype.put = "", f.prototype.post = "", f.prototype.delete = "", f.prototype.patch = "", f.prototype.custom = null, f.prototype.body = "", f.prototype.responseBody = "", f.prototype.additionalBindings = i3.emptyArray, Object.defineProperty(f.prototype, "pattern", { get: i3.oneOfGetter(t2 = ["get", "put", "post", "delete", "patch", "custom"]), set: i3.oneOfSetter(t2) }), f.create = function(e3) {
return new f(e3);
}, f.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.selector && Object.hasOwnProperty.call(e3, "selector") && t3.uint32(10).string(e3.selector), null != e3.get && Object.hasOwnProperty.call(e3, "get") && t3.uint32(18).string(e3.get), null != e3.put && Object.hasOwnProperty.call(e3, "put") && t3.uint32(26).string(e3.put), null != e3.post && Object.hasOwnProperty.call(e3, "post") && t3.uint32(34).string(e3.post), null != e3.delete && Object.hasOwnProperty.call(e3, "delete") && t3.uint32(42).string(e3.delete), null != e3.patch && Object.hasOwnProperty.call(e3, "patch") && t3.uint32(50).string(e3.patch), null != e3.body && Object.hasOwnProperty.call(e3, "body") && t3.uint32(58).string(e3.body), null != e3.custom && Object.hasOwnProperty.call(e3, "custom") && p.google.api.CustomHttpPattern.encode(e3.custom, t3.uint32(66).fork()).ldelim(), null != e3.additionalBindings && e3.additionalBindings.length) for (var n4 = 0; n4 < e3.additionalBindings.length; ++n4) p.google.api.HttpRule.encode(e3.additionalBindings[n4], t3.uint32(90).fork()).ldelim();
return null != e3.responseBody && Object.hasOwnProperty.call(e3, "responseBody") && t3.uint32(98).string(e3.responseBody), t3;
}, f.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, f.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.api.HttpRule(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.selector = e3.string();
break;
case 2:
o4.get = e3.string();
break;
case 3:
o4.put = e3.string();
break;
case 4:
o4.post = e3.string();
break;
case 5:
o4.delete = e3.string();
break;
case 6:
o4.patch = e3.string();
break;
case 8:
o4.custom = p.google.api.CustomHttpPattern.decode(e3, e3.uint32());
break;
case 7:
o4.body = e3.string();
break;
case 12:
o4.responseBody = e3.string();
break;
case 11:
o4.additionalBindings && o4.additionalBindings.length || (o4.additionalBindings = []), o4.additionalBindings.push(p.google.api.HttpRule.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, f.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, f.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
var t3 = {};
if (null != e3.selector && e3.hasOwnProperty("selector") && !i3.isString(e3.selector)) return "selector: string expected";
if (null != e3.get && e3.hasOwnProperty("get") && (t3.pattern = 1, !i3.isString(e3.get))) return "get: string expected";
if (null != e3.put && e3.hasOwnProperty("put")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !i3.isString(e3.put)) return "put: string expected";
}
if (null != e3.post && e3.hasOwnProperty("post")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !i3.isString(e3.post)) return "post: string expected";
}
if (null != e3.delete && e3.hasOwnProperty("delete")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !i3.isString(e3.delete)) return "delete: string expected";
}
if (null != e3.patch && e3.hasOwnProperty("patch")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, !i3.isString(e3.patch)) return "patch: string expected";
}
if (null != e3.custom && e3.hasOwnProperty("custom")) {
if (1 === t3.pattern) return "pattern: multiple values";
if (t3.pattern = 1, n4 = p.google.api.CustomHttpPattern.verify(e3.custom)) return "custom." + n4;
}
if (null != e3.body && e3.hasOwnProperty("body") && !i3.isString(e3.body)) return "body: string expected";
if (null != e3.responseBody && e3.hasOwnProperty("responseBody") && !i3.isString(e3.responseBody)) return "responseBody: string expected";
if (null != e3.additionalBindings && e3.hasOwnProperty("additionalBindings")) {
if (!Array.isArray(e3.additionalBindings)) return "additionalBindings: array expected";
for (var n4, o4 = 0; o4 < e3.additionalBindings.length; ++o4) if (n4 = p.google.api.HttpRule.verify(e3.additionalBindings[o4])) return "additionalBindings." + n4;
}
return null;
}, f.fromObject = function(e3) {
if (e3 instanceof p.google.api.HttpRule) return e3;
var t3 = new p.google.api.HttpRule();
if (null != e3.selector && (t3.selector = String(e3.selector)), null != e3.get && (t3.get = String(e3.get)), null != e3.put && (t3.put = String(e3.put)), null != e3.post && (t3.post = String(e3.post)), null != e3.delete && (t3.delete = String(e3.delete)), null != e3.patch && (t3.patch = String(e3.patch)), null != e3.custom) {
if ("object" != typeof e3.custom) throw TypeError(".google.api.HttpRule.custom: object expected");
t3.custom = p.google.api.CustomHttpPattern.fromObject(e3.custom);
}
if (null != e3.body && (t3.body = String(e3.body)), null != e3.responseBody && (t3.responseBody = String(e3.responseBody)), e3.additionalBindings) {
if (!Array.isArray(e3.additionalBindings)) throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
t3.additionalBindings = [];
for (var n4 = 0; n4 < e3.additionalBindings.length; ++n4) {
if ("object" != typeof e3.additionalBindings[n4]) throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
t3.additionalBindings[n4] = p.google.api.HttpRule.fromObject(e3.additionalBindings[n4]);
}
}
return t3;
}, f.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.additionalBindings = []), t3.defaults && (n4.selector = "", n4.body = "", n4.responseBody = ""), null != e3.selector && e3.hasOwnProperty("selector") && (n4.selector = e3.selector), null != e3.get && e3.hasOwnProperty("get") && (n4.get = e3.get, t3.oneofs) && (n4.pattern = "get"), null != e3.put && e3.hasOwnProperty("put") && (n4.put = e3.put, t3.oneofs) && (n4.pattern = "put"), null != e3.post && e3.hasOwnProperty("post") && (n4.post = e3.post, t3.oneofs) && (n4.pattern = "post"), null != e3.delete && e3.hasOwnProperty("delete") && (n4.delete = e3.delete, t3.oneofs) && (n4.pattern = "delete"), null != e3.patch && e3.hasOwnProperty("patch") && (n4.patch = e3.patch, t3.oneofs) && (n4.pattern = "patch"), null != e3.body && e3.hasOwnProperty("body") && (n4.body = e3.body), null != e3.custom && e3.hasOwnProperty("custom") && (n4.custom = p.google.api.CustomHttpPattern.toObject(e3.custom, t3), t3.oneofs) && (n4.pattern = "custom"), e3.additionalBindings && e3.additionalBindings.length) {
n4.additionalBindings = [];
for (var o4 = 0; o4 < e3.additionalBindings.length; ++o4) n4.additionalBindings[o4] = p.google.api.HttpRule.toObject(e3.additionalBindings[o4], t3);
}
return null != e3.responseBody && e3.hasOwnProperty("responseBody") && (n4.responseBody = e3.responseBody), n4;
}, f.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, f), n3.CustomHttpPattern = (y.prototype.kind = "", y.prototype.path = "", y.create = function(e3) {
return new y(e3);
}, y.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.kind && Object.hasOwnProperty.call(e3, "kind") && t3.uint32(10).string(e3.kind), null != e3.path && Object.hasOwnProperty.call(e3, "path") && t3.uint32(18).string(e3.path), t3;
}, y.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, y.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.api.CustomHttpPattern(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.kind = e3.string();
break;
case 2:
o4.path = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, y.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, y.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.kind && e3.hasOwnProperty("kind") && !i3.isString(e3.kind) ? "kind: string expected" : null != e3.path && e3.hasOwnProperty("path") && !i3.isString(e3.path) ? "path: string expected" : null;
}, y.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.api.CustomHttpPattern ? e3 : (t3 = new p.google.api.CustomHttpPattern(), null != e3.kind && (t3.kind = String(e3.kind)), null != e3.path && (t3.path = String(e3.path)), t3);
}, y.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.kind = "", n4.path = ""), null != e3.kind && e3.hasOwnProperty("kind") && (n4.kind = e3.kind), null != e3.path && e3.hasOwnProperty("path") && (n4.path = e3.path), n4;
}, y.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, y), n3), F.protobuf = ((t2 = {}).FileDescriptorSet = (J.prototype.file = i3.emptyArray, J.create = function(e3) {
return new J(e3);
}, J.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.file && e3.file.length) for (var n4 = 0; n4 < e3.file.length; ++n4) p.google.protobuf.FileDescriptorProto.encode(e3.file[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, J.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, J.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.FileDescriptorSet(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.file && o4.file.length || (o4.file = []), o4.file.push(p.google.protobuf.FileDescriptorProto.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, J.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, J.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.file && e3.hasOwnProperty("file")) {
if (!Array.isArray(e3.file)) return "file: array expected";
for (var t3 = 0; t3 < e3.file.length; ++t3) {
var n4 = p.google.protobuf.FileDescriptorProto.verify(e3.file[t3]);
if (n4) return "file." + n4;
}
}
return null;
}, J.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.FileDescriptorSet) return e3;
var t3 = new p.google.protobuf.FileDescriptorSet();
if (e3.file) {
if (!Array.isArray(e3.file)) throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
t3.file = [];
for (var n4 = 0; n4 < e3.file.length; ++n4) {
if ("object" != typeof e3.file[n4]) throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
t3.file[n4] = p.google.protobuf.FileDescriptorProto.fromObject(e3.file[n4]);
}
}
return t3;
}, J.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.file = []), e3.file && e3.file.length) {
n4.file = [];
for (var o4 = 0; o4 < e3.file.length; ++o4) n4.file[o4] = p.google.protobuf.FileDescriptorProto.toObject(e3.file[o4], t3);
}
return n4;
}, J.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, J), t2.FileDescriptorProto = (h2.prototype.name = "", h2.prototype.package = "", h2.prototype.dependency = i3.emptyArray, h2.prototype.publicDependency = i3.emptyArray, h2.prototype.weakDependency = i3.emptyArray, h2.prototype.messageType = i3.emptyArray, h2.prototype.enumType = i3.emptyArray, h2.prototype.service = i3.emptyArray, h2.prototype.extension = i3.emptyArray, h2.prototype.options = null, h2.prototype.sourceCodeInfo = null, h2.prototype.syntax = "", h2.create = function(e3) {
return new h2(e3);
}, h2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.package && Object.hasOwnProperty.call(e3, "package") && t3.uint32(18).string(e3.package), null != e3.dependency && e3.dependency.length) for (var n4 = 0; n4 < e3.dependency.length; ++n4) t3.uint32(26).string(e3.dependency[n4]);
if (null != e3.messageType && e3.messageType.length) for (n4 = 0; n4 < e3.messageType.length; ++n4) p.google.protobuf.DescriptorProto.encode(e3.messageType[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.enumType && e3.enumType.length) for (n4 = 0; n4 < e3.enumType.length; ++n4) p.google.protobuf.EnumDescriptorProto.encode(e3.enumType[n4], t3.uint32(42).fork()).ldelim();
if (null != e3.service && e3.service.length) for (n4 = 0; n4 < e3.service.length; ++n4) p.google.protobuf.ServiceDescriptorProto.encode(e3.service[n4], t3.uint32(50).fork()).ldelim();
if (null != e3.extension && e3.extension.length) for (n4 = 0; n4 < e3.extension.length; ++n4) p.google.protobuf.FieldDescriptorProto.encode(e3.extension[n4], t3.uint32(58).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.FileOptions.encode(e3.options, t3.uint32(66).fork()).ldelim(), null != e3.sourceCodeInfo && Object.hasOwnProperty.call(e3, "sourceCodeInfo") && p.google.protobuf.SourceCodeInfo.encode(e3.sourceCodeInfo, t3.uint32(74).fork()).ldelim(), null != e3.publicDependency && e3.publicDependency.length) for (n4 = 0; n4 < e3.publicDependency.length; ++n4) t3.uint32(80).int32(e3.publicDependency[n4]);
if (null != e3.weakDependency && e3.weakDependency.length) for (n4 = 0; n4 < e3.weakDependency.length; ++n4) t3.uint32(88).int32(e3.weakDependency[n4]);
return null != e3.syntax && Object.hasOwnProperty.call(e3, "syntax") && t3.uint32(98).string(e3.syntax), t3;
}, h2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, h2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.FileDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.package = e3.string();
break;
case 3:
o4.dependency && o4.dependency.length || (o4.dependency = []), o4.dependency.push(e3.string());
break;
case 10:
if (o4.publicDependency && o4.publicDependency.length || (o4.publicDependency = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.publicDependency.push(e3.int32());
else o4.publicDependency.push(e3.int32());
break;
case 11:
if (o4.weakDependency && o4.weakDependency.length || (o4.weakDependency = []), 2 == (7 & r3)) for (i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.weakDependency.push(e3.int32());
else o4.weakDependency.push(e3.int32());
break;
case 4:
o4.messageType && o4.messageType.length || (o4.messageType = []), o4.messageType.push(p.google.protobuf.DescriptorProto.decode(e3, e3.uint32()));
break;
case 5:
o4.enumType && o4.enumType.length || (o4.enumType = []), o4.enumType.push(p.google.protobuf.EnumDescriptorProto.decode(e3, e3.uint32()));
break;
case 6:
o4.service && o4.service.length || (o4.service = []), o4.service.push(p.google.protobuf.ServiceDescriptorProto.decode(e3, e3.uint32()));
break;
case 7:
o4.extension && o4.extension.length || (o4.extension = []), o4.extension.push(p.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 8:
o4.options = p.google.protobuf.FileOptions.decode(e3, e3.uint32());
break;
case 9:
o4.sourceCodeInfo = p.google.protobuf.SourceCodeInfo.decode(e3, e3.uint32());
break;
case 12:
o4.syntax = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, h2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, h2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.package && e3.hasOwnProperty("package") && !i3.isString(e3.package)) return "package: string expected";
if (null != e3.dependency && e3.hasOwnProperty("dependency")) {
if (!Array.isArray(e3.dependency)) return "dependency: array expected";
for (var t3 = 0; t3 < e3.dependency.length; ++t3) if (!i3.isString(e3.dependency[t3])) return "dependency: string[] expected";
}
if (null != e3.publicDependency && e3.hasOwnProperty("publicDependency")) {
if (!Array.isArray(e3.publicDependency)) return "publicDependency: array expected";
for (t3 = 0; t3 < e3.publicDependency.length; ++t3) if (!i3.isInteger(e3.publicDependency[t3])) return "publicDependency: integer[] expected";
}
if (null != e3.weakDependency && e3.hasOwnProperty("weakDependency")) {
if (!Array.isArray(e3.weakDependency)) return "weakDependency: array expected";
for (t3 = 0; t3 < e3.weakDependency.length; ++t3) if (!i3.isInteger(e3.weakDependency[t3])) return "weakDependency: integer[] expected";
}
if (null != e3.messageType && e3.hasOwnProperty("messageType")) {
if (!Array.isArray(e3.messageType)) return "messageType: array expected";
for (t3 = 0; t3 < e3.messageType.length; ++t3) if (n4 = p.google.protobuf.DescriptorProto.verify(e3.messageType[t3])) return "messageType." + n4;
}
if (null != e3.enumType && e3.hasOwnProperty("enumType")) {
if (!Array.isArray(e3.enumType)) return "enumType: array expected";
for (t3 = 0; t3 < e3.enumType.length; ++t3) if (n4 = p.google.protobuf.EnumDescriptorProto.verify(e3.enumType[t3])) return "enumType." + n4;
}
if (null != e3.service && e3.hasOwnProperty("service")) {
if (!Array.isArray(e3.service)) return "service: array expected";
for (t3 = 0; t3 < e3.service.length; ++t3) if (n4 = p.google.protobuf.ServiceDescriptorProto.verify(e3.service[t3])) return "service." + n4;
}
if (null != e3.extension && e3.hasOwnProperty("extension")) {
if (!Array.isArray(e3.extension)) return "extension: array expected";
for (t3 = 0; t3 < e3.extension.length; ++t3) if (n4 = p.google.protobuf.FieldDescriptorProto.verify(e3.extension[t3])) return "extension." + n4;
}
var n4;
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = p.google.protobuf.FileOptions.verify(e3.options))) return "options." + n4;
if (null != e3.sourceCodeInfo && e3.hasOwnProperty("sourceCodeInfo") && (n4 = p.google.protobuf.SourceCodeInfo.verify(e3.sourceCodeInfo))) return "sourceCodeInfo." + n4;
return null != e3.syntax && e3.hasOwnProperty("syntax") && !i3.isString(e3.syntax) ? "syntax: string expected" : null;
}, h2.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.FileDescriptorProto) return e3;
var t3 = new p.google.protobuf.FileDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.package && (t3.package = String(e3.package)), e3.dependency) {
if (!Array.isArray(e3.dependency)) throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");
t3.dependency = [];
for (var n4 = 0; n4 < e3.dependency.length; ++n4) t3.dependency[n4] = String(e3.dependency[n4]);
}
if (e3.publicDependency) {
if (!Array.isArray(e3.publicDependency)) throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");
t3.publicDependency = [];
for (n4 = 0; n4 < e3.publicDependency.length; ++n4) t3.publicDependency[n4] = 0 | e3.publicDependency[n4];
}
if (e3.weakDependency) {
if (!Array.isArray(e3.weakDependency)) throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");
t3.weakDependency = [];
for (n4 = 0; n4 < e3.weakDependency.length; ++n4) t3.weakDependency[n4] = 0 | e3.weakDependency[n4];
}
if (e3.messageType) {
if (!Array.isArray(e3.messageType)) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
t3.messageType = [];
for (n4 = 0; n4 < e3.messageType.length; ++n4) {
if ("object" != typeof e3.messageType[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
t3.messageType[n4] = p.google.protobuf.DescriptorProto.fromObject(e3.messageType[n4]);
}
}
if (e3.enumType) {
if (!Array.isArray(e3.enumType)) throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");
t3.enumType = [];
for (n4 = 0; n4 < e3.enumType.length; ++n4) {
if ("object" != typeof e3.enumType[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
t3.enumType[n4] = p.google.protobuf.EnumDescriptorProto.fromObject(e3.enumType[n4]);
}
}
if (e3.service) {
if (!Array.isArray(e3.service)) throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");
t3.service = [];
for (n4 = 0; n4 < e3.service.length; ++n4) {
if ("object" != typeof e3.service[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
t3.service[n4] = p.google.protobuf.ServiceDescriptorProto.fromObject(e3.service[n4]);
}
}
if (e3.extension) {
if (!Array.isArray(e3.extension)) throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");
t3.extension = [];
for (n4 = 0; n4 < e3.extension.length; ++n4) {
if ("object" != typeof e3.extension[n4]) throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
t3.extension[n4] = p.google.protobuf.FieldDescriptorProto.fromObject(e3.extension[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
t3.options = p.google.protobuf.FileOptions.fromObject(e3.options);
}
if (null != e3.sourceCodeInfo) {
if ("object" != typeof e3.sourceCodeInfo) throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
t3.sourceCodeInfo = p.google.protobuf.SourceCodeInfo.fromObject(e3.sourceCodeInfo);
}
return null != e3.syntax && (t3.syntax = String(e3.syntax)), t3;
}, h2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.dependency = [], n4.messageType = [], n4.enumType = [], n4.service = [], n4.extension = [], n4.publicDependency = [], n4.weakDependency = []), t3.defaults && (n4.name = "", n4.package = "", n4.options = null, n4.sourceCodeInfo = null, n4.syntax = ""), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.package && e3.hasOwnProperty("package") && (n4.package = e3.package), e3.dependency && e3.dependency.length) {
n4.dependency = [];
for (var o4 = 0; o4 < e3.dependency.length; ++o4) n4.dependency[o4] = e3.dependency[o4];
}
if (e3.messageType && e3.messageType.length) {
n4.messageType = [];
for (o4 = 0; o4 < e3.messageType.length; ++o4) n4.messageType[o4] = p.google.protobuf.DescriptorProto.toObject(e3.messageType[o4], t3);
}
if (e3.enumType && e3.enumType.length) {
n4.enumType = [];
for (o4 = 0; o4 < e3.enumType.length; ++o4) n4.enumType[o4] = p.google.protobuf.EnumDescriptorProto.toObject(e3.enumType[o4], t3);
}
if (e3.service && e3.service.length) {
n4.service = [];
for (o4 = 0; o4 < e3.service.length; ++o4) n4.service[o4] = p.google.protobuf.ServiceDescriptorProto.toObject(e3.service[o4], t3);
}
if (e3.extension && e3.extension.length) {
n4.extension = [];
for (o4 = 0; o4 < e3.extension.length; ++o4) n4.extension[o4] = p.google.protobuf.FieldDescriptorProto.toObject(e3.extension[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.FileOptions.toObject(e3.options, t3)), null != e3.sourceCodeInfo && e3.hasOwnProperty("sourceCodeInfo") && (n4.sourceCodeInfo = p.google.protobuf.SourceCodeInfo.toObject(e3.sourceCodeInfo, t3)), e3.publicDependency && e3.publicDependency.length) {
n4.publicDependency = [];
for (o4 = 0; o4 < e3.publicDependency.length; ++o4) n4.publicDependency[o4] = e3.publicDependency[o4];
}
if (e3.weakDependency && e3.weakDependency.length) {
n4.weakDependency = [];
for (o4 = 0; o4 < e3.weakDependency.length; ++o4) n4.weakDependency[o4] = e3.weakDependency[o4];
}
return null != e3.syntax && e3.hasOwnProperty("syntax") && (n4.syntax = e3.syntax), n4;
}, h2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, h2), t2.DescriptorProto = (O.prototype.name = "", O.prototype.field = i3.emptyArray, O.prototype.extension = i3.emptyArray, O.prototype.nestedType = i3.emptyArray, O.prototype.enumType = i3.emptyArray, O.prototype.extensionRange = i3.emptyArray, O.prototype.oneofDecl = i3.emptyArray, O.prototype.options = null, O.prototype.reservedRange = i3.emptyArray, O.prototype.reservedName = i3.emptyArray, O.create = function(e3) {
return new O(e3);
}, O.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.field && e3.field.length) for (var n4 = 0; n4 < e3.field.length; ++n4) p.google.protobuf.FieldDescriptorProto.encode(e3.field[n4], t3.uint32(18).fork()).ldelim();
if (null != e3.nestedType && e3.nestedType.length) for (n4 = 0; n4 < e3.nestedType.length; ++n4) p.google.protobuf.DescriptorProto.encode(e3.nestedType[n4], t3.uint32(26).fork()).ldelim();
if (null != e3.enumType && e3.enumType.length) for (n4 = 0; n4 < e3.enumType.length; ++n4) p.google.protobuf.EnumDescriptorProto.encode(e3.enumType[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.extensionRange && e3.extensionRange.length) for (n4 = 0; n4 < e3.extensionRange.length; ++n4) p.google.protobuf.DescriptorProto.ExtensionRange.encode(e3.extensionRange[n4], t3.uint32(42).fork()).ldelim();
if (null != e3.extension && e3.extension.length) for (n4 = 0; n4 < e3.extension.length; ++n4) p.google.protobuf.FieldDescriptorProto.encode(e3.extension[n4], t3.uint32(50).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.MessageOptions.encode(e3.options, t3.uint32(58).fork()).ldelim(), null != e3.oneofDecl && e3.oneofDecl.length) for (n4 = 0; n4 < e3.oneofDecl.length; ++n4) p.google.protobuf.OneofDescriptorProto.encode(e3.oneofDecl[n4], t3.uint32(66).fork()).ldelim();
if (null != e3.reservedRange && e3.reservedRange.length) for (n4 = 0; n4 < e3.reservedRange.length; ++n4) p.google.protobuf.DescriptorProto.ReservedRange.encode(e3.reservedRange[n4], t3.uint32(74).fork()).ldelim();
if (null != e3.reservedName && e3.reservedName.length) for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.uint32(82).string(e3.reservedName[n4]);
return t3;
}, O.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, O.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.DescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.field && o4.field.length || (o4.field = []), o4.field.push(p.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 6:
o4.extension && o4.extension.length || (o4.extension = []), o4.extension.push(p.google.protobuf.FieldDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.nestedType && o4.nestedType.length || (o4.nestedType = []), o4.nestedType.push(p.google.protobuf.DescriptorProto.decode(e3, e3.uint32()));
break;
case 4:
o4.enumType && o4.enumType.length || (o4.enumType = []), o4.enumType.push(p.google.protobuf.EnumDescriptorProto.decode(e3, e3.uint32()));
break;
case 5:
o4.extensionRange && o4.extensionRange.length || (o4.extensionRange = []), o4.extensionRange.push(p.google.protobuf.DescriptorProto.ExtensionRange.decode(e3, e3.uint32()));
break;
case 8:
o4.oneofDecl && o4.oneofDecl.length || (o4.oneofDecl = []), o4.oneofDecl.push(p.google.protobuf.OneofDescriptorProto.decode(e3, e3.uint32()));
break;
case 7:
o4.options = p.google.protobuf.MessageOptions.decode(e3, e3.uint32());
break;
case 9:
o4.reservedRange && o4.reservedRange.length || (o4.reservedRange = []), o4.reservedRange.push(p.google.protobuf.DescriptorProto.ReservedRange.decode(e3, e3.uint32()));
break;
case 10:
o4.reservedName && o4.reservedName.length || (o4.reservedName = []), o4.reservedName.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, O.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, O.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.field && e3.hasOwnProperty("field")) {
if (!Array.isArray(e3.field)) return "field: array expected";
for (var t3 = 0; t3 < e3.field.length; ++t3) if (n4 = p.google.protobuf.FieldDescriptorProto.verify(e3.field[t3])) return "field." + n4;
}
if (null != e3.extension && e3.hasOwnProperty("extension")) {
if (!Array.isArray(e3.extension)) return "extension: array expected";
for (t3 = 0; t3 < e3.extension.length; ++t3) if (n4 = p.google.protobuf.FieldDescriptorProto.verify(e3.extension[t3])) return "extension." + n4;
}
if (null != e3.nestedType && e3.hasOwnProperty("nestedType")) {
if (!Array.isArray(e3.nestedType)) return "nestedType: array expected";
for (t3 = 0; t3 < e3.nestedType.length; ++t3) if (n4 = p.google.protobuf.DescriptorProto.verify(e3.nestedType[t3])) return "nestedType." + n4;
}
if (null != e3.enumType && e3.hasOwnProperty("enumType")) {
if (!Array.isArray(e3.enumType)) return "enumType: array expected";
for (t3 = 0; t3 < e3.enumType.length; ++t3) if (n4 = p.google.protobuf.EnumDescriptorProto.verify(e3.enumType[t3])) return "enumType." + n4;
}
if (null != e3.extensionRange && e3.hasOwnProperty("extensionRange")) {
if (!Array.isArray(e3.extensionRange)) return "extensionRange: array expected";
for (t3 = 0; t3 < e3.extensionRange.length; ++t3) if (n4 = p.google.protobuf.DescriptorProto.ExtensionRange.verify(e3.extensionRange[t3])) return "extensionRange." + n4;
}
if (null != e3.oneofDecl && e3.hasOwnProperty("oneofDecl")) {
if (!Array.isArray(e3.oneofDecl)) return "oneofDecl: array expected";
for (t3 = 0; t3 < e3.oneofDecl.length; ++t3) if (n4 = p.google.protobuf.OneofDescriptorProto.verify(e3.oneofDecl[t3])) return "oneofDecl." + n4;
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = p.google.protobuf.MessageOptions.verify(e3.options))) return "options." + n4;
if (null != e3.reservedRange && e3.hasOwnProperty("reservedRange")) {
if (!Array.isArray(e3.reservedRange)) return "reservedRange: array expected";
for (var n4, t3 = 0; t3 < e3.reservedRange.length; ++t3) if (n4 = p.google.protobuf.DescriptorProto.ReservedRange.verify(e3.reservedRange[t3])) return "reservedRange." + n4;
}
if (null != e3.reservedName && e3.hasOwnProperty("reservedName")) {
if (!Array.isArray(e3.reservedName)) return "reservedName: array expected";
for (t3 = 0; t3 < e3.reservedName.length; ++t3) if (!i3.isString(e3.reservedName[t3])) return "reservedName: string[] expected";
}
return null;
}, O.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.DescriptorProto) return e3;
var t3 = new p.google.protobuf.DescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.field) {
if (!Array.isArray(e3.field)) throw TypeError(".google.protobuf.DescriptorProto.field: array expected");
t3.field = [];
for (var n4 = 0; n4 < e3.field.length; ++n4) {
if ("object" != typeof e3.field[n4]) throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
t3.field[n4] = p.google.protobuf.FieldDescriptorProto.fromObject(e3.field[n4]);
}
}
if (e3.extension) {
if (!Array.isArray(e3.extension)) throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");
t3.extension = [];
for (n4 = 0; n4 < e3.extension.length; ++n4) {
if ("object" != typeof e3.extension[n4]) throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
t3.extension[n4] = p.google.protobuf.FieldDescriptorProto.fromObject(e3.extension[n4]);
}
}
if (e3.nestedType) {
if (!Array.isArray(e3.nestedType)) throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");
t3.nestedType = [];
for (n4 = 0; n4 < e3.nestedType.length; ++n4) {
if ("object" != typeof e3.nestedType[n4]) throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
t3.nestedType[n4] = p.google.protobuf.DescriptorProto.fromObject(e3.nestedType[n4]);
}
}
if (e3.enumType) {
if (!Array.isArray(e3.enumType)) throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");
t3.enumType = [];
for (n4 = 0; n4 < e3.enumType.length; ++n4) {
if ("object" != typeof e3.enumType[n4]) throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
t3.enumType[n4] = p.google.protobuf.EnumDescriptorProto.fromObject(e3.enumType[n4]);
}
}
if (e3.extensionRange) {
if (!Array.isArray(e3.extensionRange)) throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");
t3.extensionRange = [];
for (n4 = 0; n4 < e3.extensionRange.length; ++n4) {
if ("object" != typeof e3.extensionRange[n4]) throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
t3.extensionRange[n4] = p.google.protobuf.DescriptorProto.ExtensionRange.fromObject(e3.extensionRange[n4]);
}
}
if (e3.oneofDecl) {
if (!Array.isArray(e3.oneofDecl)) throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");
t3.oneofDecl = [];
for (n4 = 0; n4 < e3.oneofDecl.length; ++n4) {
if ("object" != typeof e3.oneofDecl[n4]) throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
t3.oneofDecl[n4] = p.google.protobuf.OneofDescriptorProto.fromObject(e3.oneofDecl[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
t3.options = p.google.protobuf.MessageOptions.fromObject(e3.options);
}
if (e3.reservedRange) {
if (!Array.isArray(e3.reservedRange)) throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");
t3.reservedRange = [];
for (n4 = 0; n4 < e3.reservedRange.length; ++n4) {
if ("object" != typeof e3.reservedRange[n4]) throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
t3.reservedRange[n4] = p.google.protobuf.DescriptorProto.ReservedRange.fromObject(e3.reservedRange[n4]);
}
}
if (e3.reservedName) {
if (!Array.isArray(e3.reservedName)) throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");
t3.reservedName = [];
for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.reservedName[n4] = String(e3.reservedName[n4]);
}
return t3;
}, O.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.field = [], n4.nestedType = [], n4.enumType = [], n4.extensionRange = [], n4.extension = [], n4.oneofDecl = [], n4.reservedRange = [], n4.reservedName = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.field && e3.field.length) {
n4.field = [];
for (var o4 = 0; o4 < e3.field.length; ++o4) n4.field[o4] = p.google.protobuf.FieldDescriptorProto.toObject(e3.field[o4], t3);
}
if (e3.nestedType && e3.nestedType.length) {
n4.nestedType = [];
for (o4 = 0; o4 < e3.nestedType.length; ++o4) n4.nestedType[o4] = p.google.protobuf.DescriptorProto.toObject(e3.nestedType[o4], t3);
}
if (e3.enumType && e3.enumType.length) {
n4.enumType = [];
for (o4 = 0; o4 < e3.enumType.length; ++o4) n4.enumType[o4] = p.google.protobuf.EnumDescriptorProto.toObject(e3.enumType[o4], t3);
}
if (e3.extensionRange && e3.extensionRange.length) {
n4.extensionRange = [];
for (o4 = 0; o4 < e3.extensionRange.length; ++o4) n4.extensionRange[o4] = p.google.protobuf.DescriptorProto.ExtensionRange.toObject(e3.extensionRange[o4], t3);
}
if (e3.extension && e3.extension.length) {
n4.extension = [];
for (o4 = 0; o4 < e3.extension.length; ++o4) n4.extension[o4] = p.google.protobuf.FieldDescriptorProto.toObject(e3.extension[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.MessageOptions.toObject(e3.options, t3)), e3.oneofDecl && e3.oneofDecl.length) {
n4.oneofDecl = [];
for (o4 = 0; o4 < e3.oneofDecl.length; ++o4) n4.oneofDecl[o4] = p.google.protobuf.OneofDescriptorProto.toObject(e3.oneofDecl[o4], t3);
}
if (e3.reservedRange && e3.reservedRange.length) {
n4.reservedRange = [];
for (o4 = 0; o4 < e3.reservedRange.length; ++o4) n4.reservedRange[o4] = p.google.protobuf.DescriptorProto.ReservedRange.toObject(e3.reservedRange[o4], t3);
}
if (e3.reservedName && e3.reservedName.length) {
n4.reservedName = [];
for (o4 = 0; o4 < e3.reservedName.length; ++o4) n4.reservedName[o4] = e3.reservedName[o4];
}
return n4;
}, O.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, O.ExtensionRange = (b.prototype.start = 0, b.prototype.end = 0, b.prototype.options = null, b.create = function(e3) {
return new b(e3);
}, b.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.ExtensionRangeOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, b.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, b.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.DescriptorProto.ExtensionRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
case 3:
o4.options = p.google.protobuf.ExtensionRangeOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, b.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, b.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.start && e3.hasOwnProperty("start") && !i3.isInteger(e3.start)) return "start: integer expected";
if (null != e3.end && e3.hasOwnProperty("end") && !i3.isInteger(e3.end)) return "end: integer expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = p.google.protobuf.ExtensionRangeOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, b.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.DescriptorProto.ExtensionRange) return e3;
var t3 = new p.google.protobuf.DescriptorProto.ExtensionRange();
if (null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
t3.options = p.google.protobuf.ExtensionRangeOptions.fromObject(e3.options);
}
return t3;
}, b.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0, n4.options = null), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.ExtensionRangeOptions.toObject(e3.options, t3)), n4;
}, b.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, b), O.ReservedRange = (m.prototype.start = 0, m.prototype.end = 0, m.create = function(e3) {
return new m(e3);
}, m.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), t3;
}, m.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, m.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.DescriptorProto.ReservedRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, m.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, m.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.start && e3.hasOwnProperty("start") && !i3.isInteger(e3.start) ? "start: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !i3.isInteger(e3.end) ? "end: integer expected" : null;
}, m.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.protobuf.DescriptorProto.ReservedRange ? e3 : (t3 = new p.google.protobuf.DescriptorProto.ReservedRange(), null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), t3);
}, m.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, m.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, m), O), t2.ExtensionRangeOptions = (M.prototype.uninterpretedOption = i3.emptyArray, M.create = function(e3) {
return new M(e3);
}, M.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, M.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, M.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.ExtensionRangeOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 999 ? (o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, M.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, M.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, M.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.ExtensionRangeOptions) return e3;
var t3 = new p.google.protobuf.ExtensionRangeOptions();
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, M.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, M.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, M), t2.FieldDescriptorProto = (v.prototype.name = "", v.prototype.number = 0, v.prototype.label = 1, v.prototype.type = 1, v.prototype.typeName = "", v.prototype.extendee = "", v.prototype.defaultValue = "", v.prototype.oneofIndex = 0, v.prototype.jsonName = "", v.prototype.options = null, v.prototype.proto3Optional = false, v.create = function(e3) {
return new v(e3);
}, v.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.extendee && Object.hasOwnProperty.call(e3, "extendee") && t3.uint32(18).string(e3.extendee), null != e3.number && Object.hasOwnProperty.call(e3, "number") && t3.uint32(24).int32(e3.number), null != e3.label && Object.hasOwnProperty.call(e3, "label") && t3.uint32(32).int32(e3.label), null != e3.type && Object.hasOwnProperty.call(e3, "type") && t3.uint32(40).int32(e3.type), null != e3.typeName && Object.hasOwnProperty.call(e3, "typeName") && t3.uint32(50).string(e3.typeName), null != e3.defaultValue && Object.hasOwnProperty.call(e3, "defaultValue") && t3.uint32(58).string(e3.defaultValue), null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.FieldOptions.encode(e3.options, t3.uint32(66).fork()).ldelim(), null != e3.oneofIndex && Object.hasOwnProperty.call(e3, "oneofIndex") && t3.uint32(72).int32(e3.oneofIndex), null != e3.jsonName && Object.hasOwnProperty.call(e3, "jsonName") && t3.uint32(82).string(e3.jsonName), null != e3.proto3Optional && Object.hasOwnProperty.call(e3, "proto3Optional") && t3.uint32(136).bool(e3.proto3Optional), t3;
}, v.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, v.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.FieldDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 3:
o4.number = e3.int32();
break;
case 4:
o4.label = e3.int32();
break;
case 5:
o4.type = e3.int32();
break;
case 6:
o4.typeName = e3.string();
break;
case 2:
o4.extendee = e3.string();
break;
case 7:
o4.defaultValue = e3.string();
break;
case 9:
o4.oneofIndex = e3.int32();
break;
case 10:
o4.jsonName = e3.string();
break;
case 8:
o4.options = p.google.protobuf.FieldOptions.decode(e3, e3.uint32());
break;
case 17:
o4.proto3Optional = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, v.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, v.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.number && e3.hasOwnProperty("number") && !i3.isInteger(e3.number)) return "number: integer expected";
if (null != e3.label && e3.hasOwnProperty("label")) switch (e3.label) {
default:
return "label: enum value expected";
case 1:
case 2:
case 3:
}
if (null != e3.type && e3.hasOwnProperty("type")) switch (e3.type) {
default:
return "type: enum value expected";
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
}
if (null != e3.typeName && e3.hasOwnProperty("typeName") && !i3.isString(e3.typeName)) return "typeName: string expected";
if (null != e3.extendee && e3.hasOwnProperty("extendee") && !i3.isString(e3.extendee)) return "extendee: string expected";
if (null != e3.defaultValue && e3.hasOwnProperty("defaultValue") && !i3.isString(e3.defaultValue)) return "defaultValue: string expected";
if (null != e3.oneofIndex && e3.hasOwnProperty("oneofIndex") && !i3.isInteger(e3.oneofIndex)) return "oneofIndex: integer expected";
if (null != e3.jsonName && e3.hasOwnProperty("jsonName") && !i3.isString(e3.jsonName)) return "jsonName: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
var t3 = p.google.protobuf.FieldOptions.verify(e3.options);
if (t3) return "options." + t3;
}
return null != e3.proto3Optional && e3.hasOwnProperty("proto3Optional") && "boolean" != typeof e3.proto3Optional ? "proto3Optional: boolean expected" : null;
}, v.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.FieldDescriptorProto) return e3;
var t3 = new p.google.protobuf.FieldDescriptorProto();
switch (null != e3.name && (t3.name = String(e3.name)), null != e3.number && (t3.number = 0 | e3.number), e3.label) {
case "LABEL_OPTIONAL":
case 1:
t3.label = 1;
break;
case "LABEL_REQUIRED":
case 2:
t3.label = 2;
break;
case "LABEL_REPEATED":
case 3:
t3.label = 3;
}
switch (e3.type) {
case "TYPE_DOUBLE":
case 1:
t3.type = 1;
break;
case "TYPE_FLOAT":
case 2:
t3.type = 2;
break;
case "TYPE_INT64":
case 3:
t3.type = 3;
break;
case "TYPE_UINT64":
case 4:
t3.type = 4;
break;
case "TYPE_INT32":
case 5:
t3.type = 5;
break;
case "TYPE_FIXED64":
case 6:
t3.type = 6;
break;
case "TYPE_FIXED32":
case 7:
t3.type = 7;
break;
case "TYPE_BOOL":
case 8:
t3.type = 8;
break;
case "TYPE_STRING":
case 9:
t3.type = 9;
break;
case "TYPE_GROUP":
case 10:
t3.type = 10;
break;
case "TYPE_MESSAGE":
case 11:
t3.type = 11;
break;
case "TYPE_BYTES":
case 12:
t3.type = 12;
break;
case "TYPE_UINT32":
case 13:
t3.type = 13;
break;
case "TYPE_ENUM":
case 14:
t3.type = 14;
break;
case "TYPE_SFIXED32":
case 15:
t3.type = 15;
break;
case "TYPE_SFIXED64":
case 16:
t3.type = 16;
break;
case "TYPE_SINT32":
case 17:
t3.type = 17;
break;
case "TYPE_SINT64":
case 18:
t3.type = 18;
}
if (null != e3.typeName && (t3.typeName = String(e3.typeName)), null != e3.extendee && (t3.extendee = String(e3.extendee)), null != e3.defaultValue && (t3.defaultValue = String(e3.defaultValue)), null != e3.oneofIndex && (t3.oneofIndex = 0 | e3.oneofIndex), null != e3.jsonName && (t3.jsonName = String(e3.jsonName)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
t3.options = p.google.protobuf.FieldOptions.fromObject(e3.options);
}
return null != e3.proto3Optional && (t3.proto3Optional = Boolean(e3.proto3Optional)), t3;
}, v.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.extendee = "", n4.number = 0, n4.label = t3.enums === String ? "LABEL_OPTIONAL" : 1, n4.type = t3.enums === String ? "TYPE_DOUBLE" : 1, n4.typeName = "", n4.defaultValue = "", n4.options = null, n4.oneofIndex = 0, n4.jsonName = "", n4.proto3Optional = false), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.extendee && e3.hasOwnProperty("extendee") && (n4.extendee = e3.extendee), null != e3.number && e3.hasOwnProperty("number") && (n4.number = e3.number), null != e3.label && e3.hasOwnProperty("label") && (n4.label = t3.enums === String ? p.google.protobuf.FieldDescriptorProto.Label[e3.label] : e3.label), null != e3.type && e3.hasOwnProperty("type") && (n4.type = t3.enums === String ? p.google.protobuf.FieldDescriptorProto.Type[e3.type] : e3.type), null != e3.typeName && e3.hasOwnProperty("typeName") && (n4.typeName = e3.typeName), null != e3.defaultValue && e3.hasOwnProperty("defaultValue") && (n4.defaultValue = e3.defaultValue), null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.FieldOptions.toObject(e3.options, t3)), null != e3.oneofIndex && e3.hasOwnProperty("oneofIndex") && (n4.oneofIndex = e3.oneofIndex), null != e3.jsonName && e3.hasOwnProperty("jsonName") && (n4.jsonName = e3.jsonName), null != e3.proto3Optional && e3.hasOwnProperty("proto3Optional") && (n4.proto3Optional = e3.proto3Optional), n4;
}, v.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, v.Type = (n3 = {}, (e2 = Object.create(n3))[n3[1] = "TYPE_DOUBLE"] = 1, e2[n3[2] = "TYPE_FLOAT"] = 2, e2[n3[3] = "TYPE_INT64"] = 3, e2[n3[4] = "TYPE_UINT64"] = 4, e2[n3[5] = "TYPE_INT32"] = 5, e2[n3[6] = "TYPE_FIXED64"] = 6, e2[n3[7] = "TYPE_FIXED32"] = 7, e2[n3[8] = "TYPE_BOOL"] = 8, e2[n3[9] = "TYPE_STRING"] = 9, e2[n3[10] = "TYPE_GROUP"] = 10, e2[n3[11] = "TYPE_MESSAGE"] = 11, e2[n3[12] = "TYPE_BYTES"] = 12, e2[n3[13] = "TYPE_UINT32"] = 13, e2[n3[14] = "TYPE_ENUM"] = 14, e2[n3[15] = "TYPE_SFIXED32"] = 15, e2[n3[16] = "TYPE_SFIXED64"] = 16, e2[n3[17] = "TYPE_SINT32"] = 17, e2[n3[18] = "TYPE_SINT64"] = 18, e2), v.Label = (n3 = {}, (e2 = Object.create(n3))[n3[1] = "LABEL_OPTIONAL"] = 1, e2[n3[2] = "LABEL_REQUIRED"] = 2, e2[n3[3] = "LABEL_REPEATED"] = 3, e2), v), t2.OneofDescriptorProto = (w.prototype.name = "", w.prototype.options = null, w.create = function(e3) {
return new w(e3);
}, w.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.OneofOptions.encode(e3.options, t3.uint32(18).fork()).ldelim(), t3;
}, w.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, w.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.OneofDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.options = p.google.protobuf.OneofOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, w.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, w.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = p.google.protobuf.OneofOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, w.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.OneofDescriptorProto) return e3;
var t3 = new p.google.protobuf.OneofDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
t3.options = p.google.protobuf.OneofOptions.fromObject(e3.options);
}
return t3;
}, w.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.OneofOptions.toObject(e3.options, t3)), n4;
}, w.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, w), t2.EnumDescriptorProto = (P.prototype.name = "", P.prototype.value = i3.emptyArray, P.prototype.options = null, P.prototype.reservedRange = i3.emptyArray, P.prototype.reservedName = i3.emptyArray, P.create = function(e3) {
return new P(e3);
}, P.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.value && e3.value.length) for (var n4 = 0; n4 < e3.value.length; ++n4) p.google.protobuf.EnumValueDescriptorProto.encode(e3.value[n4], t3.uint32(18).fork()).ldelim();
if (null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.EnumOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), null != e3.reservedRange && e3.reservedRange.length) for (n4 = 0; n4 < e3.reservedRange.length; ++n4) p.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(e3.reservedRange[n4], t3.uint32(34).fork()).ldelim();
if (null != e3.reservedName && e3.reservedName.length) for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.uint32(42).string(e3.reservedName[n4]);
return t3;
}, P.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, P.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.EnumDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.value && o4.value.length || (o4.value = []), o4.value.push(p.google.protobuf.EnumValueDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.options = p.google.protobuf.EnumOptions.decode(e3, e3.uint32());
break;
case 4:
o4.reservedRange && o4.reservedRange.length || (o4.reservedRange = []), o4.reservedRange.push(p.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(e3, e3.uint32()));
break;
case 5:
o4.reservedName && o4.reservedName.length || (o4.reservedName = []), o4.reservedName.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, P.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, P.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.value && e3.hasOwnProperty("value")) {
if (!Array.isArray(e3.value)) return "value: array expected";
for (var t3 = 0; t3 < e3.value.length; ++t3) if (n4 = p.google.protobuf.EnumValueDescriptorProto.verify(e3.value[t3])) return "value." + n4;
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = p.google.protobuf.EnumOptions.verify(e3.options))) return "options." + n4;
if (null != e3.reservedRange && e3.hasOwnProperty("reservedRange")) {
if (!Array.isArray(e3.reservedRange)) return "reservedRange: array expected";
for (var n4, t3 = 0; t3 < e3.reservedRange.length; ++t3) if (n4 = p.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(e3.reservedRange[t3])) return "reservedRange." + n4;
}
if (null != e3.reservedName && e3.hasOwnProperty("reservedName")) {
if (!Array.isArray(e3.reservedName)) return "reservedName: array expected";
for (t3 = 0; t3 < e3.reservedName.length; ++t3) if (!i3.isString(e3.reservedName[t3])) return "reservedName: string[] expected";
}
return null;
}, P.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.EnumDescriptorProto) return e3;
var t3 = new p.google.protobuf.EnumDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.value) {
if (!Array.isArray(e3.value)) throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");
t3.value = [];
for (var n4 = 0; n4 < e3.value.length; ++n4) {
if ("object" != typeof e3.value[n4]) throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");
t3.value[n4] = p.google.protobuf.EnumValueDescriptorProto.fromObject(e3.value[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");
t3.options = p.google.protobuf.EnumOptions.fromObject(e3.options);
}
if (e3.reservedRange) {
if (!Array.isArray(e3.reservedRange)) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");
t3.reservedRange = [];
for (n4 = 0; n4 < e3.reservedRange.length; ++n4) {
if ("object" != typeof e3.reservedRange[n4]) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");
t3.reservedRange[n4] = p.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(e3.reservedRange[n4]);
}
}
if (e3.reservedName) {
if (!Array.isArray(e3.reservedName)) throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");
t3.reservedName = [];
for (n4 = 0; n4 < e3.reservedName.length; ++n4) t3.reservedName[n4] = String(e3.reservedName[n4]);
}
return t3;
}, P.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.value = [], n4.reservedRange = [], n4.reservedName = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.value && e3.value.length) {
n4.value = [];
for (var o4 = 0; o4 < e3.value.length; ++o4) n4.value[o4] = p.google.protobuf.EnumValueDescriptorProto.toObject(e3.value[o4], t3);
}
if (null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.EnumOptions.toObject(e3.options, t3)), e3.reservedRange && e3.reservedRange.length) {
n4.reservedRange = [];
for (o4 = 0; o4 < e3.reservedRange.length; ++o4) n4.reservedRange[o4] = p.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(e3.reservedRange[o4], t3);
}
if (e3.reservedName && e3.reservedName.length) {
n4.reservedName = [];
for (o4 = 0; o4 < e3.reservedName.length; ++o4) n4.reservedName[o4] = e3.reservedName[o4];
}
return n4;
}, P.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, P.EnumReservedRange = (_.prototype.start = 0, _.prototype.end = 0, _.create = function(e3) {
return new _(e3);
}, _.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.start && Object.hasOwnProperty.call(e3, "start") && t3.uint32(8).int32(e3.start), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(16).int32(e3.end), t3;
}, _.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, _.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.EnumDescriptorProto.EnumReservedRange(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.start = e3.int32();
break;
case 2:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, _.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, _.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.start && e3.hasOwnProperty("start") && !i3.isInteger(e3.start) ? "start: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !i3.isInteger(e3.end) ? "end: integer expected" : null;
}, _.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.protobuf.EnumDescriptorProto.EnumReservedRange ? e3 : (t3 = new p.google.protobuf.EnumDescriptorProto.EnumReservedRange(), null != e3.start && (t3.start = 0 | e3.start), null != e3.end && (t3.end = 0 | e3.end), t3);
}, _.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.start = 0, n4.end = 0), null != e3.start && e3.hasOwnProperty("start") && (n4.start = e3.start), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, _.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, _), P), t2.EnumValueDescriptorProto = (j.prototype.name = "", j.prototype.number = 0, j.prototype.options = null, j.create = function(e3) {
return new j(e3);
}, j.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.number && Object.hasOwnProperty.call(e3, "number") && t3.uint32(16).int32(e3.number), null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.EnumValueOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, j.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, j.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.EnumValueDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.number = e3.int32();
break;
case 3:
o4.options = p.google.protobuf.EnumValueOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, j.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, j.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.number && e3.hasOwnProperty("number") && !i3.isInteger(e3.number)) return "number: integer expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
e3 = p.google.protobuf.EnumValueOptions.verify(e3.options);
if (e3) return "options." + e3;
}
return null;
}, j.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.EnumValueDescriptorProto) return e3;
var t3 = new p.google.protobuf.EnumValueDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.number && (t3.number = 0 | e3.number), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");
t3.options = p.google.protobuf.EnumValueOptions.fromObject(e3.options);
}
return t3;
}, j.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.number = 0, n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.number && e3.hasOwnProperty("number") && (n4.number = e3.number), null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.EnumValueOptions.toObject(e3.options, t3)), n4;
}, j.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, j), t2.ServiceDescriptorProto = (S.prototype.name = "", S.prototype.method = i3.emptyArray, S.prototype.options = null, S.create = function(e3) {
return new S(e3);
}, S.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.method && e3.method.length) for (var n4 = 0; n4 < e3.method.length; ++n4) p.google.protobuf.MethodDescriptorProto.encode(e3.method[n4], t3.uint32(18).fork()).ldelim();
return null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.ServiceOptions.encode(e3.options, t3.uint32(26).fork()).ldelim(), t3;
}, S.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, S.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.ServiceDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.method && o4.method.length || (o4.method = []), o4.method.push(p.google.protobuf.MethodDescriptorProto.decode(e3, e3.uint32()));
break;
case 3:
o4.options = p.google.protobuf.ServiceOptions.decode(e3, e3.uint32());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, S.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, S.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.method && e3.hasOwnProperty("method")) {
if (!Array.isArray(e3.method)) return "method: array expected";
for (var t3 = 0; t3 < e3.method.length; ++t3) if (n4 = p.google.protobuf.MethodDescriptorProto.verify(e3.method[t3])) return "method." + n4;
}
var n4;
if (null != e3.options && e3.hasOwnProperty("options") && (n4 = p.google.protobuf.ServiceOptions.verify(e3.options))) return "options." + n4;
return null;
}, S.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.ServiceDescriptorProto) return e3;
var t3 = new p.google.protobuf.ServiceDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), e3.method) {
if (!Array.isArray(e3.method)) throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");
t3.method = [];
for (var n4 = 0; n4 < e3.method.length; ++n4) {
if ("object" != typeof e3.method[n4]) throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");
t3.method[n4] = p.google.protobuf.MethodDescriptorProto.fromObject(e3.method[n4]);
}
}
if (null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");
t3.options = p.google.protobuf.ServiceOptions.fromObject(e3.options);
}
return t3;
}, S.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.method = []), t3.defaults && (n4.name = "", n4.options = null), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), e3.method && e3.method.length) {
n4.method = [];
for (var o4 = 0; o4 < e3.method.length; ++o4) n4.method[o4] = p.google.protobuf.MethodDescriptorProto.toObject(e3.method[o4], t3);
}
return null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.ServiceOptions.toObject(e3.options, t3)), n4;
}, S.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, S), t2.MethodDescriptorProto = (x.prototype.name = "", x.prototype.inputType = "", x.prototype.outputType = "", x.prototype.options = null, x.prototype.clientStreaming = false, x.prototype.serverStreaming = false, x.create = function(e3) {
return new x(e3);
}, x.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.name && Object.hasOwnProperty.call(e3, "name") && t3.uint32(10).string(e3.name), null != e3.inputType && Object.hasOwnProperty.call(e3, "inputType") && t3.uint32(18).string(e3.inputType), null != e3.outputType && Object.hasOwnProperty.call(e3, "outputType") && t3.uint32(26).string(e3.outputType), null != e3.options && Object.hasOwnProperty.call(e3, "options") && p.google.protobuf.MethodOptions.encode(e3.options, t3.uint32(34).fork()).ldelim(), null != e3.clientStreaming && Object.hasOwnProperty.call(e3, "clientStreaming") && t3.uint32(40).bool(e3.clientStreaming), null != e3.serverStreaming && Object.hasOwnProperty.call(e3, "serverStreaming") && t3.uint32(48).bool(e3.serverStreaming), t3;
}, x.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, x.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.MethodDescriptorProto(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.name = e3.string();
break;
case 2:
o4.inputType = e3.string();
break;
case 3:
o4.outputType = e3.string();
break;
case 4:
o4.options = p.google.protobuf.MethodOptions.decode(e3, e3.uint32());
break;
case 5:
o4.clientStreaming = e3.bool();
break;
case 6:
o4.serverStreaming = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, x.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, x.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name") && !i3.isString(e3.name)) return "name: string expected";
if (null != e3.inputType && e3.hasOwnProperty("inputType") && !i3.isString(e3.inputType)) return "inputType: string expected";
if (null != e3.outputType && e3.hasOwnProperty("outputType") && !i3.isString(e3.outputType)) return "outputType: string expected";
if (null != e3.options && e3.hasOwnProperty("options")) {
var t3 = p.google.protobuf.MethodOptions.verify(e3.options);
if (t3) return "options." + t3;
}
return null != e3.clientStreaming && e3.hasOwnProperty("clientStreaming") && "boolean" != typeof e3.clientStreaming ? "clientStreaming: boolean expected" : null != e3.serverStreaming && e3.hasOwnProperty("serverStreaming") && "boolean" != typeof e3.serverStreaming ? "serverStreaming: boolean expected" : null;
}, x.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.MethodDescriptorProto) return e3;
var t3 = new p.google.protobuf.MethodDescriptorProto();
if (null != e3.name && (t3.name = String(e3.name)), null != e3.inputType && (t3.inputType = String(e3.inputType)), null != e3.outputType && (t3.outputType = String(e3.outputType)), null != e3.options) {
if ("object" != typeof e3.options) throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");
t3.options = p.google.protobuf.MethodOptions.fromObject(e3.options);
}
return null != e3.clientStreaming && (t3.clientStreaming = Boolean(e3.clientStreaming)), null != e3.serverStreaming && (t3.serverStreaming = Boolean(e3.serverStreaming)), t3;
}, x.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.name = "", n4.inputType = "", n4.outputType = "", n4.options = null, n4.clientStreaming = false, n4.serverStreaming = false), null != e3.name && e3.hasOwnProperty("name") && (n4.name = e3.name), null != e3.inputType && e3.hasOwnProperty("inputType") && (n4.inputType = e3.inputType), null != e3.outputType && e3.hasOwnProperty("outputType") && (n4.outputType = e3.outputType), null != e3.options && e3.hasOwnProperty("options") && (n4.options = p.google.protobuf.MethodOptions.toObject(e3.options, t3)), null != e3.clientStreaming && e3.hasOwnProperty("clientStreaming") && (n4.clientStreaming = e3.clientStreaming), null != e3.serverStreaming && e3.hasOwnProperty("serverStreaming") && (n4.serverStreaming = e3.serverStreaming), n4;
}, x.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, x), t2.FileOptions = (k.prototype.javaPackage = "", k.prototype.javaOuterClassname = "", k.prototype.javaMultipleFiles = false, k.prototype.javaGenerateEqualsAndHash = false, k.prototype.javaStringCheckUtf8 = false, k.prototype.optimizeFor = 1, k.prototype.goPackage = "", k.prototype.ccGenericServices = false, k.prototype.javaGenericServices = false, k.prototype.pyGenericServices = false, k.prototype.phpGenericServices = false, k.prototype.deprecated = false, k.prototype.ccEnableArenas = true, k.prototype.objcClassPrefix = "", k.prototype.csharpNamespace = "", k.prototype.swiftPrefix = "", k.prototype.phpClassPrefix = "", k.prototype.phpNamespace = "", k.prototype.phpMetadataNamespace = "", k.prototype.rubyPackage = "", k.prototype.uninterpretedOption = i3.emptyArray, k.create = function(e3) {
return new k(e3);
}, k.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.javaPackage && Object.hasOwnProperty.call(e3, "javaPackage") && t3.uint32(10).string(e3.javaPackage), null != e3.javaOuterClassname && Object.hasOwnProperty.call(e3, "javaOuterClassname") && t3.uint32(66).string(e3.javaOuterClassname), null != e3.optimizeFor && Object.hasOwnProperty.call(e3, "optimizeFor") && t3.uint32(72).int32(e3.optimizeFor), null != e3.javaMultipleFiles && Object.hasOwnProperty.call(e3, "javaMultipleFiles") && t3.uint32(80).bool(e3.javaMultipleFiles), null != e3.goPackage && Object.hasOwnProperty.call(e3, "goPackage") && t3.uint32(90).string(e3.goPackage), null != e3.ccGenericServices && Object.hasOwnProperty.call(e3, "ccGenericServices") && t3.uint32(128).bool(e3.ccGenericServices), null != e3.javaGenericServices && Object.hasOwnProperty.call(e3, "javaGenericServices") && t3.uint32(136).bool(e3.javaGenericServices), null != e3.pyGenericServices && Object.hasOwnProperty.call(e3, "pyGenericServices") && t3.uint32(144).bool(e3.pyGenericServices), null != e3.javaGenerateEqualsAndHash && Object.hasOwnProperty.call(e3, "javaGenerateEqualsAndHash") && t3.uint32(160).bool(e3.javaGenerateEqualsAndHash), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(184).bool(e3.deprecated), null != e3.javaStringCheckUtf8 && Object.hasOwnProperty.call(e3, "javaStringCheckUtf8") && t3.uint32(216).bool(e3.javaStringCheckUtf8), null != e3.ccEnableArenas && Object.hasOwnProperty.call(e3, "ccEnableArenas") && t3.uint32(248).bool(e3.ccEnableArenas), null != e3.objcClassPrefix && Object.hasOwnProperty.call(e3, "objcClassPrefix") && t3.uint32(290).string(e3.objcClassPrefix), null != e3.csharpNamespace && Object.hasOwnProperty.call(e3, "csharpNamespace") && t3.uint32(298).string(e3.csharpNamespace), null != e3.swiftPrefix && Object.hasOwnProperty.call(e3, "swiftPrefix") && t3.uint32(314).string(e3.swiftPrefix), null != e3.phpClassPrefix && Object.hasOwnProperty.call(e3, "phpClassPrefix") && t3.uint32(322).string(e3.phpClassPrefix), null != e3.phpNamespace && Object.hasOwnProperty.call(e3, "phpNamespace") && t3.uint32(330).string(e3.phpNamespace), null != e3.phpGenericServices && Object.hasOwnProperty.call(e3, "phpGenericServices") && t3.uint32(336).bool(e3.phpGenericServices), null != e3.phpMetadataNamespace && Object.hasOwnProperty.call(e3, "phpMetadataNamespace") && t3.uint32(354).string(e3.phpMetadataNamespace), null != e3.rubyPackage && Object.hasOwnProperty.call(e3, "rubyPackage") && t3.uint32(362).string(e3.rubyPackage), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, k.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, k.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.FileOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.javaPackage = e3.string();
break;
case 8:
o4.javaOuterClassname = e3.string();
break;
case 10:
o4.javaMultipleFiles = e3.bool();
break;
case 20:
o4.javaGenerateEqualsAndHash = e3.bool();
break;
case 27:
o4.javaStringCheckUtf8 = e3.bool();
break;
case 9:
o4.optimizeFor = e3.int32();
break;
case 11:
o4.goPackage = e3.string();
break;
case 16:
o4.ccGenericServices = e3.bool();
break;
case 17:
o4.javaGenericServices = e3.bool();
break;
case 18:
o4.pyGenericServices = e3.bool();
break;
case 42:
o4.phpGenericServices = e3.bool();
break;
case 23:
o4.deprecated = e3.bool();
break;
case 31:
o4.ccEnableArenas = e3.bool();
break;
case 36:
o4.objcClassPrefix = e3.string();
break;
case 37:
o4.csharpNamespace = e3.string();
break;
case 39:
o4.swiftPrefix = e3.string();
break;
case 40:
o4.phpClassPrefix = e3.string();
break;
case 41:
o4.phpNamespace = e3.string();
break;
case 44:
o4.phpMetadataNamespace = e3.string();
break;
case 45:
o4.rubyPackage = e3.string();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, k.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, k.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.javaPackage && e3.hasOwnProperty("javaPackage") && !i3.isString(e3.javaPackage)) return "javaPackage: string expected";
if (null != e3.javaOuterClassname && e3.hasOwnProperty("javaOuterClassname") && !i3.isString(e3.javaOuterClassname)) return "javaOuterClassname: string expected";
if (null != e3.javaMultipleFiles && e3.hasOwnProperty("javaMultipleFiles") && "boolean" != typeof e3.javaMultipleFiles) return "javaMultipleFiles: boolean expected";
if (null != e3.javaGenerateEqualsAndHash && e3.hasOwnProperty("javaGenerateEqualsAndHash") && "boolean" != typeof e3.javaGenerateEqualsAndHash) return "javaGenerateEqualsAndHash: boolean expected";
if (null != e3.javaStringCheckUtf8 && e3.hasOwnProperty("javaStringCheckUtf8") && "boolean" != typeof e3.javaStringCheckUtf8) return "javaStringCheckUtf8: boolean expected";
if (null != e3.optimizeFor && e3.hasOwnProperty("optimizeFor")) switch (e3.optimizeFor) {
default:
return "optimizeFor: enum value expected";
case 1:
case 2:
case 3:
}
if (null != e3.goPackage && e3.hasOwnProperty("goPackage") && !i3.isString(e3.goPackage)) return "goPackage: string expected";
if (null != e3.ccGenericServices && e3.hasOwnProperty("ccGenericServices") && "boolean" != typeof e3.ccGenericServices) return "ccGenericServices: boolean expected";
if (null != e3.javaGenericServices && e3.hasOwnProperty("javaGenericServices") && "boolean" != typeof e3.javaGenericServices) return "javaGenericServices: boolean expected";
if (null != e3.pyGenericServices && e3.hasOwnProperty("pyGenericServices") && "boolean" != typeof e3.pyGenericServices) return "pyGenericServices: boolean expected";
if (null != e3.phpGenericServices && e3.hasOwnProperty("phpGenericServices") && "boolean" != typeof e3.phpGenericServices) return "phpGenericServices: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.ccEnableArenas && e3.hasOwnProperty("ccEnableArenas") && "boolean" != typeof e3.ccEnableArenas) return "ccEnableArenas: boolean expected";
if (null != e3.objcClassPrefix && e3.hasOwnProperty("objcClassPrefix") && !i3.isString(e3.objcClassPrefix)) return "objcClassPrefix: string expected";
if (null != e3.csharpNamespace && e3.hasOwnProperty("csharpNamespace") && !i3.isString(e3.csharpNamespace)) return "csharpNamespace: string expected";
if (null != e3.swiftPrefix && e3.hasOwnProperty("swiftPrefix") && !i3.isString(e3.swiftPrefix)) return "swiftPrefix: string expected";
if (null != e3.phpClassPrefix && e3.hasOwnProperty("phpClassPrefix") && !i3.isString(e3.phpClassPrefix)) return "phpClassPrefix: string expected";
if (null != e3.phpNamespace && e3.hasOwnProperty("phpNamespace") && !i3.isString(e3.phpNamespace)) return "phpNamespace: string expected";
if (null != e3.phpMetadataNamespace && e3.hasOwnProperty("phpMetadataNamespace") && !i3.isString(e3.phpMetadataNamespace)) return "phpMetadataNamespace: string expected";
if (null != e3.rubyPackage && e3.hasOwnProperty("rubyPackage") && !i3.isString(e3.rubyPackage)) return "rubyPackage: string expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, k.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.FileOptions) return e3;
var t3 = new p.google.protobuf.FileOptions();
switch (null != e3.javaPackage && (t3.javaPackage = String(e3.javaPackage)), null != e3.javaOuterClassname && (t3.javaOuterClassname = String(e3.javaOuterClassname)), null != e3.javaMultipleFiles && (t3.javaMultipleFiles = Boolean(e3.javaMultipleFiles)), null != e3.javaGenerateEqualsAndHash && (t3.javaGenerateEqualsAndHash = Boolean(e3.javaGenerateEqualsAndHash)), null != e3.javaStringCheckUtf8 && (t3.javaStringCheckUtf8 = Boolean(e3.javaStringCheckUtf8)), e3.optimizeFor) {
case "SPEED":
case 1:
t3.optimizeFor = 1;
break;
case "CODE_SIZE":
case 2:
t3.optimizeFor = 2;
break;
case "LITE_RUNTIME":
case 3:
t3.optimizeFor = 3;
}
if (null != e3.goPackage && (t3.goPackage = String(e3.goPackage)), null != e3.ccGenericServices && (t3.ccGenericServices = Boolean(e3.ccGenericServices)), null != e3.javaGenericServices && (t3.javaGenericServices = Boolean(e3.javaGenericServices)), null != e3.pyGenericServices && (t3.pyGenericServices = Boolean(e3.pyGenericServices)), null != e3.phpGenericServices && (t3.phpGenericServices = Boolean(e3.phpGenericServices)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.ccEnableArenas && (t3.ccEnableArenas = Boolean(e3.ccEnableArenas)), null != e3.objcClassPrefix && (t3.objcClassPrefix = String(e3.objcClassPrefix)), null != e3.csharpNamespace && (t3.csharpNamespace = String(e3.csharpNamespace)), null != e3.swiftPrefix && (t3.swiftPrefix = String(e3.swiftPrefix)), null != e3.phpClassPrefix && (t3.phpClassPrefix = String(e3.phpClassPrefix)), null != e3.phpNamespace && (t3.phpNamespace = String(e3.phpNamespace)), null != e3.phpMetadataNamespace && (t3.phpMetadataNamespace = String(e3.phpMetadataNamespace)), null != e3.rubyPackage && (t3.rubyPackage = String(e3.rubyPackage)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, k.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.javaPackage = "", n4.javaOuterClassname = "", n4.optimizeFor = t3.enums === String ? "SPEED" : 1, n4.javaMultipleFiles = false, n4.goPackage = "", n4.ccGenericServices = false, n4.javaGenericServices = false, n4.pyGenericServices = false, n4.javaGenerateEqualsAndHash = false, n4.deprecated = false, n4.javaStringCheckUtf8 = false, n4.ccEnableArenas = true, n4.objcClassPrefix = "", n4.csharpNamespace = "", n4.swiftPrefix = "", n4.phpClassPrefix = "", n4.phpNamespace = "", n4.phpGenericServices = false, n4.phpMetadataNamespace = "", n4.rubyPackage = ""), null != e3.javaPackage && e3.hasOwnProperty("javaPackage") && (n4.javaPackage = e3.javaPackage), null != e3.javaOuterClassname && e3.hasOwnProperty("javaOuterClassname") && (n4.javaOuterClassname = e3.javaOuterClassname), null != e3.optimizeFor && e3.hasOwnProperty("optimizeFor") && (n4.optimizeFor = t3.enums === String ? p.google.protobuf.FileOptions.OptimizeMode[e3.optimizeFor] : e3.optimizeFor), null != e3.javaMultipleFiles && e3.hasOwnProperty("javaMultipleFiles") && (n4.javaMultipleFiles = e3.javaMultipleFiles), null != e3.goPackage && e3.hasOwnProperty("goPackage") && (n4.goPackage = e3.goPackage), null != e3.ccGenericServices && e3.hasOwnProperty("ccGenericServices") && (n4.ccGenericServices = e3.ccGenericServices), null != e3.javaGenericServices && e3.hasOwnProperty("javaGenericServices") && (n4.javaGenericServices = e3.javaGenericServices), null != e3.pyGenericServices && e3.hasOwnProperty("pyGenericServices") && (n4.pyGenericServices = e3.pyGenericServices), null != e3.javaGenerateEqualsAndHash && e3.hasOwnProperty("javaGenerateEqualsAndHash") && (n4.javaGenerateEqualsAndHash = e3.javaGenerateEqualsAndHash), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.javaStringCheckUtf8 && e3.hasOwnProperty("javaStringCheckUtf8") && (n4.javaStringCheckUtf8 = e3.javaStringCheckUtf8), null != e3.ccEnableArenas && e3.hasOwnProperty("ccEnableArenas") && (n4.ccEnableArenas = e3.ccEnableArenas), null != e3.objcClassPrefix && e3.hasOwnProperty("objcClassPrefix") && (n4.objcClassPrefix = e3.objcClassPrefix), null != e3.csharpNamespace && e3.hasOwnProperty("csharpNamespace") && (n4.csharpNamespace = e3.csharpNamespace), null != e3.swiftPrefix && e3.hasOwnProperty("swiftPrefix") && (n4.swiftPrefix = e3.swiftPrefix), null != e3.phpClassPrefix && e3.hasOwnProperty("phpClassPrefix") && (n4.phpClassPrefix = e3.phpClassPrefix), null != e3.phpNamespace && e3.hasOwnProperty("phpNamespace") && (n4.phpNamespace = e3.phpNamespace), null != e3.phpGenericServices && e3.hasOwnProperty("phpGenericServices") && (n4.phpGenericServices = e3.phpGenericServices), null != e3.phpMetadataNamespace && e3.hasOwnProperty("phpMetadataNamespace") && (n4.phpMetadataNamespace = e3.phpMetadataNamespace), null != e3.rubyPackage && e3.hasOwnProperty("rubyPackage") && (n4.rubyPackage = e3.rubyPackage), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, k.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, k.OptimizeMode = (n3 = {}, (e2 = Object.create(n3))[n3[1] = "SPEED"] = 1, e2[n3[2] = "CODE_SIZE"] = 2, e2[n3[3] = "LITE_RUNTIME"] = 3, e2), k), t2.MessageOptions = (D.prototype.messageSetWireFormat = false, D.prototype.noStandardDescriptorAccessor = false, D.prototype.deprecated = false, D.prototype.mapEntry = false, D.prototype.uninterpretedOption = i3.emptyArray, D.create = function(e3) {
return new D(e3);
}, D.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.messageSetWireFormat && Object.hasOwnProperty.call(e3, "messageSetWireFormat") && t3.uint32(8).bool(e3.messageSetWireFormat), null != e3.noStandardDescriptorAccessor && Object.hasOwnProperty.call(e3, "noStandardDescriptorAccessor") && t3.uint32(16).bool(e3.noStandardDescriptorAccessor), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.mapEntry && Object.hasOwnProperty.call(e3, "mapEntry") && t3.uint32(56).bool(e3.mapEntry), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, D.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, D.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.MessageOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.messageSetWireFormat = e3.bool();
break;
case 2:
o4.noStandardDescriptorAccessor = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 7:
o4.mapEntry = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, D.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, D.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.messageSetWireFormat && e3.hasOwnProperty("messageSetWireFormat") && "boolean" != typeof e3.messageSetWireFormat) return "messageSetWireFormat: boolean expected";
if (null != e3.noStandardDescriptorAccessor && e3.hasOwnProperty("noStandardDescriptorAccessor") && "boolean" != typeof e3.noStandardDescriptorAccessor) return "noStandardDescriptorAccessor: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.mapEntry && e3.hasOwnProperty("mapEntry") && "boolean" != typeof e3.mapEntry) return "mapEntry: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, D.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.MessageOptions) return e3;
var t3 = new p.google.protobuf.MessageOptions();
if (null != e3.messageSetWireFormat && (t3.messageSetWireFormat = Boolean(e3.messageSetWireFormat)), null != e3.noStandardDescriptorAccessor && (t3.noStandardDescriptorAccessor = Boolean(e3.noStandardDescriptorAccessor)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.mapEntry && (t3.mapEntry = Boolean(e3.mapEntry)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, D.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.messageSetWireFormat = false, n4.noStandardDescriptorAccessor = false, n4.deprecated = false, n4.mapEntry = false), null != e3.messageSetWireFormat && e3.hasOwnProperty("messageSetWireFormat") && (n4.messageSetWireFormat = e3.messageSetWireFormat), null != e3.noStandardDescriptorAccessor && e3.hasOwnProperty("noStandardDescriptorAccessor") && (n4.noStandardDescriptorAccessor = e3.noStandardDescriptorAccessor), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.mapEntry && e3.hasOwnProperty("mapEntry") && (n4.mapEntry = e3.mapEntry), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, D.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, D), t2.FieldOptions = (T.prototype.ctype = 0, T.prototype.packed = false, T.prototype.jstype = 0, T.prototype.lazy = false, T.prototype.deprecated = false, T.prototype.weak = false, T.prototype.uninterpretedOption = i3.emptyArray, T.create = function(e3) {
return new T(e3);
}, T.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.ctype && Object.hasOwnProperty.call(e3, "ctype") && t3.uint32(8).int32(e3.ctype), null != e3.packed && Object.hasOwnProperty.call(e3, "packed") && t3.uint32(16).bool(e3.packed), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.lazy && Object.hasOwnProperty.call(e3, "lazy") && t3.uint32(40).bool(e3.lazy), null != e3.jstype && Object.hasOwnProperty.call(e3, "jstype") && t3.uint32(48).int32(e3.jstype), null != e3.weak && Object.hasOwnProperty.call(e3, "weak") && t3.uint32(80).bool(e3.weak), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, T.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, T.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.FieldOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.ctype = e3.int32();
break;
case 2:
o4.packed = e3.bool();
break;
case 6:
o4.jstype = e3.int32();
break;
case 5:
o4.lazy = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 10:
o4.weak = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, T.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, T.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.ctype && e3.hasOwnProperty("ctype")) switch (e3.ctype) {
default:
return "ctype: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.packed && e3.hasOwnProperty("packed") && "boolean" != typeof e3.packed) return "packed: boolean expected";
if (null != e3.jstype && e3.hasOwnProperty("jstype")) switch (e3.jstype) {
default:
return "jstype: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.lazy && e3.hasOwnProperty("lazy") && "boolean" != typeof e3.lazy) return "lazy: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.weak && e3.hasOwnProperty("weak") && "boolean" != typeof e3.weak) return "weak: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, T.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.FieldOptions) return e3;
var t3 = new p.google.protobuf.FieldOptions();
switch (e3.ctype) {
case "STRING":
case 0:
t3.ctype = 0;
break;
case "CORD":
case 1:
t3.ctype = 1;
break;
case "STRING_PIECE":
case 2:
t3.ctype = 2;
}
switch (null != e3.packed && (t3.packed = Boolean(e3.packed)), e3.jstype) {
case "JS_NORMAL":
case 0:
t3.jstype = 0;
break;
case "JS_STRING":
case 1:
t3.jstype = 1;
break;
case "JS_NUMBER":
case 2:
t3.jstype = 2;
}
if (null != e3.lazy && (t3.lazy = Boolean(e3.lazy)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), null != e3.weak && (t3.weak = Boolean(e3.weak)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, T.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.ctype = t3.enums === String ? "STRING" : 0, n4.packed = false, n4.deprecated = false, n4.lazy = false, n4.jstype = t3.enums === String ? "JS_NORMAL" : 0, n4.weak = false), null != e3.ctype && e3.hasOwnProperty("ctype") && (n4.ctype = t3.enums === String ? p.google.protobuf.FieldOptions.CType[e3.ctype] : e3.ctype), null != e3.packed && e3.hasOwnProperty("packed") && (n4.packed = e3.packed), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.lazy && e3.hasOwnProperty("lazy") && (n4.lazy = e3.lazy), null != e3.jstype && e3.hasOwnProperty("jstype") && (n4.jstype = t3.enums === String ? p.google.protobuf.FieldOptions.JSType[e3.jstype] : e3.jstype), null != e3.weak && e3.hasOwnProperty("weak") && (n4.weak = e3.weak), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, T.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, T.CType = (n3 = {}, (e2 = Object.create(n3))[n3[0] = "STRING"] = 0, e2[n3[1] = "CORD"] = 1, e2[n3[2] = "STRING_PIECE"] = 2, e2), T.JSType = (n3 = {}, (e2 = Object.create(n3))[n3[0] = "JS_NORMAL"] = 0, e2[n3[1] = "JS_STRING"] = 1, e2[n3[2] = "JS_NUMBER"] = 2, e2), T), t2.OneofOptions = (H.prototype.uninterpretedOption = i3.emptyArray, H.create = function(e3) {
return new H(e3);
}, H.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, H.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, H.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.OneofOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 999 ? (o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, H.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, H.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, H.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.OneofOptions) return e3;
var t3 = new p.google.protobuf.OneofOptions();
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, H.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, H.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, H), t2.EnumOptions = (E.prototype.allowAlias = false, E.prototype.deprecated = false, E.prototype.uninterpretedOption = i3.emptyArray, E.create = function(e3) {
return new E(e3);
}, E.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.allowAlias && Object.hasOwnProperty.call(e3, "allowAlias") && t3.uint32(16).bool(e3.allowAlias), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(24).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, E.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, E.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.EnumOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 2:
o4.allowAlias = e3.bool();
break;
case 3:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, E.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, E.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.allowAlias && e3.hasOwnProperty("allowAlias") && "boolean" != typeof e3.allowAlias) return "allowAlias: boolean expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, E.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.EnumOptions) return e3;
var t3 = new p.google.protobuf.EnumOptions();
if (null != e3.allowAlias && (t3.allowAlias = Boolean(e3.allowAlias)), null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, E.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.allowAlias = false, n4.deprecated = false), null != e3.allowAlias && e3.hasOwnProperty("allowAlias") && (n4.allowAlias = e3.allowAlias), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, E.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, E), t2.EnumValueOptions = (z.prototype.deprecated = false, z.prototype.uninterpretedOption = i3.emptyArray, z.create = function(e3) {
return new z(e3);
}, z.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(8).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return t3;
}, z.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, z.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.EnumValueOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, z.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, z.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null;
}, z.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.EnumValueOptions) return e3;
var t3 = new p.google.protobuf.EnumValueOptions();
if (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return t3;
}, z.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.deprecated = false), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return n4;
}, z.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, z), t2.ServiceOptions = (A.prototype.deprecated = false, A.prototype.uninterpretedOption = i3.emptyArray, A.prototype[".google.api.defaultHost"] = "", A.prototype[".google.api.oauthScopes"] = "", A.create = function(e3) {
return new A(e3);
}, A.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(264).bool(e3.deprecated), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
return null != e3[".google.api.defaultHost"] && Object.hasOwnProperty.call(e3, ".google.api.defaultHost") && t3.uint32(8394).string(e3[".google.api.defaultHost"]), null != e3[".google.api.oauthScopes"] && Object.hasOwnProperty.call(e3, ".google.api.oauthScopes") && t3.uint32(8402).string(e3[".google.api.oauthScopes"]), t3;
}, A.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, A.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.ServiceOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 33:
o4.deprecated = e3.bool();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 1049:
o4[".google.api.defaultHost"] = e3.string();
break;
case 1050:
o4[".google.api.oauthScopes"] = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, A.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, A.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3]);
if (n4) return "uninterpretedOption." + n4;
}
}
return null != e3[".google.api.defaultHost"] && e3.hasOwnProperty(".google.api.defaultHost") && !i3.isString(e3[".google.api.defaultHost"]) ? ".google.api.defaultHost: string expected" : null != e3[".google.api.oauthScopes"] && e3.hasOwnProperty(".google.api.oauthScopes") && !i3.isString(e3[".google.api.oauthScopes"]) ? ".google.api.oauthScopes: string expected" : null;
}, A.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.ServiceOptions) return e3;
var t3 = new p.google.protobuf.ServiceOptions();
if (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
return null != e3[".google.api.defaultHost"] && (t3[".google.api.defaultHost"] = String(e3[".google.api.defaultHost"])), null != e3[".google.api.oauthScopes"] && (t3[".google.api.oauthScopes"] = String(e3[".google.api.oauthScopes"])), t3;
}, A.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = []), t3.defaults && (n4.deprecated = false, n4[".google.api.defaultHost"] = "", n4[".google.api.oauthScopes"] = ""), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
return null != e3[".google.api.defaultHost"] && e3.hasOwnProperty(".google.api.defaultHost") && (n4[".google.api.defaultHost"] = e3[".google.api.defaultHost"]), null != e3[".google.api.oauthScopes"] && e3.hasOwnProperty(".google.api.oauthScopes") && (n4[".google.api.oauthScopes"] = e3[".google.api.oauthScopes"]), n4;
}, A.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, A), t2.MethodOptions = (N.prototype.deprecated = false, N.prototype.idempotencyLevel = 0, N.prototype.uninterpretedOption = i3.emptyArray, N.prototype[".google.longrunning.operationInfo"] = null, N.prototype[".google.api.http"] = null, N.prototype[".google.api.methodSignature"] = i3.emptyArray, N.create = function(e3) {
return new N(e3);
}, N.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.deprecated && Object.hasOwnProperty.call(e3, "deprecated") && t3.uint32(264).bool(e3.deprecated), null != e3.idempotencyLevel && Object.hasOwnProperty.call(e3, "idempotencyLevel") && t3.uint32(272).int32(e3.idempotencyLevel), null != e3.uninterpretedOption && e3.uninterpretedOption.length) for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) p.google.protobuf.UninterpretedOption.encode(e3.uninterpretedOption[n4], t3.uint32(7994).fork()).ldelim();
if (null != e3[".google.longrunning.operationInfo"] && Object.hasOwnProperty.call(e3, ".google.longrunning.operationInfo") && p.google.longrunning.OperationInfo.encode(e3[".google.longrunning.operationInfo"], t3.uint32(8394).fork()).ldelim(), null != e3[".google.api.methodSignature"] && e3[".google.api.methodSignature"].length) for (n4 = 0; n4 < e3[".google.api.methodSignature"].length; ++n4) t3.uint32(8410).string(e3[".google.api.methodSignature"][n4]);
return null != e3[".google.api.http"] && Object.hasOwnProperty.call(e3, ".google.api.http") && p.google.api.HttpRule.encode(e3[".google.api.http"], t3.uint32(578365826).fork()).ldelim(), t3;
}, N.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, N.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.MethodOptions(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 33:
o4.deprecated = e3.bool();
break;
case 34:
o4.idempotencyLevel = e3.int32();
break;
case 999:
o4.uninterpretedOption && o4.uninterpretedOption.length || (o4.uninterpretedOption = []), o4.uninterpretedOption.push(p.google.protobuf.UninterpretedOption.decode(e3, e3.uint32()));
break;
case 1049:
o4[".google.longrunning.operationInfo"] = p.google.longrunning.OperationInfo.decode(e3, e3.uint32());
break;
case 72295728:
o4[".google.api.http"] = p.google.api.HttpRule.decode(e3, e3.uint32());
break;
case 1051:
o4[".google.api.methodSignature"] && o4[".google.api.methodSignature"].length || (o4[".google.api.methodSignature"] = []), o4[".google.api.methodSignature"].push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, N.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, N.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.deprecated && e3.hasOwnProperty("deprecated") && "boolean" != typeof e3.deprecated) return "deprecated: boolean expected";
if (null != e3.idempotencyLevel && e3.hasOwnProperty("idempotencyLevel")) switch (e3.idempotencyLevel) {
default:
return "idempotencyLevel: enum value expected";
case 0:
case 1:
case 2:
}
if (null != e3.uninterpretedOption && e3.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(e3.uninterpretedOption)) return "uninterpretedOption: array expected";
for (var t3 = 0; t3 < e3.uninterpretedOption.length; ++t3) if (n4 = p.google.protobuf.UninterpretedOption.verify(e3.uninterpretedOption[t3])) return "uninterpretedOption." + n4;
}
var n4;
if (null != e3[".google.longrunning.operationInfo"] && e3.hasOwnProperty(".google.longrunning.operationInfo") && (n4 = p.google.longrunning.OperationInfo.verify(e3[".google.longrunning.operationInfo"]))) return ".google.longrunning.operationInfo." + n4;
if (null != e3[".google.api.http"] && e3.hasOwnProperty(".google.api.http") && (n4 = p.google.api.HttpRule.verify(e3[".google.api.http"]))) return ".google.api.http." + n4;
if (null != e3[".google.api.methodSignature"] && e3.hasOwnProperty(".google.api.methodSignature")) {
if (!Array.isArray(e3[".google.api.methodSignature"])) return ".google.api.methodSignature: array expected";
for (t3 = 0; t3 < e3[".google.api.methodSignature"].length; ++t3) if (!i3.isString(e3[".google.api.methodSignature"][t3])) return ".google.api.methodSignature: string[] expected";
}
return null;
}, N.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.MethodOptions) return e3;
var t3 = new p.google.protobuf.MethodOptions();
switch (null != e3.deprecated && (t3.deprecated = Boolean(e3.deprecated)), e3.idempotencyLevel) {
case "IDEMPOTENCY_UNKNOWN":
case 0:
t3.idempotencyLevel = 0;
break;
case "NO_SIDE_EFFECTS":
case 1:
t3.idempotencyLevel = 1;
break;
case "IDEMPOTENT":
case 2:
t3.idempotencyLevel = 2;
}
if (e3.uninterpretedOption) {
if (!Array.isArray(e3.uninterpretedOption)) throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");
t3.uninterpretedOption = [];
for (var n4 = 0; n4 < e3.uninterpretedOption.length; ++n4) {
if ("object" != typeof e3.uninterpretedOption[n4]) throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");
t3.uninterpretedOption[n4] = p.google.protobuf.UninterpretedOption.fromObject(e3.uninterpretedOption[n4]);
}
}
if (null != e3[".google.longrunning.operationInfo"]) {
if ("object" != typeof e3[".google.longrunning.operationInfo"]) throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected");
t3[".google.longrunning.operationInfo"] = p.google.longrunning.OperationInfo.fromObject(e3[".google.longrunning.operationInfo"]);
}
if (null != e3[".google.api.http"]) {
if ("object" != typeof e3[".google.api.http"]) throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");
t3[".google.api.http"] = p.google.api.HttpRule.fromObject(e3[".google.api.http"]);
}
if (e3[".google.api.methodSignature"]) {
if (!Array.isArray(e3[".google.api.methodSignature"])) throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected");
t3[".google.api.methodSignature"] = [];
for (n4 = 0; n4 < e3[".google.api.methodSignature"].length; ++n4) t3[".google.api.methodSignature"][n4] = String(e3[".google.api.methodSignature"][n4]);
}
return t3;
}, N.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.uninterpretedOption = [], n4[".google.api.methodSignature"] = []), t3.defaults && (n4.deprecated = false, n4.idempotencyLevel = t3.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0, n4[".google.longrunning.operationInfo"] = null, n4[".google.api.http"] = null), null != e3.deprecated && e3.hasOwnProperty("deprecated") && (n4.deprecated = e3.deprecated), null != e3.idempotencyLevel && e3.hasOwnProperty("idempotencyLevel") && (n4.idempotencyLevel = t3.enums === String ? p.google.protobuf.MethodOptions.IdempotencyLevel[e3.idempotencyLevel] : e3.idempotencyLevel), e3.uninterpretedOption && e3.uninterpretedOption.length) {
n4.uninterpretedOption = [];
for (var o4 = 0; o4 < e3.uninterpretedOption.length; ++o4) n4.uninterpretedOption[o4] = p.google.protobuf.UninterpretedOption.toObject(e3.uninterpretedOption[o4], t3);
}
if (null != e3[".google.longrunning.operationInfo"] && e3.hasOwnProperty(".google.longrunning.operationInfo") && (n4[".google.longrunning.operationInfo"] = p.google.longrunning.OperationInfo.toObject(e3[".google.longrunning.operationInfo"], t3)), e3[".google.api.methodSignature"] && e3[".google.api.methodSignature"].length) {
n4[".google.api.methodSignature"] = [];
for (o4 = 0; o4 < e3[".google.api.methodSignature"].length; ++o4) n4[".google.api.methodSignature"][o4] = e3[".google.api.methodSignature"][o4];
}
return null != e3[".google.api.http"] && e3.hasOwnProperty(".google.api.http") && (n4[".google.api.http"] = p.google.api.HttpRule.toObject(e3[".google.api.http"], t3)), n4;
}, N.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, N.IdempotencyLevel = (n3 = {}, (e2 = Object.create(n3))[n3[0] = "IDEMPOTENCY_UNKNOWN"] = 0, e2[n3[1] = "NO_SIDE_EFFECTS"] = 1, e2[n3[2] = "IDEMPOTENT"] = 2, e2), N), t2.UninterpretedOption = (I2.prototype.name = i3.emptyArray, I2.prototype.identifierValue = "", I2.prototype.positiveIntValue = i3.Long ? i3.Long.fromBits(0, 0, true) : 0, I2.prototype.negativeIntValue = i3.Long ? i3.Long.fromBits(0, 0, false) : 0, I2.prototype.doubleValue = 0, I2.prototype.stringValue = i3.newBuffer([]), I2.prototype.aggregateValue = "", I2.create = function(e3) {
return new I2(e3);
}, I2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.name && e3.name.length) for (var n4 = 0; n4 < e3.name.length; ++n4) p.google.protobuf.UninterpretedOption.NamePart.encode(e3.name[n4], t3.uint32(18).fork()).ldelim();
return null != e3.identifierValue && Object.hasOwnProperty.call(e3, "identifierValue") && t3.uint32(26).string(e3.identifierValue), null != e3.positiveIntValue && Object.hasOwnProperty.call(e3, "positiveIntValue") && t3.uint32(32).uint64(e3.positiveIntValue), null != e3.negativeIntValue && Object.hasOwnProperty.call(e3, "negativeIntValue") && t3.uint32(40).int64(e3.negativeIntValue), null != e3.doubleValue && Object.hasOwnProperty.call(e3, "doubleValue") && t3.uint32(49).double(e3.doubleValue), null != e3.stringValue && Object.hasOwnProperty.call(e3, "stringValue") && t3.uint32(58).bytes(e3.stringValue), null != e3.aggregateValue && Object.hasOwnProperty.call(e3, "aggregateValue") && t3.uint32(66).string(e3.aggregateValue), t3;
}, I2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, I2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.UninterpretedOption(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 2:
o4.name && o4.name.length || (o4.name = []), o4.name.push(p.google.protobuf.UninterpretedOption.NamePart.decode(e3, e3.uint32()));
break;
case 3:
o4.identifierValue = e3.string();
break;
case 4:
o4.positiveIntValue = e3.uint64();
break;
case 5:
o4.negativeIntValue = e3.int64();
break;
case 6:
o4.doubleValue = e3.double();
break;
case 7:
o4.stringValue = e3.bytes();
break;
case 8:
o4.aggregateValue = e3.string();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, I2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, I2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.name && e3.hasOwnProperty("name")) {
if (!Array.isArray(e3.name)) return "name: array expected";
for (var t3 = 0; t3 < e3.name.length; ++t3) {
var n4 = p.google.protobuf.UninterpretedOption.NamePart.verify(e3.name[t3]);
if (n4) return "name." + n4;
}
}
return null != e3.identifierValue && e3.hasOwnProperty("identifierValue") && !i3.isString(e3.identifierValue) ? "identifierValue: string expected" : null != e3.positiveIntValue && e3.hasOwnProperty("positiveIntValue") && !(i3.isInteger(e3.positiveIntValue) || e3.positiveIntValue && i3.isInteger(e3.positiveIntValue.low) && i3.isInteger(e3.positiveIntValue.high)) ? "positiveIntValue: integer|Long expected" : null != e3.negativeIntValue && e3.hasOwnProperty("negativeIntValue") && !(i3.isInteger(e3.negativeIntValue) || e3.negativeIntValue && i3.isInteger(e3.negativeIntValue.low) && i3.isInteger(e3.negativeIntValue.high)) ? "negativeIntValue: integer|Long expected" : null != e3.doubleValue && e3.hasOwnProperty("doubleValue") && "number" != typeof e3.doubleValue ? "doubleValue: number expected" : null != e3.stringValue && e3.hasOwnProperty("stringValue") && !(e3.stringValue && "number" == typeof e3.stringValue.length || i3.isString(e3.stringValue)) ? "stringValue: buffer expected" : null != e3.aggregateValue && e3.hasOwnProperty("aggregateValue") && !i3.isString(e3.aggregateValue) ? "aggregateValue: string expected" : null;
}, I2.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.UninterpretedOption) return e3;
var t3 = new p.google.protobuf.UninterpretedOption();
if (e3.name) {
if (!Array.isArray(e3.name)) throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");
t3.name = [];
for (var n4 = 0; n4 < e3.name.length; ++n4) {
if ("object" != typeof e3.name[n4]) throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");
t3.name[n4] = p.google.protobuf.UninterpretedOption.NamePart.fromObject(e3.name[n4]);
}
}
return null != e3.identifierValue && (t3.identifierValue = String(e3.identifierValue)), null != e3.positiveIntValue && (i3.Long ? (t3.positiveIntValue = i3.Long.fromValue(e3.positiveIntValue)).unsigned = true : "string" == typeof e3.positiveIntValue ? t3.positiveIntValue = parseInt(e3.positiveIntValue, 10) : "number" == typeof e3.positiveIntValue ? t3.positiveIntValue = e3.positiveIntValue : "object" == typeof e3.positiveIntValue && (t3.positiveIntValue = new i3.LongBits(e3.positiveIntValue.low >>> 0, e3.positiveIntValue.high >>> 0).toNumber(true))), null != e3.negativeIntValue && (i3.Long ? (t3.negativeIntValue = i3.Long.fromValue(e3.negativeIntValue)).unsigned = false : "string" == typeof e3.negativeIntValue ? t3.negativeIntValue = parseInt(e3.negativeIntValue, 10) : "number" == typeof e3.negativeIntValue ? t3.negativeIntValue = e3.negativeIntValue : "object" == typeof e3.negativeIntValue && (t3.negativeIntValue = new i3.LongBits(e3.negativeIntValue.low >>> 0, e3.negativeIntValue.high >>> 0).toNumber())), null != e3.doubleValue && (t3.doubleValue = Number(e3.doubleValue)), null != e3.stringValue && ("string" == typeof e3.stringValue ? i3.base64.decode(e3.stringValue, t3.stringValue = i3.newBuffer(i3.base64.length(e3.stringValue)), 0) : e3.stringValue.length && (t3.stringValue = e3.stringValue)), null != e3.aggregateValue && (t3.aggregateValue = String(e3.aggregateValue)), t3;
}, I2.toObject = function(e3, t3) {
var n4, o4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (o4.name = []), t3.defaults && (o4.identifierValue = "", i3.Long ? (n4 = new i3.Long(0, 0, true), o4.positiveIntValue = t3.longs === String ? n4.toString() : t3.longs === Number ? n4.toNumber() : n4) : o4.positiveIntValue = t3.longs === String ? "0" : 0, i3.Long ? (n4 = new i3.Long(0, 0, false), o4.negativeIntValue = t3.longs === String ? n4.toString() : t3.longs === Number ? n4.toNumber() : n4) : o4.negativeIntValue = t3.longs === String ? "0" : 0, o4.doubleValue = 0, t3.bytes === String ? o4.stringValue = "" : (o4.stringValue = [], t3.bytes !== Array && (o4.stringValue = i3.newBuffer(o4.stringValue))), o4.aggregateValue = ""), e3.name && e3.name.length) {
o4.name = [];
for (var r3 = 0; r3 < e3.name.length; ++r3) o4.name[r3] = p.google.protobuf.UninterpretedOption.NamePart.toObject(e3.name[r3], t3);
}
return null != e3.identifierValue && e3.hasOwnProperty("identifierValue") && (o4.identifierValue = e3.identifierValue), null != e3.positiveIntValue && e3.hasOwnProperty("positiveIntValue") && ("number" == typeof e3.positiveIntValue ? o4.positiveIntValue = t3.longs === String ? String(e3.positiveIntValue) : e3.positiveIntValue : o4.positiveIntValue = t3.longs === String ? i3.Long.prototype.toString.call(e3.positiveIntValue) : t3.longs === Number ? new i3.LongBits(e3.positiveIntValue.low >>> 0, e3.positiveIntValue.high >>> 0).toNumber(true) : e3.positiveIntValue), null != e3.negativeIntValue && e3.hasOwnProperty("negativeIntValue") && ("number" == typeof e3.negativeIntValue ? o4.negativeIntValue = t3.longs === String ? String(e3.negativeIntValue) : e3.negativeIntValue : o4.negativeIntValue = t3.longs === String ? i3.Long.prototype.toString.call(e3.negativeIntValue) : t3.longs === Number ? new i3.LongBits(e3.negativeIntValue.low >>> 0, e3.negativeIntValue.high >>> 0).toNumber() : e3.negativeIntValue), null != e3.doubleValue && e3.hasOwnProperty("doubleValue") && (o4.doubleValue = t3.json && !isFinite(e3.doubleValue) ? String(e3.doubleValue) : e3.doubleValue), null != e3.stringValue && e3.hasOwnProperty("stringValue") && (o4.stringValue = t3.bytes === String ? i3.base64.encode(e3.stringValue, 0, e3.stringValue.length) : t3.bytes === Array ? Array.prototype.slice.call(e3.stringValue) : e3.stringValue), null != e3.aggregateValue && e3.hasOwnProperty("aggregateValue") && (o4.aggregateValue = e3.aggregateValue), o4;
}, I2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, I2.NamePart = (q.prototype.namePart = "", q.prototype.isExtension = false, q.create = function(e3) {
return new q(e3);
}, q.encode = function(e3, t3) {
return (t3 = t3 || r2.create()).uint32(10).string(e3.namePart), t3.uint32(16).bool(e3.isExtension), t3;
}, q.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, q.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.UninterpretedOption.NamePart(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.namePart = e3.string();
break;
case 2:
o4.isExtension = e3.bool();
break;
default:
e3.skipType(7 & r3);
}
}
if (!o4.hasOwnProperty("namePart")) throw i3.ProtocolError("missing required 'namePart'", { instance: o4 });
if (o4.hasOwnProperty("isExtension")) return o4;
throw i3.ProtocolError("missing required 'isExtension'", { instance: o4 });
}, q.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, q.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : i3.isString(e3.namePart) ? "boolean" != typeof e3.isExtension ? "isExtension: boolean expected" : null : "namePart: string expected";
}, q.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.protobuf.UninterpretedOption.NamePart ? e3 : (t3 = new p.google.protobuf.UninterpretedOption.NamePart(), null != e3.namePart && (t3.namePart = String(e3.namePart)), null != e3.isExtension && (t3.isExtension = Boolean(e3.isExtension)), t3);
}, q.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.namePart = "", n4.isExtension = false), null != e3.namePart && e3.hasOwnProperty("namePart") && (n4.namePart = e3.namePart), null != e3.isExtension && e3.hasOwnProperty("isExtension") && (n4.isExtension = e3.isExtension), n4;
}, q.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, q), I2), t2.SourceCodeInfo = (Y.prototype.location = i3.emptyArray, Y.create = function(e3) {
return new Y(e3);
}, Y.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.location && e3.location.length) for (var n4 = 0; n4 < e3.location.length; ++n4) p.google.protobuf.SourceCodeInfo.Location.encode(e3.location[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, Y.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, Y.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.SourceCodeInfo(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.location && o4.location.length || (o4.location = []), o4.location.push(p.google.protobuf.SourceCodeInfo.Location.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, Y.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, Y.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.location && e3.hasOwnProperty("location")) {
if (!Array.isArray(e3.location)) return "location: array expected";
for (var t3 = 0; t3 < e3.location.length; ++t3) {
var n4 = p.google.protobuf.SourceCodeInfo.Location.verify(e3.location[t3]);
if (n4) return "location." + n4;
}
}
return null;
}, Y.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.SourceCodeInfo) return e3;
var t3 = new p.google.protobuf.SourceCodeInfo();
if (e3.location) {
if (!Array.isArray(e3.location)) throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected");
t3.location = [];
for (var n4 = 0; n4 < e3.location.length; ++n4) {
if ("object" != typeof e3.location[n4]) throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected");
t3.location[n4] = p.google.protobuf.SourceCodeInfo.Location.fromObject(e3.location[n4]);
}
}
return t3;
}, Y.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.location = []), e3.location && e3.location.length) {
n4.location = [];
for (var o4 = 0; o4 < e3.location.length; ++o4) n4.location[o4] = p.google.protobuf.SourceCodeInfo.Location.toObject(e3.location[o4], t3);
}
return n4;
}, Y.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, Y.Location = (R.prototype.path = i3.emptyArray, R.prototype.span = i3.emptyArray, R.prototype.leadingComments = "", R.prototype.trailingComments = "", R.prototype.leadingDetachedComments = i3.emptyArray, R.create = function(e3) {
return new R(e3);
}, R.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.path && e3.path.length) {
t3.uint32(10).fork();
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.int32(e3.path[n4]);
t3.ldelim();
}
if (null != e3.span && e3.span.length) {
t3.uint32(18).fork();
for (n4 = 0; n4 < e3.span.length; ++n4) t3.int32(e3.span[n4]);
t3.ldelim();
}
if (null != e3.leadingComments && Object.hasOwnProperty.call(e3, "leadingComments") && t3.uint32(26).string(e3.leadingComments), null != e3.trailingComments && Object.hasOwnProperty.call(e3, "trailingComments") && t3.uint32(34).string(e3.trailingComments), null != e3.leadingDetachedComments && e3.leadingDetachedComments.length) for (n4 = 0; n4 < e3.leadingDetachedComments.length; ++n4) t3.uint32(50).string(e3.leadingDetachedComments[n4]);
return t3;
}, R.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, R.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.SourceCodeInfo.Location(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
if (o4.path && o4.path.length || (o4.path = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.path.push(e3.int32());
else o4.path.push(e3.int32());
break;
case 2:
if (o4.span && o4.span.length || (o4.span = []), 2 == (7 & r3)) for (i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.span.push(e3.int32());
else o4.span.push(e3.int32());
break;
case 3:
o4.leadingComments = e3.string();
break;
case 4:
o4.trailingComments = e3.string();
break;
case 6:
o4.leadingDetachedComments && o4.leadingDetachedComments.length || (o4.leadingDetachedComments = []), o4.leadingDetachedComments.push(e3.string());
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, R.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, R.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.path && e3.hasOwnProperty("path")) {
if (!Array.isArray(e3.path)) return "path: array expected";
for (var t3 = 0; t3 < e3.path.length; ++t3) if (!i3.isInteger(e3.path[t3])) return "path: integer[] expected";
}
if (null != e3.span && e3.hasOwnProperty("span")) {
if (!Array.isArray(e3.span)) return "span: array expected";
for (t3 = 0; t3 < e3.span.length; ++t3) if (!i3.isInteger(e3.span[t3])) return "span: integer[] expected";
}
if (null != e3.leadingComments && e3.hasOwnProperty("leadingComments") && !i3.isString(e3.leadingComments)) return "leadingComments: string expected";
if (null != e3.trailingComments && e3.hasOwnProperty("trailingComments") && !i3.isString(e3.trailingComments)) return "trailingComments: string expected";
if (null != e3.leadingDetachedComments && e3.hasOwnProperty("leadingDetachedComments")) {
if (!Array.isArray(e3.leadingDetachedComments)) return "leadingDetachedComments: array expected";
for (t3 = 0; t3 < e3.leadingDetachedComments.length; ++t3) if (!i3.isString(e3.leadingDetachedComments[t3])) return "leadingDetachedComments: string[] expected";
}
return null;
}, R.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.SourceCodeInfo.Location) return e3;
var t3 = new p.google.protobuf.SourceCodeInfo.Location();
if (e3.path) {
if (!Array.isArray(e3.path)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected");
t3.path = [];
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.path[n4] = 0 | e3.path[n4];
}
if (e3.span) {
if (!Array.isArray(e3.span)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected");
t3.span = [];
for (n4 = 0; n4 < e3.span.length; ++n4) t3.span[n4] = 0 | e3.span[n4];
}
if (null != e3.leadingComments && (t3.leadingComments = String(e3.leadingComments)), null != e3.trailingComments && (t3.trailingComments = String(e3.trailingComments)), e3.leadingDetachedComments) {
if (!Array.isArray(e3.leadingDetachedComments)) throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected");
t3.leadingDetachedComments = [];
for (n4 = 0; n4 < e3.leadingDetachedComments.length; ++n4) t3.leadingDetachedComments[n4] = String(e3.leadingDetachedComments[n4]);
}
return t3;
}, R.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.path = [], n4.span = [], n4.leadingDetachedComments = []), t3.defaults && (n4.leadingComments = "", n4.trailingComments = ""), e3.path && e3.path.length) {
n4.path = [];
for (var o4 = 0; o4 < e3.path.length; ++o4) n4.path[o4] = e3.path[o4];
}
if (e3.span && e3.span.length) {
n4.span = [];
for (o4 = 0; o4 < e3.span.length; ++o4) n4.span[o4] = e3.span[o4];
}
if (null != e3.leadingComments && e3.hasOwnProperty("leadingComments") && (n4.leadingComments = e3.leadingComments), null != e3.trailingComments && e3.hasOwnProperty("trailingComments") && (n4.trailingComments = e3.trailingComments), e3.leadingDetachedComments && e3.leadingDetachedComments.length) {
n4.leadingDetachedComments = [];
for (o4 = 0; o4 < e3.leadingDetachedComments.length; ++o4) n4.leadingDetachedComments[o4] = e3.leadingDetachedComments[o4];
}
return n4;
}, R.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, R), Y), t2.GeneratedCodeInfo = (W.prototype.annotation = i3.emptyArray, W.create = function(e3) {
return new W(e3);
}, W.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.annotation && e3.annotation.length) for (var n4 = 0; n4 < e3.annotation.length; ++n4) p.google.protobuf.GeneratedCodeInfo.Annotation.encode(e3.annotation[n4], t3.uint32(10).fork()).ldelim();
return t3;
}, W.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, W.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.GeneratedCodeInfo(); e3.pos < n4; ) {
var r3 = e3.uint32();
r3 >>> 3 == 1 ? (o4.annotation && o4.annotation.length || (o4.annotation = []), o4.annotation.push(p.google.protobuf.GeneratedCodeInfo.Annotation.decode(e3, e3.uint32()))) : e3.skipType(7 & r3);
}
return o4;
}, W.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, W.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.annotation && e3.hasOwnProperty("annotation")) {
if (!Array.isArray(e3.annotation)) return "annotation: array expected";
for (var t3 = 0; t3 < e3.annotation.length; ++t3) {
var n4 = p.google.protobuf.GeneratedCodeInfo.Annotation.verify(e3.annotation[t3]);
if (n4) return "annotation." + n4;
}
}
return null;
}, W.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.GeneratedCodeInfo) return e3;
var t3 = new p.google.protobuf.GeneratedCodeInfo();
if (e3.annotation) {
if (!Array.isArray(e3.annotation)) throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected");
t3.annotation = [];
for (var n4 = 0; n4 < e3.annotation.length; ++n4) {
if ("object" != typeof e3.annotation[n4]) throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected");
t3.annotation[n4] = p.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(e3.annotation[n4]);
}
}
return t3;
}, W.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.annotation = []), e3.annotation && e3.annotation.length) {
n4.annotation = [];
for (var o4 = 0; o4 < e3.annotation.length; ++o4) n4.annotation[o4] = p.google.protobuf.GeneratedCodeInfo.Annotation.toObject(e3.annotation[o4], t3);
}
return n4;
}, W.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, W.Annotation = (C2.prototype.path = i3.emptyArray, C2.prototype.sourceFile = "", C2.prototype.begin = 0, C2.prototype.end = 0, C2.create = function(e3) {
return new C2(e3);
}, C2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.path && e3.path.length) {
t3.uint32(10).fork();
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.int32(e3.path[n4]);
t3.ldelim();
}
return null != e3.sourceFile && Object.hasOwnProperty.call(e3, "sourceFile") && t3.uint32(18).string(e3.sourceFile), null != e3.begin && Object.hasOwnProperty.call(e3, "begin") && t3.uint32(24).int32(e3.begin), null != e3.end && Object.hasOwnProperty.call(e3, "end") && t3.uint32(32).int32(e3.end), t3;
}, C2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, C2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.GeneratedCodeInfo.Annotation(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
if (o4.path && o4.path.length || (o4.path = []), 2 == (7 & r3)) for (var i4 = e3.uint32() + e3.pos; e3.pos < i4; ) o4.path.push(e3.int32());
else o4.path.push(e3.int32());
break;
case 2:
o4.sourceFile = e3.string();
break;
case 3:
o4.begin = e3.int32();
break;
case 4:
o4.end = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, C2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, C2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.path && e3.hasOwnProperty("path")) {
if (!Array.isArray(e3.path)) return "path: array expected";
for (var t3 = 0; t3 < e3.path.length; ++t3) if (!i3.isInteger(e3.path[t3])) return "path: integer[] expected";
}
return null != e3.sourceFile && e3.hasOwnProperty("sourceFile") && !i3.isString(e3.sourceFile) ? "sourceFile: string expected" : null != e3.begin && e3.hasOwnProperty("begin") && !i3.isInteger(e3.begin) ? "begin: integer expected" : null != e3.end && e3.hasOwnProperty("end") && !i3.isInteger(e3.end) ? "end: integer expected" : null;
}, C2.fromObject = function(e3) {
if (e3 instanceof p.google.protobuf.GeneratedCodeInfo.Annotation) return e3;
var t3 = new p.google.protobuf.GeneratedCodeInfo.Annotation();
if (e3.path) {
if (!Array.isArray(e3.path)) throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected");
t3.path = [];
for (var n4 = 0; n4 < e3.path.length; ++n4) t3.path[n4] = 0 | e3.path[n4];
}
return null != e3.sourceFile && (t3.sourceFile = String(e3.sourceFile)), null != e3.begin && (t3.begin = 0 | e3.begin), null != e3.end && (t3.end = 0 | e3.end), t3;
}, C2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.path = []), t3.defaults && (n4.sourceFile = "", n4.begin = 0, n4.end = 0), e3.path && e3.path.length) {
n4.path = [];
for (var o4 = 0; o4 < e3.path.length; ++o4) n4.path[o4] = e3.path[o4];
}
return null != e3.sourceFile && e3.hasOwnProperty("sourceFile") && (n4.sourceFile = e3.sourceFile), null != e3.begin && e3.hasOwnProperty("begin") && (n4.begin = e3.begin), null != e3.end && e3.hasOwnProperty("end") && (n4.end = e3.end), n4;
}, C2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, C2), W), t2.Any = (X.prototype.type_url = "", X.prototype.value = i3.newBuffer([]), X.create = function(e3) {
return new X(e3);
}, X.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.type_url && Object.hasOwnProperty.call(e3, "type_url") && t3.uint32(10).string(e3.type_url), null != e3.value && Object.hasOwnProperty.call(e3, "value") && t3.uint32(18).bytes(e3.value), t3;
}, X.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, X.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.Any(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.type_url = e3.string();
break;
case 2:
o4.value = e3.bytes();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, X.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, X.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.type_url && e3.hasOwnProperty("type_url") && !i3.isString(e3.type_url) ? "type_url: string expected" : null != e3.value && e3.hasOwnProperty("value") && !(e3.value && "number" == typeof e3.value.length || i3.isString(e3.value)) ? "value: buffer expected" : null;
}, X.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.protobuf.Any ? e3 : (t3 = new p.google.protobuf.Any(), null != e3.type_url && (t3.type_url = String(e3.type_url)), null != e3.value && ("string" == typeof e3.value ? i3.base64.decode(e3.value, t3.value = i3.newBuffer(i3.base64.length(e3.value)), 0) : e3.value.length && (t3.value = e3.value)), t3);
}, X.toObject = function(e3, t3) {
var n4 = {};
return (t3 = t3 || {}).defaults && (n4.type_url = "", t3.bytes === String ? n4.value = "" : (n4.value = [], t3.bytes !== Array && (n4.value = i3.newBuffer(n4.value)))), null != e3.type_url && e3.hasOwnProperty("type_url") && (n4.type_url = e3.type_url), null != e3.value && e3.hasOwnProperty("value") && (n4.value = t3.bytes === String ? i3.base64.encode(e3.value, 0, e3.value.length) : t3.bytes === Array ? Array.prototype.slice.call(e3.value) : e3.value), n4;
}, X.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, X), t2.Duration = (K.prototype.seconds = i3.Long ? i3.Long.fromBits(0, 0, false) : 0, K.prototype.nanos = 0, K.create = function(e3) {
return new K(e3);
}, K.encode = function(e3, t3) {
return t3 = t3 || r2.create(), null != e3.seconds && Object.hasOwnProperty.call(e3, "seconds") && t3.uint32(8).int64(e3.seconds), null != e3.nanos && Object.hasOwnProperty.call(e3, "nanos") && t3.uint32(16).int32(e3.nanos), t3;
}, K.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, K.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.protobuf.Duration(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.seconds = e3.int64();
break;
case 2:
o4.nanos = e3.int32();
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, K.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, K.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null != e3.seconds && e3.hasOwnProperty("seconds") && !(i3.isInteger(e3.seconds) || e3.seconds && i3.isInteger(e3.seconds.low) && i3.isInteger(e3.seconds.high)) ? "seconds: integer|Long expected" : null != e3.nanos && e3.hasOwnProperty("nanos") && !i3.isInteger(e3.nanos) ? "nanos: integer expected" : null;
}, K.fromObject = function(e3) {
var t3;
return e3 instanceof p.google.protobuf.Duration ? e3 : (t3 = new p.google.protobuf.Duration(), null != e3.seconds && (i3.Long ? (t3.seconds = i3.Long.fromValue(e3.seconds)).unsigned = false : "string" == typeof e3.seconds ? t3.seconds = parseInt(e3.seconds, 10) : "number" == typeof e3.seconds ? t3.seconds = e3.seconds : "object" == typeof e3.seconds && (t3.seconds = new i3.LongBits(e3.seconds.low >>> 0, e3.seconds.high >>> 0).toNumber())), null != e3.nanos && (t3.nanos = 0 | e3.nanos), t3);
}, K.toObject = function(e3, t3) {
var n4, o4 = {};
return (t3 = t3 || {}).defaults && (i3.Long ? (n4 = new i3.Long(0, 0, false), o4.seconds = t3.longs === String ? n4.toString() : t3.longs === Number ? n4.toNumber() : n4) : o4.seconds = t3.longs === String ? "0" : 0, o4.nanos = 0), null != e3.seconds && e3.hasOwnProperty("seconds") && ("number" == typeof e3.seconds ? o4.seconds = t3.longs === String ? String(e3.seconds) : e3.seconds : o4.seconds = t3.longs === String ? i3.Long.prototype.toString.call(e3.seconds) : t3.longs === Number ? new i3.LongBits(e3.seconds.low >>> 0, e3.seconds.high >>> 0).toNumber() : e3.seconds), null != e3.nanos && e3.hasOwnProperty("nanos") && (o4.nanos = e3.nanos), o4;
}, K.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, K), t2.Empty = (Q.create = function(e3) {
return new Q(e3);
}, Q.encode = function(e3, t3) {
return t3 = t3 || r2.create();
}, Q.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, Q.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, t3 = new p.google.protobuf.Empty(); e3.pos < n4; ) {
var o4 = e3.uint32();
e3.skipType(7 & o4);
}
return t3;
}, Q.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, Q.verify = function(e3) {
return "object" != typeof e3 || null === e3 ? "object expected" : null;
}, Q.fromObject = function(e3) {
return e3 instanceof p.google.protobuf.Empty ? e3 : new p.google.protobuf.Empty();
}, Q.toObject = function() {
return {};
}, Q.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, Q), t2), F.rpc = ((n3 = {}).Status = (V2.prototype.code = 0, V2.prototype.message = "", V2.prototype.details = i3.emptyArray, V2.create = function(e3) {
return new V2(e3);
}, V2.encode = function(e3, t3) {
if (t3 = t3 || r2.create(), null != e3.code && Object.hasOwnProperty.call(e3, "code") && t3.uint32(8).int32(e3.code), null != e3.message && Object.hasOwnProperty.call(e3, "message") && t3.uint32(18).string(e3.message), null != e3.details && e3.details.length) for (var n4 = 0; n4 < e3.details.length; ++n4) p.google.protobuf.Any.encode(e3.details[n4], t3.uint32(26).fork()).ldelim();
return t3;
}, V2.encodeDelimited = function(e3, t3) {
return this.encode(e3, t3).ldelim();
}, V2.decode = function(e3, t3) {
e3 instanceof a2 || (e3 = a2.create(e3));
for (var n4 = void 0 === t3 ? e3.len : e3.pos + t3, o4 = new p.google.rpc.Status(); e3.pos < n4; ) {
var r3 = e3.uint32();
switch (r3 >>> 3) {
case 1:
o4.code = e3.int32();
break;
case 2:
o4.message = e3.string();
break;
case 3:
o4.details && o4.details.length || (o4.details = []), o4.details.push(p.google.protobuf.Any.decode(e3, e3.uint32()));
break;
default:
e3.skipType(7 & r3);
}
}
return o4;
}, V2.decodeDelimited = function(e3) {
return e3 instanceof a2 || (e3 = new a2(e3)), this.decode(e3, e3.uint32());
}, V2.verify = function(e3) {
if ("object" != typeof e3 || null === e3) return "object expected";
if (null != e3.code && e3.hasOwnProperty("code") && !i3.isInteger(e3.code)) return "code: integer expected";
if (null != e3.message && e3.hasOwnProperty("message") && !i3.isString(e3.message)) return "message: string expected";
if (null != e3.details && e3.hasOwnProperty("details")) {
if (!Array.isArray(e3.details)) return "details: array expected";
for (var t3 = 0; t3 < e3.details.length; ++t3) {
var n4 = p.google.protobuf.Any.verify(e3.details[t3]);
if (n4) return "details." + n4;
}
}
return null;
}, V2.fromObject = function(e3) {
if (e3 instanceof p.google.rpc.Status) return e3;
var t3 = new p.google.rpc.Status();
if (null != e3.code && (t3.code = 0 | e3.code), null != e3.message && (t3.message = String(e3.message)), e3.details) {
if (!Array.isArray(e3.details)) throw TypeError(".google.rpc.Status.details: array expected");
t3.details = [];
for (var n4 = 0; n4 < e3.details.length; ++n4) {
if ("object" != typeof e3.details[n4]) throw TypeError(".google.rpc.Status.details: object expected");
t3.details[n4] = p.google.protobuf.Any.fromObject(e3.details[n4]);
}
}
return t3;
}, V2.toObject = function(e3, t3) {
var n4 = {};
if (((t3 = t3 || {}).arrays || t3.defaults) && (n4.details = []), t3.defaults && (n4.code = 0, n4.message = ""), null != e3.code && e3.hasOwnProperty("code") && (n4.code = e3.code), null != e3.message && e3.hasOwnProperty("message") && (n4.message = e3.message), e3.details && e3.details.length) {
n4.details = [];
for (var o4 = 0; o4 < e3.details.length; ++o4) n4.details[o4] = p.google.protobuf.Any.toObject(e3.details[o4], t3);
}
return n4;
}, V2.prototype.toJSON = function() {
return this.constructor.toObject(this, o3.util.toJSONOptions);
}, V2), n3), F), p;
});
}
});
// node_modules/proto3-json-serializer/build/src/bytes.js
var require_bytes = __commonJS({
"node_modules/proto3-json-serializer/build/src/bytes.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.bytesFromProto3JSON = exports2.bytesToProto3JSON = void 0;
function bytesToProto3JSON(obj) {
if (Buffer.isBuffer(obj)) {
return obj.toString("base64");
} else {
return Buffer.from(obj.buffer, 0, obj.byteLength).toString("base64");
}
}
exports2.bytesToProto3JSON = bytesToProto3JSON;
function bytesFromProto3JSON(json3) {
return Buffer.from(json3, "base64");
}
exports2.bytesFromProto3JSON = bytesFromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/enum.js
var require_enum2 = __commonJS({
"node_modules/proto3-json-serializer/build/src/enum.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.resolveEnumValueToNumber = exports2.resolveEnumValueToString = void 0;
function resolveEnumValueToString(enumType, enumValue) {
if (typeof enumValue === "number") {
const value = enumType.valuesById[enumValue];
if (typeof value === "undefined") {
return enumValue;
}
return value;
}
if (typeof enumValue === "string") {
return enumValue;
}
throw new Error("resolveEnumValueToString: enum value must be a string or a number");
}
exports2.resolveEnumValueToString = resolveEnumValueToString;
function resolveEnumValueToNumber(enumType, enumValue) {
if (typeof enumValue === "number") {
return enumValue;
}
if (typeof enumValue === "string") {
const num = enumType.values[enumValue];
if (typeof num === "undefined") {
return enumValue;
}
return num;
}
throw new Error("resolveEnumValueToNumber: enum value must be a string or a number");
}
exports2.resolveEnumValueToNumber = resolveEnumValueToNumber;
}
});
// node_modules/proto3-json-serializer/build/src/util.js
var require_util11 = __commonJS({
"node_modules/proto3-json-serializer/build/src/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.assert = exports2.wrapperTypes = exports2.getFullyQualifiedTypeName = void 0;
function getFullyQualifiedTypeName(type2) {
let fullyQualifiedTypeName = "";
while (type2.parent) {
fullyQualifiedTypeName = `.${type2.name}${fullyQualifiedTypeName}`;
type2 = type2.parent;
}
return fullyQualifiedTypeName;
}
exports2.getFullyQualifiedTypeName = getFullyQualifiedTypeName;
exports2.wrapperTypes = /* @__PURE__ */ new Set([
".google.protobuf.DoubleValue",
".google.protobuf.FloatValue",
".google.protobuf.Int64Value",
".google.protobuf.UInt64Value",
".google.protobuf.Int32Value",
".google.protobuf.UInt32Value",
".google.protobuf.BoolValue",
".google.protobuf.StringValue",
".google.protobuf.BytesValue"
]);
function assert3(assertion, message) {
if (!assertion) {
throw new Error(message);
}
}
exports2.assert = assert3;
}
});
// node_modules/proto3-json-serializer/build/src/value.js
var require_value = __commonJS({
"node_modules/proto3-json-serializer/build/src/value.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.googleProtobufValueFromProto3JSON = exports2.googleProtobufListValueFromProto3JSON = exports2.googleProtobufStructFromProto3JSON = exports2.googleProtobufValueToProto3JSON = exports2.googleProtobufListValueToProto3JSON = exports2.googleProtobufStructToProto3JSON = void 0;
var util_1 = require_util11();
function googleProtobufStructToProto3JSON(obj) {
const result2 = {};
const fields = obj.fields;
for (const [key, value] of Object.entries(fields)) {
result2[key] = googleProtobufValueToProto3JSON(value);
}
return result2;
}
exports2.googleProtobufStructToProto3JSON = googleProtobufStructToProto3JSON;
function googleProtobufListValueToProto3JSON(obj) {
(0, util_1.assert)(Array.isArray(obj.values), "ListValue internal representation must contain array of values");
return obj.values.map(googleProtobufValueToProto3JSON);
}
exports2.googleProtobufListValueToProto3JSON = googleProtobufListValueToProto3JSON;
function googleProtobufValueToProto3JSON(obj) {
if (Object.prototype.hasOwnProperty.call(obj, "nullValue")) {
return null;
}
if (Object.prototype.hasOwnProperty.call(obj, "numberValue") && typeof obj.numberValue === "number") {
if (!Number.isFinite(obj.numberValue)) {
return obj.numberValue.toString();
}
return obj.numberValue;
}
if (Object.prototype.hasOwnProperty.call(obj, "stringValue") && typeof obj.stringValue === "string") {
return obj.stringValue;
}
if (Object.prototype.hasOwnProperty.call(obj, "boolValue") && typeof obj.boolValue === "boolean") {
return obj.boolValue;
}
if (Object.prototype.hasOwnProperty.call(obj, "structValue") && typeof obj.structValue === "object") {
return googleProtobufStructToProto3JSON(obj.structValue);
}
if (Object.prototype.hasOwnProperty.call(obj, "listValue") && typeof obj === "object" && typeof obj.listValue === "object") {
return googleProtobufListValueToProto3JSON(obj.listValue);
}
return null;
}
exports2.googleProtobufValueToProto3JSON = googleProtobufValueToProto3JSON;
function googleProtobufStructFromProto3JSON(json3) {
const fields = {};
for (const [key, value] of Object.entries(json3)) {
fields[key] = googleProtobufValueFromProto3JSON(value);
}
return { fields };
}
exports2.googleProtobufStructFromProto3JSON = googleProtobufStructFromProto3JSON;
function googleProtobufListValueFromProto3JSON(json3) {
return {
values: json3.map((element) => googleProtobufValueFromProto3JSON(element))
};
}
exports2.googleProtobufListValueFromProto3JSON = googleProtobufListValueFromProto3JSON;
function googleProtobufValueFromProto3JSON(json3) {
if (json3 === null) {
return { nullValue: "NULL_VALUE" };
}
if (typeof json3 === "number") {
return { numberValue: json3 };
}
if (typeof json3 === "string") {
return { stringValue: json3 };
}
if (typeof json3 === "boolean") {
return { boolValue: json3 };
}
if (Array.isArray(json3)) {
return {
listValue: googleProtobufListValueFromProto3JSON(json3)
};
}
if (typeof json3 === "object") {
return {
structValue: googleProtobufStructFromProto3JSON(json3)
};
}
throw new Error(`googleProtobufValueFromProto3JSON: incorrect parameter type: ${typeof json3}`);
}
exports2.googleProtobufValueFromProto3JSON = googleProtobufValueFromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/duration.js
var require_duration2 = __commonJS({
"node_modules/proto3-json-serializer/build/src/duration.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.googleProtobufDurationFromProto3JSON = exports2.googleProtobufDurationToProto3JSON = void 0;
function googleProtobufDurationToProto3JSON(obj) {
let durationSeconds = obj.seconds.toString();
if (typeof obj.nanos === "number" && obj.nanos > 0) {
const nanosStr = obj.nanos.toString().padStart(9, "0").replace(/^((?:\d\d\d)+?)(?:0*)$/, "$1");
durationSeconds += "." + nanosStr;
}
durationSeconds += "s";
return durationSeconds;
}
exports2.googleProtobufDurationToProto3JSON = googleProtobufDurationToProto3JSON;
function googleProtobufDurationFromProto3JSON(json3) {
const match2 = json3.match(/^(\d*)(?:\.(\d*))?s$/);
if (!match2) {
throw new Error(`googleProtobufDurationFromProto3JSON: incorrect value ${json3} passed as google.protobuf.Duration`);
}
let seconds = 0;
let nanos = 0;
if (typeof match2[1] === "string" && match2[1].length > 0) {
seconds = parseInt(match2[1]);
}
if (typeof match2[2] === "string" && match2[2].length > 0) {
nanos = parseInt(match2[2].padEnd(9, "0"));
}
const result2 = {};
if (seconds !== 0) {
result2.seconds = seconds;
}
if (nanos !== 0) {
result2.nanos = nanos;
}
return result2;
}
exports2.googleProtobufDurationFromProto3JSON = googleProtobufDurationFromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/timestamp.js
var require_timestamp2 = __commonJS({
"node_modules/proto3-json-serializer/build/src/timestamp.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.googleProtobufTimestampFromProto3JSON = exports2.googleProtobufTimestampToProto3JSON = void 0;
function googleProtobufTimestampToProto3JSON(obj) {
var _a4;
const durationSeconds = obj.seconds;
const date5 = new Date(durationSeconds * 1e3).toISOString();
let nanos = (_a4 = obj.nanos) === null || _a4 === void 0 ? void 0 : _a4.toString().padStart(9, "0");
while (nanos && nanos.length > 3 && nanos.endsWith("000")) {
nanos = nanos.slice(0, -3);
}
return date5.replace(/(?:\.\d{0,9})/, "." + nanos);
}
exports2.googleProtobufTimestampToProto3JSON = googleProtobufTimestampToProto3JSON;
function googleProtobufTimestampFromProto3JSON(json3) {
const match2 = json3.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?/);
if (!match2) {
throw new Error(`googleProtobufDurationFromProto3JSON: incorrect value ${json3} passed as google.protobuf.Duration`);
}
const date5 = new Date(json3);
const millisecondsSinceEpoch = date5.getTime();
const seconds = Math.floor(millisecondsSinceEpoch / 1e3);
let nanos = 0;
const secondsFromDate = json3.split(".")[1];
if (secondsFromDate) {
nanos = parseInt(secondsFromDate.slice(0, -1).padEnd(9, "0"));
}
const result2 = {};
if (seconds !== 0) {
result2.seconds = seconds;
}
if (nanos !== 0) {
result2.nanos = nanos;
}
return result2;
}
exports2.googleProtobufTimestampFromProto3JSON = googleProtobufTimestampFromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/wrappers.js
var require_wrappers2 = __commonJS({
"node_modules/proto3-json-serializer/build/src/wrappers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.wrapperFromProto3JSON = exports2.wrapperToProto3JSON = void 0;
var bytes_1 = require_bytes();
var util_1 = require_util11();
function wrapperToProto3JSON(obj) {
if (!Object.prototype.hasOwnProperty.call(obj, "value")) {
return null;
}
if (Buffer.isBuffer(obj.value) || obj.value instanceof Uint8Array) {
return (0, bytes_1.bytesToProto3JSON)(obj.value);
}
if (typeof obj.value === "object") {
(0, util_1.assert)(obj.value.constructor.name === "Long", `wrapperToProto3JSON: expected to see a number, a string, a boolean, or a Long, but got ${obj.value}`);
return obj.value.toString();
}
if (typeof obj.value === "number" && !Number.isFinite(obj.value)) {
return obj.value.toString();
}
return obj.value;
}
exports2.wrapperToProto3JSON = wrapperToProto3JSON;
function wrapperFromProto3JSON(typeName, json3) {
if (json3 === null) {
return {
value: null
};
}
if (typeName === ".google.protobuf.BytesValue") {
if (typeof json3 !== "string") {
throw new Error(`numberWrapperFromProto3JSON: expected to get a string for google.protobuf.BytesValue but got ${typeof json3}`);
}
return {
value: (0, bytes_1.bytesFromProto3JSON)(json3)
};
}
return {
value: json3
};
}
exports2.wrapperFromProto3JSON = wrapperFromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/fieldmask.js
var require_fieldmask = __commonJS({
"node_modules/proto3-json-serializer/build/src/fieldmask.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.googleProtobufFieldMaskFromProto3JSON = exports2.googleProtobufFieldMaskToProto3JSON = void 0;
function googleProtobufFieldMaskToProto3JSON(obj) {
return obj.paths.join(",");
}
exports2.googleProtobufFieldMaskToProto3JSON = googleProtobufFieldMaskToProto3JSON;
function googleProtobufFieldMaskFromProto3JSON(json3) {
return {
paths: json3.split(",")
};
}
exports2.googleProtobufFieldMaskFromProto3JSON = googleProtobufFieldMaskFromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/fromproto3json.js
var require_fromproto3json = __commonJS({
"node_modules/proto3-json-serializer/build/src/fromproto3json.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.fromProto3JSON = exports2.fromProto3JSONToInternalRepresentation = void 0;
var any_1 = require_any();
var bytes_1 = require_bytes();
var enum_1 = require_enum2();
var value_1 = require_value();
var util_1 = require_util11();
var duration_1 = require_duration2();
var timestamp_1 = require_timestamp2();
var wrappers_1 = require_wrappers2();
var fieldmask_1 = require_fieldmask();
function fromProto3JSONToInternalRepresentation(type2, json3) {
const fullyQualifiedTypeName = typeof type2 === "string" ? type2 : (0, util_1.getFullyQualifiedTypeName)(type2);
if (typeof type2 !== "string" && "values" in type2) {
if (fullyQualifiedTypeName === ".google.protobuf.NullValue") {
return "NULL_VALUE";
}
return (0, enum_1.resolveEnumValueToString)(type2, json3);
}
if (typeof type2 !== "string") {
type2.resolveAll();
}
if (typeof type2 === "string") {
return json3;
}
if (fullyQualifiedTypeName === ".google.protobuf.Value") {
return (0, value_1.googleProtobufValueFromProto3JSON)(json3);
}
if (util_1.wrapperTypes.has(fullyQualifiedTypeName)) {
if (json3 !== null && typeof json3 === "object" || Array.isArray(json3)) {
throw new Error(`fromProto3JSONToInternalRepresentation: JSON representation for ${fullyQualifiedTypeName} expects a string, a number, or a boolean, but got ${typeof json3}`);
}
return (0, wrappers_1.wrapperFromProto3JSON)(fullyQualifiedTypeName, json3);
}
if (json3 === null) {
return null;
}
if (fullyQualifiedTypeName === ".google.protobuf.Any") {
return (0, any_1.googleProtobufAnyFromProto3JSON)(type2.root, json3);
}
if (fullyQualifiedTypeName === ".google.protobuf.Struct") {
if (typeof json3 !== "object") {
throw new Error(`fromProto3JSONToInternalRepresentation: google.protobuf.Struct must be an object but got ${typeof json3}`);
}
if (Array.isArray(json3)) {
throw new Error("fromProto3JSONToInternalRepresentation: google.protobuf.Struct must be an object but got an array");
}
return (0, value_1.googleProtobufStructFromProto3JSON)(json3);
}
if (fullyQualifiedTypeName === ".google.protobuf.ListValue") {
if (!Array.isArray(json3)) {
throw new Error(`fromProto3JSONToInternalRepresentation: google.protobuf.ListValue must be an array but got ${typeof json3}`);
}
return (0, value_1.googleProtobufListValueFromProto3JSON)(json3);
}
if (fullyQualifiedTypeName === ".google.protobuf.Duration") {
if (typeof json3 !== "string") {
throw new Error(`fromProto3JSONToInternalRepresentation: google.protobuf.Duration must be a string but got ${typeof json3}`);
}
return (0, duration_1.googleProtobufDurationFromProto3JSON)(json3);
}
if (fullyQualifiedTypeName === ".google.protobuf.Timestamp") {
if (typeof json3 !== "string") {
throw new Error(`fromProto3JSONToInternalRepresentation: google.protobuf.Timestamp must be a string but got ${typeof json3}`);
}
return (0, timestamp_1.googleProtobufTimestampFromProto3JSON)(json3);
}
if (fullyQualifiedTypeName === ".google.protobuf.FieldMask") {
if (typeof json3 !== "string") {
throw new Error(`fromProto3JSONToInternalRepresentation: google.protobuf.FieldMask must be a string but got ${typeof json3}`);
}
return (0, fieldmask_1.googleProtobufFieldMaskFromProto3JSON)(json3);
}
const result2 = {};
for (const [key, value] of Object.entries(json3)) {
const field = type2.fields[key];
if (!field) {
continue;
}
const resolvedType = field.resolvedType;
const fieldType = field.type;
if (field.repeated) {
if (value === null) {
result2[key] = [];
} else {
if (!Array.isArray(value)) {
throw new Error(`fromProto3JSONToInternalRepresentation: expected an array for field ${key}`);
}
result2[key] = value.map((element) => fromProto3JSONToInternalRepresentation(resolvedType || fieldType, element));
}
} else if (field.map) {
const map4 = {};
for (const [mapKey, mapValue] of Object.entries(value)) {
map4[mapKey] = fromProto3JSONToInternalRepresentation(resolvedType || fieldType, mapValue);
}
result2[key] = map4;
} else if (fieldType.match(/^(?:(?:(?:u?int|fixed)(?:32|64))|float|double)$/)) {
if (typeof value !== "number" && typeof value !== "string") {
throw new Error(`fromProto3JSONToInternalRepresentation: field ${key} of type ${field.type} cannot contain value ${value}`);
}
result2[key] = value;
} else if (fieldType === "string") {
if (typeof value !== "string") {
throw new Error(`fromProto3JSONToInternalRepresentation: field ${key} of type ${field.type} cannot contain value ${value}`);
}
result2[key] = value;
} else if (fieldType === "bool") {
if (typeof value !== "boolean") {
throw new Error(`fromProto3JSONToInternalRepresentation: field ${key} of type ${field.type} cannot contain value ${value}`);
}
result2[key] = value;
} else if (fieldType === "bytes") {
if (typeof value !== "string") {
throw new Error(`fromProto3JSONToInternalRepresentation: field ${key} of type ${field.type} cannot contain value ${value}`);
}
result2[key] = (0, bytes_1.bytesFromProto3JSON)(value);
} else {
(0, util_1.assert)(resolvedType !== null, `Expected to be able to resolve type for field ${field.name}`);
const deserializedValue = fromProto3JSONToInternalRepresentation(resolvedType, value);
result2[key] = deserializedValue;
}
}
return result2;
}
exports2.fromProto3JSONToInternalRepresentation = fromProto3JSONToInternalRepresentation;
function fromProto3JSON(type2, json3) {
const internalRepr = fromProto3JSONToInternalRepresentation(type2, json3);
if (internalRepr === null) {
return null;
}
(0, util_1.assert)(typeof internalRepr === "object" && !Array.isArray(internalRepr), `fromProto3JSON: expected an object, not ${json3}`);
return type2.fromObject(internalRepr);
}
exports2.fromProto3JSON = fromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/any.js
var require_any = __commonJS({
"node_modules/proto3-json-serializer/build/src/any.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.googleProtobufAnyFromProto3JSON = exports2.googleProtobufAnyToProto3JSON = void 0;
var fromproto3json_1 = require_fromproto3json();
var toproto3json_1 = require_toproto3json();
var specialJSON = /* @__PURE__ */ new Set([
"google.protobuf.Any",
"google.protobuf.Duration",
"google.protobuf.FieldMask",
"google.protobuf.ListValue",
"google.protobuf.Struct",
"google.protobuf.Timestamp",
"google.protobuf.Value"
]);
function googleProtobufAnyToProto3JSON(obj, options) {
const typeName = obj.type_url.replace(/^.*\//, "");
let type2;
try {
type2 = obj.$type.root.lookupType(typeName);
} catch (err2) {
throw new Error(`googleProtobufAnyToProto3JSON: cannot find type ${typeName}: ${err2}`);
}
const valueMessage = type2.decode(obj.value);
const valueProto3JSON = (0, toproto3json_1.toProto3JSON)(valueMessage, options);
if (specialJSON.has(typeName)) {
return {
"@type": obj.type_url,
value: valueProto3JSON
};
}
valueProto3JSON["@type"] = obj.type_url;
return valueProto3JSON;
}
exports2.googleProtobufAnyToProto3JSON = googleProtobufAnyToProto3JSON;
function googleProtobufAnyFromProto3JSON(root, json3) {
if (json3 === null || typeof json3 !== "object" || Array.isArray(json3)) {
throw new Error("googleProtobufAnyFromProto3JSON: must be an object to decode google.protobuf.Any");
}
const typeUrl = json3["@type"];
if (!typeUrl || typeof typeUrl !== "string") {
throw new Error("googleProtobufAnyFromProto3JSON: JSON serialization of google.protobuf.Any must contain @type field");
}
const typeName = typeUrl.replace(/^.*\//, "");
let type2;
try {
type2 = root.lookupType(typeName);
} catch (err2) {
throw new Error(`googleProtobufAnyFromProto3JSON: cannot find type ${typeName}: ${err2}`);
}
let value = json3;
if (specialJSON.has(typeName)) {
if (!("value" in json3)) {
throw new Error(`googleProtobufAnyFromProto3JSON: JSON representation of google.protobuf.Any with type ${typeName} must contain the value field`);
}
value = json3.value;
}
const valueMessage = (0, fromproto3json_1.fromProto3JSON)(type2, value);
if (valueMessage === null) {
return {
type_url: typeUrl,
value: null
};
}
const uint8array = type2.encode(valueMessage).finish();
const buffer = Buffer.from(uint8array, 0, uint8array.byteLength);
const base643 = buffer.toString("base64");
return {
type_url: typeUrl,
value: base643
};
}
exports2.googleProtobufAnyFromProto3JSON = googleProtobufAnyFromProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/toproto3json.js
var require_toproto3json = __commonJS({
"node_modules/proto3-json-serializer/build/src/toproto3json.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.toProto3JSON = void 0;
var any_1 = require_any();
var bytes_1 = require_bytes();
var util_1 = require_util11();
var enum_1 = require_enum2();
var value_1 = require_value();
var duration_1 = require_duration2();
var timestamp_1 = require_timestamp2();
var wrappers_1 = require_wrappers2();
var fieldmask_1 = require_fieldmask();
function convertSingleValue(value) {
var _a4;
if (typeof value === "object") {
if (((_a4 = value === null || value === void 0 ? void 0 : value.constructor) === null || _a4 === void 0 ? void 0 : _a4.name) === "Long") {
return value.toString();
}
throw new Error(`toProto3JSON: don't know how to convert value ${value}`);
}
return value;
}
function toProto3JSON(obj, options) {
const objType = obj.$type;
if (!objType) {
throw new Error("Cannot serialize object to proto3 JSON since its .$type is unknown. Use Type.fromObject(obj) before calling toProto3JSON.");
}
objType.resolveAll();
const typeName = (0, util_1.getFullyQualifiedTypeName)(objType);
if (typeName === ".google.protobuf.Any") {
return (0, any_1.googleProtobufAnyToProto3JSON)(obj, options);
}
if (typeName === ".google.protobuf.Value") {
return (0, value_1.googleProtobufValueToProto3JSON)(obj);
}
if (typeName === ".google.protobuf.Struct") {
return (0, value_1.googleProtobufStructToProto3JSON)(obj);
}
if (typeName === ".google.protobuf.ListValue") {
return (0, value_1.googleProtobufListValueToProto3JSON)(obj);
}
if (typeName === ".google.protobuf.Duration") {
return (0, duration_1.googleProtobufDurationToProto3JSON)(obj);
}
if (typeName === ".google.protobuf.Timestamp") {
return (0, timestamp_1.googleProtobufTimestampToProto3JSON)(obj);
}
if (typeName === ".google.protobuf.FieldMask") {
return (0, fieldmask_1.googleProtobufFieldMaskToProto3JSON)(obj);
}
if (util_1.wrapperTypes.has(typeName)) {
return (0, wrappers_1.wrapperToProto3JSON)(obj);
}
const result2 = {};
for (const [key, value] of Object.entries(obj)) {
const field = objType.fields[key];
const fieldResolvedType = field.resolvedType;
const fieldFullyQualifiedTypeName = fieldResolvedType ? (0, util_1.getFullyQualifiedTypeName)(fieldResolvedType) : null;
if (value === null) {
result2[key] = null;
continue;
}
if (Array.isArray(value)) {
if (value.length === 0) {
continue;
}
result2[key] = value.map(fieldResolvedType ? (element) => {
return toProto3JSON(element, options);
} : convertSingleValue);
continue;
}
if (field.map) {
const map4 = {};
for (const [mapKey, mapValue] of Object.entries(value)) {
map4[mapKey] = fieldResolvedType ? toProto3JSON(mapValue, options) : convertSingleValue(mapValue);
}
result2[key] = map4;
continue;
}
if (fieldFullyQualifiedTypeName === ".google.protobuf.NullValue") {
result2[key] = null;
continue;
}
if (fieldResolvedType && "values" in fieldResolvedType && value !== null) {
if (options === null || options === void 0 ? void 0 : options.numericEnums) {
result2[key] = (0, enum_1.resolveEnumValueToNumber)(fieldResolvedType, value);
} else {
result2[key] = (0, enum_1.resolveEnumValueToString)(fieldResolvedType, value);
}
continue;
}
if (fieldResolvedType) {
result2[key] = toProto3JSON(value, options);
continue;
}
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || value === null) {
if (typeof value === "number" && !Number.isFinite(value)) {
result2[key] = value.toString();
continue;
}
result2[key] = value;
continue;
}
if (Buffer.isBuffer(value) || value instanceof Uint8Array) {
result2[key] = (0, bytes_1.bytesToProto3JSON)(value);
continue;
}
result2[key] = convertSingleValue(value);
continue;
}
return result2;
}
exports2.toProto3JSON = toProto3JSON;
}
});
// node_modules/proto3-json-serializer/build/src/index.js
var require_src49 = __commonJS({
"node_modules/proto3-json-serializer/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.fromProto3JSON = exports2.toProto3JSON = void 0;
var toproto3json_1 = require_toproto3json();
Object.defineProperty(exports2, "toProto3JSON", { enumerable: true, get: function() {
return toproto3json_1.toProto3JSON;
} });
var fromproto3json_1 = require_fromproto3json();
Object.defineProperty(exports2, "fromProto3JSON", { enumerable: true, get: function() {
return fromproto3json_1.fromProto3JSON;
} });
}
});
// node_modules/google-gax/build/src/routingHeader.js
var require_routingHeader = __commonJS({
"node_modules/google-gax/build/src/routingHeader.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.fromParams = fromParams;
var querystring = __require("querystring");
function fromParams(params) {
return querystring.stringify(params);
}
}
});
// node_modules/google-gax/build/src/transcoding.js
var require_transcoding = __commonJS({
"node_modules/google-gax/build/src/transcoding.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getField = getField;
exports2.deepCopyWithoutMatchedFields = deepCopyWithoutMatchedFields;
exports2.deleteField = deleteField;
exports2.buildQueryStringComponents = buildQueryStringComponents;
exports2.encodeWithSlashes = encodeWithSlashes;
exports2.encodeWithoutSlashes = encodeWithoutSlashes;
exports2.applyPattern = applyPattern;
exports2.match = match2;
exports2.flattenObject = flattenObject;
exports2.isProto3OptionalField = isProto3OptionalField;
exports2.transcode = transcode;
exports2.overrideHttpRules = overrideHttpRules;
var util_1 = require_util10();
var httpOptionName = "(google.api.http)";
var proto3OptionalName = "proto3_optional";
var supportedHttpMethods = ["get", "post", "put", "patch", "delete"];
function getField(request, field, allowObjects = false) {
const parts2 = field.split(".");
let value = request;
for (const part of parts2) {
if (typeof value !== "object") {
return void 0;
}
value = value[part];
}
if (!allowObjects && typeof value === "object" && !Array.isArray(value) && value !== null) {
return void 0;
}
return value;
}
function deepCopyWithoutMatchedFields(request, fieldsToSkip, fullNamePrefix = "") {
if (typeof request !== "object" || request === null) {
return request;
}
const copy = Object.assign({}, request);
for (const key in copy) {
if (fieldsToSkip.has(`${fullNamePrefix}${key}`)) {
delete copy[key];
continue;
}
const nextFullNamePrefix = `${fullNamePrefix}${key}.`;
if (Array.isArray(copy[key])) {
copy[key] = copy[key].map((value) => deepCopyWithoutMatchedFields(value, /* @__PURE__ */ new Set()));
} else if (typeof copy[key] === "object" && copy[key] !== null) {
copy[key] = deepCopyWithoutMatchedFields(copy[key], fieldsToSkip, nextFullNamePrefix);
}
}
return copy;
}
function deleteField(request, field) {
const parts2 = field.split(".");
while (parts2.length > 1) {
if (typeof request !== "object") {
return;
}
const part2 = parts2.shift();
request = request[part2];
}
const part = parts2.shift();
if (typeof request !== "object") {
return;
}
delete request[part];
}
function buildQueryStringComponents(request, prefix = "") {
const resultList = [];
for (const key in request) {
if (Array.isArray(request[key])) {
for (const value of request[key]) {
resultList.push(`${prefix}${encodeWithoutSlashes(key)}=${encodeWithoutSlashes(value.toString())}`);
}
} else if (typeof request[key] === "object" && request[key] !== null) {
resultList.push(...buildQueryStringComponents(request[key], `${key}.`));
} else {
resultList.push(`${prefix}${encodeWithoutSlashes(key)}=${encodeWithoutSlashes(request[key] === null ? "null" : request[key].toString())}`);
}
}
return resultList;
}
function encodeWithSlashes(str2) {
return str2.split("").map((c4) => c4.match(/[-_.~0-9a-zA-Z]/) ? c4 : encodeURIComponent(c4)).join("");
}
function encodeWithoutSlashes(str2) {
return str2.split("").map((c4) => c4.match(/[-_.~0-9a-zA-Z/]/) ? c4 : encodeURIComponent(c4)).join("");
}
function escapeRegExp(str2) {
return str2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
function applyPattern(pattern, fieldValue) {
if (!pattern || pattern === "*") {
return encodeWithSlashes(fieldValue);
}
if (!pattern.includes("*") && pattern !== fieldValue) {
return void 0;
}
const regex2 = new RegExp("^" + escapeRegExp(pattern).replace(/\\\*\\\*/g, "(.+)").replace(/\\\*/g, "([^/]+)") + "$");
if (!fieldValue.match(regex2)) {
return void 0;
}
return encodeWithoutSlashes(fieldValue);
}
function fieldToCamelCase(field) {
const parts2 = field.split(".");
return parts2.map((part) => (0, util_1.toCamelCase)(part)).join(".");
}
function match2(request, pattern) {
let url3 = pattern;
const matchedFields = [];
for (; ; ) {
const match3 = url3.match(/^(.*)\{([^}=]+)(?:=([^}]*))?\}(.*)/);
if (!match3) {
break;
}
const [, before, field, pattern2, after] = match3;
const camelCasedField = fieldToCamelCase(field);
matchedFields.push(fieldToCamelCase(camelCasedField));
const fieldValue = getField(request, camelCasedField);
if (fieldValue === void 0) {
return void 0;
}
const appliedPattern = applyPattern(pattern2, fieldValue === null ? "null" : fieldValue.toString());
if (appliedPattern === void 0) {
return void 0;
}
url3 = before + appliedPattern + after;
}
return { matchedFields, url: url3 };
}
function flattenObject(request) {
const result2 = {};
for (const key in request) {
if (request[key] === void 0) {
continue;
}
if (Array.isArray(request[key])) {
result2[key] = request[key];
continue;
}
if (typeof request[key] === "object" && request[key] !== null) {
const nested = flattenObject(request[key]);
for (const nestedKey in nested) {
result2[`${key}.${nestedKey}`] = nested[nestedKey];
}
continue;
}
result2[key] = request[key];
}
return result2;
}
function isProto3OptionalField(field) {
return field && field.options && field.options[proto3OptionalName];
}
function transcode(request, parsedOptions) {
const httpRules = [];
for (const option2 of parsedOptions) {
if (!(httpOptionName in option2)) {
continue;
}
const httpRule = option2[httpOptionName];
httpRules.push(httpRule);
if (httpRule === null || httpRule === void 0 ? void 0 : httpRule.additional_bindings) {
const additionalBindings = Array.isArray(httpRule.additional_bindings) ? httpRule.additional_bindings : [httpRule.additional_bindings];
httpRules.push(...additionalBindings);
}
}
for (const httpRule of httpRules) {
for (const httpMethod of supportedHttpMethods) {
if (!(httpMethod in httpRule)) {
continue;
}
const pathTemplate = httpRule[httpMethod];
const matchResult = match2(request, pathTemplate);
if (matchResult === void 0) {
continue;
}
const { url: url3, matchedFields } = matchResult;
let data = deepCopyWithoutMatchedFields(request, new Set(matchedFields));
if (httpRule.body === "*") {
return { httpMethod, url: url3, queryString: "", data };
}
const queryStringObject = data;
if (httpRule.body) {
data = getField(
queryStringObject,
fieldToCamelCase(httpRule.body),
/*allowObjects:*/
true
);
deleteField(queryStringObject, fieldToCamelCase(httpRule.body));
} else {
data = "";
}
const queryStringComponents = buildQueryStringComponents(queryStringObject);
const queryString = queryStringComponents.join("&");
if (!data || typeof data === "object" && Object.keys(data).length === 0) {
data = "";
}
return { httpMethod, url: url3, queryString, data };
}
}
return void 0;
}
function overrideHttpRules(httpRules, protoJson) {
for (const rule of httpRules) {
if (!rule.selector) {
continue;
}
const rpc = protoJson.lookup(rule.selector);
if (!rpc || !rpc.parsedOptions) {
continue;
}
for (const item of rpc.parsedOptions) {
if (!(httpOptionName in item)) {
continue;
}
const httpOptions = item[httpOptionName];
for (const httpMethod in httpOptions) {
if (httpMethod in rule) {
if (httpMethod === "additional_bindings") {
continue;
}
httpOptions[httpMethod] = rule[httpMethod];
}
if (rule.additional_bindings) {
httpOptions["additional_bindings"] = !httpOptions["additional_bindings"] ? [] : Array.isArray(httpOptions["additional_bindings"]) ? httpOptions["additional_bindings"] : [httpOptions["additional_bindings"]];
httpOptions["additional_bindings"].push(...rule.additional_bindings);
}
}
}
}
}
}
});
// node_modules/google-gax/build/src/fallbackRest.js
var require_fallbackRest = __commonJS({
"node_modules/google-gax/build/src/fallbackRest.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.encodeRequest = encodeRequest;
exports2.decodeResponse = decodeResponse;
var serializer = require_src49();
var fallback_1 = require_fallback();
var googleError_1 = require_googleError();
var transcoding_1 = require_transcoding();
function encodeRequest(rpc, protocol, servicePath, servicePort, request, numericEnums) {
const headers = {
"Content-Type": "application/json"
};
const message = rpc.resolvedRequestType.fromObject(request);
const json3 = serializer.toProto3JSON(message, {
numericEnums
});
if (!json3) {
throw new Error(`Cannot send null request to RPC ${rpc.name}.`);
}
if (typeof json3 !== "object" || Array.isArray(json3)) {
throw new Error(`Request to RPC ${rpc.name} must be an object.`);
}
const transcoded = (0, transcoding_1.transcode)(json3, rpc.parsedOptions);
if (!transcoded) {
throw new Error(`Cannot build HTTP request for ${JSON.stringify(json3)}, method: ${rpc.name}`);
}
if (numericEnums) {
transcoded.queryString = (transcoded.queryString ? `${transcoded.queryString}&` : "") + "$alt=json%3Benum-encoding=int";
}
const method = transcoded.httpMethod.toUpperCase();
const body2 = JSON.stringify(transcoded.data);
const url3 = `${protocol}://${servicePath}:${servicePort}/${transcoded.url.replace(/^\//, "")}?${transcoded.queryString}`;
return {
method,
url: url3,
headers,
body: body2
};
}
function decodeResponse(rpc, ok, response) {
const decodedString = new TextDecoder().decode(response);
if (!decodedString) {
throw new Error(`Received null response from RPC ${rpc.name}`);
}
const json3 = JSON.parse(decodedString);
if (!ok) {
const error40 = googleError_1.GoogleError.parseHttpError(json3);
throw error40;
}
const message = serializer.fromProto3JSON(rpc.resolvedResponseType, json3);
if (!message) {
throw new Error(`Received null or malformed response from JSON serializer from RPC ${rpc.name}`);
}
return rpc.resolvedResponseType.toObject(message, fallback_1.defaultToObjectOptions);
}
}
});
// node_modules/event-target-shim/dist/event-target-shim.js
var require_event_target_shim = __commonJS({
"node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var privateData = /* @__PURE__ */ new WeakMap();
var wrappers = /* @__PURE__ */ new WeakMap();
function pd(event) {
const retv = privateData.get(event);
console.assert(
retv != null,
"'this' is expected an Event object, but got",
event
);
return retv;
}
function setCancelFlag(data) {
if (data.passiveListener != null) {
if (typeof console !== "undefined" && typeof console.error === "function") {
console.error(
"Unable to preventDefault inside passive event listener invocation.",
data.passiveListener
);
}
return;
}
if (!data.event.cancelable) {
return;
}
data.canceled = true;
if (typeof data.event.preventDefault === "function") {
data.event.preventDefault();
}
}
function Event2(eventTarget, event) {
privateData.set(this, {
eventTarget,
event,
eventPhase: 2,
currentTarget: eventTarget,
canceled: false,
stopped: false,
immediateStopped: false,
passiveListener: null,
timeStamp: event.timeStamp || Date.now()
});
Object.defineProperty(this, "isTrusted", { value: false, enumerable: true });
const keys = Object.keys(event);
for (let i3 = 0; i3 < keys.length; ++i3) {
const key = keys[i3];
if (!(key in this)) {
Object.defineProperty(this, key, defineRedirectDescriptor(key));
}
}
}
Event2.prototype = {
/**
* The type of this event.
* @type {string}
*/
get type() {
return pd(this).event.type;
},
/**
* The target of this event.
* @type {EventTarget}
*/
get target() {
return pd(this).eventTarget;
},
/**
* The target of this event.
* @type {EventTarget}
*/
get currentTarget() {
return pd(this).currentTarget;
},
/**
* @returns {EventTarget[]} The composed path of this event.
*/
composedPath() {
const currentTarget = pd(this).currentTarget;
if (currentTarget == null) {
return [];
}
return [currentTarget];
},
/**
* Constant of NONE.
* @type {number}
*/
get NONE() {
return 0;
},
/**
* Constant of CAPTURING_PHASE.
* @type {number}
*/
get CAPTURING_PHASE() {
return 1;
},
/**
* Constant of AT_TARGET.
* @type {number}
*/
get AT_TARGET() {
return 2;
},
/**
* Constant of BUBBLING_PHASE.
* @type {number}
*/
get BUBBLING_PHASE() {
return 3;
},
/**
* The target of this event.
* @type {number}
*/
get eventPhase() {
return pd(this).eventPhase;
},
/**
* Stop event bubbling.
* @returns {void}
*/
stopPropagation() {
const data = pd(this);
data.stopped = true;
if (typeof data.event.stopPropagation === "function") {
data.event.stopPropagation();
}
},
/**
* Stop event bubbling.
* @returns {void}
*/
stopImmediatePropagation() {
const data = pd(this);
data.stopped = true;
data.immediateStopped = true;
if (typeof data.event.stopImmediatePropagation === "function") {
data.event.stopImmediatePropagation();
}
},
/**
* The flag to be bubbling.
* @type {boolean}
*/
get bubbles() {
return Boolean(pd(this).event.bubbles);
},
/**
* The flag to be cancelable.
* @type {boolean}
*/
get cancelable() {
return Boolean(pd(this).event.cancelable);
},
/**
* Cancel this event.
* @returns {void}
*/
preventDefault() {
setCancelFlag(pd(this));
},
/**
* The flag to indicate cancellation state.
* @type {boolean}
*/
get defaultPrevented() {
return pd(this).canceled;
},
/**
* The flag to be composed.
* @type {boolean}
*/
get composed() {
return Boolean(pd(this).event.composed);
},
/**
* The unix time of this event.
* @type {number}
*/
get timeStamp() {
return pd(this).timeStamp;
},
/**
* The target of this event.
* @type {EventTarget}
* @deprecated
*/
get srcElement() {
return pd(this).eventTarget;
},
/**
* The flag to stop event bubbling.
* @type {boolean}
* @deprecated
*/
get cancelBubble() {
return pd(this).stopped;
},
set cancelBubble(value) {
if (!value) {
return;
}
const data = pd(this);
data.stopped = true;
if (typeof data.event.cancelBubble === "boolean") {
data.event.cancelBubble = true;
}
},
/**
* The flag to indicate cancellation state.
* @type {boolean}
* @deprecated
*/
get returnValue() {
return !pd(this).canceled;
},
set returnValue(value) {
if (!value) {
setCancelFlag(pd(this));
}
},
/**
* Initialize this event object. But do nothing under event dispatching.
* @param {string} type The event type.
* @param {boolean} [bubbles=false] The flag to be possible to bubble up.
* @param {boolean} [cancelable=false] The flag to be possible to cancel.
* @deprecated
*/
initEvent() {
}
};
Object.defineProperty(Event2.prototype, "constructor", {
value: Event2,
configurable: true,
writable: true
});
if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
Object.setPrototypeOf(Event2.prototype, window.Event.prototype);
wrappers.set(window.Event.prototype, Event2);
}
function defineRedirectDescriptor(key) {
return {
get() {
return pd(this).event[key];
},
set(value) {
pd(this).event[key] = value;
},
configurable: true,
enumerable: true
};
}
function defineCallDescriptor(key) {
return {
value() {
const event = pd(this).event;
return event[key].apply(event, arguments);
},
configurable: true,
enumerable: true
};
}
function defineWrapper(BaseEvent, proto) {
const keys = Object.keys(proto);
if (keys.length === 0) {
return BaseEvent;
}
function CustomEvent(eventTarget, event) {
BaseEvent.call(this, eventTarget, event);
}
CustomEvent.prototype = Object.create(BaseEvent.prototype, {
constructor: { value: CustomEvent, configurable: true, writable: true }
});
for (let i3 = 0; i3 < keys.length; ++i3) {
const key = keys[i3];
if (!(key in BaseEvent.prototype)) {
const descriptor2 = Object.getOwnPropertyDescriptor(proto, key);
const isFunc = typeof descriptor2.value === "function";
Object.defineProperty(
CustomEvent.prototype,
key,
isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key)
);
}
}
return CustomEvent;
}
function getWrapper(proto) {
if (proto == null || proto === Object.prototype) {
return Event2;
}
let wrapper = wrappers.get(proto);
if (wrapper == null) {
wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
wrappers.set(proto, wrapper);
}
return wrapper;
}
function wrapEvent(eventTarget, event) {
const Wrapper = getWrapper(Object.getPrototypeOf(event));
return new Wrapper(eventTarget, event);
}
function isStopped(event) {
return pd(event).immediateStopped;
}
function setEventPhase(event, eventPhase) {
pd(event).eventPhase = eventPhase;
}
function setCurrentTarget(event, currentTarget) {
pd(event).currentTarget = currentTarget;
}
function setPassiveListener(event, passiveListener) {
pd(event).passiveListener = passiveListener;
}
var listenersMap = /* @__PURE__ */ new WeakMap();
var CAPTURE = 1;
var BUBBLE = 2;
var ATTRIBUTE = 3;
function isObject6(x) {
return x !== null && typeof x === "object";
}
function getListeners(eventTarget) {
const listeners = listenersMap.get(eventTarget);
if (listeners == null) {
throw new TypeError(
"'this' is expected an EventTarget object, but got another value."
);
}
return listeners;
}
function defineEventAttributeDescriptor(eventName) {
return {
get() {
const listeners = getListeners(this);
let node = listeners.get(eventName);
while (node != null) {
if (node.listenerType === ATTRIBUTE) {
return node.listener;
}
node = node.next;
}
return null;
},
set(listener) {
if (typeof listener !== "function" && !isObject6(listener)) {
listener = null;
}
const listeners = getListeners(this);
let prev = null;
let node = listeners.get(eventName);
while (node != null) {
if (node.listenerType === ATTRIBUTE) {
if (prev !== null) {
prev.next = node.next;
} else if (node.next !== null) {
listeners.set(eventName, node.next);
} else {
listeners.delete(eventName);
}
} else {
prev = node;
}
node = node.next;
}
if (listener !== null) {
const newNode = {
listener,
listenerType: ATTRIBUTE,
passive: false,
once: false,
next: null
};
if (prev === null) {
listeners.set(eventName, newNode);
} else {
prev.next = newNode;
}
}
},
configurable: true,
enumerable: true
};
}
function defineEventAttribute(eventTargetPrototype, eventName) {
Object.defineProperty(
eventTargetPrototype,
`on${eventName}`,
defineEventAttributeDescriptor(eventName)
);
}
function defineCustomEventTarget(eventNames) {
function CustomEventTarget() {
EventTarget2.call(this);
}
CustomEventTarget.prototype = Object.create(EventTarget2.prototype, {
constructor: {
value: CustomEventTarget,
configurable: true,
writable: true
}
});
for (let i3 = 0; i3 < eventNames.length; ++i3) {
defineEventAttribute(CustomEventTarget.prototype, eventNames[i3]);
}
return CustomEventTarget;
}
function EventTarget2() {
if (this instanceof EventTarget2) {
listenersMap.set(this, /* @__PURE__ */ new Map());
return;
}
if (arguments.length === 1 && Array.isArray(arguments[0])) {
return defineCustomEventTarget(arguments[0]);
}
if (arguments.length > 0) {
const types3 = new Array(arguments.length);
for (let i3 = 0; i3 < arguments.length; ++i3) {
types3[i3] = arguments[i3];
}
return defineCustomEventTarget(types3);
}
throw new TypeError("Cannot call a class as a function");
}
EventTarget2.prototype = {
/**
* Add a given listener to this event target.
* @param {string} eventName The event name to add.
* @param {Function} listener The listener to add.
* @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
* @returns {void}
*/
addEventListener(eventName, listener, options) {
if (listener == null) {
return;
}
if (typeof listener !== "function" && !isObject6(listener)) {
throw new TypeError("'listener' should be a function or an object.");
}
const listeners = getListeners(this);
const optionsIsObj = isObject6(options);
const capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
const listenerType = capture ? CAPTURE : BUBBLE;
const newNode = {
listener,
listenerType,
passive: optionsIsObj && Boolean(options.passive),
once: optionsIsObj && Boolean(options.once),
next: null
};
let node = listeners.get(eventName);
if (node === void 0) {
listeners.set(eventName, newNode);
return;
}
let prev = null;
while (node != null) {
if (node.listener === listener && node.listenerType === listenerType) {
return;
}
prev = node;
node = node.next;
}
prev.next = newNode;
},
/**
* Remove a given listener from this event target.
* @param {string} eventName The event name to remove.
* @param {Function} listener The listener to remove.
* @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.
* @returns {void}
*/
removeEventListener(eventName, listener, options) {
if (listener == null) {
return;
}
const listeners = getListeners(this);
const capture = isObject6(options) ? Boolean(options.capture) : Boolean(options);
const listenerType = capture ? CAPTURE : BUBBLE;
let prev = null;
let node = listeners.get(eventName);
while (node != null) {
if (node.listener === listener && node.listenerType === listenerType) {
if (prev !== null) {
prev.next = node.next;
} else if (node.next !== null) {
listeners.set(eventName, node.next);
} else {
listeners.delete(eventName);
}
return;
}
prev = node;
node = node.next;
}
},
/**
* Dispatch a given event.
* @param {Event|{type:string}} event The event to dispatch.
* @returns {boolean} `false` if canceled.
*/
dispatchEvent(event) {
if (event == null || typeof event.type !== "string") {
throw new TypeError('"event.type" should be a string.');
}
const listeners = getListeners(this);
const eventName = event.type;
let node = listeners.get(eventName);
if (node == null) {
return true;
}
const wrappedEvent = wrapEvent(this, event);
let prev = null;
while (node != null) {
if (node.once) {
if (prev !== null) {
prev.next = node.next;
} else if (node.next !== null) {
listeners.set(eventName, node.next);
} else {
listeners.delete(eventName);
}
} else {
prev = node;
}
setPassiveListener(
wrappedEvent,
node.passive ? node.listener : null
);
if (typeof node.listener === "function") {
try {
node.listener.call(this, wrappedEvent);
} catch (err2) {
if (typeof console !== "undefined" && typeof console.error === "function") {
console.error(err2);
}
}
} else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
node.listener.handleEvent(wrappedEvent);
}
if (isStopped(wrappedEvent)) {
break;
}
node = node.next;
}
setPassiveListener(wrappedEvent, null);
setEventPhase(wrappedEvent, 0);
setCurrentTarget(wrappedEvent, null);
return !wrappedEvent.defaultPrevented;
}
};
Object.defineProperty(EventTarget2.prototype, "constructor", {
value: EventTarget2,
configurable: true,
writable: true
});
if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
Object.setPrototypeOf(EventTarget2.prototype, window.EventTarget.prototype);
}
exports2.defineEventAttribute = defineEventAttribute;
exports2.EventTarget = EventTarget2;
exports2.default = EventTarget2;
module2.exports = EventTarget2;
module2.exports.EventTarget = module2.exports["default"] = EventTarget2;
module2.exports.defineEventAttribute = defineEventAttribute;
}
});
// node_modules/abort-controller/dist/abort-controller.js
var require_abort_controller = __commonJS({
"node_modules/abort-controller/dist/abort-controller.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var eventTargetShim = require_event_target_shim();
var AbortSignal2 = class extends eventTargetShim.EventTarget {
/**
* AbortSignal cannot be constructed directly.
*/
constructor() {
super();
throw new TypeError("AbortSignal cannot be constructed directly");
}
/**
* Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
*/
get aborted() {
const aborted3 = abortedFlags.get(this);
if (typeof aborted3 !== "boolean") {
throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`);
}
return aborted3;
}
};
eventTargetShim.defineEventAttribute(AbortSignal2.prototype, "abort");
function createAbortSignal() {
const signal = Object.create(AbortSignal2.prototype);
eventTargetShim.EventTarget.call(signal);
abortedFlags.set(signal, false);
return signal;
}
function abortSignal(signal) {
if (abortedFlags.get(signal) !== false) {
return;
}
abortedFlags.set(signal, true);
signal.dispatchEvent({ type: "abort" });
}
var abortedFlags = /* @__PURE__ */ new WeakMap();
Object.defineProperties(AbortSignal2.prototype, {
aborted: { enumerable: true }
});
if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(AbortSignal2.prototype, Symbol.toStringTag, {
configurable: true,
value: "AbortSignal"
});
}
var AbortController2 = class {
/**
* Initialize this controller.
*/
constructor() {
signals2.set(this, createAbortSignal());
}
/**
* Returns the `AbortSignal` object associated with this object.
*/
get signal() {
return getSignal(this);
}
/**
* Abort and signal to any observers that the associated activity is to be aborted.
*/
abort() {
abortSignal(getSignal(this));
}
};
var signals2 = /* @__PURE__ */ new WeakMap();
function getSignal(controller) {
const signal = signals2.get(controller);
if (signal == null) {
throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`);
}
return signal;
}
Object.defineProperties(AbortController2.prototype, {
signal: { enumerable: true },
abort: { enumerable: true }
});
if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(AbortController2.prototype, Symbol.toStringTag, {
configurable: true,
value: "AbortController"
});
}
exports2.AbortController = AbortController2;
exports2.AbortSignal = AbortSignal2;
exports2.default = AbortController2;
module2.exports = AbortController2;
module2.exports.AbortController = module2.exports["default"] = AbortController2;
module2.exports.AbortSignal = AbortSignal2;
}
});
// node_modules/google-gax/build/src/streamArrayParser.js
var require_streamArrayParser = __commonJS({
"node_modules/google-gax/build/src/streamArrayParser.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StreamArrayParser = void 0;
var abort_controller_1 = require_abort_controller();
var stream_1 = __require("stream");
var fallbackRest_1 = require_fallbackRest();
var featureDetection_1 = require_featureDetection();
var StreamArrayParser = class extends stream_1.Transform {
/**
* StreamArrayParser processes array of valid JSON objects in random chunks
* through readable stream, and produces a stream of plain Javascript objects
* where it converted from the corresponding protobuf message instance.
*
* The default JSON parser decodes the input stream under the
* following rules:
* 1. The stream represents a valid JSON array (must start with a "[" and
* close with the corresponding "]"). Each element of this array is assumed to
* be either an array or an object, and will be decoded as a JS object and
* delivered.
* 2. All JSON elements in the buffer will be decoded and delivered in a
* stream.
*
* @private
* @constructor
* @param {protobuf.Method} rpc - the protobuf method produce array of JSON.
* @param {Object} options - the options pass to Transform Stream. See more
* details
* https://nodejs.org/api/stream.html#stream_new_stream_transform_options.
*/
constructor(rpc, options) {
super(Object.assign({}, options, { readableObjectMode: true }));
this._done = false;
this._prevBlock = Buffer.from("");
this._isInString = false;
this._isSkipped = false;
this._level = 0;
this.rpc = rpc;
this.cancelController = (0, featureDetection_1.hasAbortController)() ? new AbortController() : new abort_controller_1.AbortController();
this.cancelSignal = this.cancelController.signal;
this.cancelRequested = false;
}
_transform(chunk, _, callback) {
let objectStart = 0;
let curIndex = 0;
if (this._level === 0 && curIndex === 0) {
if (String.fromCharCode(chunk[0]) !== "[") {
this.emit("error", new Error(`Internal Error: API service stream data must start with a '[' and close with the corresponding ']', but it start with ${String.fromCharCode(chunk[0])}`));
}
curIndex++;
this._level++;
}
while (curIndex < chunk.length) {
const curValue = String.fromCharCode(chunk[curIndex]);
if (!this._isSkipped) {
switch (curValue) {
case "{":
if (!this._isInString) {
this._level++;
}
if (!this._isInString && this._level === 2) {
objectStart = curIndex;
}
break;
case '"':
this._isInString = !this._isInString;
break;
case "}":
if (!this._isInString) {
this._level--;
}
if (!this._isInString && this._level === 1) {
const objBuff = Buffer.concat([
this._prevBlock,
chunk.slice(objectStart, curIndex + 1)
]);
try {
const msgObj = (0, fallbackRest_1.decodeResponse)(this.rpc, true, objBuff);
this.push(msgObj);
} catch (err2) {
this.emit("error", err2);
}
objectStart = curIndex + 1;
this._prevBlock = Buffer.from("");
}
break;
case "]":
if (!this._isInString && this._level === 1) {
this._done = true;
this.push(null);
}
break;
case "\\":
this._isSkipped = true;
break;
default:
break;
}
} else {
this._isSkipped = false;
}
curIndex++;
}
if (this._level > 1) {
this._prevBlock = Buffer.concat([
this._prevBlock,
chunk.slice(objectStart, curIndex)
]);
}
callback();
}
_flush(callback) {
callback();
}
cancel() {
this._done = true;
this.cancelRequested = true;
this.cancelController.abort();
this.end();
}
};
exports2.StreamArrayParser = StreamArrayParser;
}
});
// node_modules/google-gax/build/src/fallbackServiceStub.js
var require_fallbackServiceStub = __commonJS({
"node_modules/google-gax/build/src/fallbackServiceStub.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.generateServiceStub = generateServiceStub;
var node_fetch_1 = require_lib3();
var abort_controller_1 = require_abort_controller();
var featureDetection_1 = require_featureDetection();
var streamArrayParser_1 = require_streamArrayParser();
var stream_1 = __require("stream");
function generateServiceStub(rpcs, protocol, servicePath, servicePort, authClient, requestEncoder, responseDecoder, numericEnums) {
const fetch2 = (0, featureDetection_1.hasWindowFetch)() ? window.fetch : node_fetch_1.default;
const serviceStub = {
// close method should close all cancel controllers. If this feature request in the future, we can have a cancelControllerFactory that tracks created cancel controllers, and abort them all in close method.
close: () => {
return { cancel: () => {
} };
}
};
for (const [rpcName, rpc] of Object.entries(rpcs)) {
serviceStub[rpcName] = (request, options, _metadata, callback) => {
options !== null && options !== void 0 ? options : options = {};
let fetchParameters;
try {
fetchParameters = requestEncoder(rpc, protocol, servicePath, servicePort, request, numericEnums);
} catch (err2) {
if (callback) {
callback(err2);
}
return {
cancel() {
}
};
}
const cancelController2 = (0, featureDetection_1.hasAbortController)() ? new AbortController() : new abort_controller_1.AbortController();
const cancelSignal = cancelController2.signal;
let cancelRequested = false;
const url3 = fetchParameters.url;
const headers = fetchParameters.headers;
for (const key of Object.keys(options)) {
headers[key] = options[key][0];
}
const streamArrayParser = new streamArrayParser_1.StreamArrayParser(rpc);
authClient.getRequestHeaders().then((authHeader) => {
const fetchRequest = {
headers: {
...authHeader,
...headers
},
body: fetchParameters.body,
method: fetchParameters.method,
signal: cancelSignal
};
if (fetchParameters.method === "GET" || fetchParameters.method === "DELETE") {
delete fetchRequest["body"];
}
return fetch2(url3, fetchRequest);
}).then((response) => {
if (response.ok && rpc.responseStream) {
(0, stream_1.pipeline)(response.body, streamArrayParser, (err2) => {
if (err2 && (!cancelRequested || err2 instanceof Error && err2.name !== "AbortError")) {
if (callback) {
callback(err2);
}
streamArrayParser.emit("error", err2);
}
});
return;
} else {
return Promise.all([
Promise.resolve(response.ok),
response.arrayBuffer()
]).then(([ok, buffer]) => {
const response2 = responseDecoder(rpc, ok, buffer);
callback(null, response2);
}).catch((err2) => {
if (!cancelRequested || err2.name !== "AbortError") {
if (rpc.responseStream) {
if (callback) {
callback(err2);
}
streamArrayParser.emit("error", err2);
} else if (callback) {
callback(err2);
} else {
throw err2;
}
}
});
}
}).catch((err2) => {
if (rpc.responseStream) {
if (callback) {
callback(err2);
}
streamArrayParser.emit("error", err2);
} else if (callback) {
callback(err2);
} else {
throw err2;
}
});
if (rpc.responseStream) {
return streamArrayParser;
}
return {
cancel: () => {
cancelRequested = true;
cancelController2.abort();
}
};
};
}
return serviceStub;
}
}
});
// node_modules/google-gax/build/src/streamingCalls/streaming.js
var require_streaming = __commonJS({
"node_modules/google-gax/build/src/streamingCalls/streaming.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StreamProxy = exports2.StreamType = void 0;
var gax_1 = require_gax();
var googleError_1 = require_googleError();
var status_1 = require_status();
var stream_1 = __require("stream");
var duplexify = require_duplexify();
var retryRequest = require_retry_request();
var StreamType;
(function(StreamType2) {
StreamType2[StreamType2["SERVER_STREAMING"] = 1] = "SERVER_STREAMING";
StreamType2[StreamType2["CLIENT_STREAMING"] = 2] = "CLIENT_STREAMING";
StreamType2[StreamType2["BIDI_STREAMING"] = 3] = "BIDI_STREAMING";
})(StreamType || (exports2.StreamType = StreamType = {}));
var requestOps = null;
var StreamProxy = class extends duplexify {
/**
* StreamProxy is a proxy to gRPC-streaming method.
*
* @private
* @constructor
* @param {StreamType} type - the type of gRPC stream.
* @param {ApiCallback} callback - the callback for further API call.
*/
constructor(type2, callback, rest, gaxServerStreamingRetries) {
super(void 0, void 0, {
objectMode: true,
readable: type2 !== StreamType.CLIENT_STREAMING,
writable: type2 !== StreamType.SERVER_STREAMING
});
this.type = type2;
this._callback = callback;
this._isCancelCalled = false;
this._responseHasSent = false;
this.rest = rest;
this.gaxServerStreamingRetries = gaxServerStreamingRetries;
}
shouldRetryRequest(error40, retry) {
const e2 = googleError_1.GoogleError.parseGRPCStatusDetails(error40);
let shouldRetry = this.defaultShouldRetry(e2, retry);
if (retry.shouldRetryFn) {
shouldRetry = retry.shouldRetryFn(e2);
}
return shouldRetry;
}
cancel() {
if (this.stream) {
this.stream.cancel();
} else {
this._isCancelCalled = true;
}
}
/**
* Helper function to handle total timeout + max retry check for server streaming retries
* @param {number} deadline - the current retry deadline
* @param {number} maxRetries - maximum total number of retries
* @param {number} totalTimeoutMillis - total timeout in milliseconds used in timeout calculation
* @param {GoogleError} originalError - underlying error received by the stream
* @param {originalTimeout} originalTimeout - the original Timeout set in backoff settings
* @param {retries} retries - the number of retries the call has made so far
*/
throwIfMaxRetriesOrTotalTimeoutExceeded(deadline, maxRetries, totalTimeoutMillis, originalError, originalTimeout, retries) {
const now = /* @__PURE__ */ new Date();
const nowTime = now.getTime();
if (originalTimeout && (totalTimeoutMillis === 0 || totalTimeoutMillis < 0 || deadline && nowTime >= deadline)) {
const error40 = new googleError_1.GoogleError(`Total timeout of API exceeded ${originalTimeout} milliseconds ${originalError ? `retrying error ${originalError} ` : ""} before any response was received.`);
error40.code = status_1.Status.DEADLINE_EXCEEDED;
throw error40;
}
if (maxRetries === 0) {
const error40 = originalError;
error40.note = "Max retries is set to zero.";
throw error40;
}
if (retries && retries >= maxRetries) {
const error40 = new googleError_1.GoogleError("Exceeded maximum number of retries " + (originalError ? `retrying error ${originalError} ` : "") + "before any response was received");
error40.code = status_1.Status.DEADLINE_EXCEEDED;
throw error40;
}
}
/**
* Forwards events from an API request stream to the user's stream.
* @param {Stream} stream - The API request stream.
*/
eventForwardHelper(stream2) {
const eventsToForward = ["metadata", "response", "status"];
eventsToForward.forEach((event) => {
stream2.on(event, this.emit.bind(this, event));
});
}
/**
* Helper function that emits a response on the stream after either a 'metadata'
* or a 'status' event - this helps streams to behave more like http consumers expect
* @param {Stream} stream - The API request stream.
*/
statusMetadataHelper(stream2) {
stream2.on("status", () => {
if (!this._responseHasSent) {
stream2.emit("response", {
code: 200,
details: "",
message: "OK"
});
}
});
stream2.on("metadata", (metadata2) => {
stream2.emit("response", {
code: 200,
details: "",
message: "OK",
metadata: metadata2
});
this._responseHasSent = true;
});
}
/**
* Forward events from an API request stream to the user's stream.
* @param {Stream} stream - The API request stream.
* @param {RetryOptions} retry - Configures the exceptions upon which the
* function should retry, and the parameters to the exponential backoff retry
* algorithm.
*/
forwardEvents(stream2) {
this.eventForwardHelper(stream2);
this.statusMetadataHelper(stream2);
stream2.on("error", (error40) => {
googleError_1.GoogleError.parseGRPCStatusDetails(error40);
});
}
/**
* Default mechanism for determining whether a streaming call should retry
* If a user passes in a "shouldRetryFn", this will not be used
* @param {GoogleError} errpr - The error we need to determine is retryable or not
* @param {RetryOptions} retry - Configures the exceptions upon which the
* function should retry, and the parameters to the exponential backoff retry
* algorithm.
*/
defaultShouldRetry(error40, retry) {
if (retry.retryCodes.length > 0 && retry.retryCodes.indexOf(error40.code) < 0 || retry.retryCodes.length === 0) {
return false;
}
return true;
}
/**
* Specifies the target stream.
* @param {ApiCall} apiCall - the API function to be called.
* @param {Object} argument - the argument to be passed to the apiCall.
* @param {RetryOptions} retry - Configures the exceptions upon which the
* function should retry, and the parameters to the exponential backoff retry
* algorithm.
*/
setStream(apiCall, argument, retryRequestOptions = {}, retry) {
this.apiCall = apiCall;
this.argument = argument;
if (this.type === StreamType.SERVER_STREAMING) {
if (this.rest) {
const stream3 = apiCall(argument, this._callback);
this.stream = stream3;
this.setReadable(stream3);
} else if (this.gaxServerStreamingRetries) {
const request = () => {
if (this._isCancelCalled) {
if (this.stream) {
this.stream.cancel();
}
return;
}
const stream3 = apiCall(argument, this._callback);
return stream3;
};
const retryStream = this.newStreamingRetryRequest({ request, retry });
this.stream = retryStream;
this.eventForwardHelper(retryStream);
this.setReadable(retryStream);
} else {
const retryStream = retryRequest(null, {
objectMode: true,
request: () => {
if (this._isCancelCalled) {
if (this.stream) {
this.stream.cancel();
}
return;
}
const stream3 = apiCall(argument, this._callback);
this.stream = stream3;
this.forwardEvents(stream3);
return stream3;
},
retries: retryRequestOptions.retries,
currentRetryAttempt: retryRequestOptions.currentRetryAttempt,
noResponseRetries: retryRequestOptions.noResponseRetries,
shouldRetryFn: retryRequestOptions.shouldRetryFn
});
this.setReadable(retryStream);
}
return;
}
const stream2 = apiCall(argument, this._callback);
this.stream = stream2;
this.forwardEvents(stream2);
if (this.type === StreamType.CLIENT_STREAMING) {
this.setWritable(stream2);
}
if (this.type === StreamType.BIDI_STREAMING) {
this.setReadable(stream2);
this.setWritable(stream2);
}
if (this._isCancelCalled && this.stream) {
this.stream.cancel();
}
}
/**
* Creates a new retry request stream -
*inner arrow function "newMakeRequest" handles retrying and resumption
* @param {streamingRetryRequestOptions} opts
* {request} - the request to be made if the stream errors
* {retry} - the retry options associated with the call
* @returns {CancellableStream} - the stream that handles retry logic
*/
newStreamingRetryRequest(opts) {
var _a4, _b, _c, _d;
const retry = (_a4 = opts.retry) !== null && _a4 !== void 0 ? _a4 : {
retryCodes: [],
backoffSettings: (0, gax_1.createDefaultBackoffSettings)()
};
let retries = 0;
const retryStream = new stream_1.PassThrough({
objectMode: true
});
const totalTimeout = (_b = retry.backoffSettings.totalTimeoutMillis) !== null && _b !== void 0 ? _b : void 0;
const maxRetries = (_c = retry.backoffSettings.maxRetries) !== null && _c !== void 0 ? _c : void 0;
let timeout = (_d = retry.backoffSettings.initialRpcTimeoutMillis) !== null && _d !== void 0 ? _d : void 0;
let now = /* @__PURE__ */ new Date();
let deadline = 0;
if (totalTimeout) {
deadline = now.getTime() + totalTimeout;
}
const transientErrorHelper = (error40, requestStream) => {
const e2 = googleError_1.GoogleError.parseGRPCStatusDetails(error40);
e2.note = "Exception occurred in retry method that was not classified as transient";
requestStream.destroy();
retryStream.destroy(e2);
return retryStream;
};
const newMakeRequest = (newopts) => {
let dataEnd = false;
let statusReceived = false;
let enteredError = false;
const requestStream = newopts.request(requestOps);
retryStream.cancel = requestStream.cancel;
const eventsToForward = ["metadata", "response", "status"];
eventsToForward.forEach((event) => {
requestStream.on(event, retryStream.emit.bind(retryStream, event));
});
this.statusMetadataHelper(requestStream);
requestStream.on("data", (data) => {
retries = 0;
this.emit.bind(this, "data")(data);
});
requestStream.on("status", () => {
statusReceived = true;
if (dataEnd) {
retryStream.end();
}
return retryStream;
});
requestStream.on("end", () => {
if (!enteredError) {
dataEnd = true;
if (statusReceived) {
retryStream.end();
}
}
return retryStream;
});
requestStream.on("error", (error40) => {
enteredError = true;
if (typeof maxRetries !== void 0 || typeof totalTimeout !== void 0) {
if (this.shouldRetryRequest(error40, retry)) {
if (maxRetries && totalTimeout) {
const newError = new googleError_1.GoogleError("Cannot set both totalTimeoutMillis and maxRetries in backoffSettings.");
newError.code = status_1.Status.INVALID_ARGUMENT;
requestStream.destroy();
retryStream.destroy(newError);
return retryStream;
} else {
try {
this.throwIfMaxRetriesOrTotalTimeoutExceeded(deadline, maxRetries, timeout, error40, totalTimeout, retries);
} catch (error41) {
const e2 = googleError_1.GoogleError.parseGRPCStatusDetails(error41);
requestStream.destroy();
retryStream.destroy(e2);
return retryStream;
}
const delayMult = retry.backoffSettings.retryDelayMultiplier;
const maxDelay = retry.backoffSettings.maxRetryDelayMillis;
const timeoutMult = retry.backoffSettings.rpcTimeoutMultiplier;
const maxTimeout = retry.backoffSettings.maxRpcTimeoutMillis;
let delay3 = retry.backoffSettings.initialRetryDelayMillis;
const toSleep = Math.random() * delay3;
const calculateTimeoutAndResumptionFunction = () => {
setTimeout(() => {
if (timeout) {
now = /* @__PURE__ */ new Date();
delay3 = Math.min(delay3 * delayMult, maxDelay);
const timeoutCal = timeout && timeoutMult ? timeout * timeoutMult : 0;
const rpcTimeout = maxTimeout ? maxTimeout : 0;
const newDeadline = deadline ? deadline - now.getTime() : 0;
timeout = Math.min(timeoutCal, rpcTimeout, newDeadline);
}
retries++;
let retryArgument = this.argument;
if (retry.getResumptionRequestFn !== void 0) {
retryArgument = retry.getResumptionRequestFn(retryArgument);
}
const newRequest = () => {
if (this._isCancelCalled) {
if (this.stream) {
this.stream.cancel();
}
return;
}
const newStream = this.apiCall(retryArgument, this._callback);
return newStream;
};
opts.request = newRequest;
return newMakeRequest(opts);
}, toSleep);
};
return calculateTimeoutAndResumptionFunction();
}
} else {
return transientErrorHelper(error40, requestStream);
}
} else {
return transientErrorHelper(error40, requestStream);
}
});
return retryStream;
};
return newMakeRequest(opts);
}
};
exports2.StreamProxy = StreamProxy;
}
});
// node_modules/google-gax/build/src/pathTemplate.js
var require_pathTemplate = __commonJS({
"node_modules/google-gax/build/src/pathTemplate.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PathTemplate = void 0;
var PathTemplate = class {
/**
* @param {String} data the of the template
*
* @constructor
*/
constructor(data) {
this.bindings = {};
this.data = data;
this.segments = this.parsePathTemplate(data);
this.size = this.segments.length;
}
/**
* Matches a fully-qualified path template string.
*
* @param {String} path a fully-qualified path template string
* @return {Object} contains const names matched to binding values
* @throws {TypeError} if path can't be matched to this template
*/
match(path101) {
let pathSegments = path101.split("/");
const bindings = {};
if (pathSegments.length !== this.segments.length) {
if (!this.data.includes("**")) {
throw new TypeError(`This path ${path101} does not match path template ${this.data}, the number of parameters is not same.`);
} else if (pathSegments.length !== this.segments.length + 1) {
throw new TypeError(`This path ${path101} does not match path template ${this.data}, the number of parameters is not same with one wildcard.`);
}
}
for (let index = 0; index < this.segments.length && pathSegments.length > 0; index++) {
if (this.segments[index] !== pathSegments[0]) {
if (!this.segments[index].includes("*")) {
throw new TypeError(`segment does not match, ${this.segments[index]} and ${pathSegments[index]}.`);
} else {
let segment = this.segments[index];
const matches = segment.match(/\{[$0-9a-zA-Z_]+=.*?\}/g);
if (!matches) {
throw new Error(`Error processing path template segment ${segment}`);
}
const variables = matches.map((str2) => str2.replace(/^\{/, "").replace(/=.*/, ""));
if (segment.includes("**")) {
bindings[variables[0]] = pathSegments[0] + "/" + pathSegments[1];
pathSegments = pathSegments.slice(2);
} else {
if (variables.length === 1) {
bindings[variables[0]] = pathSegments[0];
} else {
const value = pathSegments[0].split(/[-_.~]/);
if (value.length !== variables.length) {
throw new Error(`segment ${segment} does not match ${pathSegments[0]}`);
}
for (const v of variables) {
bindings[v] = value[0];
segment = segment.replace(`{${v}=*}`, `${value[0]}`);
value.shift();
}
if (segment !== pathSegments[0]) {
throw new TypeError(`non slash resource pattern ${this.segments[index]} and ${pathSegments[0]} should have same separator`);
}
}
pathSegments.shift();
}
}
} else {
pathSegments.shift();
}
}
return bindings;
}
/**
* Renders a path template using the provided bindings.
*
* @param {Object} bindings a mapping of const names to binding strings
* @return {String} a rendered representation of the path template
* @throws {TypeError} if a key is missing, or if a sub-template cannot be
* parsed
*/
render(bindings) {
if (Object.keys(bindings).length !== Object.keys(this.bindings).length) {
throw new TypeError(`The number of variables ${Object.keys(bindings).length} does not match the number of needed variables ${Object.keys(this.bindings).length}`);
}
let path101 = this.inspect();
for (const key of Object.keys(bindings)) {
const b = bindings[key].toString();
if (!this.bindings[key]) {
throw new TypeError(`render fails for not matching ${bindings[key]}`);
}
const variable = this.bindings[key];
if (variable === "*") {
if (!b.match(/[^/{}]+/)) {
throw new TypeError(`render fails for not matching ${b}`);
}
path101 = path101.replace(`{${key}=*}`, `${b}`);
} else if (variable === "**") {
if (!b.match(/[^{}]+/)) {
throw new TypeError(`render fails for not matching ${b}`);
}
path101 = path101.replace(`{${key}=**}`, `${b}`);
}
}
return path101;
}
/**
* Renders the path template.
*
* @return {string} contains const names matched to binding values
*/
inspect() {
return this.segments.join("/");
}
/**
* Parse the path template.
*
* @return {string[]} return segments of the input path.
* For example: 'buckets/{hello}'' will give back ['buckets', {hello=*}]
*/
parsePathTemplate(data) {
const pathSegments = splitPathTemplate(data);
let index = 0;
let wildCardCount = 0;
const segments = [];
let matches;
pathSegments.forEach((segment) => {
if (segment === "*" || segment === "**") {
this.bindings[`$${index}`] = segment;
segments.push(`{$${index}=${segment}}`);
index = index + 1;
if (segment === "**") {
++wildCardCount;
}
} else if (matches = segment.match(/\{[0-9a-zA-Z-.~_]+(?:=.*?)?\}/g)) {
for (const subsegment of matches) {
const pairMatch = subsegment.match(/^\{([0-9a-zA-Z-.~_]+)(?:=(.*?))?\}$/);
if (!pairMatch) {
throw new Error(`Cannot process path template segment ${subsegment}`);
}
const key = pairMatch[1];
let value = pairMatch[2];
if (!value) {
value = "*";
segment = segment.replace(key, key + "=*");
this.bindings[key] = value;
} else if (value === "*") {
this.bindings[key] = value;
} else if (value === "**") {
++wildCardCount;
this.bindings[key] = value;
}
}
segments.push(segment);
} else if (segment.match(/[0-9a-zA-Z-.~_]+/)) {
segments.push(segment);
}
});
if (wildCardCount > 1) {
throw new TypeError("Can not have more than one wildcard.");
}
return segments;
}
};
exports2.PathTemplate = PathTemplate;
function splitPathTemplate(data) {
let left2 = 0;
let right2 = 0;
let bracketCount = 0;
const segments = [];
while (right2 >= left2 && right2 < data.length) {
if (data.charAt(right2) === "{") {
bracketCount = bracketCount + 1;
} else if (data.charAt(right2) === "}") {
bracketCount = bracketCount - 1;
} else if (data.charAt(right2) === "/") {
if (right2 === data.length - 1) {
throw new TypeError("Invalid path, it can not be ended by /");
}
if (bracketCount === 0) {
segments.push(data.substring(left2, right2));
left2 = right2 + 1;
}
}
if (right2 === data.length - 1) {
if (bracketCount !== 0) {
throw new TypeError("Brackets are invalid.");
}
segments.push(data.substring(left2));
}
right2 = right2 + 1;
}
return segments;
}
}
});
// node_modules/google-gax/package.json
var require_package7 = __commonJS({
"node_modules/google-gax/package.json"(exports2, module2) {
module2.exports = {
name: "google-gax",
version: "4.6.1",
description: "Google API Extensions",
main: "build/src/index.js",
types: "build/src/index.d.ts",
files: [
"build/src",
"build/protos/",
"!build/src/**/*.map"
],
dependencies: {
"@grpc/grpc-js": "^1.10.9",
"@grpc/proto-loader": "^0.7.13",
"@types/long": "^4.0.0",
"abort-controller": "^3.0.0",
duplexify: "^4.0.0",
"google-auth-library": "^9.3.0",
"node-fetch": "^2.7.0",
"object-hash": "^3.0.0",
"proto3-json-serializer": "^2.0.2",
"retry-request": "^7.0.0",
uuid: "^9.0.1",
protobufjs: "^7.3.2"
},
devDependencies: {
"@types/uuid": "^9.0.7",
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@types/mocha": "^9.0.0",
"@types/ncp": "^2.0.1",
"@types/node": "^20.5.0",
"@types/node-fetch": "^2.6.11",
"@types/object-hash": "^3.0.0",
"@types/proxyquire": "^1.3.28",
"@types/pumpify": "^1.4.1",
"@types/sinon": "^17.0.0",
"@types/uglify-js": "^3.17.0",
c8: "^9.0.0",
cheerio: "1.0.0-rc.12",
codecov: "^3.1.0",
execa: "^5.0.0",
glob: "10.4.5",
"google-proto-files": "^4.2.0",
gts: "^5.0.0",
jackspeak: "3.4.3",
jsdoc: "^4.0.0",
"jsdoc-fresh": "^3.0.0",
"jsdoc-region-tag": "^3.0.0",
linkinator: "^4.0.0",
"lru-cache": "10.4.3",
long: "^4.0.0",
mkdirp: "^2.0.0",
mocha: "^9.0.0",
ncp: "^2.0.0",
"null-loader": "^4.0.0",
pdfmake: "0.2.12",
"protobufjs-cli": "1.1.3",
proxyquire: "^2.0.1",
pumpify: "^2.0.0",
sinon: "^18.0.0",
"stream-events": "^1.0.4",
"ts-loader": "^8.0.0",
typescript: "^5.1.6",
"uglify-js": "^3.17.0",
walkdir: "^0.4.0",
webpack: "^4.0.0",
"webpack-cli": "^4.0.0"
},
scripts: {
docs: "jsdoc -c .jsdoc.js",
pretest: "npm run prepare",
test: "c8 mocha build/test/unit",
lint: "gts check src samples test",
clean: "gts clean",
compile: "tsc -p . && cp src/*.json build/src && cp -r test/fixtures build/test && cp -r protos build/",
"compile-operation-protos": "pbjs -t json google/longrunning/operations.proto -p ./protos > protos/operations.json && pbjs -t static-module -r operations_protos google/longrunning/operations.proto -p ./protos > protos/operations.js && pbts protos/operations.js -o protos/operations.d.ts",
"compile-compute-operations-protos": "pbjs -t json google/longrunning/compute_operations.proto -p ./protos > protos/compute_operations.json && pbjs -t static-module -r compute_operations_protos google/longrunning/compute_operations.proto -p ./protos > protos/compute_operations.js && pbts protos/compute_operations.js -o protos/compute_operations.d.ts",
"compile-iam-protos": "pbjs -t json google/iam/v1/iam_policy.proto google/iam/v1/options.proto google/iam/v1/policy.proto google/iam/v1/logging/audit_data.proto -p ./protos > protos/iam_service.json && pbjs -t static-module -r iam_protos google/iam/v1/iam_policy.proto google/iam/v1/options.proto google/iam/v1/policy.proto google/iam/v1/logging/audit_data.proto -p ./protos > protos/iam_service.js && pbts protos/iam_service.js -o protos/iam_service.d.ts",
"compile-location-protos": "pbjs -t json google/cloud/location/locations.proto -p ./protos > protos/locations.json && pbjs -t static-module -r locations_protos google/cloud/location/locations.proto -p ./protos > protos/locations.js && pbts protos/locations.js -o protos/locations.d.ts",
"compile-status-protos": "pbjs -t json google/rpc/status.proto google/rpc/error_details.proto -p ./protos > protos/status.json",
"compile-http-protos": "pbjs -t static-module -r http_proto --keep-case google/api/http.proto -p ./protos > protos/http.js && pbts protos/http.js -o protos/http.d.ts",
fix: "gts fix",
prepare: "npm run compile && cd ../tools && npm i && npm run compile && cd ../gax && pwd && node ../tools/build/src/prepublish.js . && mkdirp build/protos && cp -r protos/* build/protos/ && npm run minify-proto-json",
"system-test": "c8 mocha build/test/system-test --timeout 600000 && npm run test-application",
"samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
"docs-test": "linkinator docs",
"predocs-test": "npm run docs",
"browser-test": "cd test/browser-test && npm run prefetch && npm install && npm test",
"test-application": "cd test/test-application && npm run prefetch && npm install && npm start",
prelint: "cd samples; npm link ../; npm install",
precompile: "gts clean",
"update-protos": "cd ../tools && npm i && npm run compile && cd ../gax && node ../tools/build/src/listProtos.js .",
"minify-proto-json": "cd ../tools && npm i && npm run compile && cd ../gax && node ../tools/build/src/minify.js"
},
keywords: [
"grpc"
],
repository: {
type: "git",
url: "https://github.com/googleapis/gax-nodejs.git",
directory: "gax"
},
author: "Google API Authors",
license: "Apache-2.0",
bugs: {
url: "https://github.com/googleapis/gax-nodejs/issues"
},
homepage: "https://github.com/googleapis/gax-nodejs#readme",
engines: {
node: ">=14"
},
browser: "build/src/fallback.js"
};
}
});
// node_modules/google-gax/build/src/longRunningCalls/longrunning.js
var require_longrunning = __commonJS({
"node_modules/google-gax/build/src/longRunningCalls/longrunning.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Operation = void 0;
exports2.operation = operation;
var events_1 = __require("events");
var status_1 = require_status();
var googleError_1 = require_googleError();
var operationProtos = require_operations();
var Operation = class extends events_1.EventEmitter {
/**
* Wrapper for a google.longrunnung.Operation.
*
* @constructor
*
* @param {google.longrunning.Operation} grpcOp - The operation to be wrapped.
* @param {LongRunningDescriptor} longrunningDescriptor - This defines the
* operations service client and unpacking mechanisms for the operation.
* @param {BackoffSettings} backoffSettings - The backoff settings used in
* in polling the operation.
* @param {CallOptions} callOptions - CallOptions used in making get operation
* requests.
*/
constructor(grpcOp, longrunningDescriptor, backoffSettings, callOptions) {
super();
this.completeListeners = 0;
this.hasActiveListeners = false;
this.latestResponse = grpcOp;
this.name = this.latestResponse.name;
this.done = this.latestResponse.done;
this.error = this.latestResponse.error;
this.longrunningDescriptor = longrunningDescriptor;
this.result = null;
this.metadata = null;
this.backoffSettings = backoffSettings;
this._unpackResponse(grpcOp);
this._listenForEvents();
this._callOptions = callOptions;
}
/**
* Begin listening for events on the operation. This method keeps track of how
* many "complete" listeners are registered and removed, making sure polling
* is handled automatically.
*
* As long as there is one active "complete" listener, the connection is open.
* When there are no more listeners, the polling stops.
*
* @private
*/
_listenForEvents() {
this.on("newListener", (event) => {
if (event === "complete") {
this.completeListeners++;
if (!this.hasActiveListeners) {
this.hasActiveListeners = true;
this.startPolling_();
}
}
});
this.on("removeListener", (event) => {
if (event === "complete" && --this.completeListeners === 0) {
this.hasActiveListeners = false;
}
});
}
/**
* Cancels current polling api call and cancels the operation.
*
* @return {Promise} the promise of the OperationsClient#cancelOperation api
* request.
*/
cancel() {
if (this.currentCallPromise_) {
this.currentCallPromise_.cancel();
}
const operationsClient = this.longrunningDescriptor.operationsClient;
const cancelRequest = new operationProtos.google.longrunning.CancelOperationRequest();
cancelRequest.name = this.latestResponse.name;
return operationsClient.cancelOperation(cancelRequest);
}
getOperation(callback) {
const self2 = this;
const operationsClient = this.longrunningDescriptor.operationsClient;
function promisifyResponse() {
if (!callback) {
return new Promise((resolve25, reject) => {
if (self2.latestResponse.error) {
const error40 = new googleError_1.GoogleError(self2.latestResponse.error.message);
error40.code = self2.latestResponse.error.code;
reject(error40);
} else {
resolve25([self2.result, self2.metadata, self2.latestResponse]);
}
});
}
return;
}
if (this.latestResponse.done) {
this._unpackResponse(this.latestResponse, callback);
return promisifyResponse();
}
const request = new operationProtos.google.longrunning.GetOperationRequest();
request.name = this.latestResponse.name;
this.currentCallPromise_ = operationsClient.getOperationInternal(request, this._callOptions);
const noCallbackPromise = this.currentCallPromise_.then((responses) => {
self2.latestResponse = responses[0];
self2._unpackResponse(responses[0], callback);
return promisifyResponse();
}, (err2) => {
if (callback) {
callback(err2);
return;
}
return Promise.reject(err2);
});
if (!callback) {
return noCallbackPromise;
}
}
_unpackResponse(op, callback) {
const responseDecoder = this.longrunningDescriptor.responseDecoder;
const metadataDecoder = this.longrunningDescriptor.metadataDecoder;
let response;
let metadata2;
if (op.done) {
if (op.result === "error") {
const error40 = new googleError_1.GoogleError(op.error.message);
error40.code = op.error.code;
this.error = error40;
if (callback) {
callback(error40);
}
return;
}
if (responseDecoder && op.response) {
this.response = op.response;
response = responseDecoder(op.response.value);
this.result = response;
this.done = true;
}
}
if (metadataDecoder && op.metadata) {
metadata2 = metadataDecoder(op.metadata.value);
this.metadata = metadata2;
}
if (callback) {
callback(null, response, metadata2, op);
}
}
/**
* Poll `getOperation` to check the operation's status. This runs a loop to
* ping using the backoff strategy specified at initialization.
*
* Note: This method is automatically called once a "complete" event handler
* is registered on the operation.
*
* @private
*/
startPolling_() {
const self2 = this;
let now = /* @__PURE__ */ new Date();
const delayMult = this.backoffSettings.retryDelayMultiplier;
const maxDelay = this.backoffSettings.maxRetryDelayMillis;
let delay3 = this.backoffSettings.initialRetryDelayMillis;
let deadline = Infinity;
if (this.backoffSettings.totalTimeoutMillis) {
deadline = now.getTime() + this.backoffSettings.totalTimeoutMillis;
}
let previousMetadataBytes;
if (this.latestResponse.metadata) {
previousMetadataBytes = this.latestResponse.metadata.value;
}
function emit(event, ...args2) {
self2.emit(event, ...args2);
}
function arrayEquals(a2, b) {
if (a2.byteLength !== b.byteLength) {
return false;
}
for (let i3 = 0; i3 < a2.byteLength; ++i3) {
if (a2[i3] !== b[i3])
return false;
}
return true;
}
function retry() {
if (!self2.hasActiveListeners) {
return;
}
if (now.getTime() >= deadline) {
const error40 = new googleError_1.GoogleError("Total timeout exceeded before any response was received");
error40.code = status_1.Status.DEADLINE_EXCEEDED;
setImmediate(emit, "error", error40);
return;
}
self2.getOperation((err2, result2, metadata2, rawResponse) => {
if (err2) {
setImmediate(emit, "error", err2);
return;
}
if (!result2) {
if (rawResponse.metadata && (!previousMetadataBytes || rawResponse && !arrayEquals(rawResponse.metadata.value, previousMetadataBytes))) {
setImmediate(emit, "progress", metadata2, rawResponse);
previousMetadataBytes = rawResponse.metadata.value;
}
if (rawResponse.done) {
setImmediate(emit, "complete", {}, metadata2, rawResponse);
return;
}
setTimeout(() => {
now = /* @__PURE__ */ new Date();
delay3 = Math.min(delay3 * delayMult, maxDelay);
retry();
}, delay3);
return;
}
setImmediate(emit, "complete", result2, metadata2, rawResponse);
});
}
retry();
}
/**
* Wraps the `complete` and `error` events in a Promise.
*
* @return {promise} - Promise that resolves on operation completion and rejects
* on operation error.
*/
promise() {
return new Promise((resolve25, reject) => {
this.on("error", reject).on("complete", (result2, metadata2, rawResponse) => {
resolve25([result2, metadata2, rawResponse]);
});
});
}
};
exports2.Operation = Operation;
function operation(op, longrunningDescriptor, backoffSettings, callOptions) {
return new Operation(op, longrunningDescriptor, backoffSettings, callOptions);
}
}
});
// node_modules/google-gax/build/src/longRunningCalls/longRunningApiCaller.js
var require_longRunningApiCaller = __commonJS({
"node_modules/google-gax/build/src/longRunningCalls/longRunningApiCaller.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LongrunningApiCaller = void 0;
var call_1 = require_call2();
var gax_1 = require_gax();
var longrunning_1 = require_longrunning();
var LongrunningApiCaller = class {
/**
* Creates an API caller that performs polling on a long running operation.
*
* @private
* @constructor
* @param {LongRunningDescriptor} longrunningDescriptor - Holds the
* decoders used for unpacking responses and the operationsClient
* used for polling the operation.
*/
constructor(longrunningDescriptor) {
this.longrunningDescriptor = longrunningDescriptor;
}
init(callback) {
if (callback) {
return new call_1.OngoingCall(callback);
}
return new call_1.OngoingCallPromise();
}
wrap(func2) {
return func2;
}
call(apiCall, argument, settings, canceller) {
canceller.call((argument2, callback) => {
return this._wrapOperation(apiCall, settings, argument2, callback);
}, argument);
}
_wrapOperation(apiCall, settings, argument, callback) {
let backoffSettings = settings.longrunning;
if (!backoffSettings) {
backoffSettings = (0, gax_1.createDefaultBackoffSettings)();
}
const longrunningDescriptor = this.longrunningDescriptor;
return apiCall(argument, (err2, rawResponse) => {
if (err2) {
callback(err2, null, null, rawResponse);
return;
}
const operation = new longrunning_1.Operation(rawResponse, longrunningDescriptor, backoffSettings, settings);
callback(null, operation, rawResponse);
});
}
fail(canceller, err2) {
canceller.callback(err2);
}
result(canceller) {
return canceller.promise;
}
};
exports2.LongrunningApiCaller = LongrunningApiCaller;
}
});
// node_modules/google-gax/build/src/longRunningCalls/longRunningDescriptor.js
var require_longRunningDescriptor = __commonJS({
"node_modules/google-gax/build/src/longRunningCalls/longRunningDescriptor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LongRunningDescriptor = void 0;
var longRunningApiCaller_1 = require_longRunningApiCaller();
var LongRunningDescriptor = class {
constructor(operationsClient, responseDecoder, metadataDecoder) {
this.operationsClient = operationsClient;
this.responseDecoder = responseDecoder;
this.metadataDecoder = metadataDecoder;
}
getApiCaller() {
return new longRunningApiCaller_1.LongrunningApiCaller(this);
}
};
exports2.LongRunningDescriptor = LongRunningDescriptor;
}
});
// node_modules/google-gax/build/src/paginationCalls/resourceCollector.js
var require_resourceCollector = __commonJS({
"node_modules/google-gax/build/src/paginationCalls/resourceCollector.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ResourceCollector = void 0;
var ResourceCollector = class {
constructor(apiCall, maxResults = -1) {
this.apiCall = apiCall;
this.resources = [];
this.maxResults = maxResults;
}
callback(err2, resources, nextPageRequest) {
if (err2) {
this.rejectCallback(err2);
return;
}
for (const resource of resources) {
this.resources.push(resource);
if (this.resources.length === this.maxResults) {
nextPageRequest = null;
break;
}
}
if (!nextPageRequest) {
this.resolveCallback(this.resources);
return;
}
const callback = (...args2) => this.callback(...args2);
setImmediate(this.apiCall, nextPageRequest, callback);
}
processAllPages(firstRequest) {
return new Promise((resolve25, reject) => {
this.resolveCallback = resolve25;
this.rejectCallback = reject;
const callback = (...args2) => this.callback(...args2);
setImmediate(this.apiCall, firstRequest, callback);
});
}
};
exports2.ResourceCollector = ResourceCollector;
}
});
// node_modules/google-gax/build/src/paginationCalls/pagedApiCaller.js
var require_pagedApiCaller = __commonJS({
"node_modules/google-gax/build/src/paginationCalls/pagedApiCaller.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PagedApiCaller = void 0;
var call_1 = require_call2();
var googleError_1 = require_googleError();
var resourceCollector_1 = require_resourceCollector();
var warnings_1 = require_warnings();
var PagedApiCaller = class {
/**
* Creates an API caller that returns a stream to performs page-streaming.
*
* @private
* @constructor
* @param {PageDescriptor} pageDescriptor - indicates the structure
* of page streaming to be performed.
*/
constructor(pageDescriptor) {
this.pageDescriptor = pageDescriptor;
}
/**
* This function translates between regular gRPC calls (that accepts a request and returns a response,
* and does not know anything about pages and page tokens) and the users' callback (that expects
* to see resources from one page, a request to get the next page, and the raw response from the server).
*
* It generates a function that can be passed as a callback function to a gRPC call, will understand
* pagination-specific fields in the response, and call the users' callback after having those fields
* parsed.
*
* @param request Request object. It needs to be passed to all subsequent next page requests
* (the main content of the request object stays unchanged, only the next page token changes)
* @param callback The user's callback that expects the page content, next page request, and raw response.
*/
generateParseResponseCallback(request, callback) {
const resourceFieldName = this.pageDescriptor.resourceField;
const responsePageTokenFieldName = this.pageDescriptor.responsePageTokenField;
const requestPageTokenFieldName = this.pageDescriptor.requestPageTokenField;
return (err2, response) => {
if (err2) {
callback(err2);
return;
}
if (!request) {
callback(new googleError_1.GoogleError("Undefined request in pagination method callback."));
return;
}
if (!response) {
callback(new googleError_1.GoogleError("Undefined response in pagination method callback."));
return;
}
const resources = response[resourceFieldName] || [];
const pageToken = response[responsePageTokenFieldName];
let nextPageRequest = null;
if (pageToken) {
nextPageRequest = Object.assign({}, request);
nextPageRequest[requestPageTokenFieldName] = pageToken;
}
callback(err2, resources, nextPageRequest, response);
};
}
/**
* Adds a special ability to understand pagination-specific fields to the existing gRPC call.
* The original gRPC call just calls callback(err, result).
* The wrapped one will call callback(err, resources, nextPageRequest, rawResponse) instead.
*
* @param func gRPC call (normally, a service stub call). The gRPC call is expected to accept four parameters:
* request, metadata, call options, and callback.
*/
wrap(func2) {
const self2 = this;
return function wrappedCall(argument, metadata2, options, callback) {
return func2(argument, metadata2, options, self2.generateParseResponseCallback(argument, callback));
};
}
/**
* Makes it possible to use both callback-based and promise-based calls.
* Returns an OngoingCall or OngoingCallPromise object.
* Regardless of which one is returned, it always has a `.callback` to call.
*
* @param settings Call settings. Can only be used to replace Promise with another promise implementation.
* @param [callback] Callback to be called, if any.
*/
init(callback) {
if (callback) {
return new call_1.OngoingCall(callback);
}
return new call_1.OngoingCallPromise();
}
/**
* Implements auto-pagination logic.
*
* @param apiCall A function that performs gRPC request and calls its callback with a response or an error.
* It's supposed to be a gRPC service stub function wrapped into several layers of wrappers that make it
* accept just two parameters: (request, callback).
* @param request A request object that came from the user.
* @param settings Call settings. We are interested in `maxResults` and `autoPaginate` (they are optional).
* @param ongoingCall An instance of OngoingCall or OngoingCallPromise that can be used for call cancellation,
* and is used to return results to the user.
*/
call(apiCall, request, settings, ongoingCall) {
request = Object.assign({}, request);
if (!settings.autoPaginate) {
ongoingCall.call(apiCall, request);
return;
}
if (request.pageSize && settings.autoPaginate) {
(0, warnings_1.warn)("autoPaginate true", "Providing a pageSize without setting autoPaginate to false will still return all results. See https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#auto-pagination for more information on how to configure manual paging", "AutopaginateTrueWarning");
}
const maxResults = settings.maxResults || -1;
const resourceCollector = new resourceCollector_1.ResourceCollector(apiCall, maxResults);
resourceCollector.processAllPages(request).then((resources) => ongoingCall.callback(null, resources), (err2) => ongoingCall.callback(err2));
}
fail(ongoingCall, err2) {
ongoingCall.callback(err2);
}
result(ongoingCall) {
return ongoingCall.promise;
}
};
exports2.PagedApiCaller = PagedApiCaller;
}
});
// node_modules/google-gax/build/src/paginationCalls/pageDescriptor.js
var require_pageDescriptor = __commonJS({
"node_modules/google-gax/build/src/paginationCalls/pageDescriptor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.PageDescriptor = void 0;
var stream_1 = __require("stream");
var normalApiCaller_1 = require_normalApiCaller();
var warnings_1 = require_warnings();
var pagedApiCaller_1 = require_pagedApiCaller();
var maxAttemptsEmptyResponse = 10;
var PageDescriptor = class {
constructor(requestPageTokenField, responsePageTokenField, resourceField) {
this.requestPageTokenField = requestPageTokenField;
this.responsePageTokenField = responsePageTokenField;
this.resourceField = resourceField;
}
/**
* Creates a new object Stream which emits the resource on 'data' event.
*/
createStream(apiCall, request, options) {
if (options === null || options === void 0 ? void 0 : options.autoPaginate) {
(0, warnings_1.warn)("autoPaginate true", "Autopaginate will always be set to false in stream paging methods. See more info at https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#auto-pagination for more information on how to configure paging calls", "AutopaginateTrueWarning");
}
const stream2 = new stream_1.PassThrough({ objectMode: true });
options = Object.assign({}, options, { autoPaginate: false });
const maxResults = "maxResults" in options ? options.maxResults : -1;
let pushCount = 0;
let started = false;
function callback(err2, resources, next, apiResp) {
if (err2) {
stream2.emit("error", err2);
return;
}
stream2.emit("response", apiResp);
for (let i3 = 0; i3 < resources.length; ++i3) {
if (stream2._readableState.ended) {
return;
}
if (resources[i3] === null) {
continue;
}
stream2.push(resources[i3]);
pushCount++;
if (pushCount === maxResults) {
stream2.end();
}
}
if (stream2._readableState.ended) {
return;
}
if (!next) {
stream2.end();
return;
}
if ("pageToken" in options) {
delete options.pageToken;
}
if (stream2.isPaused()) {
request = next;
started = false;
} else {
setImmediate(apiCall, next, options, callback);
}
}
stream2.on("resume", () => {
if (!started) {
started = true;
apiCall(request, options, callback);
}
});
return stream2;
}
/**
* Create an async iterable which can be recursively called for data on-demand.
*/
asyncIterate(apiCall, request, options) {
if (options === null || options === void 0 ? void 0 : options.autoPaginate) {
(0, warnings_1.warn)("autoPaginate true", "Autopaginate will always be set to false in Async paging methods. See more info at https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#auto-pagination for more information on how to configure paging calls", "AutopaginateTrueWarning");
}
options = Object.assign({}, options, { autoPaginate: false });
const iterable = this.createIterator(apiCall, request, options);
return iterable;
}
createIterator(apiCall, request, options) {
const asyncIterable = {
[Symbol.asyncIterator]() {
let nextPageRequest = request;
const cache3 = [];
return {
async next() {
if (cache3.length > 0) {
return Promise.resolve({
done: false,
value: cache3.shift()
});
}
let attempts = 0;
while (cache3.length === 0 && nextPageRequest) {
let result2;
[result2, nextPageRequest] = await apiCall(nextPageRequest, options);
if (result2 && !Array.isArray(result2)) {
for (const [key, value] of Object.entries(result2)) {
cache3.push([key, value]);
}
} else {
cache3.push(...result2);
}
if (cache3.length === 0) {
++attempts;
if (attempts > maxAttemptsEmptyResponse) {
break;
}
}
}
if (cache3.length === 0) {
return Promise.resolve({ done: true, value: void 0 });
}
return Promise.resolve({ done: false, value: cache3.shift() });
}
};
}
};
return asyncIterable;
}
getApiCaller(settings) {
if (!settings.autoPaginate) {
return new normalApiCaller_1.NormalApiCaller();
}
return new pagedApiCaller_1.PagedApiCaller(this);
}
};
exports2.PageDescriptor = PageDescriptor;
}
});
// node_modules/google-gax/build/src/streamingCalls/streamingApiCaller.js
var require_streamingApiCaller = __commonJS({
"node_modules/google-gax/build/src/streamingCalls/streamingApiCaller.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StreamingApiCaller = void 0;
var warnings_1 = require_warnings();
var streaming_1 = require_streaming();
var StreamingApiCaller = class {
/**
* An API caller for methods of gRPC streaming.
* @private
* @constructor
* @param {StreamDescriptor} descriptor - the descriptor of the method structure.
*/
constructor(descriptor2) {
this.descriptor = descriptor2;
}
init(callback) {
return new streaming_1.StreamProxy(this.descriptor.type, callback, this.descriptor.rest, this.descriptor.gaxStreamingRetries);
}
wrap(func2) {
switch (this.descriptor.type) {
case streaming_1.StreamType.SERVER_STREAMING:
return (argument, metadata2, options) => {
return func2(argument, metadata2, options);
};
case streaming_1.StreamType.CLIENT_STREAMING:
return (argument, metadata2, options, callback) => {
return func2(metadata2, options, callback);
};
case streaming_1.StreamType.BIDI_STREAMING:
return (argument, metadata2, options) => {
return func2(metadata2, options);
};
default:
(0, warnings_1.warn)("streaming_wrap_unknown_stream_type", `Unknown stream type: ${this.descriptor.type}`);
}
return func2;
}
call(apiCall, argument, settings, stream2) {
stream2.setStream(apiCall, argument, settings.retryRequestOptions, settings.retry);
}
fail(stream2, err2) {
stream2.emit("error", err2);
}
result(stream2) {
return stream2;
}
};
exports2.StreamingApiCaller = StreamingApiCaller;
}
});
// node_modules/google-gax/build/src/streamingCalls/streamDescriptor.js
var require_streamDescriptor = __commonJS({
"node_modules/google-gax/build/src/streamingCalls/streamDescriptor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StreamDescriptor = void 0;
var streamingApiCaller_1 = require_streamingApiCaller();
var StreamDescriptor = class {
constructor(streamType, rest, gaxStreamingRetries) {
this.type = streamType;
this.streaming = true;
this.rest = rest;
this.gaxStreamingRetries = gaxStreamingRetries;
}
getApiCaller() {
return new streamingApiCaller_1.StreamingApiCaller(this);
}
};
exports2.StreamDescriptor = StreamDescriptor;
}
});
// node_modules/google-gax/build/src/bundlingCalls/bundleApiCaller.js
var require_bundleApiCaller = __commonJS({
"node_modules/google-gax/build/src/bundlingCalls/bundleApiCaller.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BundleApiCaller = void 0;
var call_1 = require_call2();
var googleError_1 = require_googleError();
var BundleApiCaller = class {
constructor(bundler) {
this.bundler = bundler;
}
init(callback) {
if (callback) {
return new call_1.OngoingCall(callback);
}
return new call_1.OngoingCallPromise();
}
wrap(func2) {
return func2;
}
call(apiCall, argument, settings, status2) {
if (!settings.isBundling) {
throw new googleError_1.GoogleError("Bundling enabled with no isBundling!");
}
status2.call((argument2, callback) => {
this.bundler.schedule(apiCall, argument2, callback);
return status2;
}, argument);
}
fail(canceller, err2) {
canceller.callback(err2);
}
result(canceller) {
return canceller.promise;
}
};
exports2.BundleApiCaller = BundleApiCaller;
}
});
// node_modules/google-gax/build/src/bundlingCalls/bundlingUtils.js
var require_bundlingUtils = __commonJS({
"node_modules/google-gax/build/src/bundlingCalls/bundlingUtils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.computeBundleId = computeBundleId;
function computeBundleId(obj, discriminatorFields) {
const ids = [];
let hasIds = false;
for (const field of discriminatorFields) {
const id = at(obj, field);
if (id === void 0) {
ids.push(null);
} else {
hasIds = true;
ids.push(id);
}
}
if (!hasIds) {
return void 0;
}
return JSON.stringify(ids);
}
function at(obj, field) {
const pathParts = field.split(".");
let currentObj = obj;
for (const pathPart of pathParts) {
currentObj = currentObj === null || currentObj === void 0 ? void 0 : currentObj[pathPart];
}
return currentObj;
}
}
});
// node_modules/google-gax/build/src/bundlingCalls/task.js
var require_task = __commonJS({
"node_modules/google-gax/build/src/bundlingCalls/task.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Task = void 0;
exports2.deepCopyForResponse = deepCopyForResponse;
var status_1 = require_status();
var googleError_1 = require_googleError();
function deepCopyForResponse(obj, subresponseInfo) {
let result2;
if (obj === null) {
return null;
}
if (obj === void 0) {
return void 0;
}
if (Array.isArray(obj)) {
result2 = [];
obj.forEach((element) => {
result2.push(deepCopyForResponse(element, null));
});
return result2;
}
if (obj.copy !== void 0) {
return obj.copy();
}
if (obj instanceof ArrayBuffer) {
return obj.slice(0);
}
if (typeof obj === "object") {
result2 = {};
Object.keys(obj).forEach((key) => {
if (subresponseInfo && key === subresponseInfo.field && Array.isArray(obj[key])) {
result2[key] = obj[key].slice(subresponseInfo.start, subresponseInfo.end);
} else {
result2[key] = deepCopyForResponse(obj[key], null);
}
});
return result2;
}
return obj;
}
var Task3 = class {
/**
* A task coordinates the execution of a single bundle.
*
* @param {function} apiCall - The function to conduct calling API.
* @param {Object} bundlingRequest - The base request object to be used
* for the actual API call.
* @param {string} bundledField - The name of the field in bundlingRequest
* to be bundled.
* @param {string=} subresponseField - The name of the field in the response
* to be passed to the callback.
* @constructor
* @private
*/
constructor(apiCall, bundlingRequest, bundledField, subresponseField) {
this._apiCall = apiCall;
this._request = bundlingRequest;
this._bundledField = bundledField;
this._subresponseField = subresponseField;
this._data = [];
}
/**
* Returns the number of elements in a task.
* @return {number} The number of elements.
*/
getElementCount() {
let count2 = 0;
for (let i3 = 0; i3 < this._data.length; ++i3) {
count2 += this._data[i3].elements.length;
}
return count2;
}
/**
* Returns the total byte size of the elements in a task.
* @return {number} The byte size.
*/
getRequestByteSize() {
let size = 0;
for (let i3 = 0; i3 < this._data.length; ++i3) {
size += this._data[i3].bytes;
}
return size;
}
/**
* Invokes the actual API call with current elements.
* @return {string[]} - the list of ids for invocations to be run.
*/
run() {
if (this._data.length === 0) {
return [];
}
const request = this._request;
const elements = [];
const ids = [];
for (let i3 = 0; i3 < this._data.length; ++i3) {
elements.push(...this._data[i3].elements);
ids.push(this._data[i3].callback.id);
}
request[this._bundledField] = elements;
const self2 = this;
this.callCanceller = this._apiCall(request, (err2, response) => {
const responses = [];
if (err2) {
self2._data.forEach(() => {
responses.push(void 0);
});
} else {
let subresponseInfo = null;
if (self2._subresponseField) {
subresponseInfo = {
field: self2._subresponseField,
start: 0
};
}
self2._data.forEach((data) => {
if (subresponseInfo) {
subresponseInfo.end = subresponseInfo.start + data.elements.length;
}
responses.push(deepCopyForResponse(response, subresponseInfo));
if (subresponseInfo) {
subresponseInfo.start = subresponseInfo.end;
}
});
}
for (let i3 = 0; i3 < self2._data.length; ++i3) {
if (self2._data[i3].cancelled) {
const error40 = new googleError_1.GoogleError("cancelled");
error40.code = status_1.Status.CANCELLED;
self2._data[i3].callback(error40);
} else {
self2._data[i3].callback(err2, responses[i3]);
}
}
});
return ids;
}
/**
* Appends the list of elements into the task.
* @param {Object[]} elements - the new list of elements.
* @param {number} bytes - the byte size required to encode elements in the API.
* @param {APICallback} callback - the callback of the method call.
*/
extend(elements, bytes, callback) {
this._data.push({
elements,
bytes,
callback
});
}
/**
* Cancels a part of elements.
* @param {string} id - The identifier of the part of elements.
* @return {boolean} Whether the entire task will be canceled or not.
*/
cancel(id) {
if (this.callCanceller) {
let allCancelled = true;
this._data.forEach((d) => {
if (d.callback.id === id) {
d.cancelled = true;
}
if (!d.cancelled) {
allCancelled = false;
}
});
if (allCancelled) {
this.callCanceller.cancel();
}
return allCancelled;
}
for (let i3 = 0; i3 < this._data.length; ++i3) {
if (this._data[i3].callback.id === id) {
const error40 = new googleError_1.GoogleError("cancelled");
error40.code = status_1.Status.CANCELLED;
this._data[i3].callback(error40);
this._data.splice(i3, 1);
break;
}
}
return this._data.length === 0;
}
};
exports2.Task = Task3;
}
});
// node_modules/google-gax/build/src/bundlingCalls/bundleExecutor.js
var require_bundleExecutor = __commonJS({
"node_modules/google-gax/build/src/bundlingCalls/bundleExecutor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BundleExecutor = void 0;
var status_1 = require_status();
var googleError_1 = require_googleError();
var warnings_1 = require_warnings();
var bundlingUtils_1 = require_bundlingUtils();
var task_1 = require_task();
function noop4() {
}
var BundleExecutor = class {
/**
* Organizes requests for an api service that requires to bundle them.
*
* @param {BundleOptions} bundleOptions - configures strategy this instance
* uses when executing bundled functions.
* @param {BundleDescriptor} bundleDescriptor - the description of the bundling.
* @constructor
*/
constructor(bundleOptions, bundleDescriptor) {
this._options = bundleOptions;
this._descriptor = bundleDescriptor;
this._tasks = {};
this._timers = {};
this._invocations = {};
this._invocationId = 0;
}
/**
* Schedule a method call.
*
* @param {function} apiCall - the function for an API call.
* @param {Object} request - the request object to be bundled with others.
* @param {APICallback} callback - the callback to be called when the method finished.
* @return {function()} - the function to cancel the scheduled invocation.
*/
schedule(apiCall, request, callback) {
const bundleId = (0, bundlingUtils_1.computeBundleId)(request, this._descriptor.requestDiscriminatorFields);
callback = callback || noop4;
if (bundleId === void 0) {
(0, warnings_1.warn)("bundling_schedule_bundleid_undefined", `The request does not have enough information for request bundling. Invoking immediately. Request: ${JSON.stringify(request)} discriminator fields: ${this._descriptor.requestDiscriminatorFields}`);
return apiCall(request, callback);
}
if (request[this._descriptor.bundledField] === void 0) {
(0, warnings_1.warn)("bundling_no_bundled_field", `Request does not contain field ${this._descriptor.bundledField} that must present for bundling. Invoking immediately. Request: ${JSON.stringify(request)}`);
return apiCall(request, callback);
}
if (!(bundleId in this._tasks)) {
this._tasks[bundleId] = new task_1.Task(apiCall, request, this._descriptor.bundledField, this._descriptor.subresponseField);
}
let task = this._tasks[bundleId];
callback.id = String(this._invocationId++);
this._invocations[callback.id] = bundleId;
const bundledField = request[this._descriptor.bundledField];
const elementCount = bundledField.length;
let requestBytes = 0;
const self2 = this;
bundledField.forEach((obj) => {
requestBytes += this._descriptor.byteLengthFunction(obj);
});
const countLimit = this._options.elementCountLimit || 0;
const byteLimit = this._options.requestByteLimit || 0;
if (countLimit > 0 && elementCount > countLimit || byteLimit > 0 && requestBytes >= byteLimit) {
let message;
if (countLimit > 0 && elementCount > countLimit) {
message = "The number of elements " + elementCount + " exceeds the limit " + this._options.elementCountLimit;
} else {
message = "The required bytes " + requestBytes + " exceeds the limit " + this._options.requestByteLimit;
}
const error40 = new googleError_1.GoogleError(message);
error40.code = status_1.Status.INVALID_ARGUMENT;
callback(error40);
return {
cancel: noop4
};
}
const existingCount = task.getElementCount();
const existingBytes = task.getRequestByteSize();
if (countLimit > 0 && elementCount + existingCount >= countLimit || byteLimit > 0 && requestBytes + existingBytes >= byteLimit) {
this._runNow(bundleId);
this._tasks[bundleId] = new task_1.Task(apiCall, request, this._descriptor.bundledField, this._descriptor.subresponseField);
task = this._tasks[bundleId];
}
task.extend(bundledField, requestBytes, callback);
const ret = {
cancel() {
self2._cancel(callback.id);
}
};
const countThreshold = this._options.elementCountThreshold || 0;
const sizeThreshold = this._options.requestByteThreshold || 0;
if (countThreshold > 0 && task.getElementCount() >= countThreshold || sizeThreshold > 0 && task.getRequestByteSize() >= sizeThreshold) {
this._runNow(bundleId);
return ret;
}
if (!(bundleId in this._timers) && this._options.delayThreshold > 0) {
this._timers[bundleId] = setTimeout(() => {
delete this._timers[bundleId];
this._runNow(bundleId);
}, this._options.delayThreshold);
}
return ret;
}
/**
* Clears scheduled timeout if it exists.
*
* @param {String} bundleId - the id for the task whose timeout needs to be
* cleared.
* @private
*/
_maybeClearTimeout(bundleId) {
if (bundleId in this._timers) {
const timerId = this._timers[bundleId];
delete this._timers[bundleId];
clearTimeout(timerId);
}
}
/**
* Cancels an event.
*
* @param {String} id - The id for the event in the task.
* @private
*/
_cancel(id) {
if (!(id in this._invocations)) {
return;
}
const bundleId = this._invocations[id];
if (!(bundleId in this._tasks)) {
return;
}
const task = this._tasks[bundleId];
delete this._invocations[id];
if (task.cancel(id)) {
this._maybeClearTimeout(bundleId);
delete this._tasks[bundleId];
}
}
/**
* Invokes a task.
*
* @param {String} bundleId - The id for the task.
* @private
*/
_runNow(bundleId) {
if (!(bundleId in this._tasks)) {
(0, warnings_1.warn)("bundle_runnow_bundleid_unknown", `No such bundleid: ${bundleId}`);
return;
}
this._maybeClearTimeout(bundleId);
const task = this._tasks[bundleId];
delete this._tasks[bundleId];
task.run().forEach((id) => {
delete this._invocations[id];
});
}
};
exports2.BundleExecutor = BundleExecutor;
}
});
// node_modules/google-gax/build/src/bundlingCalls/bundleDescriptor.js
var require_bundleDescriptor = __commonJS({
"node_modules/google-gax/build/src/bundlingCalls/bundleDescriptor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BundleDescriptor = void 0;
var normalApiCaller_1 = require_normalApiCaller();
var bundleApiCaller_1 = require_bundleApiCaller();
var bundleExecutor_1 = require_bundleExecutor();
var util_1 = require_util10();
var BundleDescriptor = class {
/**
* Describes the structure of bundled call.
*
* requestDiscriminatorFields may include '.' as a separator, which is used to
* indicate object traversal. This allows fields in nested objects to be used
* to determine what request to bundle.
*
* @property {String} bundledField
* @property {String} requestDiscriminatorFields
* @property {String} subresponseField
* @property {Function} byteLengthFunction
*
* @param {String} bundledField - the repeated field in the request message
* that will have its elements aggregated by bundling.
* @param {String} requestDiscriminatorFields - a list of fields in the
* target request message class that are used to detemrine which request
* messages should be bundled together.
* @param {String} subresponseField - an optional field, when present it
* indicates the field in the response message that should be used to
* demultiplex the response into multiple response messages.
* @param {Function} byteLengthFunction - a function to obtain the byte
* length to be consumed for the bundled field messages. Because Node.JS
* protobuf.js/gRPC uses builtin Objects for the user-visible data and
* internally they are encoded/decoded in protobuf manner, this function
* is actually necessary to calculate the byte length.
* @constructor
*/
constructor(bundledField, requestDiscriminatorFields, subresponseField, byteLengthFunction) {
if (!byteLengthFunction && typeof subresponseField === "function") {
byteLengthFunction = subresponseField;
subresponseField = null;
}
this.bundledField = bundledField;
this.requestDiscriminatorFields = requestDiscriminatorFields.map(util_1.toCamelCase);
this.subresponseField = subresponseField;
this.byteLengthFunction = byteLengthFunction;
}
getApiCaller(settings) {
if (settings.isBundling === false) {
return new normalApiCaller_1.NormalApiCaller();
}
return new bundleApiCaller_1.BundleApiCaller(new bundleExecutor_1.BundleExecutor(settings.bundleOptions, this));
}
};
exports2.BundleDescriptor = BundleDescriptor;
}
});
// node_modules/google-gax/build/src/descriptor.js
var require_descriptor3 = __commonJS({
"node_modules/google-gax/build/src/descriptor.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BundleDescriptor = exports2.StreamDescriptor = exports2.PageDescriptor = exports2.LongrunningDescriptor = void 0;
var longRunningDescriptor_1 = require_longRunningDescriptor();
Object.defineProperty(exports2, "LongrunningDescriptor", { enumerable: true, get: function() {
return longRunningDescriptor_1.LongRunningDescriptor;
} });
var pageDescriptor_1 = require_pageDescriptor();
Object.defineProperty(exports2, "PageDescriptor", { enumerable: true, get: function() {
return pageDescriptor_1.PageDescriptor;
} });
var streamDescriptor_1 = require_streamDescriptor();
Object.defineProperty(exports2, "StreamDescriptor", { enumerable: true, get: function() {
return streamDescriptor_1.StreamDescriptor;
} });
var bundleDescriptor_1 = require_bundleDescriptor();
Object.defineProperty(exports2, "BundleDescriptor", { enumerable: true, get: function() {
return bundleDescriptor_1.BundleDescriptor;
} });
}
});
// node_modules/google-gax/build/src/iam_policy_service_client_config.json
var require_iam_policy_service_client_config = __commonJS({
"node_modules/google-gax/build/src/iam_policy_service_client_config.json"(exports2, module2) {
module2.exports = {
interfaces: {
"google.iam.v1.IAMPolicy": {
retry_codes: {
non_idempotent: [],
idempotent: [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
]
},
retry_params: {
default: {
initial_retry_delay_millis: 100,
retry_delay_multiplier: 1.3,
max_retry_delay_millis: 6e4,
initial_rpc_timeout_millis: 2e4,
rpc_timeout_multiplier: 1,
max_rpc_timeout_millis: 2e4,
total_timeout_millis: 6e5
}
},
methods: {
GetIamPolicy: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
SetIamPolicy: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
TestIamPermissions: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
}
}
}
}
};
}
});
// node_modules/google-gax/build/protos/iam_service.json
var require_iam_service2 = __commonJS({
"node_modules/google-gax/build/protos/iam_service.json"(exports2, module2) {
module2.exports = { nested: { google: { nested: { iam: { nested: { v1: { options: { cc_enable_arenas: true, csharp_namespace: "Google.Cloud.Iam.V1", go_package: "google.golang.org/genproto/googleapis/iam/v1;iam", java_multiple_files: true, java_outer_classname: "PolicyProto", java_package: "com.google.iam.v1", php_namespace: "Google\\Cloud\\Iam\\V1" }, nested: { IAMPolicy: { options: { "(google.api.default_host)": "iam-meta-api.googleapis.com" }, methods: { SetIamPolicy: { requestType: "SetIamPolicyRequest", responseType: "Policy", options: { "(google.api.http).post": "/v1/{resource=**}:setIamPolicy", "(google.api.http).body": "*" }, parsedOptions: [{ "(google.api.http)": { post: "/v1/{resource=**}:setIamPolicy", body: "*" } }] }, GetIamPolicy: { requestType: "GetIamPolicyRequest", responseType: "Policy", options: { "(google.api.http).post": "/v1/{resource=**}:getIamPolicy", "(google.api.http).body": "*" }, parsedOptions: [{ "(google.api.http)": { post: "/v1/{resource=**}:getIamPolicy", body: "*" } }] }, TestIamPermissions: { requestType: "TestIamPermissionsRequest", responseType: "TestIamPermissionsResponse", options: { "(google.api.http).post": "/v1/{resource=**}:testIamPermissions", "(google.api.http).body": "*" }, parsedOptions: [{ "(google.api.http)": { post: "/v1/{resource=**}:testIamPermissions", body: "*" } }] } } }, SetIamPolicyRequest: { fields: { resource: { type: "string", id: 1, options: { "(google.api.field_behavior)": "REQUIRED", "(google.api.resource_reference).type": "*" } }, policy: { type: "Policy", id: 2, options: { "(google.api.field_behavior)": "REQUIRED" } } } }, GetIamPolicyRequest: { fields: { resource: { type: "string", id: 1, options: { "(google.api.field_behavior)": "REQUIRED", "(google.api.resource_reference).type": "*" } }, options: { type: "GetPolicyOptions", id: 2 } } }, TestIamPermissionsRequest: { fields: { resource: { type: "string", id: 1, options: { "(google.api.field_behavior)": "REQUIRED", "(google.api.resource_reference).type": "*" } }, permissions: { rule: "repeated", type: "string", id: 2, options: { "(google.api.field_behavior)": "REQUIRED" } } } }, TestIamPermissionsResponse: { fields: { permissions: { rule: "repeated", type: "string", id: 1 } } }, GetPolicyOptions: { fields: { requestedPolicyVersion: { type: "int32", id: 1 } } }, Policy: { fields: { version: { type: "int32", id: 1 }, bindings: { rule: "repeated", type: "Binding", id: 4 }, etag: { type: "bytes", id: 3 } } }, Binding: { fields: { role: { type: "string", id: 1 }, members: { rule: "repeated", type: "string", id: 2 }, condition: { type: "google.type.Expr", id: 3 } } }, PolicyDelta: { fields: { bindingDeltas: { rule: "repeated", type: "BindingDelta", id: 1 }, auditConfigDeltas: { rule: "repeated", type: "AuditConfigDelta", id: 2 } } }, BindingDelta: { fields: { action: { type: "Action", id: 1 }, role: { type: "string", id: 2 }, member: { type: "string", id: 3 }, condition: { type: "google.type.Expr", id: 4 } }, nested: { Action: { values: { ACTION_UNSPECIFIED: 0, ADD: 1, REMOVE: 2 } } } }, AuditConfigDelta: { fields: { action: { type: "Action", id: 1 }, service: { type: "string", id: 2 }, exemptedMember: { type: "string", id: 3 }, logType: { type: "string", id: 4 } }, nested: { Action: { values: { ACTION_UNSPECIFIED: 0, ADD: 1, REMOVE: 2 } } } }, logging: { options: { csharp_namespace: "Google.Cloud.Iam.V1.Logging", go_package: "google.golang.org/genproto/googleapis/iam/v1/logging;logging", java_multiple_files: true, java_outer_classname: "AuditDataProto", java_package: "com.google.iam.v1.logging" }, nested: { AuditData: { fields: { policyDelta: { type: "google.iam.v1.PolicyDelta", id: 2 } } } } } } } } }, api: { options: { go_package: "google.golang.org/genproto/googleapis/api/annotations;annotations", java_multiple_files: true, java_outer_classname: "ResourceProto", java_package: "com.google.api", objc_class_prefix: "GAPI", cc_enable_arenas: true }, nested: { http: { type: "HttpRule", id: 72295728, extend: "google.protobuf.MethodOptions" }, Http: { fields: { rules: { rule: "repeated", type: "HttpRule", id: 1 }, fullyDecodeReservedExpansion: { type: "bool", id: 2 } } }, HttpRule: { oneofs: { pattern: { oneof: ["get", "put", "post", "delete", "patch", "custom"] } }, fields: { selector: { type: "string", id: 1 }, get: { type: "string", id: 2 }, put: { type: "string", id: 3 }, post: { type: "string", id: 4 }, delete: { type: "string", id: 5 }, patch: { type: "string", id: 6 }, custom: { type: "CustomHttpPattern", id: 8 }, body: { type: "string", id: 7 }, responseBody: { type: "string", id: 12 }, additionalBindings: { rule: "repeated", type: "HttpRule", id: 11 } } }, CustomHttpPattern: { fields: { kind: { type: "string", id: 1 }, path: { type: "string", id: 2 } } }, methodSignature: { rule: "repeated", type: "string", id: 1051, extend: "google.protobuf.MethodOptions" }, defaultHost: { type: "string", id: 1049, extend: "google.protobuf.ServiceOptions" }, oauthScopes: { type: "string", id: 1050, extend: "google.protobuf.ServiceOptions" }, fieldBehavior: { rule: "repeated", type: "google.api.FieldBehavior", id: 1052, extend: "google.protobuf.FieldOptions" }, FieldBehavior: { values: { FIELD_BEHAVIOR_UNSPECIFIED: 0, OPTIONAL: 1, REQUIRED: 2, OUTPUT_ONLY: 3, INPUT_ONLY: 4, IMMUTABLE: 5 } }, resourceReference: { type: "google.api.ResourceReference", id: 1055, extend: "google.protobuf.FieldOptions" }, resourceDefinition: { rule: "repeated", type: "google.api.ResourceDescriptor", id: 1053, extend: "google.protobuf.FileOptions" }, resource: { type: "google.api.ResourceDescriptor", id: 1053, extend: "google.protobuf.MessageOptions" }, ResourceDescriptor: { fields: { type: { type: "string", id: 1 }, pattern: { rule: "repeated", type: "string", id: 2 }, nameField: { type: "string", id: 3 }, history: { type: "History", id: 4 }, plural: { type: "string", id: 5 }, singular: { type: "string", id: 6 } }, nested: { History: { values: { HISTORY_UNSPECIFIED: 0, ORIGINALLY_SINGLE_PATTERN: 1, FUTURE_MULTI_PATTERN: 2 } } } }, ResourceReference: { fields: { type: { type: "string", id: 1 }, childType: { type: "string", id: 2 } } } } }, protobuf: { options: { go_package: "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor", java_package: "com.google.protobuf", java_outer_classname: "DescriptorProtos", csharp_namespace: "Google.Protobuf.Reflection", objc_class_prefix: "GPB", cc_enable_arenas: true, optimize_for: "SPEED" }, nested: { FileDescriptorSet: { fields: { file: { rule: "repeated", type: "FileDescriptorProto", id: 1 } } }, FileDescriptorProto: { fields: { name: { type: "string", id: 1 }, package: { type: "string", id: 2 }, dependency: { rule: "repeated", type: "string", id: 3 }, publicDependency: { rule: "repeated", type: "int32", id: 10, options: { packed: false } }, weakDependency: { rule: "repeated", type: "int32", id: 11, options: { packed: false } }, messageType: { rule: "repeated", type: "DescriptorProto", id: 4 }, enumType: { rule: "repeated", type: "EnumDescriptorProto", id: 5 }, service: { rule: "repeated", type: "ServiceDescriptorProto", id: 6 }, extension: { rule: "repeated", type: "FieldDescriptorProto", id: 7 }, options: { type: "FileOptions", id: 8 }, sourceCodeInfo: { type: "SourceCodeInfo", id: 9 }, syntax: { type: "string", id: 12 } } }, DescriptorProto: { fields: { name: { type: "string", id: 1 }, field: { rule: "repeated", type: "FieldDescriptorProto", id: 2 }, extension: { rule: "repeated", type: "FieldDescriptorProto", id: 6 }, nestedType: { rule: "repeated", type: "DescriptorProto", id: 3 }, enumType: { rule: "repeated", type: "EnumDescriptorProto", id: 4 }, extensionRange: { rule: "repeated", type: "ExtensionRange", id: 5 }, oneofDecl: { rule: "repeated", type: "OneofDescriptorProto", id: 8 }, options: { type: "MessageOptions", id: 7 }, reservedRange: { rule: "repeated", type: "ReservedRange", id: 9 }, reservedName: { rule: "repeated", type: "string", id: 10 } }, nested: { ExtensionRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 }, options: { type: "ExtensionRangeOptions", id: 3 } } }, ReservedRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 } } } } }, ExtensionRangeOptions: { fields: { uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, FieldDescriptorProto: { fields: { name: { type: "string", id: 1 }, number: { type: "int32", id: 3 }, label: { type: "Label", id: 4 }, type: { type: "Type", id: 5 }, typeName: { type: "string", id: 6 }, extendee: { type: "string", id: 2 }, defaultValue: { type: "string", id: 7 }, oneofIndex: { type: "int32", id: 9 }, jsonName: { type: "string", id: 10 }, options: { type: "FieldOptions", id: 8 }, proto3Optional: { type: "bool", id: 17 } }, nested: { Type: { values: { TYPE_DOUBLE: 1, TYPE_FLOAT: 2, TYPE_INT64: 3, TYPE_UINT64: 4, TYPE_INT32: 5, TYPE_FIXED64: 6, TYPE_FIXED32: 7, TYPE_BOOL: 8, TYPE_STRING: 9, TYPE_GROUP: 10, TYPE_MESSAGE: 11, TYPE_BYTES: 12, TYPE_UINT32: 13, TYPE_ENUM: 14, TYPE_SFIXED32: 15, TYPE_SFIXED64: 16, TYPE_SINT32: 17, TYPE_SINT64: 18 } }, Label: { values: { LABEL_OPTIONAL: 1, LABEL_REQUIRED: 2, LABEL_REPEATED: 3 } } } }, OneofDescriptorProto: { fields: { name: { type: "string", id: 1 }, options: { type: "OneofOptions", id: 2 } } }, EnumDescriptorProto: { fields: { name: { type: "string", id: 1 }, value: { rule: "repeated", type: "EnumValueDescriptorProto", id: 2 }, options: { type: "EnumOptions", id: 3 }, reservedRange: { rule: "repeated", type: "EnumReservedRange", id: 4 }, reservedName: { rule: "repeated", type: "string", id: 5 } }, nested: { EnumReservedRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 } } } } }, EnumValueDescriptorProto: { fields: { name: { type: "string", id: 1 }, number: { type: "int32", id: 2 }, options: { type: "EnumValueOptions", id: 3 } } }, ServiceDescriptorProto: { fields: { name: { type: "string", id: 1 }, method: { rule: "repeated", type: "MethodDescriptorProto", id: 2 }, options: { type: "ServiceOptions", id: 3 } } }, MethodDescriptorProto: { fields: { name: { type: "string", id: 1 }, inputType: { type: "string", id: 2 }, outputType: { type: "string", id: 3 }, options: { type: "MethodOptions", id: 4 }, clientStreaming: { type: "bool", id: 5, options: { default: false } }, serverStreaming: { type: "bool", id: 6, options: { default: false } } } }, FileOptions: { fields: { javaPackage: { type: "string", id: 1 }, javaOuterClassname: { type: "string", id: 8 }, javaMultipleFiles: { type: "bool", id: 10, options: { default: false } }, javaGenerateEqualsAndHash: { type: "bool", id: 20, options: { deprecated: true } }, javaStringCheckUtf8: { type: "bool", id: 27, options: { default: false } }, optimizeFor: { type: "OptimizeMode", id: 9, options: { default: "SPEED" } }, goPackage: { type: "string", id: 11 }, ccGenericServices: { type: "bool", id: 16, options: { default: false } }, javaGenericServices: { type: "bool", id: 17, options: { default: false } }, pyGenericServices: { type: "bool", id: 18, options: { default: false } }, phpGenericServices: { type: "bool", id: 42, options: { default: false } }, deprecated: { type: "bool", id: 23, options: { default: false } }, ccEnableArenas: { type: "bool", id: 31, options: { default: true } }, objcClassPrefix: { type: "string", id: 36 }, csharpNamespace: { type: "string", id: 37 }, swiftPrefix: { type: "string", id: 39 }, phpClassPrefix: { type: "string", id: 40 }, phpNamespace: { type: "string", id: 41 }, phpMetadataNamespace: { type: "string", id: 44 }, rubyPackage: { type: "string", id: 45 }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[38, 38]], nested: { OptimizeMode: { values: { SPEED: 1, CODE_SIZE: 2, LITE_RUNTIME: 3 } } } }, MessageOptions: { fields: { messageSetWireFormat: { type: "bool", id: 1, options: { default: false } }, noStandardDescriptorAccessor: { type: "bool", id: 2, options: { default: false } }, deprecated: { type: "bool", id: 3, options: { default: false } }, mapEntry: { type: "bool", id: 7 }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[8, 8], [9, 9]] }, FieldOptions: { fields: { ctype: { type: "CType", id: 1, options: { default: "STRING" } }, packed: { type: "bool", id: 2 }, jstype: { type: "JSType", id: 6, options: { default: "JS_NORMAL" } }, lazy: { type: "bool", id: 5, options: { default: false } }, deprecated: { type: "bool", id: 3, options: { default: false } }, weak: { type: "bool", id: 10, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[4, 4]], nested: { CType: { values: { STRING: 0, CORD: 1, STRING_PIECE: 2 } }, JSType: { values: { JS_NORMAL: 0, JS_STRING: 1, JS_NUMBER: 2 } } } }, OneofOptions: { fields: { uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, EnumOptions: { fields: { allowAlias: { type: "bool", id: 2 }, deprecated: { type: "bool", id: 3, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[5, 5]] }, EnumValueOptions: { fields: { deprecated: { type: "bool", id: 1, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, ServiceOptions: { fields: { deprecated: { type: "bool", id: 33, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, MethodOptions: { fields: { deprecated: { type: "bool", id: 33, options: { default: false } }, idempotencyLevel: { type: "IdempotencyLevel", id: 34, options: { default: "IDEMPOTENCY_UNKNOWN" } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], nested: { IdempotencyLevel: { values: { IDEMPOTENCY_UNKNOWN: 0, NO_SIDE_EFFECTS: 1, IDEMPOTENT: 2 } } } }, UninterpretedOption: { fields: { name: { rule: "repeated", type: "NamePart", id: 2 }, identifierValue: { type: "string", id: 3 }, positiveIntValue: { type: "uint64", id: 4 }, negativeIntValue: { type: "int64", id: 5 }, doubleValue: { type: "double", id: 6 }, stringValue: { type: "bytes", id: 7 }, aggregateValue: { type: "string", id: 8 } }, nested: { NamePart: { fields: { namePart: { rule: "required", type: "string", id: 1 }, isExtension: { rule: "required", type: "bool", id: 2 } } } } }, SourceCodeInfo: { fields: { location: { rule: "repeated", type: "Location", id: 1 } }, nested: { Location: { fields: { path: { rule: "repeated", type: "int32", id: 1 }, span: { rule: "repeated", type: "int32", id: 2 }, leadingComments: { type: "string", id: 3 }, trailingComments: { type: "string", id: 4 }, leadingDetachedComments: { rule: "repeated", type: "string", id: 6 } } } } }, GeneratedCodeInfo: { fields: { annotation: { rule: "repeated", type: "Annotation", id: 1 } }, nested: { Annotation: { fields: { path: { rule: "repeated", type: "int32", id: 1 }, sourceFile: { type: "string", id: 2 }, begin: { type: "int32", id: 3 }, end: { type: "int32", id: 4 } } } } } } }, type: { options: { go_package: "google.golang.org/genproto/googleapis/type/expr;expr", java_multiple_files: true, java_outer_classname: "ExprProto", java_package: "com.google.type", objc_class_prefix: "GTP" }, nested: { Expr: { fields: { expression: { type: "string", id: 1 }, title: { type: "string", id: 2 }, description: { type: "string", id: 3 }, location: { type: "string", id: 4 } } } } } } } } };
}
});
// node_modules/google-gax/build/src/iamService.js
var require_iamService = __commonJS({
"node_modules/google-gax/build/src/iamService.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.IamClient = void 0;
var createApiCall_1 = require_createApiCall();
var routingHeader = require_routingHeader();
var gapicConfig = require_iam_policy_service_client_config();
var fallback = require_fallback();
var version4 = require_package7().version;
var jsonProtos = require_iam_service2();
var IamClient = class {
constructor(gaxGrpc, options) {
this._terminated = false;
this.descriptors = { page: {}, stream: {}, longrunning: {} };
this.innerApiCalls = {};
this.gaxGrpc = gaxGrpc;
const opts = Object.assign({
servicePath: options.servicePath,
port: options.port,
clientConfig: options.clientConfig,
apiEndpoint: options.apiEndpoint,
fallback: options.fallback
}, options);
version4 = opts.fallback ? fallback.version : version4;
opts.scopes = this.constructor.scopes;
this._opts = opts;
this.auth = gaxGrpc.auth;
const clientHeader = [`gax/${version4}`, `gapic/${version4}`];
if (typeof process !== "undefined" && "versions" in process) {
clientHeader.push(`gl-node/${process.versions.node}`);
} else {
clientHeader.push(`gl-web/${version4}`);
}
if (!opts.fallback) {
clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`);
}
if (opts.libName && opts.libVersion) {
clientHeader.push(`${opts.libName}/${opts.libVersion}`);
}
this._protos = this.gaxGrpc.loadProtoJSON(jsonProtos);
this._defaults = gaxGrpc.constructSettings("google.iam.v1.IAMPolicy", gapicConfig, opts.clientConfig || {}, { "x-goog-api-client": clientHeader.join(" ") });
this.innerApiCalls = {};
}
/**
* Initialize the client.
* Performs asynchronous operations (such as authentication) and prepares the client.
* This function will be called automatically when any class method is called for the
* first time, but if you need to initialize it before calling an actual method,
* feel free to call initialize() directly.
*
* You can await on this method if you want to make sure the client is initialized.
*
* @returns {Promise} A promise that resolves to an authenticated service stub.
*/
initialize() {
if (this.iamPolicyStub) {
return this.iamPolicyStub;
}
this.iamPolicyStub = this.gaxGrpc.createStub(this._opts.fallback ? this._protos.lookupService("google.iam.v1.IAMPolicy") : this._protos.google.iam.v1.IAMPolicy, this._opts);
const iamPolicyStubMethods = [
"getIamPolicy",
"setIamPolicy",
"testIamPermissions"
];
for (const methodName of iamPolicyStubMethods) {
const innerCallPromise = this.iamPolicyStub.then((stub) => (...args2) => {
if (this._terminated) {
return Promise.reject("The client has already been closed.");
}
const func2 = stub[methodName];
return func2.apply(stub, args2);
}, (err2) => () => {
throw err2;
});
this.innerApiCalls[methodName] = (0, createApiCall_1.createApiCall)(innerCallPromise, this._defaults[methodName], this.descriptors.page[methodName]);
}
return this.iamPolicyStub;
}
/**
* The DNS address for this API service.
*/
static get servicePath() {
return "cloudkms.googleapis.com";
}
/**
* The DNS address for this API service - same as servicePath(),
* exists for compatibility reasons.
*/
static get apiEndpoint() {
return "cloudkms.googleapis.com";
}
/**
* The port for this API service.
*/
static get port() {
return 443;
}
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
*/
static get scopes() {
return [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloudkms"
];
}
getProjectId(callback) {
if (this.auth && "getProjectId" in this.auth) {
return this.auth.getProjectId(callback);
}
if (callback) {
callback(new Error("Cannot determine project ID."));
} else {
return Promise.reject("Cannot determine project ID.");
}
}
getIamPolicy(request, optionsOrCallback, callback) {
let options;
if (optionsOrCallback instanceof Function && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = routingHeader.fromParams({
resource: request.resource
});
this.initialize();
return this.innerApiCalls.getIamPolicy(request, options, callback);
}
setIamPolicy(request, optionsOrCallback, callback) {
let options;
if (optionsOrCallback instanceof Function && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = routingHeader.fromParams({
resource: request.resource
});
this.initialize();
return this.innerApiCalls.setIamPolicy(request, options, callback);
}
testIamPermissions(request, optionsOrCallback, callback) {
let options;
if (optionsOrCallback instanceof Function && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = routingHeader.fromParams({
resource: request.resource
});
this.initialize();
return this.innerApiCalls.testIamPermissions(request, options, callback);
}
/**
* Terminate the GRPC channel and close the client.
*
* The client will no longer be usable and all future behavior is undefined.
*/
close() {
this.initialize();
if (!this._terminated) {
return this.iamPolicyStub.then((stub) => {
this._terminated = true;
stub.close();
});
}
return Promise.resolve();
}
};
exports2.IamClient = IamClient;
}
});
// node_modules/google-gax/build/protos/locations.json
var require_locations2 = __commonJS({
"node_modules/google-gax/build/protos/locations.json"(exports2, module2) {
module2.exports = { nested: { google: { nested: { cloud: { nested: { location: { options: { cc_enable_arenas: true, go_package: "google.golang.org/genproto/googleapis/cloud/location;location", java_multiple_files: true, java_outer_classname: "LocationsProto", java_package: "com.google.cloud.location" }, nested: { Locations: { options: { "(google.api.default_host)": "cloud.googleapis.com", "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" }, methods: { ListLocations: { requestType: "ListLocationsRequest", responseType: "ListLocationsResponse", options: { "(google.api.http).get": "/v1/{name=locations}", "(google.api.http).additional_bindings.get": "/v1/{name=projects/*}/locations" }, parsedOptions: [{ "(google.api.http)": { get: "/v1/{name=locations}", additional_bindings: { get: "/v1/{name=projects/*}/locations" } } }] }, GetLocation: { requestType: "GetLocationRequest", responseType: "Location", options: { "(google.api.http).get": "/v1/{name=locations/*}", "(google.api.http).additional_bindings.get": "/v1/{name=projects/*/locations/*}" }, parsedOptions: [{ "(google.api.http)": { get: "/v1/{name=locations/*}", additional_bindings: { get: "/v1/{name=projects/*/locations/*}" } } }] } } }, ListLocationsRequest: { fields: { name: { type: "string", id: 1 }, filter: { type: "string", id: 2 }, pageSize: { type: "int32", id: 3 }, pageToken: { type: "string", id: 4 } } }, ListLocationsResponse: { fields: { locations: { rule: "repeated", type: "Location", id: 1 }, nextPageToken: { type: "string", id: 2 } } }, GetLocationRequest: { fields: { name: { type: "string", id: 1 } } }, Location: { fields: { name: { type: "string", id: 1 }, locationId: { type: "string", id: 4 }, displayName: { type: "string", id: 5 }, labels: { keyType: "string", type: "string", id: 2 }, metadata: { type: "google.protobuf.Any", id: 3 } } } } } } }, api: { options: { go_package: "google.golang.org/genproto/googleapis/api/annotations;annotations", java_multiple_files: true, java_outer_classname: "ClientProto", java_package: "com.google.api", objc_class_prefix: "GAPI", cc_enable_arenas: true }, nested: { http: { type: "HttpRule", id: 72295728, extend: "google.protobuf.MethodOptions" }, Http: { fields: { rules: { rule: "repeated", type: "HttpRule", id: 1 }, fullyDecodeReservedExpansion: { type: "bool", id: 2 } } }, HttpRule: { oneofs: { pattern: { oneof: ["get", "put", "post", "delete", "patch", "custom"] } }, fields: { selector: { type: "string", id: 1 }, get: { type: "string", id: 2 }, put: { type: "string", id: 3 }, post: { type: "string", id: 4 }, delete: { type: "string", id: 5 }, patch: { type: "string", id: 6 }, custom: { type: "CustomHttpPattern", id: 8 }, body: { type: "string", id: 7 }, responseBody: { type: "string", id: 12 }, additionalBindings: { rule: "repeated", type: "HttpRule", id: 11 } } }, CustomHttpPattern: { fields: { kind: { type: "string", id: 1 }, path: { type: "string", id: 2 } } }, methodSignature: { rule: "repeated", type: "string", id: 1051, extend: "google.protobuf.MethodOptions" }, defaultHost: { type: "string", id: 1049, extend: "google.protobuf.ServiceOptions" }, oauthScopes: { type: "string", id: 1050, extend: "google.protobuf.ServiceOptions" } } }, protobuf: { options: { go_package: "google.golang.org/protobuf/types/descriptorpb", java_package: "com.google.protobuf", java_outer_classname: "DescriptorProtos", csharp_namespace: "Google.Protobuf.Reflection", objc_class_prefix: "GPB", cc_enable_arenas: true, optimize_for: "SPEED" }, nested: { FileDescriptorSet: { fields: { file: { rule: "repeated", type: "FileDescriptorProto", id: 1 } } }, FileDescriptorProto: { fields: { name: { type: "string", id: 1 }, package: { type: "string", id: 2 }, dependency: { rule: "repeated", type: "string", id: 3 }, publicDependency: { rule: "repeated", type: "int32", id: 10, options: { packed: false } }, weakDependency: { rule: "repeated", type: "int32", id: 11, options: { packed: false } }, messageType: { rule: "repeated", type: "DescriptorProto", id: 4 }, enumType: { rule: "repeated", type: "EnumDescriptorProto", id: 5 }, service: { rule: "repeated", type: "ServiceDescriptorProto", id: 6 }, extension: { rule: "repeated", type: "FieldDescriptorProto", id: 7 }, options: { type: "FileOptions", id: 8 }, sourceCodeInfo: { type: "SourceCodeInfo", id: 9 }, syntax: { type: "string", id: 12 } } }, DescriptorProto: { fields: { name: { type: "string", id: 1 }, field: { rule: "repeated", type: "FieldDescriptorProto", id: 2 }, extension: { rule: "repeated", type: "FieldDescriptorProto", id: 6 }, nestedType: { rule: "repeated", type: "DescriptorProto", id: 3 }, enumType: { rule: "repeated", type: "EnumDescriptorProto", id: 4 }, extensionRange: { rule: "repeated", type: "ExtensionRange", id: 5 }, oneofDecl: { rule: "repeated", type: "OneofDescriptorProto", id: 8 }, options: { type: "MessageOptions", id: 7 }, reservedRange: { rule: "repeated", type: "ReservedRange", id: 9 }, reservedName: { rule: "repeated", type: "string", id: 10 } }, nested: { ExtensionRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 }, options: { type: "ExtensionRangeOptions", id: 3 } } }, ReservedRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 } } } } }, ExtensionRangeOptions: { fields: { uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, FieldDescriptorProto: { fields: { name: { type: "string", id: 1 }, number: { type: "int32", id: 3 }, label: { type: "Label", id: 4 }, type: { type: "Type", id: 5 }, typeName: { type: "string", id: 6 }, extendee: { type: "string", id: 2 }, defaultValue: { type: "string", id: 7 }, oneofIndex: { type: "int32", id: 9 }, jsonName: { type: "string", id: 10 }, options: { type: "FieldOptions", id: 8 }, proto3Optional: { type: "bool", id: 17 } }, nested: { Type: { values: { TYPE_DOUBLE: 1, TYPE_FLOAT: 2, TYPE_INT64: 3, TYPE_UINT64: 4, TYPE_INT32: 5, TYPE_FIXED64: 6, TYPE_FIXED32: 7, TYPE_BOOL: 8, TYPE_STRING: 9, TYPE_GROUP: 10, TYPE_MESSAGE: 11, TYPE_BYTES: 12, TYPE_UINT32: 13, TYPE_ENUM: 14, TYPE_SFIXED32: 15, TYPE_SFIXED64: 16, TYPE_SINT32: 17, TYPE_SINT64: 18 } }, Label: { values: { LABEL_OPTIONAL: 1, LABEL_REQUIRED: 2, LABEL_REPEATED: 3 } } } }, OneofDescriptorProto: { fields: { name: { type: "string", id: 1 }, options: { type: "OneofOptions", id: 2 } } }, EnumDescriptorProto: { fields: { name: { type: "string", id: 1 }, value: { rule: "repeated", type: "EnumValueDescriptorProto", id: 2 }, options: { type: "EnumOptions", id: 3 }, reservedRange: { rule: "repeated", type: "EnumReservedRange", id: 4 }, reservedName: { rule: "repeated", type: "string", id: 5 } }, nested: { EnumReservedRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 } } } } }, EnumValueDescriptorProto: { fields: { name: { type: "string", id: 1 }, number: { type: "int32", id: 2 }, options: { type: "EnumValueOptions", id: 3 } } }, ServiceDescriptorProto: { fields: { name: { type: "string", id: 1 }, method: { rule: "repeated", type: "MethodDescriptorProto", id: 2 }, options: { type: "ServiceOptions", id: 3 } } }, MethodDescriptorProto: { fields: { name: { type: "string", id: 1 }, inputType: { type: "string", id: 2 }, outputType: { type: "string", id: 3 }, options: { type: "MethodOptions", id: 4 }, clientStreaming: { type: "bool", id: 5, options: { default: false } }, serverStreaming: { type: "bool", id: 6, options: { default: false } } } }, FileOptions: { fields: { javaPackage: { type: "string", id: 1 }, javaOuterClassname: { type: "string", id: 8 }, javaMultipleFiles: { type: "bool", id: 10, options: { default: false } }, javaGenerateEqualsAndHash: { type: "bool", id: 20, options: { deprecated: true } }, javaStringCheckUtf8: { type: "bool", id: 27, options: { default: false } }, optimizeFor: { type: "OptimizeMode", id: 9, options: { default: "SPEED" } }, goPackage: { type: "string", id: 11 }, ccGenericServices: { type: "bool", id: 16, options: { default: false } }, javaGenericServices: { type: "bool", id: 17, options: { default: false } }, pyGenericServices: { type: "bool", id: 18, options: { default: false } }, phpGenericServices: { type: "bool", id: 42, options: { default: false } }, deprecated: { type: "bool", id: 23, options: { default: false } }, ccEnableArenas: { type: "bool", id: 31, options: { default: true } }, objcClassPrefix: { type: "string", id: 36 }, csharpNamespace: { type: "string", id: 37 }, swiftPrefix: { type: "string", id: 39 }, phpClassPrefix: { type: "string", id: 40 }, phpNamespace: { type: "string", id: 41 }, phpMetadataNamespace: { type: "string", id: 44 }, rubyPackage: { type: "string", id: 45 }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[38, 38]], nested: { OptimizeMode: { values: { SPEED: 1, CODE_SIZE: 2, LITE_RUNTIME: 3 } } } }, MessageOptions: { fields: { messageSetWireFormat: { type: "bool", id: 1, options: { default: false } }, noStandardDescriptorAccessor: { type: "bool", id: 2, options: { default: false } }, deprecated: { type: "bool", id: 3, options: { default: false } }, mapEntry: { type: "bool", id: 7 }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[8, 8], [9, 9]] }, FieldOptions: { fields: { ctype: { type: "CType", id: 1, options: { default: "STRING" } }, packed: { type: "bool", id: 2 }, jstype: { type: "JSType", id: 6, options: { default: "JS_NORMAL" } }, lazy: { type: "bool", id: 5, options: { default: false } }, deprecated: { type: "bool", id: 3, options: { default: false } }, weak: { type: "bool", id: 10, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[4, 4]], nested: { CType: { values: { STRING: 0, CORD: 1, STRING_PIECE: 2 } }, JSType: { values: { JS_NORMAL: 0, JS_STRING: 1, JS_NUMBER: 2 } } } }, OneofOptions: { fields: { uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, EnumOptions: { fields: { allowAlias: { type: "bool", id: 2 }, deprecated: { type: "bool", id: 3, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[5, 5]] }, EnumValueOptions: { fields: { deprecated: { type: "bool", id: 1, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, ServiceOptions: { fields: { deprecated: { type: "bool", id: 33, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, MethodOptions: { fields: { deprecated: { type: "bool", id: 33, options: { default: false } }, idempotencyLevel: { type: "IdempotencyLevel", id: 34, options: { default: "IDEMPOTENCY_UNKNOWN" } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], nested: { IdempotencyLevel: { values: { IDEMPOTENCY_UNKNOWN: 0, NO_SIDE_EFFECTS: 1, IDEMPOTENT: 2 } } } }, UninterpretedOption: { fields: { name: { rule: "repeated", type: "NamePart", id: 2 }, identifierValue: { type: "string", id: 3 }, positiveIntValue: { type: "uint64", id: 4 }, negativeIntValue: { type: "int64", id: 5 }, doubleValue: { type: "double", id: 6 }, stringValue: { type: "bytes", id: 7 }, aggregateValue: { type: "string", id: 8 } }, nested: { NamePart: { fields: { namePart: { rule: "required", type: "string", id: 1 }, isExtension: { rule: "required", type: "bool", id: 2 } } } } }, SourceCodeInfo: { fields: { location: { rule: "repeated", type: "Location", id: 1 } }, nested: { Location: { fields: { path: { rule: "repeated", type: "int32", id: 1 }, span: { rule: "repeated", type: "int32", id: 2 }, leadingComments: { type: "string", id: 3 }, trailingComments: { type: "string", id: 4 }, leadingDetachedComments: { rule: "repeated", type: "string", id: 6 } } } } }, GeneratedCodeInfo: { fields: { annotation: { rule: "repeated", type: "Annotation", id: 1 } }, nested: { Annotation: { fields: { path: { rule: "repeated", type: "int32", id: 1 }, sourceFile: { type: "string", id: 2 }, begin: { type: "int32", id: 3 }, end: { type: "int32", id: 4 } } } } }, Any: { fields: { type_url: { type: "string", id: 1 }, value: { type: "bytes", id: 2 } } } } } } } } };
}
});
// node_modules/google-gax/build/src/locations_client_config.json
var require_locations_client_config = __commonJS({
"node_modules/google-gax/build/src/locations_client_config.json"(exports2, module2) {
module2.exports = {
interfaces: {
"google.cloud.location.Locations": {
retry_codes: {
non_idempotent: [],
idempotent: [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
]
},
retry_params: {
default: {
initial_retry_delay_millis: 100,
retry_delay_multiplier: 1.3,
max_retry_delay_millis: 6e4,
initial_rpc_timeout_millis: 6e4,
rpc_timeout_multiplier: 1,
max_rpc_timeout_millis: 6e4,
total_timeout_millis: 6e5
}
},
methods: {
ListLocations: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
GetLocation: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
}
}
}
}
};
}
});
// node_modules/google-gax/build/src/locationService.js
var require_locationService = __commonJS({
"node_modules/google-gax/build/src/locationService.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LocationsClient = void 0;
var gax = require_gax();
var warnings_1 = require_warnings();
var createApiCall_1 = require_createApiCall();
var routingHeader = require_routingHeader();
var pageDescriptor_1 = require_pageDescriptor();
var jsonProtos = require_locations2();
var gapicConfig = require_locations_client_config();
var version4 = require_package7().version;
var LocationsClient = class {
/**
* Construct an instance of LocationsClient.
*
* @param {object} [options] - The configuration object.
* The options accepted by the constructor are described in detail
* in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
* The common options are:
* @param {object} [options.credentials] - Credentials object.
* @param {string} [options.credentials.client_email]
* @param {string} [options.credentials.private_key]
* @param {string} [options.email] - Account email address. Required when
* using a .pem or .p12 keyFilename.
* @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
* .p12 key downloaded from the Google Developers Console. If you provide
* a path to a JSON file, the projectId option below is not necessary.
* NOTE: .pem and .p12 require you to specify options.email as well.
* @param {number} [options.port] - The port on which to connect to
* the remote host.
* @param {string} [options.projectId] - The project ID from the Google
* Developer's Console, e.g. 'grape-spaceship-123'. We will also check
* the environment variable GCLOUD_PROJECT for your project ID. If your
* app is running in an environment which supports
* {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials},
* your project ID will be detected automatically.
* @param {string} [options.apiEndpoint] - The domain name of the
* API remote host.
* @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
* Follows the structure of {@link gapicConfig}.
* @param {boolean} [options.fallback] - Use HTTP fallback mode.
* In fallback mode, a special browser-compatible transport implementation is used
* instead of gRPC transport. In browser context (if the `window` object is defined)
* the fallback mode is enabled automatically; set `options.fallback` to `false`
* if you need to override this behavior.
*/
constructor(gaxGrpc, opts) {
var _a4, _b;
this._terminated = false;
this.descriptors = {
page: {},
stream: {},
longrunning: {},
batching: {}
};
this.gaxGrpc = gaxGrpc;
const staticMembers = this.constructor;
const servicePath = (opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint) || staticMembers.servicePath;
this._providedCustomServicePath = !!((opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint));
const port = (opts === null || opts === void 0 ? void 0 : opts.port) || staticMembers.port;
const clientConfig = (_a4 = opts === null || opts === void 0 ? void 0 : opts.clientConfig) !== null && _a4 !== void 0 ? _a4 : {};
const fallback = (_b = opts === null || opts === void 0 ? void 0 : opts.fallback) !== null && _b !== void 0 ? _b : typeof window !== "undefined" && typeof (window === null || window === void 0 ? void 0 : window.fetch) === "function";
opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
if (servicePath !== staticMembers.servicePath && !("scopes" in opts)) {
opts["scopes"] = staticMembers.scopes;
}
this._opts = opts;
this.auth = gaxGrpc.auth;
if (servicePath === staticMembers.servicePath) {
this.auth.defaultScopes = staticMembers.scopes;
}
const clientHeader = [`gax/${version4}`, `gapic/${version4}`];
if (typeof process !== "undefined" && "versions" in process) {
clientHeader.push(`gl-node/${process.versions.node}`);
} else {
clientHeader.push(`gl-web/${version4}`);
}
if (!opts.fallback) {
clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`);
} else if (opts.fallback === "rest") {
clientHeader.push(`rest/${gaxGrpc.grpcVersion}`);
}
if (opts.libName && opts.libVersion) {
clientHeader.push(`${opts.libName}/${opts.libVersion}`);
}
this._protos = gaxGrpc.loadProtoJSON(jsonProtos);
this.descriptors.page = {
listLocations: new pageDescriptor_1.PageDescriptor("pageToken", "nextPageToken", "locations")
};
this._defaults = gaxGrpc.constructSettings("google.cloud.location.Locations", gapicConfig, opts.clientConfig || {}, { "x-goog-api-client": clientHeader.join(" ") });
this.innerApiCalls = {};
this.warn = warnings_1.warn;
}
/**
* Initialize the client.
* Performs asynchronous operations (such as authentication) and prepares the client.
* This function will be called automatically when any class method is called for the
* first time, but if you need to initialize it before calling an actual method,
* feel free to call initialize() directly.
*
* You can await on this method if you want to make sure the client is initialized.
*
* @returns {Promise} A promise that resolves to an authenticated service stub.
*/
initialize() {
if (this.locationsStub) {
return this.locationsStub;
}
this.locationsStub = this.gaxGrpc.createStub(this._opts.fallback ? this._protos.lookupService("google.cloud.location.Locations") : (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this._protos.google.cloud.location.Locations
), this._opts, this._providedCustomServicePath);
const locationsStubMethods = ["listLocations", "getLocation"];
for (const methodName of locationsStubMethods) {
const callPromise = this.locationsStub.then((stub) => (...args2) => {
if (this._terminated) {
return Promise.reject("The client has already been closed.");
}
const func2 = stub[methodName];
return func2.apply(stub, args2);
}, (err2) => () => {
throw err2;
});
const descriptor2 = this.descriptors.page[methodName] || void 0;
const apiCall = (0, createApiCall_1.createApiCall)(callPromise, this._defaults[methodName], descriptor2);
this.innerApiCalls[methodName] = apiCall;
}
return this.locationsStub;
}
/**
* The DNS address for this API service.
* @returns {string} The DNS address for this service.
*/
static get servicePath() {
return "cloud.googleapis.com";
}
/**
* The DNS address for this API service - same as servicePath(),
* exists for compatibility reasons.
* @returns {string} The DNS address for this service.
*/
static get apiEndpoint() {
return "cloud.googleapis.com";
}
/**
* The port for this API service.
* @returns {number} The default port for this service.
*/
static get port() {
return 443;
}
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
* @returns {string[]} List of default scopes.
*/
static get scopes() {
return ["https://www.googleapis.com/auth/cloud-platform"];
}
getProjectId(callback) {
if (callback) {
this.auth.getProjectId(callback);
return;
}
return this.auth.getProjectId();
}
/**
* Gets information about a location.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Resource name for the location.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing [Location]{@link google.cloud.location.Location}.
* Please see the
* [documentation](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#regular-methods)
* for more details and examples.
* @example
* const [response] = await client.getLocation(request);
*/
getLocation(request, optionsOrCallback, callback) {
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = routingHeader.fromParams({
name: request.name || ""
});
this.initialize();
return this.innerApiCalls.getLocation(request, options, callback);
}
/**
* Lists information about the supported locations for this service.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* The resource that owns the locations collection, if applicable.
* @param {string} request.filter
* The standard list filter.
* @param {number} request.pageSize
* The standard list page size.
* @param {string} request.pageToken
* The standard list page token.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Promise} - The promise which resolves to an array.
* The first element of the array is Array of [Location]{@link google.cloud.location.Location}.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed and will merge results from all the pages into this array.
* Note that it can affect your quota.
* We recommend using `listLocationsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the
* [documentation](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#auto-pagination)
* for more details and examples.
*/
listLocations(request, optionsOrCallback, callback) {
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = routingHeader.fromParams({
name: request.name || ""
});
this.initialize();
return this.innerApiCalls.listLocations(request, options, callback);
}
/**
* Equivalent to `listLocations`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* The resource that owns the locations collection, if applicable.
* @param {string} request.filter
* The standard list filter.
* @param {number} request.pageSize
* The standard list page size.
* @param {string} request.pageToken
* The standard list page token.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
* When you iterate the returned iterable, each element will be an object representing
* [Location]{@link google.cloud.location.Location}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the
* [documentation](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#auto-pagination)
* for more details and examples.
* @example
* const iterable = client.listLocationsAsync(request);
* for await (const response of iterable) {
* // process response
* }
*/
listLocationsAsync(request, options) {
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = routingHeader.fromParams({
name: request.name || ""
});
options = options || {};
const callSettings = new gax.CallSettings(options);
this.initialize();
return this.descriptors.page.listLocations.asyncIterate(this.innerApiCalls["listLocations"], request, callSettings);
}
/**
* Terminate the gRPC channel and close the client.
*
* The client will no longer be usable and all future behavior is undefined.
* @returns {Promise} A promise that resolves when the client is closed.
*/
close() {
this.initialize();
if (!this._terminated) {
return this.locationsStub.then((stub) => {
this._terminated = true;
stub.close();
});
}
return Promise.resolve();
}
};
exports2.LocationsClient = LocationsClient;
}
});
// node_modules/google-gax/build/src/fallback.js
var require_fallback = __commonJS({
"node_modules/google-gax/build/src/fallback.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.fallback = exports2.GoogleError = exports2.operation = exports2.Operation = exports2.warn = exports2.protobufMinimal = exports2.protobuf = exports2.LocationProtos = exports2.IamProtos = exports2.operationsProtos = exports2.GrpcClient = exports2.defaultToObjectOptions = exports2.makeUUID = exports2.LocationsClient = exports2.IamClient = exports2.OperationsClient = exports2.StreamType = exports2.StreamDescriptor = exports2.PageDescriptor = exports2.LongrunningDescriptor = exports2.BundleDescriptor = exports2.version = exports2.createDefaultBackoffSettings = exports2.RetryOptions = exports2.constructSettings = exports2.CallSettings = exports2.routingHeader = exports2.PathTemplate = void 0;
exports2.lro = lro;
exports2.createApiCall = createApiCall;
var objectHash = require_object_hash();
var protobuf = require_protobufjs();
exports2.protobuf = protobuf;
var gax = require_gax();
var routingHeader = require_routingHeader();
exports2.routingHeader = routingHeader;
var status_1 = require_status();
var google_auth_library_1 = require_src6();
var operationsClient_1 = require_operationsClient();
var createApiCall_1 = require_createApiCall();
var fallbackRest = require_fallbackRest();
var featureDetection_1 = require_featureDetection();
var fallbackServiceStub_1 = require_fallbackServiceStub();
var streaming_1 = require_streaming();
var util_1 = require_util10();
var IamProtos = require_iam_service();
exports2.IamProtos = IamProtos;
var LocationProtos = require_locations();
exports2.LocationProtos = LocationProtos;
var operationsProtos = require_operations();
exports2.operationsProtos = operationsProtos;
var pathTemplate_1 = require_pathTemplate();
Object.defineProperty(exports2, "PathTemplate", { enumerable: true, get: function() {
return pathTemplate_1.PathTemplate;
} });
var gax_1 = require_gax();
Object.defineProperty(exports2, "CallSettings", { enumerable: true, get: function() {
return gax_1.CallSettings;
} });
Object.defineProperty(exports2, "constructSettings", { enumerable: true, get: function() {
return gax_1.constructSettings;
} });
Object.defineProperty(exports2, "RetryOptions", { enumerable: true, get: function() {
return gax_1.RetryOptions;
} });
Object.defineProperty(exports2, "createDefaultBackoffSettings", { enumerable: true, get: function() {
return gax_1.createDefaultBackoffSettings;
} });
exports2.version = require_package7().version + "-fallback";
var descriptor_1 = require_descriptor3();
Object.defineProperty(exports2, "BundleDescriptor", { enumerable: true, get: function() {
return descriptor_1.BundleDescriptor;
} });
Object.defineProperty(exports2, "LongrunningDescriptor", { enumerable: true, get: function() {
return descriptor_1.LongrunningDescriptor;
} });
Object.defineProperty(exports2, "PageDescriptor", { enumerable: true, get: function() {
return descriptor_1.PageDescriptor;
} });
Object.defineProperty(exports2, "StreamDescriptor", { enumerable: true, get: function() {
return descriptor_1.StreamDescriptor;
} });
var streaming_2 = require_streaming();
Object.defineProperty(exports2, "StreamType", { enumerable: true, get: function() {
return streaming_2.StreamType;
} });
var operationsClient_2 = require_operationsClient();
Object.defineProperty(exports2, "OperationsClient", { enumerable: true, get: function() {
return operationsClient_2.OperationsClient;
} });
var iamService_1 = require_iamService();
Object.defineProperty(exports2, "IamClient", { enumerable: true, get: function() {
return iamService_1.IamClient;
} });
var locationService_1 = require_locationService();
Object.defineProperty(exports2, "LocationsClient", { enumerable: true, get: function() {
return locationService_1.LocationsClient;
} });
var util_2 = require_util10();
Object.defineProperty(exports2, "makeUUID", { enumerable: true, get: function() {
return util_2.makeUUID;
} });
exports2.defaultToObjectOptions = {
keepCase: false,
longs: String,
enums: String,
defaults: true,
oneofs: true
};
var CLIENT_VERSION_HEADER = "x-goog-api-client";
var GrpcClient = class _GrpcClient {
/**
* In rare cases users might need to deallocate all memory consumed by loaded protos.
* This method will delete the proto cache content.
*/
static clearProtoCache() {
_GrpcClient.protoCache.clear();
}
/**
* gRPC-fallback version of GrpcClient
* Implements GrpcClient API for a browser using grpc-fallback protocol (sends serialized protobuf to HTTP/1 $rpc endpoint).
*
* @param {Object=} options.auth - An instance of OAuth2Client to use in browser, or an instance of GoogleAuth from google-auth-library
* to use in Node.js. Required for browser, optional for Node.js.
* @constructor
*/
constructor(options = {}) {
var _a4;
if (!(0, featureDetection_1.isNodeJS)()) {
if (!options.auth) {
throw new Error(JSON.stringify(options) + "You need to pass auth instance to use gRPC-fallback client in browser or other non-Node.js environments. Use OAuth2Client from google-auth-library.");
}
this.auth = options.auth;
} else {
this.auth = options.auth || new google_auth_library_1.GoogleAuth(options);
}
this.fallback = options.fallback ? true : false;
this.grpcVersion = require_package7().version;
this.httpRules = options.httpRules;
this.numericEnums = (_a4 = options.numericEnums) !== null && _a4 !== void 0 ? _a4 : false;
}
/**
* gRPC-fallback version of loadProto
* Loads the protobuf root object from a JSON object created from a proto file
* @param {Object} jsonObject - A JSON version of a protofile created usin protobuf.js
* @returns {Object} Root namespace of proto JSON
*/
loadProto(jsonObject) {
const rootObject = protobuf.Root.fromJSON(jsonObject);
return rootObject;
}
loadProtoJSON(json3, ignoreCache = false) {
const hash = objectHash(JSON.stringify(json3)).toString();
const cached2 = _GrpcClient.protoCache.get(hash);
if (cached2 && !ignoreCache) {
return cached2;
}
const root = protobuf.Root.fromJSON(json3);
_GrpcClient.protoCache.set(hash, root);
return root;
}
static getServiceMethods(service) {
const methods = {};
for (const [methodName, methodObject] of Object.entries(service.methods)) {
const methodNameLowerCamelCase = (0, util_1.toLowerCamelCase)(methodName);
methods[methodNameLowerCamelCase] = methodObject;
}
return methods;
}
/**
* gRPC-fallback version of constructSettings
* A wrapper of {@link constructSettings} function under the gRPC context.
*
* Most of parameters are common among constructSettings, please take a look.
* @param {string} serviceName - The fullly-qualified name of the service.
* @param {Object} clientConfig - A dictionary of the client config.
* @param {Object} configOverrides - A dictionary of overriding configs.
* @param {Object} headers - A dictionary of additional HTTP header name to
* its value.
* @return {Object} A mapping of method names to CallSettings.
*/
constructSettings(serviceName, clientConfig, configOverrides, headers) {
function buildMetadata(abTests, moreHeaders) {
const metadata2 = {};
if (!headers) {
headers = {};
}
for (const key in headers) {
metadata2[key] = Array.isArray(headers[key]) ? headers[key] : [headers[key]];
}
const clientVersions = [];
if (metadata2[CLIENT_VERSION_HEADER] && metadata2[CLIENT_VERSION_HEADER][0]) {
clientVersions.push(...metadata2[CLIENT_VERSION_HEADER][0].split(" "));
}
clientVersions.push(`grpc-web/${exports2.version}`);
metadata2[CLIENT_VERSION_HEADER] = [clientVersions.join(" ")];
if (!moreHeaders) {
return metadata2;
}
for (const key in moreHeaders) {
if (key.toLowerCase() !== CLIENT_VERSION_HEADER) {
const value = moreHeaders[key];
if (Array.isArray(value)) {
if (metadata2[key] === void 0) {
metadata2[key] = value;
} else {
if (Array.isArray(metadata2[key])) {
metadata2[key].push(...value);
} else {
throw new Error(`Can not add value ${value} to the call metadata.`);
}
}
} else {
metadata2[key] = [value];
}
}
}
return metadata2;
}
return gax.constructSettings(serviceName, clientConfig, configOverrides, status_1.Status, { metadataBuilder: buildMetadata });
}
/**
* gRPC-fallback version of createStub
* Creates a gRPC-fallback stub with authentication headers built from supplied OAuth2Client instance
*
* @param {function} CreateStub - The constructor function of the stub.
* @param {Object} service - A protobufjs Service object (as returned by lookupService)
* @param {Object} opts - Connection options, as described below.
* @param {string} opts.servicePath - The hostname of the API endpoint service.
* @param {number} opts.port - The port of the service.
* @return {Promise} A promise which resolves to a gRPC-fallback service stub, which is a protobuf.js service stub instance modified to match the gRPC stub API
*/
async createStub(service, opts, customServicePath) {
if (!this.authClient) {
if (this.auth && "getClient" in this.auth) {
this.authClient = await this.auth.getClient();
} else if (this.auth && "getRequestHeaders" in this.auth) {
this.authClient = this.auth;
}
}
if (!this.authClient) {
throw new Error("No authentication was provided");
}
if (!opts.universeDomain) {
opts.universeDomain = "googleapis.com";
}
if (opts.universeDomain) {
const universeFromAuth = this.authClient.universeDomain;
if (universeFromAuth && opts.universeDomain !== universeFromAuth) {
throw new Error(`The configured universe domain (${opts.universeDomain}) does not match the universe domain found in the credentials (${universeFromAuth}). If you haven't configured the universe domain explicitly, googleapis.com is the default.`);
}
}
service.resolveAll();
const methods = _GrpcClient.getServiceMethods(service);
const protocol = opts.protocol || "https";
let servicePath = opts.servicePath;
if (!servicePath && service.options && service.options["(google.api.default_host)"]) {
servicePath = service.options["(google.api.default_host)"];
}
if (!servicePath) {
throw new Error(`Cannot determine service API path for service ${service.name}.`);
}
let servicePort;
const match2 = servicePath.match(/^(.*):(\d+)$/);
if (match2) {
servicePath = match2[1];
servicePort = parseInt(match2[2]);
}
if (opts.port) {
servicePort = opts.port;
} else if (!servicePort) {
servicePort = 443;
}
const encoder = fallbackRest.encodeRequest;
const decoder = fallbackRest.decodeResponse;
const serviceStub = (0, fallbackServiceStub_1.generateServiceStub)(methods, protocol, servicePath, servicePort, this.authClient, encoder, decoder, this.numericEnums);
return serviceStub;
}
/**
* Creates a 'bytelength' function for a given proto message class.
*
* See {@link BundleDescriptor} about the meaning of the return value.
*
* @param {function} message - a constructor function that is generated by
* protobuf.js. Assumes 'encoder' field in the message.
* @return {function(Object):number} - a function to compute the byte length
* for an object.
*/
static createByteLengthFunction(message) {
return gax.createByteLengthFunction(message);
}
};
exports2.GrpcClient = GrpcClient;
GrpcClient.protoCache = /* @__PURE__ */ new Map();
function lro(options) {
options = Object.assign({ scopes: [] }, options);
if (options.protoJson) {
options = Object.assign(options, { fallback: true });
}
const gaxGrpc = new GrpcClient(options);
return new operationsClient_1.OperationsClientBuilder(gaxGrpc, options.protoJson);
}
function createApiCall(func2, settings, descriptor2, _fallback) {
if (descriptor2 && "streaming" in descriptor2 && descriptor2.type !== streaming_1.StreamType.SERVER_STREAMING) {
return () => {
throw new Error("The REST transport currently does not support client-streaming or bidi-stream calls.");
};
}
if (descriptor2 && "streaming" in descriptor2 && !(0, featureDetection_1.isNodeJS)()) {
return () => {
throw new Error("Server streaming over the REST transport is only supported in Node.js.");
};
}
return (0, createApiCall_1.createApiCall)(func2, settings, descriptor2);
}
exports2.protobufMinimal = require_minimal4();
var warnings_1 = require_warnings();
Object.defineProperty(exports2, "warn", { enumerable: true, get: function() {
return warnings_1.warn;
} });
var longrunning_1 = require_longrunning();
Object.defineProperty(exports2, "Operation", { enumerable: true, get: function() {
return longrunning_1.Operation;
} });
Object.defineProperty(exports2, "operation", { enumerable: true, get: function() {
return longrunning_1.operation;
} });
var googleError_1 = require_googleError();
Object.defineProperty(exports2, "GoogleError", { enumerable: true, get: function() {
return googleError_1.GoogleError;
} });
var fallback = module2.exports;
exports2.fallback = fallback;
}
});
// node_modules/google-gax/build/protos/status.json
var require_status2 = __commonJS({
"node_modules/google-gax/build/protos/status.json"(exports2, module2) {
module2.exports = { nested: { google: { nested: { protobuf: { nested: { Any: { fields: { type_url: { type: "string", id: 1 }, value: { type: "bytes", id: 2 } } }, Duration: { fields: { seconds: { type: "int64", id: 1 }, nanos: { type: "int32", id: 2 } } } } }, rpc: { options: { cc_enable_arenas: true, go_package: "google.golang.org/genproto/googleapis/rpc/errdetails;errdetails", java_multiple_files: true, java_outer_classname: "ErrorDetailsProto", java_package: "com.google.rpc", objc_class_prefix: "RPC" }, nested: { Status: { fields: { code: { type: "int32", id: 1 }, message: { type: "string", id: 2 }, details: { rule: "repeated", type: "google.protobuf.Any", id: 3 } } }, RetryInfo: { fields: { retryDelay: { type: "google.protobuf.Duration", id: 1 } } }, DebugInfo: { fields: { stackEntries: { rule: "repeated", type: "string", id: 1 }, detail: { type: "string", id: 2 } } }, QuotaFailure: { fields: { violations: { rule: "repeated", type: "Violation", id: 1 } }, nested: { Violation: { fields: { subject: { type: "string", id: 1 }, description: { type: "string", id: 2 } } } } }, ErrorInfo: { fields: { reason: { type: "string", id: 1 }, domain: { type: "string", id: 2 }, metadata: { keyType: "string", type: "string", id: 3 } } }, PreconditionFailure: { fields: { violations: { rule: "repeated", type: "Violation", id: 1 } }, nested: { Violation: { fields: { type: { type: "string", id: 1 }, subject: { type: "string", id: 2 }, description: { type: "string", id: 3 } } } } }, BadRequest: { fields: { fieldViolations: { rule: "repeated", type: "FieldViolation", id: 1 } }, nested: { FieldViolation: { fields: { field: { type: "string", id: 1 }, description: { type: "string", id: 2 } } } } }, RequestInfo: { fields: { requestId: { type: "string", id: 1 }, servingData: { type: "string", id: 2 } } }, ResourceInfo: { fields: { resourceType: { type: "string", id: 1 }, resourceName: { type: "string", id: 2 }, owner: { type: "string", id: 3 }, description: { type: "string", id: 4 } } }, Help: { fields: { links: { rule: "repeated", type: "Link", id: 1 } }, nested: { Link: { fields: { description: { type: "string", id: 1 }, url: { type: "string", id: 2 } } } } }, LocalizedMessage: { fields: { locale: { type: "string", id: 1 }, message: { type: "string", id: 2 } } } } } } } } };
}
});
// node_modules/google-gax/build/src/googleError.js
var require_googleError = __commonJS({
"node_modules/google-gax/build/src/googleError.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GoogleErrorDecoder = exports2.GoogleError = void 0;
var status_1 = require_status();
var protobuf = require_protobufjs();
var serializer = require_src49();
var fallback_1 = require_fallback();
var GoogleError = class _GoogleError extends Error {
// Parse details field in google.rpc.status wire over gRPC medatadata.
// Promote google.rpc.ErrorInfo if exist.
static parseGRPCStatusDetails(err2) {
const decoder = new GoogleErrorDecoder();
try {
if (err2.metadata && err2.metadata.get("grpc-status-details-bin")) {
const statusDetailsObj = decoder.decodeGRPCStatusDetails(err2.metadata.get("grpc-status-details-bin"));
if (statusDetailsObj && statusDetailsObj.details && statusDetailsObj.details.length > 0) {
err2.statusDetails = statusDetailsObj.details;
}
if (statusDetailsObj && statusDetailsObj.errorInfo) {
err2.reason = statusDetailsObj.errorInfo.reason;
err2.domain = statusDetailsObj.errorInfo.domain;
err2.errorInfoMetadata = statusDetailsObj.errorInfo.metadata;
}
}
} catch (decodeErr) {
}
return err2;
}
// Parse http JSON error and promote google.rpc.ErrorInfo if exist.
// eslint-disable-next-line @typescript-eslint/no-explicit-any
static parseHttpError(json3) {
if (Array.isArray(json3)) {
json3 = json3.find((obj) => {
return "error" in obj;
});
}
if (!json3["error"]) {
json3["error"] = {};
Object.keys(json3).filter((key) => key !== "error").forEach((key) => {
json3["error"][key] = json3[key];
delete json3[key];
});
}
const decoder = new GoogleErrorDecoder();
const proto3Error = decoder.decodeHTTPError(json3["error"]);
const error40 = Object.assign(new _GoogleError(json3["error"]["message"]), proto3Error);
if (json3["error"]["code"]) {
error40.code = (0, status_1.rpcCodeFromHttpStatusCode)(json3["error"]["code"]);
} else {
delete error40.code;
}
if (error40.details) {
try {
const statusDetailsObj = decoder.decodeHttpStatusDetails(error40.details);
if (statusDetailsObj && statusDetailsObj.details && statusDetailsObj.details.length > 0) {
error40.statusDetails = statusDetailsObj.details;
}
if (statusDetailsObj && statusDetailsObj.errorInfo) {
error40.reason = statusDetailsObj.errorInfo.reason;
error40.domain = statusDetailsObj.errorInfo.domain;
error40.errorInfoMetadata = statusDetailsObj.errorInfo.metadata;
}
} catch (decodeErr) {
}
}
return error40;
}
};
exports2.GoogleError = GoogleError;
var GoogleErrorDecoder = class {
constructor() {
const errorProtoJson = require_status2();
this.root = protobuf.Root.fromJSON(errorProtoJson);
this.anyType = this.root.lookupType("google.protobuf.Any");
this.statusType = this.root.lookupType("google.rpc.Status");
}
decodeProtobufAny(anyValue) {
const match2 = anyValue.type_url.match(/^type.googleapis.com\/(.*)/);
if (!match2) {
throw new Error(`Unknown type encoded in google.protobuf.any: ${anyValue.type_url}`);
}
const typeName = match2[1];
const type2 = this.root.lookupType(typeName);
if (!type2) {
throw new Error(`Cannot lookup type ${typeName}`);
}
return type2.decode(anyValue.value);
}
// Decodes gRPC-fallback error which is an instance of google.rpc.Status.
decodeRpcStatus(buffer) {
const uint8array = new Uint8Array(buffer);
const status2 = this.statusType.decode(uint8array);
const details = [];
let errorInfo;
for (const detail of status2.details) {
try {
const decodedDetail = this.decodeProtobufAny(detail);
details.push(decodedDetail);
if (detail.type_url === "type.googleapis.com/google.rpc.ErrorInfo") {
errorInfo = decodedDetail;
}
} catch (err2) {
}
}
const result2 = {
code: status2.code,
message: status2.message,
statusDetails: details,
reason: errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.reason,
domain: errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.domain,
errorInfoMetadata: errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.metadata
};
return result2;
}
// Construct an Error from a StatusObject.
// Adapted from https://github.com/grpc/grpc-node/blob/main/packages/grpc-js/src/call.ts#L79
callErrorFromStatus(status2) {
status2.message = `${status2.code} ${status_1.Status[status2.code]}: ${status2.message}`;
return Object.assign(new GoogleError(status2.message), status2);
}
// Decodes gRPC-fallback error which is an instance of google.rpc.Status,
// and puts it into the object similar to gRPC ServiceError object.
decodeErrorFromBuffer(buffer) {
return this.callErrorFromStatus(this.decodeRpcStatus(buffer));
}
// Decodes gRPC metadata error details which is an instance of google.rpc.Status.
decodeGRPCStatusDetails(bufferArr) {
const details = [];
let errorInfo;
bufferArr.forEach((buffer) => {
const uint8array = new Uint8Array(buffer);
const rpcStatus = this.statusType.decode(uint8array);
for (const detail of rpcStatus.details) {
try {
const decodedDetail = this.decodeProtobufAny(detail);
details.push(decodedDetail);
if (detail.type_url === "type.googleapis.com/google.rpc.ErrorInfo") {
errorInfo = decodedDetail;
}
} catch (err2) {
}
}
});
const result2 = {
details,
errorInfo
};
return result2;
}
// Decodes http error which is an instance of google.rpc.Status.
decodeHTTPError(json3) {
const errorMessage = serializer.fromProto3JSON(this.statusType, json3);
if (!errorMessage) {
throw new Error(`Received error message ${json3}, but failed to serialize as proto3 message`);
}
return this.statusType.toObject(errorMessage, fallback_1.defaultToObjectOptions);
}
// Decodes http error details which is an instance of Array<google.protobuf.Any>.
decodeHttpStatusDetails(rawDetails) {
const details = [];
let errorInfo;
for (const detail of rawDetails) {
try {
const decodedDetail = this.decodeProtobufAny(detail);
details.push(decodedDetail);
if (detail.type_url === "type.googleapis.com/google.rpc.ErrorInfo") {
errorInfo = decodedDetail;
}
} catch (err2) {
}
}
return { details, errorInfo };
}
};
exports2.GoogleErrorDecoder = GoogleErrorDecoder;
}
});
// node_modules/google-gax/build/src/call.js
var require_call2 = __commonJS({
"node_modules/google-gax/build/src/call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OngoingCallPromise = exports2.OngoingCall = void 0;
var status_1 = require_status();
var googleError_1 = require_googleError();
var OngoingCall = class {
/**
* OngoingCall manages callback, API calls, and cancellation
* of the API calls.
* @param {APICallback=} callback
* The callback to be called asynchronously when the API call
* finishes.
* @constructor
* @property {APICallback} callback
* The callback function to be called.
* @private
*/
constructor(callback) {
this.callback = callback;
this.completed = false;
}
/**
* Cancels the ongoing promise.
*/
cancel() {
if (this.completed) {
return;
}
this.completed = true;
if (this.cancelFunc) {
this.cancelFunc();
} else {
const error40 = new googleError_1.GoogleError("cancelled");
error40.code = status_1.Status.CANCELLED;
this.callback(error40);
}
}
/**
* Call calls the specified function. Result will be used to fulfill
* the promise.
*
* @param {SimpleCallbackFunction} func
* A function for an API call.
* @param {Object} argument
* A request object.
*/
call(func2, argument) {
if (this.completed) {
return;
}
const canceller = func2(argument, (err2, response, next, rawResponse) => {
this.completed = true;
setImmediate(this.callback, err2, response, next, rawResponse);
});
if (canceller instanceof Promise) {
canceller.catch((err2) => {
setImmediate(this.callback, new googleError_1.GoogleError(err2), null, null, null);
});
}
this.cancelFunc = () => canceller.cancel();
}
};
exports2.OngoingCall = OngoingCall;
var OngoingCallPromise = class extends OngoingCall {
/**
* GaxPromise is GRPCCallbackWrapper, but it holds a promise when
* the API call finishes.
* @constructor
* @private
*/
constructor() {
let resolveCallback;
let rejectCallback;
const callback = (err2, response, next, rawResponse) => {
if (err2) {
if (err2.metadata) {
rejectCallback(googleError_1.GoogleError.parseGRPCStatusDetails(err2));
} else {
rejectCallback(err2);
}
} else if (response !== void 0) {
resolveCallback([response, next || null, rawResponse || null]);
} else {
throw new googleError_1.GoogleError("Neither error nor response are defined");
}
};
const promise2 = new Promise((resolve25, reject) => {
resolveCallback = resolve25;
rejectCallback = reject;
});
super(callback);
this.promise = promise2;
this.promise.cancel = () => {
this.cancel();
};
}
};
exports2.OngoingCallPromise = OngoingCallPromise;
}
});
// node_modules/google-gax/build/src/normalCalls/normalApiCaller.js
var require_normalApiCaller = __commonJS({
"node_modules/google-gax/build/src/normalCalls/normalApiCaller.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.NormalApiCaller = void 0;
var call_1 = require_call2();
var NormalApiCaller = class {
init(callback) {
if (callback) {
return new call_1.OngoingCall(callback);
}
return new call_1.OngoingCallPromise();
}
wrap(func2) {
return func2;
}
call(apiCall, argument, settings, canceller) {
canceller.call(apiCall, argument);
}
fail(canceller, err2) {
canceller.callback(err2);
}
result(canceller) {
return canceller.promise;
}
};
exports2.NormalApiCaller = NormalApiCaller;
}
});
// node_modules/google-gax/build/src/apiCaller.js
var require_apiCaller = __commonJS({
"node_modules/google-gax/build/src/apiCaller.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createAPICaller = createAPICaller;
var normalApiCaller_1 = require_normalApiCaller();
function createAPICaller(settings, descriptor2) {
if (!descriptor2) {
return new normalApiCaller_1.NormalApiCaller();
}
return descriptor2.getApiCaller(settings);
}
}
});
// node_modules/google-gax/build/src/normalCalls/timeout.js
var require_timeout2 = __commonJS({
"node_modules/google-gax/build/src/normalCalls/timeout.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.addTimeoutArg = addTimeoutArg;
function addTimeoutArg(func2, timeout, otherArgs, abTests) {
return (argument, callback) => {
const now = /* @__PURE__ */ new Date();
const options = otherArgs.options || {};
options.deadline = new Date(now.getTime() + timeout);
const metadata2 = otherArgs.metadataBuilder ? otherArgs.metadataBuilder(abTests, otherArgs.headers || {}) : null;
return func2(argument, metadata2, options, callback);
};
}
}
});
// node_modules/google-gax/build/src/normalCalls/retries.js
var require_retries = __commonJS({
"node_modules/google-gax/build/src/normalCalls/retries.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.retryable = retryable;
var status_1 = require_status();
var googleError_1 = require_googleError();
var timeout_1 = require_timeout2();
function retryable(func2, retry, otherArgs, apiName) {
const delayMult = retry.backoffSettings.retryDelayMultiplier;
const maxDelay = retry.backoffSettings.maxRetryDelayMillis;
const timeoutMult = retry.backoffSettings.rpcTimeoutMultiplier;
const maxTimeout = retry.backoffSettings.maxRpcTimeoutMillis;
let delay3 = retry.backoffSettings.initialRetryDelayMillis;
let timeout = retry.backoffSettings.initialRpcTimeoutMillis;
return (argument, callback) => {
let canceller;
let timeoutId;
let now = /* @__PURE__ */ new Date();
let deadline;
if (retry.backoffSettings.totalTimeoutMillis) {
deadline = now.getTime() + retry.backoffSettings.totalTimeoutMillis;
}
let retries = 0;
const maxRetries = retry.backoffSettings.maxRetries;
function repeat2(err2) {
timeoutId = null;
if (deadline && now.getTime() >= deadline) {
const error40 = new googleError_1.GoogleError(`Total timeout of API ${apiName} exceeded ${retry.backoffSettings.totalTimeoutMillis} milliseconds ${err2 ? `retrying error ${err2} ` : ""} before any response was received.`);
error40.code = status_1.Status.DEADLINE_EXCEEDED;
callback(error40);
return;
}
if (retries && retries >= maxRetries) {
const error40 = new googleError_1.GoogleError("Exceeded maximum number of retries " + (err2 ? `retrying error ${err2} ` : "") + "before any response was received");
error40.code = status_1.Status.DEADLINE_EXCEEDED;
callback(error40);
return;
}
retries++;
let lastError = err2;
const toCall = (0, timeout_1.addTimeoutArg)(func2, timeout, otherArgs);
canceller = toCall(argument, (err3, response, next, rawResponse) => {
if (err3 && err3.code !== 4) {
lastError = err3;
}
if (!err3) {
callback(null, response, next, rawResponse);
return;
}
canceller = null;
if (retry.retryCodes.length > 0 && retry.retryCodes.indexOf(err3.code) < 0) {
err3.note = "Exception occurred in retry method that was not classified as transient";
callback(err3);
} else {
const toSleep = Math.random() * delay3;
timeoutId = setTimeout(() => {
now = /* @__PURE__ */ new Date();
delay3 = Math.min(delay3 * delayMult, maxDelay);
const timeoutCal = timeout && timeoutMult ? timeout * timeoutMult : 0;
const rpcTimeout = maxTimeout ? maxTimeout : 0;
const newDeadline = deadline ? deadline - now.getTime() : 0;
timeout = Math.min(timeoutCal, rpcTimeout, newDeadline);
repeat2(lastError);
}, toSleep);
}
});
if (canceller instanceof Promise) {
canceller.catch((err3) => {
callback(new googleError_1.GoogleError(err3));
});
}
}
if (maxRetries && deadline) {
const error40 = new googleError_1.GoogleError("Cannot set both totalTimeoutMillis and maxRetries in backoffSettings.");
error40.code = status_1.Status.INVALID_ARGUMENT;
callback(error40);
} else {
repeat2();
}
return {
cancel() {
if (timeoutId) {
clearTimeout(timeoutId);
}
if (canceller) {
canceller.cancel();
} else {
const error40 = new googleError_1.GoogleError("cancelled");
error40.code = status_1.Status.CANCELLED;
callback(error40);
}
}
};
};
}
}
});
// node_modules/google-gax/build/src/createApiCall.js
var require_createApiCall = __commonJS({
"node_modules/google-gax/build/src/createApiCall.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createApiCall = createApiCall;
var apiCaller_1 = require_apiCaller();
var gax_1 = require_gax();
var retries_1 = require_retries();
var timeout_1 = require_timeout2();
var streamingApiCaller_1 = require_streamingApiCaller();
var warnings_1 = require_warnings();
function createApiCall(func2, settings, descriptor2, _fallback) {
const funcPromise = typeof func2 === "function" ? Promise.resolve(func2) : func2;
const apiCaller = (0, apiCaller_1.createAPICaller)(settings, descriptor2);
return (request, callOptions, callback) => {
var _a4, _b;
let currentApiCaller = apiCaller;
let thisSettings;
if (currentApiCaller instanceof streamingApiCaller_1.StreamingApiCaller) {
const gaxStreamingRetries = (_b = (_a4 = currentApiCaller.descriptor) === null || _a4 === void 0 ? void 0 : _a4.gaxStreamingRetries) !== null && _b !== void 0 ? _b : false;
const convertedRetryOptions = (0, gax_1.convertRetryOptions)(callOptions, gaxStreamingRetries);
thisSettings = settings.merge(convertedRetryOptions);
} else {
thisSettings = settings.merge(callOptions);
}
if (settings.isBundling && !thisSettings.isBundling) {
currentApiCaller = (0, apiCaller_1.createAPICaller)(settings, void 0);
}
const ongoingCall = currentApiCaller.init(callback);
funcPromise.then((func3) => {
var _a5, _b2;
var _c;
func3 = currentApiCaller.wrap(func3);
const streaming = (_a5 = currentApiCaller.descriptor) === null || _a5 === void 0 ? void 0 : _a5.streaming;
const retry = thisSettings.retry;
if (streaming && retry) {
if (retry.retryCodes.length > 0 && retry.shouldRetryFn) {
(0, warnings_1.warn)("either_retrycodes_or_shouldretryfn", "Only one of retryCodes or shouldRetryFn may be defined. Ignoring retryCodes.");
retry.retryCodes = [];
}
if (!currentApiCaller.descriptor.gaxStreamingRetries && retry.getResumptionRequestFn) {
throw new Error("getResumptionRequestFn can only be used when gaxStreamingRetries is set to true.");
}
}
if (!streaming && retry) {
if (retry.shouldRetryFn) {
throw new Error("Using a function to determine retry eligibility is only supported with server streaming calls");
}
if (retry.getResumptionRequestFn) {
throw new Error("Resumption strategy can only be used with server streaming retries");
}
if (retry.retryCodes && retry.retryCodes.length > 0) {
(_b2 = (_c = retry.backoffSettings).initialRpcTimeoutMillis) !== null && _b2 !== void 0 ? _b2 : _c.initialRpcTimeoutMillis = thisSettings.timeout;
return (0, retries_1.retryable)(func3, thisSettings.retry, thisSettings.otherArgs, thisSettings.apiName);
}
}
return (0, timeout_1.addTimeoutArg)(func3, thisSettings.timeout, thisSettings.otherArgs);
}).then((apiCall) => {
currentApiCaller.call(apiCall, request, thisSettings, ongoingCall);
}).catch((err2) => {
currentApiCaller.fail(ongoingCall, err2);
});
return currentApiCaller.result(ongoingCall);
};
}
}
});
// node_modules/google-gax/build/src/operations_client_config.json
var require_operations_client_config = __commonJS({
"node_modules/google-gax/build/src/operations_client_config.json"(exports2, module2) {
module2.exports = {
interfaces: {
"google.longrunning.Operations": {
retry_codes: {
idempotent: [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
],
non_idempotent: []
},
retry_params: {
default: {
initial_retry_delay_millis: 100,
retry_delay_multiplier: 1.3,
max_retry_delay_millis: 6e4,
initial_rpc_timeout_millis: 9e4,
rpc_timeout_multiplier: 1,
max_rpc_timeout_millis: 9e4,
total_timeout_millis: 6e5
}
},
methods: {
GetOperation: {
timeout_millis: 6e4,
retry_codes_name: "idempotent",
retry_params_name: "default"
},
ListOperations: {
timeout_millis: 6e4,
retry_codes_name: "idempotent",
retry_params_name: "default"
},
CancelOperation: {
timeout_millis: 6e4,
retry_codes_name: "idempotent",
retry_params_name: "default"
},
DeleteOperation: {
timeout_millis: 6e4,
retry_codes_name: "idempotent",
retry_params_name: "default"
}
}
}
}
};
}
});
// node_modules/google-gax/build/protos/operations.json
var require_operations2 = __commonJS({
"node_modules/google-gax/build/protos/operations.json"(exports2, module2) {
module2.exports = { nested: { google: { nested: { longrunning: { options: { cc_enable_arenas: true, csharp_namespace: "Google.LongRunning", go_package: "google.golang.org/genproto/googleapis/longrunning;longrunning", java_multiple_files: true, java_outer_classname: "OperationsProto", java_package: "com.google.longrunning", php_namespace: "Google\\LongRunning" }, nested: { operationInfo: { type: "google.longrunning.OperationInfo", id: 1049, extend: "google.protobuf.MethodOptions" }, Operations: { options: { "(google.api.default_host)": "longrunning.googleapis.com" }, methods: { ListOperations: { requestType: "ListOperationsRequest", responseType: "ListOperationsResponse", options: { "(google.api.http).get": "/v1/{name=operations}", "(google.api.method_signature)": "name,filter" }, parsedOptions: [{ "(google.api.http)": { get: "/v1/{name=operations}" } }, { "(google.api.method_signature)": "name,filter" }] }, GetOperation: { requestType: "GetOperationRequest", responseType: "Operation", options: { "(google.api.http).get": "/v1/operations/{name}", "(google.api.method_signature)": "name" }, parsedOptions: [{ "(google.api.http)": { get: "/v1/operations/{name}" } }, { "(google.api.method_signature)": "name" }] }, DeleteOperation: { requestType: "DeleteOperationRequest", responseType: "google.protobuf.Empty", options: { "(google.api.http).delete": "/v1/{name=operations/**}", "(google.api.method_signature)": "name" }, parsedOptions: [{ "(google.api.http)": { delete: "/v1/{name=operations/**}" } }, { "(google.api.method_signature)": "name" }] }, CancelOperation: { requestType: "CancelOperationRequest", responseType: "google.protobuf.Empty", options: { "(google.api.http).post": "/v1/{name=operations/**}:cancel", "(google.api.http).body": "*", "(google.api.method_signature)": "name" }, parsedOptions: [{ "(google.api.http)": { post: "/v1/{name=operations/**}:cancel", body: "*" } }, { "(google.api.method_signature)": "name" }] }, WaitOperation: { requestType: "WaitOperationRequest", responseType: "Operation" } } }, Operation: { oneofs: { result: { oneof: ["error", "response"] } }, fields: { name: { type: "string", id: 1 }, metadata: { type: "google.protobuf.Any", id: 2 }, done: { type: "bool", id: 3 }, error: { type: "google.rpc.Status", id: 4 }, response: { type: "google.protobuf.Any", id: 5 } } }, GetOperationRequest: { fields: { name: { type: "string", id: 1 } } }, ListOperationsRequest: { fields: { name: { type: "string", id: 4 }, filter: { type: "string", id: 1 }, pageSize: { type: "int32", id: 2 }, pageToken: { type: "string", id: 3 } } }, ListOperationsResponse: { fields: { operations: { rule: "repeated", type: "Operation", id: 1 }, nextPageToken: { type: "string", id: 2 } } }, CancelOperationRequest: { fields: { name: { type: "string", id: 1 } } }, DeleteOperationRequest: { fields: { name: { type: "string", id: 1 } } }, WaitOperationRequest: { fields: { name: { type: "string", id: 1 }, timeout: { type: "google.protobuf.Duration", id: 2 } } }, OperationInfo: { fields: { responseType: { type: "string", id: 1 }, metadataType: { type: "string", id: 2 } } } } }, api: { options: { go_package: "google.golang.org/genproto/googleapis/api/annotations;annotations", java_multiple_files: true, java_outer_classname: "ClientProto", java_package: "com.google.api", objc_class_prefix: "GAPI", cc_enable_arenas: true }, nested: { http: { type: "HttpRule", id: 72295728, extend: "google.protobuf.MethodOptions" }, Http: { fields: { rules: { rule: "repeated", type: "HttpRule", id: 1 }, fullyDecodeReservedExpansion: { type: "bool", id: 2 } } }, HttpRule: { oneofs: { pattern: { oneof: ["get", "put", "post", "delete", "patch", "custom"] } }, fields: { selector: { type: "string", id: 1 }, get: { type: "string", id: 2 }, put: { type: "string", id: 3 }, post: { type: "string", id: 4 }, delete: { type: "string", id: 5 }, patch: { type: "string", id: 6 }, custom: { type: "CustomHttpPattern", id: 8 }, body: { type: "string", id: 7 }, responseBody: { type: "string", id: 12 }, additionalBindings: { rule: "repeated", type: "HttpRule", id: 11 } } }, CustomHttpPattern: { fields: { kind: { type: "string", id: 1 }, path: { type: "string", id: 2 } } }, methodSignature: { rule: "repeated", type: "string", id: 1051, extend: "google.protobuf.MethodOptions" }, defaultHost: { type: "string", id: 1049, extend: "google.protobuf.ServiceOptions" }, oauthScopes: { type: "string", id: 1050, extend: "google.protobuf.ServiceOptions" } } }, protobuf: { options: { go_package: "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor", java_package: "com.google.protobuf", java_outer_classname: "DescriptorProtos", csharp_namespace: "Google.Protobuf.Reflection", objc_class_prefix: "GPB", cc_enable_arenas: true, optimize_for: "SPEED" }, nested: { FileDescriptorSet: { fields: { file: { rule: "repeated", type: "FileDescriptorProto", id: 1 } } }, FileDescriptorProto: { fields: { name: { type: "string", id: 1 }, package: { type: "string", id: 2 }, dependency: { rule: "repeated", type: "string", id: 3 }, publicDependency: { rule: "repeated", type: "int32", id: 10, options: { packed: false } }, weakDependency: { rule: "repeated", type: "int32", id: 11, options: { packed: false } }, messageType: { rule: "repeated", type: "DescriptorProto", id: 4 }, enumType: { rule: "repeated", type: "EnumDescriptorProto", id: 5 }, service: { rule: "repeated", type: "ServiceDescriptorProto", id: 6 }, extension: { rule: "repeated", type: "FieldDescriptorProto", id: 7 }, options: { type: "FileOptions", id: 8 }, sourceCodeInfo: { type: "SourceCodeInfo", id: 9 }, syntax: { type: "string", id: 12 } } }, DescriptorProto: { fields: { name: { type: "string", id: 1 }, field: { rule: "repeated", type: "FieldDescriptorProto", id: 2 }, extension: { rule: "repeated", type: "FieldDescriptorProto", id: 6 }, nestedType: { rule: "repeated", type: "DescriptorProto", id: 3 }, enumType: { rule: "repeated", type: "EnumDescriptorProto", id: 4 }, extensionRange: { rule: "repeated", type: "ExtensionRange", id: 5 }, oneofDecl: { rule: "repeated", type: "OneofDescriptorProto", id: 8 }, options: { type: "MessageOptions", id: 7 }, reservedRange: { rule: "repeated", type: "ReservedRange", id: 9 }, reservedName: { rule: "repeated", type: "string", id: 10 } }, nested: { ExtensionRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 }, options: { type: "ExtensionRangeOptions", id: 3 } } }, ReservedRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 } } } } }, ExtensionRangeOptions: { fields: { uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, FieldDescriptorProto: { fields: { name: { type: "string", id: 1 }, number: { type: "int32", id: 3 }, label: { type: "Label", id: 4 }, type: { type: "Type", id: 5 }, typeName: { type: "string", id: 6 }, extendee: { type: "string", id: 2 }, defaultValue: { type: "string", id: 7 }, oneofIndex: { type: "int32", id: 9 }, jsonName: { type: "string", id: 10 }, options: { type: "FieldOptions", id: 8 }, proto3Optional: { type: "bool", id: 17 } }, nested: { Type: { values: { TYPE_DOUBLE: 1, TYPE_FLOAT: 2, TYPE_INT64: 3, TYPE_UINT64: 4, TYPE_INT32: 5, TYPE_FIXED64: 6, TYPE_FIXED32: 7, TYPE_BOOL: 8, TYPE_STRING: 9, TYPE_GROUP: 10, TYPE_MESSAGE: 11, TYPE_BYTES: 12, TYPE_UINT32: 13, TYPE_ENUM: 14, TYPE_SFIXED32: 15, TYPE_SFIXED64: 16, TYPE_SINT32: 17, TYPE_SINT64: 18 } }, Label: { values: { LABEL_OPTIONAL: 1, LABEL_REQUIRED: 2, LABEL_REPEATED: 3 } } } }, OneofDescriptorProto: { fields: { name: { type: "string", id: 1 }, options: { type: "OneofOptions", id: 2 } } }, EnumDescriptorProto: { fields: { name: { type: "string", id: 1 }, value: { rule: "repeated", type: "EnumValueDescriptorProto", id: 2 }, options: { type: "EnumOptions", id: 3 }, reservedRange: { rule: "repeated", type: "EnumReservedRange", id: 4 }, reservedName: { rule: "repeated", type: "string", id: 5 } }, nested: { EnumReservedRange: { fields: { start: { type: "int32", id: 1 }, end: { type: "int32", id: 2 } } } } }, EnumValueDescriptorProto: { fields: { name: { type: "string", id: 1 }, number: { type: "int32", id: 2 }, options: { type: "EnumValueOptions", id: 3 } } }, ServiceDescriptorProto: { fields: { name: { type: "string", id: 1 }, method: { rule: "repeated", type: "MethodDescriptorProto", id: 2 }, options: { type: "ServiceOptions", id: 3 } } }, MethodDescriptorProto: { fields: { name: { type: "string", id: 1 }, inputType: { type: "string", id: 2 }, outputType: { type: "string", id: 3 }, options: { type: "MethodOptions", id: 4 }, clientStreaming: { type: "bool", id: 5, options: { default: false } }, serverStreaming: { type: "bool", id: 6, options: { default: false } } } }, FileOptions: { fields: { javaPackage: { type: "string", id: 1 }, javaOuterClassname: { type: "string", id: 8 }, javaMultipleFiles: { type: "bool", id: 10, options: { default: false } }, javaGenerateEqualsAndHash: { type: "bool", id: 20, options: { deprecated: true } }, javaStringCheckUtf8: { type: "bool", id: 27, options: { default: false } }, optimizeFor: { type: "OptimizeMode", id: 9, options: { default: "SPEED" } }, goPackage: { type: "string", id: 11 }, ccGenericServices: { type: "bool", id: 16, options: { default: false } }, javaGenericServices: { type: "bool", id: 17, options: { default: false } }, pyGenericServices: { type: "bool", id: 18, options: { default: false } }, phpGenericServices: { type: "bool", id: 42, options: { default: false } }, deprecated: { type: "bool", id: 23, options: { default: false } }, ccEnableArenas: { type: "bool", id: 31, options: { default: true } }, objcClassPrefix: { type: "string", id: 36 }, csharpNamespace: { type: "string", id: 37 }, swiftPrefix: { type: "string", id: 39 }, phpClassPrefix: { type: "string", id: 40 }, phpNamespace: { type: "string", id: 41 }, phpMetadataNamespace: { type: "string", id: 44 }, rubyPackage: { type: "string", id: 45 }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[38, 38]], nested: { OptimizeMode: { values: { SPEED: 1, CODE_SIZE: 2, LITE_RUNTIME: 3 } } } }, MessageOptions: { fields: { messageSetWireFormat: { type: "bool", id: 1, options: { default: false } }, noStandardDescriptorAccessor: { type: "bool", id: 2, options: { default: false } }, deprecated: { type: "bool", id: 3, options: { default: false } }, mapEntry: { type: "bool", id: 7 }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[8, 8], [9, 9]] }, FieldOptions: { fields: { ctype: { type: "CType", id: 1, options: { default: "STRING" } }, packed: { type: "bool", id: 2 }, jstype: { type: "JSType", id: 6, options: { default: "JS_NORMAL" } }, lazy: { type: "bool", id: 5, options: { default: false } }, deprecated: { type: "bool", id: 3, options: { default: false } }, weak: { type: "bool", id: 10, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[4, 4]], nested: { CType: { values: { STRING: 0, CORD: 1, STRING_PIECE: 2 } }, JSType: { values: { JS_NORMAL: 0, JS_STRING: 1, JS_NUMBER: 2 } } } }, OneofOptions: { fields: { uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, EnumOptions: { fields: { allowAlias: { type: "bool", id: 2 }, deprecated: { type: "bool", id: 3, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], reserved: [[5, 5]] }, EnumValueOptions: { fields: { deprecated: { type: "bool", id: 1, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, ServiceOptions: { fields: { deprecated: { type: "bool", id: 33, options: { default: false } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]] }, MethodOptions: { fields: { deprecated: { type: "bool", id: 33, options: { default: false } }, idempotencyLevel: { type: "IdempotencyLevel", id: 34, options: { default: "IDEMPOTENCY_UNKNOWN" } }, uninterpretedOption: { rule: "repeated", type: "UninterpretedOption", id: 999 } }, extensions: [[1e3, 536870911]], nested: { IdempotencyLevel: { values: { IDEMPOTENCY_UNKNOWN: 0, NO_SIDE_EFFECTS: 1, IDEMPOTENT: 2 } } } }, UninterpretedOption: { fields: { name: { rule: "repeated", type: "NamePart", id: 2 }, identifierValue: { type: "string", id: 3 }, positiveIntValue: { type: "uint64", id: 4 }, negativeIntValue: { type: "int64", id: 5 }, doubleValue: { type: "double", id: 6 }, stringValue: { type: "bytes", id: 7 }, aggregateValue: { type: "string", id: 8 } }, nested: { NamePart: { fields: { namePart: { rule: "required", type: "string", id: 1 }, isExtension: { rule: "required", type: "bool", id: 2 } } } } }, SourceCodeInfo: { fields: { location: { rule: "repeated", type: "Location", id: 1 } }, nested: { Location: { fields: { path: { rule: "repeated", type: "int32", id: 1 }, span: { rule: "repeated", type: "int32", id: 2 }, leadingComments: { type: "string", id: 3 }, trailingComments: { type: "string", id: 4 }, leadingDetachedComments: { rule: "repeated", type: "string", id: 6 } } } } }, GeneratedCodeInfo: { fields: { annotation: { rule: "repeated", type: "Annotation", id: 1 } }, nested: { Annotation: { fields: { path: { rule: "repeated", type: "int32", id: 1 }, sourceFile: { type: "string", id: 2 }, begin: { type: "int32", id: 3 }, end: { type: "int32", id: 4 } } } } }, Any: { fields: { type_url: { type: "string", id: 1 }, value: { type: "bytes", id: 2 } } }, Duration: { fields: { seconds: { type: "int64", id: 1 }, nanos: { type: "int32", id: 2 } } }, Empty: { fields: {} } } }, rpc: { options: { cc_enable_arenas: true, go_package: "google.golang.org/genproto/googleapis/rpc/status;status", java_multiple_files: true, java_outer_classname: "StatusProto", java_package: "com.google.rpc", objc_class_prefix: "RPC" }, nested: { Status: { fields: { code: { type: "int32", id: 1 }, message: { type: "string", id: 2 }, details: { rule: "repeated", type: "google.protobuf.Any", id: 3 } } } } } } } } };
}
});
// node_modules/google-gax/build/src/operationsClient.js
var require_operationsClient = __commonJS({
"node_modules/google-gax/build/src/operationsClient.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OperationsClientBuilder = exports2.OperationsClient = exports2.ALL_SCOPES = exports2.SERVICE_ADDRESS = void 0;
var createApiCall_1 = require_createApiCall();
var descriptor_1 = require_descriptor3();
var gax = require_gax();
var configData = require_operations_client_config();
var operationProtoJson = require_operations2();
var transcoding_1 = require_transcoding();
exports2.SERVICE_ADDRESS = "longrunning.googleapis.com";
var version4 = require_package7().version;
var DEFAULT_SERVICE_PORT = 443;
var CODE_GEN_NAME_VERSION = "gapic/0.7.1";
exports2.ALL_SCOPES = [];
var OperationsClient = class {
constructor(gaxGrpc, operationsProtos, options) {
const opts = Object.assign({
servicePath: exports2.SERVICE_ADDRESS,
port: DEFAULT_SERVICE_PORT,
clientConfig: {}
}, options);
const googleApiClient = ["gl-node/" + process.versions.node];
if (opts.libName && opts.libVersion) {
googleApiClient.push(opts.libName + "/" + opts.libVersion);
}
googleApiClient.push(CODE_GEN_NAME_VERSION, "gax/" + version4);
if (opts.fallback) {
googleApiClient.push("gl-web/" + version4);
} else {
googleApiClient.push("grpc/" + gaxGrpc.grpcVersion);
}
const defaults2 = gaxGrpc.constructSettings("google.longrunning.Operations", configData, opts.clientConfig || {}, { "x-goog-api-client": googleApiClient.join(" ") });
this.auth = gaxGrpc.auth;
this.innerApiCalls = {};
this.descriptor = {
listOperations: new descriptor_1.PageDescriptor("pageToken", "nextPageToken", "operations")
};
this.operationsStub = gaxGrpc.createStub(opts.fallback ? operationsProtos.lookupService("google.longrunning.Operations") : operationsProtos.google.longrunning.Operations, opts);
const operationsStubMethods = [
"getOperation",
"listOperations",
"cancelOperation",
"deleteOperation"
];
for (const methodName of operationsStubMethods) {
const innerCallPromise = this.operationsStub.then((stub) => (...args2) => {
const func2 = stub[methodName];
return func2.apply(stub, args2);
}, (err2) => () => {
throw err2;
});
this.innerApiCalls[methodName] = (0, createApiCall_1.createApiCall)(innerCallPromise, defaults2[methodName], this.descriptor[methodName]);
}
}
/** Closes this operations client. */
close() {
this.operationsStub.then((stub) => stub.close());
}
getProjectId(callback) {
if (this.auth && "getProjectId" in this.auth) {
return this.auth.getProjectId(callback);
}
if (callback) {
callback(new Error("Cannot determine project ID."));
} else {
return Promise.reject("Cannot determine project ID.");
}
}
// Service calls
getOperationInternal(request, options, callback) {
request = request || {};
options = options || {};
return this.innerApiCalls.getOperation(request, options, callback);
}
/**
* Gets the latest state of a long-running operation. Clients can use this
* method to poll the operation result at intervals as recommended by the API
* service.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation resource.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See [gax.CallOptions]{@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the
* details.
* @param {function(?Error, ?Object)=} callback
* The function which will be called with the result of the API call.
*
* The second parameter to the callback is an object representing
* [google.longrunning.Operation]{@link
* external:"google.longrunning.Operation"}.
* @return {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing
* [google.longrunning.Operation]{@link
* external:"google.longrunning.Operation"}. The promise has a method named
* "cancel" which cancels the ongoing API call.
*
* @example
*
* const client = longrunning.operationsClient();
* const name = '';
* const [response] = await client.getOperation({name});
* // doThingsWith(response)
*/
getOperation(request, optionsOrCallback, callback) {
let options;
if (optionsOrCallback instanceof Function && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
request = request || {};
options = options || {};
return this.innerApiCalls.getOperation(request, options, callback);
}
/**
* Lists operations that match the specified filter in the request. If the
* server doesn't support this method, it returns `UNIMPLEMENTED`.
*
* NOTE: the `name` binding below allows API services to override the binding
* to use different resource name schemes.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation collection.
* @param {string} request.filter - The standard list filter.
* @param {number=} request.pageSize
* The maximum number of resources contained in the underlying API
* response. If page streaming is performed per-resource, this
* parameter does not affect the return value. If page streaming is
* performed per-page, this determines the maximum number of
* resources in a page.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See [gax.CallOptions]{@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the
* details.
* @param {function(?Error, ?Array, ?Object, ?Object)=} callback
* The function which will be called with the result of the API call.
*
* The second parameter to the callback is Array of
* [google.longrunning.Operation]{@link
* external:"google.longrunning.Operation"}.
*
* When autoPaginate: false is specified through options, it contains the
* result in a single response. If the response indicates the next page
* exists, the third parameter is set to be used for the next request object.
* The fourth parameter keeps the raw response object of an object
* representing [google.longrunning.ListOperationsResponse]{@link
* external:"google.longrunning.ListOperationsResponse"}.
* @return {Promise} - The promise which resolves to an array.
* The first element of the array is Array of
* [google.longrunning.Operation]{@link
* external:"google.longrunning.Operation"}.
*
* When autoPaginate: false is specified through options, the array has
* three elements. The first element is Array of
* [google.longrunning.Operation]{@link
* external:"google.longrunning.Operation"} in a single response. The second
* element is the next request object if the response indicates the next page
* exists, or null. The third element is an object representing
* [google.longrunning.ListOperationsResponse]{@link
* external:"google.longrunning.ListOperationsResponse"}.
*
* The promise has a method named "cancel" which cancels the ongoing API
* call.
*
* @example
*
* const client = longrunning.operationsClient();
* const request = {
* name: '',
* filter: ''
* };
* // Iterate over all elements.
* const [resources] = await client.listOperations(request);
* for (const resource of resources) {
* console.log(resources);
* }
*
* // Or obtain the paged response.
* const options = {autoPaginate: false};
* let nextRequest = request;
* while(nextRequest) {
* const response = await client.listOperations(nextRequest, options);
* const resources = response[0];
* nextRequest = response[1];
* const rawResponse = response[2];
* for (const resource of resources) {
* // doThingsWith(resource);
* }
* };
*/
listOperations(request, optionsOrCallback, callback) {
let options;
if (optionsOrCallback instanceof Function && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
request = request || {};
options = options || {};
return this.innerApiCalls.listOperations(request, options, callback);
}
/**
* Equivalent to {@link listOperations}, but returns a NodeJS Stream object.
*
* This fetches the paged responses for {@link listOperations} continuously
* and invokes the callback registered for 'data' event for each element in
* the responses.
*
* The returned object has 'end' method when no more elements are required.
*
* autoPaginate option will be ignored.
*
* @see {@link https://nodejs.org/api/stream.html}
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation collection.
* @param {string} request.filter - The standard list filter.
* @param {number=} request.pageSize -
* The maximum number of resources contained in the underlying API
* response. If page streaming is performed per-resource, this
* parameter does not affect the return value. If page streaming is
* performed per-page, this determines the maximum number of
* resources in a page.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See [gax.CallOptions]{@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the
* details.
* @return {Stream} - An object stream which emits an object representing [google.longrunning.Operation]{@link external:"google.longrunning.Operation"} on 'data' event.
*
* @example
*
* const client = longrunning.operationsClient();
* const request = {
* name: '',
* filter: ''
* };
* client.listOperationsStream(request)
* .on('data', element => {
* // doThingsWith(element)
* })
* .on('error', err => {
* console.error(err);
* });
*/
listOperationsStream(request, options) {
const callSettings = new gax.CallSettings(options);
return this.descriptor.listOperations.createStream(this.innerApiCalls.listOperations, request, callSettings);
}
/**
* Equivalent to {@link listOperations}, but returns an iterable object.
*
* for-await-of syntax is used with the iterable to recursively get response element on-demand.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation collection.
* @param {string} request.filter - The standard list filter.
* @param {number=} request.pageSize -
* The maximum number of resources contained in the underlying API
* response. If page streaming is performed per-resource, this
* parameter does not affect the return value. If page streaming is
* performed per-page, this determines the maximum number of
* resources in a page.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See [gax.CallOptions]{@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the
* details.
* @returns {Object}
* An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols.
*/
listOperationsAsync(request, options) {
request = request || {};
options = options || {};
const callSettings = new gax.CallSettings(options);
return this.descriptor.listOperations.asyncIterate(this.innerApiCalls.listOperations, request, callSettings);
}
/**
* Starts asynchronous cancellation on a long-running operation. The server
* makes a best effort to cancel the operation, but success is not
* guaranteed. If the server doesn't support this method, it returns
* `google.rpc.Code.UNIMPLEMENTED`. Clients can use
* {@link Operations.GetOperation} or
* other methods to check whether the cancellation succeeded or whether the
* operation completed despite cancellation. On successful cancellation,
* the operation is not deleted; instead, it becomes an operation with
* an {@link Operation.error} value with a {@link google.rpc.Status.code} of
* 1, corresponding to `Code.CANCELLED`.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation resource to be cancelled.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See [gax.CallOptions]{@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the
* details.
* @param {function(?Error)=} callback
* The function which will be called with the result of the API call.
* @return {Promise} - The promise which resolves when API call finishes.
* The promise has a method named "cancel" which cancels the ongoing API
* call.
*
* @example
*
* const client = longrunning.operationsClient();
* await client.cancelOperation({name: ''});
*/
cancelOperation(request, optionsOrCallback, callback) {
let options;
if (optionsOrCallback instanceof Function && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
request = request || {};
options = options || {};
return this.innerApiCalls.cancelOperation(request, options, callback);
}
/**
* Deletes a long-running operation. This method indicates that the client is
* no longer interested in the operation result. It does not cancel the
* operation. If the server doesn't support this method, it returns
* `google.rpc.Code.UNIMPLEMENTED`.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation resource to be deleted.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See [gax.CallOptions]{@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the
* details.
* @param {function(?Error)=} callback
* The function which will be called with the result of the API call.
* @return {Promise} - The promise which resolves when API call finishes.
* The promise has a method named "cancel" which cancels the ongoing API
* call.
*
* @example
*
* const client = longrunning.operationsClient();
* await client.deleteOperation({name: ''});
*/
deleteOperation(request, optionsOrCallback, callback) {
let options;
if (optionsOrCallback instanceof Function && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
request = request || {};
options = options || {};
return this.innerApiCalls.deleteOperation(request, options, callback);
}
};
exports2.OperationsClient = OperationsClient;
var OperationsClientBuilder = class {
/**
* Builds a new Operations Client
* @param gaxGrpc {GrpcClient}
*/
constructor(gaxGrpc, protoJson) {
if (protoJson && gaxGrpc.httpRules) {
(0, transcoding_1.overrideHttpRules)(gaxGrpc.httpRules, protoJson);
}
const operationsProtos = protoJson !== null && protoJson !== void 0 ? protoJson : gaxGrpc.loadProtoJSON(operationProtoJson);
this.operationsClient = (opts) => {
if (gaxGrpc.fallback) {
opts.fallback = gaxGrpc.fallback;
}
return new OperationsClient(gaxGrpc, operationsProtos, opts);
};
Object.assign(this.operationsClient, OperationsClient);
}
};
exports2.OperationsClientBuilder = OperationsClientBuilder;
}
});
// node_modules/google-gax/build/src/index.js
var require_src50 = __commonJS({
"node_modules/google-gax/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.serializer = exports2.warn = exports2.ChannelCredentials = exports2.makeUUID = exports2.fallback = exports2.protobufMinimal = exports2.protobuf = exports2.version = exports2.createByteLengthFunction = exports2.LocationsClient = exports2.IamClient = exports2.OperationsClient = exports2.LocationProtos = exports2.IamProtos = exports2.operationsProtos = exports2.routingHeader = exports2.StreamType = exports2.Status = exports2.PathTemplate = exports2.operation = exports2.Operation = exports2.GrpcClient = exports2.GoogleProtoFilesRoot = exports2.ClientStub = exports2.GoogleError = exports2.createMaxRetriesBackoffSettings = exports2.createDefaultBackoffSettings = exports2.createBackoffSettings = exports2.createBundleOptions = exports2.createRetryOptions = exports2.RetryOptions = exports2.constructSettings = exports2.CallSettings = exports2.StreamDescriptor = exports2.PageDescriptor = exports2.LongrunningDescriptor = exports2.BundleDescriptor = exports2.createApiCall = exports2.OngoingCall = exports2.grpc = exports2.GoogleAuth = void 0;
exports2.lro = lro;
var grpc3 = require_src11();
exports2.grpc = grpc3;
var grpc_1 = require_grpc();
var IamProtos = require_iam_service();
exports2.IamProtos = IamProtos;
var LocationProtos = require_locations();
exports2.LocationProtos = LocationProtos;
var operationsProtos = require_operations();
exports2.operationsProtos = operationsProtos;
var operationsClient = require_operationsClient();
var routingHeader = require_routingHeader();
exports2.routingHeader = routingHeader;
var google_auth_library_1 = require_src6();
Object.defineProperty(exports2, "GoogleAuth", { enumerable: true, get: function() {
return google_auth_library_1.GoogleAuth;
} });
var call_1 = require_call2();
Object.defineProperty(exports2, "OngoingCall", { enumerable: true, get: function() {
return call_1.OngoingCall;
} });
var createApiCall_1 = require_createApiCall();
Object.defineProperty(exports2, "createApiCall", { enumerable: true, get: function() {
return createApiCall_1.createApiCall;
} });
var descriptor_1 = require_descriptor3();
Object.defineProperty(exports2, "BundleDescriptor", { enumerable: true, get: function() {
return descriptor_1.BundleDescriptor;
} });
Object.defineProperty(exports2, "LongrunningDescriptor", { enumerable: true, get: function() {
return descriptor_1.LongrunningDescriptor;
} });
Object.defineProperty(exports2, "PageDescriptor", { enumerable: true, get: function() {
return descriptor_1.PageDescriptor;
} });
Object.defineProperty(exports2, "StreamDescriptor", { enumerable: true, get: function() {
return descriptor_1.StreamDescriptor;
} });
var gax_1 = require_gax();
Object.defineProperty(exports2, "CallSettings", { enumerable: true, get: function() {
return gax_1.CallSettings;
} });
Object.defineProperty(exports2, "constructSettings", { enumerable: true, get: function() {
return gax_1.constructSettings;
} });
Object.defineProperty(exports2, "RetryOptions", { enumerable: true, get: function() {
return gax_1.RetryOptions;
} });
Object.defineProperty(exports2, "createRetryOptions", { enumerable: true, get: function() {
return gax_1.createRetryOptions;
} });
Object.defineProperty(exports2, "createBundleOptions", { enumerable: true, get: function() {
return gax_1.createBundleOptions;
} });
Object.defineProperty(exports2, "createBackoffSettings", { enumerable: true, get: function() {
return gax_1.createBackoffSettings;
} });
Object.defineProperty(exports2, "createDefaultBackoffSettings", { enumerable: true, get: function() {
return gax_1.createDefaultBackoffSettings;
} });
Object.defineProperty(exports2, "createMaxRetriesBackoffSettings", { enumerable: true, get: function() {
return gax_1.createMaxRetriesBackoffSettings;
} });
var googleError_1 = require_googleError();
Object.defineProperty(exports2, "GoogleError", { enumerable: true, get: function() {
return googleError_1.GoogleError;
} });
var grpc_2 = require_grpc();
Object.defineProperty(exports2, "ClientStub", { enumerable: true, get: function() {
return grpc_2.ClientStub;
} });
Object.defineProperty(exports2, "GoogleProtoFilesRoot", { enumerable: true, get: function() {
return grpc_2.GoogleProtoFilesRoot;
} });
Object.defineProperty(exports2, "GrpcClient", { enumerable: true, get: function() {
return grpc_2.GrpcClient;
} });
var longrunning_1 = require_longrunning();
Object.defineProperty(exports2, "Operation", { enumerable: true, get: function() {
return longrunning_1.Operation;
} });
Object.defineProperty(exports2, "operation", { enumerable: true, get: function() {
return longrunning_1.operation;
} });
var pathTemplate_1 = require_pathTemplate();
Object.defineProperty(exports2, "PathTemplate", { enumerable: true, get: function() {
return pathTemplate_1.PathTemplate;
} });
var status_1 = require_status();
Object.defineProperty(exports2, "Status", { enumerable: true, get: function() {
return status_1.Status;
} });
var streaming_1 = require_streaming();
Object.defineProperty(exports2, "StreamType", { enumerable: true, get: function() {
return streaming_1.StreamType;
} });
function lro(options) {
options = Object.assign({ scopes: lro.ALL_SCOPES }, options);
const gaxGrpc = new grpc_1.GrpcClient(options);
return new operationsClient.OperationsClientBuilder(gaxGrpc);
}
lro.SERVICE_ADDRESS = operationsClient.SERVICE_ADDRESS;
lro.ALL_SCOPES = operationsClient.ALL_SCOPES;
var operationsClient_1 = require_operationsClient();
Object.defineProperty(exports2, "OperationsClient", { enumerable: true, get: function() {
return operationsClient_1.OperationsClient;
} });
var iamService_1 = require_iamService();
Object.defineProperty(exports2, "IamClient", { enumerable: true, get: function() {
return iamService_1.IamClient;
} });
var locationService_1 = require_locationService();
Object.defineProperty(exports2, "LocationsClient", { enumerable: true, get: function() {
return locationService_1.LocationsClient;
} });
exports2.createByteLengthFunction = grpc_1.GrpcClient.createByteLengthFunction;
exports2.version = require_package7().version;
var protobuf = require_protobufjs();
exports2.protobuf = protobuf;
exports2.protobufMinimal = require_minimal4();
var fallback = require_fallback();
exports2.fallback = fallback;
var util_1 = require_util10();
Object.defineProperty(exports2, "makeUUID", { enumerable: true, get: function() {
return util_1.makeUUID;
} });
var grpc_js_1 = require_src11();
Object.defineProperty(exports2, "ChannelCredentials", { enumerable: true, get: function() {
return grpc_js_1.ChannelCredentials;
} });
var warnings_1 = require_warnings();
Object.defineProperty(exports2, "warn", { enumerable: true, get: function() {
return warnings_1.warn;
} });
var serializer = require_src49();
exports2.serializer = serializer;
}
});
// node_modules/pump/index.js
var require_pump = __commonJS({
"node_modules/pump/index.js"(exports2, module2) {
var once11 = require_once();
var eos = require_end_of_stream2();
var fs84;
try {
fs84 = __require("fs");
} catch (e2) {
}
var noop4 = function() {
};
var ancient = typeof process === "undefined" ? false : /^v?\.0/.test(process.version);
var isFn = function(fn) {
return typeof fn === "function";
};
var isFS = function(stream2) {
if (!ancient) return false;
if (!fs84) return false;
return (stream2 instanceof (fs84.ReadStream || noop4) || stream2 instanceof (fs84.WriteStream || noop4)) && isFn(stream2.close);
};
var isRequest = function(stream2) {
return stream2.setHeader && isFn(stream2.abort);
};
var destroyer = function(stream2, reading, writing, callback) {
callback = once11(callback);
var closed = false;
stream2.on("close", function() {
closed = true;
});
eos(stream2, { readable: reading, writable: writing }, function(err2) {
if (err2) return callback(err2);
closed = true;
callback();
});
var destroyed = false;
return function(err2) {
if (closed) return;
if (destroyed) return;
destroyed = true;
if (isFS(stream2)) return stream2.close(noop4);
if (isRequest(stream2)) return stream2.abort();
if (isFn(stream2.destroy)) return stream2.destroy();
callback(err2 || new Error("stream was destroyed"));
};
};
var call = function(fn) {
fn();
};
var pipe2 = function(from, to) {
return from.pipe(to);
};
var pump = function() {
var streams = Array.prototype.slice.call(arguments);
var callback = isFn(streams[streams.length - 1] || noop4) && streams.pop() || noop4;
if (Array.isArray(streams[0])) streams = streams[0];
if (streams.length < 2) throw new Error("pump requires two streams per minimum");
var error40;
var destroys = streams.map(function(stream2, i3) {
var reading = i3 < streams.length - 1;
var writing = i3 > 0;
return destroyer(stream2, reading, writing, function(err2) {
if (!error40) error40 = err2;
if (err2) destroys.forEach(call);
if (reading) return;
destroys.forEach(call);
callback(error40);
});
});
return streams.reduce(pipe2);
};
module2.exports = pump;
}
});
// node_modules/pumpify/index.js
var require_pumpify = __commonJS({
"node_modules/pumpify/index.js"(exports2, module2) {
var pump = require_pump();
var inherits = require_inherits();
var Duplexify = require_duplexify();
var toArray2 = function(args2) {
if (!args2.length) return [];
return Array.isArray(args2[0]) ? args2[0] : Array.prototype.slice.call(args2);
};
var define2 = function(opts) {
var Pumpify = function() {
var streams = toArray2(arguments);
if (!(this instanceof Pumpify)) return new Pumpify(streams);
Duplexify.call(this, null, null, opts);
if (streams.length) this.setPipeline(streams);
};
inherits(Pumpify, Duplexify);
Pumpify.prototype.setPipeline = function() {
var streams = toArray2(arguments);
var self2 = this;
var ended = false;
var w = streams[0];
var r2 = streams[streams.length - 1];
r2 = r2.readable ? r2 : null;
w = w.writable ? w : null;
var onclose = function() {
streams[0].emit("error", new Error("stream was destroyed"));
};
this.on("close", onclose);
this.on("prefinish", function() {
if (!ended) self2.cork();
});
pump(streams, function(err2) {
self2.removeListener("close", onclose);
if (err2) return self2.destroy(err2.message === "premature close" ? null : err2);
ended = true;
if (self2._autoDestroy === false) self2._autoDestroy = true;
self2.uncork();
});
if (this.destroyed) return onclose();
this.setWritable(w);
this.setReadable(r2);
};
return Pumpify;
};
module2.exports = define2({ autoDestroy: false, destroy: false });
module2.exports.obj = define2({ autoDestroy: false, destroy: false, objectMode: true, highWaterMark: 16 });
module2.exports.ctor = define2;
}
});
// node_modules/ee-first/index.js
var require_ee_first = __commonJS({
"node_modules/ee-first/index.js"(exports2, module2) {
"use strict";
module2.exports = first2;
function first2(stuff, done) {
if (!Array.isArray(stuff))
throw new TypeError("arg must be an array of [ee, events...] arrays");
var cleanups = [];
for (var i3 = 0; i3 < stuff.length; i3++) {
var arr = stuff[i3];
if (!Array.isArray(arr) || arr.length < 2)
throw new TypeError("each array member must be [ee, events...]");
var ee = arr[0];
for (var j = 1; j < arr.length; j++) {
var event = arr[j];
var fn = listener(event, callback);
ee.on(event, fn);
cleanups.push({
ee,
event,
fn
});
}
}
function callback() {
cleanup();
done.apply(null, arguments);
}
function cleanup() {
var x;
for (var i4 = 0; i4 < cleanups.length; i4++) {
x = cleanups[i4];
x.ee.removeListener(x.event, x.fn);
}
}
function thunk(fn2) {
done = fn2;
}
thunk.cancel = cleanup;
return thunk;
}
function listener(event, done) {
return function onevent(arg1) {
var args2 = new Array(arguments.length);
var ee = this;
var err2 = event === "error" ? arg1 : null;
for (var i3 = 0; i3 < args2.length; i3++) {
args2[i3] = arguments[i3];
}
done(err2, ee, event, args2);
};
}
}
});
// node_modules/on-finished/index.js
var require_on_finished = __commonJS({
"node_modules/on-finished/index.js"(exports2, module2) {
"use strict";
module2.exports = onFinished;
module2.exports.isFinished = isFinished;
var asyncHooks = tryRequireAsyncHooks();
var first2 = require_ee_first();
var defer2 = typeof setImmediate === "function" ? setImmediate : function(fn) {
process.nextTick(fn.bind.apply(fn, arguments));
};
function onFinished(msg, listener) {
if (isFinished(msg) !== false) {
defer2(listener, null, msg);
return msg;
}
attachListener(msg, wrap(listener));
return msg;
}
function isFinished(msg) {
var socket = msg.socket;
if (typeof msg.finished === "boolean") {
return Boolean(msg.finished || socket && !socket.writable);
}
if (typeof msg.complete === "boolean") {
return Boolean(msg.upgrade || !socket || !socket.readable || msg.complete && !msg.readable);
}
return void 0;
}
function attachFinishedListener(msg, callback) {
var eeMsg;
var eeSocket;
var finished7 = false;
function onFinish(error40) {
eeMsg.cancel();
eeSocket.cancel();
finished7 = true;
callback(error40);
}
eeMsg = eeSocket = first2([[msg, "end", "finish"]], onFinish);
function onSocket(socket) {
msg.removeListener("socket", onSocket);
if (finished7) return;
if (eeMsg !== eeSocket) return;
eeSocket = first2([[socket, "error", "close"]], onFinish);
}
if (msg.socket) {
onSocket(msg.socket);
return;
}
msg.on("socket", onSocket);
if (msg.socket === void 0) {
patchAssignSocket(msg, onSocket);
}
}
function attachListener(msg, listener) {
var attached = msg.__onFinished;
if (!attached || !attached.queue) {
attached = msg.__onFinished = createListener(msg);
attachFinishedListener(msg, attached);
}
attached.queue.push(listener);
}
function createListener(msg) {
function listener(err2) {
if (msg.__onFinished === listener) msg.__onFinished = null;
if (!listener.queue) return;
var queue = listener.queue;
listener.queue = null;
for (var i3 = 0; i3 < queue.length; i3++) {
queue[i3](err2, msg);
}
}
listener.queue = [];
return listener;
}
function patchAssignSocket(res, callback) {
var assignSocket = res.assignSocket;
if (typeof assignSocket !== "function") return;
res.assignSocket = function _assignSocket(socket) {
assignSocket.call(this, socket);
callback(socket);
};
}
function tryRequireAsyncHooks() {
try {
return __require("async_hooks");
} catch (e2) {
return {};
}
}
function wrap(fn) {
var res;
if (asyncHooks.AsyncResource) {
res = new asyncHooks.AsyncResource(fn.name || "bound-anonymous-fn");
}
if (!res || !res.runInAsyncScope) {
return fn;
}
return res.runInAsyncScope.bind(res, fn, null);
}
}
});
// node_modules/@google-cloud/logging/build/src/utils/context.js
var require_context = __commonJS({
"node_modules/@google-cloud/logging/build/src/utils/context.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.W3C_TRACE_PARENT_HEADER = exports2.X_CLOUD_TRACE_HEADER = void 0;
exports2.makeHeaderWrapper = makeHeaderWrapper;
exports2.getOrInjectContext = getOrInjectContext;
exports2.getContextFromOtelContext = getContextFromOtelContext;
exports2.getContextFromXCloudTrace = getContextFromXCloudTrace;
exports2.getContextFromTraceParent = getContextFromTraceParent;
exports2.parseXCloudTraceHeader = parseXCloudTraceHeader;
exports2.parseTraceParentHeader = parseTraceParentHeader;
var uuid3 = (init_esm_node(), __toCommonJS(esm_node_exports));
var crypto22 = __require("crypto");
var api_1 = (init_esm(), __toCommonJS(esm_exports));
exports2.X_CLOUD_TRACE_HEADER = "x-cloud-trace-context";
var SPAN_ID_RANDOM_BYTES = 8;
var spanIdBuffer = Buffer.alloc(SPAN_ID_RANDOM_BYTES);
var randomFillSync2 = crypto22.randomFillSync;
var randomBytes7 = crypto22.randomBytes;
var spanRandomBuffer = randomFillSync2 ? () => randomFillSync2(spanIdBuffer) : () => randomBytes7(SPAN_ID_RANDOM_BYTES);
exports2.W3C_TRACE_PARENT_HEADER = "traceparent";
function makeHeaderWrapper(req) {
if (!req.headers)
return null;
const wrapper = {
setHeader(name3, value) {
req.headers[name3] = value;
},
getHeader(name3) {
return req.headers[name3];
}
};
return wrapper;
}
function getOrInjectContext(req, projectId, inject) {
const defaultContext = toCloudTraceContext({}, projectId);
const otelContext = getContextFromOtelContext(projectId);
if (otelContext)
return otelContext;
const wrapper = makeHeaderWrapper(req);
if (wrapper) {
const traceContext = getContextFromTraceParent(wrapper, projectId);
if (traceContext)
return traceContext;
const cloudContext = getContextFromXCloudTrace(wrapper, projectId);
if (cloudContext)
return cloudContext;
if (inject) {
wrapper.setHeader(exports2.X_CLOUD_TRACE_HEADER, makeCloudTraceHeader());
return getContextFromXCloudTrace(wrapper, projectId);
}
}
return defaultContext;
}
function toCloudTraceContext(anyContext, projectId) {
const context2 = {
trace: ""
};
if (anyContext === null || anyContext === void 0 ? void 0 : anyContext.trace) {
context2.trace = `projects/${projectId}/traces/${anyContext.trace}`;
}
if (anyContext === null || anyContext === void 0 ? void 0 : anyContext.spanId) {
context2.spanId = anyContext.spanId;
}
if ("traceSampled" in anyContext) {
context2.traceSampled = anyContext.traceSampled;
}
return context2;
}
function makeCloudTraceHeader() {
const trace2 = uuid3.v4().replace(/-/g, "");
const spanId = spanRandomBuffer().toString("hex");
return `${trace2}/${spanId}`;
}
function getContextFromOtelContext(projectId) {
var _a4;
const spanContext = (_a4 = api_1.trace.getActiveSpan()) === null || _a4 === void 0 ? void 0 : _a4.spanContext();
const FLAG_SAMPLED = 1;
if (spanContext !== void 0 && (0, api_1.isSpanContextValid)(spanContext)) {
const otelSpanContext = {
trace: spanContext === null || spanContext === void 0 ? void 0 : spanContext.traceId,
spanId: spanContext === null || spanContext === void 0 ? void 0 : spanContext.spanId,
traceSampled: (spanContext.traceFlags & FLAG_SAMPLED) !== 0
};
return toCloudTraceContext(otelSpanContext, projectId);
}
return null;
}
function getContextFromXCloudTrace(headerWrapper, projectId) {
const context2 = parseXCloudTraceHeader(headerWrapper);
if (!context2)
return null;
return toCloudTraceContext(context2, projectId);
}
function getContextFromTraceParent(headerWrapper, projectId) {
const context2 = parseTraceParentHeader(headerWrapper);
if (!context2)
return null;
return toCloudTraceContext(context2, projectId);
}
function parseXCloudTraceHeader(headerWrapper) {
var _a4;
const regex2 = /([a-f\d]+)?(\/?([a-f\d]+))?(;?o=(\d))?/;
const match2 = (_a4 = headerWrapper.getHeader(exports2.X_CLOUD_TRACE_HEADER)) === null || _a4 === void 0 ? void 0 : _a4.toString().match(regex2);
if (!match2)
return null;
return {
trace: match2[1],
spanId: match2[3],
traceSampled: match2[5] === "1"
};
}
function parseTraceParentHeader(headerWrapper) {
var _a4;
const VERSION_PART = "(?!ff)[\\da-f]{2}";
const TRACE_ID_PART = "(?![0]{32})[\\da-f]{32}";
const PARENT_ID_PART = "(?![0]{16})[\\da-f]{16}";
const FLAGS_PART = "[\\da-f]{2}";
const TRACE_PARENT_REGEX = new RegExp(`^\\s?(${VERSION_PART})-(${TRACE_ID_PART})-(${PARENT_ID_PART})-(${FLAGS_PART})(-.*)?\\s?$`);
const match2 = (_a4 = headerWrapper.getHeader(exports2.W3C_TRACE_PARENT_HEADER)) === null || _a4 === void 0 ? void 0 : _a4.toString().match(TRACE_PARENT_REGEX);
if (!match2)
return null;
if (match2[1] === "00" && match2[5])
return null;
return {
trace: match2[2],
spanId: match2[3],
traceSampled: (parseInt(match2[4], 16) & 1) === 1
};
}
}
});
// node_modules/@google-cloud/logging/build/src/utils/http-request.js
var require_http_request = __commonJS({
"node_modules/@google-cloud/logging/build/src/utils/http-request.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeHttpRequestData = makeHttpRequestData;
exports2.isRawHttpRequest = isRawHttpRequest;
function makeHttpRequestData(req, res, latencyMilliseconds) {
let requestUrl, protocol, requestMethod, userAgent, referer, status2, responseSize, latency;
if (req.url)
requestUrl = req.url;
if ("originalUrl" in req && req.originalUrl)
requestUrl = req.originalUrl;
if (requestUrl) {
try {
const url3 = new URL(requestUrl);
protocol = url3.protocol;
} catch (e2) {
}
}
req.method ? requestMethod = req.method : null;
if (req.headers && req.headers["user-agent"]) {
req.headers["user-agent"] ? userAgent = req.headers["user-agent"] : null;
req.headers["referer"] ? referer = req.headers["referer"] : null;
}
if (res) {
res.statusCode ? status2 = res.statusCode : null;
responseSize = res.getHeader && Number(res.getHeader("Content-Length")) || 0;
}
if (latencyMilliseconds) {
latency = {
seconds: Math.floor(latencyMilliseconds / 1e3),
nanos: Math.floor(latencyMilliseconds % 1e3 * 1e6)
};
}
return Object.assign({}, requestUrl ? { requestUrl } : null, protocol ? { protocol } : null, requestMethod ? { requestMethod } : null, userAgent ? { userAgent } : null, referer ? { referer } : null, responseSize ? { responseSize } : null, status2 ? { status: status2 } : null, latency ? { latency } : null);
}
function isRawHttpRequest(req) {
if (req && ("originalUrl" in req || "headers" in req || "method" in req || "url" in req)) {
return true;
}
return false;
}
}
});
// node_modules/@google-cloud/logging/build/src/middleware/express/make-middleware.js
var require_make_middleware = __commonJS({
"node_modules/@google-cloud/logging/build/src/middleware/express/make-middleware.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeMiddleware = makeMiddleware;
var onFinished = require_on_finished();
var context_1 = require_context();
var http_request_1 = require_http_request();
function makeMiddleware(projectId, makeChildLogger, emitRequestLog) {
return (req, res, next) => {
const requestStartMs = Date.now();
const traceContext = (0, context_1.getOrInjectContext)(req, projectId, true);
req.log = makeChildLogger(traceContext.trace, traceContext.spanId, traceContext.traceSampled);
if (emitRequestLog) {
onFinished(res, () => {
const latencyMs = Date.now() - requestStartMs;
const httpRequest = (0, http_request_1.makeHttpRequestData)(req, res, latencyMs);
emitRequestLog(httpRequest, traceContext.trace, traceContext.spanId, traceContext.traceSampled);
});
}
next();
};
}
}
});
// node_modules/@google-cloud/logging/build/src/middleware/express/index.js
var require_express = __commonJS({
"node_modules/@google-cloud/logging/build/src/middleware/express/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_make_middleware(), exports2);
}
});
// node_modules/@google-cloud/logging/build/src/middleware/index.js
var require_middleware = __commonJS({
"node_modules/@google-cloud/logging/build/src/middleware/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.express = void 0;
var express = require_express();
exports2.express = express;
}
});
// node_modules/@google-cloud/logging/build/src/utils/metadata.js
var require_metadata2 = __commonJS({
"node_modules/@google-cloud/logging/build/src/utils/metadata.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.KUBERNETES_NAMESPACE_ID_PATH = void 0;
exports2.getCloudFunctionDescriptor = getCloudFunctionDescriptor;
exports2.getCloudRunDescriptor = getCloudRunDescriptor;
exports2.getGAEDescriptor = getGAEDescriptor;
exports2.getGCEDescriptor = getGCEDescriptor;
exports2.getGKEDescriptor = getGKEDescriptor;
exports2.getGlobalDescriptor = getGlobalDescriptor;
exports2.getDefaultResource = getDefaultResource;
exports2.detectServiceContext = detectServiceContext;
var fs84 = __require("fs");
var gcpMetadata = require_src4();
var google_auth_library_1 = require_src6();
var util_1 = __require("util");
var readFile12 = (0, util_1.promisify)(fs84.readFile);
function zoneFromQualifiedZone(qualified) {
return qualified.split("/").pop();
}
function regionFromQualifiedZone(qualified) {
const zone = zoneFromQualifiedZone(qualified);
const region = zone === void 0 ? void 0 : zone.slice(0, zone.lastIndexOf("-"));
return region;
}
async function getCloudFunctionDescriptor() {
let region = void 0;
if (!(process.env.GOOGLE_CLOUD_REGION || process.env.FUNCTION_REGION)) {
const qualifiedZone = await gcpMetadata.instance("zone");
region = regionFromQualifiedZone(qualifiedZone);
}
return {
type: "cloud_function",
labels: {
function_name: process.env.K_SERVICE || process.env.FUNCTION_NAME,
region: process.env.GOOGLE_CLOUD_REGION || process.env.FUNCTION_REGION || region
}
};
}
async function getCloudRunDescriptor() {
const qualifiedZone = await gcpMetadata.instance("zone");
const location = regionFromQualifiedZone(qualifiedZone);
return {
type: "cloud_run_revision",
labels: {
location,
service_name: process.env.K_SERVICE,
revision_name: process.env.K_REVISION,
configuration_name: process.env.K_CONFIGURATION
}
};
}
async function getGAEDescriptor() {
const qualifiedZone = await gcpMetadata.instance("zone");
const zone = zoneFromQualifiedZone(qualifiedZone);
return {
type: "gae_app",
labels: {
module_id: process.env.GAE_SERVICE || process.env.GAE_MODULE_NAME,
version_id: process.env.GAE_VERSION,
zone
}
};
}
async function getGCEDescriptor() {
const idResponse = await gcpMetadata.instance("id");
const zoneResponse = await gcpMetadata.instance("zone");
const zone = zoneFromQualifiedZone(zoneResponse);
return {
type: "gce_instance",
labels: {
// idResponse can be BigNumber when the id too large for JavaScript
// numbers. Use a toString() to uniformly convert to a string.
instance_id: idResponse.toString(),
zone
}
};
}
exports2.KUBERNETES_NAMESPACE_ID_PATH = "/var/run/secrets/kubernetes.io/serviceaccount/namespace";
async function getGKEDescriptor() {
const resp = await gcpMetadata.instance("attributes/cluster-name");
const qualifiedZone = await gcpMetadata.instance("zone");
const location = zoneFromQualifiedZone(qualifiedZone);
let namespace = "";
try {
namespace = await readFile12(exports2.KUBERNETES_NAMESPACE_ID_PATH, "utf8");
} catch (err2) {
}
return {
type: "k8s_container",
labels: {
location,
cluster_name: resp,
namespace_name: namespace,
pod_name: process.env.HOSTNAME,
// Users must manually supply container name for now.
// This may be autodetected in the future, pending b/145137070.
container_name: process.env.CONTAINER_NAME
}
};
}
function getGlobalDescriptor() {
return {
type: "global"
};
}
async function getDefaultResource(auth2) {
const env2 = await auth2.getEnv();
switch (env2) {
case google_auth_library_1.GCPEnv.KUBERNETES_ENGINE:
return getGKEDescriptor().catch(() => getGlobalDescriptor());
case google_auth_library_1.GCPEnv.APP_ENGINE:
return getGAEDescriptor().catch(() => getGlobalDescriptor());
case google_auth_library_1.GCPEnv.CLOUD_FUNCTIONS:
return getCloudFunctionDescriptor().catch(() => getGlobalDescriptor());
case google_auth_library_1.GCPEnv.CLOUD_RUN:
return getCloudRunDescriptor().catch(() => getGlobalDescriptor());
case google_auth_library_1.GCPEnv.COMPUTE_ENGINE:
return getGCEDescriptor().catch(() => getGlobalDescriptor());
default:
return getGlobalDescriptor();
}
}
async function detectServiceContext(auth2) {
const env2 = await auth2.getEnv();
switch (env2) {
case google_auth_library_1.GCPEnv.APP_ENGINE:
return {
service: process.env.GAE_SERVICE || process.env.GAE_MODULE_NAME,
version: process.env.GAE_VERSION || process.env.GAE_MODULE_VERSION
};
case google_auth_library_1.GCPEnv.CLOUD_FUNCTIONS:
return {
service: process.env.FUNCTION_NAME
};
// On Kubernetes we use the pod-name to describe the service. Currently,
// we acquire the pod-name from within the pod through env var `HOSTNAME`.
case google_auth_library_1.GCPEnv.KUBERNETES_ENGINE:
return {
service: process.env.HOSTNAME
};
case google_auth_library_1.GCPEnv.CLOUD_RUN:
return {
service: process.env.K_SERVICE
};
case google_auth_library_1.GCPEnv.COMPUTE_ENGINE:
return null;
default:
return null;
}
}
}
});
// node_modules/@google-cloud/logging/package.json
var require_package8 = __commonJS({
"node_modules/@google-cloud/logging/package.json"(exports2, module2) {
module2.exports = {
name: "@google-cloud/logging",
version: "11.2.1",
description: "Cloud Logging Client Library for Node.js",
keywords: [
"google apis client",
"google api client",
"google apis",
"google api",
"google",
"google cloud platform",
"google cloud",
"cloud",
"google logging",
"logging",
"stackdriver logging",
"stackdriver"
],
repository: "googleapis/nodejs-logging",
license: "Apache-2.0",
author: "Google Inc.",
main: "build/src/index.js",
files: [
"build/src",
"build/protos"
],
scripts: {
clean: "gts clean",
compile: "tsc -p . && cp -r proto* build/",
"compile-protos": "compileProtos src",
predocs: "npm run compile",
docs: "jsdoc -c .jsdoc.js",
"predocs-test": "npm run docs",
"docs-test": "linkinator docs",
fix: "gts fix",
prelint: "cd samples; npm link ../; npm install",
lint: "gts check",
prepare: "npm run compile-protos && npm run compile",
"samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
"presystem-test": "npm run compile",
"system-test": "mocha build/system-test --timeout 600000",
pretest: "npm run compile",
test: "c8 mocha build/test",
precompile: "gts clean",
postpublish: "./.kokoro/publish-min.sh"
},
dependencies: {
"@google-cloud/common": "^5.0.0",
"@google-cloud/paginator": "^5.0.0",
"@google-cloud/projectify": "^4.0.0",
"@google-cloud/promisify": "4.0.0",
arrify: "^2.0.1",
"dot-prop": "^6.0.0",
eventid: "^2.0.0",
extend: "^3.0.2",
"gcp-metadata": "^6.0.0",
"google-auth-library": "^9.0.0",
"google-gax": "^4.0.3",
"on-finished": "^2.3.0",
pumpify: "^2.0.1",
"stream-events": "^1.0.5",
uuid: "^9.0.0",
"@opentelemetry/api": "^1.7.0"
},
devDependencies: {
"@google-cloud/bigquery": "^7.0.0",
"@google-cloud/pubsub": "^4.0.0",
"@google-cloud/storage": "^7.0.0",
"@types/extend": "^3.0.1",
"@types/mocha": "^9.0.0",
"@types/node": "^20.4.9",
"@types/on-finished": "^2.3.1",
"@types/proxyquire": "^1.3.28",
"@types/pumpify": "^1.4.1",
"@types/sinon": "^10.0.0",
"@types/uuid": "^9.0.0",
"bignumber.js": "^9.0.0",
c8: "^9.0.0",
codecov: "^3.6.5",
"gapic-tools": "^0.4.0",
gts: "^5.0.0",
http2spy: "^2.0.0",
jsdoc: "^4.0.0",
"jsdoc-region-tag": "^3.0.0",
"jsdoc-fresh": "^3.0.0",
linkinator: "^3.0.0",
mocha: "^9.2.2",
nock: "^13.0.0",
"null-loader": "^4.0.0",
"pack-n-play": "^2.0.0",
proxyquire: "^2.1.3",
sinon: "^18.0.0",
"ts-loader": "^9.0.0",
typescript: "^5.1.6",
"uglify-js": "^3.13.5",
webpack: "^5.0.0",
"webpack-cli": "^5.0.0",
"@opentelemetry/api": "^1.7.0",
"@opentelemetry/sdk-trace-node": "^1.23.0",
"@opentelemetry/sdk-node": "^0.52.0",
"@opentelemetry/semantic-conventions": "^1.23.0",
"@opentelemetry/sdk-trace-base": "^1.23.0",
"@opentelemetry/resources": "^1.23.0",
"@google-cloud/opentelemetry-cloud-trace-exporter": "^2.1.0"
},
engines: {
node: ">=14.0.0"
}
};
}
});
// node_modules/@google-cloud/logging/build/protos/protos.json
var require_protos2 = __commonJS({
"node_modules/@google-cloud/logging/build/protos/protos.json"(exports2, module2) {
module2.exports = {
nested: {
google: {
nested: {
protobuf: {
options: {
go_package: "google.golang.org/protobuf/types/descriptorpb",
java_package: "com.google.protobuf",
java_outer_classname: "DescriptorProtos",
csharp_namespace: "Google.Protobuf.Reflection",
objc_class_prefix: "GPB",
cc_enable_arenas: true,
optimize_for: "SPEED"
},
nested: {
Duration: {
fields: {
seconds: {
type: "int64",
id: 1
},
nanos: {
type: "int32",
id: 2
}
}
},
FileDescriptorSet: {
edition: "proto2",
fields: {
file: {
rule: "repeated",
type: "FileDescriptorProto",
id: 1
}
}
},
Edition: {
edition: "proto2",
values: {
EDITION_UNKNOWN: 0,
EDITION_PROTO2: 998,
EDITION_PROTO3: 999,
EDITION_2023: 1e3,
EDITION_2024: 1001,
EDITION_1_TEST_ONLY: 1,
EDITION_2_TEST_ONLY: 2,
EDITION_99997_TEST_ONLY: 99997,
EDITION_99998_TEST_ONLY: 99998,
EDITION_99999_TEST_ONLY: 99999,
EDITION_MAX: 2147483647
}
},
FileDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
package: {
type: "string",
id: 2
},
dependency: {
rule: "repeated",
type: "string",
id: 3
},
publicDependency: {
rule: "repeated",
type: "int32",
id: 10
},
weakDependency: {
rule: "repeated",
type: "int32",
id: 11
},
messageType: {
rule: "repeated",
type: "DescriptorProto",
id: 4
},
enumType: {
rule: "repeated",
type: "EnumDescriptorProto",
id: 5
},
service: {
rule: "repeated",
type: "ServiceDescriptorProto",
id: 6
},
extension: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 7
},
options: {
type: "FileOptions",
id: 8
},
sourceCodeInfo: {
type: "SourceCodeInfo",
id: 9
},
syntax: {
type: "string",
id: 12
},
edition: {
type: "Edition",
id: 14
}
}
},
DescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
field: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 2
},
extension: {
rule: "repeated",
type: "FieldDescriptorProto",
id: 6
},
nestedType: {
rule: "repeated",
type: "DescriptorProto",
id: 3
},
enumType: {
rule: "repeated",
type: "EnumDescriptorProto",
id: 4
},
extensionRange: {
rule: "repeated",
type: "ExtensionRange",
id: 5
},
oneofDecl: {
rule: "repeated",
type: "OneofDescriptorProto",
id: 8
},
options: {
type: "MessageOptions",
id: 7
},
reservedRange: {
rule: "repeated",
type: "ReservedRange",
id: 9
},
reservedName: {
rule: "repeated",
type: "string",
id: 10
}
},
nested: {
ExtensionRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
},
options: {
type: "ExtensionRangeOptions",
id: 3
}
}
},
ReservedRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
}
}
}
}
},
ExtensionRangeOptions: {
edition: "proto2",
fields: {
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
},
declaration: {
rule: "repeated",
type: "Declaration",
id: 2,
options: {
retention: "RETENTION_SOURCE"
}
},
features: {
type: "FeatureSet",
id: 50
},
verification: {
type: "VerificationState",
id: 3,
options: {
default: "UNVERIFIED",
retention: "RETENTION_SOURCE"
}
}
},
extensions: [
[
1e3,
536870911
]
],
nested: {
Declaration: {
fields: {
number: {
type: "int32",
id: 1
},
fullName: {
type: "string",
id: 2
},
type: {
type: "string",
id: 3
},
reserved: {
type: "bool",
id: 5
},
repeated: {
type: "bool",
id: 6
}
},
reserved: [
[
4,
4
]
]
},
VerificationState: {
values: {
DECLARATION: 0,
UNVERIFIED: 1
}
}
}
},
FieldDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
number: {
type: "int32",
id: 3
},
label: {
type: "Label",
id: 4
},
type: {
type: "Type",
id: 5
},
typeName: {
type: "string",
id: 6
},
extendee: {
type: "string",
id: 2
},
defaultValue: {
type: "string",
id: 7
},
oneofIndex: {
type: "int32",
id: 9
},
jsonName: {
type: "string",
id: 10
},
options: {
type: "FieldOptions",
id: 8
},
proto3Optional: {
type: "bool",
id: 17
}
},
nested: {
Type: {
values: {
TYPE_DOUBLE: 1,
TYPE_FLOAT: 2,
TYPE_INT64: 3,
TYPE_UINT64: 4,
TYPE_INT32: 5,
TYPE_FIXED64: 6,
TYPE_FIXED32: 7,
TYPE_BOOL: 8,
TYPE_STRING: 9,
TYPE_GROUP: 10,
TYPE_MESSAGE: 11,
TYPE_BYTES: 12,
TYPE_UINT32: 13,
TYPE_ENUM: 14,
TYPE_SFIXED32: 15,
TYPE_SFIXED64: 16,
TYPE_SINT32: 17,
TYPE_SINT64: 18
}
},
Label: {
values: {
LABEL_OPTIONAL: 1,
LABEL_REPEATED: 3,
LABEL_REQUIRED: 2
}
}
}
},
OneofDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
options: {
type: "OneofOptions",
id: 2
}
}
},
EnumDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
value: {
rule: "repeated",
type: "EnumValueDescriptorProto",
id: 2
},
options: {
type: "EnumOptions",
id: 3
},
reservedRange: {
rule: "repeated",
type: "EnumReservedRange",
id: 4
},
reservedName: {
rule: "repeated",
type: "string",
id: 5
}
},
nested: {
EnumReservedRange: {
fields: {
start: {
type: "int32",
id: 1
},
end: {
type: "int32",
id: 2
}
}
}
}
},
EnumValueDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
number: {
type: "int32",
id: 2
},
options: {
type: "EnumValueOptions",
id: 3
}
}
},
ServiceDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
method: {
rule: "repeated",
type: "MethodDescriptorProto",
id: 2
},
options: {
type: "ServiceOptions",
id: 3
}
}
},
MethodDescriptorProto: {
edition: "proto2",
fields: {
name: {
type: "string",
id: 1
},
inputType: {
type: "string",
id: 2
},
outputType: {
type: "string",
id: 3
},
options: {
type: "MethodOptions",
id: 4
},
clientStreaming: {
type: "bool",
id: 5,
options: {
default: false
}
},
serverStreaming: {
type: "bool",
id: 6,
options: {
default: false
}
}
}
},
FileOptions: {
edition: "proto2",
fields: {
javaPackage: {
type: "string",
id: 1
},
javaOuterClassname: {
type: "string",
id: 8
},
javaMultipleFiles: {
type: "bool",
id: 10,
options: {
default: false
}
},
javaGenerateEqualsAndHash: {
type: "bool",
id: 20,
options: {
deprecated: true
}
},
javaStringCheckUtf8: {
type: "bool",
id: 27,
options: {
default: false
}
},
optimizeFor: {
type: "OptimizeMode",
id: 9,
options: {
default: "SPEED"
}
},
goPackage: {
type: "string",
id: 11
},
ccGenericServices: {
type: "bool",
id: 16,
options: {
default: false
}
},
javaGenericServices: {
type: "bool",
id: 17,
options: {
default: false
}
},
pyGenericServices: {
type: "bool",
id: 18,
options: {
default: false
}
},
deprecated: {
type: "bool",
id: 23,
options: {
default: false
}
},
ccEnableArenas: {
type: "bool",
id: 31,
options: {
default: true
}
},
objcClassPrefix: {
type: "string",
id: 36
},
csharpNamespace: {
type: "string",
id: 37
},
swiftPrefix: {
type: "string",
id: 39
},
phpClassPrefix: {
type: "string",
id: 40
},
phpNamespace: {
type: "string",
id: 41
},
phpMetadataNamespace: {
type: "string",
id: 44
},
rubyPackage: {
type: "string",
id: 45
},
features: {
type: "FeatureSet",
id: 50
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
42,
42
],
[
38,
38
]
],
nested: {
OptimizeMode: {
values: {
SPEED: 1,
CODE_SIZE: 2,
LITE_RUNTIME: 3
}
}
}
},
MessageOptions: {
edition: "proto2",
fields: {
messageSetWireFormat: {
type: "bool",
id: 1,
options: {
default: false
}
},
noStandardDescriptorAccessor: {
type: "bool",
id: 2,
options: {
default: false
}
},
deprecated: {
type: "bool",
id: 3,
options: {
default: false
}
},
mapEntry: {
type: "bool",
id: 7
},
deprecatedLegacyJsonFieldConflicts: {
type: "bool",
id: 11,
options: {
deprecated: true
}
},
features: {
type: "FeatureSet",
id: 12
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
4,
4
],
[
5,
5
],
[
6,
6
],
[
8,
8
],
[
9,
9
]
]
},
FieldOptions: {
edition: "proto2",
fields: {
ctype: {
type: "CType",
id: 1,
options: {
default: "STRING"
}
},
packed: {
type: "bool",
id: 2
},
jstype: {
type: "JSType",
id: 6,
options: {
default: "JS_NORMAL"
}
},
lazy: {
type: "bool",
id: 5,
options: {
default: false
}
},
unverifiedLazy: {
type: "bool",
id: 15,
options: {
default: false
}
},
deprecated: {
type: "bool",
id: 3,
options: {
default: false
}
},
weak: {
type: "bool",
id: 10,
options: {
default: false
}
},
debugRedact: {
type: "bool",
id: 16,
options: {
default: false
}
},
retention: {
type: "OptionRetention",
id: 17
},
targets: {
rule: "repeated",
type: "OptionTargetType",
id: 19
},
editionDefaults: {
rule: "repeated",
type: "EditionDefault",
id: 20
},
features: {
type: "FeatureSet",
id: 21
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
4,
4
],
[
18,
18
]
],
nested: {
CType: {
values: {
STRING: 0,
CORD: 1,
STRING_PIECE: 2
}
},
JSType: {
values: {
JS_NORMAL: 0,
JS_STRING: 1,
JS_NUMBER: 2
}
},
OptionRetention: {
values: {
RETENTION_UNKNOWN: 0,
RETENTION_RUNTIME: 1,
RETENTION_SOURCE: 2
}
},
OptionTargetType: {
values: {
TARGET_TYPE_UNKNOWN: 0,
TARGET_TYPE_FILE: 1,
TARGET_TYPE_EXTENSION_RANGE: 2,
TARGET_TYPE_MESSAGE: 3,
TARGET_TYPE_FIELD: 4,
TARGET_TYPE_ONEOF: 5,
TARGET_TYPE_ENUM: 6,
TARGET_TYPE_ENUM_ENTRY: 7,
TARGET_TYPE_SERVICE: 8,
TARGET_TYPE_METHOD: 9
}
},
EditionDefault: {
fields: {
edition: {
type: "Edition",
id: 3
},
value: {
type: "string",
id: 2
}
}
}
}
},
OneofOptions: {
edition: "proto2",
fields: {
features: {
type: "FeatureSet",
id: 1
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
EnumOptions: {
edition: "proto2",
fields: {
allowAlias: {
type: "bool",
id: 2
},
deprecated: {
type: "bool",
id: 3,
options: {
default: false
}
},
deprecatedLegacyJsonFieldConflicts: {
type: "bool",
id: 6,
options: {
deprecated: true
}
},
features: {
type: "FeatureSet",
id: 7
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
reserved: [
[
5,
5
]
]
},
EnumValueOptions: {
edition: "proto2",
fields: {
deprecated: {
type: "bool",
id: 1,
options: {
default: false
}
},
features: {
type: "FeatureSet",
id: 2
},
debugRedact: {
type: "bool",
id: 3,
options: {
default: false
}
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
ServiceOptions: {
edition: "proto2",
fields: {
features: {
type: "FeatureSet",
id: 34
},
deprecated: {
type: "bool",
id: 33,
options: {
default: false
}
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
]
},
MethodOptions: {
edition: "proto2",
fields: {
deprecated: {
type: "bool",
id: 33,
options: {
default: false
}
},
idempotencyLevel: {
type: "IdempotencyLevel",
id: 34,
options: {
default: "IDEMPOTENCY_UNKNOWN"
}
},
features: {
type: "FeatureSet",
id: 35
},
uninterpretedOption: {
rule: "repeated",
type: "UninterpretedOption",
id: 999
}
},
extensions: [
[
1e3,
536870911
]
],
nested: {
IdempotencyLevel: {
values: {
IDEMPOTENCY_UNKNOWN: 0,
NO_SIDE_EFFECTS: 1,
IDEMPOTENT: 2
}
}
}
},
UninterpretedOption: {
edition: "proto2",
fields: {
name: {
rule: "repeated",
type: "NamePart",
id: 2
},
identifierValue: {
type: "string",
id: 3
},
positiveIntValue: {
type: "uint64",
id: 4
},
negativeIntValue: {
type: "int64",
id: 5
},
doubleValue: {
type: "double",
id: 6
},
stringValue: {
type: "bytes",
id: 7
},
aggregateValue: {
type: "string",
id: 8
}
},
nested: {
NamePart: {
fields: {
namePart: {
rule: "required",
type: "string",
id: 1
},
isExtension: {
rule: "required",
type: "bool",
id: 2
}
}
}
}
},
FeatureSet: {
edition: "proto2",
fields: {
fieldPresence: {
type: "FieldPresence",
id: 1,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"edition_defaults.edition": "EDITION_2023",
"edition_defaults.value": "EXPLICIT"
}
},
enumType: {
type: "EnumType",
id: 2,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "OPEN"
}
},
repeatedFieldEncoding: {
type: "RepeatedFieldEncoding",
id: 3,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "PACKED"
}
},
utf8Validation: {
type: "Utf8Validation",
id: 4,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "VERIFY"
}
},
messageEncoding: {
type: "MessageEncoding",
id: 5,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"edition_defaults.edition": "EDITION_PROTO2",
"edition_defaults.value": "LENGTH_PREFIXED"
}
},
jsonFormat: {
type: "JsonFormat",
id: 6,
options: {
retention: "RETENTION_RUNTIME",
targets: "TARGET_TYPE_FILE",
"edition_defaults.edition": "EDITION_PROTO3",
"edition_defaults.value": "ALLOW"
}
}
},
extensions: [
[
1e3,
1e3
],
[
1001,
1001
],
[
1002,
1002
],
[
9990,
9990
],
[
9995,
9999
],
[
1e4,
1e4
]
],
reserved: [
[
999,
999
]
],
nested: {
FieldPresence: {
values: {
FIELD_PRESENCE_UNKNOWN: 0,
EXPLICIT: 1,
IMPLICIT: 2,
LEGACY_REQUIRED: 3
}
},
EnumType: {
values: {
ENUM_TYPE_UNKNOWN: 0,
OPEN: 1,
CLOSED: 2
}
},
RepeatedFieldEncoding: {
values: {
REPEATED_FIELD_ENCODING_UNKNOWN: 0,
PACKED: 1,
EXPANDED: 2
}
},
Utf8Validation: {
values: {
UTF8_VALIDATION_UNKNOWN: 0,
VERIFY: 2,
NONE: 3
}
},
MessageEncoding: {
values: {
MESSAGE_ENCODING_UNKNOWN: 0,
LENGTH_PREFIXED: 1,
DELIMITED: 2
}
},
JsonFormat: {
values: {
JSON_FORMAT_UNKNOWN: 0,
ALLOW: 1,
LEGACY_BEST_EFFORT: 2
}
}
}
},
FeatureSetDefaults: {
edition: "proto2",
fields: {
defaults: {
rule: "repeated",
type: "FeatureSetEditionDefault",
id: 1
},
minimumEdition: {
type: "Edition",
id: 4
},
maximumEdition: {
type: "Edition",
id: 5
}
},
nested: {
FeatureSetEditionDefault: {
fields: {
edition: {
type: "Edition",
id: 3
},
features: {
type: "FeatureSet",
id: 2
}
}
}
}
},
SourceCodeInfo: {
edition: "proto2",
fields: {
location: {
rule: "repeated",
type: "Location",
id: 1
}
},
nested: {
Location: {
fields: {
path: {
rule: "repeated",
type: "int32",
id: 1,
options: {
packed: true
}
},
span: {
rule: "repeated",
type: "int32",
id: 2,
options: {
packed: true
}
},
leadingComments: {
type: "string",
id: 3
},
trailingComments: {
type: "string",
id: 4
},
leadingDetachedComments: {
rule: "repeated",
type: "string",
id: 6
}
}
}
}
},
GeneratedCodeInfo: {
edition: "proto2",
fields: {
annotation: {
rule: "repeated",
type: "Annotation",
id: 1
}
},
nested: {
Annotation: {
fields: {
path: {
rule: "repeated",
type: "int32",
id: 1,
options: {
packed: true
}
},
sourceFile: {
type: "string",
id: 2
},
begin: {
type: "int32",
id: 3
},
end: {
type: "int32",
id: 4
},
semantic: {
type: "Semantic",
id: 5
}
},
nested: {
Semantic: {
values: {
NONE: 0,
SET: 1,
ALIAS: 2
}
}
}
}
}
},
Struct: {
fields: {
fields: {
keyType: "string",
type: "Value",
id: 1
}
}
},
Value: {
oneofs: {
kind: {
oneof: [
"nullValue",
"numberValue",
"stringValue",
"boolValue",
"structValue",
"listValue"
]
}
},
fields: {
nullValue: {
type: "NullValue",
id: 1
},
numberValue: {
type: "double",
id: 2
},
stringValue: {
type: "string",
id: 3
},
boolValue: {
type: "bool",
id: 4
},
structValue: {
type: "Struct",
id: 5
},
listValue: {
type: "ListValue",
id: 6
}
}
},
NullValue: {
values: {
NULL_VALUE: 0
}
},
ListValue: {
fields: {
values: {
rule: "repeated",
type: "Value",
id: 1
}
}
},
Any: {
fields: {
type_url: {
type: "string",
id: 1
},
value: {
type: "bytes",
id: 2
}
}
},
Timestamp: {
fields: {
seconds: {
type: "int64",
id: 1
},
nanos: {
type: "int32",
id: 2
}
}
},
Empty: {
fields: {}
},
FieldMask: {
fields: {
paths: {
rule: "repeated",
type: "string",
id: 1
}
}
}
}
},
logging: {
nested: {
type: {
options: {
csharp_namespace: "Google.Cloud.Logging.Type",
go_package: "google.golang.org/genproto/googleapis/logging/type;ltype",
java_multiple_files: true,
java_outer_classname: "LogSeverityProto",
java_package: "com.google.logging.type",
php_namespace: "Google\\Cloud\\Logging\\Type",
ruby_package: "Google::Cloud::Logging::Type",
objc_class_prefix: "GLOG"
},
nested: {
HttpRequest: {
fields: {
requestMethod: {
type: "string",
id: 1
},
requestUrl: {
type: "string",
id: 2
},
requestSize: {
type: "int64",
id: 3
},
status: {
type: "int32",
id: 4
},
responseSize: {
type: "int64",
id: 5
},
userAgent: {
type: "string",
id: 6
},
remoteIp: {
type: "string",
id: 7
},
serverIp: {
type: "string",
id: 13
},
referer: {
type: "string",
id: 8
},
latency: {
type: "google.protobuf.Duration",
id: 14
},
cacheLookup: {
type: "bool",
id: 11
},
cacheHit: {
type: "bool",
id: 9
},
cacheValidatedWithOriginServer: {
type: "bool",
id: 10
},
cacheFillBytes: {
type: "int64",
id: 12
},
protocol: {
type: "string",
id: 15
}
}
},
LogSeverity: {
values: {
DEFAULT: 0,
DEBUG: 100,
INFO: 200,
NOTICE: 300,
WARNING: 400,
ERROR: 500,
CRITICAL: 600,
ALERT: 700,
EMERGENCY: 800
}
}
}
},
v2: {
options: {
cc_enable_arenas: true,
csharp_namespace: "Google.Cloud.Logging.V2",
go_package: "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb",
java_multiple_files: true,
java_outer_classname: "LoggingMetricsProto",
java_package: "com.google.logging.v2",
php_namespace: "Google\\Cloud\\Logging\\V2",
ruby_package: "Google::Cloud::Logging::V2",
"(google.api.resource_definition).type": "logging.googleapis.com/BillingAccountLocation",
"(google.api.resource_definition).pattern": "billingAccounts/{billing_account}/locations/{location}"
},
nested: {
LogEntry: {
options: {
"(google.api.resource).type": "logging.googleapis.com/Log",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/logs/{log}",
"(google.api.resource).name_field": "log_name"
},
oneofs: {
payload: {
oneof: [
"protoPayload",
"textPayload",
"jsonPayload"
]
}
},
fields: {
logName: {
type: "string",
id: 12,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
resource: {
type: "google.api.MonitoredResource",
id: 8,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
protoPayload: {
type: "google.protobuf.Any",
id: 2
},
textPayload: {
type: "string",
id: 3
},
jsonPayload: {
type: "google.protobuf.Struct",
id: 6
},
timestamp: {
type: "google.protobuf.Timestamp",
id: 9,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
receiveTimestamp: {
type: "google.protobuf.Timestamp",
id: 24,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
severity: {
type: "google.logging.type.LogSeverity",
id: 10,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
insertId: {
type: "string",
id: 4,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
httpRequest: {
type: "google.logging.type.HttpRequest",
id: 7,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
labels: {
keyType: "string",
type: "string",
id: 11,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
operation: {
type: "LogEntryOperation",
id: 15,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
trace: {
type: "string",
id: 22,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
spanId: {
type: "string",
id: 27,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
traceSampled: {
type: "bool",
id: 30,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
sourceLocation: {
type: "LogEntrySourceLocation",
id: 23,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
split: {
type: "LogSplit",
id: 35,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
LogEntryOperation: {
fields: {
id: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
producer: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
first: {
type: "bool",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
last: {
type: "bool",
id: 4,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
LogEntrySourceLocation: {
fields: {
file: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
line: {
type: "int64",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
function: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
LogSplit: {
fields: {
uid: {
type: "string",
id: 1
},
index: {
type: "int32",
id: 2
},
totalSplits: {
type: "int32",
id: 3
}
}
},
LoggingServiceV2: {
options: {
"(google.api.default_host)": "logging.googleapis.com",
"(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/logging.admin,https://www.googleapis.com/auth/logging.read,https://www.googleapis.com/auth/logging.write"
},
methods: {
DeleteLog: {
requestType: "DeleteLogRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).delete": "/v2/{log_name=projects/*/logs/*}",
"(google.api.http).additional_bindings.delete": "/v2/{log_name=billingAccounts/*/logs/*}",
"(google.api.method_signature)": "log_name"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v2/{log_name=projects/*/logs/*}",
additional_bindings: [
{
delete: "/v2/{log_name=*/*/logs/*}"
},
{
delete: "/v2/{log_name=organizations/*/logs/*}"
},
{
delete: "/v2/{log_name=folders/*/logs/*}"
},
{
delete: "/v2/{log_name=billingAccounts/*/logs/*}"
}
]
}
},
{
"(google.api.method_signature)": "log_name"
}
]
},
WriteLogEntries: {
requestType: "WriteLogEntriesRequest",
responseType: "WriteLogEntriesResponse",
options: {
"(google.api.http).post": "/v2/entries:write",
"(google.api.http).body": "*",
"(google.api.method_signature)": "log_name,resource,labels,entries"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/entries:write",
body: "*"
}
},
{
"(google.api.method_signature)": "log_name,resource,labels,entries"
}
]
},
ListLogEntries: {
requestType: "ListLogEntriesRequest",
responseType: "ListLogEntriesResponse",
options: {
"(google.api.http).post": "/v2/entries:list",
"(google.api.http).body": "*",
"(google.api.method_signature)": "resource_names,filter,order_by"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/entries:list",
body: "*"
}
},
{
"(google.api.method_signature)": "resource_names,filter,order_by"
}
]
},
ListMonitoredResourceDescriptors: {
requestType: "ListMonitoredResourceDescriptorsRequest",
responseType: "ListMonitoredResourceDescriptorsResponse",
options: {
"(google.api.http).get": "/v2/monitoredResourceDescriptors"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/monitoredResourceDescriptors"
}
}
]
},
ListLogs: {
requestType: "ListLogsRequest",
responseType: "ListLogsResponse",
options: {
"(google.api.http).get": "/v2/{parent=*/*}/logs",
"(google.api.http).additional_bindings.get": "/v2/{parent=billingAccounts/*/locations/*/buckets/*/views/*}/logs",
"(google.api.method_signature)": "parent"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{parent=*/*}/logs",
additional_bindings: [
{
get: "/v2/{parent=projects/*}/logs"
},
{
get: "/v2/{parent=organizations/*}/logs"
},
{
get: "/v2/{parent=folders/*}/logs"
},
{
get: "/v2/{parent=billingAccounts/*}/logs"
},
{
get: "/v2/{parent=projects/*/locations/*/buckets/*/views/*}/logs"
},
{
get: "/v2/{parent=organizations/*/locations/*/buckets/*/views/*}/logs"
},
{
get: "/v2/{parent=folders/*/locations/*/buckets/*/views/*}/logs"
},
{
get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*/views/*}/logs"
}
]
}
},
{
"(google.api.method_signature)": "parent"
}
]
},
TailLogEntries: {
requestType: "TailLogEntriesRequest",
requestStream: true,
responseType: "TailLogEntriesResponse",
responseStream: true,
options: {
"(google.api.http).post": "/v2/entries:tail",
"(google.api.http).body": "*"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/entries:tail",
body: "*"
}
}
]
}
}
},
DeleteLogRequest: {
fields: {
logName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/Log"
}
}
}
},
WriteLogEntriesRequest: {
fields: {
logName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "OPTIONAL",
"(google.api.resource_reference).type": "logging.googleapis.com/Log"
}
},
resource: {
type: "google.api.MonitoredResource",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
labels: {
keyType: "string",
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
entries: {
rule: "repeated",
type: "LogEntry",
id: 4,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
partialSuccess: {
type: "bool",
id: 5,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
dryRun: {
type: "bool",
id: 6,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
WriteLogEntriesResponse: {
fields: {}
},
WriteLogEntriesPartialErrors: {
fields: {
logEntryErrors: {
keyType: "int32",
type: "google.rpc.Status",
id: 1
}
}
},
ListLogEntriesRequest: {
fields: {
resourceNames: {
rule: "repeated",
type: "string",
id: 8,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/Log"
}
},
filter: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
orderBy: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageSize: {
type: "int32",
id: 4,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageToken: {
type: "string",
id: 5,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListLogEntriesResponse: {
fields: {
entries: {
rule: "repeated",
type: "LogEntry",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
ListMonitoredResourceDescriptorsRequest: {
fields: {
pageSize: {
type: "int32",
id: 1,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageToken: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListMonitoredResourceDescriptorsResponse: {
fields: {
resourceDescriptors: {
rule: "repeated",
type: "google.api.MonitoredResourceDescriptor",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
ListLogsRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/Log"
}
},
resourceNames: {
rule: "repeated",
type: "string",
id: 8,
options: {
"(google.api.field_behavior)": "OPTIONAL",
"(google.api.resource_reference).child_type": "logging.googleapis.com/Log"
}
},
pageSize: {
type: "int32",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageToken: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListLogsResponse: {
fields: {
logNames: {
rule: "repeated",
type: "string",
id: 3
},
nextPageToken: {
type: "string",
id: 2
}
}
},
TailLogEntriesRequest: {
fields: {
resourceNames: {
rule: "repeated",
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
filter: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
bufferWindow: {
type: "google.protobuf.Duration",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
TailLogEntriesResponse: {
fields: {
entries: {
rule: "repeated",
type: "LogEntry",
id: 1
},
suppressionInfo: {
rule: "repeated",
type: "SuppressionInfo",
id: 2
}
},
nested: {
SuppressionInfo: {
fields: {
reason: {
type: "Reason",
id: 1
},
suppressedCount: {
type: "int32",
id: 2
}
},
nested: {
Reason: {
values: {
REASON_UNSPECIFIED: 0,
RATE_LIMIT: 1,
NOT_CONSUMED: 2
}
}
}
}
}
},
ConfigServiceV2: {
options: {
"(google.api.default_host)": "logging.googleapis.com",
"(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/logging.admin,https://www.googleapis.com/auth/logging.read"
},
methods: {
ListBuckets: {
requestType: "ListBucketsRequest",
responseType: "ListBucketsResponse",
options: {
"(google.api.http).get": "/v2/{parent=*/*/locations/*}/buckets",
"(google.api.http).additional_bindings.get": "/v2/{parent=billingAccounts/*/locations/*}/buckets",
"(google.api.method_signature)": "parent"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{parent=*/*/locations/*}/buckets",
additional_bindings: [
{
get: "/v2/{parent=projects/*/locations/*}/buckets"
},
{
get: "/v2/{parent=organizations/*/locations/*}/buckets"
},
{
get: "/v2/{parent=folders/*/locations/*}/buckets"
},
{
get: "/v2/{parent=billingAccounts/*/locations/*}/buckets"
}
]
}
},
{
"(google.api.method_signature)": "parent"
}
]
},
GetBucket: {
requestType: "GetBucketRequest",
responseType: "LogBucket",
options: {
"(google.api.http).get": "/v2/{name=*/*/locations/*/buckets/*}",
"(google.api.http).additional_bindings.get": "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{name=*/*/locations/*/buckets/*}",
additional_bindings: [
{
get: "/v2/{name=projects/*/locations/*/buckets/*}"
},
{
get: "/v2/{name=organizations/*/locations/*/buckets/*}"
},
{
get: "/v2/{name=folders/*/locations/*/buckets/*}"
},
{
get: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
}
]
}
}
]
},
CreateBucketAsync: {
requestType: "CreateBucketRequest",
responseType: "google.longrunning.Operation",
options: {
"(google.api.http).post": "/v2/{parent=*/*/locations/*}/buckets:createAsync",
"(google.api.http).body": "bucket",
"(google.api.http).additional_bindings.post": "/v2/{parent=billingAccounts/*/locations/*}/buckets:createAsync",
"(google.api.http).additional_bindings.body": "bucket",
"(google.longrunning.operation_info).response_type": "LogBucket",
"(google.longrunning.operation_info).metadata_type": "BucketMetadata"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{parent=*/*/locations/*}/buckets:createAsync",
body: "bucket",
additional_bindings: [
{
post: "/v2/{parent=projects/*/locations/*}/buckets:createAsync",
body: "bucket"
},
{
post: "/v2/{parent=organizations/*/locations/*}/buckets:createAsync",
body: "bucket"
},
{
post: "/v2/{parent=folders/*/locations/*}/buckets:createAsync",
body: "bucket"
},
{
post: "/v2/{parent=billingAccounts/*/locations/*}/buckets:createAsync",
body: "bucket"
}
]
}
},
{
"(google.longrunning.operation_info)": {
response_type: "LogBucket",
metadata_type: "BucketMetadata"
}
}
]
},
UpdateBucketAsync: {
requestType: "UpdateBucketRequest",
responseType: "google.longrunning.Operation",
options: {
"(google.api.http).post": "/v2/{name=*/*/locations/*/buckets/*}:updateAsync",
"(google.api.http).body": "bucket",
"(google.api.http).additional_bindings.post": "/v2/{name=billingAccounts/*/locations/*/buckets/*}:updateAsync",
"(google.api.http).additional_bindings.body": "bucket",
"(google.longrunning.operation_info).response_type": "LogBucket",
"(google.longrunning.operation_info).metadata_type": "BucketMetadata"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{name=*/*/locations/*/buckets/*}:updateAsync",
body: "bucket",
additional_bindings: [
{
post: "/v2/{name=projects/*/locations/*/buckets/*}:updateAsync",
body: "bucket"
},
{
post: "/v2/{name=organizations/*/locations/*/buckets/*}:updateAsync",
body: "bucket"
},
{
post: "/v2/{name=folders/*/locations/*/buckets/*}:updateAsync",
body: "bucket"
},
{
post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:updateAsync",
body: "bucket"
}
]
}
},
{
"(google.longrunning.operation_info)": {
response_type: "LogBucket",
metadata_type: "BucketMetadata"
}
}
]
},
CreateBucket: {
requestType: "CreateBucketRequest",
responseType: "LogBucket",
options: {
"(google.api.http).post": "/v2/{parent=*/*/locations/*}/buckets",
"(google.api.http).body": "bucket",
"(google.api.http).additional_bindings.post": "/v2/{parent=billingAccounts/*/locations/*}/buckets",
"(google.api.http).additional_bindings.body": "bucket"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{parent=*/*/locations/*}/buckets",
body: "bucket",
additional_bindings: [
{
post: "/v2/{parent=projects/*/locations/*}/buckets",
body: "bucket"
},
{
post: "/v2/{parent=organizations/*/locations/*}/buckets",
body: "bucket"
},
{
post: "/v2/{parent=folders/*/locations/*}/buckets",
body: "bucket"
},
{
post: "/v2/{parent=billingAccounts/*/locations/*}/buckets",
body: "bucket"
}
]
}
}
]
},
UpdateBucket: {
requestType: "UpdateBucketRequest",
responseType: "LogBucket",
options: {
"(google.api.http).patch": "/v2/{name=*/*/locations/*/buckets/*}",
"(google.api.http).body": "bucket",
"(google.api.http).additional_bindings.patch": "/v2/{name=billingAccounts/*/locations/*/buckets/*}",
"(google.api.http).additional_bindings.body": "bucket"
},
parsedOptions: [
{
"(google.api.http)": {
patch: "/v2/{name=*/*/locations/*/buckets/*}",
body: "bucket",
additional_bindings: [
{
patch: "/v2/{name=projects/*/locations/*/buckets/*}",
body: "bucket"
},
{
patch: "/v2/{name=organizations/*/locations/*/buckets/*}",
body: "bucket"
},
{
patch: "/v2/{name=folders/*/locations/*/buckets/*}",
body: "bucket"
},
{
patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*}",
body: "bucket"
}
]
}
}
]
},
DeleteBucket: {
requestType: "DeleteBucketRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).delete": "/v2/{name=*/*/locations/*/buckets/*}",
"(google.api.http).additional_bindings.delete": "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v2/{name=*/*/locations/*/buckets/*}",
additional_bindings: [
{
delete: "/v2/{name=projects/*/locations/*/buckets/*}"
},
{
delete: "/v2/{name=organizations/*/locations/*/buckets/*}"
},
{
delete: "/v2/{name=folders/*/locations/*/buckets/*}"
},
{
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
}
]
}
}
]
},
UndeleteBucket: {
requestType: "UndeleteBucketRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).post": "/v2/{name=*/*/locations/*/buckets/*}:undelete",
"(google.api.http).body": "*",
"(google.api.http).additional_bindings.post": "/v2/{name=billingAccounts/*/locations/*/buckets/*}:undelete",
"(google.api.http).additional_bindings.body": "*"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{name=*/*/locations/*/buckets/*}:undelete",
body: "*",
additional_bindings: [
{
post: "/v2/{name=projects/*/locations/*/buckets/*}:undelete",
body: "*"
},
{
post: "/v2/{name=organizations/*/locations/*/buckets/*}:undelete",
body: "*"
},
{
post: "/v2/{name=folders/*/locations/*/buckets/*}:undelete",
body: "*"
},
{
post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:undelete",
body: "*"
}
]
}
}
]
},
ListViews: {
requestType: "ListViewsRequest",
responseType: "ListViewsResponse",
options: {
"(google.api.http).get": "/v2/{parent=*/*/locations/*/buckets/*}/views",
"(google.api.http).additional_bindings.get": "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views",
"(google.api.method_signature)": "parent"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{parent=*/*/locations/*/buckets/*}/views",
additional_bindings: [
{
get: "/v2/{parent=projects/*/locations/*/buckets/*}/views"
},
{
get: "/v2/{parent=organizations/*/locations/*/buckets/*}/views"
},
{
get: "/v2/{parent=folders/*/locations/*/buckets/*}/views"
},
{
get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views"
}
]
}
},
{
"(google.api.method_signature)": "parent"
}
]
},
GetView: {
requestType: "GetViewRequest",
responseType: "LogView",
options: {
"(google.api.http).get": "/v2/{name=*/*/locations/*/buckets/*/views/*}",
"(google.api.http).additional_bindings.get": "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{name=*/*/locations/*/buckets/*/views/*}",
additional_bindings: [
{
get: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
},
{
get: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
},
{
get: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
},
{
get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
}
]
}
}
]
},
CreateView: {
requestType: "CreateViewRequest",
responseType: "LogView",
options: {
"(google.api.http).post": "/v2/{parent=*/*/locations/*/buckets/*}/views",
"(google.api.http).body": "view",
"(google.api.http).additional_bindings.post": "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views",
"(google.api.http).additional_bindings.body": "view"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{parent=*/*/locations/*/buckets/*}/views",
body: "view",
additional_bindings: [
{
post: "/v2/{parent=projects/*/locations/*/buckets/*}/views",
body: "view"
},
{
post: "/v2/{parent=organizations/*/locations/*/buckets/*}/views",
body: "view"
},
{
post: "/v2/{parent=folders/*/locations/*/buckets/*}/views",
body: "view"
},
{
post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views",
body: "view"
}
]
}
}
]
},
UpdateView: {
requestType: "UpdateViewRequest",
responseType: "LogView",
options: {
"(google.api.http).patch": "/v2/{name=*/*/locations/*/buckets/*/views/*}",
"(google.api.http).body": "view",
"(google.api.http).additional_bindings.patch": "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}",
"(google.api.http).additional_bindings.body": "view"
},
parsedOptions: [
{
"(google.api.http)": {
patch: "/v2/{name=*/*/locations/*/buckets/*/views/*}",
body: "view",
additional_bindings: [
{
patch: "/v2/{name=projects/*/locations/*/buckets/*/views/*}",
body: "view"
},
{
patch: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}",
body: "view"
},
{
patch: "/v2/{name=folders/*/locations/*/buckets/*/views/*}",
body: "view"
},
{
patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}",
body: "view"
}
]
}
}
]
},
DeleteView: {
requestType: "DeleteViewRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).delete": "/v2/{name=*/*/locations/*/buckets/*/views/*}",
"(google.api.http).additional_bindings.delete": "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v2/{name=*/*/locations/*/buckets/*/views/*}",
additional_bindings: [
{
delete: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
},
{
delete: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
},
{
delete: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
},
{
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
}
]
}
}
]
},
ListSinks: {
requestType: "ListSinksRequest",
responseType: "ListSinksResponse",
options: {
"(google.api.http).get": "/v2/{parent=*/*}/sinks",
"(google.api.http).additional_bindings.get": "/v2/{parent=billingAccounts/*}/sinks",
"(google.api.method_signature)": "parent"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{parent=*/*}/sinks",
additional_bindings: [
{
get: "/v2/{parent=projects/*}/sinks"
},
{
get: "/v2/{parent=organizations/*}/sinks"
},
{
get: "/v2/{parent=folders/*}/sinks"
},
{
get: "/v2/{parent=billingAccounts/*}/sinks"
}
]
}
},
{
"(google.api.method_signature)": "parent"
}
]
},
GetSink: {
requestType: "GetSinkRequest",
responseType: "LogSink",
options: {
"(google.api.http).get": "/v2/{sink_name=*/*/sinks/*}",
"(google.api.http).additional_bindings.get": "/v2/{sink_name=billingAccounts/*/sinks/*}",
"(google.api.method_signature)": "sink_name"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{sink_name=*/*/sinks/*}",
additional_bindings: [
{
get: "/v2/{sink_name=projects/*/sinks/*}"
},
{
get: "/v2/{sink_name=organizations/*/sinks/*}"
},
{
get: "/v2/{sink_name=folders/*/sinks/*}"
},
{
get: "/v2/{sink_name=billingAccounts/*/sinks/*}"
}
]
}
},
{
"(google.api.method_signature)": "sink_name"
}
]
},
CreateSink: {
requestType: "CreateSinkRequest",
responseType: "LogSink",
options: {
"(google.api.http).post": "/v2/{parent=*/*}/sinks",
"(google.api.http).body": "sink",
"(google.api.http).additional_bindings.post": "/v2/{parent=billingAccounts/*}/sinks",
"(google.api.http).additional_bindings.body": "sink",
"(google.api.method_signature)": "parent,sink"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{parent=*/*}/sinks",
body: "sink",
additional_bindings: [
{
post: "/v2/{parent=projects/*}/sinks",
body: "sink"
},
{
post: "/v2/{parent=organizations/*}/sinks",
body: "sink"
},
{
post: "/v2/{parent=folders/*}/sinks",
body: "sink"
},
{
post: "/v2/{parent=billingAccounts/*}/sinks",
body: "sink"
}
]
}
},
{
"(google.api.method_signature)": "parent,sink"
}
]
},
UpdateSink: {
requestType: "UpdateSinkRequest",
responseType: "LogSink",
options: {
"(google.api.http).put": "/v2/{sink_name=*/*/sinks/*}",
"(google.api.http).body": "sink",
"(google.api.http).additional_bindings.put": "/v2/{sink_name=billingAccounts/*/sinks/*}",
"(google.api.http).additional_bindings.body": "sink",
"(google.api.http).additional_bindings.patch": "/v2/{sink_name=billingAccounts/*/sinks/*}",
"(google.api.method_signature)": "sink_name,sink"
},
parsedOptions: [
{
"(google.api.http)": {
put: "/v2/{sink_name=*/*/sinks/*}",
body: "sink",
additional_bindings: [
{
put: "/v2/{sink_name=projects/*/sinks/*}",
body: "sink"
},
{
put: "/v2/{sink_name=organizations/*/sinks/*}",
body: "sink"
},
{
put: "/v2/{sink_name=folders/*/sinks/*}",
body: "sink"
},
{
put: "/v2/{sink_name=billingAccounts/*/sinks/*}",
body: "sink"
},
{
patch: "/v2/{sink_name=projects/*/sinks/*}",
body: "sink"
},
{
patch: "/v2/{sink_name=organizations/*/sinks/*}",
body: "sink"
},
{
patch: "/v2/{sink_name=folders/*/sinks/*}",
body: "sink"
},
{
patch: "/v2/{sink_name=billingAccounts/*/sinks/*}",
body: "sink"
}
]
}
},
{
"(google.api.method_signature)": "sink_name,sink,update_mask"
},
{
"(google.api.method_signature)": "sink_name,sink"
}
]
},
DeleteSink: {
requestType: "DeleteSinkRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).delete": "/v2/{sink_name=*/*/sinks/*}",
"(google.api.http).additional_bindings.delete": "/v2/{sink_name=billingAccounts/*/sinks/*}",
"(google.api.method_signature)": "sink_name"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v2/{sink_name=*/*/sinks/*}",
additional_bindings: [
{
delete: "/v2/{sink_name=projects/*/sinks/*}"
},
{
delete: "/v2/{sink_name=organizations/*/sinks/*}"
},
{
delete: "/v2/{sink_name=folders/*/sinks/*}"
},
{
delete: "/v2/{sink_name=billingAccounts/*/sinks/*}"
}
]
}
},
{
"(google.api.method_signature)": "sink_name"
}
]
},
CreateLink: {
requestType: "CreateLinkRequest",
responseType: "google.longrunning.Operation",
options: {
"(google.api.http).post": "/v2/{parent=*/*/locations/*/buckets/*}/links",
"(google.api.http).body": "link",
"(google.api.http).additional_bindings.post": "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links",
"(google.api.http).additional_bindings.body": "link",
"(google.api.method_signature)": "parent,link,link_id",
"(google.longrunning.operation_info).response_type": "Link",
"(google.longrunning.operation_info).metadata_type": "LinkMetadata"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{parent=*/*/locations/*/buckets/*}/links",
body: "link",
additional_bindings: [
{
post: "/v2/{parent=projects/*/locations/*/buckets/*}/links",
body: "link"
},
{
post: "/v2/{parent=organizations/*/locations/*/buckets/*}/links",
body: "link"
},
{
post: "/v2/{parent=folders/*/locations/*/buckets/*}/links",
body: "link"
},
{
post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links",
body: "link"
}
]
}
},
{
"(google.api.method_signature)": "parent,link,link_id"
},
{
"(google.longrunning.operation_info)": {
response_type: "Link",
metadata_type: "LinkMetadata"
}
}
]
},
DeleteLink: {
requestType: "DeleteLinkRequest",
responseType: "google.longrunning.Operation",
options: {
"(google.api.http).delete": "/v2/{name=*/*/locations/*/buckets/*/links/*}",
"(google.api.http).additional_bindings.delete": "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}",
"(google.api.method_signature)": "name",
"(google.longrunning.operation_info).response_type": "google.protobuf.Empty",
"(google.longrunning.operation_info).metadata_type": "LinkMetadata"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v2/{name=*/*/locations/*/buckets/*/links/*}",
additional_bindings: [
{
delete: "/v2/{name=projects/*/locations/*/buckets/*/links/*}"
},
{
delete: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}"
},
{
delete: "/v2/{name=folders/*/locations/*/buckets/*/links/*}"
},
{
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}"
}
]
}
},
{
"(google.api.method_signature)": "name"
},
{
"(google.longrunning.operation_info)": {
response_type: "google.protobuf.Empty",
metadata_type: "LinkMetadata"
}
}
]
},
ListLinks: {
requestType: "ListLinksRequest",
responseType: "ListLinksResponse",
options: {
"(google.api.http).get": "/v2/{parent=*/*/locations/*/buckets/*}/links",
"(google.api.http).additional_bindings.get": "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links",
"(google.api.method_signature)": "parent"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{parent=*/*/locations/*/buckets/*}/links",
additional_bindings: [
{
get: "/v2/{parent=projects/*/locations/*/buckets/*}/links"
},
{
get: "/v2/{parent=organizations/*/locations/*/buckets/*}/links"
},
{
get: "/v2/{parent=folders/*/locations/*/buckets/*}/links"
},
{
get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links"
}
]
}
},
{
"(google.api.method_signature)": "parent"
}
]
},
GetLink: {
requestType: "GetLinkRequest",
responseType: "Link",
options: {
"(google.api.http).get": "/v2/{name=*/*/locations/*/buckets/*/links/*}",
"(google.api.http).additional_bindings.get": "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}",
"(google.api.method_signature)": "name"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{name=*/*/locations/*/buckets/*/links/*}",
additional_bindings: [
{
get: "/v2/{name=projects/*/locations/*/buckets/*/links/*}"
},
{
get: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}"
},
{
get: "/v2/{name=folders/*/locations/*/buckets/*/links/*}"
},
{
get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}"
}
]
}
},
{
"(google.api.method_signature)": "name"
}
]
},
ListExclusions: {
requestType: "ListExclusionsRequest",
responseType: "ListExclusionsResponse",
options: {
"(google.api.http).get": "/v2/{parent=*/*}/exclusions",
"(google.api.http).additional_bindings.get": "/v2/{parent=billingAccounts/*}/exclusions",
"(google.api.method_signature)": "parent"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{parent=*/*}/exclusions",
additional_bindings: [
{
get: "/v2/{parent=projects/*}/exclusions"
},
{
get: "/v2/{parent=organizations/*}/exclusions"
},
{
get: "/v2/{parent=folders/*}/exclusions"
},
{
get: "/v2/{parent=billingAccounts/*}/exclusions"
}
]
}
},
{
"(google.api.method_signature)": "parent"
}
]
},
GetExclusion: {
requestType: "GetExclusionRequest",
responseType: "LogExclusion",
options: {
"(google.api.http).get": "/v2/{name=*/*/exclusions/*}",
"(google.api.http).additional_bindings.get": "/v2/{name=billingAccounts/*/exclusions/*}",
"(google.api.method_signature)": "name"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{name=*/*/exclusions/*}",
additional_bindings: [
{
get: "/v2/{name=projects/*/exclusions/*}"
},
{
get: "/v2/{name=organizations/*/exclusions/*}"
},
{
get: "/v2/{name=folders/*/exclusions/*}"
},
{
get: "/v2/{name=billingAccounts/*/exclusions/*}"
}
]
}
},
{
"(google.api.method_signature)": "name"
}
]
},
CreateExclusion: {
requestType: "CreateExclusionRequest",
responseType: "LogExclusion",
options: {
"(google.api.http).post": "/v2/{parent=*/*}/exclusions",
"(google.api.http).body": "exclusion",
"(google.api.http).additional_bindings.post": "/v2/{parent=billingAccounts/*}/exclusions",
"(google.api.http).additional_bindings.body": "exclusion",
"(google.api.method_signature)": "parent,exclusion"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{parent=*/*}/exclusions",
body: "exclusion",
additional_bindings: [
{
post: "/v2/{parent=projects/*}/exclusions",
body: "exclusion"
},
{
post: "/v2/{parent=organizations/*}/exclusions",
body: "exclusion"
},
{
post: "/v2/{parent=folders/*}/exclusions",
body: "exclusion"
},
{
post: "/v2/{parent=billingAccounts/*}/exclusions",
body: "exclusion"
}
]
}
},
{
"(google.api.method_signature)": "parent,exclusion"
}
]
},
UpdateExclusion: {
requestType: "UpdateExclusionRequest",
responseType: "LogExclusion",
options: {
"(google.api.http).patch": "/v2/{name=*/*/exclusions/*}",
"(google.api.http).body": "exclusion",
"(google.api.http).additional_bindings.patch": "/v2/{name=billingAccounts/*/exclusions/*}",
"(google.api.http).additional_bindings.body": "exclusion",
"(google.api.method_signature)": "name,exclusion,update_mask"
},
parsedOptions: [
{
"(google.api.http)": {
patch: "/v2/{name=*/*/exclusions/*}",
body: "exclusion",
additional_bindings: [
{
patch: "/v2/{name=projects/*/exclusions/*}",
body: "exclusion"
},
{
patch: "/v2/{name=organizations/*/exclusions/*}",
body: "exclusion"
},
{
patch: "/v2/{name=folders/*/exclusions/*}",
body: "exclusion"
},
{
patch: "/v2/{name=billingAccounts/*/exclusions/*}",
body: "exclusion"
}
]
}
},
{
"(google.api.method_signature)": "name,exclusion,update_mask"
}
]
},
DeleteExclusion: {
requestType: "DeleteExclusionRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).delete": "/v2/{name=*/*/exclusions/*}",
"(google.api.http).additional_bindings.delete": "/v2/{name=billingAccounts/*/exclusions/*}",
"(google.api.method_signature)": "name"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v2/{name=*/*/exclusions/*}",
additional_bindings: [
{
delete: "/v2/{name=projects/*/exclusions/*}"
},
{
delete: "/v2/{name=organizations/*/exclusions/*}"
},
{
delete: "/v2/{name=folders/*/exclusions/*}"
},
{
delete: "/v2/{name=billingAccounts/*/exclusions/*}"
}
]
}
},
{
"(google.api.method_signature)": "name"
}
]
},
GetCmekSettings: {
requestType: "GetCmekSettingsRequest",
responseType: "CmekSettings",
options: {
"(google.api.http).get": "/v2/{name=*/*}/cmekSettings",
"(google.api.http).additional_bindings.get": "/v2/{name=billingAccounts/*}/cmekSettings"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{name=*/*}/cmekSettings",
additional_bindings: [
{
get: "/v2/{name=projects/*}/cmekSettings"
},
{
get: "/v2/{name=organizations/*}/cmekSettings"
},
{
get: "/v2/{name=folders/*}/cmekSettings"
},
{
get: "/v2/{name=billingAccounts/*}/cmekSettings"
}
]
}
}
]
},
UpdateCmekSettings: {
requestType: "UpdateCmekSettingsRequest",
responseType: "CmekSettings",
options: {
"(google.api.http).patch": "/v2/{name=*/*}/cmekSettings",
"(google.api.http).body": "cmek_settings",
"(google.api.http).additional_bindings.patch": "/v2/{name=organizations/*}/cmekSettings",
"(google.api.http).additional_bindings.body": "cmek_settings"
},
parsedOptions: [
{
"(google.api.http)": {
patch: "/v2/{name=*/*}/cmekSettings",
body: "cmek_settings",
additional_bindings: {
patch: "/v2/{name=organizations/*}/cmekSettings",
body: "cmek_settings"
}
}
}
]
},
GetSettings: {
requestType: "GetSettingsRequest",
responseType: "Settings",
options: {
"(google.api.http).get": "/v2/{name=*/*}/settings",
"(google.api.http).additional_bindings.get": "/v2/{name=billingAccounts/*}/settings",
"(google.api.method_signature)": "name"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{name=*/*}/settings",
additional_bindings: [
{
get: "/v2/{name=projects/*}/settings"
},
{
get: "/v2/{name=organizations/*}/settings"
},
{
get: "/v2/{name=folders/*}/settings"
},
{
get: "/v2/{name=billingAccounts/*}/settings"
}
]
}
},
{
"(google.api.method_signature)": "name"
}
]
},
UpdateSettings: {
requestType: "UpdateSettingsRequest",
responseType: "Settings",
options: {
"(google.api.http).patch": "/v2/{name=*/*}/settings",
"(google.api.http).body": "settings",
"(google.api.http).additional_bindings.patch": "/v2/{name=folders/*}/settings",
"(google.api.http).additional_bindings.body": "settings",
"(google.api.method_signature)": "settings,update_mask"
},
parsedOptions: [
{
"(google.api.http)": {
patch: "/v2/{name=*/*}/settings",
body: "settings",
additional_bindings: [
{
patch: "/v2/{name=organizations/*}/settings",
body: "settings"
},
{
patch: "/v2/{name=folders/*}/settings",
body: "settings"
}
]
}
},
{
"(google.api.method_signature)": "settings,update_mask"
}
]
},
CopyLogEntries: {
requestType: "CopyLogEntriesRequest",
responseType: "google.longrunning.Operation",
options: {
"(google.api.http).post": "/v2/entries:copy",
"(google.api.http).body": "*",
"(google.longrunning.operation_info).response_type": "CopyLogEntriesResponse",
"(google.longrunning.operation_info).metadata_type": "CopyLogEntriesMetadata"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/entries:copy",
body: "*"
}
},
{
"(google.longrunning.operation_info)": {
response_type: "CopyLogEntriesResponse",
metadata_type: "CopyLogEntriesMetadata"
}
}
]
}
}
},
IndexConfig: {
fields: {
fieldPath: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
type: {
type: "IndexType",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
createTime: {
type: "google.protobuf.Timestamp",
id: 3,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
}
}
},
LogBucket: {
options: {
"(google.api.resource).type": "logging.googleapis.com/LogBucket",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}"
},
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
description: {
type: "string",
id: 3
},
createTime: {
type: "google.protobuf.Timestamp",
id: 4,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
updateTime: {
type: "google.protobuf.Timestamp",
id: 5,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
retentionDays: {
type: "int32",
id: 11
},
locked: {
type: "bool",
id: 9
},
lifecycleState: {
type: "LifecycleState",
id: 12,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
analyticsEnabled: {
type: "bool",
id: 14
},
restrictedFields: {
rule: "repeated",
type: "string",
id: 15
},
indexConfigs: {
rule: "repeated",
type: "IndexConfig",
id: 17
},
cmekSettings: {
type: "CmekSettings",
id: 19
}
}
},
LogView: {
options: {
"(google.api.resource).type": "logging.googleapis.com/LogView",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}"
},
fields: {
name: {
type: "string",
id: 1
},
description: {
type: "string",
id: 3
},
createTime: {
type: "google.protobuf.Timestamp",
id: 4,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
updateTime: {
type: "google.protobuf.Timestamp",
id: 5,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
filter: {
type: "string",
id: 7
}
}
},
LogSink: {
options: {
"(google.api.resource).type": "logging.googleapis.com/LogSink",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/sinks/{sink}"
},
oneofs: {
options: {
oneof: [
"bigqueryOptions"
]
}
},
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
destination: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "*"
}
},
filter: {
type: "string",
id: 5,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
description: {
type: "string",
id: 18,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
disabled: {
type: "bool",
id: 19,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
exclusions: {
rule: "repeated",
type: "LogExclusion",
id: 16,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
outputVersionFormat: {
type: "VersionFormat",
id: 6,
options: {
deprecated: true
}
},
writerIdentity: {
type: "string",
id: 8,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
includeChildren: {
type: "bool",
id: 9,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
bigqueryOptions: {
type: "BigQueryOptions",
id: 12,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
createTime: {
type: "google.protobuf.Timestamp",
id: 13,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
updateTime: {
type: "google.protobuf.Timestamp",
id: 14,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
}
},
nested: {
VersionFormat: {
values: {
VERSION_FORMAT_UNSPECIFIED: 0,
V2: 1,
V1: 2
}
}
}
},
BigQueryDataset: {
fields: {
datasetId: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
}
}
},
Link: {
options: {
"(google.api.resource).type": "logging.googleapis.com/Link",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/links/{link}"
},
fields: {
name: {
type: "string",
id: 1
},
description: {
type: "string",
id: 2
},
createTime: {
type: "google.protobuf.Timestamp",
id: 3,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
lifecycleState: {
type: "LifecycleState",
id: 4,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
bigqueryDataset: {
type: "BigQueryDataset",
id: 5
}
}
},
BigQueryOptions: {
fields: {
usePartitionedTables: {
type: "bool",
id: 1,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
usesTimestampColumnPartitioning: {
type: "bool",
id: 3,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
}
}
},
ListBucketsRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/LogBucket"
}
},
pageToken: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageSize: {
type: "int32",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListBucketsResponse: {
fields: {
buckets: {
rule: "repeated",
type: "LogBucket",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
CreateBucketRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/LogBucket"
}
},
bucketId: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
bucket: {
type: "LogBucket",
id: 3,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
UpdateBucketRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogBucket"
}
},
bucket: {
type: "LogBucket",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
updateMask: {
type: "google.protobuf.FieldMask",
id: 4,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
GetBucketRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogBucket"
}
}
}
},
DeleteBucketRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogBucket"
}
}
}
},
UndeleteBucketRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogBucket"
}
}
}
},
ListViewsRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
pageToken: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageSize: {
type: "int32",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListViewsResponse: {
fields: {
views: {
rule: "repeated",
type: "LogView",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
CreateViewRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
viewId: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
view: {
type: "LogView",
id: 3,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
UpdateViewRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
view: {
type: "LogView",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
updateMask: {
type: "google.protobuf.FieldMask",
id: 4,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
GetViewRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogView"
}
}
}
},
DeleteViewRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogView"
}
}
}
},
ListSinksRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/LogSink"
}
},
pageToken: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageSize: {
type: "int32",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListSinksResponse: {
fields: {
sinks: {
rule: "repeated",
type: "LogSink",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
GetSinkRequest: {
fields: {
sinkName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogSink"
}
}
}
},
CreateSinkRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/LogSink"
}
},
sink: {
type: "LogSink",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
uniqueWriterIdentity: {
type: "bool",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
UpdateSinkRequest: {
fields: {
sinkName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogSink"
}
},
sink: {
type: "LogSink",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
uniqueWriterIdentity: {
type: "bool",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
updateMask: {
type: "google.protobuf.FieldMask",
id: 4,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
DeleteSinkRequest: {
fields: {
sinkName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogSink"
}
}
}
},
CreateLinkRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/Link"
}
},
link: {
type: "Link",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
linkId: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
DeleteLinkRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/Link"
}
}
}
},
ListLinksRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/Link"
}
},
pageToken: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageSize: {
type: "int32",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListLinksResponse: {
fields: {
links: {
rule: "repeated",
type: "Link",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
GetLinkRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/Link"
}
}
}
},
LogExclusion: {
options: {
"(google.api.resource).type": "logging.googleapis.com/LogExclusion",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/exclusions/{exclusion}"
},
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
description: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
filter: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
disabled: {
type: "bool",
id: 4,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
createTime: {
type: "google.protobuf.Timestamp",
id: 5,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
updateTime: {
type: "google.protobuf.Timestamp",
id: 6,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
}
}
},
ListExclusionsRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/LogExclusion"
}
},
pageToken: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageSize: {
type: "int32",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListExclusionsResponse: {
fields: {
exclusions: {
rule: "repeated",
type: "LogExclusion",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
GetExclusionRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogExclusion"
}
}
}
},
CreateExclusionRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/LogExclusion"
}
},
exclusion: {
type: "LogExclusion",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
UpdateExclusionRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogExclusion"
}
},
exclusion: {
type: "LogExclusion",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
updateMask: {
type: "google.protobuf.FieldMask",
id: 3,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
DeleteExclusionRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogExclusion"
}
}
}
},
GetCmekSettingsRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/CmekSettings"
}
}
}
},
UpdateCmekSettingsRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
cmekSettings: {
type: "CmekSettings",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
updateMask: {
type: "google.protobuf.FieldMask",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
CmekSettings: {
options: {
"(google.api.resource).type": "logging.googleapis.com/CmekSettings",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/cmekSettings"
},
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
kmsKeyName: {
type: "string",
id: 2
},
kmsKeyVersionName: {
type: "string",
id: 4
},
serviceAccountId: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
}
}
},
GetSettingsRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/Settings"
}
}
}
},
UpdateSettingsRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
settings: {
type: "Settings",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
updateMask: {
type: "google.protobuf.FieldMask",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
Settings: {
options: {
"(google.api.resource).type": "logging.googleapis.com/Settings",
"(google.api.resource).pattern": "billingAccounts/{billing_account}/settings"
},
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
kmsKeyName: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
kmsServiceAccountId: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
storageLocation: {
type: "string",
id: 4,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
disableDefaultSink: {
type: "bool",
id: 5,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
CopyLogEntriesRequest: {
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
filter: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
destination: {
type: "string",
id: 4,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
CopyLogEntriesMetadata: {
fields: {
startTime: {
type: "google.protobuf.Timestamp",
id: 1
},
endTime: {
type: "google.protobuf.Timestamp",
id: 2
},
state: {
type: "OperationState",
id: 3
},
cancellationRequested: {
type: "bool",
id: 4
},
request: {
type: "CopyLogEntriesRequest",
id: 5
},
progress: {
type: "int32",
id: 6
},
writerIdentity: {
type: "string",
id: 7
}
}
},
CopyLogEntriesResponse: {
fields: {
logEntriesCopiedCount: {
type: "int64",
id: 1
}
}
},
BucketMetadata: {
oneofs: {
request: {
oneof: [
"createBucketRequest",
"updateBucketRequest"
]
}
},
fields: {
startTime: {
type: "google.protobuf.Timestamp",
id: 1
},
endTime: {
type: "google.protobuf.Timestamp",
id: 2
},
state: {
type: "OperationState",
id: 3
},
createBucketRequest: {
type: "CreateBucketRequest",
id: 4
},
updateBucketRequest: {
type: "UpdateBucketRequest",
id: 5
}
}
},
LinkMetadata: {
oneofs: {
request: {
oneof: [
"createLinkRequest",
"deleteLinkRequest"
]
}
},
fields: {
startTime: {
type: "google.protobuf.Timestamp",
id: 1
},
endTime: {
type: "google.protobuf.Timestamp",
id: 2
},
state: {
type: "OperationState",
id: 3
},
createLinkRequest: {
type: "CreateLinkRequest",
id: 4
},
deleteLinkRequest: {
type: "DeleteLinkRequest",
id: 5
}
}
},
OperationState: {
values: {
OPERATION_STATE_UNSPECIFIED: 0,
OPERATION_STATE_SCHEDULED: 1,
OPERATION_STATE_WAITING_FOR_PERMISSIONS: 2,
OPERATION_STATE_RUNNING: 3,
OPERATION_STATE_SUCCEEDED: 4,
OPERATION_STATE_FAILED: 5,
OPERATION_STATE_CANCELLED: 6
}
},
LifecycleState: {
values: {
LIFECYCLE_STATE_UNSPECIFIED: 0,
ACTIVE: 1,
DELETE_REQUESTED: 2,
UPDATING: 3,
CREATING: 4,
FAILED: 5
}
},
IndexType: {
values: {
INDEX_TYPE_UNSPECIFIED: 0,
INDEX_TYPE_STRING: 1,
INDEX_TYPE_INTEGER: 2
}
},
LocationMetadata: {
fields: {
logAnalyticsEnabled: {
type: "bool",
id: 1
}
}
},
MetricsServiceV2: {
options: {
"(google.api.default_host)": "logging.googleapis.com",
"(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/logging.admin,https://www.googleapis.com/auth/logging.read,https://www.googleapis.com/auth/logging.write"
},
methods: {
ListLogMetrics: {
requestType: "ListLogMetricsRequest",
responseType: "ListLogMetricsResponse",
options: {
"(google.api.http).get": "/v2/{parent=projects/*}/metrics",
"(google.api.method_signature)": "parent"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{parent=projects/*}/metrics"
}
},
{
"(google.api.method_signature)": "parent"
}
]
},
GetLogMetric: {
requestType: "GetLogMetricRequest",
responseType: "LogMetric",
options: {
"(google.api.http).get": "/v2/{metric_name=projects/*/metrics/*}",
"(google.api.method_signature)": "metric_name"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v2/{metric_name=projects/*/metrics/*}"
}
},
{
"(google.api.method_signature)": "metric_name"
}
]
},
CreateLogMetric: {
requestType: "CreateLogMetricRequest",
responseType: "LogMetric",
options: {
"(google.api.http).post": "/v2/{parent=projects/*}/metrics",
"(google.api.http).body": "metric",
"(google.api.method_signature)": "parent,metric"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v2/{parent=projects/*}/metrics",
body: "metric"
}
},
{
"(google.api.method_signature)": "parent,metric"
}
]
},
UpdateLogMetric: {
requestType: "UpdateLogMetricRequest",
responseType: "LogMetric",
options: {
"(google.api.http).put": "/v2/{metric_name=projects/*/metrics/*}",
"(google.api.http).body": "metric",
"(google.api.method_signature)": "metric_name,metric"
},
parsedOptions: [
{
"(google.api.http)": {
put: "/v2/{metric_name=projects/*/metrics/*}",
body: "metric"
}
},
{
"(google.api.method_signature)": "metric_name,metric"
}
]
},
DeleteLogMetric: {
requestType: "DeleteLogMetricRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).delete": "/v2/{metric_name=projects/*/metrics/*}",
"(google.api.method_signature)": "metric_name"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v2/{metric_name=projects/*/metrics/*}"
}
},
{
"(google.api.method_signature)": "metric_name"
}
]
}
}
},
LogMetric: {
options: {
"(google.api.resource).type": "logging.googleapis.com/LogMetric",
"(google.api.resource).pattern": "projects/{project}/metrics/{metric}"
},
fields: {
name: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
description: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
filter: {
type: "string",
id: 3,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
},
bucketName: {
type: "string",
id: 13,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
disabled: {
type: "bool",
id: 12,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
metricDescriptor: {
type: "google.api.MetricDescriptor",
id: 5,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
valueExtractor: {
type: "string",
id: 6,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
labelExtractors: {
keyType: "string",
type: "string",
id: 7,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
bucketOptions: {
type: "google.api.Distribution.BucketOptions",
id: 8,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
createTime: {
type: "google.protobuf.Timestamp",
id: 9,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
updateTime: {
type: "google.protobuf.Timestamp",
id: 10,
options: {
"(google.api.field_behavior)": "OUTPUT_ONLY"
}
},
version: {
type: "ApiVersion",
id: 4,
options: {
deprecated: true
}
}
},
nested: {
ApiVersion: {
values: {
V2: 0,
V1: 1
}
}
}
},
ListLogMetricsRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
}
},
pageToken: {
type: "string",
id: 2,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
},
pageSize: {
type: "int32",
id: 3,
options: {
"(google.api.field_behavior)": "OPTIONAL"
}
}
}
},
ListLogMetricsResponse: {
fields: {
metrics: {
rule: "repeated",
type: "LogMetric",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
GetLogMetricRequest: {
fields: {
metricName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogMetric"
}
}
}
},
CreateLogMetricRequest: {
fields: {
parent: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).child_type": "logging.googleapis.com/LogMetric"
}
},
metric: {
type: "LogMetric",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
UpdateLogMetricRequest: {
fields: {
metricName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogMetric"
}
},
metric: {
type: "LogMetric",
id: 2,
options: {
"(google.api.field_behavior)": "REQUIRED"
}
}
}
},
DeleteLogMetricRequest: {
fields: {
metricName: {
type: "string",
id: 1,
options: {
"(google.api.field_behavior)": "REQUIRED",
"(google.api.resource_reference).type": "logging.googleapis.com/LogMetric"
}
}
}
}
}
}
}
},
api: {
options: {
go_package: "google.golang.org/genproto/googleapis/api/metric;metric",
java_multiple_files: true,
java_outer_classname: "MetricProto",
java_package: "com.google.api",
objc_class_prefix: "GAPI",
cc_enable_arenas: true
},
nested: {
fieldBehavior: {
rule: "repeated",
type: "google.api.FieldBehavior",
id: 1052,
extend: "google.protobuf.FieldOptions",
options: {
packed: false
}
},
FieldBehavior: {
values: {
FIELD_BEHAVIOR_UNSPECIFIED: 0,
OPTIONAL: 1,
REQUIRED: 2,
OUTPUT_ONLY: 3,
INPUT_ONLY: 4,
IMMUTABLE: 5,
UNORDERED_LIST: 6,
NON_EMPTY_DEFAULT: 7,
IDENTIFIER: 8
}
},
MonitoredResourceDescriptor: {
fields: {
name: {
type: "string",
id: 5
},
type: {
type: "string",
id: 1
},
displayName: {
type: "string",
id: 2
},
description: {
type: "string",
id: 3
},
labels: {
rule: "repeated",
type: "LabelDescriptor",
id: 4
},
launchStage: {
type: "LaunchStage",
id: 7
}
}
},
MonitoredResource: {
fields: {
type: {
type: "string",
id: 1
},
labels: {
keyType: "string",
type: "string",
id: 2
}
}
},
MonitoredResourceMetadata: {
fields: {
systemLabels: {
type: "google.protobuf.Struct",
id: 1
},
userLabels: {
keyType: "string",
type: "string",
id: 2
}
}
},
LabelDescriptor: {
fields: {
key: {
type: "string",
id: 1
},
valueType: {
type: "ValueType",
id: 2
},
description: {
type: "string",
id: 3
}
},
nested: {
ValueType: {
values: {
STRING: 0,
BOOL: 1,
INT64: 2
}
}
}
},
LaunchStage: {
values: {
LAUNCH_STAGE_UNSPECIFIED: 0,
UNIMPLEMENTED: 6,
PRELAUNCH: 7,
EARLY_ACCESS: 1,
ALPHA: 2,
BETA: 3,
GA: 4,
DEPRECATED: 5
}
},
resourceReference: {
type: "google.api.ResourceReference",
id: 1055,
extend: "google.protobuf.FieldOptions"
},
resourceDefinition: {
rule: "repeated",
type: "google.api.ResourceDescriptor",
id: 1053,
extend: "google.protobuf.FileOptions"
},
resource: {
type: "google.api.ResourceDescriptor",
id: 1053,
extend: "google.protobuf.MessageOptions"
},
ResourceDescriptor: {
fields: {
type: {
type: "string",
id: 1
},
pattern: {
rule: "repeated",
type: "string",
id: 2
},
nameField: {
type: "string",
id: 3
},
history: {
type: "History",
id: 4
},
plural: {
type: "string",
id: 5
},
singular: {
type: "string",
id: 6
},
style: {
rule: "repeated",
type: "Style",
id: 10
}
},
nested: {
History: {
values: {
HISTORY_UNSPECIFIED: 0,
ORIGINALLY_SINGLE_PATTERN: 1,
FUTURE_MULTI_PATTERN: 2
}
},
Style: {
values: {
STYLE_UNSPECIFIED: 0,
DECLARATIVE_FRIENDLY: 1
}
}
}
},
ResourceReference: {
fields: {
type: {
type: "string",
id: 1
},
childType: {
type: "string",
id: 2
}
}
},
http: {
type: "HttpRule",
id: 72295728,
extend: "google.protobuf.MethodOptions"
},
Http: {
fields: {
rules: {
rule: "repeated",
type: "HttpRule",
id: 1
},
fullyDecodeReservedExpansion: {
type: "bool",
id: 2
}
}
},
HttpRule: {
oneofs: {
pattern: {
oneof: [
"get",
"put",
"post",
"delete",
"patch",
"custom"
]
}
},
fields: {
selector: {
type: "string",
id: 1
},
get: {
type: "string",
id: 2
},
put: {
type: "string",
id: 3
},
post: {
type: "string",
id: 4
},
delete: {
type: "string",
id: 5
},
patch: {
type: "string",
id: 6
},
custom: {
type: "CustomHttpPattern",
id: 8
},
body: {
type: "string",
id: 7
},
responseBody: {
type: "string",
id: 12
},
additionalBindings: {
rule: "repeated",
type: "HttpRule",
id: 11
}
}
},
CustomHttpPattern: {
fields: {
kind: {
type: "string",
id: 1
},
path: {
type: "string",
id: 2
}
}
},
methodSignature: {
rule: "repeated",
type: "string",
id: 1051,
extend: "google.protobuf.MethodOptions"
},
defaultHost: {
type: "string",
id: 1049,
extend: "google.protobuf.ServiceOptions"
},
oauthScopes: {
type: "string",
id: 1050,
extend: "google.protobuf.ServiceOptions"
},
apiVersion: {
type: "string",
id: 525000001,
extend: "google.protobuf.ServiceOptions"
},
CommonLanguageSettings: {
fields: {
referenceDocsUri: {
type: "string",
id: 1,
options: {
deprecated: true
}
},
destinations: {
rule: "repeated",
type: "ClientLibraryDestination",
id: 2
}
}
},
ClientLibrarySettings: {
fields: {
version: {
type: "string",
id: 1
},
launchStage: {
type: "LaunchStage",
id: 2
},
restNumericEnums: {
type: "bool",
id: 3
},
javaSettings: {
type: "JavaSettings",
id: 21
},
cppSettings: {
type: "CppSettings",
id: 22
},
phpSettings: {
type: "PhpSettings",
id: 23
},
pythonSettings: {
type: "PythonSettings",
id: 24
},
nodeSettings: {
type: "NodeSettings",
id: 25
},
dotnetSettings: {
type: "DotnetSettings",
id: 26
},
rubySettings: {
type: "RubySettings",
id: 27
},
goSettings: {
type: "GoSettings",
id: 28
}
}
},
Publishing: {
fields: {
methodSettings: {
rule: "repeated",
type: "MethodSettings",
id: 2
},
newIssueUri: {
type: "string",
id: 101
},
documentationUri: {
type: "string",
id: 102
},
apiShortName: {
type: "string",
id: 103
},
githubLabel: {
type: "string",
id: 104
},
codeownerGithubTeams: {
rule: "repeated",
type: "string",
id: 105
},
docTagPrefix: {
type: "string",
id: 106
},
organization: {
type: "ClientLibraryOrganization",
id: 107
},
librarySettings: {
rule: "repeated",
type: "ClientLibrarySettings",
id: 109
},
protoReferenceDocumentationUri: {
type: "string",
id: 110
},
restReferenceDocumentationUri: {
type: "string",
id: 111
}
}
},
JavaSettings: {
fields: {
libraryPackage: {
type: "string",
id: 1
},
serviceClassNames: {
keyType: "string",
type: "string",
id: 2
},
common: {
type: "CommonLanguageSettings",
id: 3
}
}
},
CppSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
PhpSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
PythonSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
NodeSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
DotnetSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
},
renamedServices: {
keyType: "string",
type: "string",
id: 2
},
renamedResources: {
keyType: "string",
type: "string",
id: 3
},
ignoredResources: {
rule: "repeated",
type: "string",
id: 4
},
forcedNamespaceAliases: {
rule: "repeated",
type: "string",
id: 5
},
handwrittenSignatures: {
rule: "repeated",
type: "string",
id: 6
}
}
},
RubySettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
GoSettings: {
fields: {
common: {
type: "CommonLanguageSettings",
id: 1
}
}
},
MethodSettings: {
fields: {
selector: {
type: "string",
id: 1
},
longRunning: {
type: "LongRunning",
id: 2
},
autoPopulatedFields: {
rule: "repeated",
type: "string",
id: 3
}
},
nested: {
LongRunning: {
fields: {
initialPollDelay: {
type: "google.protobuf.Duration",
id: 1
},
pollDelayMultiplier: {
type: "float",
id: 2
},
maxPollDelay: {
type: "google.protobuf.Duration",
id: 3
},
totalPollTimeout: {
type: "google.protobuf.Duration",
id: 4
}
}
}
}
},
ClientLibraryOrganization: {
values: {
CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED: 0,
CLOUD: 1,
ADS: 2,
PHOTOS: 3,
STREET_VIEW: 4,
SHOPPING: 5,
GEO: 6,
GENERATIVE_AI: 7
}
},
ClientLibraryDestination: {
values: {
CLIENT_LIBRARY_DESTINATION_UNSPECIFIED: 0,
GITHUB: 10,
PACKAGE_MANAGER: 20
}
},
Distribution: {
fields: {
count: {
type: "int64",
id: 1
},
mean: {
type: "double",
id: 2
},
sumOfSquaredDeviation: {
type: "double",
id: 3
},
range: {
type: "Range",
id: 4
},
bucketOptions: {
type: "BucketOptions",
id: 6
},
bucketCounts: {
rule: "repeated",
type: "int64",
id: 7
},
exemplars: {
rule: "repeated",
type: "Exemplar",
id: 10
}
},
nested: {
Range: {
fields: {
min: {
type: "double",
id: 1
},
max: {
type: "double",
id: 2
}
}
},
BucketOptions: {
oneofs: {
options: {
oneof: [
"linearBuckets",
"exponentialBuckets",
"explicitBuckets"
]
}
},
fields: {
linearBuckets: {
type: "Linear",
id: 1
},
exponentialBuckets: {
type: "Exponential",
id: 2
},
explicitBuckets: {
type: "Explicit",
id: 3
}
},
nested: {
Linear: {
fields: {
numFiniteBuckets: {
type: "int32",
id: 1
},
width: {
type: "double",
id: 2
},
offset: {
type: "double",
id: 3
}
}
},
Exponential: {
fields: {
numFiniteBuckets: {
type: "int32",
id: 1
},
growthFactor: {
type: "double",
id: 2
},
scale: {
type: "double",
id: 3
}
}
},
Explicit: {
fields: {
bounds: {
rule: "repeated",
type: "double",
id: 1
}
}
}
}
},
Exemplar: {
fields: {
value: {
type: "double",
id: 1
},
timestamp: {
type: "google.protobuf.Timestamp",
id: 2
},
attachments: {
rule: "repeated",
type: "google.protobuf.Any",
id: 3
}
}
}
}
},
MetricDescriptor: {
fields: {
name: {
type: "string",
id: 1
},
type: {
type: "string",
id: 8
},
labels: {
rule: "repeated",
type: "LabelDescriptor",
id: 2
},
metricKind: {
type: "MetricKind",
id: 3
},
valueType: {
type: "ValueType",
id: 4
},
unit: {
type: "string",
id: 5
},
description: {
type: "string",
id: 6
},
displayName: {
type: "string",
id: 7
},
metadata: {
type: "MetricDescriptorMetadata",
id: 10
},
launchStage: {
type: "LaunchStage",
id: 12
},
monitoredResourceTypes: {
rule: "repeated",
type: "string",
id: 13
}
},
nested: {
MetricKind: {
values: {
METRIC_KIND_UNSPECIFIED: 0,
GAUGE: 1,
DELTA: 2,
CUMULATIVE: 3
}
},
ValueType: {
values: {
VALUE_TYPE_UNSPECIFIED: 0,
BOOL: 1,
INT64: 2,
DOUBLE: 3,
STRING: 4,
DISTRIBUTION: 5,
MONEY: 6
}
},
MetricDescriptorMetadata: {
fields: {
launchStage: {
type: "LaunchStage",
id: 1,
options: {
deprecated: true
}
},
samplePeriod: {
type: "google.protobuf.Duration",
id: 2
},
ingestDelay: {
type: "google.protobuf.Duration",
id: 3
}
}
}
}
},
Metric: {
fields: {
type: {
type: "string",
id: 3
},
labels: {
keyType: "string",
type: "string",
id: 2
}
}
}
}
},
rpc: {
options: {
cc_enable_arenas: true,
go_package: "google.golang.org/genproto/googleapis/rpc/status;status",
java_multiple_files: true,
java_outer_classname: "StatusProto",
java_package: "com.google.rpc",
objc_class_prefix: "RPC"
},
nested: {
Status: {
fields: {
code: {
type: "int32",
id: 1
},
message: {
type: "string",
id: 2
},
details: {
rule: "repeated",
type: "google.protobuf.Any",
id: 3
}
}
}
}
},
longrunning: {
options: {
cc_enable_arenas: true,
csharp_namespace: "Google.LongRunning",
go_package: "cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb",
java_multiple_files: true,
java_outer_classname: "OperationsProto",
java_package: "com.google.longrunning",
php_namespace: "Google\\LongRunning"
},
nested: {
operationInfo: {
type: "google.longrunning.OperationInfo",
id: 1049,
extend: "google.protobuf.MethodOptions"
},
Operations: {
options: {
"(google.api.default_host)": "longrunning.googleapis.com"
},
methods: {
ListOperations: {
requestType: "ListOperationsRequest",
responseType: "ListOperationsResponse",
options: {
"(google.api.http).get": "/v1/{name=operations}",
"(google.api.method_signature)": "name,filter"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v1/{name=operations}"
}
},
{
"(google.api.method_signature)": "name,filter"
}
]
},
GetOperation: {
requestType: "GetOperationRequest",
responseType: "Operation",
options: {
"(google.api.http).get": "/v1/{name=operations/**}",
"(google.api.method_signature)": "name"
},
parsedOptions: [
{
"(google.api.http)": {
get: "/v1/{name=operations/**}"
}
},
{
"(google.api.method_signature)": "name"
}
]
},
DeleteOperation: {
requestType: "DeleteOperationRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).delete": "/v1/{name=operations/**}",
"(google.api.method_signature)": "name"
},
parsedOptions: [
{
"(google.api.http)": {
delete: "/v1/{name=operations/**}"
}
},
{
"(google.api.method_signature)": "name"
}
]
},
CancelOperation: {
requestType: "CancelOperationRequest",
responseType: "google.protobuf.Empty",
options: {
"(google.api.http).post": "/v1/{name=operations/**}:cancel",
"(google.api.http).body": "*",
"(google.api.method_signature)": "name"
},
parsedOptions: [
{
"(google.api.http)": {
post: "/v1/{name=operations/**}:cancel",
body: "*"
}
},
{
"(google.api.method_signature)": "name"
}
]
},
WaitOperation: {
requestType: "WaitOperationRequest",
responseType: "Operation"
}
}
},
Operation: {
oneofs: {
result: {
oneof: [
"error",
"response"
]
}
},
fields: {
name: {
type: "string",
id: 1
},
metadata: {
type: "google.protobuf.Any",
id: 2
},
done: {
type: "bool",
id: 3
},
error: {
type: "google.rpc.Status",
id: 4
},
response: {
type: "google.protobuf.Any",
id: 5
}
}
},
GetOperationRequest: {
fields: {
name: {
type: "string",
id: 1
}
}
},
ListOperationsRequest: {
fields: {
name: {
type: "string",
id: 4
},
filter: {
type: "string",
id: 1
},
pageSize: {
type: "int32",
id: 2
},
pageToken: {
type: "string",
id: 3
}
}
},
ListOperationsResponse: {
fields: {
operations: {
rule: "repeated",
type: "Operation",
id: 1
},
nextPageToken: {
type: "string",
id: 2
}
}
},
CancelOperationRequest: {
fields: {
name: {
type: "string",
id: 1
}
}
},
DeleteOperationRequest: {
fields: {
name: {
type: "string",
id: 1
}
}
},
WaitOperationRequest: {
fields: {
name: {
type: "string",
id: 1
},
timeout: {
type: "google.protobuf.Duration",
id: 2
}
}
},
OperationInfo: {
fields: {
responseType: {
type: "string",
id: 1
},
metadataType: {
type: "string",
id: 2
}
}
}
}
}
}
}
}
};
}
});
// node_modules/@google-cloud/logging/build/src/v2/config_service_v2_client_config.json
var require_config_service_v2_client_config = __commonJS({
"node_modules/@google-cloud/logging/build/src/v2/config_service_v2_client_config.json"(exports2, module2) {
module2.exports = {
interfaces: {
"google.logging.v2.ConfigServiceV2": {
retry_codes: {
non_idempotent: [],
idempotent: [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
],
deadline_exceeded_internal_unavailable: [
"DEADLINE_EXCEEDED",
"INTERNAL",
"UNAVAILABLE"
]
},
retry_params: {
default: {
initial_retry_delay_millis: 100,
retry_delay_multiplier: 1.3,
max_retry_delay_millis: 6e4,
initial_rpc_timeout_millis: 6e4,
rpc_timeout_multiplier: 1,
max_rpc_timeout_millis: 6e4,
total_timeout_millis: 6e5
}
},
methods: {
ListBuckets: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
GetBucket: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
CreateBucketAsync: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateBucketAsync: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
CreateBucket: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateBucket: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
DeleteBucket: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UndeleteBucket: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
ListViews: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
GetView: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
CreateView: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateView: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
DeleteView: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
ListSinks: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
GetSink: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
CreateSink: {
timeout_millis: 12e4,
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateSink: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
DeleteSink: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
CreateLink: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
DeleteLink: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
ListLinks: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
GetLink: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
ListExclusions: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
GetExclusion: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
CreateExclusion: {
timeout_millis: 12e4,
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateExclusion: {
timeout_millis: 12e4,
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
DeleteExclusion: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
GetCmekSettings: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateCmekSettings: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
GetSettings: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateSettings: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
CopyLogEntries: {
retry_codes_name: "non_idempotent",
retry_params_name: "default"
}
}
}
}
};
}
});
// node_modules/@google-cloud/logging/build/src/v2/config_service_v2_client.js
var require_config_service_v2_client = __commonJS({
"node_modules/@google-cloud/logging/build/src/v2/config_service_v2_client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ConfigServiceV2Client = void 0;
var jsonProtos = require_protos2();
var gapicConfig = require_config_service_v2_client_config();
var version4 = require_package8().version;
var ConfigServiceV2Client = class {
/**
* Construct an instance of ConfigServiceV2Client.
*
* @param {object} [options] - The configuration object.
* The options accepted by the constructor are described in detail
* in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
* The common options are:
* @param {object} [options.credentials] - Credentials object.
* @param {string} [options.credentials.client_email]
* @param {string} [options.credentials.private_key]
* @param {string} [options.email] - Account email address. Required when
* using a .pem or .p12 keyFilename.
* @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
* .p12 key downloaded from the Google Developers Console. If you provide
* a path to a JSON file, the projectId option below is not necessary.
* NOTE: .pem and .p12 require you to specify options.email as well.
* @param {number} [options.port] - The port on which to connect to
* the remote host.
* @param {string} [options.projectId] - The project ID from the Google
* Developer's Console, e.g. 'grape-spaceship-123'. We will also check
* the environment variable GCLOUD_PROJECT for your project ID. If your
* app is running in an environment which supports
* {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials},
* your project ID will be detected automatically.
* @param {string} [options.apiEndpoint] - The domain name of the
* API remote host.
* @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
* Follows the structure of {@link gapicConfig}.
* @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
* For more information, please check the
* {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
* @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
* need to avoid loading the default gRPC version and want to use the fallback
* HTTP implementation. Load only fallback version and pass it to the constructor:
* ```
* const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
* const client = new ConfigServiceV2Client({fallback: true}, gax);
* ```
*/
constructor(opts, gaxInstance) {
var _a4, _b, _c, _d, _e;
this._terminated = false;
this.descriptors = {
page: {},
stream: {},
longrunning: {},
batching: {}
};
const staticMembers = this.constructor;
if ((opts === null || opts === void 0 ? void 0 : opts.universe_domain) && (opts === null || opts === void 0 ? void 0 : opts.universeDomain) && (opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== (opts === null || opts === void 0 ? void 0 : opts.universeDomain)) {
throw new Error("Please set either universe_domain or universeDomain, but not both.");
}
const universeDomainEnvVar = typeof process === "object" && typeof process.env === "object" ? process.env["GOOGLE_CLOUD_UNIVERSE_DOMAIN"] : void 0;
this._universeDomain = (_c = (_b = (_a4 = opts === null || opts === void 0 ? void 0 : opts.universeDomain) !== null && _a4 !== void 0 ? _a4 : opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== null && _b !== void 0 ? _b : universeDomainEnvVar) !== null && _c !== void 0 ? _c : "googleapis.com";
this._servicePath = "logging." + this._universeDomain;
const servicePath = (opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint) || this._servicePath;
this._providedCustomServicePath = !!((opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint));
const port = (opts === null || opts === void 0 ? void 0 : opts.port) || staticMembers.port;
const clientConfig = (_d = opts === null || opts === void 0 ? void 0 : opts.clientConfig) !== null && _d !== void 0 ? _d : {};
const fallback = (_e = opts === null || opts === void 0 ? void 0 : opts.fallback) !== null && _e !== void 0 ? _e : typeof window !== "undefined" && typeof (window === null || window === void 0 ? void 0 : window.fetch) === "function";
opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
opts.numericEnums = true;
if (servicePath !== this._servicePath && !("scopes" in opts)) {
opts["scopes"] = staticMembers.scopes;
}
if (!gaxInstance) {
gaxInstance = require_src50();
}
this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance;
this._gaxGrpc = new this._gaxModule.GrpcClient(opts);
this._opts = opts;
this.auth = this._gaxGrpc.auth;
this.auth.useJWTAccessWithScope = true;
this.auth.defaultServicePath = this._servicePath;
if (servicePath === this._servicePath) {
this.auth.defaultScopes = staticMembers.scopes;
}
const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version4}`];
if (typeof process === "object" && "versions" in process) {
clientHeader.push(`gl-node/${process.versions.node}`);
} else {
clientHeader.push(`gl-web/${this._gaxModule.version}`);
}
if (!opts.fallback) {
clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`);
} else {
clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`);
}
if (opts.libName && opts.libVersion) {
clientHeader.push(`${opts.libName}/${opts.libVersion}`);
}
this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos);
this.pathTemplates = {
billingAccountCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/cmekSettings"),
billingAccountExclusionPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/exclusions/{exclusion}"),
billingAccountLocationBucketPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}"),
billingAccountLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/links/{link}"),
billingAccountLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}"),
billingAccountLogPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/logs/{log}"),
billingAccountSettingsPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/settings"),
billingAccountSinkPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/sinks/{sink}"),
folderCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/cmekSettings"),
folderExclusionPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/exclusions/{exclusion}"),
folderLocationBucketPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}"),
folderLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}/links/{link}"),
folderLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}/views/{view}"),
folderLogPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/logs/{log}"),
folderSettingsPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/settings"),
folderSinkPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/sinks/{sink}"),
locationPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}"),
logMetricPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/metrics/{metric}"),
organizationCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/cmekSettings"),
organizationExclusionPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/exclusions/{exclusion}"),
organizationLocationBucketPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}"),
organizationLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}/links/{link}"),
organizationLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}/views/{view}"),
organizationLogPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/logs/{log}"),
organizationSettingsPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/settings"),
organizationSinkPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/sinks/{sink}"),
projectPathTemplate: new this._gaxModule.PathTemplate("projects/{project}"),
projectCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/cmekSettings"),
projectExclusionPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/exclusions/{exclusion}"),
projectLocationBucketPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}"),
projectLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}/links/{link}"),
projectLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}/views/{view}"),
projectLogPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/logs/{log}"),
projectSettingsPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/settings"),
projectSinkPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/sinks/{sink}")
};
this.descriptors.page = {
listBuckets: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "buckets"),
listViews: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "views"),
listSinks: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "sinks"),
listLinks: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "links"),
listExclusions: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "exclusions")
};
const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos);
const lroOptions = {
auth: this.auth,
grpc: "grpc" in this._gaxGrpc ? this._gaxGrpc.grpc : void 0
};
if (opts.fallback) {
lroOptions.protoJson = protoFilesRoot;
lroOptions.httpRules = [
{
selector: "google.longrunning.Operations.CancelOperation",
post: "/v2/{name=*/*/locations/*/operations/*}:cancel",
body: "*",
additional_bindings: [
{
post: "/v2/{name=projects/*/locations/*/operations/*}:cancel",
body: "*"
},
{
post: "/v2/{name=organizations/*/locations/*/operations/*}:cancel",
body: "*"
},
{
post: "/v2/{name=folders/*/locations/*/operations/*}:cancel",
body: "*"
},
{
post: "/v2/{name=billingAccounts/*/locations/*/operations/*}:cancel",
body: "*"
}
]
},
{
selector: "google.longrunning.Operations.GetOperation",
get: "/v2/{name=*/*/locations/*/operations/*}",
additional_bindings: [
{ get: "/v2/{name=projects/*/locations/*/operations/*}" },
{ get: "/v2/{name=organizations/*/locations/*/operations/*}" },
{ get: "/v2/{name=folders/*/locations/*/operations/*}" },
{ get: "/v2/{name=billingAccounts/*/locations/*/operations/*}" }
]
},
{
selector: "google.longrunning.Operations.ListOperations",
get: "/v2/{name=*/*/locations/*}/operations",
additional_bindings: [
{ get: "/v2/{name=projects/*/locations/*}/operations" },
{ get: "/v2/{name=organizations/*/locations/*}/operations" },
{ get: "/v2/{name=folders/*/locations/*}/operations" },
{ get: "/v2/{name=billingAccounts/*/locations/*}/operations" }
]
}
];
}
this.operationsClient = this._gaxModule.lro(lroOptions).operationsClient(opts);
const createBucketAsyncResponse = protoFilesRoot.lookup(".google.logging.v2.LogBucket");
const createBucketAsyncMetadata = protoFilesRoot.lookup(".google.logging.v2.BucketMetadata");
const updateBucketAsyncResponse = protoFilesRoot.lookup(".google.logging.v2.LogBucket");
const updateBucketAsyncMetadata = protoFilesRoot.lookup(".google.logging.v2.BucketMetadata");
const createLinkResponse = protoFilesRoot.lookup(".google.logging.v2.Link");
const createLinkMetadata = protoFilesRoot.lookup(".google.logging.v2.LinkMetadata");
const deleteLinkResponse = protoFilesRoot.lookup(".google.protobuf.Empty");
const deleteLinkMetadata = protoFilesRoot.lookup(".google.logging.v2.LinkMetadata");
const copyLogEntriesResponse = protoFilesRoot.lookup(".google.logging.v2.CopyLogEntriesResponse");
const copyLogEntriesMetadata = protoFilesRoot.lookup(".google.logging.v2.CopyLogEntriesMetadata");
this.descriptors.longrunning = {
createBucketAsync: new this._gaxModule.LongrunningDescriptor(this.operationsClient, createBucketAsyncResponse.decode.bind(createBucketAsyncResponse), createBucketAsyncMetadata.decode.bind(createBucketAsyncMetadata)),
updateBucketAsync: new this._gaxModule.LongrunningDescriptor(this.operationsClient, updateBucketAsyncResponse.decode.bind(updateBucketAsyncResponse), updateBucketAsyncMetadata.decode.bind(updateBucketAsyncMetadata)),
createLink: new this._gaxModule.LongrunningDescriptor(this.operationsClient, createLinkResponse.decode.bind(createLinkResponse), createLinkMetadata.decode.bind(createLinkMetadata)),
deleteLink: new this._gaxModule.LongrunningDescriptor(this.operationsClient, deleteLinkResponse.decode.bind(deleteLinkResponse), deleteLinkMetadata.decode.bind(deleteLinkMetadata)),
copyLogEntries: new this._gaxModule.LongrunningDescriptor(this.operationsClient, copyLogEntriesResponse.decode.bind(copyLogEntriesResponse), copyLogEntriesMetadata.decode.bind(copyLogEntriesMetadata))
};
this._defaults = this._gaxGrpc.constructSettings("google.logging.v2.ConfigServiceV2", gapicConfig, opts.clientConfig || {}, { "x-goog-api-client": clientHeader.join(" ") });
this.innerApiCalls = {};
this.warn = this._gaxModule.warn;
}
/**
* Initialize the client.
* Performs asynchronous operations (such as authentication) and prepares the client.
* This function will be called automatically when any class method is called for the
* first time, but if you need to initialize it before calling an actual method,
* feel free to call initialize() directly.
*
* You can await on this method if you want to make sure the client is initialized.
*
* @returns {Promise} A promise that resolves to an authenticated service stub.
*/
initialize() {
if (this.configServiceV2Stub) {
return this.configServiceV2Stub;
}
this.configServiceV2Stub = this._gaxGrpc.createStub(this._opts.fallback ? this._protos.lookupService("google.logging.v2.ConfigServiceV2") : (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this._protos.google.logging.v2.ConfigServiceV2
), this._opts, this._providedCustomServicePath);
const configServiceV2StubMethods = [
"listBuckets",
"getBucket",
"createBucketAsync",
"updateBucketAsync",
"createBucket",
"updateBucket",
"deleteBucket",
"undeleteBucket",
"listViews",
"getView",
"createView",
"updateView",
"deleteView",
"listSinks",
"getSink",
"createSink",
"updateSink",
"deleteSink",
"createLink",
"deleteLink",
"listLinks",
"getLink",
"listExclusions",
"getExclusion",
"createExclusion",
"updateExclusion",
"deleteExclusion",
"getCmekSettings",
"updateCmekSettings",
"getSettings",
"updateSettings",
"copyLogEntries"
];
for (const methodName of configServiceV2StubMethods) {
const callPromise = this.configServiceV2Stub.then((stub) => (...args2) => {
if (this._terminated) {
return Promise.reject("The client has already been closed.");
}
const func2 = stub[methodName];
return func2.apply(stub, args2);
}, (err2) => () => {
throw err2;
});
const descriptor2 = this.descriptors.page[methodName] || this.descriptors.longrunning[methodName] || void 0;
const apiCall = this._gaxModule.createApiCall(callPromise, this._defaults[methodName], descriptor2, this._opts.fallback);
this.innerApiCalls[methodName] = apiCall;
}
return this.configServiceV2Stub;
}
/**
* The DNS address for this API service.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get servicePath() {
if (typeof process === "object" && typeof process.emitWarning === "function") {
process.emitWarning("Static servicePath is deprecated, please use the instance method instead.", "DeprecationWarning");
}
return "logging.googleapis.com";
}
/**
* The DNS address for this API service - same as servicePath.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get apiEndpoint() {
if (typeof process === "object" && typeof process.emitWarning === "function") {
process.emitWarning("Static apiEndpoint is deprecated, please use the instance method instead.", "DeprecationWarning");
}
return "logging.googleapis.com";
}
/**
* The DNS address for this API service.
* @returns {string} The DNS address for this service.
*/
get apiEndpoint() {
return this._servicePath;
}
get universeDomain() {
return this._universeDomain;
}
/**
* The port for this API service.
* @returns {number} The default port for this service.
*/
static get port() {
return 443;
}
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
* @returns {string[]} List of default scopes.
*/
static get scopes() {
return [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only",
"https://www.googleapis.com/auth/logging.admin",
"https://www.googleapis.com/auth/logging.read"
];
}
/**
* Return the project ID used by this class.
* @returns {Promise} A promise that resolves to string containing the project ID.
*/
getProjectId(callback) {
if (callback) {
this.auth.getProjectId(callback);
return;
}
return this.auth.getProjectId();
}
getBucket(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getBucket(request, options, callback);
}
createBucket(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.createBucket(request, options, callback);
}
updateBucket(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateBucket(request, options, callback);
}
deleteBucket(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.deleteBucket(request, options, callback);
}
undeleteBucket(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.undeleteBucket(request, options, callback);
}
getView(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getView(request, options, callback);
}
createView(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.createView(request, options, callback);
}
updateView(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateView(request, options, callback);
}
deleteView(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.deleteView(request, options, callback);
}
getSink(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
sink_name: (_a4 = request.sinkName) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getSink(request, options, callback);
}
createSink(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.createSink(request, options, callback);
}
updateSink(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
sink_name: (_a4 = request.sinkName) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateSink(request, options, callback);
}
deleteSink(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
sink_name: (_a4 = request.sinkName) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.deleteSink(request, options, callback);
}
getLink(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getLink(request, options, callback);
}
getExclusion(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getExclusion(request, options, callback);
}
createExclusion(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.createExclusion(request, options, callback);
}
updateExclusion(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateExclusion(request, options, callback);
}
deleteExclusion(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.deleteExclusion(request, options, callback);
}
getCmekSettings(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getCmekSettings(request, options, callback);
}
updateCmekSettings(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateCmekSettings(request, options, callback);
}
getSettings(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getSettings(request, options, callback);
}
updateSettings(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateSettings(request, options, callback);
}
createBucketAsync(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.createBucketAsync(request, options, callback);
}
/**
* Check the status of the long running operation returned by `createBucketAsync()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.create_bucket_async.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_CreateBucketAsync_async
*/
async checkCreateBucketAsyncProgress(name3) {
const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({ name: name3 });
const [operation] = await this.operationsClient.getOperation(request);
const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.createBucketAsync, this._gaxModule.createDefaultBackoffSettings());
return decodeOperation;
}
updateBucketAsync(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateBucketAsync(request, options, callback);
}
/**
* Check the status of the long running operation returned by `updateBucketAsync()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.update_bucket_async.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_UpdateBucketAsync_async
*/
async checkUpdateBucketAsyncProgress(name3) {
const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({ name: name3 });
const [operation] = await this.operationsClient.getOperation(request);
const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.updateBucketAsync, this._gaxModule.createDefaultBackoffSettings());
return decodeOperation;
}
createLink(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.createLink(request, options, callback);
}
/**
* Check the status of the long running operation returned by `createLink()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.create_link.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_CreateLink_async
*/
async checkCreateLinkProgress(name3) {
const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({ name: name3 });
const [operation] = await this.operationsClient.getOperation(request);
const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.createLink, this._gaxModule.createDefaultBackoffSettings());
return decodeOperation;
}
deleteLink(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
name: (_a4 = request.name) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.deleteLink(request, options, callback);
}
/**
* Check the status of the long running operation returned by `deleteLink()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.delete_link.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_DeleteLink_async
*/
async checkDeleteLinkProgress(name3) {
const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({ name: name3 });
const [operation] = await this.operationsClient.getOperation(request);
const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.deleteLink, this._gaxModule.createDefaultBackoffSettings());
return decodeOperation;
}
copyLogEntries(request, optionsOrCallback, callback) {
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
this.initialize();
return this.innerApiCalls.copyLogEntries(request, options, callback);
}
/**
* Check the status of the long running operation returned by `copyLogEntries()`.
* @param {String} name
* The operation name that will be passed.
* @returns {Promise} - The promise which resolves to an object.
* The decoded operation object has result and metadata field to get information from.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.copy_log_entries.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_CopyLogEntries_async
*/
async checkCopyLogEntriesProgress(name3) {
const request = new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest({ name: name3 });
const [operation] = await this.operationsClient.getOperation(request);
const decodeOperation = new this._gaxModule.Operation(operation, this.descriptors.longrunning.copyLogEntries, this._gaxModule.createDefaultBackoffSettings());
return decodeOperation;
}
listBuckets(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.listBuckets(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose buckets are to be listed:
*
* "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
* "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
* "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
* "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
*
* Note: The locations portion of the resource must be specified, but
* supplying the character `-` in place of [LOCATION_ID] will return all
* buckets.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.logging.v2.LogBucket|LogBucket} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listBucketsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listBucketsStream(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listBuckets"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listBuckets.createStream(this.innerApiCalls.listBuckets, request, callSettings);
}
/**
* Equivalent to `listBuckets`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose buckets are to be listed:
*
* "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
* "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
* "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
* "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
*
* Note: The locations portion of the resource must be specified, but
* supplying the character `-` in place of [LOCATION_ID] will return all
* buckets.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.logging.v2.LogBucket|LogBucket}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.list_buckets.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_ListBuckets_async
*/
listBucketsAsync(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listBuckets"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listBuckets.asyncIterate(this.innerApiCalls["listBuckets"], request, callSettings);
}
listViews(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.listViews(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The bucket whose views are to be listed:
*
* "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
*
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.logging.v2.LogView|LogView} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listViewsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listViewsStream(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listViews"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listViews.createStream(this.innerApiCalls.listViews, request, callSettings);
}
/**
* Equivalent to `listViews`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The bucket whose views are to be listed:
*
* "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
*
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.logging.v2.LogView|LogView}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.list_views.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_ListViews_async
*/
listViewsAsync(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listViews"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listViews.asyncIterate(this.innerApiCalls["listViews"], request, callSettings);
}
listSinks(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.listSinks(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose sinks are to be listed:
*
* "projects/[PROJECT_ID]"
* "organizations/[ORGANIZATION_ID]"
* "billingAccounts/[BILLING_ACCOUNT_ID]"
* "folders/[FOLDER_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.logging.v2.LogSink|LogSink} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listSinksAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listSinksStream(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listSinks"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listSinks.createStream(this.innerApiCalls.listSinks, request, callSettings);
}
/**
* Equivalent to `listSinks`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose sinks are to be listed:
*
* "projects/[PROJECT_ID]"
* "organizations/[ORGANIZATION_ID]"
* "billingAccounts/[BILLING_ACCOUNT_ID]"
* "folders/[FOLDER_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.logging.v2.LogSink|LogSink}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.list_sinks.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_ListSinks_async
*/
listSinksAsync(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listSinks"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listSinks.asyncIterate(this.innerApiCalls["listSinks"], request, callSettings);
}
listLinks(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.listLinks(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose links are to be listed:
*
* "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/"
* "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
* "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
* "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.logging.v2.Link|Link} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listLinksAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listLinksStream(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listLinks"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLinks.createStream(this.innerApiCalls.listLinks, request, callSettings);
}
/**
* Equivalent to `listLinks`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose links are to be listed:
*
* "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/"
* "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
* "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
* "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.logging.v2.Link|Link}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.list_links.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_ListLinks_async
*/
listLinksAsync(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listLinks"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLinks.asyncIterate(this.innerApiCalls["listLinks"], request, callSettings);
}
listExclusions(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.listExclusions(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose exclusions are to be listed.
*
* "projects/[PROJECT_ID]"
* "organizations/[ORGANIZATION_ID]"
* "billingAccounts/[BILLING_ACCOUNT_ID]"
* "folders/[FOLDER_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.logging.v2.LogExclusion|LogExclusion} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listExclusionsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listExclusionsStream(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listExclusions"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listExclusions.createStream(this.innerApiCalls.listExclusions, request, callSettings);
}
/**
* Equivalent to `listExclusions`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The parent resource whose exclusions are to be listed.
*
* "projects/[PROJECT_ID]"
* "organizations/[ORGANIZATION_ID]"
* "billingAccounts/[BILLING_ACCOUNT_ID]"
* "folders/[FOLDER_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.logging.v2.LogExclusion|LogExclusion}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/config_service_v2.list_exclusions.js</caption>
* region_tag:logging_v2_generated_ConfigServiceV2_ListExclusions_async
*/
listExclusionsAsync(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listExclusions"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listExclusions.asyncIterate(this.innerApiCalls["listExclusions"], request, callSettings);
}
/**
* Gets the latest state of a long-running operation. Clients can use this
* method to poll the operation result at intervals as recommended by the API
* service.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation resource.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See {@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
* for the details.
* @param {function(?Error, ?Object)=} callback
* The function which will be called with the result of the API call.
*
* The second parameter to the callback is an object representing
* {@link google.longrunning.Operation | google.longrunning.Operation}.
* @return {Promise} - The promise which resolves to an array.
* The first element of the array is an object representing
* {@link google.longrunning.Operation | google.longrunning.Operation}.
* The promise has a method named "cancel" which cancels the ongoing API call.
*
* @example
* ```
* const client = longrunning.operationsClient();
* const name = '';
* const [response] = await client.getOperation({name});
* // doThingsWith(response)
* ```
*/
getOperation(request, options, callback) {
return this.operationsClient.getOperation(request, options, callback);
}
/**
* Lists operations that match the specified filter in the request. If the
* server doesn't support this method, it returns `UNIMPLEMENTED`. Returns an iterable object.
*
* For-await-of syntax is used with the iterable to recursively get response element on-demand.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation collection.
* @param {string} request.filter - The standard list filter.
* @param {number=} request.pageSize -
* The maximum number of resources contained in the underlying API
* response. If page streaming is performed per-resource, this
* parameter does not affect the return value. If page streaming is
* performed per-page, this determines the maximum number of
* resources in a page.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See {@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
* details.
* @returns {Object}
* An iterable Object that conforms to {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | iteration protocols}.
*
* @example
* ```
* const client = longrunning.operationsClient();
* for await (const response of client.listOperationsAsync(request));
* // doThingsWith(response)
* ```
*/
listOperationsAsync(request, options) {
return this.operationsClient.listOperationsAsync(request, options);
}
/**
* Starts asynchronous cancellation on a long-running operation. The server
* makes a best effort to cancel the operation, but success is not
* guaranteed. If the server doesn't support this method, it returns
* `google.rpc.Code.UNIMPLEMENTED`. Clients can use
* {@link Operations.GetOperation} or
* other methods to check whether the cancellation succeeded or whether the
* operation completed despite cancellation. On successful cancellation,
* the operation is not deleted; instead, it becomes an operation with
* an {@link Operation.error} value with a {@link google.rpc.Status.code} of
* 1, corresponding to `Code.CANCELLED`.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation resource to be cancelled.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See {@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
* details.
* @param {function(?Error)=} callback
* The function which will be called with the result of the API call.
* @return {Promise} - The promise which resolves when API call finishes.
* The promise has a method named "cancel" which cancels the ongoing API
* call.
*
* @example
* ```
* const client = longrunning.operationsClient();
* await client.cancelOperation({name: ''});
* ```
*/
cancelOperation(request, options, callback) {
return this.operationsClient.cancelOperation(request, options, callback);
}
/**
* Deletes a long-running operation. This method indicates that the client is
* no longer interested in the operation result. It does not cancel the
* operation. If the server doesn't support this method, it returns
* `google.rpc.Code.UNIMPLEMENTED`.
*
* @param {Object} request - The request object that will be sent.
* @param {string} request.name - The name of the operation resource to be deleted.
* @param {Object=} options
* Optional parameters. You can override the default settings for this call,
* e.g, timeout, retries, paginations, etc. See {@link
* https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
* for the details.
* @param {function(?Error)=} callback
* The function which will be called with the result of the API call.
* @return {Promise} - The promise which resolves when API call finishes.
* The promise has a method named "cancel" which cancels the ongoing API
* call.
*
* @example
* ```
* const client = longrunning.operationsClient();
* await client.deleteOperation({name: ''});
* ```
*/
deleteOperation(request, options, callback) {
return this.operationsClient.deleteOperation(request, options, callback);
}
// --------------------
// -- Path templates --
// --------------------
/**
* Return a fully-qualified billingAccountCmekSettings resource name string.
*
* @param {string} billing_account
* @returns {string} Resource name string.
*/
billingAccountCmekSettingsPath(billingAccount) {
return this.pathTemplates.billingAccountCmekSettingsPathTemplate.render({
billing_account: billingAccount
});
}
/**
* Parse the billing_account from BillingAccountCmekSettings resource.
*
* @param {string} billingAccountCmekSettingsName
* A fully-qualified path representing billing_account_cmekSettings resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountCmekSettingsName(billingAccountCmekSettingsName) {
return this.pathTemplates.billingAccountCmekSettingsPathTemplate.match(billingAccountCmekSettingsName).billing_account;
}
/**
* Return a fully-qualified billingAccountExclusion resource name string.
*
* @param {string} billing_account
* @param {string} exclusion
* @returns {string} Resource name string.
*/
billingAccountExclusionPath(billingAccount, exclusion) {
return this.pathTemplates.billingAccountExclusionPathTemplate.render({
billing_account: billingAccount,
exclusion
});
}
/**
* Parse the billing_account from BillingAccountExclusion resource.
*
* @param {string} billingAccountExclusionName
* A fully-qualified path representing billing_account_exclusion resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountExclusionName(billingAccountExclusionName) {
return this.pathTemplates.billingAccountExclusionPathTemplate.match(billingAccountExclusionName).billing_account;
}
/**
* Parse the exclusion from BillingAccountExclusion resource.
*
* @param {string} billingAccountExclusionName
* A fully-qualified path representing billing_account_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromBillingAccountExclusionName(billingAccountExclusionName) {
return this.pathTemplates.billingAccountExclusionPathTemplate.match(billingAccountExclusionName).exclusion;
}
/**
* Return a fully-qualified billingAccountLocationBucket resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
billingAccountLocationBucketPath(billingAccount, location, bucket) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.render({
billing_account: billingAccount,
location,
bucket
});
}
/**
* Parse the billing_account from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).bucket;
}
/**
* Return a fully-qualified billingAccountLocationBucketLink resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
billingAccountLocationBucketLinkPath(billingAccount, location, bucket, link) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.render({
billing_account: billingAccount,
location,
bucket,
link
});
}
/**
* Parse the billing_account from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).bucket;
}
/**
* Parse the link from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).link;
}
/**
* Return a fully-qualified billingAccountLocationBucketView resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
billingAccountLocationBucketViewPath(billingAccount, location, bucket, view) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.render({
billing_account: billingAccount,
location,
bucket,
view
});
}
/**
* Parse the billing_account from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).bucket;
}
/**
* Parse the view from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).view;
}
/**
* Return a fully-qualified billingAccountLog resource name string.
*
* @param {string} billing_account
* @param {string} log
* @returns {string} Resource name string.
*/
billingAccountLogPath(billingAccount, log) {
return this.pathTemplates.billingAccountLogPathTemplate.render({
billing_account: billingAccount,
log
});
}
/**
* Parse the billing_account from BillingAccountLog resource.
*
* @param {string} billingAccountLogName
* A fully-qualified path representing billing_account_log resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLogName(billingAccountLogName) {
return this.pathTemplates.billingAccountLogPathTemplate.match(billingAccountLogName).billing_account;
}
/**
* Parse the log from BillingAccountLog resource.
*
* @param {string} billingAccountLogName
* A fully-qualified path representing billing_account_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromBillingAccountLogName(billingAccountLogName) {
return this.pathTemplates.billingAccountLogPathTemplate.match(billingAccountLogName).log;
}
/**
* Return a fully-qualified billingAccountSettings resource name string.
*
* @param {string} billing_account
* @returns {string} Resource name string.
*/
billingAccountSettingsPath(billingAccount) {
return this.pathTemplates.billingAccountSettingsPathTemplate.render({
billing_account: billingAccount
});
}
/**
* Parse the billing_account from BillingAccountSettings resource.
*
* @param {string} billingAccountSettingsName
* A fully-qualified path representing billing_account_settings resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountSettingsName(billingAccountSettingsName) {
return this.pathTemplates.billingAccountSettingsPathTemplate.match(billingAccountSettingsName).billing_account;
}
/**
* Return a fully-qualified billingAccountSink resource name string.
*
* @param {string} billing_account
* @param {string} sink
* @returns {string} Resource name string.
*/
billingAccountSinkPath(billingAccount, sink) {
return this.pathTemplates.billingAccountSinkPathTemplate.render({
billing_account: billingAccount,
sink
});
}
/**
* Parse the billing_account from BillingAccountSink resource.
*
* @param {string} billingAccountSinkName
* A fully-qualified path representing billing_account_sink resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountSinkName(billingAccountSinkName) {
return this.pathTemplates.billingAccountSinkPathTemplate.match(billingAccountSinkName).billing_account;
}
/**
* Parse the sink from BillingAccountSink resource.
*
* @param {string} billingAccountSinkName
* A fully-qualified path representing billing_account_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromBillingAccountSinkName(billingAccountSinkName) {
return this.pathTemplates.billingAccountSinkPathTemplate.match(billingAccountSinkName).sink;
}
/**
* Return a fully-qualified folderCmekSettings resource name string.
*
* @param {string} folder
* @returns {string} Resource name string.
*/
folderCmekSettingsPath(folder) {
return this.pathTemplates.folderCmekSettingsPathTemplate.render({
folder
});
}
/**
* Parse the folder from FolderCmekSettings resource.
*
* @param {string} folderCmekSettingsName
* A fully-qualified path representing folder_cmekSettings resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderCmekSettingsName(folderCmekSettingsName) {
return this.pathTemplates.folderCmekSettingsPathTemplate.match(folderCmekSettingsName).folder;
}
/**
* Return a fully-qualified folderExclusion resource name string.
*
* @param {string} folder
* @param {string} exclusion
* @returns {string} Resource name string.
*/
folderExclusionPath(folder, exclusion) {
return this.pathTemplates.folderExclusionPathTemplate.render({
folder,
exclusion
});
}
/**
* Parse the folder from FolderExclusion resource.
*
* @param {string} folderExclusionName
* A fully-qualified path representing folder_exclusion resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderExclusionName(folderExclusionName) {
return this.pathTemplates.folderExclusionPathTemplate.match(folderExclusionName).folder;
}
/**
* Parse the exclusion from FolderExclusion resource.
*
* @param {string} folderExclusionName
* A fully-qualified path representing folder_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromFolderExclusionName(folderExclusionName) {
return this.pathTemplates.folderExclusionPathTemplate.match(folderExclusionName).exclusion;
}
/**
* Return a fully-qualified folderLocationBucket resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
folderLocationBucketPath(folder, location, bucket) {
return this.pathTemplates.folderLocationBucketPathTemplate.render({
folder,
location,
bucket
});
}
/**
* Parse the folder from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).folder;
}
/**
* Parse the location from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).location;
}
/**
* Parse the bucket from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).bucket;
}
/**
* Return a fully-qualified folderLocationBucketLink resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
folderLocationBucketLinkPath(folder, location, bucket, link) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.render({
folder,
location,
bucket,
link
});
}
/**
* Parse the folder from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).folder;
}
/**
* Parse the location from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).location;
}
/**
* Parse the bucket from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).bucket;
}
/**
* Parse the link from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).link;
}
/**
* Return a fully-qualified folderLocationBucketView resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
folderLocationBucketViewPath(folder, location, bucket, view) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.render({
folder,
location,
bucket,
view
});
}
/**
* Parse the folder from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).folder;
}
/**
* Parse the location from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).location;
}
/**
* Parse the bucket from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).bucket;
}
/**
* Parse the view from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).view;
}
/**
* Return a fully-qualified folderLog resource name string.
*
* @param {string} folder
* @param {string} log
* @returns {string} Resource name string.
*/
folderLogPath(folder, log) {
return this.pathTemplates.folderLogPathTemplate.render({
folder,
log
});
}
/**
* Parse the folder from FolderLog resource.
*
* @param {string} folderLogName
* A fully-qualified path representing folder_log resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLogName(folderLogName) {
return this.pathTemplates.folderLogPathTemplate.match(folderLogName).folder;
}
/**
* Parse the log from FolderLog resource.
*
* @param {string} folderLogName
* A fully-qualified path representing folder_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromFolderLogName(folderLogName) {
return this.pathTemplates.folderLogPathTemplate.match(folderLogName).log;
}
/**
* Return a fully-qualified folderSettings resource name string.
*
* @param {string} folder
* @returns {string} Resource name string.
*/
folderSettingsPath(folder) {
return this.pathTemplates.folderSettingsPathTemplate.render({
folder
});
}
/**
* Parse the folder from FolderSettings resource.
*
* @param {string} folderSettingsName
* A fully-qualified path representing folder_settings resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderSettingsName(folderSettingsName) {
return this.pathTemplates.folderSettingsPathTemplate.match(folderSettingsName).folder;
}
/**
* Return a fully-qualified folderSink resource name string.
*
* @param {string} folder
* @param {string} sink
* @returns {string} Resource name string.
*/
folderSinkPath(folder, sink) {
return this.pathTemplates.folderSinkPathTemplate.render({
folder,
sink
});
}
/**
* Parse the folder from FolderSink resource.
*
* @param {string} folderSinkName
* A fully-qualified path representing folder_sink resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderSinkName(folderSinkName) {
return this.pathTemplates.folderSinkPathTemplate.match(folderSinkName).folder;
}
/**
* Parse the sink from FolderSink resource.
*
* @param {string} folderSinkName
* A fully-qualified path representing folder_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromFolderSinkName(folderSinkName) {
return this.pathTemplates.folderSinkPathTemplate.match(folderSinkName).sink;
}
/**
* Return a fully-qualified location resource name string.
*
* @param {string} project
* @param {string} location
* @returns {string} Resource name string.
*/
locationPath(project, location) {
return this.pathTemplates.locationPathTemplate.render({
project,
location
});
}
/**
* Parse the project from Location resource.
*
* @param {string} locationName
* A fully-qualified path representing Location resource.
* @returns {string} A string representing the project.
*/
matchProjectFromLocationName(locationName) {
return this.pathTemplates.locationPathTemplate.match(locationName).project;
}
/**
* Parse the location from Location resource.
*
* @param {string} locationName
* A fully-qualified path representing Location resource.
* @returns {string} A string representing the location.
*/
matchLocationFromLocationName(locationName) {
return this.pathTemplates.locationPathTemplate.match(locationName).location;
}
/**
* Return a fully-qualified logMetric resource name string.
*
* @param {string} project
* @param {string} metric
* @returns {string} Resource name string.
*/
logMetricPath(project, metric) {
return this.pathTemplates.logMetricPathTemplate.render({
project,
metric
});
}
/**
* Parse the project from LogMetric resource.
*
* @param {string} logMetricName
* A fully-qualified path representing LogMetric resource.
* @returns {string} A string representing the project.
*/
matchProjectFromLogMetricName(logMetricName) {
return this.pathTemplates.logMetricPathTemplate.match(logMetricName).project;
}
/**
* Parse the metric from LogMetric resource.
*
* @param {string} logMetricName
* A fully-qualified path representing LogMetric resource.
* @returns {string} A string representing the metric.
*/
matchMetricFromLogMetricName(logMetricName) {
return this.pathTemplates.logMetricPathTemplate.match(logMetricName).metric;
}
/**
* Return a fully-qualified organizationCmekSettings resource name string.
*
* @param {string} organization
* @returns {string} Resource name string.
*/
organizationCmekSettingsPath(organization) {
return this.pathTemplates.organizationCmekSettingsPathTemplate.render({
organization
});
}
/**
* Parse the organization from OrganizationCmekSettings resource.
*
* @param {string} organizationCmekSettingsName
* A fully-qualified path representing organization_cmekSettings resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationCmekSettingsName(organizationCmekSettingsName) {
return this.pathTemplates.organizationCmekSettingsPathTemplate.match(organizationCmekSettingsName).organization;
}
/**
* Return a fully-qualified organizationExclusion resource name string.
*
* @param {string} organization
* @param {string} exclusion
* @returns {string} Resource name string.
*/
organizationExclusionPath(organization, exclusion) {
return this.pathTemplates.organizationExclusionPathTemplate.render({
organization,
exclusion
});
}
/**
* Parse the organization from OrganizationExclusion resource.
*
* @param {string} organizationExclusionName
* A fully-qualified path representing organization_exclusion resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationExclusionName(organizationExclusionName) {
return this.pathTemplates.organizationExclusionPathTemplate.match(organizationExclusionName).organization;
}
/**
* Parse the exclusion from OrganizationExclusion resource.
*
* @param {string} organizationExclusionName
* A fully-qualified path representing organization_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromOrganizationExclusionName(organizationExclusionName) {
return this.pathTemplates.organizationExclusionPathTemplate.match(organizationExclusionName).exclusion;
}
/**
* Return a fully-qualified organizationLocationBucket resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
organizationLocationBucketPath(organization, location, bucket) {
return this.pathTemplates.organizationLocationBucketPathTemplate.render({
organization,
location,
bucket
});
}
/**
* Parse the organization from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).organization;
}
/**
* Parse the location from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).location;
}
/**
* Parse the bucket from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).bucket;
}
/**
* Return a fully-qualified organizationLocationBucketLink resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
organizationLocationBucketLinkPath(organization, location, bucket, link) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.render({
organization,
location,
bucket,
link
});
}
/**
* Parse the organization from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).organization;
}
/**
* Parse the location from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).location;
}
/**
* Parse the bucket from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).bucket;
}
/**
* Parse the link from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).link;
}
/**
* Return a fully-qualified organizationLocationBucketView resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
organizationLocationBucketViewPath(organization, location, bucket, view) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.render({
organization,
location,
bucket,
view
});
}
/**
* Parse the organization from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).organization;
}
/**
* Parse the location from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).location;
}
/**
* Parse the bucket from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).bucket;
}
/**
* Parse the view from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).view;
}
/**
* Return a fully-qualified organizationLog resource name string.
*
* @param {string} organization
* @param {string} log
* @returns {string} Resource name string.
*/
organizationLogPath(organization, log) {
return this.pathTemplates.organizationLogPathTemplate.render({
organization,
log
});
}
/**
* Parse the organization from OrganizationLog resource.
*
* @param {string} organizationLogName
* A fully-qualified path representing organization_log resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLogName(organizationLogName) {
return this.pathTemplates.organizationLogPathTemplate.match(organizationLogName).organization;
}
/**
* Parse the log from OrganizationLog resource.
*
* @param {string} organizationLogName
* A fully-qualified path representing organization_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromOrganizationLogName(organizationLogName) {
return this.pathTemplates.organizationLogPathTemplate.match(organizationLogName).log;
}
/**
* Return a fully-qualified organizationSettings resource name string.
*
* @param {string} organization
* @returns {string} Resource name string.
*/
organizationSettingsPath(organization) {
return this.pathTemplates.organizationSettingsPathTemplate.render({
organization
});
}
/**
* Parse the organization from OrganizationSettings resource.
*
* @param {string} organizationSettingsName
* A fully-qualified path representing organization_settings resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationSettingsName(organizationSettingsName) {
return this.pathTemplates.organizationSettingsPathTemplate.match(organizationSettingsName).organization;
}
/**
* Return a fully-qualified organizationSink resource name string.
*
* @param {string} organization
* @param {string} sink
* @returns {string} Resource name string.
*/
organizationSinkPath(organization, sink) {
return this.pathTemplates.organizationSinkPathTemplate.render({
organization,
sink
});
}
/**
* Parse the organization from OrganizationSink resource.
*
* @param {string} organizationSinkName
* A fully-qualified path representing organization_sink resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationSinkName(organizationSinkName) {
return this.pathTemplates.organizationSinkPathTemplate.match(organizationSinkName).organization;
}
/**
* Parse the sink from OrganizationSink resource.
*
* @param {string} organizationSinkName
* A fully-qualified path representing organization_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromOrganizationSinkName(organizationSinkName) {
return this.pathTemplates.organizationSinkPathTemplate.match(organizationSinkName).sink;
}
/**
* Return a fully-qualified project resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectPath(project) {
return this.pathTemplates.projectPathTemplate.render({
project
});
}
/**
* Parse the project from Project resource.
*
* @param {string} projectName
* A fully-qualified path representing Project resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectName(projectName) {
return this.pathTemplates.projectPathTemplate.match(projectName).project;
}
/**
* Return a fully-qualified projectCmekSettings resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectCmekSettingsPath(project) {
return this.pathTemplates.projectCmekSettingsPathTemplate.render({
project
});
}
/**
* Parse the project from ProjectCmekSettings resource.
*
* @param {string} projectCmekSettingsName
* A fully-qualified path representing project_cmekSettings resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectCmekSettingsName(projectCmekSettingsName) {
return this.pathTemplates.projectCmekSettingsPathTemplate.match(projectCmekSettingsName).project;
}
/**
* Return a fully-qualified projectExclusion resource name string.
*
* @param {string} project
* @param {string} exclusion
* @returns {string} Resource name string.
*/
projectExclusionPath(project, exclusion) {
return this.pathTemplates.projectExclusionPathTemplate.render({
project,
exclusion
});
}
/**
* Parse the project from ProjectExclusion resource.
*
* @param {string} projectExclusionName
* A fully-qualified path representing project_exclusion resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectExclusionName(projectExclusionName) {
return this.pathTemplates.projectExclusionPathTemplate.match(projectExclusionName).project;
}
/**
* Parse the exclusion from ProjectExclusion resource.
*
* @param {string} projectExclusionName
* A fully-qualified path representing project_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromProjectExclusionName(projectExclusionName) {
return this.pathTemplates.projectExclusionPathTemplate.match(projectExclusionName).exclusion;
}
/**
* Return a fully-qualified projectLocationBucket resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
projectLocationBucketPath(project, location, bucket) {
return this.pathTemplates.projectLocationBucketPathTemplate.render({
project,
location,
bucket
});
}
/**
* Parse the project from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).project;
}
/**
* Parse the location from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).location;
}
/**
* Parse the bucket from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).bucket;
}
/**
* Return a fully-qualified projectLocationBucketLink resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
projectLocationBucketLinkPath(project, location, bucket, link) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.render({
project,
location,
bucket,
link
});
}
/**
* Parse the project from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).project;
}
/**
* Parse the location from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).location;
}
/**
* Parse the bucket from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).bucket;
}
/**
* Parse the link from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).link;
}
/**
* Return a fully-qualified projectLocationBucketView resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
projectLocationBucketViewPath(project, location, bucket, view) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.render({
project,
location,
bucket,
view
});
}
/**
* Parse the project from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).project;
}
/**
* Parse the location from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).location;
}
/**
* Parse the bucket from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).bucket;
}
/**
* Parse the view from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).view;
}
/**
* Return a fully-qualified projectLog resource name string.
*
* @param {string} project
* @param {string} log
* @returns {string} Resource name string.
*/
projectLogPath(project, log) {
return this.pathTemplates.projectLogPathTemplate.render({
project,
log
});
}
/**
* Parse the project from ProjectLog resource.
*
* @param {string} projectLogName
* A fully-qualified path representing project_log resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLogName(projectLogName) {
return this.pathTemplates.projectLogPathTemplate.match(projectLogName).project;
}
/**
* Parse the log from ProjectLog resource.
*
* @param {string} projectLogName
* A fully-qualified path representing project_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromProjectLogName(projectLogName) {
return this.pathTemplates.projectLogPathTemplate.match(projectLogName).log;
}
/**
* Return a fully-qualified projectSettings resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectSettingsPath(project) {
return this.pathTemplates.projectSettingsPathTemplate.render({
project
});
}
/**
* Parse the project from ProjectSettings resource.
*
* @param {string} projectSettingsName
* A fully-qualified path representing project_settings resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectSettingsName(projectSettingsName) {
return this.pathTemplates.projectSettingsPathTemplate.match(projectSettingsName).project;
}
/**
* Return a fully-qualified projectSink resource name string.
*
* @param {string} project
* @param {string} sink
* @returns {string} Resource name string.
*/
projectSinkPath(project, sink) {
return this.pathTemplates.projectSinkPathTemplate.render({
project,
sink
});
}
/**
* Parse the project from ProjectSink resource.
*
* @param {string} projectSinkName
* A fully-qualified path representing project_sink resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectSinkName(projectSinkName) {
return this.pathTemplates.projectSinkPathTemplate.match(projectSinkName).project;
}
/**
* Parse the sink from ProjectSink resource.
*
* @param {string} projectSinkName
* A fully-qualified path representing project_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromProjectSinkName(projectSinkName) {
return this.pathTemplates.projectSinkPathTemplate.match(projectSinkName).sink;
}
/**
* Terminate the gRPC channel and close the client.
*
* The client will no longer be usable and all future behavior is undefined.
* @returns {Promise} A promise that resolves when the client is closed.
*/
close() {
if (this.configServiceV2Stub && !this._terminated) {
return this.configServiceV2Stub.then((stub) => {
this._terminated = true;
stub.close();
this.operationsClient.close();
});
}
return Promise.resolve();
}
};
exports2.ConfigServiceV2Client = ConfigServiceV2Client;
}
});
// node_modules/@google-cloud/logging/build/src/v2/logging_service_v2_client_config.json
var require_logging_service_v2_client_config = __commonJS({
"node_modules/@google-cloud/logging/build/src/v2/logging_service_v2_client_config.json"(exports2, module2) {
module2.exports = {
interfaces: {
"google.logging.v2.LoggingServiceV2": {
retry_codes: {
non_idempotent: [],
idempotent: [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
],
deadline_exceeded_internal_unavailable: [
"DEADLINE_EXCEEDED",
"INTERNAL",
"UNAVAILABLE"
]
},
retry_params: {
default: {
initial_retry_delay_millis: 100,
retry_delay_multiplier: 1.3,
max_retry_delay_millis: 6e4,
initial_rpc_timeout_millis: 6e4,
rpc_timeout_multiplier: 1,
max_rpc_timeout_millis: 6e4,
total_timeout_millis: 6e5
}
},
methods: {
DeleteLog: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
WriteLogEntries: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default",
bundling: {
element_count_threshold: 1e3,
request_byte_threshold: 1048576,
delay_threshold_millis: 50,
element_count_limit: 1e6
}
},
ListLogEntries: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
ListMonitoredResourceDescriptors: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
ListLogs: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
TailLogEntries: {
timeout_millis: 36e5,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
}
}
}
}
};
}
});
// node_modules/@google-cloud/logging/build/src/v2/logging_service_v2_client.js
var require_logging_service_v2_client = __commonJS({
"node_modules/@google-cloud/logging/build/src/v2/logging_service_v2_client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LoggingServiceV2Client = void 0;
var stream_1 = __require("stream");
var jsonProtos = require_protos2();
var gapicConfig = require_logging_service_v2_client_config();
var version4 = require_package8().version;
var LoggingServiceV2Client = class {
/**
* Construct an instance of LoggingServiceV2Client.
*
* @param {object} [options] - The configuration object.
* The options accepted by the constructor are described in detail
* in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
* The common options are:
* @param {object} [options.credentials] - Credentials object.
* @param {string} [options.credentials.client_email]
* @param {string} [options.credentials.private_key]
* @param {string} [options.email] - Account email address. Required when
* using a .pem or .p12 keyFilename.
* @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
* .p12 key downloaded from the Google Developers Console. If you provide
* a path to a JSON file, the projectId option below is not necessary.
* NOTE: .pem and .p12 require you to specify options.email as well.
* @param {number} [options.port] - The port on which to connect to
* the remote host.
* @param {string} [options.projectId] - The project ID from the Google
* Developer's Console, e.g. 'grape-spaceship-123'. We will also check
* the environment variable GCLOUD_PROJECT for your project ID. If your
* app is running in an environment which supports
* {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials},
* your project ID will be detected automatically.
* @param {string} [options.apiEndpoint] - The domain name of the
* API remote host.
* @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
* Follows the structure of {@link gapicConfig}.
* @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
* For more information, please check the
* {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
* @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
* need to avoid loading the default gRPC version and want to use the fallback
* HTTP implementation. Load only fallback version and pass it to the constructor:
* ```
* const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
* const client = new LoggingServiceV2Client({fallback: true}, gax);
* ```
*/
constructor(opts, gaxInstance) {
var _a4, _b, _c, _d, _e;
this._terminated = false;
this.descriptors = {
page: {},
stream: {},
longrunning: {},
batching: {}
};
const staticMembers = this.constructor;
if ((opts === null || opts === void 0 ? void 0 : opts.universe_domain) && (opts === null || opts === void 0 ? void 0 : opts.universeDomain) && (opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== (opts === null || opts === void 0 ? void 0 : opts.universeDomain)) {
throw new Error("Please set either universe_domain or universeDomain, but not both.");
}
const universeDomainEnvVar = typeof process === "object" && typeof process.env === "object" ? process.env["GOOGLE_CLOUD_UNIVERSE_DOMAIN"] : void 0;
this._universeDomain = (_c = (_b = (_a4 = opts === null || opts === void 0 ? void 0 : opts.universeDomain) !== null && _a4 !== void 0 ? _a4 : opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== null && _b !== void 0 ? _b : universeDomainEnvVar) !== null && _c !== void 0 ? _c : "googleapis.com";
this._servicePath = "logging." + this._universeDomain;
const servicePath = (opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint) || this._servicePath;
this._providedCustomServicePath = !!((opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint));
const port = (opts === null || opts === void 0 ? void 0 : opts.port) || staticMembers.port;
const clientConfig = (_d = opts === null || opts === void 0 ? void 0 : opts.clientConfig) !== null && _d !== void 0 ? _d : {};
const fallback = (_e = opts === null || opts === void 0 ? void 0 : opts.fallback) !== null && _e !== void 0 ? _e : typeof window !== "undefined" && typeof (window === null || window === void 0 ? void 0 : window.fetch) === "function";
opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
opts.numericEnums = true;
if (servicePath !== this._servicePath && !("scopes" in opts)) {
opts["scopes"] = staticMembers.scopes;
}
if (!gaxInstance) {
gaxInstance = require_src50();
}
this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance;
this._gaxGrpc = new this._gaxModule.GrpcClient(opts);
this._opts = opts;
this.auth = this._gaxGrpc.auth;
this.auth.useJWTAccessWithScope = true;
this.auth.defaultServicePath = this._servicePath;
if (servicePath === this._servicePath) {
this.auth.defaultScopes = staticMembers.scopes;
}
const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version4}`];
if (typeof process === "object" && "versions" in process) {
clientHeader.push(`gl-node/${process.versions.node}`);
} else {
clientHeader.push(`gl-web/${this._gaxModule.version}`);
}
if (!opts.fallback) {
clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`);
} else {
clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`);
}
if (opts.libName && opts.libVersion) {
clientHeader.push(`${opts.libName}/${opts.libVersion}`);
}
this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos);
this.pathTemplates = {
billingAccountCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/cmekSettings"),
billingAccountExclusionPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/exclusions/{exclusion}"),
billingAccountLocationBucketPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}"),
billingAccountLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/links/{link}"),
billingAccountLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}"),
billingAccountLogPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/logs/{log}"),
billingAccountSettingsPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/settings"),
billingAccountSinkPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/sinks/{sink}"),
folderCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/cmekSettings"),
folderExclusionPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/exclusions/{exclusion}"),
folderLocationBucketPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}"),
folderLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}/links/{link}"),
folderLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}/views/{view}"),
folderLogPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/logs/{log}"),
folderSettingsPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/settings"),
folderSinkPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/sinks/{sink}"),
logMetricPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/metrics/{metric}"),
organizationCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/cmekSettings"),
organizationExclusionPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/exclusions/{exclusion}"),
organizationLocationBucketPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}"),
organizationLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}/links/{link}"),
organizationLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}/views/{view}"),
organizationLogPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/logs/{log}"),
organizationSettingsPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/settings"),
organizationSinkPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/sinks/{sink}"),
projectPathTemplate: new this._gaxModule.PathTemplate("projects/{project}"),
projectCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/cmekSettings"),
projectExclusionPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/exclusions/{exclusion}"),
projectLocationBucketPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}"),
projectLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}/links/{link}"),
projectLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}/views/{view}"),
projectLogPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/logs/{log}"),
projectSettingsPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/settings"),
projectSinkPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/sinks/{sink}")
};
this.descriptors.page = {
listLogEntries: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "entries"),
listMonitoredResourceDescriptors: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "resourceDescriptors"),
listLogs: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "logNames")
};
this.descriptors.stream = {
tailLogEntries: new this._gaxModule.StreamDescriptor(this._gaxModule.StreamType.BIDI_STREAMING, !!opts.fallback, !!opts.gaxServerStreamingRetries)
};
const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos);
this.descriptors.batching = {
writeLogEntries: new this._gaxModule.BundleDescriptor("entries", ["log_name", "resource", "labels"], null, this._gaxModule.GrpcClient.createByteLengthFunction(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
protoFilesRoot.lookupType("google.logging.v2.LogEntry")
))
};
this._defaults = this._gaxGrpc.constructSettings("google.logging.v2.LoggingServiceV2", gapicConfig, opts.clientConfig || {}, { "x-goog-api-client": clientHeader.join(" ") });
this.innerApiCalls = {};
this.warn = this._gaxModule.warn;
}
/**
* Initialize the client.
* Performs asynchronous operations (such as authentication) and prepares the client.
* This function will be called automatically when any class method is called for the
* first time, but if you need to initialize it before calling an actual method,
* feel free to call initialize() directly.
*
* You can await on this method if you want to make sure the client is initialized.
*
* @returns {Promise} A promise that resolves to an authenticated service stub.
*/
initialize() {
var _a4;
if (this.loggingServiceV2Stub) {
return this.loggingServiceV2Stub;
}
this.loggingServiceV2Stub = this._gaxGrpc.createStub(this._opts.fallback ? this._protos.lookupService("google.logging.v2.LoggingServiceV2") : (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this._protos.google.logging.v2.LoggingServiceV2
), this._opts, this._providedCustomServicePath);
const loggingServiceV2StubMethods = [
"deleteLog",
"writeLogEntries",
"listLogEntries",
"listMonitoredResourceDescriptors",
"listLogs",
"tailLogEntries"
];
for (const methodName of loggingServiceV2StubMethods) {
const callPromise = this.loggingServiceV2Stub.then((stub) => (...args2) => {
if (this._terminated) {
if (methodName in this.descriptors.stream) {
const stream2 = new stream_1.PassThrough();
setImmediate(() => {
stream2.emit("error", new this._gaxModule.GoogleError("The client has already been closed."));
});
return stream2;
}
return Promise.reject("The client has already been closed.");
}
const func2 = stub[methodName];
return func2.apply(stub, args2);
}, (err2) => () => {
throw err2;
});
const descriptor2 = this.descriptors.page[methodName] || this.descriptors.stream[methodName] || ((_a4 = this.descriptors.batching) === null || _a4 === void 0 ? void 0 : _a4[methodName]) || void 0;
const apiCall = this._gaxModule.createApiCall(callPromise, this._defaults[methodName], descriptor2, this._opts.fallback);
this.innerApiCalls[methodName] = apiCall;
}
return this.loggingServiceV2Stub;
}
/**
* The DNS address for this API service.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get servicePath() {
if (typeof process === "object" && typeof process.emitWarning === "function") {
process.emitWarning("Static servicePath is deprecated, please use the instance method instead.", "DeprecationWarning");
}
return "logging.googleapis.com";
}
/**
* The DNS address for this API service - same as servicePath.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get apiEndpoint() {
if (typeof process === "object" && typeof process.emitWarning === "function") {
process.emitWarning("Static apiEndpoint is deprecated, please use the instance method instead.", "DeprecationWarning");
}
return "logging.googleapis.com";
}
/**
* The DNS address for this API service.
* @returns {string} The DNS address for this service.
*/
get apiEndpoint() {
return this._servicePath;
}
get universeDomain() {
return this._universeDomain;
}
/**
* The port for this API service.
* @returns {number} The default port for this service.
*/
static get port() {
return 443;
}
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
* @returns {string[]} List of default scopes.
*/
static get scopes() {
return [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only",
"https://www.googleapis.com/auth/logging.admin",
"https://www.googleapis.com/auth/logging.read",
"https://www.googleapis.com/auth/logging.write"
];
}
/**
* Return the project ID used by this class.
* @returns {Promise} A promise that resolves to string containing the project ID.
*/
getProjectId(callback) {
if (callback) {
this.auth.getProjectId(callback);
return;
}
return this.auth.getProjectId();
}
deleteLog(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
log_name: (_a4 = request.logName) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.deleteLog(request, options, callback);
}
writeLogEntries(request, optionsOrCallback, callback) {
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
this.initialize();
return this.innerApiCalls.writeLogEntries(request, options, callback);
}
/**
* Streaming read of log entries as they are ingested. Until the stream is
* terminated, it will continue reading logs.
*
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which is both readable and writable. It accepts objects
* representing {@link protos.google.logging.v2.TailLogEntriesRequest|TailLogEntriesRequest} for write() method, and
* will emit objects representing {@link protos.google.logging.v2.TailLogEntriesResponse|TailLogEntriesResponse} on 'data' event asynchronously.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#bi-directional-streaming | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/logging_service_v2.tail_log_entries.js</caption>
* region_tag:logging_v2_generated_LoggingServiceV2_TailLogEntries_async
*/
tailLogEntries(options) {
this.initialize();
return this.innerApiCalls.tailLogEntries(null, options);
}
listLogEntries(request, optionsOrCallback, callback) {
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
this.initialize();
return this.innerApiCalls.listLogEntries(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string[]} request.resourceNames
* Required. Names of one or more parent resources from which to
* retrieve log entries:
*
* * `projects/[PROJECT_ID]`
* * `organizations/[ORGANIZATION_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]`
* * `folders/[FOLDER_ID]`
*
* May alternatively be one or more views:
*
* * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
*
* Projects listed in the `project_ids` field are added to this list.
* A maximum of 100 resources may be specified in a single request.
* @param {string} [request.filter]
* Optional. Only log entries that match the filter are returned. An empty
* filter matches all log entries in the resources listed in `resource_names`.
* Referencing a parent resource that is not listed in `resource_names` will
* cause the filter to return no results. The maximum length of a filter is
* 20,000 characters.
* @param {string} [request.orderBy]
* Optional. How the results should be sorted. Presently, the only permitted
* values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
* option returns entries in order of increasing values of
* `LogEntry.timestamp` (oldest first), and the second option returns entries
* in order of decreasing timestamps (newest first). Entries with equal
* timestamps are returned in order of their `insert_id` values.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Default is 50. If the value is negative or exceeds 1000, the request is
* rejected. The presence of `next_page_token` in the response indicates that
* more results might be available.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `page_token` must be the value of
* `next_page_token` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.logging.v2.LogEntry|LogEntry} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listLogEntriesAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listLogEntriesStream(request, options) {
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
const defaultCallSettings = this._defaults["listLogEntries"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLogEntries.createStream(this.innerApiCalls.listLogEntries, request, callSettings);
}
/**
* Equivalent to `listLogEntries`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string[]} request.resourceNames
* Required. Names of one or more parent resources from which to
* retrieve log entries:
*
* * `projects/[PROJECT_ID]`
* * `organizations/[ORGANIZATION_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]`
* * `folders/[FOLDER_ID]`
*
* May alternatively be one or more views:
*
* * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
*
* Projects listed in the `project_ids` field are added to this list.
* A maximum of 100 resources may be specified in a single request.
* @param {string} [request.filter]
* Optional. Only log entries that match the filter are returned. An empty
* filter matches all log entries in the resources listed in `resource_names`.
* Referencing a parent resource that is not listed in `resource_names` will
* cause the filter to return no results. The maximum length of a filter is
* 20,000 characters.
* @param {string} [request.orderBy]
* Optional. How the results should be sorted. Presently, the only permitted
* values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
* option returns entries in order of increasing values of
* `LogEntry.timestamp` (oldest first), and the second option returns entries
* in order of decreasing timestamps (newest first). Entries with equal
* timestamps are returned in order of their `insert_id` values.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Default is 50. If the value is negative or exceeds 1000, the request is
* rejected. The presence of `next_page_token` in the response indicates that
* more results might be available.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `page_token` must be the value of
* `next_page_token` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.logging.v2.LogEntry|LogEntry}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/logging_service_v2.list_log_entries.js</caption>
* region_tag:logging_v2_generated_LoggingServiceV2_ListLogEntries_async
*/
listLogEntriesAsync(request, options) {
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
const defaultCallSettings = this._defaults["listLogEntries"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLogEntries.asyncIterate(this.innerApiCalls["listLogEntries"], request, callSettings);
}
listMonitoredResourceDescriptors(request, optionsOrCallback, callback) {
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
this.initialize();
return this.innerApiCalls.listMonitoredResourceDescriptors(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.api.MonitoredResourceDescriptor|MonitoredResourceDescriptor} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listMonitoredResourceDescriptorsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listMonitoredResourceDescriptorsStream(request, options) {
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
const defaultCallSettings = this._defaults["listMonitoredResourceDescriptors"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listMonitoredResourceDescriptors.createStream(this.innerApiCalls.listMonitoredResourceDescriptors, request, callSettings);
}
/**
* Equivalent to `listMonitoredResourceDescriptors`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.api.MonitoredResourceDescriptor|MonitoredResourceDescriptor}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/logging_service_v2.list_monitored_resource_descriptors.js</caption>
* region_tag:logging_v2_generated_LoggingServiceV2_ListMonitoredResourceDescriptors_async
*/
listMonitoredResourceDescriptorsAsync(request, options) {
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
const defaultCallSettings = this._defaults["listMonitoredResourceDescriptors"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listMonitoredResourceDescriptors.asyncIterate(this.innerApiCalls["listMonitoredResourceDescriptors"], request, callSettings);
}
listLogs(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.listLogs(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The resource name to list logs for:
*
* * `projects/[PROJECT_ID]`
* * `organizations/[ORGANIZATION_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]`
* * `folders/[FOLDER_ID]`
* @param {string[]} [request.resourceNames]
* Optional. List of resource names to list logs for:
*
* * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
*
* To support legacy queries, it could also be:
*
* * `projects/[PROJECT_ID]`
* * `organizations/[ORGANIZATION_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]`
* * `folders/[FOLDER_ID]`
*
* The resource name in the `parent` field is added to this list.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing string on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listLogsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listLogsStream(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listLogs"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLogs.createStream(this.innerApiCalls.listLogs, request, callSettings);
}
/**
* Equivalent to `listLogs`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The resource name to list logs for:
*
* * `projects/[PROJECT_ID]`
* * `organizations/[ORGANIZATION_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]`
* * `folders/[FOLDER_ID]`
* @param {string[]} [request.resourceNames]
* Optional. List of resource names to list logs for:
*
* * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
* * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]`
*
* To support legacy queries, it could also be:
*
* * `projects/[PROJECT_ID]`
* * `organizations/[ORGANIZATION_ID]`
* * `billingAccounts/[BILLING_ACCOUNT_ID]`
* * `folders/[FOLDER_ID]`
*
* The resource name in the `parent` field is added to this list.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* string. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/logging_service_v2.list_logs.js</caption>
* region_tag:logging_v2_generated_LoggingServiceV2_ListLogs_async
*/
listLogsAsync(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listLogs"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLogs.asyncIterate(this.innerApiCalls["listLogs"], request, callSettings);
}
// --------------------
// -- Path templates --
// --------------------
/**
* Return a fully-qualified billingAccountCmekSettings resource name string.
*
* @param {string} billing_account
* @returns {string} Resource name string.
*/
billingAccountCmekSettingsPath(billingAccount) {
return this.pathTemplates.billingAccountCmekSettingsPathTemplate.render({
billing_account: billingAccount
});
}
/**
* Parse the billing_account from BillingAccountCmekSettings resource.
*
* @param {string} billingAccountCmekSettingsName
* A fully-qualified path representing billing_account_cmekSettings resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountCmekSettingsName(billingAccountCmekSettingsName) {
return this.pathTemplates.billingAccountCmekSettingsPathTemplate.match(billingAccountCmekSettingsName).billing_account;
}
/**
* Return a fully-qualified billingAccountExclusion resource name string.
*
* @param {string} billing_account
* @param {string} exclusion
* @returns {string} Resource name string.
*/
billingAccountExclusionPath(billingAccount, exclusion) {
return this.pathTemplates.billingAccountExclusionPathTemplate.render({
billing_account: billingAccount,
exclusion
});
}
/**
* Parse the billing_account from BillingAccountExclusion resource.
*
* @param {string} billingAccountExclusionName
* A fully-qualified path representing billing_account_exclusion resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountExclusionName(billingAccountExclusionName) {
return this.pathTemplates.billingAccountExclusionPathTemplate.match(billingAccountExclusionName).billing_account;
}
/**
* Parse the exclusion from BillingAccountExclusion resource.
*
* @param {string} billingAccountExclusionName
* A fully-qualified path representing billing_account_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromBillingAccountExclusionName(billingAccountExclusionName) {
return this.pathTemplates.billingAccountExclusionPathTemplate.match(billingAccountExclusionName).exclusion;
}
/**
* Return a fully-qualified billingAccountLocationBucket resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
billingAccountLocationBucketPath(billingAccount, location, bucket) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.render({
billing_account: billingAccount,
location,
bucket
});
}
/**
* Parse the billing_account from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).bucket;
}
/**
* Return a fully-qualified billingAccountLocationBucketLink resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
billingAccountLocationBucketLinkPath(billingAccount, location, bucket, link) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.render({
billing_account: billingAccount,
location,
bucket,
link
});
}
/**
* Parse the billing_account from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).bucket;
}
/**
* Parse the link from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).link;
}
/**
* Return a fully-qualified billingAccountLocationBucketView resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
billingAccountLocationBucketViewPath(billingAccount, location, bucket, view) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.render({
billing_account: billingAccount,
location,
bucket,
view
});
}
/**
* Parse the billing_account from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).bucket;
}
/**
* Parse the view from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).view;
}
/**
* Return a fully-qualified billingAccountLog resource name string.
*
* @param {string} billing_account
* @param {string} log
* @returns {string} Resource name string.
*/
billingAccountLogPath(billingAccount, log) {
return this.pathTemplates.billingAccountLogPathTemplate.render({
billing_account: billingAccount,
log
});
}
/**
* Parse the billing_account from BillingAccountLog resource.
*
* @param {string} billingAccountLogName
* A fully-qualified path representing billing_account_log resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLogName(billingAccountLogName) {
return this.pathTemplates.billingAccountLogPathTemplate.match(billingAccountLogName).billing_account;
}
/**
* Parse the log from BillingAccountLog resource.
*
* @param {string} billingAccountLogName
* A fully-qualified path representing billing_account_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromBillingAccountLogName(billingAccountLogName) {
return this.pathTemplates.billingAccountLogPathTemplate.match(billingAccountLogName).log;
}
/**
* Return a fully-qualified billingAccountSettings resource name string.
*
* @param {string} billing_account
* @returns {string} Resource name string.
*/
billingAccountSettingsPath(billingAccount) {
return this.pathTemplates.billingAccountSettingsPathTemplate.render({
billing_account: billingAccount
});
}
/**
* Parse the billing_account from BillingAccountSettings resource.
*
* @param {string} billingAccountSettingsName
* A fully-qualified path representing billing_account_settings resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountSettingsName(billingAccountSettingsName) {
return this.pathTemplates.billingAccountSettingsPathTemplate.match(billingAccountSettingsName).billing_account;
}
/**
* Return a fully-qualified billingAccountSink resource name string.
*
* @param {string} billing_account
* @param {string} sink
* @returns {string} Resource name string.
*/
billingAccountSinkPath(billingAccount, sink) {
return this.pathTemplates.billingAccountSinkPathTemplate.render({
billing_account: billingAccount,
sink
});
}
/**
* Parse the billing_account from BillingAccountSink resource.
*
* @param {string} billingAccountSinkName
* A fully-qualified path representing billing_account_sink resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountSinkName(billingAccountSinkName) {
return this.pathTemplates.billingAccountSinkPathTemplate.match(billingAccountSinkName).billing_account;
}
/**
* Parse the sink from BillingAccountSink resource.
*
* @param {string} billingAccountSinkName
* A fully-qualified path representing billing_account_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromBillingAccountSinkName(billingAccountSinkName) {
return this.pathTemplates.billingAccountSinkPathTemplate.match(billingAccountSinkName).sink;
}
/**
* Return a fully-qualified folderCmekSettings resource name string.
*
* @param {string} folder
* @returns {string} Resource name string.
*/
folderCmekSettingsPath(folder) {
return this.pathTemplates.folderCmekSettingsPathTemplate.render({
folder
});
}
/**
* Parse the folder from FolderCmekSettings resource.
*
* @param {string} folderCmekSettingsName
* A fully-qualified path representing folder_cmekSettings resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderCmekSettingsName(folderCmekSettingsName) {
return this.pathTemplates.folderCmekSettingsPathTemplate.match(folderCmekSettingsName).folder;
}
/**
* Return a fully-qualified folderExclusion resource name string.
*
* @param {string} folder
* @param {string} exclusion
* @returns {string} Resource name string.
*/
folderExclusionPath(folder, exclusion) {
return this.pathTemplates.folderExclusionPathTemplate.render({
folder,
exclusion
});
}
/**
* Parse the folder from FolderExclusion resource.
*
* @param {string} folderExclusionName
* A fully-qualified path representing folder_exclusion resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderExclusionName(folderExclusionName) {
return this.pathTemplates.folderExclusionPathTemplate.match(folderExclusionName).folder;
}
/**
* Parse the exclusion from FolderExclusion resource.
*
* @param {string} folderExclusionName
* A fully-qualified path representing folder_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromFolderExclusionName(folderExclusionName) {
return this.pathTemplates.folderExclusionPathTemplate.match(folderExclusionName).exclusion;
}
/**
* Return a fully-qualified folderLocationBucket resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
folderLocationBucketPath(folder, location, bucket) {
return this.pathTemplates.folderLocationBucketPathTemplate.render({
folder,
location,
bucket
});
}
/**
* Parse the folder from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).folder;
}
/**
* Parse the location from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).location;
}
/**
* Parse the bucket from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).bucket;
}
/**
* Return a fully-qualified folderLocationBucketLink resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
folderLocationBucketLinkPath(folder, location, bucket, link) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.render({
folder,
location,
bucket,
link
});
}
/**
* Parse the folder from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).folder;
}
/**
* Parse the location from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).location;
}
/**
* Parse the bucket from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).bucket;
}
/**
* Parse the link from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).link;
}
/**
* Return a fully-qualified folderLocationBucketView resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
folderLocationBucketViewPath(folder, location, bucket, view) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.render({
folder,
location,
bucket,
view
});
}
/**
* Parse the folder from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).folder;
}
/**
* Parse the location from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).location;
}
/**
* Parse the bucket from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).bucket;
}
/**
* Parse the view from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).view;
}
/**
* Return a fully-qualified folderLog resource name string.
*
* @param {string} folder
* @param {string} log
* @returns {string} Resource name string.
*/
folderLogPath(folder, log) {
return this.pathTemplates.folderLogPathTemplate.render({
folder,
log
});
}
/**
* Parse the folder from FolderLog resource.
*
* @param {string} folderLogName
* A fully-qualified path representing folder_log resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLogName(folderLogName) {
return this.pathTemplates.folderLogPathTemplate.match(folderLogName).folder;
}
/**
* Parse the log from FolderLog resource.
*
* @param {string} folderLogName
* A fully-qualified path representing folder_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromFolderLogName(folderLogName) {
return this.pathTemplates.folderLogPathTemplate.match(folderLogName).log;
}
/**
* Return a fully-qualified folderSettings resource name string.
*
* @param {string} folder
* @returns {string} Resource name string.
*/
folderSettingsPath(folder) {
return this.pathTemplates.folderSettingsPathTemplate.render({
folder
});
}
/**
* Parse the folder from FolderSettings resource.
*
* @param {string} folderSettingsName
* A fully-qualified path representing folder_settings resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderSettingsName(folderSettingsName) {
return this.pathTemplates.folderSettingsPathTemplate.match(folderSettingsName).folder;
}
/**
* Return a fully-qualified folderSink resource name string.
*
* @param {string} folder
* @param {string} sink
* @returns {string} Resource name string.
*/
folderSinkPath(folder, sink) {
return this.pathTemplates.folderSinkPathTemplate.render({
folder,
sink
});
}
/**
* Parse the folder from FolderSink resource.
*
* @param {string} folderSinkName
* A fully-qualified path representing folder_sink resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderSinkName(folderSinkName) {
return this.pathTemplates.folderSinkPathTemplate.match(folderSinkName).folder;
}
/**
* Parse the sink from FolderSink resource.
*
* @param {string} folderSinkName
* A fully-qualified path representing folder_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromFolderSinkName(folderSinkName) {
return this.pathTemplates.folderSinkPathTemplate.match(folderSinkName).sink;
}
/**
* Return a fully-qualified logMetric resource name string.
*
* @param {string} project
* @param {string} metric
* @returns {string} Resource name string.
*/
logMetricPath(project, metric) {
return this.pathTemplates.logMetricPathTemplate.render({
project,
metric
});
}
/**
* Parse the project from LogMetric resource.
*
* @param {string} logMetricName
* A fully-qualified path representing LogMetric resource.
* @returns {string} A string representing the project.
*/
matchProjectFromLogMetricName(logMetricName) {
return this.pathTemplates.logMetricPathTemplate.match(logMetricName).project;
}
/**
* Parse the metric from LogMetric resource.
*
* @param {string} logMetricName
* A fully-qualified path representing LogMetric resource.
* @returns {string} A string representing the metric.
*/
matchMetricFromLogMetricName(logMetricName) {
return this.pathTemplates.logMetricPathTemplate.match(logMetricName).metric;
}
/**
* Return a fully-qualified organizationCmekSettings resource name string.
*
* @param {string} organization
* @returns {string} Resource name string.
*/
organizationCmekSettingsPath(organization) {
return this.pathTemplates.organizationCmekSettingsPathTemplate.render({
organization
});
}
/**
* Parse the organization from OrganizationCmekSettings resource.
*
* @param {string} organizationCmekSettingsName
* A fully-qualified path representing organization_cmekSettings resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationCmekSettingsName(organizationCmekSettingsName) {
return this.pathTemplates.organizationCmekSettingsPathTemplate.match(organizationCmekSettingsName).organization;
}
/**
* Return a fully-qualified organizationExclusion resource name string.
*
* @param {string} organization
* @param {string} exclusion
* @returns {string} Resource name string.
*/
organizationExclusionPath(organization, exclusion) {
return this.pathTemplates.organizationExclusionPathTemplate.render({
organization,
exclusion
});
}
/**
* Parse the organization from OrganizationExclusion resource.
*
* @param {string} organizationExclusionName
* A fully-qualified path representing organization_exclusion resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationExclusionName(organizationExclusionName) {
return this.pathTemplates.organizationExclusionPathTemplate.match(organizationExclusionName).organization;
}
/**
* Parse the exclusion from OrganizationExclusion resource.
*
* @param {string} organizationExclusionName
* A fully-qualified path representing organization_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromOrganizationExclusionName(organizationExclusionName) {
return this.pathTemplates.organizationExclusionPathTemplate.match(organizationExclusionName).exclusion;
}
/**
* Return a fully-qualified organizationLocationBucket resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
organizationLocationBucketPath(organization, location, bucket) {
return this.pathTemplates.organizationLocationBucketPathTemplate.render({
organization,
location,
bucket
});
}
/**
* Parse the organization from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).organization;
}
/**
* Parse the location from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).location;
}
/**
* Parse the bucket from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).bucket;
}
/**
* Return a fully-qualified organizationLocationBucketLink resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
organizationLocationBucketLinkPath(organization, location, bucket, link) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.render({
organization,
location,
bucket,
link
});
}
/**
* Parse the organization from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).organization;
}
/**
* Parse the location from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).location;
}
/**
* Parse the bucket from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).bucket;
}
/**
* Parse the link from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).link;
}
/**
* Return a fully-qualified organizationLocationBucketView resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
organizationLocationBucketViewPath(organization, location, bucket, view) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.render({
organization,
location,
bucket,
view
});
}
/**
* Parse the organization from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).organization;
}
/**
* Parse the location from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).location;
}
/**
* Parse the bucket from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).bucket;
}
/**
* Parse the view from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).view;
}
/**
* Return a fully-qualified organizationLog resource name string.
*
* @param {string} organization
* @param {string} log
* @returns {string} Resource name string.
*/
organizationLogPath(organization, log) {
return this.pathTemplates.organizationLogPathTemplate.render({
organization,
log
});
}
/**
* Parse the organization from OrganizationLog resource.
*
* @param {string} organizationLogName
* A fully-qualified path representing organization_log resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLogName(organizationLogName) {
return this.pathTemplates.organizationLogPathTemplate.match(organizationLogName).organization;
}
/**
* Parse the log from OrganizationLog resource.
*
* @param {string} organizationLogName
* A fully-qualified path representing organization_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromOrganizationLogName(organizationLogName) {
return this.pathTemplates.organizationLogPathTemplate.match(organizationLogName).log;
}
/**
* Return a fully-qualified organizationSettings resource name string.
*
* @param {string} organization
* @returns {string} Resource name string.
*/
organizationSettingsPath(organization) {
return this.pathTemplates.organizationSettingsPathTemplate.render({
organization
});
}
/**
* Parse the organization from OrganizationSettings resource.
*
* @param {string} organizationSettingsName
* A fully-qualified path representing organization_settings resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationSettingsName(organizationSettingsName) {
return this.pathTemplates.organizationSettingsPathTemplate.match(organizationSettingsName).organization;
}
/**
* Return a fully-qualified organizationSink resource name string.
*
* @param {string} organization
* @param {string} sink
* @returns {string} Resource name string.
*/
organizationSinkPath(organization, sink) {
return this.pathTemplates.organizationSinkPathTemplate.render({
organization,
sink
});
}
/**
* Parse the organization from OrganizationSink resource.
*
* @param {string} organizationSinkName
* A fully-qualified path representing organization_sink resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationSinkName(organizationSinkName) {
return this.pathTemplates.organizationSinkPathTemplate.match(organizationSinkName).organization;
}
/**
* Parse the sink from OrganizationSink resource.
*
* @param {string} organizationSinkName
* A fully-qualified path representing organization_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromOrganizationSinkName(organizationSinkName) {
return this.pathTemplates.organizationSinkPathTemplate.match(organizationSinkName).sink;
}
/**
* Return a fully-qualified project resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectPath(project) {
return this.pathTemplates.projectPathTemplate.render({
project
});
}
/**
* Parse the project from Project resource.
*
* @param {string} projectName
* A fully-qualified path representing Project resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectName(projectName) {
return this.pathTemplates.projectPathTemplate.match(projectName).project;
}
/**
* Return a fully-qualified projectCmekSettings resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectCmekSettingsPath(project) {
return this.pathTemplates.projectCmekSettingsPathTemplate.render({
project
});
}
/**
* Parse the project from ProjectCmekSettings resource.
*
* @param {string} projectCmekSettingsName
* A fully-qualified path representing project_cmekSettings resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectCmekSettingsName(projectCmekSettingsName) {
return this.pathTemplates.projectCmekSettingsPathTemplate.match(projectCmekSettingsName).project;
}
/**
* Return a fully-qualified projectExclusion resource name string.
*
* @param {string} project
* @param {string} exclusion
* @returns {string} Resource name string.
*/
projectExclusionPath(project, exclusion) {
return this.pathTemplates.projectExclusionPathTemplate.render({
project,
exclusion
});
}
/**
* Parse the project from ProjectExclusion resource.
*
* @param {string} projectExclusionName
* A fully-qualified path representing project_exclusion resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectExclusionName(projectExclusionName) {
return this.pathTemplates.projectExclusionPathTemplate.match(projectExclusionName).project;
}
/**
* Parse the exclusion from ProjectExclusion resource.
*
* @param {string} projectExclusionName
* A fully-qualified path representing project_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromProjectExclusionName(projectExclusionName) {
return this.pathTemplates.projectExclusionPathTemplate.match(projectExclusionName).exclusion;
}
/**
* Return a fully-qualified projectLocationBucket resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
projectLocationBucketPath(project, location, bucket) {
return this.pathTemplates.projectLocationBucketPathTemplate.render({
project,
location,
bucket
});
}
/**
* Parse the project from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).project;
}
/**
* Parse the location from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).location;
}
/**
* Parse the bucket from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).bucket;
}
/**
* Return a fully-qualified projectLocationBucketLink resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
projectLocationBucketLinkPath(project, location, bucket, link) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.render({
project,
location,
bucket,
link
});
}
/**
* Parse the project from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).project;
}
/**
* Parse the location from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).location;
}
/**
* Parse the bucket from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).bucket;
}
/**
* Parse the link from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).link;
}
/**
* Return a fully-qualified projectLocationBucketView resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
projectLocationBucketViewPath(project, location, bucket, view) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.render({
project,
location,
bucket,
view
});
}
/**
* Parse the project from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).project;
}
/**
* Parse the location from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).location;
}
/**
* Parse the bucket from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).bucket;
}
/**
* Parse the view from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).view;
}
/**
* Return a fully-qualified projectLog resource name string.
*
* @param {string} project
* @param {string} log
* @returns {string} Resource name string.
*/
projectLogPath(project, log) {
return this.pathTemplates.projectLogPathTemplate.render({
project,
log
});
}
/**
* Parse the project from ProjectLog resource.
*
* @param {string} projectLogName
* A fully-qualified path representing project_log resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLogName(projectLogName) {
return this.pathTemplates.projectLogPathTemplate.match(projectLogName).project;
}
/**
* Parse the log from ProjectLog resource.
*
* @param {string} projectLogName
* A fully-qualified path representing project_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromProjectLogName(projectLogName) {
return this.pathTemplates.projectLogPathTemplate.match(projectLogName).log;
}
/**
* Return a fully-qualified projectSettings resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectSettingsPath(project) {
return this.pathTemplates.projectSettingsPathTemplate.render({
project
});
}
/**
* Parse the project from ProjectSettings resource.
*
* @param {string} projectSettingsName
* A fully-qualified path representing project_settings resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectSettingsName(projectSettingsName) {
return this.pathTemplates.projectSettingsPathTemplate.match(projectSettingsName).project;
}
/**
* Return a fully-qualified projectSink resource name string.
*
* @param {string} project
* @param {string} sink
* @returns {string} Resource name string.
*/
projectSinkPath(project, sink) {
return this.pathTemplates.projectSinkPathTemplate.render({
project,
sink
});
}
/**
* Parse the project from ProjectSink resource.
*
* @param {string} projectSinkName
* A fully-qualified path representing project_sink resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectSinkName(projectSinkName) {
return this.pathTemplates.projectSinkPathTemplate.match(projectSinkName).project;
}
/**
* Parse the sink from ProjectSink resource.
*
* @param {string} projectSinkName
* A fully-qualified path representing project_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromProjectSinkName(projectSinkName) {
return this.pathTemplates.projectSinkPathTemplate.match(projectSinkName).sink;
}
/**
* Terminate the gRPC channel and close the client.
*
* The client will no longer be usable and all future behavior is undefined.
* @returns {Promise} A promise that resolves when the client is closed.
*/
close() {
if (this.loggingServiceV2Stub && !this._terminated) {
return this.loggingServiceV2Stub.then((stub) => {
this._terminated = true;
stub.close();
});
}
return Promise.resolve();
}
};
exports2.LoggingServiceV2Client = LoggingServiceV2Client;
}
});
// node_modules/@google-cloud/logging/build/src/v2/metrics_service_v2_client_config.json
var require_metrics_service_v2_client_config = __commonJS({
"node_modules/@google-cloud/logging/build/src/v2/metrics_service_v2_client_config.json"(exports2, module2) {
module2.exports = {
interfaces: {
"google.logging.v2.MetricsServiceV2": {
retry_codes: {
non_idempotent: [],
idempotent: [
"DEADLINE_EXCEEDED",
"UNAVAILABLE"
],
deadline_exceeded_internal_unavailable: [
"DEADLINE_EXCEEDED",
"INTERNAL",
"UNAVAILABLE"
]
},
retry_params: {
default: {
initial_retry_delay_millis: 100,
retry_delay_multiplier: 1.3,
max_retry_delay_millis: 6e4,
initial_rpc_timeout_millis: 6e4,
rpc_timeout_multiplier: 1,
max_rpc_timeout_millis: 6e4,
total_timeout_millis: 6e5
}
},
methods: {
ListLogMetrics: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
GetLogMetric: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
CreateLogMetric: {
timeout_millis: 6e4,
retry_codes_name: "non_idempotent",
retry_params_name: "default"
},
UpdateLogMetric: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
},
DeleteLogMetric: {
timeout_millis: 6e4,
retry_codes_name: "deadline_exceeded_internal_unavailable",
retry_params_name: "default"
}
}
}
}
};
}
});
// node_modules/@google-cloud/logging/build/src/v2/metrics_service_v2_client.js
var require_metrics_service_v2_client = __commonJS({
"node_modules/@google-cloud/logging/build/src/v2/metrics_service_v2_client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MetricsServiceV2Client = void 0;
var jsonProtos = require_protos2();
var gapicConfig = require_metrics_service_v2_client_config();
var version4 = require_package8().version;
var MetricsServiceV2Client = class {
/**
* Construct an instance of MetricsServiceV2Client.
*
* @param {object} [options] - The configuration object.
* The options accepted by the constructor are described in detail
* in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
* The common options are:
* @param {object} [options.credentials] - Credentials object.
* @param {string} [options.credentials.client_email]
* @param {string} [options.credentials.private_key]
* @param {string} [options.email] - Account email address. Required when
* using a .pem or .p12 keyFilename.
* @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
* .p12 key downloaded from the Google Developers Console. If you provide
* a path to a JSON file, the projectId option below is not necessary.
* NOTE: .pem and .p12 require you to specify options.email as well.
* @param {number} [options.port] - The port on which to connect to
* the remote host.
* @param {string} [options.projectId] - The project ID from the Google
* Developer's Console, e.g. 'grape-spaceship-123'. We will also check
* the environment variable GCLOUD_PROJECT for your project ID. If your
* app is running in an environment which supports
* {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials},
* your project ID will be detected automatically.
* @param {string} [options.apiEndpoint] - The domain name of the
* API remote host.
* @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
* Follows the structure of {@link gapicConfig}.
* @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
* For more information, please check the
* {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
* @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
* need to avoid loading the default gRPC version and want to use the fallback
* HTTP implementation. Load only fallback version and pass it to the constructor:
* ```
* const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
* const client = new MetricsServiceV2Client({fallback: true}, gax);
* ```
*/
constructor(opts, gaxInstance) {
var _a4, _b, _c, _d, _e;
this._terminated = false;
this.descriptors = {
page: {},
stream: {},
longrunning: {},
batching: {}
};
const staticMembers = this.constructor;
if ((opts === null || opts === void 0 ? void 0 : opts.universe_domain) && (opts === null || opts === void 0 ? void 0 : opts.universeDomain) && (opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== (opts === null || opts === void 0 ? void 0 : opts.universeDomain)) {
throw new Error("Please set either universe_domain or universeDomain, but not both.");
}
const universeDomainEnvVar = typeof process === "object" && typeof process.env === "object" ? process.env["GOOGLE_CLOUD_UNIVERSE_DOMAIN"] : void 0;
this._universeDomain = (_c = (_b = (_a4 = opts === null || opts === void 0 ? void 0 : opts.universeDomain) !== null && _a4 !== void 0 ? _a4 : opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== null && _b !== void 0 ? _b : universeDomainEnvVar) !== null && _c !== void 0 ? _c : "googleapis.com";
this._servicePath = "logging." + this._universeDomain;
const servicePath = (opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint) || this._servicePath;
this._providedCustomServicePath = !!((opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint));
const port = (opts === null || opts === void 0 ? void 0 : opts.port) || staticMembers.port;
const clientConfig = (_d = opts === null || opts === void 0 ? void 0 : opts.clientConfig) !== null && _d !== void 0 ? _d : {};
const fallback = (_e = opts === null || opts === void 0 ? void 0 : opts.fallback) !== null && _e !== void 0 ? _e : typeof window !== "undefined" && typeof (window === null || window === void 0 ? void 0 : window.fetch) === "function";
opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
opts.numericEnums = true;
if (servicePath !== this._servicePath && !("scopes" in opts)) {
opts["scopes"] = staticMembers.scopes;
}
if (!gaxInstance) {
gaxInstance = require_src50();
}
this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance;
this._gaxGrpc = new this._gaxModule.GrpcClient(opts);
this._opts = opts;
this.auth = this._gaxGrpc.auth;
this.auth.useJWTAccessWithScope = true;
this.auth.defaultServicePath = this._servicePath;
if (servicePath === this._servicePath) {
this.auth.defaultScopes = staticMembers.scopes;
}
const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version4}`];
if (typeof process === "object" && "versions" in process) {
clientHeader.push(`gl-node/${process.versions.node}`);
} else {
clientHeader.push(`gl-web/${this._gaxModule.version}`);
}
if (!opts.fallback) {
clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`);
} else {
clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`);
}
if (opts.libName && opts.libVersion) {
clientHeader.push(`${opts.libName}/${opts.libVersion}`);
}
this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos);
this.pathTemplates = {
billingAccountCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/cmekSettings"),
billingAccountExclusionPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/exclusions/{exclusion}"),
billingAccountLocationBucketPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}"),
billingAccountLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/links/{link}"),
billingAccountLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}"),
billingAccountLogPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/logs/{log}"),
billingAccountSettingsPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/settings"),
billingAccountSinkPathTemplate: new this._gaxModule.PathTemplate("billingAccounts/{billing_account}/sinks/{sink}"),
folderCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/cmekSettings"),
folderExclusionPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/exclusions/{exclusion}"),
folderLocationBucketPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}"),
folderLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}/links/{link}"),
folderLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/locations/{location}/buckets/{bucket}/views/{view}"),
folderLogPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/logs/{log}"),
folderSettingsPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/settings"),
folderSinkPathTemplate: new this._gaxModule.PathTemplate("folders/{folder}/sinks/{sink}"),
logMetricPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/metrics/{metric}"),
organizationCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/cmekSettings"),
organizationExclusionPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/exclusions/{exclusion}"),
organizationLocationBucketPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}"),
organizationLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}/links/{link}"),
organizationLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/locations/{location}/buckets/{bucket}/views/{view}"),
organizationLogPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/logs/{log}"),
organizationSettingsPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/settings"),
organizationSinkPathTemplate: new this._gaxModule.PathTemplate("organizations/{organization}/sinks/{sink}"),
projectPathTemplate: new this._gaxModule.PathTemplate("projects/{project}"),
projectCmekSettingsPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/cmekSettings"),
projectExclusionPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/exclusions/{exclusion}"),
projectLocationBucketPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}"),
projectLocationBucketLinkPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}/links/{link}"),
projectLocationBucketViewPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/locations/{location}/buckets/{bucket}/views/{view}"),
projectLogPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/logs/{log}"),
projectSettingsPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/settings"),
projectSinkPathTemplate: new this._gaxModule.PathTemplate("projects/{project}/sinks/{sink}")
};
this.descriptors.page = {
listLogMetrics: new this._gaxModule.PageDescriptor("pageToken", "nextPageToken", "metrics")
};
this._defaults = this._gaxGrpc.constructSettings("google.logging.v2.MetricsServiceV2", gapicConfig, opts.clientConfig || {}, { "x-goog-api-client": clientHeader.join(" ") });
this.innerApiCalls = {};
this.warn = this._gaxModule.warn;
}
/**
* Initialize the client.
* Performs asynchronous operations (such as authentication) and prepares the client.
* This function will be called automatically when any class method is called for the
* first time, but if you need to initialize it before calling an actual method,
* feel free to call initialize() directly.
*
* You can await on this method if you want to make sure the client is initialized.
*
* @returns {Promise} A promise that resolves to an authenticated service stub.
*/
initialize() {
if (this.metricsServiceV2Stub) {
return this.metricsServiceV2Stub;
}
this.metricsServiceV2Stub = this._gaxGrpc.createStub(this._opts.fallback ? this._protos.lookupService("google.logging.v2.MetricsServiceV2") : (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this._protos.google.logging.v2.MetricsServiceV2
), this._opts, this._providedCustomServicePath);
const metricsServiceV2StubMethods = [
"listLogMetrics",
"getLogMetric",
"createLogMetric",
"updateLogMetric",
"deleteLogMetric"
];
for (const methodName of metricsServiceV2StubMethods) {
const callPromise = this.metricsServiceV2Stub.then((stub) => (...args2) => {
if (this._terminated) {
return Promise.reject("The client has already been closed.");
}
const func2 = stub[methodName];
return func2.apply(stub, args2);
}, (err2) => () => {
throw err2;
});
const descriptor2 = this.descriptors.page[methodName] || void 0;
const apiCall = this._gaxModule.createApiCall(callPromise, this._defaults[methodName], descriptor2, this._opts.fallback);
this.innerApiCalls[methodName] = apiCall;
}
return this.metricsServiceV2Stub;
}
/**
* The DNS address for this API service.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get servicePath() {
if (typeof process === "object" && typeof process.emitWarning === "function") {
process.emitWarning("Static servicePath is deprecated, please use the instance method instead.", "DeprecationWarning");
}
return "logging.googleapis.com";
}
/**
* The DNS address for this API service - same as servicePath.
* @deprecated Use the apiEndpoint method of the client instance.
* @returns {string} The DNS address for this service.
*/
static get apiEndpoint() {
if (typeof process === "object" && typeof process.emitWarning === "function") {
process.emitWarning("Static apiEndpoint is deprecated, please use the instance method instead.", "DeprecationWarning");
}
return "logging.googleapis.com";
}
/**
* The DNS address for this API service.
* @returns {string} The DNS address for this service.
*/
get apiEndpoint() {
return this._servicePath;
}
get universeDomain() {
return this._universeDomain;
}
/**
* The port for this API service.
* @returns {number} The default port for this service.
*/
static get port() {
return 443;
}
/**
* The scopes needed to make gRPC calls for every method defined
* in this service.
* @returns {string[]} List of default scopes.
*/
static get scopes() {
return [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only",
"https://www.googleapis.com/auth/logging.admin",
"https://www.googleapis.com/auth/logging.read",
"https://www.googleapis.com/auth/logging.write"
];
}
/**
* Return the project ID used by this class.
* @returns {Promise} A promise that resolves to string containing the project ID.
*/
getProjectId(callback) {
if (callback) {
this.auth.getProjectId(callback);
return;
}
return this.auth.getProjectId();
}
getLogMetric(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
metric_name: (_a4 = request.metricName) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.getLogMetric(request, options, callback);
}
createLogMetric(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.createLogMetric(request, options, callback);
}
updateLogMetric(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
metric_name: (_a4 = request.metricName) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.updateLogMetric(request, options, callback);
}
deleteLogMetric(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
metric_name: (_a4 = request.metricName) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.deleteLogMetric(request, options, callback);
}
listLogMetrics(request, optionsOrCallback, callback) {
var _a4;
request = request || {};
let options;
if (typeof optionsOrCallback === "function" && callback === void 0) {
callback = optionsOrCallback;
options = {};
} else {
options = optionsOrCallback;
}
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
this.initialize();
return this.innerApiCalls.listLogMetrics(request, options, callback);
}
/**
* Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The name of the project containing the metrics:
*
* "projects/[PROJECT_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Stream}
* An object stream which emits an object representing {@link protos.google.logging.v2.LogMetric|LogMetric} on 'data' event.
* The client library will perform auto-pagination by default: it will call the API as many
* times as needed. Note that it can affect your quota.
* We recommend using `listLogMetricsAsync()`
* method described below for async iteration which you can stop as needed.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
*/
listLogMetricsStream(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listLogMetrics"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLogMetrics.createStream(this.innerApiCalls.listLogMetrics, request, callSettings);
}
/**
* Equivalent to `listLogMetrics`, but returns an iterable object.
*
* `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The name of the project containing the metrics:
*
* "projects/[PROJECT_ID]"
* @param {string} [request.pageToken]
* Optional. If present, then retrieve the next batch of results from the
* preceding call to this method. `pageToken` must be the value of
* `nextPageToken` from the previous response. The values of other method
* parameters should be identical to those in the previous call.
* @param {number} [request.pageSize]
* Optional. The maximum number of results to return from this request.
* Non-positive values are ignored. The presence of `nextPageToken` in the
* response indicates that more results might be available.
* @param {object} [options]
* Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
* @returns {Object}
* An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
* When you iterate the returned iterable, each element will be an object representing
* {@link protos.google.logging.v2.LogMetric|LogMetric}. The API will be called under the hood as needed, once per the page,
* so you can stop the iteration when you don't need more results.
* Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
* for more details and examples.
* @example <caption>include:samples/generated/v2/metrics_service_v2.list_log_metrics.js</caption>
* region_tag:logging_v2_generated_MetricsServiceV2_ListLogMetrics_async
*/
listLogMetricsAsync(request, options) {
var _a4;
request = request || {};
options = options || {};
options.otherArgs = options.otherArgs || {};
options.otherArgs.headers = options.otherArgs.headers || {};
options.otherArgs.headers["x-goog-request-params"] = this._gaxModule.routingHeader.fromParams({
parent: (_a4 = request.parent) !== null && _a4 !== void 0 ? _a4 : ""
});
const defaultCallSettings = this._defaults["listLogMetrics"];
const callSettings = defaultCallSettings.merge(options);
this.initialize();
return this.descriptors.page.listLogMetrics.asyncIterate(this.innerApiCalls["listLogMetrics"], request, callSettings);
}
// --------------------
// -- Path templates --
// --------------------
/**
* Return a fully-qualified billingAccountCmekSettings resource name string.
*
* @param {string} billing_account
* @returns {string} Resource name string.
*/
billingAccountCmekSettingsPath(billingAccount) {
return this.pathTemplates.billingAccountCmekSettingsPathTemplate.render({
billing_account: billingAccount
});
}
/**
* Parse the billing_account from BillingAccountCmekSettings resource.
*
* @param {string} billingAccountCmekSettingsName
* A fully-qualified path representing billing_account_cmekSettings resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountCmekSettingsName(billingAccountCmekSettingsName) {
return this.pathTemplates.billingAccountCmekSettingsPathTemplate.match(billingAccountCmekSettingsName).billing_account;
}
/**
* Return a fully-qualified billingAccountExclusion resource name string.
*
* @param {string} billing_account
* @param {string} exclusion
* @returns {string} Resource name string.
*/
billingAccountExclusionPath(billingAccount, exclusion) {
return this.pathTemplates.billingAccountExclusionPathTemplate.render({
billing_account: billingAccount,
exclusion
});
}
/**
* Parse the billing_account from BillingAccountExclusion resource.
*
* @param {string} billingAccountExclusionName
* A fully-qualified path representing billing_account_exclusion resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountExclusionName(billingAccountExclusionName) {
return this.pathTemplates.billingAccountExclusionPathTemplate.match(billingAccountExclusionName).billing_account;
}
/**
* Parse the exclusion from BillingAccountExclusion resource.
*
* @param {string} billingAccountExclusionName
* A fully-qualified path representing billing_account_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromBillingAccountExclusionName(billingAccountExclusionName) {
return this.pathTemplates.billingAccountExclusionPathTemplate.match(billingAccountExclusionName).exclusion;
}
/**
* Return a fully-qualified billingAccountLocationBucket resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
billingAccountLocationBucketPath(billingAccount, location, bucket) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.render({
billing_account: billingAccount,
location,
bucket
});
}
/**
* Parse the billing_account from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucket resource.
*
* @param {string} billingAccountLocationBucketName
* A fully-qualified path representing billing_account_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketName(billingAccountLocationBucketName) {
return this.pathTemplates.billingAccountLocationBucketPathTemplate.match(billingAccountLocationBucketName).bucket;
}
/**
* Return a fully-qualified billingAccountLocationBucketLink resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
billingAccountLocationBucketLinkPath(billingAccount, location, bucket, link) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.render({
billing_account: billingAccount,
location,
bucket,
link
});
}
/**
* Parse the billing_account from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).bucket;
}
/**
* Parse the link from BillingAccountLocationBucketLink resource.
*
* @param {string} billingAccountLocationBucketLinkName
* A fully-qualified path representing billing_account_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromBillingAccountLocationBucketLinkName(billingAccountLocationBucketLinkName) {
return this.pathTemplates.billingAccountLocationBucketLinkPathTemplate.match(billingAccountLocationBucketLinkName).link;
}
/**
* Return a fully-qualified billingAccountLocationBucketView resource name string.
*
* @param {string} billing_account
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
billingAccountLocationBucketViewPath(billingAccount, location, bucket, view) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.render({
billing_account: billingAccount,
location,
bucket,
view
});
}
/**
* Parse the billing_account from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).billing_account;
}
/**
* Parse the location from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).location;
}
/**
* Parse the bucket from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).bucket;
}
/**
* Parse the view from BillingAccountLocationBucketView resource.
*
* @param {string} billingAccountLocationBucketViewName
* A fully-qualified path representing billing_account_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromBillingAccountLocationBucketViewName(billingAccountLocationBucketViewName) {
return this.pathTemplates.billingAccountLocationBucketViewPathTemplate.match(billingAccountLocationBucketViewName).view;
}
/**
* Return a fully-qualified billingAccountLog resource name string.
*
* @param {string} billing_account
* @param {string} log
* @returns {string} Resource name string.
*/
billingAccountLogPath(billingAccount, log) {
return this.pathTemplates.billingAccountLogPathTemplate.render({
billing_account: billingAccount,
log
});
}
/**
* Parse the billing_account from BillingAccountLog resource.
*
* @param {string} billingAccountLogName
* A fully-qualified path representing billing_account_log resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountLogName(billingAccountLogName) {
return this.pathTemplates.billingAccountLogPathTemplate.match(billingAccountLogName).billing_account;
}
/**
* Parse the log from BillingAccountLog resource.
*
* @param {string} billingAccountLogName
* A fully-qualified path representing billing_account_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromBillingAccountLogName(billingAccountLogName) {
return this.pathTemplates.billingAccountLogPathTemplate.match(billingAccountLogName).log;
}
/**
* Return a fully-qualified billingAccountSettings resource name string.
*
* @param {string} billing_account
* @returns {string} Resource name string.
*/
billingAccountSettingsPath(billingAccount) {
return this.pathTemplates.billingAccountSettingsPathTemplate.render({
billing_account: billingAccount
});
}
/**
* Parse the billing_account from BillingAccountSettings resource.
*
* @param {string} billingAccountSettingsName
* A fully-qualified path representing billing_account_settings resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountSettingsName(billingAccountSettingsName) {
return this.pathTemplates.billingAccountSettingsPathTemplate.match(billingAccountSettingsName).billing_account;
}
/**
* Return a fully-qualified billingAccountSink resource name string.
*
* @param {string} billing_account
* @param {string} sink
* @returns {string} Resource name string.
*/
billingAccountSinkPath(billingAccount, sink) {
return this.pathTemplates.billingAccountSinkPathTemplate.render({
billing_account: billingAccount,
sink
});
}
/**
* Parse the billing_account from BillingAccountSink resource.
*
* @param {string} billingAccountSinkName
* A fully-qualified path representing billing_account_sink resource.
* @returns {string} A string representing the billing_account.
*/
matchBillingAccountFromBillingAccountSinkName(billingAccountSinkName) {
return this.pathTemplates.billingAccountSinkPathTemplate.match(billingAccountSinkName).billing_account;
}
/**
* Parse the sink from BillingAccountSink resource.
*
* @param {string} billingAccountSinkName
* A fully-qualified path representing billing_account_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromBillingAccountSinkName(billingAccountSinkName) {
return this.pathTemplates.billingAccountSinkPathTemplate.match(billingAccountSinkName).sink;
}
/**
* Return a fully-qualified folderCmekSettings resource name string.
*
* @param {string} folder
* @returns {string} Resource name string.
*/
folderCmekSettingsPath(folder) {
return this.pathTemplates.folderCmekSettingsPathTemplate.render({
folder
});
}
/**
* Parse the folder from FolderCmekSettings resource.
*
* @param {string} folderCmekSettingsName
* A fully-qualified path representing folder_cmekSettings resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderCmekSettingsName(folderCmekSettingsName) {
return this.pathTemplates.folderCmekSettingsPathTemplate.match(folderCmekSettingsName).folder;
}
/**
* Return a fully-qualified folderExclusion resource name string.
*
* @param {string} folder
* @param {string} exclusion
* @returns {string} Resource name string.
*/
folderExclusionPath(folder, exclusion) {
return this.pathTemplates.folderExclusionPathTemplate.render({
folder,
exclusion
});
}
/**
* Parse the folder from FolderExclusion resource.
*
* @param {string} folderExclusionName
* A fully-qualified path representing folder_exclusion resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderExclusionName(folderExclusionName) {
return this.pathTemplates.folderExclusionPathTemplate.match(folderExclusionName).folder;
}
/**
* Parse the exclusion from FolderExclusion resource.
*
* @param {string} folderExclusionName
* A fully-qualified path representing folder_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromFolderExclusionName(folderExclusionName) {
return this.pathTemplates.folderExclusionPathTemplate.match(folderExclusionName).exclusion;
}
/**
* Return a fully-qualified folderLocationBucket resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
folderLocationBucketPath(folder, location, bucket) {
return this.pathTemplates.folderLocationBucketPathTemplate.render({
folder,
location,
bucket
});
}
/**
* Parse the folder from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).folder;
}
/**
* Parse the location from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).location;
}
/**
* Parse the bucket from FolderLocationBucket resource.
*
* @param {string} folderLocationBucketName
* A fully-qualified path representing folder_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketName(folderLocationBucketName) {
return this.pathTemplates.folderLocationBucketPathTemplate.match(folderLocationBucketName).bucket;
}
/**
* Return a fully-qualified folderLocationBucketLink resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
folderLocationBucketLinkPath(folder, location, bucket, link) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.render({
folder,
location,
bucket,
link
});
}
/**
* Parse the folder from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).folder;
}
/**
* Parse the location from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).location;
}
/**
* Parse the bucket from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).bucket;
}
/**
* Parse the link from FolderLocationBucketLink resource.
*
* @param {string} folderLocationBucketLinkName
* A fully-qualified path representing folder_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromFolderLocationBucketLinkName(folderLocationBucketLinkName) {
return this.pathTemplates.folderLocationBucketLinkPathTemplate.match(folderLocationBucketLinkName).link;
}
/**
* Return a fully-qualified folderLocationBucketView resource name string.
*
* @param {string} folder
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
folderLocationBucketViewPath(folder, location, bucket, view) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.render({
folder,
location,
bucket,
view
});
}
/**
* Parse the folder from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).folder;
}
/**
* Parse the location from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).location;
}
/**
* Parse the bucket from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).bucket;
}
/**
* Parse the view from FolderLocationBucketView resource.
*
* @param {string} folderLocationBucketViewName
* A fully-qualified path representing folder_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromFolderLocationBucketViewName(folderLocationBucketViewName) {
return this.pathTemplates.folderLocationBucketViewPathTemplate.match(folderLocationBucketViewName).view;
}
/**
* Return a fully-qualified folderLog resource name string.
*
* @param {string} folder
* @param {string} log
* @returns {string} Resource name string.
*/
folderLogPath(folder, log) {
return this.pathTemplates.folderLogPathTemplate.render({
folder,
log
});
}
/**
* Parse the folder from FolderLog resource.
*
* @param {string} folderLogName
* A fully-qualified path representing folder_log resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderLogName(folderLogName) {
return this.pathTemplates.folderLogPathTemplate.match(folderLogName).folder;
}
/**
* Parse the log from FolderLog resource.
*
* @param {string} folderLogName
* A fully-qualified path representing folder_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromFolderLogName(folderLogName) {
return this.pathTemplates.folderLogPathTemplate.match(folderLogName).log;
}
/**
* Return a fully-qualified folderSettings resource name string.
*
* @param {string} folder
* @returns {string} Resource name string.
*/
folderSettingsPath(folder) {
return this.pathTemplates.folderSettingsPathTemplate.render({
folder
});
}
/**
* Parse the folder from FolderSettings resource.
*
* @param {string} folderSettingsName
* A fully-qualified path representing folder_settings resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderSettingsName(folderSettingsName) {
return this.pathTemplates.folderSettingsPathTemplate.match(folderSettingsName).folder;
}
/**
* Return a fully-qualified folderSink resource name string.
*
* @param {string} folder
* @param {string} sink
* @returns {string} Resource name string.
*/
folderSinkPath(folder, sink) {
return this.pathTemplates.folderSinkPathTemplate.render({
folder,
sink
});
}
/**
* Parse the folder from FolderSink resource.
*
* @param {string} folderSinkName
* A fully-qualified path representing folder_sink resource.
* @returns {string} A string representing the folder.
*/
matchFolderFromFolderSinkName(folderSinkName) {
return this.pathTemplates.folderSinkPathTemplate.match(folderSinkName).folder;
}
/**
* Parse the sink from FolderSink resource.
*
* @param {string} folderSinkName
* A fully-qualified path representing folder_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromFolderSinkName(folderSinkName) {
return this.pathTemplates.folderSinkPathTemplate.match(folderSinkName).sink;
}
/**
* Return a fully-qualified logMetric resource name string.
*
* @param {string} project
* @param {string} metric
* @returns {string} Resource name string.
*/
logMetricPath(project, metric) {
return this.pathTemplates.logMetricPathTemplate.render({
project,
metric
});
}
/**
* Parse the project from LogMetric resource.
*
* @param {string} logMetricName
* A fully-qualified path representing LogMetric resource.
* @returns {string} A string representing the project.
*/
matchProjectFromLogMetricName(logMetricName) {
return this.pathTemplates.logMetricPathTemplate.match(logMetricName).project;
}
/**
* Parse the metric from LogMetric resource.
*
* @param {string} logMetricName
* A fully-qualified path representing LogMetric resource.
* @returns {string} A string representing the metric.
*/
matchMetricFromLogMetricName(logMetricName) {
return this.pathTemplates.logMetricPathTemplate.match(logMetricName).metric;
}
/**
* Return a fully-qualified organizationCmekSettings resource name string.
*
* @param {string} organization
* @returns {string} Resource name string.
*/
organizationCmekSettingsPath(organization) {
return this.pathTemplates.organizationCmekSettingsPathTemplate.render({
organization
});
}
/**
* Parse the organization from OrganizationCmekSettings resource.
*
* @param {string} organizationCmekSettingsName
* A fully-qualified path representing organization_cmekSettings resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationCmekSettingsName(organizationCmekSettingsName) {
return this.pathTemplates.organizationCmekSettingsPathTemplate.match(organizationCmekSettingsName).organization;
}
/**
* Return a fully-qualified organizationExclusion resource name string.
*
* @param {string} organization
* @param {string} exclusion
* @returns {string} Resource name string.
*/
organizationExclusionPath(organization, exclusion) {
return this.pathTemplates.organizationExclusionPathTemplate.render({
organization,
exclusion
});
}
/**
* Parse the organization from OrganizationExclusion resource.
*
* @param {string} organizationExclusionName
* A fully-qualified path representing organization_exclusion resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationExclusionName(organizationExclusionName) {
return this.pathTemplates.organizationExclusionPathTemplate.match(organizationExclusionName).organization;
}
/**
* Parse the exclusion from OrganizationExclusion resource.
*
* @param {string} organizationExclusionName
* A fully-qualified path representing organization_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromOrganizationExclusionName(organizationExclusionName) {
return this.pathTemplates.organizationExclusionPathTemplate.match(organizationExclusionName).exclusion;
}
/**
* Return a fully-qualified organizationLocationBucket resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
organizationLocationBucketPath(organization, location, bucket) {
return this.pathTemplates.organizationLocationBucketPathTemplate.render({
organization,
location,
bucket
});
}
/**
* Parse the organization from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).organization;
}
/**
* Parse the location from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).location;
}
/**
* Parse the bucket from OrganizationLocationBucket resource.
*
* @param {string} organizationLocationBucketName
* A fully-qualified path representing organization_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketName(organizationLocationBucketName) {
return this.pathTemplates.organizationLocationBucketPathTemplate.match(organizationLocationBucketName).bucket;
}
/**
* Return a fully-qualified organizationLocationBucketLink resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
organizationLocationBucketLinkPath(organization, location, bucket, link) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.render({
organization,
location,
bucket,
link
});
}
/**
* Parse the organization from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).organization;
}
/**
* Parse the location from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).location;
}
/**
* Parse the bucket from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).bucket;
}
/**
* Parse the link from OrganizationLocationBucketLink resource.
*
* @param {string} organizationLocationBucketLinkName
* A fully-qualified path representing organization_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromOrganizationLocationBucketLinkName(organizationLocationBucketLinkName) {
return this.pathTemplates.organizationLocationBucketLinkPathTemplate.match(organizationLocationBucketLinkName).link;
}
/**
* Return a fully-qualified organizationLocationBucketView resource name string.
*
* @param {string} organization
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
organizationLocationBucketViewPath(organization, location, bucket, view) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.render({
organization,
location,
bucket,
view
});
}
/**
* Parse the organization from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).organization;
}
/**
* Parse the location from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).location;
}
/**
* Parse the bucket from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).bucket;
}
/**
* Parse the view from OrganizationLocationBucketView resource.
*
* @param {string} organizationLocationBucketViewName
* A fully-qualified path representing organization_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromOrganizationLocationBucketViewName(organizationLocationBucketViewName) {
return this.pathTemplates.organizationLocationBucketViewPathTemplate.match(organizationLocationBucketViewName).view;
}
/**
* Return a fully-qualified organizationLog resource name string.
*
* @param {string} organization
* @param {string} log
* @returns {string} Resource name string.
*/
organizationLogPath(organization, log) {
return this.pathTemplates.organizationLogPathTemplate.render({
organization,
log
});
}
/**
* Parse the organization from OrganizationLog resource.
*
* @param {string} organizationLogName
* A fully-qualified path representing organization_log resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationLogName(organizationLogName) {
return this.pathTemplates.organizationLogPathTemplate.match(organizationLogName).organization;
}
/**
* Parse the log from OrganizationLog resource.
*
* @param {string} organizationLogName
* A fully-qualified path representing organization_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromOrganizationLogName(organizationLogName) {
return this.pathTemplates.organizationLogPathTemplate.match(organizationLogName).log;
}
/**
* Return a fully-qualified organizationSettings resource name string.
*
* @param {string} organization
* @returns {string} Resource name string.
*/
organizationSettingsPath(organization) {
return this.pathTemplates.organizationSettingsPathTemplate.render({
organization
});
}
/**
* Parse the organization from OrganizationSettings resource.
*
* @param {string} organizationSettingsName
* A fully-qualified path representing organization_settings resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationSettingsName(organizationSettingsName) {
return this.pathTemplates.organizationSettingsPathTemplate.match(organizationSettingsName).organization;
}
/**
* Return a fully-qualified organizationSink resource name string.
*
* @param {string} organization
* @param {string} sink
* @returns {string} Resource name string.
*/
organizationSinkPath(organization, sink) {
return this.pathTemplates.organizationSinkPathTemplate.render({
organization,
sink
});
}
/**
* Parse the organization from OrganizationSink resource.
*
* @param {string} organizationSinkName
* A fully-qualified path representing organization_sink resource.
* @returns {string} A string representing the organization.
*/
matchOrganizationFromOrganizationSinkName(organizationSinkName) {
return this.pathTemplates.organizationSinkPathTemplate.match(organizationSinkName).organization;
}
/**
* Parse the sink from OrganizationSink resource.
*
* @param {string} organizationSinkName
* A fully-qualified path representing organization_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromOrganizationSinkName(organizationSinkName) {
return this.pathTemplates.organizationSinkPathTemplate.match(organizationSinkName).sink;
}
/**
* Return a fully-qualified project resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectPath(project) {
return this.pathTemplates.projectPathTemplate.render({
project
});
}
/**
* Parse the project from Project resource.
*
* @param {string} projectName
* A fully-qualified path representing Project resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectName(projectName) {
return this.pathTemplates.projectPathTemplate.match(projectName).project;
}
/**
* Return a fully-qualified projectCmekSettings resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectCmekSettingsPath(project) {
return this.pathTemplates.projectCmekSettingsPathTemplate.render({
project
});
}
/**
* Parse the project from ProjectCmekSettings resource.
*
* @param {string} projectCmekSettingsName
* A fully-qualified path representing project_cmekSettings resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectCmekSettingsName(projectCmekSettingsName) {
return this.pathTemplates.projectCmekSettingsPathTemplate.match(projectCmekSettingsName).project;
}
/**
* Return a fully-qualified projectExclusion resource name string.
*
* @param {string} project
* @param {string} exclusion
* @returns {string} Resource name string.
*/
projectExclusionPath(project, exclusion) {
return this.pathTemplates.projectExclusionPathTemplate.render({
project,
exclusion
});
}
/**
* Parse the project from ProjectExclusion resource.
*
* @param {string} projectExclusionName
* A fully-qualified path representing project_exclusion resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectExclusionName(projectExclusionName) {
return this.pathTemplates.projectExclusionPathTemplate.match(projectExclusionName).project;
}
/**
* Parse the exclusion from ProjectExclusion resource.
*
* @param {string} projectExclusionName
* A fully-qualified path representing project_exclusion resource.
* @returns {string} A string representing the exclusion.
*/
matchExclusionFromProjectExclusionName(projectExclusionName) {
return this.pathTemplates.projectExclusionPathTemplate.match(projectExclusionName).exclusion;
}
/**
* Return a fully-qualified projectLocationBucket resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @returns {string} Resource name string.
*/
projectLocationBucketPath(project, location, bucket) {
return this.pathTemplates.projectLocationBucketPathTemplate.render({
project,
location,
bucket
});
}
/**
* Parse the project from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).project;
}
/**
* Parse the location from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).location;
}
/**
* Parse the bucket from ProjectLocationBucket resource.
*
* @param {string} projectLocationBucketName
* A fully-qualified path representing project_location_bucket resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketName(projectLocationBucketName) {
return this.pathTemplates.projectLocationBucketPathTemplate.match(projectLocationBucketName).bucket;
}
/**
* Return a fully-qualified projectLocationBucketLink resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @param {string} link
* @returns {string} Resource name string.
*/
projectLocationBucketLinkPath(project, location, bucket, link) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.render({
project,
location,
bucket,
link
});
}
/**
* Parse the project from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).project;
}
/**
* Parse the location from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).location;
}
/**
* Parse the bucket from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).bucket;
}
/**
* Parse the link from ProjectLocationBucketLink resource.
*
* @param {string} projectLocationBucketLinkName
* A fully-qualified path representing project_location_bucket_link resource.
* @returns {string} A string representing the link.
*/
matchLinkFromProjectLocationBucketLinkName(projectLocationBucketLinkName) {
return this.pathTemplates.projectLocationBucketLinkPathTemplate.match(projectLocationBucketLinkName).link;
}
/**
* Return a fully-qualified projectLocationBucketView resource name string.
*
* @param {string} project
* @param {string} location
* @param {string} bucket
* @param {string} view
* @returns {string} Resource name string.
*/
projectLocationBucketViewPath(project, location, bucket, view) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.render({
project,
location,
bucket,
view
});
}
/**
* Parse the project from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).project;
}
/**
* Parse the location from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the location.
*/
matchLocationFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).location;
}
/**
* Parse the bucket from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the bucket.
*/
matchBucketFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).bucket;
}
/**
* Parse the view from ProjectLocationBucketView resource.
*
* @param {string} projectLocationBucketViewName
* A fully-qualified path representing project_location_bucket_view resource.
* @returns {string} A string representing the view.
*/
matchViewFromProjectLocationBucketViewName(projectLocationBucketViewName) {
return this.pathTemplates.projectLocationBucketViewPathTemplate.match(projectLocationBucketViewName).view;
}
/**
* Return a fully-qualified projectLog resource name string.
*
* @param {string} project
* @param {string} log
* @returns {string} Resource name string.
*/
projectLogPath(project, log) {
return this.pathTemplates.projectLogPathTemplate.render({
project,
log
});
}
/**
* Parse the project from ProjectLog resource.
*
* @param {string} projectLogName
* A fully-qualified path representing project_log resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectLogName(projectLogName) {
return this.pathTemplates.projectLogPathTemplate.match(projectLogName).project;
}
/**
* Parse the log from ProjectLog resource.
*
* @param {string} projectLogName
* A fully-qualified path representing project_log resource.
* @returns {string} A string representing the log.
*/
matchLogFromProjectLogName(projectLogName) {
return this.pathTemplates.projectLogPathTemplate.match(projectLogName).log;
}
/**
* Return a fully-qualified projectSettings resource name string.
*
* @param {string} project
* @returns {string} Resource name string.
*/
projectSettingsPath(project) {
return this.pathTemplates.projectSettingsPathTemplate.render({
project
});
}
/**
* Parse the project from ProjectSettings resource.
*
* @param {string} projectSettingsName
* A fully-qualified path representing project_settings resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectSettingsName(projectSettingsName) {
return this.pathTemplates.projectSettingsPathTemplate.match(projectSettingsName).project;
}
/**
* Return a fully-qualified projectSink resource name string.
*
* @param {string} project
* @param {string} sink
* @returns {string} Resource name string.
*/
projectSinkPath(project, sink) {
return this.pathTemplates.projectSinkPathTemplate.render({
project,
sink
});
}
/**
* Parse the project from ProjectSink resource.
*
* @param {string} projectSinkName
* A fully-qualified path representing project_sink resource.
* @returns {string} A string representing the project.
*/
matchProjectFromProjectSinkName(projectSinkName) {
return this.pathTemplates.projectSinkPathTemplate.match(projectSinkName).project;
}
/**
* Parse the sink from ProjectSink resource.
*
* @param {string} projectSinkName
* A fully-qualified path representing project_sink resource.
* @returns {string} A string representing the sink.
*/
matchSinkFromProjectSinkName(projectSinkName) {
return this.pathTemplates.projectSinkPathTemplate.match(projectSinkName).sink;
}
/**
* Terminate the gRPC channel and close the client.
*
* The client will no longer be usable and all future behavior is undefined.
* @returns {Promise} A promise that resolves when the client is closed.
*/
close() {
if (this.metricsServiceV2Stub && !this._terminated) {
return this.metricsServiceV2Stub.then((stub) => {
this._terminated = true;
stub.close();
});
}
return Promise.resolve();
}
};
exports2.MetricsServiceV2Client = MetricsServiceV2Client;
}
});
// node_modules/@google-cloud/logging/build/src/v2/index.js
var require_v2 = __commonJS({
"node_modules/@google-cloud/logging/build/src/v2/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MetricsServiceV2Client = exports2.LoggingServiceV2Client = exports2.ConfigServiceV2Client = void 0;
var config_service_v2_client_1 = require_config_service_v2_client();
Object.defineProperty(exports2, "ConfigServiceV2Client", { enumerable: true, get: function() {
return config_service_v2_client_1.ConfigServiceV2Client;
} });
var logging_service_v2_client_1 = require_logging_service_v2_client();
Object.defineProperty(exports2, "LoggingServiceV2Client", { enumerable: true, get: function() {
return logging_service_v2_client_1.LoggingServiceV2Client;
} });
var metrics_service_v2_client_1 = require_metrics_service_v2_client();
Object.defineProperty(exports2, "MetricsServiceV2Client", { enumerable: true, get: function() {
return metrics_service_v2_client_1.MetricsServiceV2Client;
} });
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/rng.js
import crypto9 from "crypto";
function rng2() {
if (poolPtr2 > rnds8Pool2.length - 16) {
crypto9.randomFillSync(rnds8Pool2);
poolPtr2 = 0;
}
return rnds8Pool2.slice(poolPtr2, poolPtr2 += 16);
}
var rnds8Pool2, poolPtr2;
var init_rng2 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/rng.js"() {
rnds8Pool2 = new Uint8Array(256);
poolPtr2 = rnds8Pool2.length;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/regex.js
var regex_default2;
var init_regex2 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/regex.js"() {
regex_default2 = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/validate.js
function validate2(uuid3) {
return typeof uuid3 === "string" && regex_default2.test(uuid3);
}
var validate_default2;
var init_validate2 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/validate.js"() {
init_regex2();
validate_default2 = validate2;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/stringify.js
function stringify2(arr, offset = 0) {
const uuid3 = (byteToHex2[arr[offset + 0]] + byteToHex2[arr[offset + 1]] + byteToHex2[arr[offset + 2]] + byteToHex2[arr[offset + 3]] + "-" + byteToHex2[arr[offset + 4]] + byteToHex2[arr[offset + 5]] + "-" + byteToHex2[arr[offset + 6]] + byteToHex2[arr[offset + 7]] + "-" + byteToHex2[arr[offset + 8]] + byteToHex2[arr[offset + 9]] + "-" + byteToHex2[arr[offset + 10]] + byteToHex2[arr[offset + 11]] + byteToHex2[arr[offset + 12]] + byteToHex2[arr[offset + 13]] + byteToHex2[arr[offset + 14]] + byteToHex2[arr[offset + 15]]).toLowerCase();
if (!validate_default2(uuid3)) {
throw TypeError("Stringified UUID is invalid");
}
return uuid3;
}
var byteToHex2, stringify_default2;
var init_stringify2 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/stringify.js"() {
init_validate2();
byteToHex2 = [];
for (let i3 = 0; i3 < 256; ++i3) {
byteToHex2.push((i3 + 256).toString(16).substr(1));
}
stringify_default2 = stringify2;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/v1.js
function v12(options, buf, offset) {
let i3 = buf && offset || 0;
const b = buf || new Array(16);
options = options || {};
let node = options.node || _nodeId2;
let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq2;
if (node == null || clockseq == null) {
const seedBytes = options.random || (options.rng || rng2)();
if (node == null) {
node = _nodeId2 = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
}
if (clockseq == null) {
clockseq = _clockseq2 = (seedBytes[6] << 8 | seedBytes[7]) & 16383;
}
}
let msecs = options.msecs !== void 0 ? options.msecs : Date.now();
let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs2 + 1;
const dt = msecs - _lastMSecs2 + (nsecs - _lastNSecs2) / 1e4;
if (dt < 0 && options.clockseq === void 0) {
clockseq = clockseq + 1 & 16383;
}
if ((dt < 0 || msecs > _lastMSecs2) && options.nsecs === void 0) {
nsecs = 0;
}
if (nsecs >= 1e4) {
throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
}
_lastMSecs2 = msecs;
_lastNSecs2 = nsecs;
_clockseq2 = clockseq;
msecs += 122192928e5;
const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;
b[i3++] = tl >>> 24 & 255;
b[i3++] = tl >>> 16 & 255;
b[i3++] = tl >>> 8 & 255;
b[i3++] = tl & 255;
const tmh = msecs / 4294967296 * 1e4 & 268435455;
b[i3++] = tmh >>> 8 & 255;
b[i3++] = tmh & 255;
b[i3++] = tmh >>> 24 & 15 | 16;
b[i3++] = tmh >>> 16 & 255;
b[i3++] = clockseq >>> 8 | 128;
b[i3++] = clockseq & 255;
for (let n3 = 0; n3 < 6; ++n3) {
b[i3 + n3] = node[n3];
}
return buf || stringify_default2(b);
}
var _nodeId2, _clockseq2, _lastMSecs2, _lastNSecs2, v1_default2;
var init_v12 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/v1.js"() {
init_rng2();
init_stringify2();
_lastMSecs2 = 0;
_lastNSecs2 = 0;
v1_default2 = v12;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/parse.js
function parse2(uuid3) {
if (!validate_default2(uuid3)) {
throw TypeError("Invalid UUID");
}
let v;
const arr = new Uint8Array(16);
arr[0] = (v = parseInt(uuid3.slice(0, 8), 16)) >>> 24;
arr[1] = v >>> 16 & 255;
arr[2] = v >>> 8 & 255;
arr[3] = v & 255;
arr[4] = (v = parseInt(uuid3.slice(9, 13), 16)) >>> 8;
arr[5] = v & 255;
arr[6] = (v = parseInt(uuid3.slice(14, 18), 16)) >>> 8;
arr[7] = v & 255;
arr[8] = (v = parseInt(uuid3.slice(19, 23), 16)) >>> 8;
arr[9] = v & 255;
arr[10] = (v = parseInt(uuid3.slice(24, 36), 16)) / 1099511627776 & 255;
arr[11] = v / 4294967296 & 255;
arr[12] = v >>> 24 & 255;
arr[13] = v >>> 16 & 255;
arr[14] = v >>> 8 & 255;
arr[15] = v & 255;
return arr;
}
var parse_default2;
var init_parse2 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/parse.js"() {
init_validate2();
parse_default2 = parse2;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/v35.js
function stringToBytes2(str2) {
str2 = unescape(encodeURIComponent(str2));
const bytes = [];
for (let i3 = 0; i3 < str2.length; ++i3) {
bytes.push(str2.charCodeAt(i3));
}
return bytes;
}
function v35_default(name3, version4, hashfunc) {
function generateUUID(value, namespace, buf, offset) {
if (typeof value === "string") {
value = stringToBytes2(value);
}
if (typeof namespace === "string") {
namespace = parse_default2(namespace);
}
if (namespace.length !== 16) {
throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
}
let bytes = new Uint8Array(16 + value.length);
bytes.set(namespace);
bytes.set(value, namespace.length);
bytes = hashfunc(bytes);
bytes[6] = bytes[6] & 15 | version4;
bytes[8] = bytes[8] & 63 | 128;
if (buf) {
offset = offset || 0;
for (let i3 = 0; i3 < 16; ++i3) {
buf[offset + i3] = bytes[i3];
}
return buf;
}
return stringify_default2(bytes);
}
try {
generateUUID.name = name3;
} catch (err2) {
}
generateUUID.DNS = DNS2;
generateUUID.URL = URL3;
return generateUUID;
}
var DNS2, URL3;
var init_v352 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/v35.js"() {
init_stringify2();
init_parse2();
DNS2 = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
URL3 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/md5.js
import crypto10 from "crypto";
function md52(bytes) {
if (Array.isArray(bytes)) {
bytes = Buffer.from(bytes);
} else if (typeof bytes === "string") {
bytes = Buffer.from(bytes, "utf8");
}
return crypto10.createHash("md5").update(bytes).digest();
}
var md5_default2;
var init_md52 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/md5.js"() {
md5_default2 = md52;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/v3.js
var v32, v3_default2;
var init_v32 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/v3.js"() {
init_v352();
init_md52();
v32 = v35_default("v3", 48, md5_default2);
v3_default2 = v32;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/v4.js
function v42(options, buf, offset) {
options = options || {};
const rnds = options.random || (options.rng || rng2)();
rnds[6] = rnds[6] & 15 | 64;
rnds[8] = rnds[8] & 63 | 128;
if (buf) {
offset = offset || 0;
for (let i3 = 0; i3 < 16; ++i3) {
buf[offset + i3] = rnds[i3];
}
return buf;
}
return stringify_default2(rnds);
}
var v4_default2;
var init_v42 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/v4.js"() {
init_rng2();
init_stringify2();
v4_default2 = v42;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/sha1.js
import crypto11 from "crypto";
function sha12(bytes) {
if (Array.isArray(bytes)) {
bytes = Buffer.from(bytes);
} else if (typeof bytes === "string") {
bytes = Buffer.from(bytes, "utf8");
}
return crypto11.createHash("sha1").update(bytes).digest();
}
var sha1_default2;
var init_sha12 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/sha1.js"() {
sha1_default2 = sha12;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/v5.js
var v52, v5_default2;
var init_v52 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/v5.js"() {
init_v352();
init_sha12();
v52 = v35_default("v5", 80, sha1_default2);
v5_default2 = v52;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/nil.js
var nil_default2;
var init_nil2 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/nil.js"() {
nil_default2 = "00000000-0000-0000-0000-000000000000";
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/version.js
function version2(uuid3) {
if (!validate_default2(uuid3)) {
throw TypeError("Invalid UUID");
}
return parseInt(uuid3.substr(14, 1), 16);
}
var version_default2;
var init_version3 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/version.js"() {
init_validate2();
version_default2 = version2;
}
});
// node_modules/eventid/node_modules/uuid/dist/esm-node/index.js
var esm_node_exports2 = {};
__export(esm_node_exports2, {
NIL: () => nil_default2,
parse: () => parse_default2,
stringify: () => stringify_default2,
v1: () => v1_default2,
v3: () => v3_default2,
v4: () => v4_default2,
v5: () => v5_default2,
validate: () => validate_default2,
version: () => version_default2
});
var init_esm_node2 = __esm({
"node_modules/eventid/node_modules/uuid/dist/esm-node/index.js"() {
init_v12();
init_v32();
init_v42();
init_v52();
init_nil2();
init_version3();
init_validate2();
init_stringify2();
init_parse2();
}
});
// node_modules/eventid/build/src/index.js
var require_src51 = __commonJS({
"node_modules/eventid/build/src/index.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.EventId = void 0;
var uuid3 = (init_esm_node2(), __toCommonJS(esm_node_exports2));
var chars = ".PYFGCRLAOEUIDHTNSQJKXBMWVZ_pyfgcrlaoeuidhtnsqjkxbmwvz1234567890".split("").sort().join("");
function encode(data) {
let s2 = "";
const l2 = data.length;
let hang = 0;
for (let i3 = 0; i3 < l2; i3++) {
const v = data[i3];
switch (i3 % 3) {
case 0:
s2 += chars[v >> 2];
hang = (v & 3) << 4;
break;
case 1:
s2 += chars[hang | v >> 4];
hang = (v & 15) << 2;
break;
case 2:
s2 += chars[hang | v >> 6];
s2 += chars[v & 63];
hang = 0;
break;
}
}
if (l2 % 3)
s2 += chars[hang];
return s2;
}
var EventId = class {
constructor() {
this.b = new Uint8Array(24);
uuid3.v4(null, this.b, 8);
}
new() {
for (let i3 = 7; i3 >= 0; i3--) {
if (this.b[i3] !== 255) {
this.b[i3]++;
break;
}
this.b[i3] = 0;
}
return encode(this.b);
}
};
exports2.EventId = EventId;
var existingExports = module2.exports;
module2.exports = EventId;
module2.exports = Object.assign(module2.exports, existingExports);
}
});
// node_modules/@google-cloud/logging/build/src/utils/common.js
var require_common4 = __commonJS({
"node_modules/@google-cloud/logging/build/src/utils/common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ObjectToStructConverter = void 0;
exports2.objToStruct = objToStruct;
exports2.structToObj = structToObj;
exports2.decodeValue = decodeValue;
exports2.zuluToDateObj = zuluToDateObj;
exports2.toNanosAndSecondsObj = toNanosAndSecondsObj;
function objToStruct(obj, options) {
return new ObjectToStructConverter(options).convert(obj);
}
var ObjectToStructConverter = class {
/**
* A class that can be used to convert an object to a struct. Optionally this
* class can be used to erase/throw on circular references during conversion.
*
* @private
*
* @param {object=} options - Configuration object.
* @param {boolean} options.removeCircular - Remove circular references in the
* object with a placeholder string. (Default: `false`)
* @param {boolean} options.stringify - Stringify un-recognized types. (Default:
* `false`)
*/
constructor(options) {
options = options || {};
this.seenObjects = /* @__PURE__ */ new Set();
this.removeCircular = options.removeCircular === true;
this.stringify = options.stringify === true;
}
/**
* Begin the conversion process from a JS object to an encoded gRPC Value
* message.
*
* @param {*} value - The input value.
* @return {object} - The encoded value.
*
* @example
* ```
* ObjectToStructConverter.convert({
* aString: 'Hi'
* });
* // {
* // fields: {
* // aString: {
* // stringValue: 'Hello!'
* // }
* // }
* // }
* ```
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
convert(obj) {
const convertedObject = {
fields: {}
};
this.seenObjects.add(obj);
for (const prop in obj) {
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
const value = obj[prop];
if (value === void 0) {
continue;
}
convertedObject.fields[prop] = this.encodeValue_(value);
}
}
this.seenObjects.delete(obj);
return convertedObject;
}
/**
* Convert a raw value to a type-denoted protobuf message-friendly object.
*
* @private
*
* @param {*} value - The input value.
* @return {*} - The encoded value.
*
* @example
* ```
* ObjectToStructConverter.encodeValue('Hi');
* // {
* // stringValue: 'Hello!'
* // }
* ```
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
encodeValue_(value) {
let convertedValue;
if (value === null) {
convertedValue = {
nullValue: 0
};
} else if (typeof value === "number") {
convertedValue = {
numberValue: value
};
} else if (typeof value === "string") {
convertedValue = {
stringValue: value
};
} else if (typeof value === "boolean") {
convertedValue = {
boolValue: value
};
} else if (Buffer.isBuffer(value)) {
convertedValue = {
blobValue: value
};
} else if (Array.isArray(value)) {
convertedValue = {
listValue: {
values: value.map(this.encodeValue_.bind(this))
}
};
} else if (Object.prototype.toString.call(value) === "[object Object]") {
if (this.seenObjects.has(value)) {
if (!this.removeCircular) {
throw new Error([
"This object contains a circular reference. To automatically",
"remove it, set the `removeCircular` option to true."
].join(" "));
}
convertedValue = {
stringValue: "[Circular]"
};
} else {
convertedValue = {
structValue: this.convert(value)
};
}
} else {
if (!this.stringify) {
throw new Error("Value of type " + typeof value + " not recognized.");
}
convertedValue = {
stringValue: String(value)
};
}
return convertedValue;
}
};
exports2.ObjectToStructConverter = ObjectToStructConverter;
function structToObj(struct) {
const convertedObject = {};
for (const prop in struct.fields) {
if (struct.fields.hasOwnProperty(prop)) {
const value = struct.fields[prop];
convertedObject[prop] = decodeValue(value);
}
}
return convertedObject;
}
function decodeValue(value) {
switch (value.kind) {
case "structValue": {
return structToObj(value.structValue);
}
case "nullValue": {
return null;
}
case "listValue": {
return value.listValue.values.map(decodeValue);
}
default: {
return value[value.kind];
}
}
}
function zuluToDateObj(zuluTime) {
var _a4;
const ms = Date.parse(zuluTime.split(/[.,Z]/)[0] + "Z");
const reNano = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.(\d{0,9})Z$/;
const nanoSecs = (_a4 = zuluTime.match(reNano)) === null || _a4 === void 0 ? void 0 : _a4[1];
return {
seconds: ms ? Math.floor(ms / 1e3) : 0,
nanos: nanoSecs ? Number(nanoSecs.padEnd(9, "0")) : 0
};
}
function toNanosAndSecondsObj(date5) {
const seconds = date5.getTime() / 1e3;
const secondsRounded = Math.floor(seconds);
return {
seconds: secondsRounded,
nanos: Math.floor((seconds - secondsRounded) * 1e9)
};
}
}
});
// node_modules/@google-cloud/logging/build/src/entry.js
var require_entry = __commonJS({
"node_modules/@google-cloud/logging/build/src/entry.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Entry = exports2.TRACE_SAMPLED_KEY = exports2.TRACE_KEY = exports2.SPAN_ID_KEY = exports2.SOURCE_LOCATION_KEY = exports2.OPERATION_KEY = exports2.LABELS_KEY = exports2.INSERT_ID_KEY = void 0;
var EventId = require_src51();
var extend4 = require_extend();
var common_1 = require_common4();
var http_request_1 = require_http_request();
var context_1 = require_context();
var eventId = new EventId();
exports2.INSERT_ID_KEY = "logging.googleapis.com/insertId";
exports2.LABELS_KEY = "logging.googleapis.com/labels";
exports2.OPERATION_KEY = "logging.googleapis.com/operation";
exports2.SOURCE_LOCATION_KEY = "logging.googleapis.com/sourceLocation";
exports2.SPAN_ID_KEY = "logging.googleapis.com/spanId";
exports2.TRACE_KEY = "logging.googleapis.com/trace";
exports2.TRACE_SAMPLED_KEY = "logging.googleapis.com/trace_sampled";
var Entry = class _Entry {
constructor(metadata2, data) {
this.metadata = extend4({
timestamp: /* @__PURE__ */ new Date()
}, metadata2);
this.metadata.insertId = this.metadata.insertId || eventId.new();
this.data = data;
}
/**
* Serialize an entry to the format the API expects. Read more:
* https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry
*
* @param {object} [options] Configuration object.
* @param {boolean} [options.removeCircular] Replace circular references in an
* object with a string value, `[Circular]`.
* @param {string} [projectId] GCP Project ID.
*/
toJSON(options = {}, projectId = "") {
const entry = extend4(true, {}, this.metadata);
if (this.isObject(this.data)) {
entry.jsonPayload = (0, common_1.objToStruct)(this.data, {
removeCircular: !!options.removeCircular,
stringify: true
});
} else if (typeof this.data === "string") {
entry.textPayload = this.data;
}
if (entry.timestamp instanceof Date) {
entry.timestamp = (0, common_1.toNanosAndSecondsObj)(entry.timestamp);
} else if (typeof entry.timestamp === "string") {
entry.timestamp = (0, common_1.zuluToDateObj)(entry.timestamp);
}
const req = this.metadata.httpRequest;
if ((0, http_request_1.isRawHttpRequest)(req)) {
entry.httpRequest = (0, http_request_1.makeHttpRequestData)(req);
}
const traceContext = this.extractTraceContext(projectId);
if (traceContext) {
if (!this.metadata.trace && traceContext.trace)
entry.trace = traceContext.trace;
if (!this.metadata.spanId && traceContext.spanId)
entry.spanId = traceContext.spanId;
if (this.metadata.traceSampled === void 0)
entry.traceSampled = traceContext.traceSampled;
}
return entry;
}
/**
* Serialize an entry to a standard format for any transports, e.g. agents.
* Read more: https://cloud.google.com/logging/docs/structured-logging
*/
toStructuredJSON(projectId = "", useMessageField = true) {
const meta = this.metadata;
const { textPayload, jsonPayload, insertId, trace: trace2, spanId, traceSampled, operation, sourceLocation, labels, ...validKeys } = meta;
let entry = extend4(true, {}, validKeys);
entry[exports2.LABELS_KEY] = meta.labels ? Object.assign({}, meta.labels) : void 0;
entry[exports2.INSERT_ID_KEY] = meta.insertId || void 0;
entry[exports2.TRACE_KEY] = meta.trace || void 0;
entry[exports2.SPAN_ID_KEY] = meta.spanId || void 0;
entry[exports2.TRACE_SAMPLED_KEY] = "traceSampled" in meta && meta.traceSampled !== null ? meta.traceSampled : void 0;
const data = this.data || meta.textPayload || meta.jsonPayload || meta.protoPayload || void 0;
if (useMessageField) {
entry.message = data;
} else {
if (data !== void 0 && data !== null) {
if (this.isObject(data)) {
entry = extend4(true, {}, entry, data);
} else if (typeof data === "string") {
entry.message = data;
} else {
entry.message = JSON.stringify(data);
}
}
}
if (meta.timestamp instanceof Date) {
entry.timestamp = (0, common_1.toNanosAndSecondsObj)(meta.timestamp);
}
const req = meta.httpRequest;
if ((0, http_request_1.isRawHttpRequest)(req)) {
entry.httpRequest = (0, http_request_1.makeHttpRequestData)(req);
}
const traceContext = this.extractTraceContext(projectId);
if (traceContext) {
if (!entry[exports2.TRACE_KEY] && traceContext.trace)
entry[exports2.TRACE_KEY] = traceContext.trace;
if (!entry[exports2.SPAN_ID_KEY] && traceContext.spanId)
entry[exports2.SPAN_ID_KEY] = traceContext.spanId;
if (entry[exports2.TRACE_SAMPLED_KEY] === void 0)
entry[exports2.TRACE_SAMPLED_KEY] = traceContext.traceSampled;
}
return entry;
}
/**
* extractTraceContext extracts trace and span information from OpenTelemetry
* span context or raw HTTP request headers.
* @private
*/
extractTraceContext(projectId) {
const otelContext = (0, context_1.getContextFromOtelContext)(projectId);
if (otelContext)
return otelContext;
const rawReq = this.metadata.httpRequest;
if (rawReq && "headers" in rawReq) {
return (0, context_1.getOrInjectContext)(rawReq, projectId, false);
}
return null;
}
/**
* Create an Entry object from an API response, such as `entries:list`.
*
* @private
*
* @param {object} entry An API representation of an entry. See a
* {@link https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry| LogEntry}.
* @returns {Entry}
*/
static fromApiResponse_(entry) {
let data = entry[entry.payload];
if (entry.payload === "jsonPayload") {
data = (0, common_1.structToObj)(data);
}
const serializedEntry = new _Entry(entry, data);
if (entry.timestamp) {
let ms = Number(entry.timestamp.seconds) * 1e3;
ms += Number(entry.timestamp.nanos) / 1e6;
serializedEntry.metadata.timestamp = new Date(ms);
}
return serializedEntry;
}
/**
* Determines whether `value` is a JavaScript object.
* @param value The value to be checked
* @returns true if `value` is a JavaScript object, false otherwise
*/
isObject(value) {
return Object.prototype.toString.call(value) === "[object Object]";
}
};
exports2.Entry = Entry;
}
});
// node_modules/@google-cloud/logging/build/src/utils/log-common.js
var require_log_common = __commonJS({
"node_modules/@google-cloud/logging/build/src/utils/log-common.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Severity = void 0;
exports2.snakecaseKeys = snakecaseKeys;
exports2.assignSeverityToEntries = assignSeverityToEntries;
exports2.formatLogName = formatLogName;
var entry_1 = require_entry();
var extend4 = require_extend();
var arrify2 = require_arrify();
var Severity;
(function(Severity2) {
Severity2[Severity2["emergency"] = 0] = "emergency";
Severity2[Severity2["alert"] = 1] = "alert";
Severity2[Severity2["critical"] = 2] = "critical";
Severity2[Severity2["error"] = 3] = "error";
Severity2[Severity2["warning"] = 4] = "warning";
Severity2[Severity2["notice"] = 5] = "notice";
Severity2[Severity2["info"] = 6] = "info";
Severity2[Severity2["debug"] = 7] = "debug";
})(Severity || (exports2.Severity = Severity = {}));
function snakecaseKeys(labels) {
for (const key in labels) {
const replaced = key.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
Object.defineProperty(labels, replaced, Object.getOwnPropertyDescriptor(labels, key));
if (replaced !== key) {
delete labels[key];
}
}
return labels;
}
function assignSeverityToEntries(entries, severity) {
return arrify2(entries).map((entry) => {
const metadata2 = extend4(true, {}, entry.metadata, {
severity
});
return extend4(new entry_1.Entry(), entry, {
metadata: metadata2
});
});
}
function formatLogName(projectId, name3) {
const path101 = "projects/" + projectId + "/logs/";
name3 = name3.replace(path101, "");
if (decodeURIComponent(name3) === name3) {
name3 = encodeURIComponent(name3);
}
return path101 + name3;
}
}
});
// node_modules/is-obj/index.js
var require_is_obj = __commonJS({
"node_modules/is-obj/index.js"(exports2, module2) {
"use strict";
module2.exports = (value) => {
const type2 = typeof value;
return value !== null && (type2 === "object" || type2 === "function");
};
}
});
// node_modules/@google-cloud/logging/node_modules/dot-prop/index.js
var require_dot_prop = __commonJS({
"node_modules/@google-cloud/logging/node_modules/dot-prop/index.js"(exports2, module2) {
"use strict";
var isObj = require_is_obj();
var disallowedKeys = /* @__PURE__ */ new Set([
"__proto__",
"prototype",
"constructor"
]);
var isValidPath = (pathSegments) => !pathSegments.some((segment) => disallowedKeys.has(segment));
function getPathSegments(path101) {
const pathArray = path101.split(".");
const parts2 = [];
for (let i3 = 0; i3 < pathArray.length; i3++) {
let p = pathArray[i3];
while (p[p.length - 1] === "\\" && pathArray[i3 + 1] !== void 0) {
p = p.slice(0, -1) + ".";
p += pathArray[++i3];
}
parts2.push(p);
}
if (!isValidPath(parts2)) {
return [];
}
return parts2;
}
module2.exports = {
get(object3, path101, value) {
if (!isObj(object3) || typeof path101 !== "string") {
return value === void 0 ? object3 : value;
}
const pathArray = getPathSegments(path101);
if (pathArray.length === 0) {
return;
}
for (let i3 = 0; i3 < pathArray.length; i3++) {
object3 = object3[pathArray[i3]];
if (object3 === void 0 || object3 === null) {
if (i3 !== pathArray.length - 1) {
return value;
}
break;
}
}
return object3 === void 0 ? value : object3;
},
set(object3, path101, value) {
if (!isObj(object3) || typeof path101 !== "string") {
return object3;
}
const root = object3;
const pathArray = getPathSegments(path101);
for (let i3 = 0; i3 < pathArray.length; i3++) {
const p = pathArray[i3];
if (!isObj(object3[p])) {
object3[p] = {};
}
if (i3 === pathArray.length - 1) {
object3[p] = value;
}
object3 = object3[p];
}
return root;
},
delete(object3, path101) {
if (!isObj(object3) || typeof path101 !== "string") {
return false;
}
const pathArray = getPathSegments(path101);
for (let i3 = 0; i3 < pathArray.length; i3++) {
const p = pathArray[i3];
if (i3 === pathArray.length - 1) {
delete object3[p];
return true;
}
object3 = object3[p];
if (!isObj(object3)) {
return false;
}
}
},
has(object3, path101) {
if (!isObj(object3) || typeof path101 !== "string") {
return false;
}
const pathArray = getPathSegments(path101);
if (pathArray.length === 0) {
return false;
}
for (let i3 = 0; i3 < pathArray.length; i3++) {
if (isObj(object3)) {
if (!(pathArray[i3] in object3)) {
return false;
}
object3 = object3[pathArray[i3]];
} else {
return false;
}
}
return true;
}
};
}
});
// node_modules/@google-cloud/logging/build/src/utils/instrumentation.js
var require_instrumentation3 = __commonJS({
"node_modules/@google-cloud/logging/build/src/utils/instrumentation.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MAX_INSTRUMENTATION_COUNT = exports2.NODEJS_DEFAULT_LIBRARY_VERSION = exports2.NODEJS_LIBRARY_NAME_PREFIX = exports2.INSTRUMENTATION_SOURCE_KEY = exports2.DIAGNOSTIC_INFO_KEY = void 0;
exports2.populateInstrumentationInfo = populateInstrumentationInfo;
exports2.createDiagnosticEntry = createDiagnosticEntry;
exports2.getNodejsLibraryVersion = getNodejsLibraryVersion;
exports2.setInstrumentationStatus = setInstrumentationStatus;
var arrify2 = require_arrify();
var entry_1 = require_entry();
global.instrumentationAdded = false;
global.shouldSkipInstrumentationCheck = false;
var maxDiagnosticValueLen = 14;
exports2.DIAGNOSTIC_INFO_KEY = "logging.googleapis.com/diagnostic";
exports2.INSTRUMENTATION_SOURCE_KEY = "instrumentation_source";
exports2.NODEJS_LIBRARY_NAME_PREFIX = "nodejs";
exports2.NODEJS_DEFAULT_LIBRARY_VERSION = "11.2.1";
exports2.MAX_INSTRUMENTATION_COUNT = 3;
function populateInstrumentationInfo(entry) {
var _a4, _b;
if (global.shouldSkipInstrumentationCheck) {
return [arrify2(entry), false];
}
let isWritten = setInstrumentationStatus(true);
let isInfoAdded = false;
const entries = [];
if (entry) {
for (const entryItem of arrify2(entry)) {
if (entryItem) {
const info2 = (_b = (_a4 = entryItem.data) === null || _a4 === void 0 ? void 0 : _a4[exports2.DIAGNOSTIC_INFO_KEY]) === null || _b === void 0 ? void 0 : _b[exports2.INSTRUMENTATION_SOURCE_KEY];
if (info2) {
entryItem.data[exports2.DIAGNOSTIC_INFO_KEY][exports2.INSTRUMENTATION_SOURCE_KEY] = validateAndUpdateInstrumentation(info2);
global.shouldSkipInstrumentationCheck = isInfoAdded = isWritten = true;
}
entries.push(entryItem);
}
}
}
if (!isWritten) {
entries.push(createDiagnosticEntry(void 0, void 0));
global.shouldSkipInstrumentationCheck = isInfoAdded = true;
}
return [entries, isInfoAdded];
}
function createDiagnosticEntry(libraryName, libraryVersion) {
if (!libraryName || !libraryName.startsWith(exports2.NODEJS_LIBRARY_NAME_PREFIX)) {
libraryName = exports2.NODEJS_LIBRARY_NAME_PREFIX;
}
const entry = new entry_1.Entry(void 0, {
[exports2.DIAGNOSTIC_INFO_KEY]: {
[exports2.INSTRUMENTATION_SOURCE_KEY]: [
{
// Truncate libraryName and libraryVersion if more than 14 characters length
name: truncateValue(libraryName, maxDiagnosticValueLen),
version: truncateValue(libraryVersion !== null && libraryVersion !== void 0 ? libraryVersion : getNodejsLibraryVersion(), maxDiagnosticValueLen)
}
]
}
});
return entry;
}
function validateAndUpdateInstrumentation(infoList) {
const finalInfo = [];
let count2 = 1;
for (const info2 of infoList) {
if (isValidInfo(info2)) {
finalInfo.push({
name: truncateValue(info2.name, maxDiagnosticValueLen),
version: truncateValue(info2.version, maxDiagnosticValueLen)
});
if (++count2 === exports2.MAX_INSTRUMENTATION_COUNT)
break;
}
}
finalInfo.push({
name: exports2.NODEJS_LIBRARY_NAME_PREFIX,
version: getNodejsLibraryVersion()
});
return finalInfo;
}
function truncateValue(value, maxLen) {
if (typeof value !== "string") {
try {
if (Object.prototype.hasOwnProperty.call(value, "version")) {
value = value.version;
}
} catch (err2) {
}
}
if (typeof value !== "string") {
return exports2.NODEJS_DEFAULT_LIBRARY_VERSION;
}
if (value && value.length > maxLen) {
return value.substring(0, maxLen).concat("*");
}
return value;
}
function getNodejsLibraryVersion() {
return exports2.NODEJS_DEFAULT_LIBRARY_VERSION;
}
function isValidInfo(info2) {
if (!info2 || !info2.name || !info2.version || !info2.name.startsWith(exports2.NODEJS_LIBRARY_NAME_PREFIX)) {
return false;
}
return true;
}
function setInstrumentationStatus(value) {
const status2 = global.instrumentationAdded;
global.instrumentationAdded = value;
return status2;
}
}
});
// node_modules/@google-cloud/logging/build/src/log.js
var require_log2 = __commonJS({
"node_modules/@google-cloud/logging/build/src/log.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Log = void 0;
var promisify_1 = require_src43();
var dotProp = require_dot_prop();
var extend4 = require_extend();
var entry_1 = require_entry();
var instrumentation_1 = require_instrumentation3();
var log_common_1 = require_log_common();
var Log = class {
constructor(logging, name3, options) {
var _a4;
options = options || {};
this.formattedName_ = (0, log_common_1.formatLogName)(logging.projectId, name3);
this.removeCircular_ = options.removeCircular === true;
this.maxEntrySize = options.maxEntrySize;
this.logging = logging;
this.name = this.formattedName_.split("/").pop();
this.jsonFieldsToTruncate = [
// Winston:
"jsonPayload.fields.metadata.structValue.fields.stack.stringValue",
// Bunyan:
"jsonPayload.fields.msg.stringValue",
"jsonPayload.fields.err.structValue.fields.stack.stringValue",
"jsonPayload.fields.err.structValue.fields.message.stringValue",
// All:
"jsonPayload.fields.message.stringValue"
];
if (options.jsonFieldsToTruncate !== null && options.jsonFieldsToTruncate !== void 0) {
const filteredList = options.jsonFieldsToTruncate.filter((str2) => str2 !== null && !this.jsonFieldsToTruncate.includes(str2) && str2.startsWith("jsonPayload"));
const uniqueSet = new Set(filteredList);
this.jsonFieldsToTruncate = Array.from(uniqueSet).concat(this.jsonFieldsToTruncate);
}
this.defaultWriteDeleteCallback = options.defaultWriteDeleteCallback;
this.partialSuccess = (_a4 = options.partialSuccess) !== null && _a4 !== void 0 ? _a4 : true;
}
alert(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "ALERT"), options);
}
critical(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "CRITICAL"), options);
}
debug(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "DEBUG"), options);
}
async delete(gaxOptions) {
const projectId = await this.logging.auth.getProjectId();
this.formattedName_ = (0, log_common_1.formatLogName)(projectId, this.name);
const reqOpts = {
logName: this.formattedName_
};
return this.logging.loggingService.deleteLog(reqOpts, gaxOptions, this.defaultWriteDeleteCallback);
}
emergency(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "EMERGENCY"), options);
}
entry(metadataOrData, data) {
let metadata2;
if (!data && metadataOrData !== null && Object.prototype.hasOwnProperty.call(metadataOrData, "httpRequest")) {
metadata2 = metadataOrData;
data = {};
} else if (!data) {
data = metadataOrData;
metadata2 = {};
} else {
metadata2 = metadataOrData;
}
return this.logging.entry(metadata2, data);
}
error(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "ERROR"), options);
}
async getEntries(opts) {
const options = extend4({}, opts);
const projectId = await this.logging.auth.getProjectId();
this.formattedName_ = (0, log_common_1.formatLogName)(projectId, this.name);
if (options.filter && !options.filter.includes("logName=")) {
options.filter = `(${options.filter}) AND logName="${this.formattedName_}"`;
} else if (!options.filter) {
options.filter = `logName="${this.formattedName_}"`;
}
return this.logging.getEntries(options);
}
/**
* This method is a wrapper around {module:logging#getEntriesStream}, but with
* a filter specified to only return {module:logging/entry} objects from this
* log.
*
* @method Log#getEntriesStream
* @param {GetEntriesRequest} [query] Query object for listing entries.
* @returns {ReadableStream} A readable stream that emits {@link Entry}
* instances.
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.log('my-log');
*
* log.getEntriesStream()
* .on('error', console.error)
* .on('data', entry => {
* // `entry` is a Cloud Logging entry object.
* // See the `data` property to read the data from the entry.
* })
* .on('end', function() {
* // All entries retrieved.
* });
*
* //-
* // If you anticipate many results, you can end a stream early to prevent
* // unnecessary processing and API requests.
* //-
* log.getEntriesStream()
* .on('data', function(entry) {
* this.end();
* });
* ```
*/
getEntriesStream(options) {
options = extend4({
log: this.name
}, options);
return this.logging.getEntriesStream(options);
}
/**
* This method is a wrapper around {module:logging#tailEntries}, but with
* a filter specified to only return {module:logging/entry} objects from this
* log.
*
* @method Log#tailEntries
* @param {TailEntriesRequest} [query] Query object for tailing entries.
* @returns {DuplexStream} A duplex stream that emits TailEntriesResponses
* containing an array of {@link Entry} instances.
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.log('my-log');
*
* log.tailEntries()
* .on('error', console.error)
* .on('data', resp => {
* console.log(resp.entries);
* console.log(resp.suppressionInfo);
* })
* .on('end', function() {
* // All entries retrieved.
* });
*
* //-
* // If you anticipate many results, you can end a stream early to prevent
* // unnecessary processing and API requests.
* //-
* log.tailEntries()
* .on('data', function(entry) {
* this.end();
* });
* ```
*/
tailEntries(options) {
options = extend4({
log: this.name
}, options);
return this.logging.tailEntries(options);
}
info(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "INFO"), options);
}
notice(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "NOTICE"), options);
}
warning(entry, options) {
return this.write((0, log_common_1.assignSeverityToEntries)(entry, "WARNING"), options);
}
async write(entry, opts) {
var _a4, _b, _c;
const options = opts ? opts : {};
await this.logging.setProjectId();
this.formattedName_ = (0, log_common_1.formatLogName)(this.logging.projectId, this.name);
const resource = await this.getOrSetResource(options);
const info2 = (0, instrumentation_1.populateInstrumentationInfo)(entry);
const decoratedEntries = this.decorateEntries(info2[0]);
if (info2[1] || ((_a4 = options.partialSuccess) !== null && _a4 !== void 0 ? _a4 : this.partialSuccess)) {
options.partialSuccess = true;
}
this.truncateEntries(decoratedEntries);
const reqOpts = extend4({
logName: this.formattedName_,
entries: decoratedEntries,
resource
}, options);
delete reqOpts.gaxOptions;
if (!((_b = options.gaxOptions) === null || _b === void 0 ? void 0 : _b.maxRetries) && ((_c = this.logging.options) === null || _c === void 0 ? void 0 : _c.maxRetries)) {
options.gaxOptions = extend4({
maxRetries: this.logging.options.maxRetries
}, options.gaxOptions);
}
return this.logging.loggingService.writeLogEntries(reqOpts, options.gaxOptions, this.defaultWriteDeleteCallback);
}
/**
* getOrSetResource looks for GCP service context first at the user
* declaration level (snakecasing keys), then in the Logging instance,
* before finally detecting a resource from the environment.
* The resource is then memoized at the Logging instance level for future use.
*
* @param options
* @private
*/
async getOrSetResource(options) {
if (options.resource) {
if (options.resource.labels)
(0, log_common_1.snakecaseKeys)(options.resource.labels);
return options.resource;
}
await this.logging.setDetectedResource();
return this.logging.detectedResource;
}
/**
* All entries are passed through here in order be formatted and serialized.
* User provided Entry values are formatted per LogEntry specifications.
* Read more about the LogEntry format:
* https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry
*
* @private
*
* @param {object[]} entries - Entry objects.
* @returns {object[]} Serialized entries.
* @throws if there is an error during serialization.
*/
decorateEntries(entries) {
return entries.map((entry) => {
if (!(entry instanceof entry_1.Entry)) {
entry = this.entry(entry);
}
return entry.toJSON({
removeCircular: this.removeCircular_
}, this.logging.projectId);
});
}
// TODO consider refactoring `truncateEntries` so that it does not mutate
/**
* Truncate log entries at maxEntrySize, so that error is not thrown, see:
* https://cloud.google.com/logging/quotas
*
* @private
*
* @param {object|string} the JSON log entry.
* @returns {object|string} truncated JSON log entry.
*/
truncateEntries(entries) {
return entries.forEach((entry) => {
if (this.maxEntrySize === void 0)
return;
const payloadSize = JSON.stringify(entry).length;
if (payloadSize < this.maxEntrySize)
return;
let delta = payloadSize - this.maxEntrySize;
if (entry.textPayload) {
entry.textPayload = entry.textPayload.slice(0, Math.max(entry.textPayload.length - delta, 0));
} else {
for (const field of this.jsonFieldsToTruncate) {
const msg = dotProp.get(entry, field, "");
if (msg !== null && msg !== void 0 && msg !== "") {
dotProp.set(entry, field, msg.slice(0, Math.max(msg.length - delta, 0)));
delta -= Math.min(msg.length, delta);
if (delta <= 0) {
break;
}
}
}
}
});
}
// TODO: in a future breaking release, delete this extranenous function.
/**
* Return an array of log entries with the desired severity assigned.
*
* @private
*
* @param {object|object[]} entries - Log entries.
* @param {string} severity - The desired severity level.
*/
static assignSeverityToEntries_(entries, severity) {
return (0, log_common_1.assignSeverityToEntries)(entries, severity);
}
// TODO: in a future breaking release, delete this extranenous function.
/**
* Format the name of a log. A log's full name is in the format of
* 'projects/{projectId}/logs/{logName}'.
*
* @private
*
* @returns {string}
*/
static formatName_(projectId, name3) {
return (0, log_common_1.formatLogName)(projectId, name3);
}
};
exports2.Log = Log;
(0, promisify_1.callbackifyAll)(Log, { exclude: ["entry", "getEntriesStream"] });
}
});
// node_modules/@google-cloud/logging/build/src/log-sync.js
var require_log_sync = __commonJS({
"node_modules/@google-cloud/logging/build/src/log-sync.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LogSync = void 0;
var entry_1 = require_entry();
var instrumentation_1 = require_instrumentation3();
var log_common_1 = require_log_common();
var LogSync = class {
// not projectId, formattedname is expected
constructor(logging, name3, transport, options) {
var _a4;
options = options || {};
this.formattedName_ = (0, log_common_1.formatLogName)(logging.projectId, name3);
this.logging = logging;
this.name = this.formattedName_.split("/").pop();
this.transport = transport || process.stdout;
this.useMessageField_ = (_a4 = options.useMessageField) !== null && _a4 !== void 0 ? _a4 : true;
}
/**
* Write a log entry with a severity of "ALERT".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.alert(entry);
* ```
*/
alert(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "ALERT"), options);
}
/**
* Write a log entry with a severity of "CRITICAL".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.critical(entry);
* ```
*/
critical(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "CRITICAL"), options);
}
/**
* Write a log entry with a severity of "DEBUG".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.debug(entry);
* ```
*/
debug(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "DEBUG"), options);
}
/**
* Write a log entry with a severity of "EMERGENCY".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.emergency(entry);
* ```
*/
emergency(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "EMERGENCY"), options);
}
entry(metadataOrData, data) {
let metadata2;
if (!data && metadataOrData !== null && Object.prototype.hasOwnProperty.call(metadataOrData, "httpRequest")) {
metadata2 = metadataOrData;
data = {};
} else if (!data) {
data = metadataOrData;
metadata2 = {};
} else {
metadata2 = metadataOrData;
}
return this.logging.entry(metadata2, data);
}
/**
* Write a log entry with a severity of "ERROR".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.error(entry);
* ```
*/
error(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "ERROR"), options);
}
/**
* Write a log entry with a severity of "INFO".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.info(entry);
* ```
*/
info(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "INFO"), options);
}
/**
* Write a log entry with a severity of "NOTICE".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.notice(entry);
* ```
*/
notice(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "NOTICE"), options);
}
/**
* Write a log entry with a severity of "WARNING".
*
* This is a simple wrapper around {@link LogSync#write}. All arguments are
* the same as documented there.
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.logSync('my-log');
*
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.warning(entry);
* ```
*/
warning(entry, options) {
this.write((0, log_common_1.assignSeverityToEntries)(entry, "WARNING"), options);
}
/**
* Write log entries to a custom transport (default: process.stdout).
*
* @param {Entry|Entry[]} entry A log entry, or array of entries, to write.
* @param {?WriteOptions} [options] Write options
*
* @example
* ```
* const entry = log.entry('gce_instance', {
* instance: 'my_instance'
* });
*
* log.write(entry);
*
* //-
* // You may also pass multiple log entries to write.
* //-
* const secondEntry = log.entry('compute.googleapis.com', {
* user: 'my_username'
* });
*
* log.write([entry, secondEntry]);
*
* //-
* // To save some steps, you can also pass in plain values as your entries.
* // Note, however, that you must provide a configuration object to specify
* // the resource.
* //-
* const entries = [
* {
* user: 'my_username'
* },
* {
* home: process.env.HOME
* }
* ];
*
* const options = {
* resource: 'compute.googleapis.com'
* };
*
* log.write(entries, options);
*
* log.write(entries);
* });
* ```
*/
write(entry, opts) {
var _a4;
const options = opts ? opts : {};
let structuredEntries;
this.formattedName_ = (0, log_common_1.formatLogName)(this.logging.projectId, this.name);
try {
structuredEntries = (0, instrumentation_1.populateInstrumentationInfo)(entry)[0].map((entry2) => {
if (!(entry2 instanceof entry_1.Entry)) {
entry2 = this.entry(entry2);
}
return entry2.toStructuredJSON(this.logging.projectId, this.useMessageField_);
});
for (const entry2 of structuredEntries) {
entry2.logName = this.formattedName_;
entry2.resource = (0, log_common_1.snakecaseKeys)((_a4 = options.resource) === null || _a4 === void 0 ? void 0 : _a4.labels) || entry2.resource || this.logging.detectedResource;
entry2[entry_1.LABELS_KEY] = options.labels || entry2[entry_1.LABELS_KEY];
this.transport.write(JSON.stringify(entry2) + "\n");
}
} catch (err2) {
}
}
};
exports2.LogSync = LogSync;
}
});
// node_modules/@google-cloud/logging/build/src/sink.js
var require_sink = __commonJS({
"node_modules/@google-cloud/logging/build/src/sink.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Sink = void 0;
var promisify_1 = require_src43();
var extend4 = require_extend();
var Sink = class {
constructor(logging, name3) {
this.logging = logging;
this.name = name3;
this.formattedName_ = "projects/" + logging.projectId + "/sinks/" + name3;
}
create(config2) {
return this.logging.createSink(this.name, config2);
}
async delete(gaxOptions) {
const projectId = await this.logging.auth.getProjectId();
this.formattedName_ = "projects/" + projectId + "/sinks/" + this.name;
const reqOpts = {
sinkName: this.formattedName_
};
return this.logging.configService.deleteSink(reqOpts, gaxOptions);
}
async getMetadata(gaxOptions) {
const projectId = await this.logging.auth.getProjectId();
this.formattedName_ = "projects/" + projectId + "/sinks/" + this.name;
const reqOpts = {
sinkName: this.formattedName_
};
[this.metadata] = await this.logging.configService.getSink(reqOpts, gaxOptions);
return [this.metadata];
}
setFilter(filter4) {
return this.setMetadata({
filter: filter4
});
}
async setMetadata(metadata2) {
const [currentMetadata] = await this.getMetadata();
const uniqueWriterIdentity = metadata2.uniqueWriterIdentity;
delete metadata2.uniqueWriterIdentity;
let reqOpts = {
sinkName: this.formattedName_,
sink: extend4({}, currentMetadata, metadata2)
};
delete reqOpts.sink.gaxOptions;
reqOpts = {
...reqOpts,
...uniqueWriterIdentity && { uniqueWriterIdentity }
};
[this.metadata] = await this.logging.configService.updateSink(reqOpts, metadata2.gaxOptions);
return [this.metadata];
}
};
exports2.Sink = Sink;
(0, promisify_1.callbackifyAll)(Sink);
}
});
// node_modules/google-gax/build/src/protobuf.js
var require_protobuf4 = __commonJS({
"node_modules/google-gax/build/src/protobuf.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.protobufMinimal = void 0;
exports2.protobufMinimal = require_minimal4();
}
});
// node_modules/@google-cloud/logging/build/protos/protos.js
var require_protos3 = __commonJS({
"node_modules/@google-cloud/logging/build/protos/protos.js"(exports2, module2) {
(function(global3, factory) {
if (typeof define === "function" && define.amd)
define(["protobufjs/minimal"], factory);
else if (typeof __require === "function" && typeof module2 === "object" && module2 && module2.exports)
module2.exports = factory(require_protobuf4().protobufMinimal);
})(exports2, function($protobuf) {
"use strict";
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
var $root = $protobuf.roots._google_cloud_logging_protos || ($protobuf.roots._google_cloud_logging_protos = {});
$root.google = function() {
var google = {};
google.protobuf = function() {
var protobuf = {};
protobuf.Duration = function() {
function Duration(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
Duration.prototype.nanos = 0;
Duration.create = function create(properties) {
return new Duration(properties);
};
Duration.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int64(message.seconds);
if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.nanos);
return writer;
};
Duration.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Duration.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.seconds = reader.int64();
break;
}
case 2: {
message.nanos = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Duration.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Duration.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.seconds != null && message.hasOwnProperty("seconds")) {
if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high)))
return "seconds: integer|Long expected";
}
if (message.nanos != null && message.hasOwnProperty("nanos")) {
if (!$util.isInteger(message.nanos))
return "nanos: integer expected";
}
return null;
};
Duration.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.Duration)
return object3;
var message = new $root.google.protobuf.Duration();
if (object3.seconds != null) {
if ($util.Long)
(message.seconds = $util.Long.fromValue(object3.seconds)).unsigned = false;
else if (typeof object3.seconds === "string")
message.seconds = parseInt(object3.seconds, 10);
else if (typeof object3.seconds === "number")
message.seconds = object3.seconds;
else if (typeof object3.seconds === "object")
message.seconds = new $util.LongBits(object3.seconds.low >>> 0, object3.seconds.high >>> 0).toNumber();
}
if (object3.nanos != null)
message.nanos = object3.nanos | 0;
return message;
};
Duration.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.seconds = options.longs === String ? "0" : 0;
object3.nanos = 0;
}
if (message.seconds != null && message.hasOwnProperty("seconds"))
if (typeof message.seconds === "number")
object3.seconds = options.longs === String ? String(message.seconds) : message.seconds;
else
object3.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds;
if (message.nanos != null && message.hasOwnProperty("nanos"))
object3.nanos = message.nanos;
return object3;
};
Duration.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.Duration";
};
return Duration;
}();
protobuf.FileDescriptorSet = function() {
function FileDescriptorSet(properties) {
this.file = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FileDescriptorSet.prototype.file = $util.emptyArray;
FileDescriptorSet.create = function create(properties) {
return new FileDescriptorSet(properties);
};
FileDescriptorSet.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.file != null && message.file.length)
for (var i3 = 0; i3 < message.file.length; ++i3)
$root.google.protobuf.FileDescriptorProto.encode(message.file[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FileDescriptorSet.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.file && message.file.length))
message.file = [];
message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FileDescriptorSet.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.file != null && message.hasOwnProperty("file")) {
if (!Array.isArray(message.file))
return "file: array expected";
for (var i3 = 0; i3 < message.file.length; ++i3) {
var error40 = $root.google.protobuf.FileDescriptorProto.verify(message.file[i3]);
if (error40)
return "file." + error40;
}
}
return null;
};
FileDescriptorSet.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FileDescriptorSet)
return object3;
var message = new $root.google.protobuf.FileDescriptorSet();
if (object3.file) {
if (!Array.isArray(object3.file))
throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
message.file = [];
for (var i3 = 0; i3 < object3.file.length; ++i3) {
if (typeof object3.file[i3] !== "object")
throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
message.file[i3] = $root.google.protobuf.FileDescriptorProto.fromObject(object3.file[i3]);
}
}
return message;
};
FileDescriptorSet.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.file = [];
if (message.file && message.file.length) {
object3.file = [];
for (var j = 0; j < message.file.length; ++j)
object3.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options);
}
return object3;
};
FileDescriptorSet.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FileDescriptorSet";
};
return FileDescriptorSet;
}();
protobuf.Edition = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "EDITION_UNKNOWN"] = 0;
values[valuesById[998] = "EDITION_PROTO2"] = 998;
values[valuesById[999] = "EDITION_PROTO3"] = 999;
values[valuesById[1e3] = "EDITION_2023"] = 1e3;
values[valuesById[1001] = "EDITION_2024"] = 1001;
values[valuesById[1] = "EDITION_1_TEST_ONLY"] = 1;
values[valuesById[2] = "EDITION_2_TEST_ONLY"] = 2;
values[valuesById[99997] = "EDITION_99997_TEST_ONLY"] = 99997;
values[valuesById[99998] = "EDITION_99998_TEST_ONLY"] = 99998;
values[valuesById[99999] = "EDITION_99999_TEST_ONLY"] = 99999;
values[valuesById[2147483647] = "EDITION_MAX"] = 2147483647;
return values;
}();
protobuf.FileDescriptorProto = function() {
function FileDescriptorProto(properties) {
this.dependency = [];
this.publicDependency = [];
this.weakDependency = [];
this.messageType = [];
this.enumType = [];
this.service = [];
this.extension = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FileDescriptorProto.prototype.name = "";
FileDescriptorProto.prototype["package"] = "";
FileDescriptorProto.prototype.dependency = $util.emptyArray;
FileDescriptorProto.prototype.publicDependency = $util.emptyArray;
FileDescriptorProto.prototype.weakDependency = $util.emptyArray;
FileDescriptorProto.prototype.messageType = $util.emptyArray;
FileDescriptorProto.prototype.enumType = $util.emptyArray;
FileDescriptorProto.prototype.service = $util.emptyArray;
FileDescriptorProto.prototype.extension = $util.emptyArray;
FileDescriptorProto.prototype.options = null;
FileDescriptorProto.prototype.sourceCodeInfo = null;
FileDescriptorProto.prototype.syntax = "";
FileDescriptorProto.prototype.edition = 0;
FileDescriptorProto.create = function create(properties) {
return new FileDescriptorProto(properties);
};
FileDescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message["package"] != null && Object.hasOwnProperty.call(message, "package"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message["package"]);
if (message.dependency != null && message.dependency.length)
for (var i3 = 0; i3 < message.dependency.length; ++i3)
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.dependency[i3]);
if (message.messageType != null && message.messageType.length)
for (var i3 = 0; i3 < message.messageType.length; ++i3)
$root.google.protobuf.DescriptorProto.encode(message.messageType[i3], writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.enumType != null && message.enumType.length)
for (var i3 = 0; i3 < message.enumType.length; ++i3)
$root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i3], writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.service != null && message.service.length)
for (var i3 = 0; i3 < message.service.length; ++i3)
$root.google.protobuf.ServiceDescriptorProto.encode(message.service[i3], writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
if (message.extension != null && message.extension.length)
for (var i3 = 0; i3 < message.extension.length; ++i3)
$root.google.protobuf.FieldDescriptorProto.encode(message.extension[i3], writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.FileOptions.encode(message.options, writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo"))
$root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.publicDependency != null && message.publicDependency.length)
for (var i3 = 0; i3 < message.publicDependency.length; ++i3)
writer.uint32(
/* id 10, wireType 0 =*/
80
).int32(message.publicDependency[i3]);
if (message.weakDependency != null && message.weakDependency.length)
for (var i3 = 0; i3 < message.weakDependency.length; ++i3)
writer.uint32(
/* id 11, wireType 0 =*/
88
).int32(message.weakDependency[i3]);
if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax"))
writer.uint32(
/* id 12, wireType 2 =*/
98
).string(message.syntax);
if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
writer.uint32(
/* id 14, wireType 0 =*/
112
).int32(message.edition);
return writer;
};
FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FileDescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message["package"] = reader.string();
break;
}
case 3: {
if (!(message.dependency && message.dependency.length))
message.dependency = [];
message.dependency.push(reader.string());
break;
}
case 10: {
if (!(message.publicDependency && message.publicDependency.length))
message.publicDependency = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.publicDependency.push(reader.int32());
} else
message.publicDependency.push(reader.int32());
break;
}
case 11: {
if (!(message.weakDependency && message.weakDependency.length))
message.weakDependency = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.weakDependency.push(reader.int32());
} else
message.weakDependency.push(reader.int32());
break;
}
case 4: {
if (!(message.messageType && message.messageType.length))
message.messageType = [];
message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
break;
}
case 5: {
if (!(message.enumType && message.enumType.length))
message.enumType = [];
message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 6: {
if (!(message.service && message.service.length))
message.service = [];
message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 7: {
if (!(message.extension && message.extension.length))
message.extension = [];
message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 8: {
message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32());
break;
}
case 9: {
message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32());
break;
}
case 12: {
message.syntax = reader.string();
break;
}
case 14: {
message.edition = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FileDescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message["package"] != null && message.hasOwnProperty("package")) {
if (!$util.isString(message["package"]))
return "package: string expected";
}
if (message.dependency != null && message.hasOwnProperty("dependency")) {
if (!Array.isArray(message.dependency))
return "dependency: array expected";
for (var i3 = 0; i3 < message.dependency.length; ++i3)
if (!$util.isString(message.dependency[i3]))
return "dependency: string[] expected";
}
if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) {
if (!Array.isArray(message.publicDependency))
return "publicDependency: array expected";
for (var i3 = 0; i3 < message.publicDependency.length; ++i3)
if (!$util.isInteger(message.publicDependency[i3]))
return "publicDependency: integer[] expected";
}
if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) {
if (!Array.isArray(message.weakDependency))
return "weakDependency: array expected";
for (var i3 = 0; i3 < message.weakDependency.length; ++i3)
if (!$util.isInteger(message.weakDependency[i3]))
return "weakDependency: integer[] expected";
}
if (message.messageType != null && message.hasOwnProperty("messageType")) {
if (!Array.isArray(message.messageType))
return "messageType: array expected";
for (var i3 = 0; i3 < message.messageType.length; ++i3) {
var error40 = $root.google.protobuf.DescriptorProto.verify(message.messageType[i3]);
if (error40)
return "messageType." + error40;
}
}
if (message.enumType != null && message.hasOwnProperty("enumType")) {
if (!Array.isArray(message.enumType))
return "enumType: array expected";
for (var i3 = 0; i3 < message.enumType.length; ++i3) {
var error40 = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i3]);
if (error40)
return "enumType." + error40;
}
}
if (message.service != null && message.hasOwnProperty("service")) {
if (!Array.isArray(message.service))
return "service: array expected";
for (var i3 = 0; i3 < message.service.length; ++i3) {
var error40 = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i3]);
if (error40)
return "service." + error40;
}
}
if (message.extension != null && message.hasOwnProperty("extension")) {
if (!Array.isArray(message.extension))
return "extension: array expected";
for (var i3 = 0; i3 < message.extension.length; ++i3) {
var error40 = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i3]);
if (error40)
return "extension." + error40;
}
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.FileOptions.verify(message.options);
if (error40)
return "options." + error40;
}
if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) {
var error40 = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo);
if (error40)
return "sourceCodeInfo." + error40;
}
if (message.syntax != null && message.hasOwnProperty("syntax")) {
if (!$util.isString(message.syntax))
return "syntax: string expected";
}
if (message.edition != null && message.hasOwnProperty("edition"))
switch (message.edition) {
default:
return "edition: enum value expected";
case 0:
case 998:
case 999:
case 1e3:
case 1001:
case 1:
case 2:
case 99997:
case 99998:
case 99999:
case 2147483647:
break;
}
return null;
};
FileDescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FileDescriptorProto)
return object3;
var message = new $root.google.protobuf.FileDescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3["package"] != null)
message["package"] = String(object3["package"]);
if (object3.dependency) {
if (!Array.isArray(object3.dependency))
throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");
message.dependency = [];
for (var i3 = 0; i3 < object3.dependency.length; ++i3)
message.dependency[i3] = String(object3.dependency[i3]);
}
if (object3.publicDependency) {
if (!Array.isArray(object3.publicDependency))
throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");
message.publicDependency = [];
for (var i3 = 0; i3 < object3.publicDependency.length; ++i3)
message.publicDependency[i3] = object3.publicDependency[i3] | 0;
}
if (object3.weakDependency) {
if (!Array.isArray(object3.weakDependency))
throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");
message.weakDependency = [];
for (var i3 = 0; i3 < object3.weakDependency.length; ++i3)
message.weakDependency[i3] = object3.weakDependency[i3] | 0;
}
if (object3.messageType) {
if (!Array.isArray(object3.messageType))
throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
message.messageType = [];
for (var i3 = 0; i3 < object3.messageType.length; ++i3) {
if (typeof object3.messageType[i3] !== "object")
throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
message.messageType[i3] = $root.google.protobuf.DescriptorProto.fromObject(object3.messageType[i3]);
}
}
if (object3.enumType) {
if (!Array.isArray(object3.enumType))
throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");
message.enumType = [];
for (var i3 = 0; i3 < object3.enumType.length; ++i3) {
if (typeof object3.enumType[i3] !== "object")
throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
message.enumType[i3] = $root.google.protobuf.EnumDescriptorProto.fromObject(object3.enumType[i3]);
}
}
if (object3.service) {
if (!Array.isArray(object3.service))
throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");
message.service = [];
for (var i3 = 0; i3 < object3.service.length; ++i3) {
if (typeof object3.service[i3] !== "object")
throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
message.service[i3] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object3.service[i3]);
}
}
if (object3.extension) {
if (!Array.isArray(object3.extension))
throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");
message.extension = [];
for (var i3 = 0; i3 < object3.extension.length; ++i3) {
if (typeof object3.extension[i3] !== "object")
throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
message.extension[i3] = $root.google.protobuf.FieldDescriptorProto.fromObject(object3.extension[i3]);
}
}
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
message.options = $root.google.protobuf.FileOptions.fromObject(object3.options);
}
if (object3.sourceCodeInfo != null) {
if (typeof object3.sourceCodeInfo !== "object")
throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object3.sourceCodeInfo);
}
if (object3.syntax != null)
message.syntax = String(object3.syntax);
switch (object3.edition) {
default:
if (typeof object3.edition === "number") {
message.edition = object3.edition;
break;
}
break;
case "EDITION_UNKNOWN":
case 0:
message.edition = 0;
break;
case "EDITION_PROTO2":
case 998:
message.edition = 998;
break;
case "EDITION_PROTO3":
case 999:
message.edition = 999;
break;
case "EDITION_2023":
case 1e3:
message.edition = 1e3;
break;
case "EDITION_2024":
case 1001:
message.edition = 1001;
break;
case "EDITION_1_TEST_ONLY":
case 1:
message.edition = 1;
break;
case "EDITION_2_TEST_ONLY":
case 2:
message.edition = 2;
break;
case "EDITION_99997_TEST_ONLY":
case 99997:
message.edition = 99997;
break;
case "EDITION_99998_TEST_ONLY":
case 99998:
message.edition = 99998;
break;
case "EDITION_99999_TEST_ONLY":
case 99999:
message.edition = 99999;
break;
case "EDITION_MAX":
case 2147483647:
message.edition = 2147483647;
break;
}
return message;
};
FileDescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.dependency = [];
object3.messageType = [];
object3.enumType = [];
object3.service = [];
object3.extension = [];
object3.publicDependency = [];
object3.weakDependency = [];
}
if (options.defaults) {
object3.name = "";
object3["package"] = "";
object3.options = null;
object3.sourceCodeInfo = null;
object3.syntax = "";
object3.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message["package"] != null && message.hasOwnProperty("package"))
object3["package"] = message["package"];
if (message.dependency && message.dependency.length) {
object3.dependency = [];
for (var j = 0; j < message.dependency.length; ++j)
object3.dependency[j] = message.dependency[j];
}
if (message.messageType && message.messageType.length) {
object3.messageType = [];
for (var j = 0; j < message.messageType.length; ++j)
object3.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options);
}
if (message.enumType && message.enumType.length) {
object3.enumType = [];
for (var j = 0; j < message.enumType.length; ++j)
object3.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
}
if (message.service && message.service.length) {
object3.service = [];
for (var j = 0; j < message.service.length; ++j)
object3.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options);
}
if (message.extension && message.extension.length) {
object3.extension = [];
for (var j = 0; j < message.extension.length; ++j)
object3.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
}
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.FileOptions.toObject(message.options, options);
if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo"))
object3.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options);
if (message.publicDependency && message.publicDependency.length) {
object3.publicDependency = [];
for (var j = 0; j < message.publicDependency.length; ++j)
object3.publicDependency[j] = message.publicDependency[j];
}
if (message.weakDependency && message.weakDependency.length) {
object3.weakDependency = [];
for (var j = 0; j < message.weakDependency.length; ++j)
object3.weakDependency[j] = message.weakDependency[j];
}
if (message.syntax != null && message.hasOwnProperty("syntax"))
object3.syntax = message.syntax;
if (message.edition != null && message.hasOwnProperty("edition"))
object3.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === void 0 ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
return object3;
};
FileDescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FileDescriptorProto";
};
return FileDescriptorProto;
}();
protobuf.DescriptorProto = function() {
function DescriptorProto(properties) {
this.field = [];
this.extension = [];
this.nestedType = [];
this.enumType = [];
this.extensionRange = [];
this.oneofDecl = [];
this.reservedRange = [];
this.reservedName = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DescriptorProto.prototype.name = "";
DescriptorProto.prototype.field = $util.emptyArray;
DescriptorProto.prototype.extension = $util.emptyArray;
DescriptorProto.prototype.nestedType = $util.emptyArray;
DescriptorProto.prototype.enumType = $util.emptyArray;
DescriptorProto.prototype.extensionRange = $util.emptyArray;
DescriptorProto.prototype.oneofDecl = $util.emptyArray;
DescriptorProto.prototype.options = null;
DescriptorProto.prototype.reservedRange = $util.emptyArray;
DescriptorProto.prototype.reservedName = $util.emptyArray;
DescriptorProto.create = function create(properties) {
return new DescriptorProto(properties);
};
DescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.field != null && message.field.length)
for (var i3 = 0; i3 < message.field.length; ++i3)
$root.google.protobuf.FieldDescriptorProto.encode(message.field[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.nestedType != null && message.nestedType.length)
for (var i3 = 0; i3 < message.nestedType.length; ++i3)
$root.google.protobuf.DescriptorProto.encode(message.nestedType[i3], writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
if (message.enumType != null && message.enumType.length)
for (var i3 = 0; i3 < message.enumType.length; ++i3)
$root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i3], writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.extensionRange != null && message.extensionRange.length)
for (var i3 = 0; i3 < message.extensionRange.length; ++i3)
$root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i3], writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.extension != null && message.extension.length)
for (var i3 = 0; i3 < message.extension.length; ++i3)
$root.google.protobuf.FieldDescriptorProto.encode(message.extension[i3], writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
if (message.oneofDecl != null && message.oneofDecl.length)
for (var i3 = 0; i3 < message.oneofDecl.length; ++i3)
$root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i3], writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.reservedRange != null && message.reservedRange.length)
for (var i3 = 0; i3 < message.reservedRange.length; ++i3)
$root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i3], writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.reservedName != null && message.reservedName.length)
for (var i3 = 0; i3 < message.reservedName.length; ++i3)
writer.uint32(
/* id 10, wireType 2 =*/
82
).string(message.reservedName[i3]);
return writer;
};
DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
if (!(message.field && message.field.length))
message.field = [];
message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 6: {
if (!(message.extension && message.extension.length))
message.extension = [];
message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 3: {
if (!(message.nestedType && message.nestedType.length))
message.nestedType = [];
message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
break;
}
case 4: {
if (!(message.enumType && message.enumType.length))
message.enumType = [];
message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 5: {
if (!(message.extensionRange && message.extensionRange.length))
message.extensionRange = [];
message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32()));
break;
}
case 8: {
if (!(message.oneofDecl && message.oneofDecl.length))
message.oneofDecl = [];
message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 7: {
message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32());
break;
}
case 9: {
if (!(message.reservedRange && message.reservedRange.length))
message.reservedRange = [];
message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32()));
break;
}
case 10: {
if (!(message.reservedName && message.reservedName.length))
message.reservedName = [];
message.reservedName.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.field != null && message.hasOwnProperty("field")) {
if (!Array.isArray(message.field))
return "field: array expected";
for (var i3 = 0; i3 < message.field.length; ++i3) {
var error40 = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i3]);
if (error40)
return "field." + error40;
}
}
if (message.extension != null && message.hasOwnProperty("extension")) {
if (!Array.isArray(message.extension))
return "extension: array expected";
for (var i3 = 0; i3 < message.extension.length; ++i3) {
var error40 = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i3]);
if (error40)
return "extension." + error40;
}
}
if (message.nestedType != null && message.hasOwnProperty("nestedType")) {
if (!Array.isArray(message.nestedType))
return "nestedType: array expected";
for (var i3 = 0; i3 < message.nestedType.length; ++i3) {
var error40 = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i3]);
if (error40)
return "nestedType." + error40;
}
}
if (message.enumType != null && message.hasOwnProperty("enumType")) {
if (!Array.isArray(message.enumType))
return "enumType: array expected";
for (var i3 = 0; i3 < message.enumType.length; ++i3) {
var error40 = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i3]);
if (error40)
return "enumType." + error40;
}
}
if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) {
if (!Array.isArray(message.extensionRange))
return "extensionRange: array expected";
for (var i3 = 0; i3 < message.extensionRange.length; ++i3) {
var error40 = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i3]);
if (error40)
return "extensionRange." + error40;
}
}
if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) {
if (!Array.isArray(message.oneofDecl))
return "oneofDecl: array expected";
for (var i3 = 0; i3 < message.oneofDecl.length; ++i3) {
var error40 = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i3]);
if (error40)
return "oneofDecl." + error40;
}
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.MessageOptions.verify(message.options);
if (error40)
return "options." + error40;
}
if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) {
if (!Array.isArray(message.reservedRange))
return "reservedRange: array expected";
for (var i3 = 0; i3 < message.reservedRange.length; ++i3) {
var error40 = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i3]);
if (error40)
return "reservedRange." + error40;
}
}
if (message.reservedName != null && message.hasOwnProperty("reservedName")) {
if (!Array.isArray(message.reservedName))
return "reservedName: array expected";
for (var i3 = 0; i3 < message.reservedName.length; ++i3)
if (!$util.isString(message.reservedName[i3]))
return "reservedName: string[] expected";
}
return null;
};
DescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.DescriptorProto)
return object3;
var message = new $root.google.protobuf.DescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3.field) {
if (!Array.isArray(object3.field))
throw TypeError(".google.protobuf.DescriptorProto.field: array expected");
message.field = [];
for (var i3 = 0; i3 < object3.field.length; ++i3) {
if (typeof object3.field[i3] !== "object")
throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
message.field[i3] = $root.google.protobuf.FieldDescriptorProto.fromObject(object3.field[i3]);
}
}
if (object3.extension) {
if (!Array.isArray(object3.extension))
throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");
message.extension = [];
for (var i3 = 0; i3 < object3.extension.length; ++i3) {
if (typeof object3.extension[i3] !== "object")
throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
message.extension[i3] = $root.google.protobuf.FieldDescriptorProto.fromObject(object3.extension[i3]);
}
}
if (object3.nestedType) {
if (!Array.isArray(object3.nestedType))
throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");
message.nestedType = [];
for (var i3 = 0; i3 < object3.nestedType.length; ++i3) {
if (typeof object3.nestedType[i3] !== "object")
throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
message.nestedType[i3] = $root.google.protobuf.DescriptorProto.fromObject(object3.nestedType[i3]);
}
}
if (object3.enumType) {
if (!Array.isArray(object3.enumType))
throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");
message.enumType = [];
for (var i3 = 0; i3 < object3.enumType.length; ++i3) {
if (typeof object3.enumType[i3] !== "object")
throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
message.enumType[i3] = $root.google.protobuf.EnumDescriptorProto.fromObject(object3.enumType[i3]);
}
}
if (object3.extensionRange) {
if (!Array.isArray(object3.extensionRange))
throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");
message.extensionRange = [];
for (var i3 = 0; i3 < object3.extensionRange.length; ++i3) {
if (typeof object3.extensionRange[i3] !== "object")
throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
message.extensionRange[i3] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object3.extensionRange[i3]);
}
}
if (object3.oneofDecl) {
if (!Array.isArray(object3.oneofDecl))
throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");
message.oneofDecl = [];
for (var i3 = 0; i3 < object3.oneofDecl.length; ++i3) {
if (typeof object3.oneofDecl[i3] !== "object")
throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
message.oneofDecl[i3] = $root.google.protobuf.OneofDescriptorProto.fromObject(object3.oneofDecl[i3]);
}
}
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
message.options = $root.google.protobuf.MessageOptions.fromObject(object3.options);
}
if (object3.reservedRange) {
if (!Array.isArray(object3.reservedRange))
throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");
message.reservedRange = [];
for (var i3 = 0; i3 < object3.reservedRange.length; ++i3) {
if (typeof object3.reservedRange[i3] !== "object")
throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
message.reservedRange[i3] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object3.reservedRange[i3]);
}
}
if (object3.reservedName) {
if (!Array.isArray(object3.reservedName))
throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");
message.reservedName = [];
for (var i3 = 0; i3 < object3.reservedName.length; ++i3)
message.reservedName[i3] = String(object3.reservedName[i3]);
}
return message;
};
DescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.field = [];
object3.nestedType = [];
object3.enumType = [];
object3.extensionRange = [];
object3.extension = [];
object3.oneofDecl = [];
object3.reservedRange = [];
object3.reservedName = [];
}
if (options.defaults) {
object3.name = "";
object3.options = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.field && message.field.length) {
object3.field = [];
for (var j = 0; j < message.field.length; ++j)
object3.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options);
}
if (message.nestedType && message.nestedType.length) {
object3.nestedType = [];
for (var j = 0; j < message.nestedType.length; ++j)
object3.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options);
}
if (message.enumType && message.enumType.length) {
object3.enumType = [];
for (var j = 0; j < message.enumType.length; ++j)
object3.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
}
if (message.extensionRange && message.extensionRange.length) {
object3.extensionRange = [];
for (var j = 0; j < message.extensionRange.length; ++j)
object3.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options);
}
if (message.extension && message.extension.length) {
object3.extension = [];
for (var j = 0; j < message.extension.length; ++j)
object3.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
}
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.MessageOptions.toObject(message.options, options);
if (message.oneofDecl && message.oneofDecl.length) {
object3.oneofDecl = [];
for (var j = 0; j < message.oneofDecl.length; ++j)
object3.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options);
}
if (message.reservedRange && message.reservedRange.length) {
object3.reservedRange = [];
for (var j = 0; j < message.reservedRange.length; ++j)
object3.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options);
}
if (message.reservedName && message.reservedName.length) {
object3.reservedName = [];
for (var j = 0; j < message.reservedName.length; ++j)
object3.reservedName[j] = message.reservedName[j];
}
return object3;
};
DescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.DescriptorProto";
};
DescriptorProto.ExtensionRange = function() {
function ExtensionRange(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExtensionRange.prototype.start = 0;
ExtensionRange.prototype.end = 0;
ExtensionRange.prototype.options = null;
ExtensionRange.create = function create(properties) {
return new ExtensionRange(properties);
};
ExtensionRange.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.start != null && Object.hasOwnProperty.call(message, "start"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.start);
if (message.end != null && Object.hasOwnProperty.call(message, "end"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.end);
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExtensionRange.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.start = reader.int32();
break;
}
case 2: {
message.end = reader.int32();
break;
}
case 3: {
message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExtensionRange.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExtensionRange.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.start != null && message.hasOwnProperty("start")) {
if (!$util.isInteger(message.start))
return "start: integer expected";
}
if (message.end != null && message.hasOwnProperty("end")) {
if (!$util.isInteger(message.end))
return "end: integer expected";
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.ExtensionRangeOptions.verify(message.options);
if (error40)
return "options." + error40;
}
return null;
};
ExtensionRange.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)
return object3;
var message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
if (object3.start != null)
message.start = object3.start | 0;
if (object3.end != null)
message.end = object3.end | 0;
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object3.options);
}
return message;
};
ExtensionRange.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.start = 0;
object3.end = 0;
object3.options = null;
}
if (message.start != null && message.hasOwnProperty("start"))
object3.start = message.start;
if (message.end != null && message.hasOwnProperty("end"))
object3.end = message.end;
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options);
return object3;
};
ExtensionRange.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange";
};
return ExtensionRange;
}();
DescriptorProto.ReservedRange = function() {
function ReservedRange(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ReservedRange.prototype.start = 0;
ReservedRange.prototype.end = 0;
ReservedRange.create = function create(properties) {
return new ReservedRange(properties);
};
ReservedRange.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.start != null && Object.hasOwnProperty.call(message, "start"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.start);
if (message.end != null && Object.hasOwnProperty.call(message, "end"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.end);
return writer;
};
ReservedRange.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ReservedRange.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.start = reader.int32();
break;
}
case 2: {
message.end = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ReservedRange.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ReservedRange.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.start != null && message.hasOwnProperty("start")) {
if (!$util.isInteger(message.start))
return "start: integer expected";
}
if (message.end != null && message.hasOwnProperty("end")) {
if (!$util.isInteger(message.end))
return "end: integer expected";
}
return null;
};
ReservedRange.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.DescriptorProto.ReservedRange)
return object3;
var message = new $root.google.protobuf.DescriptorProto.ReservedRange();
if (object3.start != null)
message.start = object3.start | 0;
if (object3.end != null)
message.end = object3.end | 0;
return message;
};
ReservedRange.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.start = 0;
object3.end = 0;
}
if (message.start != null && message.hasOwnProperty("start"))
object3.start = message.start;
if (message.end != null && message.hasOwnProperty("end"))
object3.end = message.end;
return object3;
};
ReservedRange.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange";
};
return ReservedRange;
}();
return DescriptorProto;
}();
protobuf.ExtensionRangeOptions = function() {
function ExtensionRangeOptions(properties) {
this.uninterpretedOption = [];
this.declaration = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray;
ExtensionRangeOptions.prototype.declaration = $util.emptyArray;
ExtensionRangeOptions.prototype.features = null;
ExtensionRangeOptions.prototype.verification = 1;
ExtensionRangeOptions.create = function create(properties) {
return new ExtensionRangeOptions(properties);
};
ExtensionRangeOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.declaration != null && message.declaration.length)
for (var i3 = 0; i3 < message.declaration.length; ++i3)
$root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.verification != null && Object.hasOwnProperty.call(message, "verification"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.verification);
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 50, wireType 2 =*/
402
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
return writer;
};
ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ExtensionRangeOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
case 2: {
if (!(message.declaration && message.declaration.length))
message.declaration = [];
message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32()));
break;
}
case 50: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 3: {
message.verification = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ExtensionRangeOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
if (message.declaration != null && message.hasOwnProperty("declaration")) {
if (!Array.isArray(message.declaration))
return "declaration: array expected";
for (var i3 = 0; i3 < message.declaration.length; ++i3) {
var error40 = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i3]);
if (error40)
return "declaration." + error40;
}
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.verification != null && message.hasOwnProperty("verification"))
switch (message.verification) {
default:
return "verification: enum value expected";
case 0:
case 1:
break;
}
return null;
};
ExtensionRangeOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.ExtensionRangeOptions)
return object3;
var message = new $root.google.protobuf.ExtensionRangeOptions();
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
if (object3.declaration) {
if (!Array.isArray(object3.declaration))
throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected");
message.declaration = [];
for (var i3 = 0; i3 < object3.declaration.length; ++i3) {
if (typeof object3.declaration[i3] !== "object")
throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected");
message.declaration[i3] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object3.declaration[i3]);
}
}
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
switch (object3.verification) {
case "DECLARATION":
case 0:
message.verification = 0;
break;
default:
if (typeof object3.verification === "number") {
message.verification = object3.verification;
break;
}
break;
case "UNVERIFIED":
case 1:
message.verification = 1;
break;
}
return message;
};
ExtensionRangeOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.declaration = [];
object3.uninterpretedOption = [];
}
if (options.defaults) {
object3.verification = options.enums === String ? "UNVERIFIED" : 1;
object3.features = null;
}
if (message.declaration && message.declaration.length) {
object3.declaration = [];
for (var j = 0; j < message.declaration.length; ++j)
object3.declaration[j] = $root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j], options);
}
if (message.verification != null && message.hasOwnProperty("verification"))
object3.verification = options.enums === String ? $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] === void 0 ? message.verification : $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] : message.verification;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
return object3;
};
ExtensionRangeOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions";
};
ExtensionRangeOptions.Declaration = function() {
function Declaration(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Declaration.prototype.number = 0;
Declaration.prototype.fullName = "";
Declaration.prototype.type = "";
Declaration.prototype.reserved = false;
Declaration.prototype.repeated = false;
Declaration.create = function create(properties) {
return new Declaration(properties);
};
Declaration.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.number != null && Object.hasOwnProperty.call(message, "number"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.number);
if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.fullName);
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.type);
if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).bool(message.reserved);
if (message.repeated != null && Object.hasOwnProperty.call(message, "repeated"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).bool(message.repeated);
return writer;
};
Declaration.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Declaration.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.number = reader.int32();
break;
}
case 2: {
message.fullName = reader.string();
break;
}
case 3: {
message.type = reader.string();
break;
}
case 5: {
message.reserved = reader.bool();
break;
}
case 6: {
message.repeated = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Declaration.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Declaration.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.number != null && message.hasOwnProperty("number")) {
if (!$util.isInteger(message.number))
return "number: integer expected";
}
if (message.fullName != null && message.hasOwnProperty("fullName")) {
if (!$util.isString(message.fullName))
return "fullName: string expected";
}
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.reserved != null && message.hasOwnProperty("reserved")) {
if (typeof message.reserved !== "boolean")
return "reserved: boolean expected";
}
if (message.repeated != null && message.hasOwnProperty("repeated")) {
if (typeof message.repeated !== "boolean")
return "repeated: boolean expected";
}
return null;
};
Declaration.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)
return object3;
var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
if (object3.number != null)
message.number = object3.number | 0;
if (object3.fullName != null)
message.fullName = String(object3.fullName);
if (object3.type != null)
message.type = String(object3.type);
if (object3.reserved != null)
message.reserved = Boolean(object3.reserved);
if (object3.repeated != null)
message.repeated = Boolean(object3.repeated);
return message;
};
Declaration.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.number = 0;
object3.fullName = "";
object3.type = "";
object3.reserved = false;
object3.repeated = false;
}
if (message.number != null && message.hasOwnProperty("number"))
object3.number = message.number;
if (message.fullName != null && message.hasOwnProperty("fullName"))
object3.fullName = message.fullName;
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
if (message.reserved != null && message.hasOwnProperty("reserved"))
object3.reserved = message.reserved;
if (message.repeated != null && message.hasOwnProperty("repeated"))
object3.repeated = message.repeated;
return object3;
};
Declaration.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Declaration.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions.Declaration";
};
return Declaration;
}();
ExtensionRangeOptions.VerificationState = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "DECLARATION"] = 0;
values[valuesById[1] = "UNVERIFIED"] = 1;
return values;
}();
return ExtensionRangeOptions;
}();
protobuf.FieldDescriptorProto = function() {
function FieldDescriptorProto(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FieldDescriptorProto.prototype.name = "";
FieldDescriptorProto.prototype.number = 0;
FieldDescriptorProto.prototype.label = 1;
FieldDescriptorProto.prototype.type = 1;
FieldDescriptorProto.prototype.typeName = "";
FieldDescriptorProto.prototype.extendee = "";
FieldDescriptorProto.prototype.defaultValue = "";
FieldDescriptorProto.prototype.oneofIndex = 0;
FieldDescriptorProto.prototype.jsonName = "";
FieldDescriptorProto.prototype.options = null;
FieldDescriptorProto.prototype.proto3Optional = false;
FieldDescriptorProto.create = function create(properties) {
return new FieldDescriptorProto(properties);
};
FieldDescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.extendee);
if (message.number != null && Object.hasOwnProperty.call(message, "number"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.number);
if (message.label != null && Object.hasOwnProperty.call(message, "label"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.label);
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).int32(message.type);
if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName"))
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.typeName);
if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).string(message.defaultValue);
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex"))
writer.uint32(
/* id 9, wireType 0 =*/
72
).int32(message.oneofIndex);
if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName"))
writer.uint32(
/* id 10, wireType 2 =*/
82
).string(message.jsonName);
if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional"))
writer.uint32(
/* id 17, wireType 0 =*/
136
).bool(message.proto3Optional);
return writer;
};
FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FieldDescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 3: {
message.number = reader.int32();
break;
}
case 4: {
message.label = reader.int32();
break;
}
case 5: {
message.type = reader.int32();
break;
}
case 6: {
message.typeName = reader.string();
break;
}
case 2: {
message.extendee = reader.string();
break;
}
case 7: {
message.defaultValue = reader.string();
break;
}
case 9: {
message.oneofIndex = reader.int32();
break;
}
case 10: {
message.jsonName = reader.string();
break;
}
case 8: {
message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32());
break;
}
case 17: {
message.proto3Optional = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FieldDescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.number != null && message.hasOwnProperty("number")) {
if (!$util.isInteger(message.number))
return "number: integer expected";
}
if (message.label != null && message.hasOwnProperty("label"))
switch (message.label) {
default:
return "label: enum value expected";
case 1:
case 3:
case 2:
break;
}
if (message.type != null && message.hasOwnProperty("type"))
switch (message.type) {
default:
return "type: enum value expected";
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
break;
}
if (message.typeName != null && message.hasOwnProperty("typeName")) {
if (!$util.isString(message.typeName))
return "typeName: string expected";
}
if (message.extendee != null && message.hasOwnProperty("extendee")) {
if (!$util.isString(message.extendee))
return "extendee: string expected";
}
if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) {
if (!$util.isString(message.defaultValue))
return "defaultValue: string expected";
}
if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) {
if (!$util.isInteger(message.oneofIndex))
return "oneofIndex: integer expected";
}
if (message.jsonName != null && message.hasOwnProperty("jsonName")) {
if (!$util.isString(message.jsonName))
return "jsonName: string expected";
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.FieldOptions.verify(message.options);
if (error40)
return "options." + error40;
}
if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) {
if (typeof message.proto3Optional !== "boolean")
return "proto3Optional: boolean expected";
}
return null;
};
FieldDescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FieldDescriptorProto)
return object3;
var message = new $root.google.protobuf.FieldDescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3.number != null)
message.number = object3.number | 0;
switch (object3.label) {
default:
if (typeof object3.label === "number") {
message.label = object3.label;
break;
}
break;
case "LABEL_OPTIONAL":
case 1:
message.label = 1;
break;
case "LABEL_REPEATED":
case 3:
message.label = 3;
break;
case "LABEL_REQUIRED":
case 2:
message.label = 2;
break;
}
switch (object3.type) {
default:
if (typeof object3.type === "number") {
message.type = object3.type;
break;
}
break;
case "TYPE_DOUBLE":
case 1:
message.type = 1;
break;
case "TYPE_FLOAT":
case 2:
message.type = 2;
break;
case "TYPE_INT64":
case 3:
message.type = 3;
break;
case "TYPE_UINT64":
case 4:
message.type = 4;
break;
case "TYPE_INT32":
case 5:
message.type = 5;
break;
case "TYPE_FIXED64":
case 6:
message.type = 6;
break;
case "TYPE_FIXED32":
case 7:
message.type = 7;
break;
case "TYPE_BOOL":
case 8:
message.type = 8;
break;
case "TYPE_STRING":
case 9:
message.type = 9;
break;
case "TYPE_GROUP":
case 10:
message.type = 10;
break;
case "TYPE_MESSAGE":
case 11:
message.type = 11;
break;
case "TYPE_BYTES":
case 12:
message.type = 12;
break;
case "TYPE_UINT32":
case 13:
message.type = 13;
break;
case "TYPE_ENUM":
case 14:
message.type = 14;
break;
case "TYPE_SFIXED32":
case 15:
message.type = 15;
break;
case "TYPE_SFIXED64":
case 16:
message.type = 16;
break;
case "TYPE_SINT32":
case 17:
message.type = 17;
break;
case "TYPE_SINT64":
case 18:
message.type = 18;
break;
}
if (object3.typeName != null)
message.typeName = String(object3.typeName);
if (object3.extendee != null)
message.extendee = String(object3.extendee);
if (object3.defaultValue != null)
message.defaultValue = String(object3.defaultValue);
if (object3.oneofIndex != null)
message.oneofIndex = object3.oneofIndex | 0;
if (object3.jsonName != null)
message.jsonName = String(object3.jsonName);
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
message.options = $root.google.protobuf.FieldOptions.fromObject(object3.options);
}
if (object3.proto3Optional != null)
message.proto3Optional = Boolean(object3.proto3Optional);
return message;
};
FieldDescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.extendee = "";
object3.number = 0;
object3.label = options.enums === String ? "LABEL_OPTIONAL" : 1;
object3.type = options.enums === String ? "TYPE_DOUBLE" : 1;
object3.typeName = "";
object3.defaultValue = "";
object3.options = null;
object3.oneofIndex = 0;
object3.jsonName = "";
object3.proto3Optional = false;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.extendee != null && message.hasOwnProperty("extendee"))
object3.extendee = message.extendee;
if (message.number != null && message.hasOwnProperty("number"))
object3.number = message.number;
if (message.label != null && message.hasOwnProperty("label"))
object3.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === void 0 ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label;
if (message.type != null && message.hasOwnProperty("type"))
object3.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === void 0 ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type;
if (message.typeName != null && message.hasOwnProperty("typeName"))
object3.typeName = message.typeName;
if (message.defaultValue != null && message.hasOwnProperty("defaultValue"))
object3.defaultValue = message.defaultValue;
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.FieldOptions.toObject(message.options, options);
if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex"))
object3.oneofIndex = message.oneofIndex;
if (message.jsonName != null && message.hasOwnProperty("jsonName"))
object3.jsonName = message.jsonName;
if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional"))
object3.proto3Optional = message.proto3Optional;
return object3;
};
FieldDescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto";
};
FieldDescriptorProto.Type = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[1] = "TYPE_DOUBLE"] = 1;
values[valuesById[2] = "TYPE_FLOAT"] = 2;
values[valuesById[3] = "TYPE_INT64"] = 3;
values[valuesById[4] = "TYPE_UINT64"] = 4;
values[valuesById[5] = "TYPE_INT32"] = 5;
values[valuesById[6] = "TYPE_FIXED64"] = 6;
values[valuesById[7] = "TYPE_FIXED32"] = 7;
values[valuesById[8] = "TYPE_BOOL"] = 8;
values[valuesById[9] = "TYPE_STRING"] = 9;
values[valuesById[10] = "TYPE_GROUP"] = 10;
values[valuesById[11] = "TYPE_MESSAGE"] = 11;
values[valuesById[12] = "TYPE_BYTES"] = 12;
values[valuesById[13] = "TYPE_UINT32"] = 13;
values[valuesById[14] = "TYPE_ENUM"] = 14;
values[valuesById[15] = "TYPE_SFIXED32"] = 15;
values[valuesById[16] = "TYPE_SFIXED64"] = 16;
values[valuesById[17] = "TYPE_SINT32"] = 17;
values[valuesById[18] = "TYPE_SINT64"] = 18;
return values;
}();
FieldDescriptorProto.Label = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[1] = "LABEL_OPTIONAL"] = 1;
values[valuesById[3] = "LABEL_REPEATED"] = 3;
values[valuesById[2] = "LABEL_REQUIRED"] = 2;
return values;
}();
return FieldDescriptorProto;
}();
protobuf.OneofDescriptorProto = function() {
function OneofDescriptorProto(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
OneofDescriptorProto.prototype.name = "";
OneofDescriptorProto.prototype.options = null;
OneofDescriptorProto.create = function create(properties) {
return new OneofDescriptorProto(properties);
};
OneofDescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
return writer;
};
OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
OneofDescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
OneofDescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.OneofOptions.verify(message.options);
if (error40)
return "options." + error40;
}
return null;
};
OneofDescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.OneofDescriptorProto)
return object3;
var message = new $root.google.protobuf.OneofDescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
message.options = $root.google.protobuf.OneofOptions.fromObject(object3.options);
}
return message;
};
OneofDescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.options = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.OneofOptions.toObject(message.options, options);
return object3;
};
OneofDescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto";
};
return OneofDescriptorProto;
}();
protobuf.EnumDescriptorProto = function() {
function EnumDescriptorProto(properties) {
this.value = [];
this.reservedRange = [];
this.reservedName = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
EnumDescriptorProto.prototype.name = "";
EnumDescriptorProto.prototype.value = $util.emptyArray;
EnumDescriptorProto.prototype.options = null;
EnumDescriptorProto.prototype.reservedRange = $util.emptyArray;
EnumDescriptorProto.prototype.reservedName = $util.emptyArray;
EnumDescriptorProto.create = function create(properties) {
return new EnumDescriptorProto(properties);
};
EnumDescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.value != null && message.value.length)
for (var i3 = 0; i3 < message.value.length; ++i3)
$root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
if (message.reservedRange != null && message.reservedRange.length)
for (var i3 = 0; i3 < message.reservedRange.length; ++i3)
$root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i3], writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.reservedName != null && message.reservedName.length)
for (var i3 = 0; i3 < message.reservedName.length; ++i3)
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.reservedName[i3]);
return writer;
};
EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
EnumDescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
if (!(message.value && message.value.length))
message.value = [];
message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 3: {
message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32());
break;
}
case 4: {
if (!(message.reservedRange && message.reservedRange.length))
message.reservedRange = [];
message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32()));
break;
}
case 5: {
if (!(message.reservedName && message.reservedName.length))
message.reservedName = [];
message.reservedName.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
EnumDescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.value != null && message.hasOwnProperty("value")) {
if (!Array.isArray(message.value))
return "value: array expected";
for (var i3 = 0; i3 < message.value.length; ++i3) {
var error40 = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i3]);
if (error40)
return "value." + error40;
}
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.EnumOptions.verify(message.options);
if (error40)
return "options." + error40;
}
if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) {
if (!Array.isArray(message.reservedRange))
return "reservedRange: array expected";
for (var i3 = 0; i3 < message.reservedRange.length; ++i3) {
var error40 = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i3]);
if (error40)
return "reservedRange." + error40;
}
}
if (message.reservedName != null && message.hasOwnProperty("reservedName")) {
if (!Array.isArray(message.reservedName))
return "reservedName: array expected";
for (var i3 = 0; i3 < message.reservedName.length; ++i3)
if (!$util.isString(message.reservedName[i3]))
return "reservedName: string[] expected";
}
return null;
};
EnumDescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.EnumDescriptorProto)
return object3;
var message = new $root.google.protobuf.EnumDescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3.value) {
if (!Array.isArray(object3.value))
throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");
message.value = [];
for (var i3 = 0; i3 < object3.value.length; ++i3) {
if (typeof object3.value[i3] !== "object")
throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");
message.value[i3] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object3.value[i3]);
}
}
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");
message.options = $root.google.protobuf.EnumOptions.fromObject(object3.options);
}
if (object3.reservedRange) {
if (!Array.isArray(object3.reservedRange))
throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");
message.reservedRange = [];
for (var i3 = 0; i3 < object3.reservedRange.length; ++i3) {
if (typeof object3.reservedRange[i3] !== "object")
throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");
message.reservedRange[i3] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object3.reservedRange[i3]);
}
}
if (object3.reservedName) {
if (!Array.isArray(object3.reservedName))
throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");
message.reservedName = [];
for (var i3 = 0; i3 < object3.reservedName.length; ++i3)
message.reservedName[i3] = String(object3.reservedName[i3]);
}
return message;
};
EnumDescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.value = [];
object3.reservedRange = [];
object3.reservedName = [];
}
if (options.defaults) {
object3.name = "";
object3.options = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.value && message.value.length) {
object3.value = [];
for (var j = 0; j < message.value.length; ++j)
object3.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options);
}
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.EnumOptions.toObject(message.options, options);
if (message.reservedRange && message.reservedRange.length) {
object3.reservedRange = [];
for (var j = 0; j < message.reservedRange.length; ++j)
object3.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options);
}
if (message.reservedName && message.reservedName.length) {
object3.reservedName = [];
for (var j = 0; j < message.reservedName.length; ++j)
object3.reservedName[j] = message.reservedName[j];
}
return object3;
};
EnumDescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto";
};
EnumDescriptorProto.EnumReservedRange = function() {
function EnumReservedRange(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
EnumReservedRange.prototype.start = 0;
EnumReservedRange.prototype.end = 0;
EnumReservedRange.create = function create(properties) {
return new EnumReservedRange(properties);
};
EnumReservedRange.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.start != null && Object.hasOwnProperty.call(message, "start"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.start);
if (message.end != null && Object.hasOwnProperty.call(message, "end"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.end);
return writer;
};
EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
EnumReservedRange.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.start = reader.int32();
break;
}
case 2: {
message.end = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
EnumReservedRange.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
EnumReservedRange.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.start != null && message.hasOwnProperty("start")) {
if (!$util.isInteger(message.start))
return "start: integer expected";
}
if (message.end != null && message.hasOwnProperty("end")) {
if (!$util.isInteger(message.end))
return "end: integer expected";
}
return null;
};
EnumReservedRange.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange)
return object3;
var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange();
if (object3.start != null)
message.start = object3.start | 0;
if (object3.end != null)
message.end = object3.end | 0;
return message;
};
EnumReservedRange.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.start = 0;
object3.end = 0;
}
if (message.start != null && message.hasOwnProperty("start"))
object3.start = message.start;
if (message.end != null && message.hasOwnProperty("end"))
object3.end = message.end;
return object3;
};
EnumReservedRange.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange";
};
return EnumReservedRange;
}();
return EnumDescriptorProto;
}();
protobuf.EnumValueDescriptorProto = function() {
function EnumValueDescriptorProto(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
EnumValueDescriptorProto.prototype.name = "";
EnumValueDescriptorProto.prototype.number = 0;
EnumValueDescriptorProto.prototype.options = null;
EnumValueDescriptorProto.create = function create(properties) {
return new EnumValueDescriptorProto(properties);
};
EnumValueDescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.number != null && Object.hasOwnProperty.call(message, "number"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.number);
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
EnumValueDescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.number = reader.int32();
break;
}
case 3: {
message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
EnumValueDescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.number != null && message.hasOwnProperty("number")) {
if (!$util.isInteger(message.number))
return "number: integer expected";
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.EnumValueOptions.verify(message.options);
if (error40)
return "options." + error40;
}
return null;
};
EnumValueDescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.EnumValueDescriptorProto)
return object3;
var message = new $root.google.protobuf.EnumValueDescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3.number != null)
message.number = object3.number | 0;
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");
message.options = $root.google.protobuf.EnumValueOptions.fromObject(object3.options);
}
return message;
};
EnumValueDescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.number = 0;
object3.options = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.number != null && message.hasOwnProperty("number"))
object3.number = message.number;
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options);
return object3;
};
EnumValueDescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto";
};
return EnumValueDescriptorProto;
}();
protobuf.ServiceDescriptorProto = function() {
function ServiceDescriptorProto(properties) {
this.method = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ServiceDescriptorProto.prototype.name = "";
ServiceDescriptorProto.prototype.method = $util.emptyArray;
ServiceDescriptorProto.prototype.options = null;
ServiceDescriptorProto.create = function create(properties) {
return new ServiceDescriptorProto(properties);
};
ServiceDescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.method != null && message.method.length)
for (var i3 = 0; i3 < message.method.length; ++i3)
$root.google.protobuf.MethodDescriptorProto.encode(message.method[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ServiceDescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
if (!(message.method && message.method.length))
message.method = [];
message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32()));
break;
}
case 3: {
message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ServiceDescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.method != null && message.hasOwnProperty("method")) {
if (!Array.isArray(message.method))
return "method: array expected";
for (var i3 = 0; i3 < message.method.length; ++i3) {
var error40 = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i3]);
if (error40)
return "method." + error40;
}
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.ServiceOptions.verify(message.options);
if (error40)
return "options." + error40;
}
return null;
};
ServiceDescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.ServiceDescriptorProto)
return object3;
var message = new $root.google.protobuf.ServiceDescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3.method) {
if (!Array.isArray(object3.method))
throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");
message.method = [];
for (var i3 = 0; i3 < object3.method.length; ++i3) {
if (typeof object3.method[i3] !== "object")
throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");
message.method[i3] = $root.google.protobuf.MethodDescriptorProto.fromObject(object3.method[i3]);
}
}
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");
message.options = $root.google.protobuf.ServiceOptions.fromObject(object3.options);
}
return message;
};
ServiceDescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.method = [];
if (options.defaults) {
object3.name = "";
object3.options = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.method && message.method.length) {
object3.method = [];
for (var j = 0; j < message.method.length; ++j)
object3.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options);
}
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options);
return object3;
};
ServiceDescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ServiceDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.ServiceDescriptorProto";
};
return ServiceDescriptorProto;
}();
protobuf.MethodDescriptorProto = function() {
function MethodDescriptorProto(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MethodDescriptorProto.prototype.name = "";
MethodDescriptorProto.prototype.inputType = "";
MethodDescriptorProto.prototype.outputType = "";
MethodDescriptorProto.prototype.options = null;
MethodDescriptorProto.prototype.clientStreaming = false;
MethodDescriptorProto.prototype.serverStreaming = false;
MethodDescriptorProto.create = function create(properties) {
return new MethodDescriptorProto(properties);
};
MethodDescriptorProto.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.inputType);
if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.outputType);
if (message.options != null && Object.hasOwnProperty.call(message, "options"))
$root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).bool(message.clientStreaming);
if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).bool(message.serverStreaming);
return writer;
};
MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MethodDescriptorProto.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.inputType = reader.string();
break;
}
case 3: {
message.outputType = reader.string();
break;
}
case 4: {
message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32());
break;
}
case 5: {
message.clientStreaming = reader.bool();
break;
}
case 6: {
message.serverStreaming = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MethodDescriptorProto.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.inputType != null && message.hasOwnProperty("inputType")) {
if (!$util.isString(message.inputType))
return "inputType: string expected";
}
if (message.outputType != null && message.hasOwnProperty("outputType")) {
if (!$util.isString(message.outputType))
return "outputType: string expected";
}
if (message.options != null && message.hasOwnProperty("options")) {
var error40 = $root.google.protobuf.MethodOptions.verify(message.options);
if (error40)
return "options." + error40;
}
if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) {
if (typeof message.clientStreaming !== "boolean")
return "clientStreaming: boolean expected";
}
if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) {
if (typeof message.serverStreaming !== "boolean")
return "serverStreaming: boolean expected";
}
return null;
};
MethodDescriptorProto.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.MethodDescriptorProto)
return object3;
var message = new $root.google.protobuf.MethodDescriptorProto();
if (object3.name != null)
message.name = String(object3.name);
if (object3.inputType != null)
message.inputType = String(object3.inputType);
if (object3.outputType != null)
message.outputType = String(object3.outputType);
if (object3.options != null) {
if (typeof object3.options !== "object")
throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");
message.options = $root.google.protobuf.MethodOptions.fromObject(object3.options);
}
if (object3.clientStreaming != null)
message.clientStreaming = Boolean(object3.clientStreaming);
if (object3.serverStreaming != null)
message.serverStreaming = Boolean(object3.serverStreaming);
return message;
};
MethodDescriptorProto.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.inputType = "";
object3.outputType = "";
object3.options = null;
object3.clientStreaming = false;
object3.serverStreaming = false;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.inputType != null && message.hasOwnProperty("inputType"))
object3.inputType = message.inputType;
if (message.outputType != null && message.hasOwnProperty("outputType"))
object3.outputType = message.outputType;
if (message.options != null && message.hasOwnProperty("options"))
object3.options = $root.google.protobuf.MethodOptions.toObject(message.options, options);
if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming"))
object3.clientStreaming = message.clientStreaming;
if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming"))
object3.serverStreaming = message.serverStreaming;
return object3;
};
MethodDescriptorProto.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MethodDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.MethodDescriptorProto";
};
return MethodDescriptorProto;
}();
protobuf.FileOptions = function() {
function FileOptions(properties) {
this.uninterpretedOption = [];
this[".google.api.resourceDefinition"] = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FileOptions.prototype.javaPackage = "";
FileOptions.prototype.javaOuterClassname = "";
FileOptions.prototype.javaMultipleFiles = false;
FileOptions.prototype.javaGenerateEqualsAndHash = false;
FileOptions.prototype.javaStringCheckUtf8 = false;
FileOptions.prototype.optimizeFor = 1;
FileOptions.prototype.goPackage = "";
FileOptions.prototype.ccGenericServices = false;
FileOptions.prototype.javaGenericServices = false;
FileOptions.prototype.pyGenericServices = false;
FileOptions.prototype.deprecated = false;
FileOptions.prototype.ccEnableArenas = true;
FileOptions.prototype.objcClassPrefix = "";
FileOptions.prototype.csharpNamespace = "";
FileOptions.prototype.swiftPrefix = "";
FileOptions.prototype.phpClassPrefix = "";
FileOptions.prototype.phpNamespace = "";
FileOptions.prototype.phpMetadataNamespace = "";
FileOptions.prototype.rubyPackage = "";
FileOptions.prototype.features = null;
FileOptions.prototype.uninterpretedOption = $util.emptyArray;
FileOptions.prototype[".google.api.resourceDefinition"] = $util.emptyArray;
FileOptions.create = function create(properties) {
return new FileOptions(properties);
};
FileOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.javaPackage);
if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname"))
writer.uint32(
/* id 8, wireType 2 =*/
66
).string(message.javaOuterClassname);
if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor"))
writer.uint32(
/* id 9, wireType 0 =*/
72
).int32(message.optimizeFor);
if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles"))
writer.uint32(
/* id 10, wireType 0 =*/
80
).bool(message.javaMultipleFiles);
if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage"))
writer.uint32(
/* id 11, wireType 2 =*/
90
).string(message.goPackage);
if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices"))
writer.uint32(
/* id 16, wireType 0 =*/
128
).bool(message.ccGenericServices);
if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices"))
writer.uint32(
/* id 17, wireType 0 =*/
136
).bool(message.javaGenericServices);
if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices"))
writer.uint32(
/* id 18, wireType 0 =*/
144
).bool(message.pyGenericServices);
if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash"))
writer.uint32(
/* id 20, wireType 0 =*/
160
).bool(message.javaGenerateEqualsAndHash);
if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
writer.uint32(
/* id 23, wireType 0 =*/
184
).bool(message.deprecated);
if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8"))
writer.uint32(
/* id 27, wireType 0 =*/
216
).bool(message.javaStringCheckUtf8);
if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas"))
writer.uint32(
/* id 31, wireType 0 =*/
248
).bool(message.ccEnableArenas);
if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix"))
writer.uint32(
/* id 36, wireType 2 =*/
290
).string(message.objcClassPrefix);
if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace"))
writer.uint32(
/* id 37, wireType 2 =*/
298
).string(message.csharpNamespace);
if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix"))
writer.uint32(
/* id 39, wireType 2 =*/
314
).string(message.swiftPrefix);
if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix"))
writer.uint32(
/* id 40, wireType 2 =*/
322
).string(message.phpClassPrefix);
if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace"))
writer.uint32(
/* id 41, wireType 2 =*/
330
).string(message.phpNamespace);
if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace"))
writer.uint32(
/* id 44, wireType 2 =*/
354
).string(message.phpMetadataNamespace);
if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage"))
writer.uint32(
/* id 45, wireType 2 =*/
362
).string(message.rubyPackage);
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 50, wireType 2 =*/
402
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
if (message[".google.api.resourceDefinition"] != null && message[".google.api.resourceDefinition"].length)
for (var i3 = 0; i3 < message[".google.api.resourceDefinition"].length; ++i3)
$root.google.api.ResourceDescriptor.encode(message[".google.api.resourceDefinition"][i3], writer.uint32(
/* id 1053, wireType 2 =*/
8426
).fork()).ldelim();
return writer;
};
FileOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FileOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.javaPackage = reader.string();
break;
}
case 8: {
message.javaOuterClassname = reader.string();
break;
}
case 10: {
message.javaMultipleFiles = reader.bool();
break;
}
case 20: {
message.javaGenerateEqualsAndHash = reader.bool();
break;
}
case 27: {
message.javaStringCheckUtf8 = reader.bool();
break;
}
case 9: {
message.optimizeFor = reader.int32();
break;
}
case 11: {
message.goPackage = reader.string();
break;
}
case 16: {
message.ccGenericServices = reader.bool();
break;
}
case 17: {
message.javaGenericServices = reader.bool();
break;
}
case 18: {
message.pyGenericServices = reader.bool();
break;
}
case 23: {
message.deprecated = reader.bool();
break;
}
case 31: {
message.ccEnableArenas = reader.bool();
break;
}
case 36: {
message.objcClassPrefix = reader.string();
break;
}
case 37: {
message.csharpNamespace = reader.string();
break;
}
case 39: {
message.swiftPrefix = reader.string();
break;
}
case 40: {
message.phpClassPrefix = reader.string();
break;
}
case 41: {
message.phpNamespace = reader.string();
break;
}
case 44: {
message.phpMetadataNamespace = reader.string();
break;
}
case 45: {
message.rubyPackage = reader.string();
break;
}
case 50: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
case 1053: {
if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length))
message[".google.api.resourceDefinition"] = [];
message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FileOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FileOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) {
if (!$util.isString(message.javaPackage))
return "javaPackage: string expected";
}
if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) {
if (!$util.isString(message.javaOuterClassname))
return "javaOuterClassname: string expected";
}
if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) {
if (typeof message.javaMultipleFiles !== "boolean")
return "javaMultipleFiles: boolean expected";
}
if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) {
if (typeof message.javaGenerateEqualsAndHash !== "boolean")
return "javaGenerateEqualsAndHash: boolean expected";
}
if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) {
if (typeof message.javaStringCheckUtf8 !== "boolean")
return "javaStringCheckUtf8: boolean expected";
}
if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor"))
switch (message.optimizeFor) {
default:
return "optimizeFor: enum value expected";
case 1:
case 2:
case 3:
break;
}
if (message.goPackage != null && message.hasOwnProperty("goPackage")) {
if (!$util.isString(message.goPackage))
return "goPackage: string expected";
}
if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) {
if (typeof message.ccGenericServices !== "boolean")
return "ccGenericServices: boolean expected";
}
if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) {
if (typeof message.javaGenericServices !== "boolean")
return "javaGenericServices: boolean expected";
}
if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) {
if (typeof message.pyGenericServices !== "boolean")
return "pyGenericServices: boolean expected";
}
if (message.deprecated != null && message.hasOwnProperty("deprecated")) {
if (typeof message.deprecated !== "boolean")
return "deprecated: boolean expected";
}
if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) {
if (typeof message.ccEnableArenas !== "boolean")
return "ccEnableArenas: boolean expected";
}
if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) {
if (!$util.isString(message.objcClassPrefix))
return "objcClassPrefix: string expected";
}
if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) {
if (!$util.isString(message.csharpNamespace))
return "csharpNamespace: string expected";
}
if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) {
if (!$util.isString(message.swiftPrefix))
return "swiftPrefix: string expected";
}
if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) {
if (!$util.isString(message.phpClassPrefix))
return "phpClassPrefix: string expected";
}
if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) {
if (!$util.isString(message.phpNamespace))
return "phpNamespace: string expected";
}
if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) {
if (!$util.isString(message.phpMetadataNamespace))
return "phpMetadataNamespace: string expected";
}
if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) {
if (!$util.isString(message.rubyPackage))
return "rubyPackage: string expected";
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
if (message[".google.api.resourceDefinition"] != null && message.hasOwnProperty(".google.api.resourceDefinition")) {
if (!Array.isArray(message[".google.api.resourceDefinition"]))
return ".google.api.resourceDefinition: array expected";
for (var i3 = 0; i3 < message[".google.api.resourceDefinition"].length; ++i3) {
var error40 = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i3]);
if (error40)
return ".google.api.resourceDefinition." + error40;
}
}
return null;
};
FileOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FileOptions)
return object3;
var message = new $root.google.protobuf.FileOptions();
if (object3.javaPackage != null)
message.javaPackage = String(object3.javaPackage);
if (object3.javaOuterClassname != null)
message.javaOuterClassname = String(object3.javaOuterClassname);
if (object3.javaMultipleFiles != null)
message.javaMultipleFiles = Boolean(object3.javaMultipleFiles);
if (object3.javaGenerateEqualsAndHash != null)
message.javaGenerateEqualsAndHash = Boolean(object3.javaGenerateEqualsAndHash);
if (object3.javaStringCheckUtf8 != null)
message.javaStringCheckUtf8 = Boolean(object3.javaStringCheckUtf8);
switch (object3.optimizeFor) {
default:
if (typeof object3.optimizeFor === "number") {
message.optimizeFor = object3.optimizeFor;
break;
}
break;
case "SPEED":
case 1:
message.optimizeFor = 1;
break;
case "CODE_SIZE":
case 2:
message.optimizeFor = 2;
break;
case "LITE_RUNTIME":
case 3:
message.optimizeFor = 3;
break;
}
if (object3.goPackage != null)
message.goPackage = String(object3.goPackage);
if (object3.ccGenericServices != null)
message.ccGenericServices = Boolean(object3.ccGenericServices);
if (object3.javaGenericServices != null)
message.javaGenericServices = Boolean(object3.javaGenericServices);
if (object3.pyGenericServices != null)
message.pyGenericServices = Boolean(object3.pyGenericServices);
if (object3.deprecated != null)
message.deprecated = Boolean(object3.deprecated);
if (object3.ccEnableArenas != null)
message.ccEnableArenas = Boolean(object3.ccEnableArenas);
if (object3.objcClassPrefix != null)
message.objcClassPrefix = String(object3.objcClassPrefix);
if (object3.csharpNamespace != null)
message.csharpNamespace = String(object3.csharpNamespace);
if (object3.swiftPrefix != null)
message.swiftPrefix = String(object3.swiftPrefix);
if (object3.phpClassPrefix != null)
message.phpClassPrefix = String(object3.phpClassPrefix);
if (object3.phpNamespace != null)
message.phpNamespace = String(object3.phpNamespace);
if (object3.phpMetadataNamespace != null)
message.phpMetadataNamespace = String(object3.phpMetadataNamespace);
if (object3.rubyPackage != null)
message.rubyPackage = String(object3.rubyPackage);
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.FileOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
if (object3[".google.api.resourceDefinition"]) {
if (!Array.isArray(object3[".google.api.resourceDefinition"]))
throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected");
message[".google.api.resourceDefinition"] = [];
for (var i3 = 0; i3 < object3[".google.api.resourceDefinition"].length; ++i3) {
if (typeof object3[".google.api.resourceDefinition"][i3] !== "object")
throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected");
message[".google.api.resourceDefinition"][i3] = $root.google.api.ResourceDescriptor.fromObject(object3[".google.api.resourceDefinition"][i3]);
}
}
return message;
};
FileOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.uninterpretedOption = [];
object3[".google.api.resourceDefinition"] = [];
}
if (options.defaults) {
object3.javaPackage = "";
object3.javaOuterClassname = "";
object3.optimizeFor = options.enums === String ? "SPEED" : 1;
object3.javaMultipleFiles = false;
object3.goPackage = "";
object3.ccGenericServices = false;
object3.javaGenericServices = false;
object3.pyGenericServices = false;
object3.javaGenerateEqualsAndHash = false;
object3.deprecated = false;
object3.javaStringCheckUtf8 = false;
object3.ccEnableArenas = true;
object3.objcClassPrefix = "";
object3.csharpNamespace = "";
object3.swiftPrefix = "";
object3.phpClassPrefix = "";
object3.phpNamespace = "";
object3.phpMetadataNamespace = "";
object3.rubyPackage = "";
object3.features = null;
}
if (message.javaPackage != null && message.hasOwnProperty("javaPackage"))
object3.javaPackage = message.javaPackage;
if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname"))
object3.javaOuterClassname = message.javaOuterClassname;
if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor"))
object3.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === void 0 ? message.optimizeFor : $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor;
if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles"))
object3.javaMultipleFiles = message.javaMultipleFiles;
if (message.goPackage != null && message.hasOwnProperty("goPackage"))
object3.goPackage = message.goPackage;
if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices"))
object3.ccGenericServices = message.ccGenericServices;
if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices"))
object3.javaGenericServices = message.javaGenericServices;
if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices"))
object3.pyGenericServices = message.pyGenericServices;
if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash"))
object3.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash;
if (message.deprecated != null && message.hasOwnProperty("deprecated"))
object3.deprecated = message.deprecated;
if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8"))
object3.javaStringCheckUtf8 = message.javaStringCheckUtf8;
if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas"))
object3.ccEnableArenas = message.ccEnableArenas;
if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix"))
object3.objcClassPrefix = message.objcClassPrefix;
if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace"))
object3.csharpNamespace = message.csharpNamespace;
if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix"))
object3.swiftPrefix = message.swiftPrefix;
if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix"))
object3.phpClassPrefix = message.phpClassPrefix;
if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace"))
object3.phpNamespace = message.phpNamespace;
if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace"))
object3.phpMetadataNamespace = message.phpMetadataNamespace;
if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage"))
object3.rubyPackage = message.rubyPackage;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
if (message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length) {
object3[".google.api.resourceDefinition"] = [];
for (var j = 0; j < message[".google.api.resourceDefinition"].length; ++j)
object3[".google.api.resourceDefinition"][j] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resourceDefinition"][j], options);
}
return object3;
};
FileOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FileOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FileOptions";
};
FileOptions.OptimizeMode = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[1] = "SPEED"] = 1;
values[valuesById[2] = "CODE_SIZE"] = 2;
values[valuesById[3] = "LITE_RUNTIME"] = 3;
return values;
}();
return FileOptions;
}();
protobuf.MessageOptions = function() {
function MessageOptions(properties) {
this.uninterpretedOption = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MessageOptions.prototype.messageSetWireFormat = false;
MessageOptions.prototype.noStandardDescriptorAccessor = false;
MessageOptions.prototype.deprecated = false;
MessageOptions.prototype.mapEntry = false;
MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
MessageOptions.prototype.features = null;
MessageOptions.prototype.uninterpretedOption = $util.emptyArray;
MessageOptions.prototype[".google.api.resource"] = null;
MessageOptions.create = function create(properties) {
return new MessageOptions(properties);
};
MessageOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).bool(message.messageSetWireFormat);
if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).bool(message.noStandardDescriptorAccessor);
if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.deprecated);
if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry"))
writer.uint32(
/* id 7, wireType 0 =*/
56
).bool(message.mapEntry);
if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
writer.uint32(
/* id 11, wireType 0 =*/
88
).bool(message.deprecatedLegacyJsonFieldConflicts);
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 12, wireType 2 =*/
98
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource"))
$root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(
/* id 1053, wireType 2 =*/
8426
).fork()).ldelim();
return writer;
};
MessageOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MessageOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.messageSetWireFormat = reader.bool();
break;
}
case 2: {
message.noStandardDescriptorAccessor = reader.bool();
break;
}
case 3: {
message.deprecated = reader.bool();
break;
}
case 7: {
message.mapEntry = reader.bool();
break;
}
case 11: {
message.deprecatedLegacyJsonFieldConflicts = reader.bool();
break;
}
case 12: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
case 1053: {
message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MessageOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MessageOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) {
if (typeof message.messageSetWireFormat !== "boolean")
return "messageSetWireFormat: boolean expected";
}
if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) {
if (typeof message.noStandardDescriptorAccessor !== "boolean")
return "noStandardDescriptorAccessor: boolean expected";
}
if (message.deprecated != null && message.hasOwnProperty("deprecated")) {
if (typeof message.deprecated !== "boolean")
return "deprecated: boolean expected";
}
if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) {
if (typeof message.mapEntry !== "boolean")
return "mapEntry: boolean expected";
}
if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) {
if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
return "deprecatedLegacyJsonFieldConflicts: boolean expected";
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) {
var error40 = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]);
if (error40)
return ".google.api.resource." + error40;
}
return null;
};
MessageOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.MessageOptions)
return object3;
var message = new $root.google.protobuf.MessageOptions();
if (object3.messageSetWireFormat != null)
message.messageSetWireFormat = Boolean(object3.messageSetWireFormat);
if (object3.noStandardDescriptorAccessor != null)
message.noStandardDescriptorAccessor = Boolean(object3.noStandardDescriptorAccessor);
if (object3.deprecated != null)
message.deprecated = Boolean(object3.deprecated);
if (object3.mapEntry != null)
message.mapEntry = Boolean(object3.mapEntry);
if (object3.deprecatedLegacyJsonFieldConflicts != null)
message.deprecatedLegacyJsonFieldConflicts = Boolean(object3.deprecatedLegacyJsonFieldConflicts);
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.MessageOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
if (object3[".google.api.resource"] != null) {
if (typeof object3[".google.api.resource"] !== "object")
throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected");
message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object3[".google.api.resource"]);
}
return message;
};
MessageOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.uninterpretedOption = [];
if (options.defaults) {
object3.messageSetWireFormat = false;
object3.noStandardDescriptorAccessor = false;
object3.deprecated = false;
object3.mapEntry = false;
object3.deprecatedLegacyJsonFieldConflicts = false;
object3.features = null;
object3[".google.api.resource"] = null;
}
if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat"))
object3.messageSetWireFormat = message.messageSetWireFormat;
if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor"))
object3.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor;
if (message.deprecated != null && message.hasOwnProperty("deprecated"))
object3.deprecated = message.deprecated;
if (message.mapEntry != null && message.hasOwnProperty("mapEntry"))
object3.mapEntry = message.mapEntry;
if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
object3.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource"))
object3[".google.api.resource"] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resource"], options);
return object3;
};
MessageOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MessageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.MessageOptions";
};
return MessageOptions;
}();
protobuf.FieldOptions = function() {
function FieldOptions(properties) {
this.targets = [];
this.editionDefaults = [];
this.uninterpretedOption = [];
this[".google.api.fieldBehavior"] = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FieldOptions.prototype.ctype = 0;
FieldOptions.prototype.packed = false;
FieldOptions.prototype.jstype = 0;
FieldOptions.prototype.lazy = false;
FieldOptions.prototype.unverifiedLazy = false;
FieldOptions.prototype.deprecated = false;
FieldOptions.prototype.weak = false;
FieldOptions.prototype.debugRedact = false;
FieldOptions.prototype.retention = 0;
FieldOptions.prototype.targets = $util.emptyArray;
FieldOptions.prototype.editionDefaults = $util.emptyArray;
FieldOptions.prototype.features = null;
FieldOptions.prototype.uninterpretedOption = $util.emptyArray;
FieldOptions.prototype[".google.api.fieldBehavior"] = $util.emptyArray;
FieldOptions.prototype[".google.api.resourceReference"] = null;
FieldOptions.create = function create(properties) {
return new FieldOptions(properties);
};
FieldOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.ctype);
if (message.packed != null && Object.hasOwnProperty.call(message, "packed"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).bool(message.packed);
if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.deprecated);
if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).bool(message.lazy);
if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).int32(message.jstype);
if (message.weak != null && Object.hasOwnProperty.call(message, "weak"))
writer.uint32(
/* id 10, wireType 0 =*/
80
).bool(message.weak);
if (message.unverifiedLazy != null && Object.hasOwnProperty.call(message, "unverifiedLazy"))
writer.uint32(
/* id 15, wireType 0 =*/
120
).bool(message.unverifiedLazy);
if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact"))
writer.uint32(
/* id 16, wireType 0 =*/
128
).bool(message.debugRedact);
if (message.retention != null && Object.hasOwnProperty.call(message, "retention"))
writer.uint32(
/* id 17, wireType 0 =*/
136
).int32(message.retention);
if (message.targets != null && message.targets.length)
for (var i3 = 0; i3 < message.targets.length; ++i3)
writer.uint32(
/* id 19, wireType 0 =*/
152
).int32(message.targets[i3]);
if (message.editionDefaults != null && message.editionDefaults.length)
for (var i3 = 0; i3 < message.editionDefaults.length; ++i3)
$root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i3], writer.uint32(
/* id 20, wireType 2 =*/
162
).fork()).ldelim();
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 21, wireType 2 =*/
170
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
if (message[".google.api.fieldBehavior"] != null && message[".google.api.fieldBehavior"].length)
for (var i3 = 0; i3 < message[".google.api.fieldBehavior"].length; ++i3)
writer.uint32(
/* id 1052, wireType 0 =*/
8416
).int32(message[".google.api.fieldBehavior"][i3]);
if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference"))
$root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(
/* id 1055, wireType 2 =*/
8442
).fork()).ldelim();
return writer;
};
FieldOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FieldOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.ctype = reader.int32();
break;
}
case 2: {
message.packed = reader.bool();
break;
}
case 6: {
message.jstype = reader.int32();
break;
}
case 5: {
message.lazy = reader.bool();
break;
}
case 15: {
message.unverifiedLazy = reader.bool();
break;
}
case 3: {
message.deprecated = reader.bool();
break;
}
case 10: {
message.weak = reader.bool();
break;
}
case 16: {
message.debugRedact = reader.bool();
break;
}
case 17: {
message.retention = reader.int32();
break;
}
case 19: {
if (!(message.targets && message.targets.length))
message.targets = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.targets.push(reader.int32());
} else
message.targets.push(reader.int32());
break;
}
case 20: {
if (!(message.editionDefaults && message.editionDefaults.length))
message.editionDefaults = [];
message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32()));
break;
}
case 21: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
case 1052: {
if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length))
message[".google.api.fieldBehavior"] = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message[".google.api.fieldBehavior"].push(reader.int32());
} else
message[".google.api.fieldBehavior"].push(reader.int32());
break;
}
case 1055: {
message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FieldOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FieldOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.ctype != null && message.hasOwnProperty("ctype"))
switch (message.ctype) {
default:
return "ctype: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.packed != null && message.hasOwnProperty("packed")) {
if (typeof message.packed !== "boolean")
return "packed: boolean expected";
}
if (message.jstype != null && message.hasOwnProperty("jstype"))
switch (message.jstype) {
default:
return "jstype: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.lazy != null && message.hasOwnProperty("lazy")) {
if (typeof message.lazy !== "boolean")
return "lazy: boolean expected";
}
if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) {
if (typeof message.unverifiedLazy !== "boolean")
return "unverifiedLazy: boolean expected";
}
if (message.deprecated != null && message.hasOwnProperty("deprecated")) {
if (typeof message.deprecated !== "boolean")
return "deprecated: boolean expected";
}
if (message.weak != null && message.hasOwnProperty("weak")) {
if (typeof message.weak !== "boolean")
return "weak: boolean expected";
}
if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) {
if (typeof message.debugRedact !== "boolean")
return "debugRedact: boolean expected";
}
if (message.retention != null && message.hasOwnProperty("retention"))
switch (message.retention) {
default:
return "retention: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.targets != null && message.hasOwnProperty("targets")) {
if (!Array.isArray(message.targets))
return "targets: array expected";
for (var i3 = 0; i3 < message.targets.length; ++i3)
switch (message.targets[i3]) {
default:
return "targets: enum value[] expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
break;
}
}
if (message.editionDefaults != null && message.hasOwnProperty("editionDefaults")) {
if (!Array.isArray(message.editionDefaults))
return "editionDefaults: array expected";
for (var i3 = 0; i3 < message.editionDefaults.length; ++i3) {
var error40 = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i3]);
if (error40)
return "editionDefaults." + error40;
}
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
if (message[".google.api.fieldBehavior"] != null && message.hasOwnProperty(".google.api.fieldBehavior")) {
if (!Array.isArray(message[".google.api.fieldBehavior"]))
return ".google.api.fieldBehavior: array expected";
for (var i3 = 0; i3 < message[".google.api.fieldBehavior"].length; ++i3)
switch (message[".google.api.fieldBehavior"][i3]) {
default:
return ".google.api.fieldBehavior: enum value[] expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
break;
}
}
if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) {
var error40 = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]);
if (error40)
return ".google.api.resourceReference." + error40;
}
return null;
};
FieldOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FieldOptions)
return object3;
var message = new $root.google.protobuf.FieldOptions();
switch (object3.ctype) {
default:
if (typeof object3.ctype === "number") {
message.ctype = object3.ctype;
break;
}
break;
case "STRING":
case 0:
message.ctype = 0;
break;
case "CORD":
case 1:
message.ctype = 1;
break;
case "STRING_PIECE":
case 2:
message.ctype = 2;
break;
}
if (object3.packed != null)
message.packed = Boolean(object3.packed);
switch (object3.jstype) {
default:
if (typeof object3.jstype === "number") {
message.jstype = object3.jstype;
break;
}
break;
case "JS_NORMAL":
case 0:
message.jstype = 0;
break;
case "JS_STRING":
case 1:
message.jstype = 1;
break;
case "JS_NUMBER":
case 2:
message.jstype = 2;
break;
}
if (object3.lazy != null)
message.lazy = Boolean(object3.lazy);
if (object3.unverifiedLazy != null)
message.unverifiedLazy = Boolean(object3.unverifiedLazy);
if (object3.deprecated != null)
message.deprecated = Boolean(object3.deprecated);
if (object3.weak != null)
message.weak = Boolean(object3.weak);
if (object3.debugRedact != null)
message.debugRedact = Boolean(object3.debugRedact);
switch (object3.retention) {
default:
if (typeof object3.retention === "number") {
message.retention = object3.retention;
break;
}
break;
case "RETENTION_UNKNOWN":
case 0:
message.retention = 0;
break;
case "RETENTION_RUNTIME":
case 1:
message.retention = 1;
break;
case "RETENTION_SOURCE":
case 2:
message.retention = 2;
break;
}
if (object3.targets) {
if (!Array.isArray(object3.targets))
throw TypeError(".google.protobuf.FieldOptions.targets: array expected");
message.targets = [];
for (var i3 = 0; i3 < object3.targets.length; ++i3)
switch (object3.targets[i3]) {
default:
if (typeof object3.targets[i3] === "number") {
message.targets[i3] = object3.targets[i3];
break;
}
case "TARGET_TYPE_UNKNOWN":
case 0:
message.targets[i3] = 0;
break;
case "TARGET_TYPE_FILE":
case 1:
message.targets[i3] = 1;
break;
case "TARGET_TYPE_EXTENSION_RANGE":
case 2:
message.targets[i3] = 2;
break;
case "TARGET_TYPE_MESSAGE":
case 3:
message.targets[i3] = 3;
break;
case "TARGET_TYPE_FIELD":
case 4:
message.targets[i3] = 4;
break;
case "TARGET_TYPE_ONEOF":
case 5:
message.targets[i3] = 5;
break;
case "TARGET_TYPE_ENUM":
case 6:
message.targets[i3] = 6;
break;
case "TARGET_TYPE_ENUM_ENTRY":
case 7:
message.targets[i3] = 7;
break;
case "TARGET_TYPE_SERVICE":
case 8:
message.targets[i3] = 8;
break;
case "TARGET_TYPE_METHOD":
case 9:
message.targets[i3] = 9;
break;
}
}
if (object3.editionDefaults) {
if (!Array.isArray(object3.editionDefaults))
throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected");
message.editionDefaults = [];
for (var i3 = 0; i3 < object3.editionDefaults.length; ++i3) {
if (typeof object3.editionDefaults[i3] !== "object")
throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected");
message.editionDefaults[i3] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object3.editionDefaults[i3]);
}
}
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.FieldOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
if (object3[".google.api.fieldBehavior"]) {
if (!Array.isArray(object3[".google.api.fieldBehavior"]))
throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected");
message[".google.api.fieldBehavior"] = [];
for (var i3 = 0; i3 < object3[".google.api.fieldBehavior"].length; ++i3)
switch (object3[".google.api.fieldBehavior"][i3]) {
default:
if (typeof object3[".google.api.fieldBehavior"][i3] === "number") {
message[".google.api.fieldBehavior"][i3] = object3[".google.api.fieldBehavior"][i3];
break;
}
case "FIELD_BEHAVIOR_UNSPECIFIED":
case 0:
message[".google.api.fieldBehavior"][i3] = 0;
break;
case "OPTIONAL":
case 1:
message[".google.api.fieldBehavior"][i3] = 1;
break;
case "REQUIRED":
case 2:
message[".google.api.fieldBehavior"][i3] = 2;
break;
case "OUTPUT_ONLY":
case 3:
message[".google.api.fieldBehavior"][i3] = 3;
break;
case "INPUT_ONLY":
case 4:
message[".google.api.fieldBehavior"][i3] = 4;
break;
case "IMMUTABLE":
case 5:
message[".google.api.fieldBehavior"][i3] = 5;
break;
case "UNORDERED_LIST":
case 6:
message[".google.api.fieldBehavior"][i3] = 6;
break;
case "NON_EMPTY_DEFAULT":
case 7:
message[".google.api.fieldBehavior"][i3] = 7;
break;
case "IDENTIFIER":
case 8:
message[".google.api.fieldBehavior"][i3] = 8;
break;
}
}
if (object3[".google.api.resourceReference"] != null) {
if (typeof object3[".google.api.resourceReference"] !== "object")
throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected");
message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object3[".google.api.resourceReference"]);
}
return message;
};
FieldOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.targets = [];
object3.editionDefaults = [];
object3.uninterpretedOption = [];
object3[".google.api.fieldBehavior"] = [];
}
if (options.defaults) {
object3.ctype = options.enums === String ? "STRING" : 0;
object3.packed = false;
object3.deprecated = false;
object3.lazy = false;
object3.jstype = options.enums === String ? "JS_NORMAL" : 0;
object3.weak = false;
object3.unverifiedLazy = false;
object3.debugRedact = false;
object3.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0;
object3.features = null;
object3[".google.api.resourceReference"] = null;
}
if (message.ctype != null && message.hasOwnProperty("ctype"))
object3.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === void 0 ? message.ctype : $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype;
if (message.packed != null && message.hasOwnProperty("packed"))
object3.packed = message.packed;
if (message.deprecated != null && message.hasOwnProperty("deprecated"))
object3.deprecated = message.deprecated;
if (message.lazy != null && message.hasOwnProperty("lazy"))
object3.lazy = message.lazy;
if (message.jstype != null && message.hasOwnProperty("jstype"))
object3.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] === void 0 ? message.jstype : $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype;
if (message.weak != null && message.hasOwnProperty("weak"))
object3.weak = message.weak;
if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy"))
object3.unverifiedLazy = message.unverifiedLazy;
if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
object3.debugRedact = message.debugRedact;
if (message.retention != null && message.hasOwnProperty("retention"))
object3.retention = options.enums === String ? $root.google.protobuf.FieldOptions.OptionRetention[message.retention] === void 0 ? message.retention : $root.google.protobuf.FieldOptions.OptionRetention[message.retention] : message.retention;
if (message.targets && message.targets.length) {
object3.targets = [];
for (var j = 0; j < message.targets.length; ++j)
object3.targets[j] = options.enums === String ? $root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]] === void 0 ? message.targets[j] : $root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]] : message.targets[j];
}
if (message.editionDefaults && message.editionDefaults.length) {
object3.editionDefaults = [];
for (var j = 0; j < message.editionDefaults.length; ++j)
object3.editionDefaults[j] = $root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j], options);
}
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) {
object3[".google.api.fieldBehavior"] = [];
for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j)
object3[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] === void 0 ? message[".google.api.fieldBehavior"][j] : $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j];
}
if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference"))
object3[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options);
return object3;
};
FieldOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FieldOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FieldOptions";
};
FieldOptions.CType = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "STRING"] = 0;
values[valuesById[1] = "CORD"] = 1;
values[valuesById[2] = "STRING_PIECE"] = 2;
return values;
}();
FieldOptions.JSType = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "JS_NORMAL"] = 0;
values[valuesById[1] = "JS_STRING"] = 1;
values[valuesById[2] = "JS_NUMBER"] = 2;
return values;
}();
FieldOptions.OptionRetention = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "RETENTION_UNKNOWN"] = 0;
values[valuesById[1] = "RETENTION_RUNTIME"] = 1;
values[valuesById[2] = "RETENTION_SOURCE"] = 2;
return values;
}();
FieldOptions.OptionTargetType = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "TARGET_TYPE_UNKNOWN"] = 0;
values[valuesById[1] = "TARGET_TYPE_FILE"] = 1;
values[valuesById[2] = "TARGET_TYPE_EXTENSION_RANGE"] = 2;
values[valuesById[3] = "TARGET_TYPE_MESSAGE"] = 3;
values[valuesById[4] = "TARGET_TYPE_FIELD"] = 4;
values[valuesById[5] = "TARGET_TYPE_ONEOF"] = 5;
values[valuesById[6] = "TARGET_TYPE_ENUM"] = 6;
values[valuesById[7] = "TARGET_TYPE_ENUM_ENTRY"] = 7;
values[valuesById[8] = "TARGET_TYPE_SERVICE"] = 8;
values[valuesById[9] = "TARGET_TYPE_METHOD"] = 9;
return values;
}();
FieldOptions.EditionDefault = function() {
function EditionDefault(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
EditionDefault.prototype.edition = 0;
EditionDefault.prototype.value = "";
EditionDefault.create = function create(properties) {
return new EditionDefault(properties);
};
EditionDefault.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.value != null && Object.hasOwnProperty.call(message, "value"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.value);
if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.edition);
return writer;
};
EditionDefault.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
EditionDefault.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 3: {
message.edition = reader.int32();
break;
}
case 2: {
message.value = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
EditionDefault.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
EditionDefault.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.edition != null && message.hasOwnProperty("edition"))
switch (message.edition) {
default:
return "edition: enum value expected";
case 0:
case 998:
case 999:
case 1e3:
case 1001:
case 1:
case 2:
case 99997:
case 99998:
case 99999:
case 2147483647:
break;
}
if (message.value != null && message.hasOwnProperty("value")) {
if (!$util.isString(message.value))
return "value: string expected";
}
return null;
};
EditionDefault.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FieldOptions.EditionDefault)
return object3;
var message = new $root.google.protobuf.FieldOptions.EditionDefault();
switch (object3.edition) {
default:
if (typeof object3.edition === "number") {
message.edition = object3.edition;
break;
}
break;
case "EDITION_UNKNOWN":
case 0:
message.edition = 0;
break;
case "EDITION_PROTO2":
case 998:
message.edition = 998;
break;
case "EDITION_PROTO3":
case 999:
message.edition = 999;
break;
case "EDITION_2023":
case 1e3:
message.edition = 1e3;
break;
case "EDITION_2024":
case 1001:
message.edition = 1001;
break;
case "EDITION_1_TEST_ONLY":
case 1:
message.edition = 1;
break;
case "EDITION_2_TEST_ONLY":
case 2:
message.edition = 2;
break;
case "EDITION_99997_TEST_ONLY":
case 99997:
message.edition = 99997;
break;
case "EDITION_99998_TEST_ONLY":
case 99998:
message.edition = 99998;
break;
case "EDITION_99999_TEST_ONLY":
case 99999:
message.edition = 99999;
break;
case "EDITION_MAX":
case 2147483647:
message.edition = 2147483647;
break;
}
if (object3.value != null)
message.value = String(object3.value);
return message;
};
EditionDefault.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.value = "";
object3.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
}
if (message.value != null && message.hasOwnProperty("value"))
object3.value = message.value;
if (message.edition != null && message.hasOwnProperty("edition"))
object3.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === void 0 ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
return object3;
};
EditionDefault.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault";
};
return EditionDefault;
}();
return FieldOptions;
}();
protobuf.OneofOptions = function() {
function OneofOptions(properties) {
this.uninterpretedOption = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
OneofOptions.prototype.features = null;
OneofOptions.prototype.uninterpretedOption = $util.emptyArray;
OneofOptions.create = function create(properties) {
return new OneofOptions(properties);
};
OneofOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
return writer;
};
OneofOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
OneofOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
OneofOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
OneofOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
return null;
};
OneofOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.OneofOptions)
return object3;
var message = new $root.google.protobuf.OneofOptions();
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.OneofOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
return message;
};
OneofOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.uninterpretedOption = [];
if (options.defaults)
object3.features = null;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
return object3;
};
OneofOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
OneofOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.OneofOptions";
};
return OneofOptions;
}();
protobuf.EnumOptions = function() {
function EnumOptions(properties) {
this.uninterpretedOption = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
EnumOptions.prototype.allowAlias = false;
EnumOptions.prototype.deprecated = false;
EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
EnumOptions.prototype.features = null;
EnumOptions.prototype.uninterpretedOption = $util.emptyArray;
EnumOptions.create = function create(properties) {
return new EnumOptions(properties);
};
EnumOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).bool(message.allowAlias);
if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.deprecated);
if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).bool(message.deprecatedLegacyJsonFieldConflicts);
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
return writer;
};
EnumOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
EnumOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 2: {
message.allowAlias = reader.bool();
break;
}
case 3: {
message.deprecated = reader.bool();
break;
}
case 6: {
message.deprecatedLegacyJsonFieldConflicts = reader.bool();
break;
}
case 7: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
EnumOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
EnumOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) {
if (typeof message.allowAlias !== "boolean")
return "allowAlias: boolean expected";
}
if (message.deprecated != null && message.hasOwnProperty("deprecated")) {
if (typeof message.deprecated !== "boolean")
return "deprecated: boolean expected";
}
if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) {
if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
return "deprecatedLegacyJsonFieldConflicts: boolean expected";
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
return null;
};
EnumOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.EnumOptions)
return object3;
var message = new $root.google.protobuf.EnumOptions();
if (object3.allowAlias != null)
message.allowAlias = Boolean(object3.allowAlias);
if (object3.deprecated != null)
message.deprecated = Boolean(object3.deprecated);
if (object3.deprecatedLegacyJsonFieldConflicts != null)
message.deprecatedLegacyJsonFieldConflicts = Boolean(object3.deprecatedLegacyJsonFieldConflicts);
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.EnumOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
return message;
};
EnumOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.uninterpretedOption = [];
if (options.defaults) {
object3.allowAlias = false;
object3.deprecated = false;
object3.deprecatedLegacyJsonFieldConflicts = false;
object3.features = null;
}
if (message.allowAlias != null && message.hasOwnProperty("allowAlias"))
object3.allowAlias = message.allowAlias;
if (message.deprecated != null && message.hasOwnProperty("deprecated"))
object3.deprecated = message.deprecated;
if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
object3.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
return object3;
};
EnumOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
EnumOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.EnumOptions";
};
return EnumOptions;
}();
protobuf.EnumValueOptions = function() {
function EnumValueOptions(properties) {
this.uninterpretedOption = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
EnumValueOptions.prototype.deprecated = false;
EnumValueOptions.prototype.features = null;
EnumValueOptions.prototype.debugRedact = false;
EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray;
EnumValueOptions.create = function create(properties) {
return new EnumValueOptions(properties);
};
EnumValueOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).bool(message.deprecated);
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.debugRedact);
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
return writer;
};
EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
EnumValueOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.deprecated = reader.bool();
break;
}
case 2: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 3: {
message.debugRedact = reader.bool();
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
EnumValueOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
EnumValueOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.deprecated != null && message.hasOwnProperty("deprecated")) {
if (typeof message.deprecated !== "boolean")
return "deprecated: boolean expected";
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) {
if (typeof message.debugRedact !== "boolean")
return "debugRedact: boolean expected";
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
return null;
};
EnumValueOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.EnumValueOptions)
return object3;
var message = new $root.google.protobuf.EnumValueOptions();
if (object3.deprecated != null)
message.deprecated = Boolean(object3.deprecated);
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.debugRedact != null)
message.debugRedact = Boolean(object3.debugRedact);
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
return message;
};
EnumValueOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.uninterpretedOption = [];
if (options.defaults) {
object3.deprecated = false;
object3.features = null;
object3.debugRedact = false;
}
if (message.deprecated != null && message.hasOwnProperty("deprecated"))
object3.deprecated = message.deprecated;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
object3.debugRedact = message.debugRedact;
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
return object3;
};
EnumValueOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
EnumValueOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.EnumValueOptions";
};
return EnumValueOptions;
}();
protobuf.ServiceOptions = function() {
function ServiceOptions(properties) {
this.uninterpretedOption = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ServiceOptions.prototype.features = null;
ServiceOptions.prototype.deprecated = false;
ServiceOptions.prototype.uninterpretedOption = $util.emptyArray;
ServiceOptions.prototype[".google.api.defaultHost"] = "";
ServiceOptions.prototype[".google.api.oauthScopes"] = "";
ServiceOptions.prototype[".google.api.apiVersion"] = "";
ServiceOptions.create = function create(properties) {
return new ServiceOptions(properties);
};
ServiceOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
writer.uint32(
/* id 33, wireType 0 =*/
264
).bool(message.deprecated);
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 34, wireType 2 =*/
274
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost"))
writer.uint32(
/* id 1049, wireType 2 =*/
8394
).string(message[".google.api.defaultHost"]);
if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes"))
writer.uint32(
/* id 1050, wireType 2 =*/
8402
).string(message[".google.api.oauthScopes"]);
if (message[".google.api.apiVersion"] != null && Object.hasOwnProperty.call(message, ".google.api.apiVersion"))
writer.uint32(
/* id 525000001, wireType 2 =*/
4200000010
).string(message[".google.api.apiVersion"]);
return writer;
};
ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ServiceOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 34: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 33: {
message.deprecated = reader.bool();
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
case 1049: {
message[".google.api.defaultHost"] = reader.string();
break;
}
case 1050: {
message[".google.api.oauthScopes"] = reader.string();
break;
}
case 525000001: {
message[".google.api.apiVersion"] = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ServiceOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ServiceOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.deprecated != null && message.hasOwnProperty("deprecated")) {
if (typeof message.deprecated !== "boolean")
return "deprecated: boolean expected";
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) {
if (!$util.isString(message[".google.api.defaultHost"]))
return ".google.api.defaultHost: string expected";
}
if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) {
if (!$util.isString(message[".google.api.oauthScopes"]))
return ".google.api.oauthScopes: string expected";
}
if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion")) {
if (!$util.isString(message[".google.api.apiVersion"]))
return ".google.api.apiVersion: string expected";
}
return null;
};
ServiceOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.ServiceOptions)
return object3;
var message = new $root.google.protobuf.ServiceOptions();
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.ServiceOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.deprecated != null)
message.deprecated = Boolean(object3.deprecated);
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
if (object3[".google.api.defaultHost"] != null)
message[".google.api.defaultHost"] = String(object3[".google.api.defaultHost"]);
if (object3[".google.api.oauthScopes"] != null)
message[".google.api.oauthScopes"] = String(object3[".google.api.oauthScopes"]);
if (object3[".google.api.apiVersion"] != null)
message[".google.api.apiVersion"] = String(object3[".google.api.apiVersion"]);
return message;
};
ServiceOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.uninterpretedOption = [];
if (options.defaults) {
object3.deprecated = false;
object3.features = null;
object3[".google.api.defaultHost"] = "";
object3[".google.api.oauthScopes"] = "";
object3[".google.api.apiVersion"] = "";
}
if (message.deprecated != null && message.hasOwnProperty("deprecated"))
object3.deprecated = message.deprecated;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost"))
object3[".google.api.defaultHost"] = message[".google.api.defaultHost"];
if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes"))
object3[".google.api.oauthScopes"] = message[".google.api.oauthScopes"];
if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion"))
object3[".google.api.apiVersion"] = message[".google.api.apiVersion"];
return object3;
};
ServiceOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ServiceOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.ServiceOptions";
};
return ServiceOptions;
}();
protobuf.MethodOptions = function() {
function MethodOptions(properties) {
this.uninterpretedOption = [];
this[".google.api.methodSignature"] = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MethodOptions.prototype.deprecated = false;
MethodOptions.prototype.idempotencyLevel = 0;
MethodOptions.prototype.features = null;
MethodOptions.prototype.uninterpretedOption = $util.emptyArray;
MethodOptions.prototype[".google.api.http"] = null;
MethodOptions.prototype[".google.api.methodSignature"] = $util.emptyArray;
MethodOptions.prototype[".google.longrunning.operationInfo"] = null;
MethodOptions.create = function create(properties) {
return new MethodOptions(properties);
};
MethodOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
writer.uint32(
/* id 33, wireType 0 =*/
264
).bool(message.deprecated);
if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel"))
writer.uint32(
/* id 34, wireType 0 =*/
272
).int32(message.idempotencyLevel);
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 35, wireType 2 =*/
282
).fork()).ldelim();
if (message.uninterpretedOption != null && message.uninterpretedOption.length)
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3)
$root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i3], writer.uint32(
/* id 999, wireType 2 =*/
7994
).fork()).ldelim();
if (message[".google.longrunning.operationInfo"] != null && Object.hasOwnProperty.call(message, ".google.longrunning.operationInfo"))
$root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(
/* id 1049, wireType 2 =*/
8394
).fork()).ldelim();
if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length)
for (var i3 = 0; i3 < message[".google.api.methodSignature"].length; ++i3)
writer.uint32(
/* id 1051, wireType 2 =*/
8410
).string(message[".google.api.methodSignature"][i3]);
if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http"))
$root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(
/* id 72295728, wireType 2 =*/
578365826
).fork()).ldelim();
return writer;
};
MethodOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MethodOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 33: {
message.deprecated = reader.bool();
break;
}
case 34: {
message.idempotencyLevel = reader.int32();
break;
}
case 35: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
case 999: {
if (!(message.uninterpretedOption && message.uninterpretedOption.length))
message.uninterpretedOption = [];
message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
break;
}
case 72295728: {
message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32());
break;
}
case 1051: {
if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length))
message[".google.api.methodSignature"] = [];
message[".google.api.methodSignature"].push(reader.string());
break;
}
case 1049: {
message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MethodOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MethodOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.deprecated != null && message.hasOwnProperty("deprecated")) {
if (typeof message.deprecated !== "boolean")
return "deprecated: boolean expected";
}
if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel"))
switch (message.idempotencyLevel) {
default:
return "idempotencyLevel: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
if (!Array.isArray(message.uninterpretedOption))
return "uninterpretedOption: array expected";
for (var i3 = 0; i3 < message.uninterpretedOption.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i3]);
if (error40)
return "uninterpretedOption." + error40;
}
}
if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) {
var error40 = $root.google.api.HttpRule.verify(message[".google.api.http"]);
if (error40)
return ".google.api.http." + error40;
}
if (message[".google.api.methodSignature"] != null && message.hasOwnProperty(".google.api.methodSignature")) {
if (!Array.isArray(message[".google.api.methodSignature"]))
return ".google.api.methodSignature: array expected";
for (var i3 = 0; i3 < message[".google.api.methodSignature"].length; ++i3)
if (!$util.isString(message[".google.api.methodSignature"][i3]))
return ".google.api.methodSignature: string[] expected";
}
if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) {
var error40 = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]);
if (error40)
return ".google.longrunning.operationInfo." + error40;
}
return null;
};
MethodOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.MethodOptions)
return object3;
var message = new $root.google.protobuf.MethodOptions();
if (object3.deprecated != null)
message.deprecated = Boolean(object3.deprecated);
switch (object3.idempotencyLevel) {
default:
if (typeof object3.idempotencyLevel === "number") {
message.idempotencyLevel = object3.idempotencyLevel;
break;
}
break;
case "IDEMPOTENCY_UNKNOWN":
case 0:
message.idempotencyLevel = 0;
break;
case "NO_SIDE_EFFECTS":
case 1:
message.idempotencyLevel = 1;
break;
case "IDEMPOTENT":
case 2:
message.idempotencyLevel = 2;
break;
}
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.MethodOptions.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
if (object3.uninterpretedOption) {
if (!Array.isArray(object3.uninterpretedOption))
throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");
message.uninterpretedOption = [];
for (var i3 = 0; i3 < object3.uninterpretedOption.length; ++i3) {
if (typeof object3.uninterpretedOption[i3] !== "object")
throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");
message.uninterpretedOption[i3] = $root.google.protobuf.UninterpretedOption.fromObject(object3.uninterpretedOption[i3]);
}
}
if (object3[".google.api.http"] != null) {
if (typeof object3[".google.api.http"] !== "object")
throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");
message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object3[".google.api.http"]);
}
if (object3[".google.api.methodSignature"]) {
if (!Array.isArray(object3[".google.api.methodSignature"]))
throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected");
message[".google.api.methodSignature"] = [];
for (var i3 = 0; i3 < object3[".google.api.methodSignature"].length; ++i3)
message[".google.api.methodSignature"][i3] = String(object3[".google.api.methodSignature"][i3]);
}
if (object3[".google.longrunning.operationInfo"] != null) {
if (typeof object3[".google.longrunning.operationInfo"] !== "object")
throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected");
message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object3[".google.longrunning.operationInfo"]);
}
return message;
};
MethodOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.uninterpretedOption = [];
object3[".google.api.methodSignature"] = [];
}
if (options.defaults) {
object3.deprecated = false;
object3.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0;
object3.features = null;
object3[".google.longrunning.operationInfo"] = null;
object3[".google.api.http"] = null;
}
if (message.deprecated != null && message.hasOwnProperty("deprecated"))
object3.deprecated = message.deprecated;
if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel"))
object3.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === void 0 ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel;
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.uninterpretedOption && message.uninterpretedOption.length) {
object3.uninterpretedOption = [];
for (var j = 0; j < message.uninterpretedOption.length; ++j)
object3.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
}
if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo"))
object3[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.toObject(message[".google.longrunning.operationInfo"], options);
if (message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length) {
object3[".google.api.methodSignature"] = [];
for (var j = 0; j < message[".google.api.methodSignature"].length; ++j)
object3[".google.api.methodSignature"][j] = message[".google.api.methodSignature"][j];
}
if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http"))
object3[".google.api.http"] = $root.google.api.HttpRule.toObject(message[".google.api.http"], options);
return object3;
};
MethodOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MethodOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.MethodOptions";
};
MethodOptions.IdempotencyLevel = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0;
values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1;
values[valuesById[2] = "IDEMPOTENT"] = 2;
return values;
}();
return MethodOptions;
}();
protobuf.UninterpretedOption = function() {
function UninterpretedOption(properties) {
this.name = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UninterpretedOption.prototype.name = $util.emptyArray;
UninterpretedOption.prototype.identifierValue = "";
UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0, 0, true) : 0;
UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
UninterpretedOption.prototype.doubleValue = 0;
UninterpretedOption.prototype.stringValue = $util.newBuffer([]);
UninterpretedOption.prototype.aggregateValue = "";
UninterpretedOption.create = function create(properties) {
return new UninterpretedOption(properties);
};
UninterpretedOption.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && message.name.length)
for (var i3 = 0; i3 < message.name.length; ++i3)
$root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.identifierValue);
if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).uint64(message.positiveIntValue);
if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).int64(message.negativeIntValue);
if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue"))
writer.uint32(
/* id 6, wireType 1 =*/
49
).double(message.doubleValue);
if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).bytes(message.stringValue);
if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue"))
writer.uint32(
/* id 8, wireType 2 =*/
66
).string(message.aggregateValue);
return writer;
};
UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UninterpretedOption.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 2: {
if (!(message.name && message.name.length))
message.name = [];
message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32()));
break;
}
case 3: {
message.identifierValue = reader.string();
break;
}
case 4: {
message.positiveIntValue = reader.uint64();
break;
}
case 5: {
message.negativeIntValue = reader.int64();
break;
}
case 6: {
message.doubleValue = reader.double();
break;
}
case 7: {
message.stringValue = reader.bytes();
break;
}
case 8: {
message.aggregateValue = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UninterpretedOption.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UninterpretedOption.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!Array.isArray(message.name))
return "name: array expected";
for (var i3 = 0; i3 < message.name.length; ++i3) {
var error40 = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i3]);
if (error40)
return "name." + error40;
}
}
if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) {
if (!$util.isString(message.identifierValue))
return "identifierValue: string expected";
}
if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) {
if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high)))
return "positiveIntValue: integer|Long expected";
}
if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) {
if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high)))
return "negativeIntValue: integer|Long expected";
}
if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
if (typeof message.doubleValue !== "number")
return "doubleValue: number expected";
}
if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue)))
return "stringValue: buffer expected";
}
if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) {
if (!$util.isString(message.aggregateValue))
return "aggregateValue: string expected";
}
return null;
};
UninterpretedOption.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.UninterpretedOption)
return object3;
var message = new $root.google.protobuf.UninterpretedOption();
if (object3.name) {
if (!Array.isArray(object3.name))
throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");
message.name = [];
for (var i3 = 0; i3 < object3.name.length; ++i3) {
if (typeof object3.name[i3] !== "object")
throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");
message.name[i3] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object3.name[i3]);
}
}
if (object3.identifierValue != null)
message.identifierValue = String(object3.identifierValue);
if (object3.positiveIntValue != null) {
if ($util.Long)
(message.positiveIntValue = $util.Long.fromValue(object3.positiveIntValue)).unsigned = true;
else if (typeof object3.positiveIntValue === "string")
message.positiveIntValue = parseInt(object3.positiveIntValue, 10);
else if (typeof object3.positiveIntValue === "number")
message.positiveIntValue = object3.positiveIntValue;
else if (typeof object3.positiveIntValue === "object")
message.positiveIntValue = new $util.LongBits(object3.positiveIntValue.low >>> 0, object3.positiveIntValue.high >>> 0).toNumber(true);
}
if (object3.negativeIntValue != null) {
if ($util.Long)
(message.negativeIntValue = $util.Long.fromValue(object3.negativeIntValue)).unsigned = false;
else if (typeof object3.negativeIntValue === "string")
message.negativeIntValue = parseInt(object3.negativeIntValue, 10);
else if (typeof object3.negativeIntValue === "number")
message.negativeIntValue = object3.negativeIntValue;
else if (typeof object3.negativeIntValue === "object")
message.negativeIntValue = new $util.LongBits(object3.negativeIntValue.low >>> 0, object3.negativeIntValue.high >>> 0).toNumber();
}
if (object3.doubleValue != null)
message.doubleValue = Number(object3.doubleValue);
if (object3.stringValue != null) {
if (typeof object3.stringValue === "string")
$util.base64.decode(object3.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object3.stringValue)), 0);
else if (object3.stringValue.length >= 0)
message.stringValue = object3.stringValue;
}
if (object3.aggregateValue != null)
message.aggregateValue = String(object3.aggregateValue);
return message;
};
UninterpretedOption.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.name = [];
if (options.defaults) {
object3.identifierValue = "";
if ($util.Long) {
var long = new $util.Long(0, 0, true);
object3.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.positiveIntValue = options.longs === String ? "0" : 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.negativeIntValue = options.longs === String ? "0" : 0;
object3.doubleValue = 0;
if (options.bytes === String)
object3.stringValue = "";
else {
object3.stringValue = [];
if (options.bytes !== Array)
object3.stringValue = $util.newBuffer(object3.stringValue);
}
object3.aggregateValue = "";
}
if (message.name && message.name.length) {
object3.name = [];
for (var j = 0; j < message.name.length; ++j)
object3.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options);
}
if (message.identifierValue != null && message.hasOwnProperty("identifierValue"))
object3.identifierValue = message.identifierValue;
if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue"))
if (typeof message.positiveIntValue === "number")
object3.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue;
else
object3.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue;
if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue"))
if (typeof message.negativeIntValue === "number")
object3.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue;
else
object3.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue;
if (message.doubleValue != null && message.hasOwnProperty("doubleValue"))
object3.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue;
if (message.stringValue != null && message.hasOwnProperty("stringValue"))
object3.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue;
if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue"))
object3.aggregateValue = message.aggregateValue;
return object3;
};
UninterpretedOption.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UninterpretedOption.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.UninterpretedOption";
};
UninterpretedOption.NamePart = function() {
function NamePart(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
NamePart.prototype.namePart = "";
NamePart.prototype.isExtension = false;
NamePart.create = function create(properties) {
return new NamePart(properties);
};
NamePart.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.namePart);
writer.uint32(
/* id 2, wireType 0 =*/
16
).bool(message.isExtension);
return writer;
};
NamePart.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
NamePart.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.namePart = reader.string();
break;
}
case 2: {
message.isExtension = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
if (!message.hasOwnProperty("namePart"))
throw $util.ProtocolError("missing required 'namePart'", { instance: message });
if (!message.hasOwnProperty("isExtension"))
throw $util.ProtocolError("missing required 'isExtension'", { instance: message });
return message;
};
NamePart.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
NamePart.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (!$util.isString(message.namePart))
return "namePart: string expected";
if (typeof message.isExtension !== "boolean")
return "isExtension: boolean expected";
return null;
};
NamePart.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.UninterpretedOption.NamePart)
return object3;
var message = new $root.google.protobuf.UninterpretedOption.NamePart();
if (object3.namePart != null)
message.namePart = String(object3.namePart);
if (object3.isExtension != null)
message.isExtension = Boolean(object3.isExtension);
return message;
};
NamePart.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.namePart = "";
object3.isExtension = false;
}
if (message.namePart != null && message.hasOwnProperty("namePart"))
object3.namePart = message.namePart;
if (message.isExtension != null && message.hasOwnProperty("isExtension"))
object3.isExtension = message.isExtension;
return object3;
};
NamePart.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
NamePart.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.UninterpretedOption.NamePart";
};
return NamePart;
}();
return UninterpretedOption;
}();
protobuf.FeatureSet = function() {
function FeatureSet(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FeatureSet.prototype.fieldPresence = 0;
FeatureSet.prototype.enumType = 0;
FeatureSet.prototype.repeatedFieldEncoding = 0;
FeatureSet.prototype.utf8Validation = 0;
FeatureSet.prototype.messageEncoding = 0;
FeatureSet.prototype.jsonFormat = 0;
FeatureSet.create = function create(properties) {
return new FeatureSet(properties);
};
FeatureSet.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.fieldPresence != null && Object.hasOwnProperty.call(message, "fieldPresence"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.fieldPresence);
if (message.enumType != null && Object.hasOwnProperty.call(message, "enumType"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.enumType);
if (message.repeatedFieldEncoding != null && Object.hasOwnProperty.call(message, "repeatedFieldEncoding"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.repeatedFieldEncoding);
if (message.utf8Validation != null && Object.hasOwnProperty.call(message, "utf8Validation"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.utf8Validation);
if (message.messageEncoding != null && Object.hasOwnProperty.call(message, "messageEncoding"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).int32(message.messageEncoding);
if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).int32(message.jsonFormat);
return writer;
};
FeatureSet.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FeatureSet.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.fieldPresence = reader.int32();
break;
}
case 2: {
message.enumType = reader.int32();
break;
}
case 3: {
message.repeatedFieldEncoding = reader.int32();
break;
}
case 4: {
message.utf8Validation = reader.int32();
break;
}
case 5: {
message.messageEncoding = reader.int32();
break;
}
case 6: {
message.jsonFormat = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FeatureSet.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FeatureSet.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
switch (message.fieldPresence) {
default:
return "fieldPresence: enum value expected";
case 0:
case 1:
case 2:
case 3:
break;
}
if (message.enumType != null && message.hasOwnProperty("enumType"))
switch (message.enumType) {
default:
return "enumType: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
switch (message.repeatedFieldEncoding) {
default:
return "repeatedFieldEncoding: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation"))
switch (message.utf8Validation) {
default:
return "utf8Validation: enum value expected";
case 0:
case 2:
case 3:
break;
}
if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
switch (message.messageEncoding) {
default:
return "messageEncoding: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
switch (message.jsonFormat) {
default:
return "jsonFormat: enum value expected";
case 0:
case 1:
case 2:
break;
}
return null;
};
FeatureSet.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FeatureSet)
return object3;
var message = new $root.google.protobuf.FeatureSet();
switch (object3.fieldPresence) {
default:
if (typeof object3.fieldPresence === "number") {
message.fieldPresence = object3.fieldPresence;
break;
}
break;
case "FIELD_PRESENCE_UNKNOWN":
case 0:
message.fieldPresence = 0;
break;
case "EXPLICIT":
case 1:
message.fieldPresence = 1;
break;
case "IMPLICIT":
case 2:
message.fieldPresence = 2;
break;
case "LEGACY_REQUIRED":
case 3:
message.fieldPresence = 3;
break;
}
switch (object3.enumType) {
default:
if (typeof object3.enumType === "number") {
message.enumType = object3.enumType;
break;
}
break;
case "ENUM_TYPE_UNKNOWN":
case 0:
message.enumType = 0;
break;
case "OPEN":
case 1:
message.enumType = 1;
break;
case "CLOSED":
case 2:
message.enumType = 2;
break;
}
switch (object3.repeatedFieldEncoding) {
default:
if (typeof object3.repeatedFieldEncoding === "number") {
message.repeatedFieldEncoding = object3.repeatedFieldEncoding;
break;
}
break;
case "REPEATED_FIELD_ENCODING_UNKNOWN":
case 0:
message.repeatedFieldEncoding = 0;
break;
case "PACKED":
case 1:
message.repeatedFieldEncoding = 1;
break;
case "EXPANDED":
case 2:
message.repeatedFieldEncoding = 2;
break;
}
switch (object3.utf8Validation) {
default:
if (typeof object3.utf8Validation === "number") {
message.utf8Validation = object3.utf8Validation;
break;
}
break;
case "UTF8_VALIDATION_UNKNOWN":
case 0:
message.utf8Validation = 0;
break;
case "VERIFY":
case 2:
message.utf8Validation = 2;
break;
case "NONE":
case 3:
message.utf8Validation = 3;
break;
}
switch (object3.messageEncoding) {
default:
if (typeof object3.messageEncoding === "number") {
message.messageEncoding = object3.messageEncoding;
break;
}
break;
case "MESSAGE_ENCODING_UNKNOWN":
case 0:
message.messageEncoding = 0;
break;
case "LENGTH_PREFIXED":
case 1:
message.messageEncoding = 1;
break;
case "DELIMITED":
case 2:
message.messageEncoding = 2;
break;
}
switch (object3.jsonFormat) {
default:
if (typeof object3.jsonFormat === "number") {
message.jsonFormat = object3.jsonFormat;
break;
}
break;
case "JSON_FORMAT_UNKNOWN":
case 0:
message.jsonFormat = 0;
break;
case "ALLOW":
case 1:
message.jsonFormat = 1;
break;
case "LEGACY_BEST_EFFORT":
case 2:
message.jsonFormat = 2;
break;
}
return message;
};
FeatureSet.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.fieldPresence = options.enums === String ? "FIELD_PRESENCE_UNKNOWN" : 0;
object3.enumType = options.enums === String ? "ENUM_TYPE_UNKNOWN" : 0;
object3.repeatedFieldEncoding = options.enums === String ? "REPEATED_FIELD_ENCODING_UNKNOWN" : 0;
object3.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0;
object3.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0;
object3.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0;
}
if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
object3.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === void 0 ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence;
if (message.enumType != null && message.hasOwnProperty("enumType"))
object3.enumType = options.enums === String ? $root.google.protobuf.FeatureSet.EnumType[message.enumType] === void 0 ? message.enumType : $root.google.protobuf.FeatureSet.EnumType[message.enumType] : message.enumType;
if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
object3.repeatedFieldEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] === void 0 ? message.repeatedFieldEncoding : $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] : message.repeatedFieldEncoding;
if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation"))
object3.utf8Validation = options.enums === String ? $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] === void 0 ? message.utf8Validation : $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] : message.utf8Validation;
if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
object3.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === void 0 ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding;
if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
object3.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === void 0 ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat;
return object3;
};
FeatureSet.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FeatureSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FeatureSet";
};
FeatureSet.FieldPresence = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "FIELD_PRESENCE_UNKNOWN"] = 0;
values[valuesById[1] = "EXPLICIT"] = 1;
values[valuesById[2] = "IMPLICIT"] = 2;
values[valuesById[3] = "LEGACY_REQUIRED"] = 3;
return values;
}();
FeatureSet.EnumType = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "ENUM_TYPE_UNKNOWN"] = 0;
values[valuesById[1] = "OPEN"] = 1;
values[valuesById[2] = "CLOSED"] = 2;
return values;
}();
FeatureSet.RepeatedFieldEncoding = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "REPEATED_FIELD_ENCODING_UNKNOWN"] = 0;
values[valuesById[1] = "PACKED"] = 1;
values[valuesById[2] = "EXPANDED"] = 2;
return values;
}();
FeatureSet.Utf8Validation = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "UTF8_VALIDATION_UNKNOWN"] = 0;
values[valuesById[2] = "VERIFY"] = 2;
values[valuesById[3] = "NONE"] = 3;
return values;
}();
FeatureSet.MessageEncoding = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "MESSAGE_ENCODING_UNKNOWN"] = 0;
values[valuesById[1] = "LENGTH_PREFIXED"] = 1;
values[valuesById[2] = "DELIMITED"] = 2;
return values;
}();
FeatureSet.JsonFormat = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "JSON_FORMAT_UNKNOWN"] = 0;
values[valuesById[1] = "ALLOW"] = 1;
values[valuesById[2] = "LEGACY_BEST_EFFORT"] = 2;
return values;
}();
return FeatureSet;
}();
protobuf.FeatureSetDefaults = function() {
function FeatureSetDefaults(properties) {
this.defaults = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FeatureSetDefaults.prototype.defaults = $util.emptyArray;
FeatureSetDefaults.prototype.minimumEdition = 0;
FeatureSetDefaults.prototype.maximumEdition = 0;
FeatureSetDefaults.create = function create(properties) {
return new FeatureSetDefaults(properties);
};
FeatureSetDefaults.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.defaults != null && message.defaults.length)
for (var i3 = 0; i3 < message.defaults.length; ++i3)
$root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.encode(message.defaults[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.minimumEdition != null && Object.hasOwnProperty.call(message, "minimumEdition"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.minimumEdition);
if (message.maximumEdition != null && Object.hasOwnProperty.call(message, "maximumEdition"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).int32(message.maximumEdition);
return writer;
};
FeatureSetDefaults.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FeatureSetDefaults.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.defaults && message.defaults.length))
message.defaults = [];
message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32()));
break;
}
case 4: {
message.minimumEdition = reader.int32();
break;
}
case 5: {
message.maximumEdition = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FeatureSetDefaults.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FeatureSetDefaults.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.defaults != null && message.hasOwnProperty("defaults")) {
if (!Array.isArray(message.defaults))
return "defaults: array expected";
for (var i3 = 0; i3 < message.defaults.length; ++i3) {
var error40 = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i3]);
if (error40)
return "defaults." + error40;
}
}
if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition"))
switch (message.minimumEdition) {
default:
return "minimumEdition: enum value expected";
case 0:
case 998:
case 999:
case 1e3:
case 1001:
case 1:
case 2:
case 99997:
case 99998:
case 99999:
case 2147483647:
break;
}
if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition"))
switch (message.maximumEdition) {
default:
return "maximumEdition: enum value expected";
case 0:
case 998:
case 999:
case 1e3:
case 1001:
case 1:
case 2:
case 99997:
case 99998:
case 99999:
case 2147483647:
break;
}
return null;
};
FeatureSetDefaults.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FeatureSetDefaults)
return object3;
var message = new $root.google.protobuf.FeatureSetDefaults();
if (object3.defaults) {
if (!Array.isArray(object3.defaults))
throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected");
message.defaults = [];
for (var i3 = 0; i3 < object3.defaults.length; ++i3) {
if (typeof object3.defaults[i3] !== "object")
throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected");
message.defaults[i3] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object3.defaults[i3]);
}
}
switch (object3.minimumEdition) {
default:
if (typeof object3.minimumEdition === "number") {
message.minimumEdition = object3.minimumEdition;
break;
}
break;
case "EDITION_UNKNOWN":
case 0:
message.minimumEdition = 0;
break;
case "EDITION_PROTO2":
case 998:
message.minimumEdition = 998;
break;
case "EDITION_PROTO3":
case 999:
message.minimumEdition = 999;
break;
case "EDITION_2023":
case 1e3:
message.minimumEdition = 1e3;
break;
case "EDITION_2024":
case 1001:
message.minimumEdition = 1001;
break;
case "EDITION_1_TEST_ONLY":
case 1:
message.minimumEdition = 1;
break;
case "EDITION_2_TEST_ONLY":
case 2:
message.minimumEdition = 2;
break;
case "EDITION_99997_TEST_ONLY":
case 99997:
message.minimumEdition = 99997;
break;
case "EDITION_99998_TEST_ONLY":
case 99998:
message.minimumEdition = 99998;
break;
case "EDITION_99999_TEST_ONLY":
case 99999:
message.minimumEdition = 99999;
break;
case "EDITION_MAX":
case 2147483647:
message.minimumEdition = 2147483647;
break;
}
switch (object3.maximumEdition) {
default:
if (typeof object3.maximumEdition === "number") {
message.maximumEdition = object3.maximumEdition;
break;
}
break;
case "EDITION_UNKNOWN":
case 0:
message.maximumEdition = 0;
break;
case "EDITION_PROTO2":
case 998:
message.maximumEdition = 998;
break;
case "EDITION_PROTO3":
case 999:
message.maximumEdition = 999;
break;
case "EDITION_2023":
case 1e3:
message.maximumEdition = 1e3;
break;
case "EDITION_2024":
case 1001:
message.maximumEdition = 1001;
break;
case "EDITION_1_TEST_ONLY":
case 1:
message.maximumEdition = 1;
break;
case "EDITION_2_TEST_ONLY":
case 2:
message.maximumEdition = 2;
break;
case "EDITION_99997_TEST_ONLY":
case 99997:
message.maximumEdition = 99997;
break;
case "EDITION_99998_TEST_ONLY":
case 99998:
message.maximumEdition = 99998;
break;
case "EDITION_99999_TEST_ONLY":
case 99999:
message.maximumEdition = 99999;
break;
case "EDITION_MAX":
case 2147483647:
message.maximumEdition = 2147483647;
break;
}
return message;
};
FeatureSetDefaults.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.defaults = [];
if (options.defaults) {
object3.minimumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0;
object3.maximumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0;
}
if (message.defaults && message.defaults.length) {
object3.defaults = [];
for (var j = 0; j < message.defaults.length; ++j)
object3.defaults[j] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.toObject(message.defaults[j], options);
}
if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition"))
object3.minimumEdition = options.enums === String ? $root.google.protobuf.Edition[message.minimumEdition] === void 0 ? message.minimumEdition : $root.google.protobuf.Edition[message.minimumEdition] : message.minimumEdition;
if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition"))
object3.maximumEdition = options.enums === String ? $root.google.protobuf.Edition[message.maximumEdition] === void 0 ? message.maximumEdition : $root.google.protobuf.Edition[message.maximumEdition] : message.maximumEdition;
return object3;
};
FeatureSetDefaults.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FeatureSetDefaults.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults";
};
FeatureSetDefaults.FeatureSetEditionDefault = function() {
function FeatureSetEditionDefault(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FeatureSetEditionDefault.prototype.edition = 0;
FeatureSetEditionDefault.prototype.features = null;
FeatureSetEditionDefault.create = function create(properties) {
return new FeatureSetEditionDefault(properties);
};
FeatureSetEditionDefault.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.features != null && Object.hasOwnProperty.call(message, "features"))
$root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.edition);
return writer;
};
FeatureSetEditionDefault.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FeatureSetEditionDefault.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 3: {
message.edition = reader.int32();
break;
}
case 2: {
message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FeatureSetEditionDefault.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FeatureSetEditionDefault.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.edition != null && message.hasOwnProperty("edition"))
switch (message.edition) {
default:
return "edition: enum value expected";
case 0:
case 998:
case 999:
case 1e3:
case 1001:
case 1:
case 2:
case 99997:
case 99998:
case 99999:
case 2147483647:
break;
}
if (message.features != null && message.hasOwnProperty("features")) {
var error40 = $root.google.protobuf.FeatureSet.verify(message.features);
if (error40)
return "features." + error40;
}
return null;
};
FeatureSetEditionDefault.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
return object3;
var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
switch (object3.edition) {
default:
if (typeof object3.edition === "number") {
message.edition = object3.edition;
break;
}
break;
case "EDITION_UNKNOWN":
case 0:
message.edition = 0;
break;
case "EDITION_PROTO2":
case 998:
message.edition = 998;
break;
case "EDITION_PROTO3":
case 999:
message.edition = 999;
break;
case "EDITION_2023":
case 1e3:
message.edition = 1e3;
break;
case "EDITION_2024":
case 1001:
message.edition = 1001;
break;
case "EDITION_1_TEST_ONLY":
case 1:
message.edition = 1;
break;
case "EDITION_2_TEST_ONLY":
case 2:
message.edition = 2;
break;
case "EDITION_99997_TEST_ONLY":
case 99997:
message.edition = 99997;
break;
case "EDITION_99998_TEST_ONLY":
case 99998:
message.edition = 99998;
break;
case "EDITION_99999_TEST_ONLY":
case 99999:
message.edition = 99999;
break;
case "EDITION_MAX":
case 2147483647:
message.edition = 2147483647;
break;
}
if (object3.features != null) {
if (typeof object3.features !== "object")
throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected");
message.features = $root.google.protobuf.FeatureSet.fromObject(object3.features);
}
return message;
};
FeatureSetEditionDefault.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.features = null;
object3.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
}
if (message.features != null && message.hasOwnProperty("features"))
object3.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
if (message.edition != null && message.hasOwnProperty("edition"))
object3.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === void 0 ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
return object3;
};
FeatureSetEditionDefault.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FeatureSetEditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault";
};
return FeatureSetEditionDefault;
}();
return FeatureSetDefaults;
}();
protobuf.SourceCodeInfo = function() {
function SourceCodeInfo(properties) {
this.location = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
SourceCodeInfo.prototype.location = $util.emptyArray;
SourceCodeInfo.create = function create(properties) {
return new SourceCodeInfo(properties);
};
SourceCodeInfo.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.location != null && message.location.length)
for (var i3 = 0; i3 < message.location.length; ++i3)
$root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
SourceCodeInfo.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.location && message.location.length))
message.location = [];
message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
SourceCodeInfo.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.location != null && message.hasOwnProperty("location")) {
if (!Array.isArray(message.location))
return "location: array expected";
for (var i3 = 0; i3 < message.location.length; ++i3) {
var error40 = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i3]);
if (error40)
return "location." + error40;
}
}
return null;
};
SourceCodeInfo.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.SourceCodeInfo)
return object3;
var message = new $root.google.protobuf.SourceCodeInfo();
if (object3.location) {
if (!Array.isArray(object3.location))
throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected");
message.location = [];
for (var i3 = 0; i3 < object3.location.length; ++i3) {
if (typeof object3.location[i3] !== "object")
throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected");
message.location[i3] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object3.location[i3]);
}
}
return message;
};
SourceCodeInfo.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.location = [];
if (message.location && message.location.length) {
object3.location = [];
for (var j = 0; j < message.location.length; ++j)
object3.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options);
}
return object3;
};
SourceCodeInfo.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
SourceCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.SourceCodeInfo";
};
SourceCodeInfo.Location = function() {
function Location(properties) {
this.path = [];
this.span = [];
this.leadingDetachedComments = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Location.prototype.path = $util.emptyArray;
Location.prototype.span = $util.emptyArray;
Location.prototype.leadingComments = "";
Location.prototype.trailingComments = "";
Location.prototype.leadingDetachedComments = $util.emptyArray;
Location.create = function create(properties) {
return new Location(properties);
};
Location.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.path != null && message.path.length) {
writer.uint32(
/* id 1, wireType 2 =*/
10
).fork();
for (var i3 = 0; i3 < message.path.length; ++i3)
writer.int32(message.path[i3]);
writer.ldelim();
}
if (message.span != null && message.span.length) {
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork();
for (var i3 = 0; i3 < message.span.length; ++i3)
writer.int32(message.span[i3]);
writer.ldelim();
}
if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.leadingComments);
if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.trailingComments);
if (message.leadingDetachedComments != null && message.leadingDetachedComments.length)
for (var i3 = 0; i3 < message.leadingDetachedComments.length; ++i3)
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.leadingDetachedComments[i3]);
return writer;
};
Location.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Location.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.path && message.path.length))
message.path = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.path.push(reader.int32());
} else
message.path.push(reader.int32());
break;
}
case 2: {
if (!(message.span && message.span.length))
message.span = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.span.push(reader.int32());
} else
message.span.push(reader.int32());
break;
}
case 3: {
message.leadingComments = reader.string();
break;
}
case 4: {
message.trailingComments = reader.string();
break;
}
case 6: {
if (!(message.leadingDetachedComments && message.leadingDetachedComments.length))
message.leadingDetachedComments = [];
message.leadingDetachedComments.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Location.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Location.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.path != null && message.hasOwnProperty("path")) {
if (!Array.isArray(message.path))
return "path: array expected";
for (var i3 = 0; i3 < message.path.length; ++i3)
if (!$util.isInteger(message.path[i3]))
return "path: integer[] expected";
}
if (message.span != null && message.hasOwnProperty("span")) {
if (!Array.isArray(message.span))
return "span: array expected";
for (var i3 = 0; i3 < message.span.length; ++i3)
if (!$util.isInteger(message.span[i3]))
return "span: integer[] expected";
}
if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) {
if (!$util.isString(message.leadingComments))
return "leadingComments: string expected";
}
if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) {
if (!$util.isString(message.trailingComments))
return "trailingComments: string expected";
}
if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) {
if (!Array.isArray(message.leadingDetachedComments))
return "leadingDetachedComments: array expected";
for (var i3 = 0; i3 < message.leadingDetachedComments.length; ++i3)
if (!$util.isString(message.leadingDetachedComments[i3]))
return "leadingDetachedComments: string[] expected";
}
return null;
};
Location.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.SourceCodeInfo.Location)
return object3;
var message = new $root.google.protobuf.SourceCodeInfo.Location();
if (object3.path) {
if (!Array.isArray(object3.path))
throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected");
message.path = [];
for (var i3 = 0; i3 < object3.path.length; ++i3)
message.path[i3] = object3.path[i3] | 0;
}
if (object3.span) {
if (!Array.isArray(object3.span))
throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected");
message.span = [];
for (var i3 = 0; i3 < object3.span.length; ++i3)
message.span[i3] = object3.span[i3] | 0;
}
if (object3.leadingComments != null)
message.leadingComments = String(object3.leadingComments);
if (object3.trailingComments != null)
message.trailingComments = String(object3.trailingComments);
if (object3.leadingDetachedComments) {
if (!Array.isArray(object3.leadingDetachedComments))
throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected");
message.leadingDetachedComments = [];
for (var i3 = 0; i3 < object3.leadingDetachedComments.length; ++i3)
message.leadingDetachedComments[i3] = String(object3.leadingDetachedComments[i3]);
}
return message;
};
Location.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.path = [];
object3.span = [];
object3.leadingDetachedComments = [];
}
if (options.defaults) {
object3.leadingComments = "";
object3.trailingComments = "";
}
if (message.path && message.path.length) {
object3.path = [];
for (var j = 0; j < message.path.length; ++j)
object3.path[j] = message.path[j];
}
if (message.span && message.span.length) {
object3.span = [];
for (var j = 0; j < message.span.length; ++j)
object3.span[j] = message.span[j];
}
if (message.leadingComments != null && message.hasOwnProperty("leadingComments"))
object3.leadingComments = message.leadingComments;
if (message.trailingComments != null && message.hasOwnProperty("trailingComments"))
object3.trailingComments = message.trailingComments;
if (message.leadingDetachedComments && message.leadingDetachedComments.length) {
object3.leadingDetachedComments = [];
for (var j = 0; j < message.leadingDetachedComments.length; ++j)
object3.leadingDetachedComments[j] = message.leadingDetachedComments[j];
}
return object3;
};
Location.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Location.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.SourceCodeInfo.Location";
};
return Location;
}();
return SourceCodeInfo;
}();
protobuf.GeneratedCodeInfo = function() {
function GeneratedCodeInfo(properties) {
this.annotation = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GeneratedCodeInfo.prototype.annotation = $util.emptyArray;
GeneratedCodeInfo.create = function create(properties) {
return new GeneratedCodeInfo(properties);
};
GeneratedCodeInfo.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.annotation != null && message.annotation.length)
for (var i3 = 0; i3 < message.annotation.length; ++i3)
$root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GeneratedCodeInfo.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.annotation && message.annotation.length))
message.annotation = [];
message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GeneratedCodeInfo.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.annotation != null && message.hasOwnProperty("annotation")) {
if (!Array.isArray(message.annotation))
return "annotation: array expected";
for (var i3 = 0; i3 < message.annotation.length; ++i3) {
var error40 = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i3]);
if (error40)
return "annotation." + error40;
}
}
return null;
};
GeneratedCodeInfo.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.GeneratedCodeInfo)
return object3;
var message = new $root.google.protobuf.GeneratedCodeInfo();
if (object3.annotation) {
if (!Array.isArray(object3.annotation))
throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected");
message.annotation = [];
for (var i3 = 0; i3 < object3.annotation.length; ++i3) {
if (typeof object3.annotation[i3] !== "object")
throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected");
message.annotation[i3] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object3.annotation[i3]);
}
}
return message;
};
GeneratedCodeInfo.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.annotation = [];
if (message.annotation && message.annotation.length) {
object3.annotation = [];
for (var j = 0; j < message.annotation.length; ++j)
object3.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options);
}
return object3;
};
GeneratedCodeInfo.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GeneratedCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo";
};
GeneratedCodeInfo.Annotation = function() {
function Annotation(properties) {
this.path = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Annotation.prototype.path = $util.emptyArray;
Annotation.prototype.sourceFile = "";
Annotation.prototype.begin = 0;
Annotation.prototype.end = 0;
Annotation.prototype.semantic = 0;
Annotation.create = function create(properties) {
return new Annotation(properties);
};
Annotation.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.path != null && message.path.length) {
writer.uint32(
/* id 1, wireType 2 =*/
10
).fork();
for (var i3 = 0; i3 < message.path.length; ++i3)
writer.int32(message.path[i3]);
writer.ldelim();
}
if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.sourceFile);
if (message.begin != null && Object.hasOwnProperty.call(message, "begin"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.begin);
if (message.end != null && Object.hasOwnProperty.call(message, "end"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.end);
if (message.semantic != null && Object.hasOwnProperty.call(message, "semantic"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).int32(message.semantic);
return writer;
};
Annotation.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Annotation.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.path && message.path.length))
message.path = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.path.push(reader.int32());
} else
message.path.push(reader.int32());
break;
}
case 2: {
message.sourceFile = reader.string();
break;
}
case 3: {
message.begin = reader.int32();
break;
}
case 4: {
message.end = reader.int32();
break;
}
case 5: {
message.semantic = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Annotation.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Annotation.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.path != null && message.hasOwnProperty("path")) {
if (!Array.isArray(message.path))
return "path: array expected";
for (var i3 = 0; i3 < message.path.length; ++i3)
if (!$util.isInteger(message.path[i3]))
return "path: integer[] expected";
}
if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) {
if (!$util.isString(message.sourceFile))
return "sourceFile: string expected";
}
if (message.begin != null && message.hasOwnProperty("begin")) {
if (!$util.isInteger(message.begin))
return "begin: integer expected";
}
if (message.end != null && message.hasOwnProperty("end")) {
if (!$util.isInteger(message.end))
return "end: integer expected";
}
if (message.semantic != null && message.hasOwnProperty("semantic"))
switch (message.semantic) {
default:
return "semantic: enum value expected";
case 0:
case 1:
case 2:
break;
}
return null;
};
Annotation.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation)
return object3;
var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation();
if (object3.path) {
if (!Array.isArray(object3.path))
throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected");
message.path = [];
for (var i3 = 0; i3 < object3.path.length; ++i3)
message.path[i3] = object3.path[i3] | 0;
}
if (object3.sourceFile != null)
message.sourceFile = String(object3.sourceFile);
if (object3.begin != null)
message.begin = object3.begin | 0;
if (object3.end != null)
message.end = object3.end | 0;
switch (object3.semantic) {
default:
if (typeof object3.semantic === "number") {
message.semantic = object3.semantic;
break;
}
break;
case "NONE":
case 0:
message.semantic = 0;
break;
case "SET":
case 1:
message.semantic = 1;
break;
case "ALIAS":
case 2:
message.semantic = 2;
break;
}
return message;
};
Annotation.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.path = [];
if (options.defaults) {
object3.sourceFile = "";
object3.begin = 0;
object3.end = 0;
object3.semantic = options.enums === String ? "NONE" : 0;
}
if (message.path && message.path.length) {
object3.path = [];
for (var j = 0; j < message.path.length; ++j)
object3.path[j] = message.path[j];
}
if (message.sourceFile != null && message.hasOwnProperty("sourceFile"))
object3.sourceFile = message.sourceFile;
if (message.begin != null && message.hasOwnProperty("begin"))
object3.begin = message.begin;
if (message.end != null && message.hasOwnProperty("end"))
object3.end = message.end;
if (message.semantic != null && message.hasOwnProperty("semantic"))
object3.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] === void 0 ? message.semantic : $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic;
return object3;
};
Annotation.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Annotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo.Annotation";
};
Annotation.Semantic = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "NONE"] = 0;
values[valuesById[1] = "SET"] = 1;
values[valuesById[2] = "ALIAS"] = 2;
return values;
}();
return Annotation;
}();
return GeneratedCodeInfo;
}();
protobuf.Struct = function() {
function Struct2(properties) {
this.fields = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Struct2.prototype.fields = $util.emptyObject;
Struct2.create = function create(properties) {
return new Struct2(properties);
};
Struct2.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.fields != null && Object.hasOwnProperty.call(message, "fields"))
for (var keys = Object.keys(message.fields), i3 = 0; i3 < keys.length; ++i3) {
writer.uint32(
/* id 1, wireType 2 =*/
10
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]);
$root.google.protobuf.Value.encode(message.fields[keys[i3]], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim().ldelim();
}
return writer;
};
Struct2.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Struct2.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.Struct(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (message.fields === $util.emptyObject)
message.fields = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = null;
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = $root.google.protobuf.Value.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.fields[key] = value;
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Struct2.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Struct2.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.fields != null && message.hasOwnProperty("fields")) {
if (!$util.isObject(message.fields))
return "fields: object expected";
var key = Object.keys(message.fields);
for (var i3 = 0; i3 < key.length; ++i3) {
var error40 = $root.google.protobuf.Value.verify(message.fields[key[i3]]);
if (error40)
return "fields." + error40;
}
}
return null;
};
Struct2.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.Struct)
return object3;
var message = new $root.google.protobuf.Struct();
if (object3.fields) {
if (typeof object3.fields !== "object")
throw TypeError(".google.protobuf.Struct.fields: object expected");
message.fields = {};
for (var keys = Object.keys(object3.fields), i3 = 0; i3 < keys.length; ++i3) {
if (typeof object3.fields[keys[i3]] !== "object")
throw TypeError(".google.protobuf.Struct.fields: object expected");
message.fields[keys[i3]] = $root.google.protobuf.Value.fromObject(object3.fields[keys[i3]]);
}
}
return message;
};
Struct2.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.fields = {};
var keys2;
if (message.fields && (keys2 = Object.keys(message.fields)).length) {
object3.fields = {};
for (var j = 0; j < keys2.length; ++j)
object3.fields[keys2[j]] = $root.google.protobuf.Value.toObject(message.fields[keys2[j]], options);
}
return object3;
};
Struct2.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Struct2.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.Struct";
};
return Struct2;
}();
protobuf.Value = function() {
function Value2(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Value2.prototype.nullValue = null;
Value2.prototype.numberValue = null;
Value2.prototype.stringValue = null;
Value2.prototype.boolValue = null;
Value2.prototype.structValue = null;
Value2.prototype.listValue = null;
var $oneOfFields;
Object.defineProperty(Value2.prototype, "kind", {
get: $util.oneOfGetter($oneOfFields = ["nullValue", "numberValue", "stringValue", "boolValue", "structValue", "listValue"]),
set: $util.oneOfSetter($oneOfFields)
});
Value2.create = function create(properties) {
return new Value2(properties);
};
Value2.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.nullValue != null && Object.hasOwnProperty.call(message, "nullValue"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.nullValue);
if (message.numberValue != null && Object.hasOwnProperty.call(message, "numberValue"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).double(message.numberValue);
if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.stringValue);
if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).bool(message.boolValue);
if (message.structValue != null && Object.hasOwnProperty.call(message, "structValue"))
$root.google.protobuf.Struct.encode(message.structValue, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.listValue != null && Object.hasOwnProperty.call(message, "listValue"))
$root.google.protobuf.ListValue.encode(message.listValue, writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
return writer;
};
Value2.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Value2.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.Value();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.nullValue = reader.int32();
break;
}
case 2: {
message.numberValue = reader.double();
break;
}
case 3: {
message.stringValue = reader.string();
break;
}
case 4: {
message.boolValue = reader.bool();
break;
}
case 5: {
message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32());
break;
}
case 6: {
message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Value2.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Value2.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.nullValue != null && message.hasOwnProperty("nullValue")) {
properties.kind = 1;
switch (message.nullValue) {
default:
return "nullValue: enum value expected";
case 0:
break;
}
}
if (message.numberValue != null && message.hasOwnProperty("numberValue")) {
if (properties.kind === 1)
return "kind: multiple values";
properties.kind = 1;
if (typeof message.numberValue !== "number")
return "numberValue: number expected";
}
if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
if (properties.kind === 1)
return "kind: multiple values";
properties.kind = 1;
if (!$util.isString(message.stringValue))
return "stringValue: string expected";
}
if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
if (properties.kind === 1)
return "kind: multiple values";
properties.kind = 1;
if (typeof message.boolValue !== "boolean")
return "boolValue: boolean expected";
}
if (message.structValue != null && message.hasOwnProperty("structValue")) {
if (properties.kind === 1)
return "kind: multiple values";
properties.kind = 1;
{
var error40 = $root.google.protobuf.Struct.verify(message.structValue);
if (error40)
return "structValue." + error40;
}
}
if (message.listValue != null && message.hasOwnProperty("listValue")) {
if (properties.kind === 1)
return "kind: multiple values";
properties.kind = 1;
{
var error40 = $root.google.protobuf.ListValue.verify(message.listValue);
if (error40)
return "listValue." + error40;
}
}
return null;
};
Value2.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.Value)
return object3;
var message = new $root.google.protobuf.Value();
switch (object3.nullValue) {
default:
if (typeof object3.nullValue === "number") {
message.nullValue = object3.nullValue;
break;
}
break;
case "NULL_VALUE":
case 0:
message.nullValue = 0;
break;
}
if (object3.numberValue != null)
message.numberValue = Number(object3.numberValue);
if (object3.stringValue != null)
message.stringValue = String(object3.stringValue);
if (object3.boolValue != null)
message.boolValue = Boolean(object3.boolValue);
if (object3.structValue != null) {
if (typeof object3.structValue !== "object")
throw TypeError(".google.protobuf.Value.structValue: object expected");
message.structValue = $root.google.protobuf.Struct.fromObject(object3.structValue);
}
if (object3.listValue != null) {
if (typeof object3.listValue !== "object")
throw TypeError(".google.protobuf.Value.listValue: object expected");
message.listValue = $root.google.protobuf.ListValue.fromObject(object3.listValue);
}
return message;
};
Value2.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (message.nullValue != null && message.hasOwnProperty("nullValue")) {
object3.nullValue = options.enums === String ? $root.google.protobuf.NullValue[message.nullValue] === void 0 ? message.nullValue : $root.google.protobuf.NullValue[message.nullValue] : message.nullValue;
if (options.oneofs)
object3.kind = "nullValue";
}
if (message.numberValue != null && message.hasOwnProperty("numberValue")) {
object3.numberValue = options.json && !isFinite(message.numberValue) ? String(message.numberValue) : message.numberValue;
if (options.oneofs)
object3.kind = "numberValue";
}
if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
object3.stringValue = message.stringValue;
if (options.oneofs)
object3.kind = "stringValue";
}
if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
object3.boolValue = message.boolValue;
if (options.oneofs)
object3.kind = "boolValue";
}
if (message.structValue != null && message.hasOwnProperty("structValue")) {
object3.structValue = $root.google.protobuf.Struct.toObject(message.structValue, options);
if (options.oneofs)
object3.kind = "structValue";
}
if (message.listValue != null && message.hasOwnProperty("listValue")) {
object3.listValue = $root.google.protobuf.ListValue.toObject(message.listValue, options);
if (options.oneofs)
object3.kind = "listValue";
}
return object3;
};
Value2.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Value2.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.Value";
};
return Value2;
}();
protobuf.NullValue = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "NULL_VALUE"] = 0;
return values;
}();
protobuf.ListValue = function() {
function ListValue2(properties) {
this.values = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListValue2.prototype.values = $util.emptyArray;
ListValue2.create = function create(properties) {
return new ListValue2(properties);
};
ListValue2.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.values != null && message.values.length)
for (var i3 = 0; i3 < message.values.length; ++i3)
$root.google.protobuf.Value.encode(message.values[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
ListValue2.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListValue2.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.ListValue();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.values && message.values.length))
message.values = [];
message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListValue2.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListValue2.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.values != null && message.hasOwnProperty("values")) {
if (!Array.isArray(message.values))
return "values: array expected";
for (var i3 = 0; i3 < message.values.length; ++i3) {
var error40 = $root.google.protobuf.Value.verify(message.values[i3]);
if (error40)
return "values." + error40;
}
}
return null;
};
ListValue2.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.ListValue)
return object3;
var message = new $root.google.protobuf.ListValue();
if (object3.values) {
if (!Array.isArray(object3.values))
throw TypeError(".google.protobuf.ListValue.values: array expected");
message.values = [];
for (var i3 = 0; i3 < object3.values.length; ++i3) {
if (typeof object3.values[i3] !== "object")
throw TypeError(".google.protobuf.ListValue.values: object expected");
message.values[i3] = $root.google.protobuf.Value.fromObject(object3.values[i3]);
}
}
return message;
};
ListValue2.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.values = [];
if (message.values && message.values.length) {
object3.values = [];
for (var j = 0; j < message.values.length; ++j)
object3.values[j] = $root.google.protobuf.Value.toObject(message.values[j], options);
}
return object3;
};
ListValue2.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListValue2.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.ListValue";
};
return ListValue2;
}();
protobuf.Any = function() {
function Any(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Any.prototype.type_url = "";
Any.prototype.value = $util.newBuffer([]);
Any.create = function create(properties) {
return new Any(properties);
};
Any.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.type_url != null && Object.hasOwnProperty.call(message, "type_url"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.type_url);
if (message.value != null && Object.hasOwnProperty.call(message, "value"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).bytes(message.value);
return writer;
};
Any.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Any.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.type_url = reader.string();
break;
}
case 2: {
message.value = reader.bytes();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Any.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Any.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.type_url != null && message.hasOwnProperty("type_url")) {
if (!$util.isString(message.type_url))
return "type_url: string expected";
}
if (message.value != null && message.hasOwnProperty("value")) {
if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value)))
return "value: buffer expected";
}
return null;
};
Any.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.Any)
return object3;
var message = new $root.google.protobuf.Any();
if (object3.type_url != null)
message.type_url = String(object3.type_url);
if (object3.value != null) {
if (typeof object3.value === "string")
$util.base64.decode(object3.value, message.value = $util.newBuffer($util.base64.length(object3.value)), 0);
else if (object3.value.length >= 0)
message.value = object3.value;
}
return message;
};
Any.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.type_url = "";
if (options.bytes === String)
object3.value = "";
else {
object3.value = [];
if (options.bytes !== Array)
object3.value = $util.newBuffer(object3.value);
}
}
if (message.type_url != null && message.hasOwnProperty("type_url"))
object3.type_url = message.type_url;
if (message.value != null && message.hasOwnProperty("value"))
object3.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value;
return object3;
};
Any.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Any.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.Any";
};
return Any;
}();
protobuf.Timestamp = function() {
function Timestamp2(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Timestamp2.prototype.seconds = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
Timestamp2.prototype.nanos = 0;
Timestamp2.create = function create(properties) {
return new Timestamp2(properties);
};
Timestamp2.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int64(message.seconds);
if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.nanos);
return writer;
};
Timestamp2.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Timestamp2.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.seconds = reader.int64();
break;
}
case 2: {
message.nanos = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Timestamp2.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Timestamp2.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.seconds != null && message.hasOwnProperty("seconds")) {
if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high)))
return "seconds: integer|Long expected";
}
if (message.nanos != null && message.hasOwnProperty("nanos")) {
if (!$util.isInteger(message.nanos))
return "nanos: integer expected";
}
return null;
};
Timestamp2.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.Timestamp)
return object3;
var message = new $root.google.protobuf.Timestamp();
if (object3.seconds != null) {
if ($util.Long)
(message.seconds = $util.Long.fromValue(object3.seconds)).unsigned = false;
else if (typeof object3.seconds === "string")
message.seconds = parseInt(object3.seconds, 10);
else if (typeof object3.seconds === "number")
message.seconds = object3.seconds;
else if (typeof object3.seconds === "object")
message.seconds = new $util.LongBits(object3.seconds.low >>> 0, object3.seconds.high >>> 0).toNumber();
}
if (object3.nanos != null)
message.nanos = object3.nanos | 0;
return message;
};
Timestamp2.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.seconds = options.longs === String ? "0" : 0;
object3.nanos = 0;
}
if (message.seconds != null && message.hasOwnProperty("seconds"))
if (typeof message.seconds === "number")
object3.seconds = options.longs === String ? String(message.seconds) : message.seconds;
else
object3.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds;
if (message.nanos != null && message.hasOwnProperty("nanos"))
object3.nanos = message.nanos;
return object3;
};
Timestamp2.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Timestamp2.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.Timestamp";
};
return Timestamp2;
}();
protobuf.Empty = function() {
function Empty2(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Empty2.create = function create(properties) {
return new Empty2(properties);
};
Empty2.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
return writer;
};
Empty2.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Empty2.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Empty2.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Empty2.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
return null;
};
Empty2.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.Empty)
return object3;
return new $root.google.protobuf.Empty();
};
Empty2.toObject = function toObject() {
return {};
};
Empty2.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Empty2.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.Empty";
};
return Empty2;
}();
protobuf.FieldMask = function() {
function FieldMask(properties) {
this.paths = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
FieldMask.prototype.paths = $util.emptyArray;
FieldMask.create = function create(properties) {
return new FieldMask(properties);
};
FieldMask.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.paths != null && message.paths.length)
for (var i3 = 0; i3 < message.paths.length; ++i3)
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.paths[i3]);
return writer;
};
FieldMask.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
FieldMask.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.paths && message.paths.length))
message.paths = [];
message.paths.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
FieldMask.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
FieldMask.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.paths != null && message.hasOwnProperty("paths")) {
if (!Array.isArray(message.paths))
return "paths: array expected";
for (var i3 = 0; i3 < message.paths.length; ++i3)
if (!$util.isString(message.paths[i3]))
return "paths: string[] expected";
}
return null;
};
FieldMask.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.protobuf.FieldMask)
return object3;
var message = new $root.google.protobuf.FieldMask();
if (object3.paths) {
if (!Array.isArray(object3.paths))
throw TypeError(".google.protobuf.FieldMask.paths: array expected");
message.paths = [];
for (var i3 = 0; i3 < object3.paths.length; ++i3)
message.paths[i3] = String(object3.paths[i3]);
}
return message;
};
FieldMask.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.paths = [];
if (message.paths && message.paths.length) {
object3.paths = [];
for (var j = 0; j < message.paths.length; ++j)
object3.paths[j] = message.paths[j];
}
return object3;
};
FieldMask.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
FieldMask.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.protobuf.FieldMask";
};
return FieldMask;
}();
return protobuf;
}();
google.logging = function() {
var logging = {};
logging.type = function() {
var type2 = {};
type2.HttpRequest = function() {
function HttpRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
HttpRequest.prototype.requestMethod = "";
HttpRequest.prototype.requestUrl = "";
HttpRequest.prototype.requestSize = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
HttpRequest.prototype.status = 0;
HttpRequest.prototype.responseSize = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
HttpRequest.prototype.userAgent = "";
HttpRequest.prototype.remoteIp = "";
HttpRequest.prototype.serverIp = "";
HttpRequest.prototype.referer = "";
HttpRequest.prototype.latency = null;
HttpRequest.prototype.cacheLookup = false;
HttpRequest.prototype.cacheHit = false;
HttpRequest.prototype.cacheValidatedWithOriginServer = false;
HttpRequest.prototype.cacheFillBytes = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
HttpRequest.prototype.protocol = "";
HttpRequest.create = function create(properties) {
return new HttpRequest(properties);
};
HttpRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.requestMethod != null && Object.hasOwnProperty.call(message, "requestMethod"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.requestMethod);
if (message.requestUrl != null && Object.hasOwnProperty.call(message, "requestUrl"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.requestUrl);
if (message.requestSize != null && Object.hasOwnProperty.call(message, "requestSize"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int64(message.requestSize);
if (message.status != null && Object.hasOwnProperty.call(message, "status"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.status);
if (message.responseSize != null && Object.hasOwnProperty.call(message, "responseSize"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).int64(message.responseSize);
if (message.userAgent != null && Object.hasOwnProperty.call(message, "userAgent"))
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.userAgent);
if (message.remoteIp != null && Object.hasOwnProperty.call(message, "remoteIp"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).string(message.remoteIp);
if (message.referer != null && Object.hasOwnProperty.call(message, "referer"))
writer.uint32(
/* id 8, wireType 2 =*/
66
).string(message.referer);
if (message.cacheHit != null && Object.hasOwnProperty.call(message, "cacheHit"))
writer.uint32(
/* id 9, wireType 0 =*/
72
).bool(message.cacheHit);
if (message.cacheValidatedWithOriginServer != null && Object.hasOwnProperty.call(message, "cacheValidatedWithOriginServer"))
writer.uint32(
/* id 10, wireType 0 =*/
80
).bool(message.cacheValidatedWithOriginServer);
if (message.cacheLookup != null && Object.hasOwnProperty.call(message, "cacheLookup"))
writer.uint32(
/* id 11, wireType 0 =*/
88
).bool(message.cacheLookup);
if (message.cacheFillBytes != null && Object.hasOwnProperty.call(message, "cacheFillBytes"))
writer.uint32(
/* id 12, wireType 0 =*/
96
).int64(message.cacheFillBytes);
if (message.serverIp != null && Object.hasOwnProperty.call(message, "serverIp"))
writer.uint32(
/* id 13, wireType 2 =*/
106
).string(message.serverIp);
if (message.latency != null && Object.hasOwnProperty.call(message, "latency"))
$root.google.protobuf.Duration.encode(message.latency, writer.uint32(
/* id 14, wireType 2 =*/
114
).fork()).ldelim();
if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol"))
writer.uint32(
/* id 15, wireType 2 =*/
122
).string(message.protocol);
return writer;
};
HttpRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
HttpRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.type.HttpRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.requestMethod = reader.string();
break;
}
case 2: {
message.requestUrl = reader.string();
break;
}
case 3: {
message.requestSize = reader.int64();
break;
}
case 4: {
message.status = reader.int32();
break;
}
case 5: {
message.responseSize = reader.int64();
break;
}
case 6: {
message.userAgent = reader.string();
break;
}
case 7: {
message.remoteIp = reader.string();
break;
}
case 13: {
message.serverIp = reader.string();
break;
}
case 8: {
message.referer = reader.string();
break;
}
case 14: {
message.latency = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
case 11: {
message.cacheLookup = reader.bool();
break;
}
case 9: {
message.cacheHit = reader.bool();
break;
}
case 10: {
message.cacheValidatedWithOriginServer = reader.bool();
break;
}
case 12: {
message.cacheFillBytes = reader.int64();
break;
}
case 15: {
message.protocol = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
HttpRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
HttpRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.requestMethod != null && message.hasOwnProperty("requestMethod")) {
if (!$util.isString(message.requestMethod))
return "requestMethod: string expected";
}
if (message.requestUrl != null && message.hasOwnProperty("requestUrl")) {
if (!$util.isString(message.requestUrl))
return "requestUrl: string expected";
}
if (message.requestSize != null && message.hasOwnProperty("requestSize")) {
if (!$util.isInteger(message.requestSize) && !(message.requestSize && $util.isInteger(message.requestSize.low) && $util.isInteger(message.requestSize.high)))
return "requestSize: integer|Long expected";
}
if (message.status != null && message.hasOwnProperty("status")) {
if (!$util.isInteger(message.status))
return "status: integer expected";
}
if (message.responseSize != null && message.hasOwnProperty("responseSize")) {
if (!$util.isInteger(message.responseSize) && !(message.responseSize && $util.isInteger(message.responseSize.low) && $util.isInteger(message.responseSize.high)))
return "responseSize: integer|Long expected";
}
if (message.userAgent != null && message.hasOwnProperty("userAgent")) {
if (!$util.isString(message.userAgent))
return "userAgent: string expected";
}
if (message.remoteIp != null && message.hasOwnProperty("remoteIp")) {
if (!$util.isString(message.remoteIp))
return "remoteIp: string expected";
}
if (message.serverIp != null && message.hasOwnProperty("serverIp")) {
if (!$util.isString(message.serverIp))
return "serverIp: string expected";
}
if (message.referer != null && message.hasOwnProperty("referer")) {
if (!$util.isString(message.referer))
return "referer: string expected";
}
if (message.latency != null && message.hasOwnProperty("latency")) {
var error40 = $root.google.protobuf.Duration.verify(message.latency);
if (error40)
return "latency." + error40;
}
if (message.cacheLookup != null && message.hasOwnProperty("cacheLookup")) {
if (typeof message.cacheLookup !== "boolean")
return "cacheLookup: boolean expected";
}
if (message.cacheHit != null && message.hasOwnProperty("cacheHit")) {
if (typeof message.cacheHit !== "boolean")
return "cacheHit: boolean expected";
}
if (message.cacheValidatedWithOriginServer != null && message.hasOwnProperty("cacheValidatedWithOriginServer")) {
if (typeof message.cacheValidatedWithOriginServer !== "boolean")
return "cacheValidatedWithOriginServer: boolean expected";
}
if (message.cacheFillBytes != null && message.hasOwnProperty("cacheFillBytes")) {
if (!$util.isInteger(message.cacheFillBytes) && !(message.cacheFillBytes && $util.isInteger(message.cacheFillBytes.low) && $util.isInteger(message.cacheFillBytes.high)))
return "cacheFillBytes: integer|Long expected";
}
if (message.protocol != null && message.hasOwnProperty("protocol")) {
if (!$util.isString(message.protocol))
return "protocol: string expected";
}
return null;
};
HttpRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.type.HttpRequest)
return object3;
var message = new $root.google.logging.type.HttpRequest();
if (object3.requestMethod != null)
message.requestMethod = String(object3.requestMethod);
if (object3.requestUrl != null)
message.requestUrl = String(object3.requestUrl);
if (object3.requestSize != null) {
if ($util.Long)
(message.requestSize = $util.Long.fromValue(object3.requestSize)).unsigned = false;
else if (typeof object3.requestSize === "string")
message.requestSize = parseInt(object3.requestSize, 10);
else if (typeof object3.requestSize === "number")
message.requestSize = object3.requestSize;
else if (typeof object3.requestSize === "object")
message.requestSize = new $util.LongBits(object3.requestSize.low >>> 0, object3.requestSize.high >>> 0).toNumber();
}
if (object3.status != null)
message.status = object3.status | 0;
if (object3.responseSize != null) {
if ($util.Long)
(message.responseSize = $util.Long.fromValue(object3.responseSize)).unsigned = false;
else if (typeof object3.responseSize === "string")
message.responseSize = parseInt(object3.responseSize, 10);
else if (typeof object3.responseSize === "number")
message.responseSize = object3.responseSize;
else if (typeof object3.responseSize === "object")
message.responseSize = new $util.LongBits(object3.responseSize.low >>> 0, object3.responseSize.high >>> 0).toNumber();
}
if (object3.userAgent != null)
message.userAgent = String(object3.userAgent);
if (object3.remoteIp != null)
message.remoteIp = String(object3.remoteIp);
if (object3.serverIp != null)
message.serverIp = String(object3.serverIp);
if (object3.referer != null)
message.referer = String(object3.referer);
if (object3.latency != null) {
if (typeof object3.latency !== "object")
throw TypeError(".google.logging.type.HttpRequest.latency: object expected");
message.latency = $root.google.protobuf.Duration.fromObject(object3.latency);
}
if (object3.cacheLookup != null)
message.cacheLookup = Boolean(object3.cacheLookup);
if (object3.cacheHit != null)
message.cacheHit = Boolean(object3.cacheHit);
if (object3.cacheValidatedWithOriginServer != null)
message.cacheValidatedWithOriginServer = Boolean(object3.cacheValidatedWithOriginServer);
if (object3.cacheFillBytes != null) {
if ($util.Long)
(message.cacheFillBytes = $util.Long.fromValue(object3.cacheFillBytes)).unsigned = false;
else if (typeof object3.cacheFillBytes === "string")
message.cacheFillBytes = parseInt(object3.cacheFillBytes, 10);
else if (typeof object3.cacheFillBytes === "number")
message.cacheFillBytes = object3.cacheFillBytes;
else if (typeof object3.cacheFillBytes === "object")
message.cacheFillBytes = new $util.LongBits(object3.cacheFillBytes.low >>> 0, object3.cacheFillBytes.high >>> 0).toNumber();
}
if (object3.protocol != null)
message.protocol = String(object3.protocol);
return message;
};
HttpRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.requestMethod = "";
object3.requestUrl = "";
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.requestSize = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.requestSize = options.longs === String ? "0" : 0;
object3.status = 0;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.responseSize = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.responseSize = options.longs === String ? "0" : 0;
object3.userAgent = "";
object3.remoteIp = "";
object3.referer = "";
object3.cacheHit = false;
object3.cacheValidatedWithOriginServer = false;
object3.cacheLookup = false;
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.cacheFillBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.cacheFillBytes = options.longs === String ? "0" : 0;
object3.serverIp = "";
object3.latency = null;
object3.protocol = "";
}
if (message.requestMethod != null && message.hasOwnProperty("requestMethod"))
object3.requestMethod = message.requestMethod;
if (message.requestUrl != null && message.hasOwnProperty("requestUrl"))
object3.requestUrl = message.requestUrl;
if (message.requestSize != null && message.hasOwnProperty("requestSize"))
if (typeof message.requestSize === "number")
object3.requestSize = options.longs === String ? String(message.requestSize) : message.requestSize;
else
object3.requestSize = options.longs === String ? $util.Long.prototype.toString.call(message.requestSize) : options.longs === Number ? new $util.LongBits(message.requestSize.low >>> 0, message.requestSize.high >>> 0).toNumber() : message.requestSize;
if (message.status != null && message.hasOwnProperty("status"))
object3.status = message.status;
if (message.responseSize != null && message.hasOwnProperty("responseSize"))
if (typeof message.responseSize === "number")
object3.responseSize = options.longs === String ? String(message.responseSize) : message.responseSize;
else
object3.responseSize = options.longs === String ? $util.Long.prototype.toString.call(message.responseSize) : options.longs === Number ? new $util.LongBits(message.responseSize.low >>> 0, message.responseSize.high >>> 0).toNumber() : message.responseSize;
if (message.userAgent != null && message.hasOwnProperty("userAgent"))
object3.userAgent = message.userAgent;
if (message.remoteIp != null && message.hasOwnProperty("remoteIp"))
object3.remoteIp = message.remoteIp;
if (message.referer != null && message.hasOwnProperty("referer"))
object3.referer = message.referer;
if (message.cacheHit != null && message.hasOwnProperty("cacheHit"))
object3.cacheHit = message.cacheHit;
if (message.cacheValidatedWithOriginServer != null && message.hasOwnProperty("cacheValidatedWithOriginServer"))
object3.cacheValidatedWithOriginServer = message.cacheValidatedWithOriginServer;
if (message.cacheLookup != null && message.hasOwnProperty("cacheLookup"))
object3.cacheLookup = message.cacheLookup;
if (message.cacheFillBytes != null && message.hasOwnProperty("cacheFillBytes"))
if (typeof message.cacheFillBytes === "number")
object3.cacheFillBytes = options.longs === String ? String(message.cacheFillBytes) : message.cacheFillBytes;
else
object3.cacheFillBytes = options.longs === String ? $util.Long.prototype.toString.call(message.cacheFillBytes) : options.longs === Number ? new $util.LongBits(message.cacheFillBytes.low >>> 0, message.cacheFillBytes.high >>> 0).toNumber() : message.cacheFillBytes;
if (message.serverIp != null && message.hasOwnProperty("serverIp"))
object3.serverIp = message.serverIp;
if (message.latency != null && message.hasOwnProperty("latency"))
object3.latency = $root.google.protobuf.Duration.toObject(message.latency, options);
if (message.protocol != null && message.hasOwnProperty("protocol"))
object3.protocol = message.protocol;
return object3;
};
HttpRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
HttpRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.type.HttpRequest";
};
return HttpRequest;
}();
type2.LogSeverity = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "DEFAULT"] = 0;
values[valuesById[100] = "DEBUG"] = 100;
values[valuesById[200] = "INFO"] = 200;
values[valuesById[300] = "NOTICE"] = 300;
values[valuesById[400] = "WARNING"] = 400;
values[valuesById[500] = "ERROR"] = 500;
values[valuesById[600] = "CRITICAL"] = 600;
values[valuesById[700] = "ALERT"] = 700;
values[valuesById[800] = "EMERGENCY"] = 800;
return values;
}();
return type2;
}();
logging.v2 = function() {
var v2 = {};
v2.LogEntry = function() {
function LogEntry(properties) {
this.labels = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogEntry.prototype.logName = "";
LogEntry.prototype.resource = null;
LogEntry.prototype.protoPayload = null;
LogEntry.prototype.textPayload = null;
LogEntry.prototype.jsonPayload = null;
LogEntry.prototype.timestamp = null;
LogEntry.prototype.receiveTimestamp = null;
LogEntry.prototype.severity = 0;
LogEntry.prototype.insertId = "";
LogEntry.prototype.httpRequest = null;
LogEntry.prototype.labels = $util.emptyObject;
LogEntry.prototype.operation = null;
LogEntry.prototype.trace = "";
LogEntry.prototype.spanId = "";
LogEntry.prototype.traceSampled = false;
LogEntry.prototype.sourceLocation = null;
LogEntry.prototype.split = null;
var $oneOfFields;
Object.defineProperty(LogEntry.prototype, "payload", {
get: $util.oneOfGetter($oneOfFields = ["protoPayload", "textPayload", "jsonPayload"]),
set: $util.oneOfSetter($oneOfFields)
});
LogEntry.create = function create(properties) {
return new LogEntry(properties);
};
LogEntry.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.protoPayload != null && Object.hasOwnProperty.call(message, "protoPayload"))
$root.google.protobuf.Any.encode(message.protoPayload, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.textPayload != null && Object.hasOwnProperty.call(message, "textPayload"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.textPayload);
if (message.insertId != null && Object.hasOwnProperty.call(message, "insertId"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.insertId);
if (message.jsonPayload != null && Object.hasOwnProperty.call(message, "jsonPayload"))
$root.google.protobuf.Struct.encode(message.jsonPayload, writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
if (message.httpRequest != null && Object.hasOwnProperty.call(message, "httpRequest"))
$root.google.logging.type.HttpRequest.encode(message.httpRequest, writer.uint32(
/* id 7, wireType 2 =*/
58
).fork()).ldelim();
if (message.resource != null && Object.hasOwnProperty.call(message, "resource"))
$root.google.api.MonitoredResource.encode(message.resource, writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
$root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.severity != null && Object.hasOwnProperty.call(message, "severity"))
writer.uint32(
/* id 10, wireType 0 =*/
80
).int32(message.severity);
if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
for (var keys = Object.keys(message.labels), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 11, wireType 2 =*/
90
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.labels[keys[i3]]).ldelim();
if (message.logName != null && Object.hasOwnProperty.call(message, "logName"))
writer.uint32(
/* id 12, wireType 2 =*/
98
).string(message.logName);
if (message.operation != null && Object.hasOwnProperty.call(message, "operation"))
$root.google.logging.v2.LogEntryOperation.encode(message.operation, writer.uint32(
/* id 15, wireType 2 =*/
122
).fork()).ldelim();
if (message.trace != null && Object.hasOwnProperty.call(message, "trace"))
writer.uint32(
/* id 22, wireType 2 =*/
178
).string(message.trace);
if (message.sourceLocation != null && Object.hasOwnProperty.call(message, "sourceLocation"))
$root.google.logging.v2.LogEntrySourceLocation.encode(message.sourceLocation, writer.uint32(
/* id 23, wireType 2 =*/
186
).fork()).ldelim();
if (message.receiveTimestamp != null && Object.hasOwnProperty.call(message, "receiveTimestamp"))
$root.google.protobuf.Timestamp.encode(message.receiveTimestamp, writer.uint32(
/* id 24, wireType 2 =*/
194
).fork()).ldelim();
if (message.spanId != null && Object.hasOwnProperty.call(message, "spanId"))
writer.uint32(
/* id 27, wireType 2 =*/
218
).string(message.spanId);
if (message.traceSampled != null && Object.hasOwnProperty.call(message, "traceSampled"))
writer.uint32(
/* id 30, wireType 0 =*/
240
).bool(message.traceSampled);
if (message.split != null && Object.hasOwnProperty.call(message, "split"))
$root.google.logging.v2.LogSplit.encode(message.split, writer.uint32(
/* id 35, wireType 2 =*/
282
).fork()).ldelim();
return writer;
};
LogEntry.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogEntry.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogEntry(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 12: {
message.logName = reader.string();
break;
}
case 8: {
message.resource = $root.google.api.MonitoredResource.decode(reader, reader.uint32());
break;
}
case 2: {
message.protoPayload = $root.google.protobuf.Any.decode(reader, reader.uint32());
break;
}
case 3: {
message.textPayload = reader.string();
break;
}
case 6: {
message.jsonPayload = $root.google.protobuf.Struct.decode(reader, reader.uint32());
break;
}
case 9: {
message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 24: {
message.receiveTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 10: {
message.severity = reader.int32();
break;
}
case 4: {
message.insertId = reader.string();
break;
}
case 7: {
message.httpRequest = $root.google.logging.type.HttpRequest.decode(reader, reader.uint32());
break;
}
case 11: {
if (message.labels === $util.emptyObject)
message.labels = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.labels[key] = value;
break;
}
case 15: {
message.operation = $root.google.logging.v2.LogEntryOperation.decode(reader, reader.uint32());
break;
}
case 22: {
message.trace = reader.string();
break;
}
case 27: {
message.spanId = reader.string();
break;
}
case 30: {
message.traceSampled = reader.bool();
break;
}
case 23: {
message.sourceLocation = $root.google.logging.v2.LogEntrySourceLocation.decode(reader, reader.uint32());
break;
}
case 35: {
message.split = $root.google.logging.v2.LogSplit.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogEntry.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogEntry.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.logName != null && message.hasOwnProperty("logName")) {
if (!$util.isString(message.logName))
return "logName: string expected";
}
if (message.resource != null && message.hasOwnProperty("resource")) {
var error40 = $root.google.api.MonitoredResource.verify(message.resource);
if (error40)
return "resource." + error40;
}
if (message.protoPayload != null && message.hasOwnProperty("protoPayload")) {
properties.payload = 1;
{
var error40 = $root.google.protobuf.Any.verify(message.protoPayload);
if (error40)
return "protoPayload." + error40;
}
}
if (message.textPayload != null && message.hasOwnProperty("textPayload")) {
if (properties.payload === 1)
return "payload: multiple values";
properties.payload = 1;
if (!$util.isString(message.textPayload))
return "textPayload: string expected";
}
if (message.jsonPayload != null && message.hasOwnProperty("jsonPayload")) {
if (properties.payload === 1)
return "payload: multiple values";
properties.payload = 1;
{
var error40 = $root.google.protobuf.Struct.verify(message.jsonPayload);
if (error40)
return "jsonPayload." + error40;
}
}
if (message.timestamp != null && message.hasOwnProperty("timestamp")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.timestamp);
if (error40)
return "timestamp." + error40;
}
if (message.receiveTimestamp != null && message.hasOwnProperty("receiveTimestamp")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.receiveTimestamp);
if (error40)
return "receiveTimestamp." + error40;
}
if (message.severity != null && message.hasOwnProperty("severity"))
switch (message.severity) {
default:
return "severity: enum value expected";
case 0:
case 100:
case 200:
case 300:
case 400:
case 500:
case 600:
case 700:
case 800:
break;
}
if (message.insertId != null && message.hasOwnProperty("insertId")) {
if (!$util.isString(message.insertId))
return "insertId: string expected";
}
if (message.httpRequest != null && message.hasOwnProperty("httpRequest")) {
var error40 = $root.google.logging.type.HttpRequest.verify(message.httpRequest);
if (error40)
return "httpRequest." + error40;
}
if (message.labels != null && message.hasOwnProperty("labels")) {
if (!$util.isObject(message.labels))
return "labels: object expected";
var key = Object.keys(message.labels);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.labels[key[i3]]))
return "labels: string{k:string} expected";
}
if (message.operation != null && message.hasOwnProperty("operation")) {
var error40 = $root.google.logging.v2.LogEntryOperation.verify(message.operation);
if (error40)
return "operation." + error40;
}
if (message.trace != null && message.hasOwnProperty("trace")) {
if (!$util.isString(message.trace))
return "trace: string expected";
}
if (message.spanId != null && message.hasOwnProperty("spanId")) {
if (!$util.isString(message.spanId))
return "spanId: string expected";
}
if (message.traceSampled != null && message.hasOwnProperty("traceSampled")) {
if (typeof message.traceSampled !== "boolean")
return "traceSampled: boolean expected";
}
if (message.sourceLocation != null && message.hasOwnProperty("sourceLocation")) {
var error40 = $root.google.logging.v2.LogEntrySourceLocation.verify(message.sourceLocation);
if (error40)
return "sourceLocation." + error40;
}
if (message.split != null && message.hasOwnProperty("split")) {
var error40 = $root.google.logging.v2.LogSplit.verify(message.split);
if (error40)
return "split." + error40;
}
return null;
};
LogEntry.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogEntry)
return object3;
var message = new $root.google.logging.v2.LogEntry();
if (object3.logName != null)
message.logName = String(object3.logName);
if (object3.resource != null) {
if (typeof object3.resource !== "object")
throw TypeError(".google.logging.v2.LogEntry.resource: object expected");
message.resource = $root.google.api.MonitoredResource.fromObject(object3.resource);
}
if (object3.protoPayload != null) {
if (typeof object3.protoPayload !== "object")
throw TypeError(".google.logging.v2.LogEntry.protoPayload: object expected");
message.protoPayload = $root.google.protobuf.Any.fromObject(object3.protoPayload);
}
if (object3.textPayload != null)
message.textPayload = String(object3.textPayload);
if (object3.jsonPayload != null) {
if (typeof object3.jsonPayload !== "object")
throw TypeError(".google.logging.v2.LogEntry.jsonPayload: object expected");
message.jsonPayload = $root.google.protobuf.Struct.fromObject(object3.jsonPayload);
}
if (object3.timestamp != null) {
if (typeof object3.timestamp !== "object")
throw TypeError(".google.logging.v2.LogEntry.timestamp: object expected");
message.timestamp = $root.google.protobuf.Timestamp.fromObject(object3.timestamp);
}
if (object3.receiveTimestamp != null) {
if (typeof object3.receiveTimestamp !== "object")
throw TypeError(".google.logging.v2.LogEntry.receiveTimestamp: object expected");
message.receiveTimestamp = $root.google.protobuf.Timestamp.fromObject(object3.receiveTimestamp);
}
switch (object3.severity) {
default:
if (typeof object3.severity === "number") {
message.severity = object3.severity;
break;
}
break;
case "DEFAULT":
case 0:
message.severity = 0;
break;
case "DEBUG":
case 100:
message.severity = 100;
break;
case "INFO":
case 200:
message.severity = 200;
break;
case "NOTICE":
case 300:
message.severity = 300;
break;
case "WARNING":
case 400:
message.severity = 400;
break;
case "ERROR":
case 500:
message.severity = 500;
break;
case "CRITICAL":
case 600:
message.severity = 600;
break;
case "ALERT":
case 700:
message.severity = 700;
break;
case "EMERGENCY":
case 800:
message.severity = 800;
break;
}
if (object3.insertId != null)
message.insertId = String(object3.insertId);
if (object3.httpRequest != null) {
if (typeof object3.httpRequest !== "object")
throw TypeError(".google.logging.v2.LogEntry.httpRequest: object expected");
message.httpRequest = $root.google.logging.type.HttpRequest.fromObject(object3.httpRequest);
}
if (object3.labels) {
if (typeof object3.labels !== "object")
throw TypeError(".google.logging.v2.LogEntry.labels: object expected");
message.labels = {};
for (var keys = Object.keys(object3.labels), i3 = 0; i3 < keys.length; ++i3)
message.labels[keys[i3]] = String(object3.labels[keys[i3]]);
}
if (object3.operation != null) {
if (typeof object3.operation !== "object")
throw TypeError(".google.logging.v2.LogEntry.operation: object expected");
message.operation = $root.google.logging.v2.LogEntryOperation.fromObject(object3.operation);
}
if (object3.trace != null)
message.trace = String(object3.trace);
if (object3.spanId != null)
message.spanId = String(object3.spanId);
if (object3.traceSampled != null)
message.traceSampled = Boolean(object3.traceSampled);
if (object3.sourceLocation != null) {
if (typeof object3.sourceLocation !== "object")
throw TypeError(".google.logging.v2.LogEntry.sourceLocation: object expected");
message.sourceLocation = $root.google.logging.v2.LogEntrySourceLocation.fromObject(object3.sourceLocation);
}
if (object3.split != null) {
if (typeof object3.split !== "object")
throw TypeError(".google.logging.v2.LogEntry.split: object expected");
message.split = $root.google.logging.v2.LogSplit.fromObject(object3.split);
}
return message;
};
LogEntry.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.labels = {};
if (options.defaults) {
object3.insertId = "";
object3.httpRequest = null;
object3.resource = null;
object3.timestamp = null;
object3.severity = options.enums === String ? "DEFAULT" : 0;
object3.logName = "";
object3.operation = null;
object3.trace = "";
object3.sourceLocation = null;
object3.receiveTimestamp = null;
object3.spanId = "";
object3.traceSampled = false;
object3.split = null;
}
if (message.protoPayload != null && message.hasOwnProperty("protoPayload")) {
object3.protoPayload = $root.google.protobuf.Any.toObject(message.protoPayload, options);
if (options.oneofs)
object3.payload = "protoPayload";
}
if (message.textPayload != null && message.hasOwnProperty("textPayload")) {
object3.textPayload = message.textPayload;
if (options.oneofs)
object3.payload = "textPayload";
}
if (message.insertId != null && message.hasOwnProperty("insertId"))
object3.insertId = message.insertId;
if (message.jsonPayload != null && message.hasOwnProperty("jsonPayload")) {
object3.jsonPayload = $root.google.protobuf.Struct.toObject(message.jsonPayload, options);
if (options.oneofs)
object3.payload = "jsonPayload";
}
if (message.httpRequest != null && message.hasOwnProperty("httpRequest"))
object3.httpRequest = $root.google.logging.type.HttpRequest.toObject(message.httpRequest, options);
if (message.resource != null && message.hasOwnProperty("resource"))
object3.resource = $root.google.api.MonitoredResource.toObject(message.resource, options);
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
object3.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options);
if (message.severity != null && message.hasOwnProperty("severity"))
object3.severity = options.enums === String ? $root.google.logging.type.LogSeverity[message.severity] === void 0 ? message.severity : $root.google.logging.type.LogSeverity[message.severity] : message.severity;
var keys2;
if (message.labels && (keys2 = Object.keys(message.labels)).length) {
object3.labels = {};
for (var j = 0; j < keys2.length; ++j)
object3.labels[keys2[j]] = message.labels[keys2[j]];
}
if (message.logName != null && message.hasOwnProperty("logName"))
object3.logName = message.logName;
if (message.operation != null && message.hasOwnProperty("operation"))
object3.operation = $root.google.logging.v2.LogEntryOperation.toObject(message.operation, options);
if (message.trace != null && message.hasOwnProperty("trace"))
object3.trace = message.trace;
if (message.sourceLocation != null && message.hasOwnProperty("sourceLocation"))
object3.sourceLocation = $root.google.logging.v2.LogEntrySourceLocation.toObject(message.sourceLocation, options);
if (message.receiveTimestamp != null && message.hasOwnProperty("receiveTimestamp"))
object3.receiveTimestamp = $root.google.protobuf.Timestamp.toObject(message.receiveTimestamp, options);
if (message.spanId != null && message.hasOwnProperty("spanId"))
object3.spanId = message.spanId;
if (message.traceSampled != null && message.hasOwnProperty("traceSampled"))
object3.traceSampled = message.traceSampled;
if (message.split != null && message.hasOwnProperty("split"))
object3.split = $root.google.logging.v2.LogSplit.toObject(message.split, options);
return object3;
};
LogEntry.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogEntry.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogEntry";
};
return LogEntry;
}();
v2.LogEntryOperation = function() {
function LogEntryOperation(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogEntryOperation.prototype.id = "";
LogEntryOperation.prototype.producer = "";
LogEntryOperation.prototype.first = false;
LogEntryOperation.prototype.last = false;
LogEntryOperation.create = function create(properties) {
return new LogEntryOperation(properties);
};
LogEntryOperation.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.id != null && Object.hasOwnProperty.call(message, "id"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.id);
if (message.producer != null && Object.hasOwnProperty.call(message, "producer"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.producer);
if (message.first != null && Object.hasOwnProperty.call(message, "first"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.first);
if (message.last != null && Object.hasOwnProperty.call(message, "last"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).bool(message.last);
return writer;
};
LogEntryOperation.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogEntryOperation.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogEntryOperation();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.id = reader.string();
break;
}
case 2: {
message.producer = reader.string();
break;
}
case 3: {
message.first = reader.bool();
break;
}
case 4: {
message.last = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogEntryOperation.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogEntryOperation.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.id != null && message.hasOwnProperty("id")) {
if (!$util.isString(message.id))
return "id: string expected";
}
if (message.producer != null && message.hasOwnProperty("producer")) {
if (!$util.isString(message.producer))
return "producer: string expected";
}
if (message.first != null && message.hasOwnProperty("first")) {
if (typeof message.first !== "boolean")
return "first: boolean expected";
}
if (message.last != null && message.hasOwnProperty("last")) {
if (typeof message.last !== "boolean")
return "last: boolean expected";
}
return null;
};
LogEntryOperation.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogEntryOperation)
return object3;
var message = new $root.google.logging.v2.LogEntryOperation();
if (object3.id != null)
message.id = String(object3.id);
if (object3.producer != null)
message.producer = String(object3.producer);
if (object3.first != null)
message.first = Boolean(object3.first);
if (object3.last != null)
message.last = Boolean(object3.last);
return message;
};
LogEntryOperation.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.id = "";
object3.producer = "";
object3.first = false;
object3.last = false;
}
if (message.id != null && message.hasOwnProperty("id"))
object3.id = message.id;
if (message.producer != null && message.hasOwnProperty("producer"))
object3.producer = message.producer;
if (message.first != null && message.hasOwnProperty("first"))
object3.first = message.first;
if (message.last != null && message.hasOwnProperty("last"))
object3.last = message.last;
return object3;
};
LogEntryOperation.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogEntryOperation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogEntryOperation";
};
return LogEntryOperation;
}();
v2.LogEntrySourceLocation = function() {
function LogEntrySourceLocation(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogEntrySourceLocation.prototype.file = "";
LogEntrySourceLocation.prototype.line = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
LogEntrySourceLocation.prototype["function"] = "";
LogEntrySourceLocation.create = function create(properties) {
return new LogEntrySourceLocation(properties);
};
LogEntrySourceLocation.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.file != null && Object.hasOwnProperty.call(message, "file"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.file);
if (message.line != null && Object.hasOwnProperty.call(message, "line"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int64(message.line);
if (message["function"] != null && Object.hasOwnProperty.call(message, "function"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message["function"]);
return writer;
};
LogEntrySourceLocation.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogEntrySourceLocation.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogEntrySourceLocation();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.file = reader.string();
break;
}
case 2: {
message.line = reader.int64();
break;
}
case 3: {
message["function"] = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogEntrySourceLocation.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogEntrySourceLocation.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.file != null && message.hasOwnProperty("file")) {
if (!$util.isString(message.file))
return "file: string expected";
}
if (message.line != null && message.hasOwnProperty("line")) {
if (!$util.isInteger(message.line) && !(message.line && $util.isInteger(message.line.low) && $util.isInteger(message.line.high)))
return "line: integer|Long expected";
}
if (message["function"] != null && message.hasOwnProperty("function")) {
if (!$util.isString(message["function"]))
return "function: string expected";
}
return null;
};
LogEntrySourceLocation.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogEntrySourceLocation)
return object3;
var message = new $root.google.logging.v2.LogEntrySourceLocation();
if (object3.file != null)
message.file = String(object3.file);
if (object3.line != null) {
if ($util.Long)
(message.line = $util.Long.fromValue(object3.line)).unsigned = false;
else if (typeof object3.line === "string")
message.line = parseInt(object3.line, 10);
else if (typeof object3.line === "number")
message.line = object3.line;
else if (typeof object3.line === "object")
message.line = new $util.LongBits(object3.line.low >>> 0, object3.line.high >>> 0).toNumber();
}
if (object3["function"] != null)
message["function"] = String(object3["function"]);
return message;
};
LogEntrySourceLocation.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.file = "";
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.line = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.line = options.longs === String ? "0" : 0;
object3["function"] = "";
}
if (message.file != null && message.hasOwnProperty("file"))
object3.file = message.file;
if (message.line != null && message.hasOwnProperty("line"))
if (typeof message.line === "number")
object3.line = options.longs === String ? String(message.line) : message.line;
else
object3.line = options.longs === String ? $util.Long.prototype.toString.call(message.line) : options.longs === Number ? new $util.LongBits(message.line.low >>> 0, message.line.high >>> 0).toNumber() : message.line;
if (message["function"] != null && message.hasOwnProperty("function"))
object3["function"] = message["function"];
return object3;
};
LogEntrySourceLocation.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogEntrySourceLocation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogEntrySourceLocation";
};
return LogEntrySourceLocation;
}();
v2.LogSplit = function() {
function LogSplit(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogSplit.prototype.uid = "";
LogSplit.prototype.index = 0;
LogSplit.prototype.totalSplits = 0;
LogSplit.create = function create(properties) {
return new LogSplit(properties);
};
LogSplit.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.uid != null && Object.hasOwnProperty.call(message, "uid"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.uid);
if (message.index != null && Object.hasOwnProperty.call(message, "index"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.index);
if (message.totalSplits != null && Object.hasOwnProperty.call(message, "totalSplits"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.totalSplits);
return writer;
};
LogSplit.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogSplit.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogSplit();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.uid = reader.string();
break;
}
case 2: {
message.index = reader.int32();
break;
}
case 3: {
message.totalSplits = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogSplit.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogSplit.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.uid != null && message.hasOwnProperty("uid")) {
if (!$util.isString(message.uid))
return "uid: string expected";
}
if (message.index != null && message.hasOwnProperty("index")) {
if (!$util.isInteger(message.index))
return "index: integer expected";
}
if (message.totalSplits != null && message.hasOwnProperty("totalSplits")) {
if (!$util.isInteger(message.totalSplits))
return "totalSplits: integer expected";
}
return null;
};
LogSplit.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogSplit)
return object3;
var message = new $root.google.logging.v2.LogSplit();
if (object3.uid != null)
message.uid = String(object3.uid);
if (object3.index != null)
message.index = object3.index | 0;
if (object3.totalSplits != null)
message.totalSplits = object3.totalSplits | 0;
return message;
};
LogSplit.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.uid = "";
object3.index = 0;
object3.totalSplits = 0;
}
if (message.uid != null && message.hasOwnProperty("uid"))
object3.uid = message.uid;
if (message.index != null && message.hasOwnProperty("index"))
object3.index = message.index;
if (message.totalSplits != null && message.hasOwnProperty("totalSplits"))
object3.totalSplits = message.totalSplits;
return object3;
};
LogSplit.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogSplit.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogSplit";
};
return LogSplit;
}();
v2.LoggingServiceV2 = function() {
function LoggingServiceV2(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(LoggingServiceV2.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = LoggingServiceV2;
LoggingServiceV2.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
Object.defineProperty(LoggingServiceV2.prototype.deleteLog = function deleteLog(request, callback) {
return this.rpcCall(deleteLog, $root.google.logging.v2.DeleteLogRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteLog" });
Object.defineProperty(LoggingServiceV2.prototype.writeLogEntries = function writeLogEntries(request, callback) {
return this.rpcCall(writeLogEntries, $root.google.logging.v2.WriteLogEntriesRequest, $root.google.logging.v2.WriteLogEntriesResponse, request, callback);
}, "name", { value: "WriteLogEntries" });
Object.defineProperty(LoggingServiceV2.prototype.listLogEntries = function listLogEntries(request, callback) {
return this.rpcCall(listLogEntries, $root.google.logging.v2.ListLogEntriesRequest, $root.google.logging.v2.ListLogEntriesResponse, request, callback);
}, "name", { value: "ListLogEntries" });
Object.defineProperty(LoggingServiceV2.prototype.listMonitoredResourceDescriptors = function listMonitoredResourceDescriptors(request, callback) {
return this.rpcCall(listMonitoredResourceDescriptors, $root.google.logging.v2.ListMonitoredResourceDescriptorsRequest, $root.google.logging.v2.ListMonitoredResourceDescriptorsResponse, request, callback);
}, "name", { value: "ListMonitoredResourceDescriptors" });
Object.defineProperty(LoggingServiceV2.prototype.listLogs = function listLogs(request, callback) {
return this.rpcCall(listLogs, $root.google.logging.v2.ListLogsRequest, $root.google.logging.v2.ListLogsResponse, request, callback);
}, "name", { value: "ListLogs" });
Object.defineProperty(LoggingServiceV2.prototype.tailLogEntries = function tailLogEntries(request, callback) {
return this.rpcCall(tailLogEntries, $root.google.logging.v2.TailLogEntriesRequest, $root.google.logging.v2.TailLogEntriesResponse, request, callback);
}, "name", { value: "TailLogEntries" });
return LoggingServiceV2;
}();
v2.DeleteLogRequest = function() {
function DeleteLogRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteLogRequest.prototype.logName = "";
DeleteLogRequest.create = function create(properties) {
return new DeleteLogRequest(properties);
};
DeleteLogRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.logName != null && Object.hasOwnProperty.call(message, "logName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.logName);
return writer;
};
DeleteLogRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteLogRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.DeleteLogRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.logName = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteLogRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteLogRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.logName != null && message.hasOwnProperty("logName")) {
if (!$util.isString(message.logName))
return "logName: string expected";
}
return null;
};
DeleteLogRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.DeleteLogRequest)
return object3;
var message = new $root.google.logging.v2.DeleteLogRequest();
if (object3.logName != null)
message.logName = String(object3.logName);
return message;
};
DeleteLogRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.logName = "";
if (message.logName != null && message.hasOwnProperty("logName"))
object3.logName = message.logName;
return object3;
};
DeleteLogRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteLogRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.DeleteLogRequest";
};
return DeleteLogRequest;
}();
v2.WriteLogEntriesRequest = function() {
function WriteLogEntriesRequest(properties) {
this.labels = {};
this.entries = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
WriteLogEntriesRequest.prototype.logName = "";
WriteLogEntriesRequest.prototype.resource = null;
WriteLogEntriesRequest.prototype.labels = $util.emptyObject;
WriteLogEntriesRequest.prototype.entries = $util.emptyArray;
WriteLogEntriesRequest.prototype.partialSuccess = false;
WriteLogEntriesRequest.prototype.dryRun = false;
WriteLogEntriesRequest.create = function create(properties) {
return new WriteLogEntriesRequest(properties);
};
WriteLogEntriesRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.logName != null && Object.hasOwnProperty.call(message, "logName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.logName);
if (message.resource != null && Object.hasOwnProperty.call(message, "resource"))
$root.google.api.MonitoredResource.encode(message.resource, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
for (var keys = Object.keys(message.labels), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 3, wireType 2 =*/
26
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.labels[keys[i3]]).ldelim();
if (message.entries != null && message.entries.length)
for (var i3 = 0; i3 < message.entries.length; ++i3)
$root.google.logging.v2.LogEntry.encode(message.entries[i3], writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.partialSuccess != null && Object.hasOwnProperty.call(message, "partialSuccess"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).bool(message.partialSuccess);
if (message.dryRun != null && Object.hasOwnProperty.call(message, "dryRun"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).bool(message.dryRun);
return writer;
};
WriteLogEntriesRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
WriteLogEntriesRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.WriteLogEntriesRequest(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.logName = reader.string();
break;
}
case 2: {
message.resource = $root.google.api.MonitoredResource.decode(reader, reader.uint32());
break;
}
case 3: {
if (message.labels === $util.emptyObject)
message.labels = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.labels[key] = value;
break;
}
case 4: {
if (!(message.entries && message.entries.length))
message.entries = [];
message.entries.push($root.google.logging.v2.LogEntry.decode(reader, reader.uint32()));
break;
}
case 5: {
message.partialSuccess = reader.bool();
break;
}
case 6: {
message.dryRun = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
WriteLogEntriesRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
WriteLogEntriesRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.logName != null && message.hasOwnProperty("logName")) {
if (!$util.isString(message.logName))
return "logName: string expected";
}
if (message.resource != null && message.hasOwnProperty("resource")) {
var error40 = $root.google.api.MonitoredResource.verify(message.resource);
if (error40)
return "resource." + error40;
}
if (message.labels != null && message.hasOwnProperty("labels")) {
if (!$util.isObject(message.labels))
return "labels: object expected";
var key = Object.keys(message.labels);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.labels[key[i3]]))
return "labels: string{k:string} expected";
}
if (message.entries != null && message.hasOwnProperty("entries")) {
if (!Array.isArray(message.entries))
return "entries: array expected";
for (var i3 = 0; i3 < message.entries.length; ++i3) {
var error40 = $root.google.logging.v2.LogEntry.verify(message.entries[i3]);
if (error40)
return "entries." + error40;
}
}
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess")) {
if (typeof message.partialSuccess !== "boolean")
return "partialSuccess: boolean expected";
}
if (message.dryRun != null && message.hasOwnProperty("dryRun")) {
if (typeof message.dryRun !== "boolean")
return "dryRun: boolean expected";
}
return null;
};
WriteLogEntriesRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.WriteLogEntriesRequest)
return object3;
var message = new $root.google.logging.v2.WriteLogEntriesRequest();
if (object3.logName != null)
message.logName = String(object3.logName);
if (object3.resource != null) {
if (typeof object3.resource !== "object")
throw TypeError(".google.logging.v2.WriteLogEntriesRequest.resource: object expected");
message.resource = $root.google.api.MonitoredResource.fromObject(object3.resource);
}
if (object3.labels) {
if (typeof object3.labels !== "object")
throw TypeError(".google.logging.v2.WriteLogEntriesRequest.labels: object expected");
message.labels = {};
for (var keys = Object.keys(object3.labels), i3 = 0; i3 < keys.length; ++i3)
message.labels[keys[i3]] = String(object3.labels[keys[i3]]);
}
if (object3.entries) {
if (!Array.isArray(object3.entries))
throw TypeError(".google.logging.v2.WriteLogEntriesRequest.entries: array expected");
message.entries = [];
for (var i3 = 0; i3 < object3.entries.length; ++i3) {
if (typeof object3.entries[i3] !== "object")
throw TypeError(".google.logging.v2.WriteLogEntriesRequest.entries: object expected");
message.entries[i3] = $root.google.logging.v2.LogEntry.fromObject(object3.entries[i3]);
}
}
if (object3.partialSuccess != null)
message.partialSuccess = Boolean(object3.partialSuccess);
if (object3.dryRun != null)
message.dryRun = Boolean(object3.dryRun);
return message;
};
WriteLogEntriesRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.entries = [];
if (options.objects || options.defaults)
object3.labels = {};
if (options.defaults) {
object3.logName = "";
object3.resource = null;
object3.partialSuccess = false;
object3.dryRun = false;
}
if (message.logName != null && message.hasOwnProperty("logName"))
object3.logName = message.logName;
if (message.resource != null && message.hasOwnProperty("resource"))
object3.resource = $root.google.api.MonitoredResource.toObject(message.resource, options);
var keys2;
if (message.labels && (keys2 = Object.keys(message.labels)).length) {
object3.labels = {};
for (var j = 0; j < keys2.length; ++j)
object3.labels[keys2[j]] = message.labels[keys2[j]];
}
if (message.entries && message.entries.length) {
object3.entries = [];
for (var j = 0; j < message.entries.length; ++j)
object3.entries[j] = $root.google.logging.v2.LogEntry.toObject(message.entries[j], options);
}
if (message.partialSuccess != null && message.hasOwnProperty("partialSuccess"))
object3.partialSuccess = message.partialSuccess;
if (message.dryRun != null && message.hasOwnProperty("dryRun"))
object3.dryRun = message.dryRun;
return object3;
};
WriteLogEntriesRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
WriteLogEntriesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.WriteLogEntriesRequest";
};
return WriteLogEntriesRequest;
}();
v2.WriteLogEntriesResponse = function() {
function WriteLogEntriesResponse(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
WriteLogEntriesResponse.create = function create(properties) {
return new WriteLogEntriesResponse(properties);
};
WriteLogEntriesResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
return writer;
};
WriteLogEntriesResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
WriteLogEntriesResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.WriteLogEntriesResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
WriteLogEntriesResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
WriteLogEntriesResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
return null;
};
WriteLogEntriesResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.WriteLogEntriesResponse)
return object3;
return new $root.google.logging.v2.WriteLogEntriesResponse();
};
WriteLogEntriesResponse.toObject = function toObject() {
return {};
};
WriteLogEntriesResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
WriteLogEntriesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.WriteLogEntriesResponse";
};
return WriteLogEntriesResponse;
}();
v2.WriteLogEntriesPartialErrors = function() {
function WriteLogEntriesPartialErrors(properties) {
this.logEntryErrors = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
WriteLogEntriesPartialErrors.prototype.logEntryErrors = $util.emptyObject;
WriteLogEntriesPartialErrors.create = function create(properties) {
return new WriteLogEntriesPartialErrors(properties);
};
WriteLogEntriesPartialErrors.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.logEntryErrors != null && Object.hasOwnProperty.call(message, "logEntryErrors"))
for (var keys = Object.keys(message.logEntryErrors), i3 = 0; i3 < keys.length; ++i3) {
writer.uint32(
/* id 1, wireType 2 =*/
10
).fork().uint32(
/* id 1, wireType 0 =*/
8
).int32(keys[i3]);
$root.google.rpc.Status.encode(message.logEntryErrors[keys[i3]], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim().ldelim();
}
return writer;
};
WriteLogEntriesPartialErrors.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
WriteLogEntriesPartialErrors.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.WriteLogEntriesPartialErrors(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (message.logEntryErrors === $util.emptyObject)
message.logEntryErrors = {};
var end2 = reader.uint32() + reader.pos;
key = 0;
value = null;
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.int32();
break;
case 2:
value = $root.google.rpc.Status.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.logEntryErrors[key] = value;
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
WriteLogEntriesPartialErrors.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
WriteLogEntriesPartialErrors.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.logEntryErrors != null && message.hasOwnProperty("logEntryErrors")) {
if (!$util.isObject(message.logEntryErrors))
return "logEntryErrors: object expected";
var key = Object.keys(message.logEntryErrors);
for (var i3 = 0; i3 < key.length; ++i3) {
if (!$util.key32Re.test(key[i3]))
return "logEntryErrors: integer key{k:int32} expected";
{
var error40 = $root.google.rpc.Status.verify(message.logEntryErrors[key[i3]]);
if (error40)
return "logEntryErrors." + error40;
}
}
}
return null;
};
WriteLogEntriesPartialErrors.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.WriteLogEntriesPartialErrors)
return object3;
var message = new $root.google.logging.v2.WriteLogEntriesPartialErrors();
if (object3.logEntryErrors) {
if (typeof object3.logEntryErrors !== "object")
throw TypeError(".google.logging.v2.WriteLogEntriesPartialErrors.logEntryErrors: object expected");
message.logEntryErrors = {};
for (var keys = Object.keys(object3.logEntryErrors), i3 = 0; i3 < keys.length; ++i3) {
if (typeof object3.logEntryErrors[keys[i3]] !== "object")
throw TypeError(".google.logging.v2.WriteLogEntriesPartialErrors.logEntryErrors: object expected");
message.logEntryErrors[keys[i3]] = $root.google.rpc.Status.fromObject(object3.logEntryErrors[keys[i3]]);
}
}
return message;
};
WriteLogEntriesPartialErrors.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.logEntryErrors = {};
var keys2;
if (message.logEntryErrors && (keys2 = Object.keys(message.logEntryErrors)).length) {
object3.logEntryErrors = {};
for (var j = 0; j < keys2.length; ++j)
object3.logEntryErrors[keys2[j]] = $root.google.rpc.Status.toObject(message.logEntryErrors[keys2[j]], options);
}
return object3;
};
WriteLogEntriesPartialErrors.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
WriteLogEntriesPartialErrors.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.WriteLogEntriesPartialErrors";
};
return WriteLogEntriesPartialErrors;
}();
v2.ListLogEntriesRequest = function() {
function ListLogEntriesRequest(properties) {
this.resourceNames = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLogEntriesRequest.prototype.resourceNames = $util.emptyArray;
ListLogEntriesRequest.prototype.filter = "";
ListLogEntriesRequest.prototype.orderBy = "";
ListLogEntriesRequest.prototype.pageSize = 0;
ListLogEntriesRequest.prototype.pageToken = "";
ListLogEntriesRequest.create = function create(properties) {
return new ListLogEntriesRequest(properties);
};
ListLogEntriesRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.filter);
if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.orderBy);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.pageSize);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.pageToken);
if (message.resourceNames != null && message.resourceNames.length)
for (var i3 = 0; i3 < message.resourceNames.length; ++i3)
writer.uint32(
/* id 8, wireType 2 =*/
66
).string(message.resourceNames[i3]);
return writer;
};
ListLogEntriesRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLogEntriesRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLogEntriesRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 8: {
if (!(message.resourceNames && message.resourceNames.length))
message.resourceNames = [];
message.resourceNames.push(reader.string());
break;
}
case 2: {
message.filter = reader.string();
break;
}
case 3: {
message.orderBy = reader.string();
break;
}
case 4: {
message.pageSize = reader.int32();
break;
}
case 5: {
message.pageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLogEntriesRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLogEntriesRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceNames != null && message.hasOwnProperty("resourceNames")) {
if (!Array.isArray(message.resourceNames))
return "resourceNames: array expected";
for (var i3 = 0; i3 < message.resourceNames.length; ++i3)
if (!$util.isString(message.resourceNames[i3]))
return "resourceNames: string[] expected";
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
if (message.orderBy != null && message.hasOwnProperty("orderBy")) {
if (!$util.isString(message.orderBy))
return "orderBy: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
return null;
};
ListLogEntriesRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLogEntriesRequest)
return object3;
var message = new $root.google.logging.v2.ListLogEntriesRequest();
if (object3.resourceNames) {
if (!Array.isArray(object3.resourceNames))
throw TypeError(".google.logging.v2.ListLogEntriesRequest.resourceNames: array expected");
message.resourceNames = [];
for (var i3 = 0; i3 < object3.resourceNames.length; ++i3)
message.resourceNames[i3] = String(object3.resourceNames[i3]);
}
if (object3.filter != null)
message.filter = String(object3.filter);
if (object3.orderBy != null)
message.orderBy = String(object3.orderBy);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
return message;
};
ListLogEntriesRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceNames = [];
if (options.defaults) {
object3.filter = "";
object3.orderBy = "";
object3.pageSize = 0;
object3.pageToken = "";
}
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
if (message.orderBy != null && message.hasOwnProperty("orderBy"))
object3.orderBy = message.orderBy;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.resourceNames && message.resourceNames.length) {
object3.resourceNames = [];
for (var j = 0; j < message.resourceNames.length; ++j)
object3.resourceNames[j] = message.resourceNames[j];
}
return object3;
};
ListLogEntriesRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLogEntriesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLogEntriesRequest";
};
return ListLogEntriesRequest;
}();
v2.ListLogEntriesResponse = function() {
function ListLogEntriesResponse(properties) {
this.entries = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLogEntriesResponse.prototype.entries = $util.emptyArray;
ListLogEntriesResponse.prototype.nextPageToken = "";
ListLogEntriesResponse.create = function create(properties) {
return new ListLogEntriesResponse(properties);
};
ListLogEntriesResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.entries != null && message.entries.length)
for (var i3 = 0; i3 < message.entries.length; ++i3)
$root.google.logging.v2.LogEntry.encode(message.entries[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListLogEntriesResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLogEntriesResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLogEntriesResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.entries && message.entries.length))
message.entries = [];
message.entries.push($root.google.logging.v2.LogEntry.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLogEntriesResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLogEntriesResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.entries != null && message.hasOwnProperty("entries")) {
if (!Array.isArray(message.entries))
return "entries: array expected";
for (var i3 = 0; i3 < message.entries.length; ++i3) {
var error40 = $root.google.logging.v2.LogEntry.verify(message.entries[i3]);
if (error40)
return "entries." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListLogEntriesResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLogEntriesResponse)
return object3;
var message = new $root.google.logging.v2.ListLogEntriesResponse();
if (object3.entries) {
if (!Array.isArray(object3.entries))
throw TypeError(".google.logging.v2.ListLogEntriesResponse.entries: array expected");
message.entries = [];
for (var i3 = 0; i3 < object3.entries.length; ++i3) {
if (typeof object3.entries[i3] !== "object")
throw TypeError(".google.logging.v2.ListLogEntriesResponse.entries: object expected");
message.entries[i3] = $root.google.logging.v2.LogEntry.fromObject(object3.entries[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListLogEntriesResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.entries = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.entries && message.entries.length) {
object3.entries = [];
for (var j = 0; j < message.entries.length; ++j)
object3.entries[j] = $root.google.logging.v2.LogEntry.toObject(message.entries[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListLogEntriesResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLogEntriesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLogEntriesResponse";
};
return ListLogEntriesResponse;
}();
v2.ListMonitoredResourceDescriptorsRequest = function() {
function ListMonitoredResourceDescriptorsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListMonitoredResourceDescriptorsRequest.prototype.pageSize = 0;
ListMonitoredResourceDescriptorsRequest.prototype.pageToken = "";
ListMonitoredResourceDescriptorsRequest.create = function create(properties) {
return new ListMonitoredResourceDescriptorsRequest(properties);
};
ListMonitoredResourceDescriptorsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.pageSize);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pageToken);
return writer;
};
ListMonitoredResourceDescriptorsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListMonitoredResourceDescriptorsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListMonitoredResourceDescriptorsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.pageSize = reader.int32();
break;
}
case 2: {
message.pageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListMonitoredResourceDescriptorsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListMonitoredResourceDescriptorsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
return null;
};
ListMonitoredResourceDescriptorsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListMonitoredResourceDescriptorsRequest)
return object3;
var message = new $root.google.logging.v2.ListMonitoredResourceDescriptorsRequest();
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
return message;
};
ListMonitoredResourceDescriptorsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.pageSize = 0;
object3.pageToken = "";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
return object3;
};
ListMonitoredResourceDescriptorsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListMonitoredResourceDescriptorsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListMonitoredResourceDescriptorsRequest";
};
return ListMonitoredResourceDescriptorsRequest;
}();
v2.ListMonitoredResourceDescriptorsResponse = function() {
function ListMonitoredResourceDescriptorsResponse(properties) {
this.resourceDescriptors = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListMonitoredResourceDescriptorsResponse.prototype.resourceDescriptors = $util.emptyArray;
ListMonitoredResourceDescriptorsResponse.prototype.nextPageToken = "";
ListMonitoredResourceDescriptorsResponse.create = function create(properties) {
return new ListMonitoredResourceDescriptorsResponse(properties);
};
ListMonitoredResourceDescriptorsResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceDescriptors != null && message.resourceDescriptors.length)
for (var i3 = 0; i3 < message.resourceDescriptors.length; ++i3)
$root.google.api.MonitoredResourceDescriptor.encode(message.resourceDescriptors[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListMonitoredResourceDescriptorsResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListMonitoredResourceDescriptorsResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListMonitoredResourceDescriptorsResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceDescriptors && message.resourceDescriptors.length))
message.resourceDescriptors = [];
message.resourceDescriptors.push($root.google.api.MonitoredResourceDescriptor.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListMonitoredResourceDescriptorsResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListMonitoredResourceDescriptorsResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceDescriptors != null && message.hasOwnProperty("resourceDescriptors")) {
if (!Array.isArray(message.resourceDescriptors))
return "resourceDescriptors: array expected";
for (var i3 = 0; i3 < message.resourceDescriptors.length; ++i3) {
var error40 = $root.google.api.MonitoredResourceDescriptor.verify(message.resourceDescriptors[i3]);
if (error40)
return "resourceDescriptors." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListMonitoredResourceDescriptorsResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListMonitoredResourceDescriptorsResponse)
return object3;
var message = new $root.google.logging.v2.ListMonitoredResourceDescriptorsResponse();
if (object3.resourceDescriptors) {
if (!Array.isArray(object3.resourceDescriptors))
throw TypeError(".google.logging.v2.ListMonitoredResourceDescriptorsResponse.resourceDescriptors: array expected");
message.resourceDescriptors = [];
for (var i3 = 0; i3 < object3.resourceDescriptors.length; ++i3) {
if (typeof object3.resourceDescriptors[i3] !== "object")
throw TypeError(".google.logging.v2.ListMonitoredResourceDescriptorsResponse.resourceDescriptors: object expected");
message.resourceDescriptors[i3] = $root.google.api.MonitoredResourceDescriptor.fromObject(object3.resourceDescriptors[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListMonitoredResourceDescriptorsResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceDescriptors = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.resourceDescriptors && message.resourceDescriptors.length) {
object3.resourceDescriptors = [];
for (var j = 0; j < message.resourceDescriptors.length; ++j)
object3.resourceDescriptors[j] = $root.google.api.MonitoredResourceDescriptor.toObject(message.resourceDescriptors[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListMonitoredResourceDescriptorsResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListMonitoredResourceDescriptorsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListMonitoredResourceDescriptorsResponse";
};
return ListMonitoredResourceDescriptorsResponse;
}();
v2.ListLogsRequest = function() {
function ListLogsRequest(properties) {
this.resourceNames = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLogsRequest.prototype.parent = "";
ListLogsRequest.prototype.resourceNames = $util.emptyArray;
ListLogsRequest.prototype.pageSize = 0;
ListLogsRequest.prototype.pageToken = "";
ListLogsRequest.create = function create(properties) {
return new ListLogsRequest(properties);
};
ListLogsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.pageSize);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.pageToken);
if (message.resourceNames != null && message.resourceNames.length)
for (var i3 = 0; i3 < message.resourceNames.length; ++i3)
writer.uint32(
/* id 8, wireType 2 =*/
66
).string(message.resourceNames[i3]);
return writer;
};
ListLogsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLogsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLogsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 8: {
if (!(message.resourceNames && message.resourceNames.length))
message.resourceNames = [];
message.resourceNames.push(reader.string());
break;
}
case 2: {
message.pageSize = reader.int32();
break;
}
case 3: {
message.pageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLogsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLogsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.resourceNames != null && message.hasOwnProperty("resourceNames")) {
if (!Array.isArray(message.resourceNames))
return "resourceNames: array expected";
for (var i3 = 0; i3 < message.resourceNames.length; ++i3)
if (!$util.isString(message.resourceNames[i3]))
return "resourceNames: string[] expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
return null;
};
ListLogsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLogsRequest)
return object3;
var message = new $root.google.logging.v2.ListLogsRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.resourceNames) {
if (!Array.isArray(object3.resourceNames))
throw TypeError(".google.logging.v2.ListLogsRequest.resourceNames: array expected");
message.resourceNames = [];
for (var i3 = 0; i3 < object3.resourceNames.length; ++i3)
message.resourceNames[i3] = String(object3.resourceNames[i3]);
}
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
return message;
};
ListLogsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceNames = [];
if (options.defaults) {
object3.parent = "";
object3.pageSize = 0;
object3.pageToken = "";
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.resourceNames && message.resourceNames.length) {
object3.resourceNames = [];
for (var j = 0; j < message.resourceNames.length; ++j)
object3.resourceNames[j] = message.resourceNames[j];
}
return object3;
};
ListLogsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLogsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLogsRequest";
};
return ListLogsRequest;
}();
v2.ListLogsResponse = function() {
function ListLogsResponse(properties) {
this.logNames = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLogsResponse.prototype.logNames = $util.emptyArray;
ListLogsResponse.prototype.nextPageToken = "";
ListLogsResponse.create = function create(properties) {
return new ListLogsResponse(properties);
};
ListLogsResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
if (message.logNames != null && message.logNames.length)
for (var i3 = 0; i3 < message.logNames.length; ++i3)
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.logNames[i3]);
return writer;
};
ListLogsResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLogsResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLogsResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 3: {
if (!(message.logNames && message.logNames.length))
message.logNames = [];
message.logNames.push(reader.string());
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLogsResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLogsResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.logNames != null && message.hasOwnProperty("logNames")) {
if (!Array.isArray(message.logNames))
return "logNames: array expected";
for (var i3 = 0; i3 < message.logNames.length; ++i3)
if (!$util.isString(message.logNames[i3]))
return "logNames: string[] expected";
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListLogsResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLogsResponse)
return object3;
var message = new $root.google.logging.v2.ListLogsResponse();
if (object3.logNames) {
if (!Array.isArray(object3.logNames))
throw TypeError(".google.logging.v2.ListLogsResponse.logNames: array expected");
message.logNames = [];
for (var i3 = 0; i3 < object3.logNames.length; ++i3)
message.logNames[i3] = String(object3.logNames[i3]);
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListLogsResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.logNames = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
if (message.logNames && message.logNames.length) {
object3.logNames = [];
for (var j = 0; j < message.logNames.length; ++j)
object3.logNames[j] = message.logNames[j];
}
return object3;
};
ListLogsResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLogsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLogsResponse";
};
return ListLogsResponse;
}();
v2.TailLogEntriesRequest = function() {
function TailLogEntriesRequest(properties) {
this.resourceNames = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
TailLogEntriesRequest.prototype.resourceNames = $util.emptyArray;
TailLogEntriesRequest.prototype.filter = "";
TailLogEntriesRequest.prototype.bufferWindow = null;
TailLogEntriesRequest.create = function create(properties) {
return new TailLogEntriesRequest(properties);
};
TailLogEntriesRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.resourceNames != null && message.resourceNames.length)
for (var i3 = 0; i3 < message.resourceNames.length; ++i3)
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.resourceNames[i3]);
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.filter);
if (message.bufferWindow != null && Object.hasOwnProperty.call(message, "bufferWindow"))
$root.google.protobuf.Duration.encode(message.bufferWindow, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
TailLogEntriesRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
TailLogEntriesRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.TailLogEntriesRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.resourceNames && message.resourceNames.length))
message.resourceNames = [];
message.resourceNames.push(reader.string());
break;
}
case 2: {
message.filter = reader.string();
break;
}
case 3: {
message.bufferWindow = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
TailLogEntriesRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
TailLogEntriesRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.resourceNames != null && message.hasOwnProperty("resourceNames")) {
if (!Array.isArray(message.resourceNames))
return "resourceNames: array expected";
for (var i3 = 0; i3 < message.resourceNames.length; ++i3)
if (!$util.isString(message.resourceNames[i3]))
return "resourceNames: string[] expected";
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
if (message.bufferWindow != null && message.hasOwnProperty("bufferWindow")) {
var error40 = $root.google.protobuf.Duration.verify(message.bufferWindow);
if (error40)
return "bufferWindow." + error40;
}
return null;
};
TailLogEntriesRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.TailLogEntriesRequest)
return object3;
var message = new $root.google.logging.v2.TailLogEntriesRequest();
if (object3.resourceNames) {
if (!Array.isArray(object3.resourceNames))
throw TypeError(".google.logging.v2.TailLogEntriesRequest.resourceNames: array expected");
message.resourceNames = [];
for (var i3 = 0; i3 < object3.resourceNames.length; ++i3)
message.resourceNames[i3] = String(object3.resourceNames[i3]);
}
if (object3.filter != null)
message.filter = String(object3.filter);
if (object3.bufferWindow != null) {
if (typeof object3.bufferWindow !== "object")
throw TypeError(".google.logging.v2.TailLogEntriesRequest.bufferWindow: object expected");
message.bufferWindow = $root.google.protobuf.Duration.fromObject(object3.bufferWindow);
}
return message;
};
TailLogEntriesRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.resourceNames = [];
if (options.defaults) {
object3.filter = "";
object3.bufferWindow = null;
}
if (message.resourceNames && message.resourceNames.length) {
object3.resourceNames = [];
for (var j = 0; j < message.resourceNames.length; ++j)
object3.resourceNames[j] = message.resourceNames[j];
}
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
if (message.bufferWindow != null && message.hasOwnProperty("bufferWindow"))
object3.bufferWindow = $root.google.protobuf.Duration.toObject(message.bufferWindow, options);
return object3;
};
TailLogEntriesRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
TailLogEntriesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.TailLogEntriesRequest";
};
return TailLogEntriesRequest;
}();
v2.TailLogEntriesResponse = function() {
function TailLogEntriesResponse(properties) {
this.entries = [];
this.suppressionInfo = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
TailLogEntriesResponse.prototype.entries = $util.emptyArray;
TailLogEntriesResponse.prototype.suppressionInfo = $util.emptyArray;
TailLogEntriesResponse.create = function create(properties) {
return new TailLogEntriesResponse(properties);
};
TailLogEntriesResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.entries != null && message.entries.length)
for (var i3 = 0; i3 < message.entries.length; ++i3)
$root.google.logging.v2.LogEntry.encode(message.entries[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.suppressionInfo != null && message.suppressionInfo.length)
for (var i3 = 0; i3 < message.suppressionInfo.length; ++i3)
$root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.encode(message.suppressionInfo[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
return writer;
};
TailLogEntriesResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
TailLogEntriesResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.TailLogEntriesResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.entries && message.entries.length))
message.entries = [];
message.entries.push($root.google.logging.v2.LogEntry.decode(reader, reader.uint32()));
break;
}
case 2: {
if (!(message.suppressionInfo && message.suppressionInfo.length))
message.suppressionInfo = [];
message.suppressionInfo.push($root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
TailLogEntriesResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
TailLogEntriesResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.entries != null && message.hasOwnProperty("entries")) {
if (!Array.isArray(message.entries))
return "entries: array expected";
for (var i3 = 0; i3 < message.entries.length; ++i3) {
var error40 = $root.google.logging.v2.LogEntry.verify(message.entries[i3]);
if (error40)
return "entries." + error40;
}
}
if (message.suppressionInfo != null && message.hasOwnProperty("suppressionInfo")) {
if (!Array.isArray(message.suppressionInfo))
return "suppressionInfo: array expected";
for (var i3 = 0; i3 < message.suppressionInfo.length; ++i3) {
var error40 = $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.verify(message.suppressionInfo[i3]);
if (error40)
return "suppressionInfo." + error40;
}
}
return null;
};
TailLogEntriesResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.TailLogEntriesResponse)
return object3;
var message = new $root.google.logging.v2.TailLogEntriesResponse();
if (object3.entries) {
if (!Array.isArray(object3.entries))
throw TypeError(".google.logging.v2.TailLogEntriesResponse.entries: array expected");
message.entries = [];
for (var i3 = 0; i3 < object3.entries.length; ++i3) {
if (typeof object3.entries[i3] !== "object")
throw TypeError(".google.logging.v2.TailLogEntriesResponse.entries: object expected");
message.entries[i3] = $root.google.logging.v2.LogEntry.fromObject(object3.entries[i3]);
}
}
if (object3.suppressionInfo) {
if (!Array.isArray(object3.suppressionInfo))
throw TypeError(".google.logging.v2.TailLogEntriesResponse.suppressionInfo: array expected");
message.suppressionInfo = [];
for (var i3 = 0; i3 < object3.suppressionInfo.length; ++i3) {
if (typeof object3.suppressionInfo[i3] !== "object")
throw TypeError(".google.logging.v2.TailLogEntriesResponse.suppressionInfo: object expected");
message.suppressionInfo[i3] = $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.fromObject(object3.suppressionInfo[i3]);
}
}
return message;
};
TailLogEntriesResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.entries = [];
object3.suppressionInfo = [];
}
if (message.entries && message.entries.length) {
object3.entries = [];
for (var j = 0; j < message.entries.length; ++j)
object3.entries[j] = $root.google.logging.v2.LogEntry.toObject(message.entries[j], options);
}
if (message.suppressionInfo && message.suppressionInfo.length) {
object3.suppressionInfo = [];
for (var j = 0; j < message.suppressionInfo.length; ++j)
object3.suppressionInfo[j] = $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.toObject(message.suppressionInfo[j], options);
}
return object3;
};
TailLogEntriesResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
TailLogEntriesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.TailLogEntriesResponse";
};
TailLogEntriesResponse.SuppressionInfo = function() {
function SuppressionInfo(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
SuppressionInfo.prototype.reason = 0;
SuppressionInfo.prototype.suppressedCount = 0;
SuppressionInfo.create = function create(properties) {
return new SuppressionInfo(properties);
};
SuppressionInfo.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.reason != null && Object.hasOwnProperty.call(message, "reason"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.reason);
if (message.suppressedCount != null && Object.hasOwnProperty.call(message, "suppressedCount"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.suppressedCount);
return writer;
};
SuppressionInfo.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
SuppressionInfo.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.reason = reader.int32();
break;
}
case 2: {
message.suppressedCount = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
SuppressionInfo.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
SuppressionInfo.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.reason != null && message.hasOwnProperty("reason"))
switch (message.reason) {
default:
return "reason: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.suppressedCount != null && message.hasOwnProperty("suppressedCount")) {
if (!$util.isInteger(message.suppressedCount))
return "suppressedCount: integer expected";
}
return null;
};
SuppressionInfo.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo)
return object3;
var message = new $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo();
switch (object3.reason) {
default:
if (typeof object3.reason === "number") {
message.reason = object3.reason;
break;
}
break;
case "REASON_UNSPECIFIED":
case 0:
message.reason = 0;
break;
case "RATE_LIMIT":
case 1:
message.reason = 1;
break;
case "NOT_CONSUMED":
case 2:
message.reason = 2;
break;
}
if (object3.suppressedCount != null)
message.suppressedCount = object3.suppressedCount | 0;
return message;
};
SuppressionInfo.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.reason = options.enums === String ? "REASON_UNSPECIFIED" : 0;
object3.suppressedCount = 0;
}
if (message.reason != null && message.hasOwnProperty("reason"))
object3.reason = options.enums === String ? $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason[message.reason] === void 0 ? message.reason : $root.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason[message.reason] : message.reason;
if (message.suppressedCount != null && message.hasOwnProperty("suppressedCount"))
object3.suppressedCount = message.suppressedCount;
return object3;
};
SuppressionInfo.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
SuppressionInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.TailLogEntriesResponse.SuppressionInfo";
};
SuppressionInfo.Reason = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "REASON_UNSPECIFIED"] = 0;
values[valuesById[1] = "RATE_LIMIT"] = 1;
values[valuesById[2] = "NOT_CONSUMED"] = 2;
return values;
}();
return SuppressionInfo;
}();
return TailLogEntriesResponse;
}();
v2.ConfigServiceV2 = function() {
function ConfigServiceV2(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(ConfigServiceV2.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ConfigServiceV2;
ConfigServiceV2.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
Object.defineProperty(ConfigServiceV2.prototype.listBuckets = function listBuckets(request, callback) {
return this.rpcCall(listBuckets, $root.google.logging.v2.ListBucketsRequest, $root.google.logging.v2.ListBucketsResponse, request, callback);
}, "name", { value: "ListBuckets" });
Object.defineProperty(ConfigServiceV2.prototype.getBucket = function getBucket(request, callback) {
return this.rpcCall(getBucket, $root.google.logging.v2.GetBucketRequest, $root.google.logging.v2.LogBucket, request, callback);
}, "name", { value: "GetBucket" });
Object.defineProperty(ConfigServiceV2.prototype.createBucketAsync = function createBucketAsync(request, callback) {
return this.rpcCall(createBucketAsync, $root.google.logging.v2.CreateBucketRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "CreateBucketAsync" });
Object.defineProperty(ConfigServiceV2.prototype.updateBucketAsync = function updateBucketAsync(request, callback) {
return this.rpcCall(updateBucketAsync, $root.google.logging.v2.UpdateBucketRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "UpdateBucketAsync" });
Object.defineProperty(ConfigServiceV2.prototype.createBucket = function createBucket(request, callback) {
return this.rpcCall(createBucket, $root.google.logging.v2.CreateBucketRequest, $root.google.logging.v2.LogBucket, request, callback);
}, "name", { value: "CreateBucket" });
Object.defineProperty(ConfigServiceV2.prototype.updateBucket = function updateBucket(request, callback) {
return this.rpcCall(updateBucket, $root.google.logging.v2.UpdateBucketRequest, $root.google.logging.v2.LogBucket, request, callback);
}, "name", { value: "UpdateBucket" });
Object.defineProperty(ConfigServiceV2.prototype.deleteBucket = function deleteBucket(request, callback) {
return this.rpcCall(deleteBucket, $root.google.logging.v2.DeleteBucketRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteBucket" });
Object.defineProperty(ConfigServiceV2.prototype.undeleteBucket = function undeleteBucket(request, callback) {
return this.rpcCall(undeleteBucket, $root.google.logging.v2.UndeleteBucketRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "UndeleteBucket" });
Object.defineProperty(ConfigServiceV2.prototype.listViews = function listViews(request, callback) {
return this.rpcCall(listViews, $root.google.logging.v2.ListViewsRequest, $root.google.logging.v2.ListViewsResponse, request, callback);
}, "name", { value: "ListViews" });
Object.defineProperty(ConfigServiceV2.prototype.getView = function getView(request, callback) {
return this.rpcCall(getView, $root.google.logging.v2.GetViewRequest, $root.google.logging.v2.LogView, request, callback);
}, "name", { value: "GetView" });
Object.defineProperty(ConfigServiceV2.prototype.createView = function createView(request, callback) {
return this.rpcCall(createView, $root.google.logging.v2.CreateViewRequest, $root.google.logging.v2.LogView, request, callback);
}, "name", { value: "CreateView" });
Object.defineProperty(ConfigServiceV2.prototype.updateView = function updateView(request, callback) {
return this.rpcCall(updateView, $root.google.logging.v2.UpdateViewRequest, $root.google.logging.v2.LogView, request, callback);
}, "name", { value: "UpdateView" });
Object.defineProperty(ConfigServiceV2.prototype.deleteView = function deleteView(request, callback) {
return this.rpcCall(deleteView, $root.google.logging.v2.DeleteViewRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteView" });
Object.defineProperty(ConfigServiceV2.prototype.listSinks = function listSinks(request, callback) {
return this.rpcCall(listSinks, $root.google.logging.v2.ListSinksRequest, $root.google.logging.v2.ListSinksResponse, request, callback);
}, "name", { value: "ListSinks" });
Object.defineProperty(ConfigServiceV2.prototype.getSink = function getSink(request, callback) {
return this.rpcCall(getSink, $root.google.logging.v2.GetSinkRequest, $root.google.logging.v2.LogSink, request, callback);
}, "name", { value: "GetSink" });
Object.defineProperty(ConfigServiceV2.prototype.createSink = function createSink(request, callback) {
return this.rpcCall(createSink, $root.google.logging.v2.CreateSinkRequest, $root.google.logging.v2.LogSink, request, callback);
}, "name", { value: "CreateSink" });
Object.defineProperty(ConfigServiceV2.prototype.updateSink = function updateSink(request, callback) {
return this.rpcCall(updateSink, $root.google.logging.v2.UpdateSinkRequest, $root.google.logging.v2.LogSink, request, callback);
}, "name", { value: "UpdateSink" });
Object.defineProperty(ConfigServiceV2.prototype.deleteSink = function deleteSink(request, callback) {
return this.rpcCall(deleteSink, $root.google.logging.v2.DeleteSinkRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteSink" });
Object.defineProperty(ConfigServiceV2.prototype.createLink = function createLink(request, callback) {
return this.rpcCall(createLink, $root.google.logging.v2.CreateLinkRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "CreateLink" });
Object.defineProperty(ConfigServiceV2.prototype.deleteLink = function deleteLink(request, callback) {
return this.rpcCall(deleteLink, $root.google.logging.v2.DeleteLinkRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "DeleteLink" });
Object.defineProperty(ConfigServiceV2.prototype.listLinks = function listLinks(request, callback) {
return this.rpcCall(listLinks, $root.google.logging.v2.ListLinksRequest, $root.google.logging.v2.ListLinksResponse, request, callback);
}, "name", { value: "ListLinks" });
Object.defineProperty(ConfigServiceV2.prototype.getLink = function getLink(request, callback) {
return this.rpcCall(getLink, $root.google.logging.v2.GetLinkRequest, $root.google.logging.v2.Link, request, callback);
}, "name", { value: "GetLink" });
Object.defineProperty(ConfigServiceV2.prototype.listExclusions = function listExclusions(request, callback) {
return this.rpcCall(listExclusions, $root.google.logging.v2.ListExclusionsRequest, $root.google.logging.v2.ListExclusionsResponse, request, callback);
}, "name", { value: "ListExclusions" });
Object.defineProperty(ConfigServiceV2.prototype.getExclusion = function getExclusion(request, callback) {
return this.rpcCall(getExclusion, $root.google.logging.v2.GetExclusionRequest, $root.google.logging.v2.LogExclusion, request, callback);
}, "name", { value: "GetExclusion" });
Object.defineProperty(ConfigServiceV2.prototype.createExclusion = function createExclusion(request, callback) {
return this.rpcCall(createExclusion, $root.google.logging.v2.CreateExclusionRequest, $root.google.logging.v2.LogExclusion, request, callback);
}, "name", { value: "CreateExclusion" });
Object.defineProperty(ConfigServiceV2.prototype.updateExclusion = function updateExclusion(request, callback) {
return this.rpcCall(updateExclusion, $root.google.logging.v2.UpdateExclusionRequest, $root.google.logging.v2.LogExclusion, request, callback);
}, "name", { value: "UpdateExclusion" });
Object.defineProperty(ConfigServiceV2.prototype.deleteExclusion = function deleteExclusion(request, callback) {
return this.rpcCall(deleteExclusion, $root.google.logging.v2.DeleteExclusionRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteExclusion" });
Object.defineProperty(ConfigServiceV2.prototype.getCmekSettings = function getCmekSettings(request, callback) {
return this.rpcCall(getCmekSettings, $root.google.logging.v2.GetCmekSettingsRequest, $root.google.logging.v2.CmekSettings, request, callback);
}, "name", { value: "GetCmekSettings" });
Object.defineProperty(ConfigServiceV2.prototype.updateCmekSettings = function updateCmekSettings(request, callback) {
return this.rpcCall(updateCmekSettings, $root.google.logging.v2.UpdateCmekSettingsRequest, $root.google.logging.v2.CmekSettings, request, callback);
}, "name", { value: "UpdateCmekSettings" });
Object.defineProperty(ConfigServiceV2.prototype.getSettings = function getSettings(request, callback) {
return this.rpcCall(getSettings, $root.google.logging.v2.GetSettingsRequest, $root.google.logging.v2.Settings, request, callback);
}, "name", { value: "GetSettings" });
Object.defineProperty(ConfigServiceV2.prototype.updateSettings = function updateSettings(request, callback) {
return this.rpcCall(updateSettings, $root.google.logging.v2.UpdateSettingsRequest, $root.google.logging.v2.Settings, request, callback);
}, "name", { value: "UpdateSettings" });
Object.defineProperty(ConfigServiceV2.prototype.copyLogEntries = function copyLogEntries(request, callback) {
return this.rpcCall(copyLogEntries, $root.google.logging.v2.CopyLogEntriesRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "CopyLogEntries" });
return ConfigServiceV2;
}();
v2.IndexConfig = function() {
function IndexConfig(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
IndexConfig.prototype.fieldPath = "";
IndexConfig.prototype.type = 0;
IndexConfig.prototype.createTime = null;
IndexConfig.create = function create(properties) {
return new IndexConfig(properties);
};
IndexConfig.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.fieldPath != null && Object.hasOwnProperty.call(message, "fieldPath"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.fieldPath);
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.type);
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
IndexConfig.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
IndexConfig.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.IndexConfig();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.fieldPath = reader.string();
break;
}
case 2: {
message.type = reader.int32();
break;
}
case 3: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
IndexConfig.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
IndexConfig.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.fieldPath != null && message.hasOwnProperty("fieldPath")) {
if (!$util.isString(message.fieldPath))
return "fieldPath: string expected";
}
if (message.type != null && message.hasOwnProperty("type"))
switch (message.type) {
default:
return "type: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.createTime);
if (error40)
return "createTime." + error40;
}
return null;
};
IndexConfig.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.IndexConfig)
return object3;
var message = new $root.google.logging.v2.IndexConfig();
if (object3.fieldPath != null)
message.fieldPath = String(object3.fieldPath);
switch (object3.type) {
default:
if (typeof object3.type === "number") {
message.type = object3.type;
break;
}
break;
case "INDEX_TYPE_UNSPECIFIED":
case 0:
message.type = 0;
break;
case "INDEX_TYPE_STRING":
case 1:
message.type = 1;
break;
case "INDEX_TYPE_INTEGER":
case 2:
message.type = 2;
break;
}
if (object3.createTime != null) {
if (typeof object3.createTime !== "object")
throw TypeError(".google.logging.v2.IndexConfig.createTime: object expected");
message.createTime = $root.google.protobuf.Timestamp.fromObject(object3.createTime);
}
return message;
};
IndexConfig.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.fieldPath = "";
object3.type = options.enums === String ? "INDEX_TYPE_UNSPECIFIED" : 0;
object3.createTime = null;
}
if (message.fieldPath != null && message.hasOwnProperty("fieldPath"))
object3.fieldPath = message.fieldPath;
if (message.type != null && message.hasOwnProperty("type"))
object3.type = options.enums === String ? $root.google.logging.v2.IndexType[message.type] === void 0 ? message.type : $root.google.logging.v2.IndexType[message.type] : message.type;
if (message.createTime != null && message.hasOwnProperty("createTime"))
object3.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
return object3;
};
IndexConfig.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
IndexConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.IndexConfig";
};
return IndexConfig;
}();
v2.LogBucket = function() {
function LogBucket(properties) {
this.restrictedFields = [];
this.indexConfigs = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogBucket.prototype.name = "";
LogBucket.prototype.description = "";
LogBucket.prototype.createTime = null;
LogBucket.prototype.updateTime = null;
LogBucket.prototype.retentionDays = 0;
LogBucket.prototype.locked = false;
LogBucket.prototype.lifecycleState = 0;
LogBucket.prototype.analyticsEnabled = false;
LogBucket.prototype.restrictedFields = $util.emptyArray;
LogBucket.prototype.indexConfigs = $util.emptyArray;
LogBucket.prototype.cmekSettings = null;
LogBucket.create = function create(properties) {
return new LogBucket(properties);
};
LogBucket.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.description);
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
$root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.locked != null && Object.hasOwnProperty.call(message, "locked"))
writer.uint32(
/* id 9, wireType 0 =*/
72
).bool(message.locked);
if (message.retentionDays != null && Object.hasOwnProperty.call(message, "retentionDays"))
writer.uint32(
/* id 11, wireType 0 =*/
88
).int32(message.retentionDays);
if (message.lifecycleState != null && Object.hasOwnProperty.call(message, "lifecycleState"))
writer.uint32(
/* id 12, wireType 0 =*/
96
).int32(message.lifecycleState);
if (message.analyticsEnabled != null && Object.hasOwnProperty.call(message, "analyticsEnabled"))
writer.uint32(
/* id 14, wireType 0 =*/
112
).bool(message.analyticsEnabled);
if (message.restrictedFields != null && message.restrictedFields.length)
for (var i3 = 0; i3 < message.restrictedFields.length; ++i3)
writer.uint32(
/* id 15, wireType 2 =*/
122
).string(message.restrictedFields[i3]);
if (message.indexConfigs != null && message.indexConfigs.length)
for (var i3 = 0; i3 < message.indexConfigs.length; ++i3)
$root.google.logging.v2.IndexConfig.encode(message.indexConfigs[i3], writer.uint32(
/* id 17, wireType 2 =*/
138
).fork()).ldelim();
if (message.cmekSettings != null && Object.hasOwnProperty.call(message, "cmekSettings"))
$root.google.logging.v2.CmekSettings.encode(message.cmekSettings, writer.uint32(
/* id 19, wireType 2 =*/
154
).fork()).ldelim();
return writer;
};
LogBucket.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogBucket.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogBucket();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 3: {
message.description = reader.string();
break;
}
case 4: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 5: {
message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 11: {
message.retentionDays = reader.int32();
break;
}
case 9: {
message.locked = reader.bool();
break;
}
case 12: {
message.lifecycleState = reader.int32();
break;
}
case 14: {
message.analyticsEnabled = reader.bool();
break;
}
case 15: {
if (!(message.restrictedFields && message.restrictedFields.length))
message.restrictedFields = [];
message.restrictedFields.push(reader.string());
break;
}
case 17: {
if (!(message.indexConfigs && message.indexConfigs.length))
message.indexConfigs = [];
message.indexConfigs.push($root.google.logging.v2.IndexConfig.decode(reader, reader.uint32()));
break;
}
case 19: {
message.cmekSettings = $root.google.logging.v2.CmekSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogBucket.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogBucket.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.createTime);
if (error40)
return "createTime." + error40;
}
if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.updateTime);
if (error40)
return "updateTime." + error40;
}
if (message.retentionDays != null && message.hasOwnProperty("retentionDays")) {
if (!$util.isInteger(message.retentionDays))
return "retentionDays: integer expected";
}
if (message.locked != null && message.hasOwnProperty("locked")) {
if (typeof message.locked !== "boolean")
return "locked: boolean expected";
}
if (message.lifecycleState != null && message.hasOwnProperty("lifecycleState"))
switch (message.lifecycleState) {
default:
return "lifecycleState: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
if (message.analyticsEnabled != null && message.hasOwnProperty("analyticsEnabled")) {
if (typeof message.analyticsEnabled !== "boolean")
return "analyticsEnabled: boolean expected";
}
if (message.restrictedFields != null && message.hasOwnProperty("restrictedFields")) {
if (!Array.isArray(message.restrictedFields))
return "restrictedFields: array expected";
for (var i3 = 0; i3 < message.restrictedFields.length; ++i3)
if (!$util.isString(message.restrictedFields[i3]))
return "restrictedFields: string[] expected";
}
if (message.indexConfigs != null && message.hasOwnProperty("indexConfigs")) {
if (!Array.isArray(message.indexConfigs))
return "indexConfigs: array expected";
for (var i3 = 0; i3 < message.indexConfigs.length; ++i3) {
var error40 = $root.google.logging.v2.IndexConfig.verify(message.indexConfigs[i3]);
if (error40)
return "indexConfigs." + error40;
}
}
if (message.cmekSettings != null && message.hasOwnProperty("cmekSettings")) {
var error40 = $root.google.logging.v2.CmekSettings.verify(message.cmekSettings);
if (error40)
return "cmekSettings." + error40;
}
return null;
};
LogBucket.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogBucket)
return object3;
var message = new $root.google.logging.v2.LogBucket();
if (object3.name != null)
message.name = String(object3.name);
if (object3.description != null)
message.description = String(object3.description);
if (object3.createTime != null) {
if (typeof object3.createTime !== "object")
throw TypeError(".google.logging.v2.LogBucket.createTime: object expected");
message.createTime = $root.google.protobuf.Timestamp.fromObject(object3.createTime);
}
if (object3.updateTime != null) {
if (typeof object3.updateTime !== "object")
throw TypeError(".google.logging.v2.LogBucket.updateTime: object expected");
message.updateTime = $root.google.protobuf.Timestamp.fromObject(object3.updateTime);
}
if (object3.retentionDays != null)
message.retentionDays = object3.retentionDays | 0;
if (object3.locked != null)
message.locked = Boolean(object3.locked);
switch (object3.lifecycleState) {
default:
if (typeof object3.lifecycleState === "number") {
message.lifecycleState = object3.lifecycleState;
break;
}
break;
case "LIFECYCLE_STATE_UNSPECIFIED":
case 0:
message.lifecycleState = 0;
break;
case "ACTIVE":
case 1:
message.lifecycleState = 1;
break;
case "DELETE_REQUESTED":
case 2:
message.lifecycleState = 2;
break;
case "UPDATING":
case 3:
message.lifecycleState = 3;
break;
case "CREATING":
case 4:
message.lifecycleState = 4;
break;
case "FAILED":
case 5:
message.lifecycleState = 5;
break;
}
if (object3.analyticsEnabled != null)
message.analyticsEnabled = Boolean(object3.analyticsEnabled);
if (object3.restrictedFields) {
if (!Array.isArray(object3.restrictedFields))
throw TypeError(".google.logging.v2.LogBucket.restrictedFields: array expected");
message.restrictedFields = [];
for (var i3 = 0; i3 < object3.restrictedFields.length; ++i3)
message.restrictedFields[i3] = String(object3.restrictedFields[i3]);
}
if (object3.indexConfigs) {
if (!Array.isArray(object3.indexConfigs))
throw TypeError(".google.logging.v2.LogBucket.indexConfigs: array expected");
message.indexConfigs = [];
for (var i3 = 0; i3 < object3.indexConfigs.length; ++i3) {
if (typeof object3.indexConfigs[i3] !== "object")
throw TypeError(".google.logging.v2.LogBucket.indexConfigs: object expected");
message.indexConfigs[i3] = $root.google.logging.v2.IndexConfig.fromObject(object3.indexConfigs[i3]);
}
}
if (object3.cmekSettings != null) {
if (typeof object3.cmekSettings !== "object")
throw TypeError(".google.logging.v2.LogBucket.cmekSettings: object expected");
message.cmekSettings = $root.google.logging.v2.CmekSettings.fromObject(object3.cmekSettings);
}
return message;
};
LogBucket.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.restrictedFields = [];
object3.indexConfigs = [];
}
if (options.defaults) {
object3.name = "";
object3.description = "";
object3.createTime = null;
object3.updateTime = null;
object3.locked = false;
object3.retentionDays = 0;
object3.lifecycleState = options.enums === String ? "LIFECYCLE_STATE_UNSPECIFIED" : 0;
object3.analyticsEnabled = false;
object3.cmekSettings = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.createTime != null && message.hasOwnProperty("createTime"))
object3.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
if (message.updateTime != null && message.hasOwnProperty("updateTime"))
object3.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
if (message.locked != null && message.hasOwnProperty("locked"))
object3.locked = message.locked;
if (message.retentionDays != null && message.hasOwnProperty("retentionDays"))
object3.retentionDays = message.retentionDays;
if (message.lifecycleState != null && message.hasOwnProperty("lifecycleState"))
object3.lifecycleState = options.enums === String ? $root.google.logging.v2.LifecycleState[message.lifecycleState] === void 0 ? message.lifecycleState : $root.google.logging.v2.LifecycleState[message.lifecycleState] : message.lifecycleState;
if (message.analyticsEnabled != null && message.hasOwnProperty("analyticsEnabled"))
object3.analyticsEnabled = message.analyticsEnabled;
if (message.restrictedFields && message.restrictedFields.length) {
object3.restrictedFields = [];
for (var j = 0; j < message.restrictedFields.length; ++j)
object3.restrictedFields[j] = message.restrictedFields[j];
}
if (message.indexConfigs && message.indexConfigs.length) {
object3.indexConfigs = [];
for (var j = 0; j < message.indexConfigs.length; ++j)
object3.indexConfigs[j] = $root.google.logging.v2.IndexConfig.toObject(message.indexConfigs[j], options);
}
if (message.cmekSettings != null && message.hasOwnProperty("cmekSettings"))
object3.cmekSettings = $root.google.logging.v2.CmekSettings.toObject(message.cmekSettings, options);
return object3;
};
LogBucket.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogBucket.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogBucket";
};
return LogBucket;
}();
v2.LogView = function() {
function LogView(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogView.prototype.name = "";
LogView.prototype.description = "";
LogView.prototype.createTime = null;
LogView.prototype.updateTime = null;
LogView.prototype.filter = "";
LogView.create = function create(properties) {
return new LogView(properties);
};
LogView.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.description);
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
$root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).string(message.filter);
return writer;
};
LogView.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogView.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogView();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 3: {
message.description = reader.string();
break;
}
case 4: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 5: {
message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 7: {
message.filter = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogView.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogView.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.createTime);
if (error40)
return "createTime." + error40;
}
if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.updateTime);
if (error40)
return "updateTime." + error40;
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
return null;
};
LogView.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogView)
return object3;
var message = new $root.google.logging.v2.LogView();
if (object3.name != null)
message.name = String(object3.name);
if (object3.description != null)
message.description = String(object3.description);
if (object3.createTime != null) {
if (typeof object3.createTime !== "object")
throw TypeError(".google.logging.v2.LogView.createTime: object expected");
message.createTime = $root.google.protobuf.Timestamp.fromObject(object3.createTime);
}
if (object3.updateTime != null) {
if (typeof object3.updateTime !== "object")
throw TypeError(".google.logging.v2.LogView.updateTime: object expected");
message.updateTime = $root.google.protobuf.Timestamp.fromObject(object3.updateTime);
}
if (object3.filter != null)
message.filter = String(object3.filter);
return message;
};
LogView.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.description = "";
object3.createTime = null;
object3.updateTime = null;
object3.filter = "";
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.createTime != null && message.hasOwnProperty("createTime"))
object3.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
if (message.updateTime != null && message.hasOwnProperty("updateTime"))
object3.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
return object3;
};
LogView.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogView.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogView";
};
return LogView;
}();
v2.LogSink = function() {
function LogSink(properties) {
this.exclusions = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogSink.prototype.name = "";
LogSink.prototype.destination = "";
LogSink.prototype.filter = "";
LogSink.prototype.description = "";
LogSink.prototype.disabled = false;
LogSink.prototype.exclusions = $util.emptyArray;
LogSink.prototype.outputVersionFormat = 0;
LogSink.prototype.writerIdentity = "";
LogSink.prototype.includeChildren = false;
LogSink.prototype.bigqueryOptions = null;
LogSink.prototype.createTime = null;
LogSink.prototype.updateTime = null;
var $oneOfFields;
Object.defineProperty(LogSink.prototype, "options", {
get: $util.oneOfGetter($oneOfFields = ["bigqueryOptions"]),
set: $util.oneOfSetter($oneOfFields)
});
LogSink.create = function create(properties) {
return new LogSink(properties);
};
LogSink.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.destination != null && Object.hasOwnProperty.call(message, "destination"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.destination);
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.filter);
if (message.outputVersionFormat != null && Object.hasOwnProperty.call(message, "outputVersionFormat"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).int32(message.outputVersionFormat);
if (message.writerIdentity != null && Object.hasOwnProperty.call(message, "writerIdentity"))
writer.uint32(
/* id 8, wireType 2 =*/
66
).string(message.writerIdentity);
if (message.includeChildren != null && Object.hasOwnProperty.call(message, "includeChildren"))
writer.uint32(
/* id 9, wireType 0 =*/
72
).bool(message.includeChildren);
if (message.bigqueryOptions != null && Object.hasOwnProperty.call(message, "bigqueryOptions"))
$root.google.logging.v2.BigQueryOptions.encode(message.bigqueryOptions, writer.uint32(
/* id 12, wireType 2 =*/
98
).fork()).ldelim();
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(
/* id 13, wireType 2 =*/
106
).fork()).ldelim();
if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
$root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(
/* id 14, wireType 2 =*/
114
).fork()).ldelim();
if (message.exclusions != null && message.exclusions.length)
for (var i3 = 0; i3 < message.exclusions.length; ++i3)
$root.google.logging.v2.LogExclusion.encode(message.exclusions[i3], writer.uint32(
/* id 16, wireType 2 =*/
130
).fork()).ldelim();
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 18, wireType 2 =*/
146
).string(message.description);
if (message.disabled != null && Object.hasOwnProperty.call(message, "disabled"))
writer.uint32(
/* id 19, wireType 0 =*/
152
).bool(message.disabled);
return writer;
};
LogSink.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogSink.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogSink();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 3: {
message.destination = reader.string();
break;
}
case 5: {
message.filter = reader.string();
break;
}
case 18: {
message.description = reader.string();
break;
}
case 19: {
message.disabled = reader.bool();
break;
}
case 16: {
if (!(message.exclusions && message.exclusions.length))
message.exclusions = [];
message.exclusions.push($root.google.logging.v2.LogExclusion.decode(reader, reader.uint32()));
break;
}
case 6: {
message.outputVersionFormat = reader.int32();
break;
}
case 8: {
message.writerIdentity = reader.string();
break;
}
case 9: {
message.includeChildren = reader.bool();
break;
}
case 12: {
message.bigqueryOptions = $root.google.logging.v2.BigQueryOptions.decode(reader, reader.uint32());
break;
}
case 13: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 14: {
message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogSink.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogSink.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.destination != null && message.hasOwnProperty("destination")) {
if (!$util.isString(message.destination))
return "destination: string expected";
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.disabled != null && message.hasOwnProperty("disabled")) {
if (typeof message.disabled !== "boolean")
return "disabled: boolean expected";
}
if (message.exclusions != null && message.hasOwnProperty("exclusions")) {
if (!Array.isArray(message.exclusions))
return "exclusions: array expected";
for (var i3 = 0; i3 < message.exclusions.length; ++i3) {
var error40 = $root.google.logging.v2.LogExclusion.verify(message.exclusions[i3]);
if (error40)
return "exclusions." + error40;
}
}
if (message.outputVersionFormat != null && message.hasOwnProperty("outputVersionFormat"))
switch (message.outputVersionFormat) {
default:
return "outputVersionFormat: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.writerIdentity != null && message.hasOwnProperty("writerIdentity")) {
if (!$util.isString(message.writerIdentity))
return "writerIdentity: string expected";
}
if (message.includeChildren != null && message.hasOwnProperty("includeChildren")) {
if (typeof message.includeChildren !== "boolean")
return "includeChildren: boolean expected";
}
if (message.bigqueryOptions != null && message.hasOwnProperty("bigqueryOptions")) {
properties.options = 1;
{
var error40 = $root.google.logging.v2.BigQueryOptions.verify(message.bigqueryOptions);
if (error40)
return "bigqueryOptions." + error40;
}
}
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.createTime);
if (error40)
return "createTime." + error40;
}
if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.updateTime);
if (error40)
return "updateTime." + error40;
}
return null;
};
LogSink.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogSink)
return object3;
var message = new $root.google.logging.v2.LogSink();
if (object3.name != null)
message.name = String(object3.name);
if (object3.destination != null)
message.destination = String(object3.destination);
if (object3.filter != null)
message.filter = String(object3.filter);
if (object3.description != null)
message.description = String(object3.description);
if (object3.disabled != null)
message.disabled = Boolean(object3.disabled);
if (object3.exclusions) {
if (!Array.isArray(object3.exclusions))
throw TypeError(".google.logging.v2.LogSink.exclusions: array expected");
message.exclusions = [];
for (var i3 = 0; i3 < object3.exclusions.length; ++i3) {
if (typeof object3.exclusions[i3] !== "object")
throw TypeError(".google.logging.v2.LogSink.exclusions: object expected");
message.exclusions[i3] = $root.google.logging.v2.LogExclusion.fromObject(object3.exclusions[i3]);
}
}
switch (object3.outputVersionFormat) {
default:
if (typeof object3.outputVersionFormat === "number") {
message.outputVersionFormat = object3.outputVersionFormat;
break;
}
break;
case "VERSION_FORMAT_UNSPECIFIED":
case 0:
message.outputVersionFormat = 0;
break;
case "V2":
case 1:
message.outputVersionFormat = 1;
break;
case "V1":
case 2:
message.outputVersionFormat = 2;
break;
}
if (object3.writerIdentity != null)
message.writerIdentity = String(object3.writerIdentity);
if (object3.includeChildren != null)
message.includeChildren = Boolean(object3.includeChildren);
if (object3.bigqueryOptions != null) {
if (typeof object3.bigqueryOptions !== "object")
throw TypeError(".google.logging.v2.LogSink.bigqueryOptions: object expected");
message.bigqueryOptions = $root.google.logging.v2.BigQueryOptions.fromObject(object3.bigqueryOptions);
}
if (object3.createTime != null) {
if (typeof object3.createTime !== "object")
throw TypeError(".google.logging.v2.LogSink.createTime: object expected");
message.createTime = $root.google.protobuf.Timestamp.fromObject(object3.createTime);
}
if (object3.updateTime != null) {
if (typeof object3.updateTime !== "object")
throw TypeError(".google.logging.v2.LogSink.updateTime: object expected");
message.updateTime = $root.google.protobuf.Timestamp.fromObject(object3.updateTime);
}
return message;
};
LogSink.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.exclusions = [];
if (options.defaults) {
object3.name = "";
object3.destination = "";
object3.filter = "";
object3.outputVersionFormat = options.enums === String ? "VERSION_FORMAT_UNSPECIFIED" : 0;
object3.writerIdentity = "";
object3.includeChildren = false;
object3.createTime = null;
object3.updateTime = null;
object3.description = "";
object3.disabled = false;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.destination != null && message.hasOwnProperty("destination"))
object3.destination = message.destination;
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
if (message.outputVersionFormat != null && message.hasOwnProperty("outputVersionFormat"))
object3.outputVersionFormat = options.enums === String ? $root.google.logging.v2.LogSink.VersionFormat[message.outputVersionFormat] === void 0 ? message.outputVersionFormat : $root.google.logging.v2.LogSink.VersionFormat[message.outputVersionFormat] : message.outputVersionFormat;
if (message.writerIdentity != null && message.hasOwnProperty("writerIdentity"))
object3.writerIdentity = message.writerIdentity;
if (message.includeChildren != null && message.hasOwnProperty("includeChildren"))
object3.includeChildren = message.includeChildren;
if (message.bigqueryOptions != null && message.hasOwnProperty("bigqueryOptions")) {
object3.bigqueryOptions = $root.google.logging.v2.BigQueryOptions.toObject(message.bigqueryOptions, options);
if (options.oneofs)
object3.options = "bigqueryOptions";
}
if (message.createTime != null && message.hasOwnProperty("createTime"))
object3.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
if (message.updateTime != null && message.hasOwnProperty("updateTime"))
object3.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
if (message.exclusions && message.exclusions.length) {
object3.exclusions = [];
for (var j = 0; j < message.exclusions.length; ++j)
object3.exclusions[j] = $root.google.logging.v2.LogExclusion.toObject(message.exclusions[j], options);
}
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.disabled != null && message.hasOwnProperty("disabled"))
object3.disabled = message.disabled;
return object3;
};
LogSink.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogSink.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogSink";
};
LogSink.VersionFormat = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "VERSION_FORMAT_UNSPECIFIED"] = 0;
values[valuesById[1] = "V2"] = 1;
values[valuesById[2] = "V1"] = 2;
return values;
}();
return LogSink;
}();
v2.BigQueryDataset = function() {
function BigQueryDataset(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
BigQueryDataset.prototype.datasetId = "";
BigQueryDataset.create = function create(properties) {
return new BigQueryDataset(properties);
};
BigQueryDataset.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.datasetId != null && Object.hasOwnProperty.call(message, "datasetId"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.datasetId);
return writer;
};
BigQueryDataset.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
BigQueryDataset.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.BigQueryDataset();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.datasetId = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
BigQueryDataset.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
BigQueryDataset.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.datasetId != null && message.hasOwnProperty("datasetId")) {
if (!$util.isString(message.datasetId))
return "datasetId: string expected";
}
return null;
};
BigQueryDataset.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.BigQueryDataset)
return object3;
var message = new $root.google.logging.v2.BigQueryDataset();
if (object3.datasetId != null)
message.datasetId = String(object3.datasetId);
return message;
};
BigQueryDataset.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.datasetId = "";
if (message.datasetId != null && message.hasOwnProperty("datasetId"))
object3.datasetId = message.datasetId;
return object3;
};
BigQueryDataset.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
BigQueryDataset.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.BigQueryDataset";
};
return BigQueryDataset;
}();
v2.Link = function() {
function Link(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Link.prototype.name = "";
Link.prototype.description = "";
Link.prototype.createTime = null;
Link.prototype.lifecycleState = 0;
Link.prototype.bigqueryDataset = null;
Link.create = function create(properties) {
return new Link(properties);
};
Link.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.description);
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
if (message.lifecycleState != null && Object.hasOwnProperty.call(message, "lifecycleState"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.lifecycleState);
if (message.bigqueryDataset != null && Object.hasOwnProperty.call(message, "bigqueryDataset"))
$root.google.logging.v2.BigQueryDataset.encode(message.bigqueryDataset, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
return writer;
};
Link.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Link.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.Link();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.description = reader.string();
break;
}
case 3: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 4: {
message.lifecycleState = reader.int32();
break;
}
case 5: {
message.bigqueryDataset = $root.google.logging.v2.BigQueryDataset.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Link.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Link.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.createTime);
if (error40)
return "createTime." + error40;
}
if (message.lifecycleState != null && message.hasOwnProperty("lifecycleState"))
switch (message.lifecycleState) {
default:
return "lifecycleState: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
if (message.bigqueryDataset != null && message.hasOwnProperty("bigqueryDataset")) {
var error40 = $root.google.logging.v2.BigQueryDataset.verify(message.bigqueryDataset);
if (error40)
return "bigqueryDataset." + error40;
}
return null;
};
Link.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.Link)
return object3;
var message = new $root.google.logging.v2.Link();
if (object3.name != null)
message.name = String(object3.name);
if (object3.description != null)
message.description = String(object3.description);
if (object3.createTime != null) {
if (typeof object3.createTime !== "object")
throw TypeError(".google.logging.v2.Link.createTime: object expected");
message.createTime = $root.google.protobuf.Timestamp.fromObject(object3.createTime);
}
switch (object3.lifecycleState) {
default:
if (typeof object3.lifecycleState === "number") {
message.lifecycleState = object3.lifecycleState;
break;
}
break;
case "LIFECYCLE_STATE_UNSPECIFIED":
case 0:
message.lifecycleState = 0;
break;
case "ACTIVE":
case 1:
message.lifecycleState = 1;
break;
case "DELETE_REQUESTED":
case 2:
message.lifecycleState = 2;
break;
case "UPDATING":
case 3:
message.lifecycleState = 3;
break;
case "CREATING":
case 4:
message.lifecycleState = 4;
break;
case "FAILED":
case 5:
message.lifecycleState = 5;
break;
}
if (object3.bigqueryDataset != null) {
if (typeof object3.bigqueryDataset !== "object")
throw TypeError(".google.logging.v2.Link.bigqueryDataset: object expected");
message.bigqueryDataset = $root.google.logging.v2.BigQueryDataset.fromObject(object3.bigqueryDataset);
}
return message;
};
Link.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.description = "";
object3.createTime = null;
object3.lifecycleState = options.enums === String ? "LIFECYCLE_STATE_UNSPECIFIED" : 0;
object3.bigqueryDataset = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.createTime != null && message.hasOwnProperty("createTime"))
object3.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
if (message.lifecycleState != null && message.hasOwnProperty("lifecycleState"))
object3.lifecycleState = options.enums === String ? $root.google.logging.v2.LifecycleState[message.lifecycleState] === void 0 ? message.lifecycleState : $root.google.logging.v2.LifecycleState[message.lifecycleState] : message.lifecycleState;
if (message.bigqueryDataset != null && message.hasOwnProperty("bigqueryDataset"))
object3.bigqueryDataset = $root.google.logging.v2.BigQueryDataset.toObject(message.bigqueryDataset, options);
return object3;
};
Link.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Link.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.Link";
};
return Link;
}();
v2.BigQueryOptions = function() {
function BigQueryOptions(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
BigQueryOptions.prototype.usePartitionedTables = false;
BigQueryOptions.prototype.usesTimestampColumnPartitioning = false;
BigQueryOptions.create = function create(properties) {
return new BigQueryOptions(properties);
};
BigQueryOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.usePartitionedTables != null && Object.hasOwnProperty.call(message, "usePartitionedTables"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).bool(message.usePartitionedTables);
if (message.usesTimestampColumnPartitioning != null && Object.hasOwnProperty.call(message, "usesTimestampColumnPartitioning"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.usesTimestampColumnPartitioning);
return writer;
};
BigQueryOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
BigQueryOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.BigQueryOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.usePartitionedTables = reader.bool();
break;
}
case 3: {
message.usesTimestampColumnPartitioning = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
BigQueryOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
BigQueryOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.usePartitionedTables != null && message.hasOwnProperty("usePartitionedTables")) {
if (typeof message.usePartitionedTables !== "boolean")
return "usePartitionedTables: boolean expected";
}
if (message.usesTimestampColumnPartitioning != null && message.hasOwnProperty("usesTimestampColumnPartitioning")) {
if (typeof message.usesTimestampColumnPartitioning !== "boolean")
return "usesTimestampColumnPartitioning: boolean expected";
}
return null;
};
BigQueryOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.BigQueryOptions)
return object3;
var message = new $root.google.logging.v2.BigQueryOptions();
if (object3.usePartitionedTables != null)
message.usePartitionedTables = Boolean(object3.usePartitionedTables);
if (object3.usesTimestampColumnPartitioning != null)
message.usesTimestampColumnPartitioning = Boolean(object3.usesTimestampColumnPartitioning);
return message;
};
BigQueryOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.usePartitionedTables = false;
object3.usesTimestampColumnPartitioning = false;
}
if (message.usePartitionedTables != null && message.hasOwnProperty("usePartitionedTables"))
object3.usePartitionedTables = message.usePartitionedTables;
if (message.usesTimestampColumnPartitioning != null && message.hasOwnProperty("usesTimestampColumnPartitioning"))
object3.usesTimestampColumnPartitioning = message.usesTimestampColumnPartitioning;
return object3;
};
BigQueryOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
BigQueryOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.BigQueryOptions";
};
return BigQueryOptions;
}();
v2.ListBucketsRequest = function() {
function ListBucketsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListBucketsRequest.prototype.parent = "";
ListBucketsRequest.prototype.pageToken = "";
ListBucketsRequest.prototype.pageSize = 0;
ListBucketsRequest.create = function create(properties) {
return new ListBucketsRequest(properties);
};
ListBucketsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pageToken);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.pageSize);
return writer;
};
ListBucketsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListBucketsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListBucketsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.pageToken = reader.string();
break;
}
case 3: {
message.pageSize = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListBucketsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListBucketsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
return null;
};
ListBucketsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListBucketsRequest)
return object3;
var message = new $root.google.logging.v2.ListBucketsRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
return message;
};
ListBucketsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.pageToken = "";
object3.pageSize = 0;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
return object3;
};
ListBucketsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListBucketsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListBucketsRequest";
};
return ListBucketsRequest;
}();
v2.ListBucketsResponse = function() {
function ListBucketsResponse(properties) {
this.buckets = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListBucketsResponse.prototype.buckets = $util.emptyArray;
ListBucketsResponse.prototype.nextPageToken = "";
ListBucketsResponse.create = function create(properties) {
return new ListBucketsResponse(properties);
};
ListBucketsResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.buckets != null && message.buckets.length)
for (var i3 = 0; i3 < message.buckets.length; ++i3)
$root.google.logging.v2.LogBucket.encode(message.buckets[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListBucketsResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListBucketsResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListBucketsResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.buckets && message.buckets.length))
message.buckets = [];
message.buckets.push($root.google.logging.v2.LogBucket.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListBucketsResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListBucketsResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.buckets != null && message.hasOwnProperty("buckets")) {
if (!Array.isArray(message.buckets))
return "buckets: array expected";
for (var i3 = 0; i3 < message.buckets.length; ++i3) {
var error40 = $root.google.logging.v2.LogBucket.verify(message.buckets[i3]);
if (error40)
return "buckets." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListBucketsResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListBucketsResponse)
return object3;
var message = new $root.google.logging.v2.ListBucketsResponse();
if (object3.buckets) {
if (!Array.isArray(object3.buckets))
throw TypeError(".google.logging.v2.ListBucketsResponse.buckets: array expected");
message.buckets = [];
for (var i3 = 0; i3 < object3.buckets.length; ++i3) {
if (typeof object3.buckets[i3] !== "object")
throw TypeError(".google.logging.v2.ListBucketsResponse.buckets: object expected");
message.buckets[i3] = $root.google.logging.v2.LogBucket.fromObject(object3.buckets[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListBucketsResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.buckets = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.buckets && message.buckets.length) {
object3.buckets = [];
for (var j = 0; j < message.buckets.length; ++j)
object3.buckets[j] = $root.google.logging.v2.LogBucket.toObject(message.buckets[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListBucketsResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListBucketsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListBucketsResponse";
};
return ListBucketsResponse;
}();
v2.CreateBucketRequest = function() {
function CreateBucketRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CreateBucketRequest.prototype.parent = "";
CreateBucketRequest.prototype.bucketId = "";
CreateBucketRequest.prototype.bucket = null;
CreateBucketRequest.create = function create(properties) {
return new CreateBucketRequest(properties);
};
CreateBucketRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.bucketId != null && Object.hasOwnProperty.call(message, "bucketId"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.bucketId);
if (message.bucket != null && Object.hasOwnProperty.call(message, "bucket"))
$root.google.logging.v2.LogBucket.encode(message.bucket, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
CreateBucketRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CreateBucketRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CreateBucketRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.bucketId = reader.string();
break;
}
case 3: {
message.bucket = $root.google.logging.v2.LogBucket.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CreateBucketRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CreateBucketRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.bucketId != null && message.hasOwnProperty("bucketId")) {
if (!$util.isString(message.bucketId))
return "bucketId: string expected";
}
if (message.bucket != null && message.hasOwnProperty("bucket")) {
var error40 = $root.google.logging.v2.LogBucket.verify(message.bucket);
if (error40)
return "bucket." + error40;
}
return null;
};
CreateBucketRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CreateBucketRequest)
return object3;
var message = new $root.google.logging.v2.CreateBucketRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.bucketId != null)
message.bucketId = String(object3.bucketId);
if (object3.bucket != null) {
if (typeof object3.bucket !== "object")
throw TypeError(".google.logging.v2.CreateBucketRequest.bucket: object expected");
message.bucket = $root.google.logging.v2.LogBucket.fromObject(object3.bucket);
}
return message;
};
CreateBucketRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.bucketId = "";
object3.bucket = null;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.bucketId != null && message.hasOwnProperty("bucketId"))
object3.bucketId = message.bucketId;
if (message.bucket != null && message.hasOwnProperty("bucket"))
object3.bucket = $root.google.logging.v2.LogBucket.toObject(message.bucket, options);
return object3;
};
CreateBucketRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CreateBucketRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CreateBucketRequest";
};
return CreateBucketRequest;
}();
v2.UpdateBucketRequest = function() {
function UpdateBucketRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UpdateBucketRequest.prototype.name = "";
UpdateBucketRequest.prototype.bucket = null;
UpdateBucketRequest.prototype.updateMask = null;
UpdateBucketRequest.create = function create(properties) {
return new UpdateBucketRequest(properties);
};
UpdateBucketRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.bucket != null && Object.hasOwnProperty.call(message, "bucket"))
$root.google.logging.v2.LogBucket.encode(message.bucket, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
$root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
return writer;
};
UpdateBucketRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UpdateBucketRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UpdateBucketRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.bucket = $root.google.logging.v2.LogBucket.decode(reader, reader.uint32());
break;
}
case 4: {
message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UpdateBucketRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UpdateBucketRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.bucket != null && message.hasOwnProperty("bucket")) {
var error40 = $root.google.logging.v2.LogBucket.verify(message.bucket);
if (error40)
return "bucket." + error40;
}
if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
var error40 = $root.google.protobuf.FieldMask.verify(message.updateMask);
if (error40)
return "updateMask." + error40;
}
return null;
};
UpdateBucketRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UpdateBucketRequest)
return object3;
var message = new $root.google.logging.v2.UpdateBucketRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.bucket != null) {
if (typeof object3.bucket !== "object")
throw TypeError(".google.logging.v2.UpdateBucketRequest.bucket: object expected");
message.bucket = $root.google.logging.v2.LogBucket.fromObject(object3.bucket);
}
if (object3.updateMask != null) {
if (typeof object3.updateMask !== "object")
throw TypeError(".google.logging.v2.UpdateBucketRequest.updateMask: object expected");
message.updateMask = $root.google.protobuf.FieldMask.fromObject(object3.updateMask);
}
return message;
};
UpdateBucketRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.bucket = null;
object3.updateMask = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.bucket != null && message.hasOwnProperty("bucket"))
object3.bucket = $root.google.logging.v2.LogBucket.toObject(message.bucket, options);
if (message.updateMask != null && message.hasOwnProperty("updateMask"))
object3.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
return object3;
};
UpdateBucketRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UpdateBucketRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UpdateBucketRequest";
};
return UpdateBucketRequest;
}();
v2.GetBucketRequest = function() {
function GetBucketRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetBucketRequest.prototype.name = "";
GetBucketRequest.create = function create(properties) {
return new GetBucketRequest(properties);
};
GetBucketRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
GetBucketRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetBucketRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetBucketRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetBucketRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetBucketRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
GetBucketRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetBucketRequest)
return object3;
var message = new $root.google.logging.v2.GetBucketRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
GetBucketRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
GetBucketRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetBucketRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetBucketRequest";
};
return GetBucketRequest;
}();
v2.DeleteBucketRequest = function() {
function DeleteBucketRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteBucketRequest.prototype.name = "";
DeleteBucketRequest.create = function create(properties) {
return new DeleteBucketRequest(properties);
};
DeleteBucketRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
DeleteBucketRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteBucketRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.DeleteBucketRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteBucketRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteBucketRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
DeleteBucketRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.DeleteBucketRequest)
return object3;
var message = new $root.google.logging.v2.DeleteBucketRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
DeleteBucketRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
DeleteBucketRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteBucketRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.DeleteBucketRequest";
};
return DeleteBucketRequest;
}();
v2.UndeleteBucketRequest = function() {
function UndeleteBucketRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UndeleteBucketRequest.prototype.name = "";
UndeleteBucketRequest.create = function create(properties) {
return new UndeleteBucketRequest(properties);
};
UndeleteBucketRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
UndeleteBucketRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UndeleteBucketRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UndeleteBucketRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UndeleteBucketRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UndeleteBucketRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
UndeleteBucketRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UndeleteBucketRequest)
return object3;
var message = new $root.google.logging.v2.UndeleteBucketRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
UndeleteBucketRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
UndeleteBucketRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UndeleteBucketRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UndeleteBucketRequest";
};
return UndeleteBucketRequest;
}();
v2.ListViewsRequest = function() {
function ListViewsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListViewsRequest.prototype.parent = "";
ListViewsRequest.prototype.pageToken = "";
ListViewsRequest.prototype.pageSize = 0;
ListViewsRequest.create = function create(properties) {
return new ListViewsRequest(properties);
};
ListViewsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pageToken);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.pageSize);
return writer;
};
ListViewsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListViewsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListViewsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.pageToken = reader.string();
break;
}
case 3: {
message.pageSize = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListViewsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListViewsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
return null;
};
ListViewsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListViewsRequest)
return object3;
var message = new $root.google.logging.v2.ListViewsRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
return message;
};
ListViewsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.pageToken = "";
object3.pageSize = 0;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
return object3;
};
ListViewsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListViewsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListViewsRequest";
};
return ListViewsRequest;
}();
v2.ListViewsResponse = function() {
function ListViewsResponse(properties) {
this.views = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListViewsResponse.prototype.views = $util.emptyArray;
ListViewsResponse.prototype.nextPageToken = "";
ListViewsResponse.create = function create(properties) {
return new ListViewsResponse(properties);
};
ListViewsResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.views != null && message.views.length)
for (var i3 = 0; i3 < message.views.length; ++i3)
$root.google.logging.v2.LogView.encode(message.views[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListViewsResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListViewsResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListViewsResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.views && message.views.length))
message.views = [];
message.views.push($root.google.logging.v2.LogView.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListViewsResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListViewsResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.views != null && message.hasOwnProperty("views")) {
if (!Array.isArray(message.views))
return "views: array expected";
for (var i3 = 0; i3 < message.views.length; ++i3) {
var error40 = $root.google.logging.v2.LogView.verify(message.views[i3]);
if (error40)
return "views." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListViewsResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListViewsResponse)
return object3;
var message = new $root.google.logging.v2.ListViewsResponse();
if (object3.views) {
if (!Array.isArray(object3.views))
throw TypeError(".google.logging.v2.ListViewsResponse.views: array expected");
message.views = [];
for (var i3 = 0; i3 < object3.views.length; ++i3) {
if (typeof object3.views[i3] !== "object")
throw TypeError(".google.logging.v2.ListViewsResponse.views: object expected");
message.views[i3] = $root.google.logging.v2.LogView.fromObject(object3.views[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListViewsResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.views = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.views && message.views.length) {
object3.views = [];
for (var j = 0; j < message.views.length; ++j)
object3.views[j] = $root.google.logging.v2.LogView.toObject(message.views[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListViewsResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListViewsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListViewsResponse";
};
return ListViewsResponse;
}();
v2.CreateViewRequest = function() {
function CreateViewRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CreateViewRequest.prototype.parent = "";
CreateViewRequest.prototype.viewId = "";
CreateViewRequest.prototype.view = null;
CreateViewRequest.create = function create(properties) {
return new CreateViewRequest(properties);
};
CreateViewRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.viewId != null && Object.hasOwnProperty.call(message, "viewId"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.viewId);
if (message.view != null && Object.hasOwnProperty.call(message, "view"))
$root.google.logging.v2.LogView.encode(message.view, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
CreateViewRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CreateViewRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CreateViewRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.viewId = reader.string();
break;
}
case 3: {
message.view = $root.google.logging.v2.LogView.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CreateViewRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CreateViewRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.viewId != null && message.hasOwnProperty("viewId")) {
if (!$util.isString(message.viewId))
return "viewId: string expected";
}
if (message.view != null && message.hasOwnProperty("view")) {
var error40 = $root.google.logging.v2.LogView.verify(message.view);
if (error40)
return "view." + error40;
}
return null;
};
CreateViewRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CreateViewRequest)
return object3;
var message = new $root.google.logging.v2.CreateViewRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.viewId != null)
message.viewId = String(object3.viewId);
if (object3.view != null) {
if (typeof object3.view !== "object")
throw TypeError(".google.logging.v2.CreateViewRequest.view: object expected");
message.view = $root.google.logging.v2.LogView.fromObject(object3.view);
}
return message;
};
CreateViewRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.viewId = "";
object3.view = null;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.viewId != null && message.hasOwnProperty("viewId"))
object3.viewId = message.viewId;
if (message.view != null && message.hasOwnProperty("view"))
object3.view = $root.google.logging.v2.LogView.toObject(message.view, options);
return object3;
};
CreateViewRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CreateViewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CreateViewRequest";
};
return CreateViewRequest;
}();
v2.UpdateViewRequest = function() {
function UpdateViewRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UpdateViewRequest.prototype.name = "";
UpdateViewRequest.prototype.view = null;
UpdateViewRequest.prototype.updateMask = null;
UpdateViewRequest.create = function create(properties) {
return new UpdateViewRequest(properties);
};
UpdateViewRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.view != null && Object.hasOwnProperty.call(message, "view"))
$root.google.logging.v2.LogView.encode(message.view, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
$root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
return writer;
};
UpdateViewRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UpdateViewRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UpdateViewRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.view = $root.google.logging.v2.LogView.decode(reader, reader.uint32());
break;
}
case 4: {
message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UpdateViewRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UpdateViewRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.view != null && message.hasOwnProperty("view")) {
var error40 = $root.google.logging.v2.LogView.verify(message.view);
if (error40)
return "view." + error40;
}
if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
var error40 = $root.google.protobuf.FieldMask.verify(message.updateMask);
if (error40)
return "updateMask." + error40;
}
return null;
};
UpdateViewRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UpdateViewRequest)
return object3;
var message = new $root.google.logging.v2.UpdateViewRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.view != null) {
if (typeof object3.view !== "object")
throw TypeError(".google.logging.v2.UpdateViewRequest.view: object expected");
message.view = $root.google.logging.v2.LogView.fromObject(object3.view);
}
if (object3.updateMask != null) {
if (typeof object3.updateMask !== "object")
throw TypeError(".google.logging.v2.UpdateViewRequest.updateMask: object expected");
message.updateMask = $root.google.protobuf.FieldMask.fromObject(object3.updateMask);
}
return message;
};
UpdateViewRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.view = null;
object3.updateMask = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.view != null && message.hasOwnProperty("view"))
object3.view = $root.google.logging.v2.LogView.toObject(message.view, options);
if (message.updateMask != null && message.hasOwnProperty("updateMask"))
object3.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
return object3;
};
UpdateViewRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UpdateViewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UpdateViewRequest";
};
return UpdateViewRequest;
}();
v2.GetViewRequest = function() {
function GetViewRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetViewRequest.prototype.name = "";
GetViewRequest.create = function create(properties) {
return new GetViewRequest(properties);
};
GetViewRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
GetViewRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetViewRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetViewRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetViewRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetViewRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
GetViewRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetViewRequest)
return object3;
var message = new $root.google.logging.v2.GetViewRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
GetViewRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
GetViewRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetViewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetViewRequest";
};
return GetViewRequest;
}();
v2.DeleteViewRequest = function() {
function DeleteViewRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteViewRequest.prototype.name = "";
DeleteViewRequest.create = function create(properties) {
return new DeleteViewRequest(properties);
};
DeleteViewRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
DeleteViewRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteViewRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.DeleteViewRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteViewRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteViewRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
DeleteViewRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.DeleteViewRequest)
return object3;
var message = new $root.google.logging.v2.DeleteViewRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
DeleteViewRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
DeleteViewRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteViewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.DeleteViewRequest";
};
return DeleteViewRequest;
}();
v2.ListSinksRequest = function() {
function ListSinksRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListSinksRequest.prototype.parent = "";
ListSinksRequest.prototype.pageToken = "";
ListSinksRequest.prototype.pageSize = 0;
ListSinksRequest.create = function create(properties) {
return new ListSinksRequest(properties);
};
ListSinksRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pageToken);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.pageSize);
return writer;
};
ListSinksRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListSinksRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListSinksRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.pageToken = reader.string();
break;
}
case 3: {
message.pageSize = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListSinksRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListSinksRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
return null;
};
ListSinksRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListSinksRequest)
return object3;
var message = new $root.google.logging.v2.ListSinksRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
return message;
};
ListSinksRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.pageToken = "";
object3.pageSize = 0;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
return object3;
};
ListSinksRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListSinksRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListSinksRequest";
};
return ListSinksRequest;
}();
v2.ListSinksResponse = function() {
function ListSinksResponse(properties) {
this.sinks = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListSinksResponse.prototype.sinks = $util.emptyArray;
ListSinksResponse.prototype.nextPageToken = "";
ListSinksResponse.create = function create(properties) {
return new ListSinksResponse(properties);
};
ListSinksResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.sinks != null && message.sinks.length)
for (var i3 = 0; i3 < message.sinks.length; ++i3)
$root.google.logging.v2.LogSink.encode(message.sinks[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListSinksResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListSinksResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListSinksResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.sinks && message.sinks.length))
message.sinks = [];
message.sinks.push($root.google.logging.v2.LogSink.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListSinksResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListSinksResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.sinks != null && message.hasOwnProperty("sinks")) {
if (!Array.isArray(message.sinks))
return "sinks: array expected";
for (var i3 = 0; i3 < message.sinks.length; ++i3) {
var error40 = $root.google.logging.v2.LogSink.verify(message.sinks[i3]);
if (error40)
return "sinks." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListSinksResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListSinksResponse)
return object3;
var message = new $root.google.logging.v2.ListSinksResponse();
if (object3.sinks) {
if (!Array.isArray(object3.sinks))
throw TypeError(".google.logging.v2.ListSinksResponse.sinks: array expected");
message.sinks = [];
for (var i3 = 0; i3 < object3.sinks.length; ++i3) {
if (typeof object3.sinks[i3] !== "object")
throw TypeError(".google.logging.v2.ListSinksResponse.sinks: object expected");
message.sinks[i3] = $root.google.logging.v2.LogSink.fromObject(object3.sinks[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListSinksResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.sinks = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.sinks && message.sinks.length) {
object3.sinks = [];
for (var j = 0; j < message.sinks.length; ++j)
object3.sinks[j] = $root.google.logging.v2.LogSink.toObject(message.sinks[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListSinksResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListSinksResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListSinksResponse";
};
return ListSinksResponse;
}();
v2.GetSinkRequest = function() {
function GetSinkRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetSinkRequest.prototype.sinkName = "";
GetSinkRequest.create = function create(properties) {
return new GetSinkRequest(properties);
};
GetSinkRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.sinkName != null && Object.hasOwnProperty.call(message, "sinkName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.sinkName);
return writer;
};
GetSinkRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetSinkRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetSinkRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.sinkName = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetSinkRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetSinkRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.sinkName != null && message.hasOwnProperty("sinkName")) {
if (!$util.isString(message.sinkName))
return "sinkName: string expected";
}
return null;
};
GetSinkRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetSinkRequest)
return object3;
var message = new $root.google.logging.v2.GetSinkRequest();
if (object3.sinkName != null)
message.sinkName = String(object3.sinkName);
return message;
};
GetSinkRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.sinkName = "";
if (message.sinkName != null && message.hasOwnProperty("sinkName"))
object3.sinkName = message.sinkName;
return object3;
};
GetSinkRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetSinkRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetSinkRequest";
};
return GetSinkRequest;
}();
v2.CreateSinkRequest = function() {
function CreateSinkRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CreateSinkRequest.prototype.parent = "";
CreateSinkRequest.prototype.sink = null;
CreateSinkRequest.prototype.uniqueWriterIdentity = false;
CreateSinkRequest.create = function create(properties) {
return new CreateSinkRequest(properties);
};
CreateSinkRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.sink != null && Object.hasOwnProperty.call(message, "sink"))
$root.google.logging.v2.LogSink.encode(message.sink, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.uniqueWriterIdentity != null && Object.hasOwnProperty.call(message, "uniqueWriterIdentity"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.uniqueWriterIdentity);
return writer;
};
CreateSinkRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CreateSinkRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CreateSinkRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.sink = $root.google.logging.v2.LogSink.decode(reader, reader.uint32());
break;
}
case 3: {
message.uniqueWriterIdentity = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CreateSinkRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CreateSinkRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.sink != null && message.hasOwnProperty("sink")) {
var error40 = $root.google.logging.v2.LogSink.verify(message.sink);
if (error40)
return "sink." + error40;
}
if (message.uniqueWriterIdentity != null && message.hasOwnProperty("uniqueWriterIdentity")) {
if (typeof message.uniqueWriterIdentity !== "boolean")
return "uniqueWriterIdentity: boolean expected";
}
return null;
};
CreateSinkRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CreateSinkRequest)
return object3;
var message = new $root.google.logging.v2.CreateSinkRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.sink != null) {
if (typeof object3.sink !== "object")
throw TypeError(".google.logging.v2.CreateSinkRequest.sink: object expected");
message.sink = $root.google.logging.v2.LogSink.fromObject(object3.sink);
}
if (object3.uniqueWriterIdentity != null)
message.uniqueWriterIdentity = Boolean(object3.uniqueWriterIdentity);
return message;
};
CreateSinkRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.sink = null;
object3.uniqueWriterIdentity = false;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.sink != null && message.hasOwnProperty("sink"))
object3.sink = $root.google.logging.v2.LogSink.toObject(message.sink, options);
if (message.uniqueWriterIdentity != null && message.hasOwnProperty("uniqueWriterIdentity"))
object3.uniqueWriterIdentity = message.uniqueWriterIdentity;
return object3;
};
CreateSinkRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CreateSinkRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CreateSinkRequest";
};
return CreateSinkRequest;
}();
v2.UpdateSinkRequest = function() {
function UpdateSinkRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UpdateSinkRequest.prototype.sinkName = "";
UpdateSinkRequest.prototype.sink = null;
UpdateSinkRequest.prototype.uniqueWriterIdentity = false;
UpdateSinkRequest.prototype.updateMask = null;
UpdateSinkRequest.create = function create(properties) {
return new UpdateSinkRequest(properties);
};
UpdateSinkRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.sinkName != null && Object.hasOwnProperty.call(message, "sinkName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.sinkName);
if (message.sink != null && Object.hasOwnProperty.call(message, "sink"))
$root.google.logging.v2.LogSink.encode(message.sink, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.uniqueWriterIdentity != null && Object.hasOwnProperty.call(message, "uniqueWriterIdentity"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.uniqueWriterIdentity);
if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
$root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
return writer;
};
UpdateSinkRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UpdateSinkRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UpdateSinkRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.sinkName = reader.string();
break;
}
case 2: {
message.sink = $root.google.logging.v2.LogSink.decode(reader, reader.uint32());
break;
}
case 3: {
message.uniqueWriterIdentity = reader.bool();
break;
}
case 4: {
message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UpdateSinkRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UpdateSinkRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.sinkName != null && message.hasOwnProperty("sinkName")) {
if (!$util.isString(message.sinkName))
return "sinkName: string expected";
}
if (message.sink != null && message.hasOwnProperty("sink")) {
var error40 = $root.google.logging.v2.LogSink.verify(message.sink);
if (error40)
return "sink." + error40;
}
if (message.uniqueWriterIdentity != null && message.hasOwnProperty("uniqueWriterIdentity")) {
if (typeof message.uniqueWriterIdentity !== "boolean")
return "uniqueWriterIdentity: boolean expected";
}
if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
var error40 = $root.google.protobuf.FieldMask.verify(message.updateMask);
if (error40)
return "updateMask." + error40;
}
return null;
};
UpdateSinkRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UpdateSinkRequest)
return object3;
var message = new $root.google.logging.v2.UpdateSinkRequest();
if (object3.sinkName != null)
message.sinkName = String(object3.sinkName);
if (object3.sink != null) {
if (typeof object3.sink !== "object")
throw TypeError(".google.logging.v2.UpdateSinkRequest.sink: object expected");
message.sink = $root.google.logging.v2.LogSink.fromObject(object3.sink);
}
if (object3.uniqueWriterIdentity != null)
message.uniqueWriterIdentity = Boolean(object3.uniqueWriterIdentity);
if (object3.updateMask != null) {
if (typeof object3.updateMask !== "object")
throw TypeError(".google.logging.v2.UpdateSinkRequest.updateMask: object expected");
message.updateMask = $root.google.protobuf.FieldMask.fromObject(object3.updateMask);
}
return message;
};
UpdateSinkRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.sinkName = "";
object3.sink = null;
object3.uniqueWriterIdentity = false;
object3.updateMask = null;
}
if (message.sinkName != null && message.hasOwnProperty("sinkName"))
object3.sinkName = message.sinkName;
if (message.sink != null && message.hasOwnProperty("sink"))
object3.sink = $root.google.logging.v2.LogSink.toObject(message.sink, options);
if (message.uniqueWriterIdentity != null && message.hasOwnProperty("uniqueWriterIdentity"))
object3.uniqueWriterIdentity = message.uniqueWriterIdentity;
if (message.updateMask != null && message.hasOwnProperty("updateMask"))
object3.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
return object3;
};
UpdateSinkRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UpdateSinkRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UpdateSinkRequest";
};
return UpdateSinkRequest;
}();
v2.DeleteSinkRequest = function() {
function DeleteSinkRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteSinkRequest.prototype.sinkName = "";
DeleteSinkRequest.create = function create(properties) {
return new DeleteSinkRequest(properties);
};
DeleteSinkRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.sinkName != null && Object.hasOwnProperty.call(message, "sinkName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.sinkName);
return writer;
};
DeleteSinkRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteSinkRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.DeleteSinkRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.sinkName = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteSinkRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteSinkRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.sinkName != null && message.hasOwnProperty("sinkName")) {
if (!$util.isString(message.sinkName))
return "sinkName: string expected";
}
return null;
};
DeleteSinkRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.DeleteSinkRequest)
return object3;
var message = new $root.google.logging.v2.DeleteSinkRequest();
if (object3.sinkName != null)
message.sinkName = String(object3.sinkName);
return message;
};
DeleteSinkRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.sinkName = "";
if (message.sinkName != null && message.hasOwnProperty("sinkName"))
object3.sinkName = message.sinkName;
return object3;
};
DeleteSinkRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteSinkRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.DeleteSinkRequest";
};
return DeleteSinkRequest;
}();
v2.CreateLinkRequest = function() {
function CreateLinkRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CreateLinkRequest.prototype.parent = "";
CreateLinkRequest.prototype.link = null;
CreateLinkRequest.prototype.linkId = "";
CreateLinkRequest.create = function create(properties) {
return new CreateLinkRequest(properties);
};
CreateLinkRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.link != null && Object.hasOwnProperty.call(message, "link"))
$root.google.logging.v2.Link.encode(message.link, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.linkId != null && Object.hasOwnProperty.call(message, "linkId"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.linkId);
return writer;
};
CreateLinkRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CreateLinkRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CreateLinkRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.link = $root.google.logging.v2.Link.decode(reader, reader.uint32());
break;
}
case 3: {
message.linkId = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CreateLinkRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CreateLinkRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.link != null && message.hasOwnProperty("link")) {
var error40 = $root.google.logging.v2.Link.verify(message.link);
if (error40)
return "link." + error40;
}
if (message.linkId != null && message.hasOwnProperty("linkId")) {
if (!$util.isString(message.linkId))
return "linkId: string expected";
}
return null;
};
CreateLinkRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CreateLinkRequest)
return object3;
var message = new $root.google.logging.v2.CreateLinkRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.link != null) {
if (typeof object3.link !== "object")
throw TypeError(".google.logging.v2.CreateLinkRequest.link: object expected");
message.link = $root.google.logging.v2.Link.fromObject(object3.link);
}
if (object3.linkId != null)
message.linkId = String(object3.linkId);
return message;
};
CreateLinkRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.link = null;
object3.linkId = "";
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.link != null && message.hasOwnProperty("link"))
object3.link = $root.google.logging.v2.Link.toObject(message.link, options);
if (message.linkId != null && message.hasOwnProperty("linkId"))
object3.linkId = message.linkId;
return object3;
};
CreateLinkRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CreateLinkRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CreateLinkRequest";
};
return CreateLinkRequest;
}();
v2.DeleteLinkRequest = function() {
function DeleteLinkRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteLinkRequest.prototype.name = "";
DeleteLinkRequest.create = function create(properties) {
return new DeleteLinkRequest(properties);
};
DeleteLinkRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
DeleteLinkRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteLinkRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.DeleteLinkRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteLinkRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteLinkRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
DeleteLinkRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.DeleteLinkRequest)
return object3;
var message = new $root.google.logging.v2.DeleteLinkRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
DeleteLinkRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
DeleteLinkRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteLinkRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.DeleteLinkRequest";
};
return DeleteLinkRequest;
}();
v2.ListLinksRequest = function() {
function ListLinksRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLinksRequest.prototype.parent = "";
ListLinksRequest.prototype.pageToken = "";
ListLinksRequest.prototype.pageSize = 0;
ListLinksRequest.create = function create(properties) {
return new ListLinksRequest(properties);
};
ListLinksRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pageToken);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.pageSize);
return writer;
};
ListLinksRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLinksRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLinksRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.pageToken = reader.string();
break;
}
case 3: {
message.pageSize = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLinksRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLinksRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
return null;
};
ListLinksRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLinksRequest)
return object3;
var message = new $root.google.logging.v2.ListLinksRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
return message;
};
ListLinksRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.pageToken = "";
object3.pageSize = 0;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
return object3;
};
ListLinksRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLinksRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLinksRequest";
};
return ListLinksRequest;
}();
v2.ListLinksResponse = function() {
function ListLinksResponse(properties) {
this.links = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLinksResponse.prototype.links = $util.emptyArray;
ListLinksResponse.prototype.nextPageToken = "";
ListLinksResponse.create = function create(properties) {
return new ListLinksResponse(properties);
};
ListLinksResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.links != null && message.links.length)
for (var i3 = 0; i3 < message.links.length; ++i3)
$root.google.logging.v2.Link.encode(message.links[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListLinksResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLinksResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLinksResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.links && message.links.length))
message.links = [];
message.links.push($root.google.logging.v2.Link.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLinksResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLinksResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.links != null && message.hasOwnProperty("links")) {
if (!Array.isArray(message.links))
return "links: array expected";
for (var i3 = 0; i3 < message.links.length; ++i3) {
var error40 = $root.google.logging.v2.Link.verify(message.links[i3]);
if (error40)
return "links." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListLinksResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLinksResponse)
return object3;
var message = new $root.google.logging.v2.ListLinksResponse();
if (object3.links) {
if (!Array.isArray(object3.links))
throw TypeError(".google.logging.v2.ListLinksResponse.links: array expected");
message.links = [];
for (var i3 = 0; i3 < object3.links.length; ++i3) {
if (typeof object3.links[i3] !== "object")
throw TypeError(".google.logging.v2.ListLinksResponse.links: object expected");
message.links[i3] = $root.google.logging.v2.Link.fromObject(object3.links[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListLinksResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.links = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.links && message.links.length) {
object3.links = [];
for (var j = 0; j < message.links.length; ++j)
object3.links[j] = $root.google.logging.v2.Link.toObject(message.links[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListLinksResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLinksResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLinksResponse";
};
return ListLinksResponse;
}();
v2.GetLinkRequest = function() {
function GetLinkRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetLinkRequest.prototype.name = "";
GetLinkRequest.create = function create(properties) {
return new GetLinkRequest(properties);
};
GetLinkRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
GetLinkRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetLinkRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetLinkRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetLinkRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetLinkRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
GetLinkRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetLinkRequest)
return object3;
var message = new $root.google.logging.v2.GetLinkRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
GetLinkRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
GetLinkRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetLinkRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetLinkRequest";
};
return GetLinkRequest;
}();
v2.LogExclusion = function() {
function LogExclusion(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogExclusion.prototype.name = "";
LogExclusion.prototype.description = "";
LogExclusion.prototype.filter = "";
LogExclusion.prototype.disabled = false;
LogExclusion.prototype.createTime = null;
LogExclusion.prototype.updateTime = null;
LogExclusion.create = function create(properties) {
return new LogExclusion(properties);
};
LogExclusion.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.description);
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.filter);
if (message.disabled != null && Object.hasOwnProperty.call(message, "disabled"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).bool(message.disabled);
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
$root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
return writer;
};
LogExclusion.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogExclusion.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogExclusion();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.description = reader.string();
break;
}
case 3: {
message.filter = reader.string();
break;
}
case 4: {
message.disabled = reader.bool();
break;
}
case 5: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 6: {
message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogExclusion.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogExclusion.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
if (message.disabled != null && message.hasOwnProperty("disabled")) {
if (typeof message.disabled !== "boolean")
return "disabled: boolean expected";
}
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.createTime);
if (error40)
return "createTime." + error40;
}
if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.updateTime);
if (error40)
return "updateTime." + error40;
}
return null;
};
LogExclusion.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogExclusion)
return object3;
var message = new $root.google.logging.v2.LogExclusion();
if (object3.name != null)
message.name = String(object3.name);
if (object3.description != null)
message.description = String(object3.description);
if (object3.filter != null)
message.filter = String(object3.filter);
if (object3.disabled != null)
message.disabled = Boolean(object3.disabled);
if (object3.createTime != null) {
if (typeof object3.createTime !== "object")
throw TypeError(".google.logging.v2.LogExclusion.createTime: object expected");
message.createTime = $root.google.protobuf.Timestamp.fromObject(object3.createTime);
}
if (object3.updateTime != null) {
if (typeof object3.updateTime !== "object")
throw TypeError(".google.logging.v2.LogExclusion.updateTime: object expected");
message.updateTime = $root.google.protobuf.Timestamp.fromObject(object3.updateTime);
}
return message;
};
LogExclusion.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.description = "";
object3.filter = "";
object3.disabled = false;
object3.createTime = null;
object3.updateTime = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
if (message.disabled != null && message.hasOwnProperty("disabled"))
object3.disabled = message.disabled;
if (message.createTime != null && message.hasOwnProperty("createTime"))
object3.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
if (message.updateTime != null && message.hasOwnProperty("updateTime"))
object3.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
return object3;
};
LogExclusion.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogExclusion.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogExclusion";
};
return LogExclusion;
}();
v2.ListExclusionsRequest = function() {
function ListExclusionsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListExclusionsRequest.prototype.parent = "";
ListExclusionsRequest.prototype.pageToken = "";
ListExclusionsRequest.prototype.pageSize = 0;
ListExclusionsRequest.create = function create(properties) {
return new ListExclusionsRequest(properties);
};
ListExclusionsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pageToken);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.pageSize);
return writer;
};
ListExclusionsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListExclusionsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListExclusionsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.pageToken = reader.string();
break;
}
case 3: {
message.pageSize = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListExclusionsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListExclusionsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
return null;
};
ListExclusionsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListExclusionsRequest)
return object3;
var message = new $root.google.logging.v2.ListExclusionsRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
return message;
};
ListExclusionsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.pageToken = "";
object3.pageSize = 0;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
return object3;
};
ListExclusionsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListExclusionsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListExclusionsRequest";
};
return ListExclusionsRequest;
}();
v2.ListExclusionsResponse = function() {
function ListExclusionsResponse(properties) {
this.exclusions = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListExclusionsResponse.prototype.exclusions = $util.emptyArray;
ListExclusionsResponse.prototype.nextPageToken = "";
ListExclusionsResponse.create = function create(properties) {
return new ListExclusionsResponse(properties);
};
ListExclusionsResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.exclusions != null && message.exclusions.length)
for (var i3 = 0; i3 < message.exclusions.length; ++i3)
$root.google.logging.v2.LogExclusion.encode(message.exclusions[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListExclusionsResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListExclusionsResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListExclusionsResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.exclusions && message.exclusions.length))
message.exclusions = [];
message.exclusions.push($root.google.logging.v2.LogExclusion.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListExclusionsResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListExclusionsResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.exclusions != null && message.hasOwnProperty("exclusions")) {
if (!Array.isArray(message.exclusions))
return "exclusions: array expected";
for (var i3 = 0; i3 < message.exclusions.length; ++i3) {
var error40 = $root.google.logging.v2.LogExclusion.verify(message.exclusions[i3]);
if (error40)
return "exclusions." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListExclusionsResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListExclusionsResponse)
return object3;
var message = new $root.google.logging.v2.ListExclusionsResponse();
if (object3.exclusions) {
if (!Array.isArray(object3.exclusions))
throw TypeError(".google.logging.v2.ListExclusionsResponse.exclusions: array expected");
message.exclusions = [];
for (var i3 = 0; i3 < object3.exclusions.length; ++i3) {
if (typeof object3.exclusions[i3] !== "object")
throw TypeError(".google.logging.v2.ListExclusionsResponse.exclusions: object expected");
message.exclusions[i3] = $root.google.logging.v2.LogExclusion.fromObject(object3.exclusions[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListExclusionsResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.exclusions = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.exclusions && message.exclusions.length) {
object3.exclusions = [];
for (var j = 0; j < message.exclusions.length; ++j)
object3.exclusions[j] = $root.google.logging.v2.LogExclusion.toObject(message.exclusions[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListExclusionsResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListExclusionsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListExclusionsResponse";
};
return ListExclusionsResponse;
}();
v2.GetExclusionRequest = function() {
function GetExclusionRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetExclusionRequest.prototype.name = "";
GetExclusionRequest.create = function create(properties) {
return new GetExclusionRequest(properties);
};
GetExclusionRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
GetExclusionRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetExclusionRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetExclusionRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetExclusionRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetExclusionRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
GetExclusionRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetExclusionRequest)
return object3;
var message = new $root.google.logging.v2.GetExclusionRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
GetExclusionRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
GetExclusionRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetExclusionRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetExclusionRequest";
};
return GetExclusionRequest;
}();
v2.CreateExclusionRequest = function() {
function CreateExclusionRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CreateExclusionRequest.prototype.parent = "";
CreateExclusionRequest.prototype.exclusion = null;
CreateExclusionRequest.create = function create(properties) {
return new CreateExclusionRequest(properties);
};
CreateExclusionRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.exclusion != null && Object.hasOwnProperty.call(message, "exclusion"))
$root.google.logging.v2.LogExclusion.encode(message.exclusion, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
return writer;
};
CreateExclusionRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CreateExclusionRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CreateExclusionRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.exclusion = $root.google.logging.v2.LogExclusion.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CreateExclusionRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CreateExclusionRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.exclusion != null && message.hasOwnProperty("exclusion")) {
var error40 = $root.google.logging.v2.LogExclusion.verify(message.exclusion);
if (error40)
return "exclusion." + error40;
}
return null;
};
CreateExclusionRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CreateExclusionRequest)
return object3;
var message = new $root.google.logging.v2.CreateExclusionRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.exclusion != null) {
if (typeof object3.exclusion !== "object")
throw TypeError(".google.logging.v2.CreateExclusionRequest.exclusion: object expected");
message.exclusion = $root.google.logging.v2.LogExclusion.fromObject(object3.exclusion);
}
return message;
};
CreateExclusionRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.exclusion = null;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.exclusion != null && message.hasOwnProperty("exclusion"))
object3.exclusion = $root.google.logging.v2.LogExclusion.toObject(message.exclusion, options);
return object3;
};
CreateExclusionRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CreateExclusionRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CreateExclusionRequest";
};
return CreateExclusionRequest;
}();
v2.UpdateExclusionRequest = function() {
function UpdateExclusionRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UpdateExclusionRequest.prototype.name = "";
UpdateExclusionRequest.prototype.exclusion = null;
UpdateExclusionRequest.prototype.updateMask = null;
UpdateExclusionRequest.create = function create(properties) {
return new UpdateExclusionRequest(properties);
};
UpdateExclusionRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.exclusion != null && Object.hasOwnProperty.call(message, "exclusion"))
$root.google.logging.v2.LogExclusion.encode(message.exclusion, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
$root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
UpdateExclusionRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UpdateExclusionRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UpdateExclusionRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.exclusion = $root.google.logging.v2.LogExclusion.decode(reader, reader.uint32());
break;
}
case 3: {
message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UpdateExclusionRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UpdateExclusionRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.exclusion != null && message.hasOwnProperty("exclusion")) {
var error40 = $root.google.logging.v2.LogExclusion.verify(message.exclusion);
if (error40)
return "exclusion." + error40;
}
if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
var error40 = $root.google.protobuf.FieldMask.verify(message.updateMask);
if (error40)
return "updateMask." + error40;
}
return null;
};
UpdateExclusionRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UpdateExclusionRequest)
return object3;
var message = new $root.google.logging.v2.UpdateExclusionRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.exclusion != null) {
if (typeof object3.exclusion !== "object")
throw TypeError(".google.logging.v2.UpdateExclusionRequest.exclusion: object expected");
message.exclusion = $root.google.logging.v2.LogExclusion.fromObject(object3.exclusion);
}
if (object3.updateMask != null) {
if (typeof object3.updateMask !== "object")
throw TypeError(".google.logging.v2.UpdateExclusionRequest.updateMask: object expected");
message.updateMask = $root.google.protobuf.FieldMask.fromObject(object3.updateMask);
}
return message;
};
UpdateExclusionRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.exclusion = null;
object3.updateMask = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.exclusion != null && message.hasOwnProperty("exclusion"))
object3.exclusion = $root.google.logging.v2.LogExclusion.toObject(message.exclusion, options);
if (message.updateMask != null && message.hasOwnProperty("updateMask"))
object3.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
return object3;
};
UpdateExclusionRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UpdateExclusionRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UpdateExclusionRequest";
};
return UpdateExclusionRequest;
}();
v2.DeleteExclusionRequest = function() {
function DeleteExclusionRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteExclusionRequest.prototype.name = "";
DeleteExclusionRequest.create = function create(properties) {
return new DeleteExclusionRequest(properties);
};
DeleteExclusionRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
DeleteExclusionRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteExclusionRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.DeleteExclusionRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteExclusionRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteExclusionRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
DeleteExclusionRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.DeleteExclusionRequest)
return object3;
var message = new $root.google.logging.v2.DeleteExclusionRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
DeleteExclusionRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
DeleteExclusionRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteExclusionRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.DeleteExclusionRequest";
};
return DeleteExclusionRequest;
}();
v2.GetCmekSettingsRequest = function() {
function GetCmekSettingsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetCmekSettingsRequest.prototype.name = "";
GetCmekSettingsRequest.create = function create(properties) {
return new GetCmekSettingsRequest(properties);
};
GetCmekSettingsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
GetCmekSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetCmekSettingsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetCmekSettingsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetCmekSettingsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetCmekSettingsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
GetCmekSettingsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetCmekSettingsRequest)
return object3;
var message = new $root.google.logging.v2.GetCmekSettingsRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
GetCmekSettingsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
GetCmekSettingsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetCmekSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetCmekSettingsRequest";
};
return GetCmekSettingsRequest;
}();
v2.UpdateCmekSettingsRequest = function() {
function UpdateCmekSettingsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UpdateCmekSettingsRequest.prototype.name = "";
UpdateCmekSettingsRequest.prototype.cmekSettings = null;
UpdateCmekSettingsRequest.prototype.updateMask = null;
UpdateCmekSettingsRequest.create = function create(properties) {
return new UpdateCmekSettingsRequest(properties);
};
UpdateCmekSettingsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.cmekSettings != null && Object.hasOwnProperty.call(message, "cmekSettings"))
$root.google.logging.v2.CmekSettings.encode(message.cmekSettings, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
$root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
UpdateCmekSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UpdateCmekSettingsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UpdateCmekSettingsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.cmekSettings = $root.google.logging.v2.CmekSettings.decode(reader, reader.uint32());
break;
}
case 3: {
message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UpdateCmekSettingsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UpdateCmekSettingsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.cmekSettings != null && message.hasOwnProperty("cmekSettings")) {
var error40 = $root.google.logging.v2.CmekSettings.verify(message.cmekSettings);
if (error40)
return "cmekSettings." + error40;
}
if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
var error40 = $root.google.protobuf.FieldMask.verify(message.updateMask);
if (error40)
return "updateMask." + error40;
}
return null;
};
UpdateCmekSettingsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UpdateCmekSettingsRequest)
return object3;
var message = new $root.google.logging.v2.UpdateCmekSettingsRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.cmekSettings != null) {
if (typeof object3.cmekSettings !== "object")
throw TypeError(".google.logging.v2.UpdateCmekSettingsRequest.cmekSettings: object expected");
message.cmekSettings = $root.google.logging.v2.CmekSettings.fromObject(object3.cmekSettings);
}
if (object3.updateMask != null) {
if (typeof object3.updateMask !== "object")
throw TypeError(".google.logging.v2.UpdateCmekSettingsRequest.updateMask: object expected");
message.updateMask = $root.google.protobuf.FieldMask.fromObject(object3.updateMask);
}
return message;
};
UpdateCmekSettingsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.cmekSettings = null;
object3.updateMask = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.cmekSettings != null && message.hasOwnProperty("cmekSettings"))
object3.cmekSettings = $root.google.logging.v2.CmekSettings.toObject(message.cmekSettings, options);
if (message.updateMask != null && message.hasOwnProperty("updateMask"))
object3.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
return object3;
};
UpdateCmekSettingsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UpdateCmekSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UpdateCmekSettingsRequest";
};
return UpdateCmekSettingsRequest;
}();
v2.CmekSettings = function() {
function CmekSettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CmekSettings.prototype.name = "";
CmekSettings.prototype.kmsKeyName = "";
CmekSettings.prototype.kmsKeyVersionName = "";
CmekSettings.prototype.serviceAccountId = "";
CmekSettings.create = function create(properties) {
return new CmekSettings(properties);
};
CmekSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.kmsKeyName != null && Object.hasOwnProperty.call(message, "kmsKeyName"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.kmsKeyName);
if (message.serviceAccountId != null && Object.hasOwnProperty.call(message, "serviceAccountId"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.serviceAccountId);
if (message.kmsKeyVersionName != null && Object.hasOwnProperty.call(message, "kmsKeyVersionName"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.kmsKeyVersionName);
return writer;
};
CmekSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CmekSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CmekSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.kmsKeyName = reader.string();
break;
}
case 4: {
message.kmsKeyVersionName = reader.string();
break;
}
case 3: {
message.serviceAccountId = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CmekSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CmekSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName")) {
if (!$util.isString(message.kmsKeyName))
return "kmsKeyName: string expected";
}
if (message.kmsKeyVersionName != null && message.hasOwnProperty("kmsKeyVersionName")) {
if (!$util.isString(message.kmsKeyVersionName))
return "kmsKeyVersionName: string expected";
}
if (message.serviceAccountId != null && message.hasOwnProperty("serviceAccountId")) {
if (!$util.isString(message.serviceAccountId))
return "serviceAccountId: string expected";
}
return null;
};
CmekSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CmekSettings)
return object3;
var message = new $root.google.logging.v2.CmekSettings();
if (object3.name != null)
message.name = String(object3.name);
if (object3.kmsKeyName != null)
message.kmsKeyName = String(object3.kmsKeyName);
if (object3.kmsKeyVersionName != null)
message.kmsKeyVersionName = String(object3.kmsKeyVersionName);
if (object3.serviceAccountId != null)
message.serviceAccountId = String(object3.serviceAccountId);
return message;
};
CmekSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.kmsKeyName = "";
object3.serviceAccountId = "";
object3.kmsKeyVersionName = "";
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName"))
object3.kmsKeyName = message.kmsKeyName;
if (message.serviceAccountId != null && message.hasOwnProperty("serviceAccountId"))
object3.serviceAccountId = message.serviceAccountId;
if (message.kmsKeyVersionName != null && message.hasOwnProperty("kmsKeyVersionName"))
object3.kmsKeyVersionName = message.kmsKeyVersionName;
return object3;
};
CmekSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CmekSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CmekSettings";
};
return CmekSettings;
}();
v2.GetSettingsRequest = function() {
function GetSettingsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetSettingsRequest.prototype.name = "";
GetSettingsRequest.create = function create(properties) {
return new GetSettingsRequest(properties);
};
GetSettingsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
GetSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetSettingsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetSettingsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetSettingsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetSettingsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
GetSettingsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetSettingsRequest)
return object3;
var message = new $root.google.logging.v2.GetSettingsRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
GetSettingsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
GetSettingsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetSettingsRequest";
};
return GetSettingsRequest;
}();
v2.UpdateSettingsRequest = function() {
function UpdateSettingsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UpdateSettingsRequest.prototype.name = "";
UpdateSettingsRequest.prototype.settings = null;
UpdateSettingsRequest.prototype.updateMask = null;
UpdateSettingsRequest.create = function create(properties) {
return new UpdateSettingsRequest(properties);
};
UpdateSettingsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.settings != null && Object.hasOwnProperty.call(message, "settings"))
$root.google.logging.v2.Settings.encode(message.settings, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
$root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
UpdateSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UpdateSettingsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UpdateSettingsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.settings = $root.google.logging.v2.Settings.decode(reader, reader.uint32());
break;
}
case 3: {
message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UpdateSettingsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UpdateSettingsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.settings != null && message.hasOwnProperty("settings")) {
var error40 = $root.google.logging.v2.Settings.verify(message.settings);
if (error40)
return "settings." + error40;
}
if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
var error40 = $root.google.protobuf.FieldMask.verify(message.updateMask);
if (error40)
return "updateMask." + error40;
}
return null;
};
UpdateSettingsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UpdateSettingsRequest)
return object3;
var message = new $root.google.logging.v2.UpdateSettingsRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.settings != null) {
if (typeof object3.settings !== "object")
throw TypeError(".google.logging.v2.UpdateSettingsRequest.settings: object expected");
message.settings = $root.google.logging.v2.Settings.fromObject(object3.settings);
}
if (object3.updateMask != null) {
if (typeof object3.updateMask !== "object")
throw TypeError(".google.logging.v2.UpdateSettingsRequest.updateMask: object expected");
message.updateMask = $root.google.protobuf.FieldMask.fromObject(object3.updateMask);
}
return message;
};
UpdateSettingsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.settings = null;
object3.updateMask = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.settings != null && message.hasOwnProperty("settings"))
object3.settings = $root.google.logging.v2.Settings.toObject(message.settings, options);
if (message.updateMask != null && message.hasOwnProperty("updateMask"))
object3.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
return object3;
};
UpdateSettingsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UpdateSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UpdateSettingsRequest";
};
return UpdateSettingsRequest;
}();
v2.Settings = function() {
function Settings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Settings.prototype.name = "";
Settings.prototype.kmsKeyName = "";
Settings.prototype.kmsServiceAccountId = "";
Settings.prototype.storageLocation = "";
Settings.prototype.disableDefaultSink = false;
Settings.create = function create(properties) {
return new Settings(properties);
};
Settings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.kmsKeyName != null && Object.hasOwnProperty.call(message, "kmsKeyName"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.kmsKeyName);
if (message.kmsServiceAccountId != null && Object.hasOwnProperty.call(message, "kmsServiceAccountId"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.kmsServiceAccountId);
if (message.storageLocation != null && Object.hasOwnProperty.call(message, "storageLocation"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.storageLocation);
if (message.disableDefaultSink != null && Object.hasOwnProperty.call(message, "disableDefaultSink"))
writer.uint32(
/* id 5, wireType 0 =*/
40
).bool(message.disableDefaultSink);
return writer;
};
Settings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Settings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.Settings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.kmsKeyName = reader.string();
break;
}
case 3: {
message.kmsServiceAccountId = reader.string();
break;
}
case 4: {
message.storageLocation = reader.string();
break;
}
case 5: {
message.disableDefaultSink = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Settings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Settings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName")) {
if (!$util.isString(message.kmsKeyName))
return "kmsKeyName: string expected";
}
if (message.kmsServiceAccountId != null && message.hasOwnProperty("kmsServiceAccountId")) {
if (!$util.isString(message.kmsServiceAccountId))
return "kmsServiceAccountId: string expected";
}
if (message.storageLocation != null && message.hasOwnProperty("storageLocation")) {
if (!$util.isString(message.storageLocation))
return "storageLocation: string expected";
}
if (message.disableDefaultSink != null && message.hasOwnProperty("disableDefaultSink")) {
if (typeof message.disableDefaultSink !== "boolean")
return "disableDefaultSink: boolean expected";
}
return null;
};
Settings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.Settings)
return object3;
var message = new $root.google.logging.v2.Settings();
if (object3.name != null)
message.name = String(object3.name);
if (object3.kmsKeyName != null)
message.kmsKeyName = String(object3.kmsKeyName);
if (object3.kmsServiceAccountId != null)
message.kmsServiceAccountId = String(object3.kmsServiceAccountId);
if (object3.storageLocation != null)
message.storageLocation = String(object3.storageLocation);
if (object3.disableDefaultSink != null)
message.disableDefaultSink = Boolean(object3.disableDefaultSink);
return message;
};
Settings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.kmsKeyName = "";
object3.kmsServiceAccountId = "";
object3.storageLocation = "";
object3.disableDefaultSink = false;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName"))
object3.kmsKeyName = message.kmsKeyName;
if (message.kmsServiceAccountId != null && message.hasOwnProperty("kmsServiceAccountId"))
object3.kmsServiceAccountId = message.kmsServiceAccountId;
if (message.storageLocation != null && message.hasOwnProperty("storageLocation"))
object3.storageLocation = message.storageLocation;
if (message.disableDefaultSink != null && message.hasOwnProperty("disableDefaultSink"))
object3.disableDefaultSink = message.disableDefaultSink;
return object3;
};
Settings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Settings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.Settings";
};
return Settings;
}();
v2.CopyLogEntriesRequest = function() {
function CopyLogEntriesRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CopyLogEntriesRequest.prototype.name = "";
CopyLogEntriesRequest.prototype.filter = "";
CopyLogEntriesRequest.prototype.destination = "";
CopyLogEntriesRequest.create = function create(properties) {
return new CopyLogEntriesRequest(properties);
};
CopyLogEntriesRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.filter);
if (message.destination != null && Object.hasOwnProperty.call(message, "destination"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.destination);
return writer;
};
CopyLogEntriesRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CopyLogEntriesRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CopyLogEntriesRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 3: {
message.filter = reader.string();
break;
}
case 4: {
message.destination = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CopyLogEntriesRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CopyLogEntriesRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
if (message.destination != null && message.hasOwnProperty("destination")) {
if (!$util.isString(message.destination))
return "destination: string expected";
}
return null;
};
CopyLogEntriesRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CopyLogEntriesRequest)
return object3;
var message = new $root.google.logging.v2.CopyLogEntriesRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.filter != null)
message.filter = String(object3.filter);
if (object3.destination != null)
message.destination = String(object3.destination);
return message;
};
CopyLogEntriesRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.filter = "";
object3.destination = "";
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
if (message.destination != null && message.hasOwnProperty("destination"))
object3.destination = message.destination;
return object3;
};
CopyLogEntriesRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CopyLogEntriesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CopyLogEntriesRequest";
};
return CopyLogEntriesRequest;
}();
v2.CopyLogEntriesMetadata = function() {
function CopyLogEntriesMetadata(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CopyLogEntriesMetadata.prototype.startTime = null;
CopyLogEntriesMetadata.prototype.endTime = null;
CopyLogEntriesMetadata.prototype.state = 0;
CopyLogEntriesMetadata.prototype.cancellationRequested = false;
CopyLogEntriesMetadata.prototype.request = null;
CopyLogEntriesMetadata.prototype.progress = 0;
CopyLogEntriesMetadata.prototype.writerIdentity = "";
CopyLogEntriesMetadata.create = function create(properties) {
return new CopyLogEntriesMetadata(properties);
};
CopyLogEntriesMetadata.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
$root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
$root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.state != null && Object.hasOwnProperty.call(message, "state"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.state);
if (message.cancellationRequested != null && Object.hasOwnProperty.call(message, "cancellationRequested"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).bool(message.cancellationRequested);
if (message.request != null && Object.hasOwnProperty.call(message, "request"))
$root.google.logging.v2.CopyLogEntriesRequest.encode(message.request, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.progress != null && Object.hasOwnProperty.call(message, "progress"))
writer.uint32(
/* id 6, wireType 0 =*/
48
).int32(message.progress);
if (message.writerIdentity != null && Object.hasOwnProperty.call(message, "writerIdentity"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).string(message.writerIdentity);
return writer;
};
CopyLogEntriesMetadata.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CopyLogEntriesMetadata.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CopyLogEntriesMetadata();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 2: {
message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 3: {
message.state = reader.int32();
break;
}
case 4: {
message.cancellationRequested = reader.bool();
break;
}
case 5: {
message.request = $root.google.logging.v2.CopyLogEntriesRequest.decode(reader, reader.uint32());
break;
}
case 6: {
message.progress = reader.int32();
break;
}
case 7: {
message.writerIdentity = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CopyLogEntriesMetadata.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CopyLogEntriesMetadata.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.startTime != null && message.hasOwnProperty("startTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.startTime);
if (error40)
return "startTime." + error40;
}
if (message.endTime != null && message.hasOwnProperty("endTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.endTime);
if (error40)
return "endTime." + error40;
}
if (message.state != null && message.hasOwnProperty("state"))
switch (message.state) {
default:
return "state: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
break;
}
if (message.cancellationRequested != null && message.hasOwnProperty("cancellationRequested")) {
if (typeof message.cancellationRequested !== "boolean")
return "cancellationRequested: boolean expected";
}
if (message.request != null && message.hasOwnProperty("request")) {
var error40 = $root.google.logging.v2.CopyLogEntriesRequest.verify(message.request);
if (error40)
return "request." + error40;
}
if (message.progress != null && message.hasOwnProperty("progress")) {
if (!$util.isInteger(message.progress))
return "progress: integer expected";
}
if (message.writerIdentity != null && message.hasOwnProperty("writerIdentity")) {
if (!$util.isString(message.writerIdentity))
return "writerIdentity: string expected";
}
return null;
};
CopyLogEntriesMetadata.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CopyLogEntriesMetadata)
return object3;
var message = new $root.google.logging.v2.CopyLogEntriesMetadata();
if (object3.startTime != null) {
if (typeof object3.startTime !== "object")
throw TypeError(".google.logging.v2.CopyLogEntriesMetadata.startTime: object expected");
message.startTime = $root.google.protobuf.Timestamp.fromObject(object3.startTime);
}
if (object3.endTime != null) {
if (typeof object3.endTime !== "object")
throw TypeError(".google.logging.v2.CopyLogEntriesMetadata.endTime: object expected");
message.endTime = $root.google.protobuf.Timestamp.fromObject(object3.endTime);
}
switch (object3.state) {
default:
if (typeof object3.state === "number") {
message.state = object3.state;
break;
}
break;
case "OPERATION_STATE_UNSPECIFIED":
case 0:
message.state = 0;
break;
case "OPERATION_STATE_SCHEDULED":
case 1:
message.state = 1;
break;
case "OPERATION_STATE_WAITING_FOR_PERMISSIONS":
case 2:
message.state = 2;
break;
case "OPERATION_STATE_RUNNING":
case 3:
message.state = 3;
break;
case "OPERATION_STATE_SUCCEEDED":
case 4:
message.state = 4;
break;
case "OPERATION_STATE_FAILED":
case 5:
message.state = 5;
break;
case "OPERATION_STATE_CANCELLED":
case 6:
message.state = 6;
break;
}
if (object3.cancellationRequested != null)
message.cancellationRequested = Boolean(object3.cancellationRequested);
if (object3.request != null) {
if (typeof object3.request !== "object")
throw TypeError(".google.logging.v2.CopyLogEntriesMetadata.request: object expected");
message.request = $root.google.logging.v2.CopyLogEntriesRequest.fromObject(object3.request);
}
if (object3.progress != null)
message.progress = object3.progress | 0;
if (object3.writerIdentity != null)
message.writerIdentity = String(object3.writerIdentity);
return message;
};
CopyLogEntriesMetadata.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.startTime = null;
object3.endTime = null;
object3.state = options.enums === String ? "OPERATION_STATE_UNSPECIFIED" : 0;
object3.cancellationRequested = false;
object3.request = null;
object3.progress = 0;
object3.writerIdentity = "";
}
if (message.startTime != null && message.hasOwnProperty("startTime"))
object3.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
if (message.endTime != null && message.hasOwnProperty("endTime"))
object3.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
if (message.state != null && message.hasOwnProperty("state"))
object3.state = options.enums === String ? $root.google.logging.v2.OperationState[message.state] === void 0 ? message.state : $root.google.logging.v2.OperationState[message.state] : message.state;
if (message.cancellationRequested != null && message.hasOwnProperty("cancellationRequested"))
object3.cancellationRequested = message.cancellationRequested;
if (message.request != null && message.hasOwnProperty("request"))
object3.request = $root.google.logging.v2.CopyLogEntriesRequest.toObject(message.request, options);
if (message.progress != null && message.hasOwnProperty("progress"))
object3.progress = message.progress;
if (message.writerIdentity != null && message.hasOwnProperty("writerIdentity"))
object3.writerIdentity = message.writerIdentity;
return object3;
};
CopyLogEntriesMetadata.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CopyLogEntriesMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CopyLogEntriesMetadata";
};
return CopyLogEntriesMetadata;
}();
v2.CopyLogEntriesResponse = function() {
function CopyLogEntriesResponse(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CopyLogEntriesResponse.prototype.logEntriesCopiedCount = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
CopyLogEntriesResponse.create = function create(properties) {
return new CopyLogEntriesResponse(properties);
};
CopyLogEntriesResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.logEntriesCopiedCount != null && Object.hasOwnProperty.call(message, "logEntriesCopiedCount"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int64(message.logEntriesCopiedCount);
return writer;
};
CopyLogEntriesResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CopyLogEntriesResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CopyLogEntriesResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.logEntriesCopiedCount = reader.int64();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CopyLogEntriesResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CopyLogEntriesResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.logEntriesCopiedCount != null && message.hasOwnProperty("logEntriesCopiedCount")) {
if (!$util.isInteger(message.logEntriesCopiedCount) && !(message.logEntriesCopiedCount && $util.isInteger(message.logEntriesCopiedCount.low) && $util.isInteger(message.logEntriesCopiedCount.high)))
return "logEntriesCopiedCount: integer|Long expected";
}
return null;
};
CopyLogEntriesResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CopyLogEntriesResponse)
return object3;
var message = new $root.google.logging.v2.CopyLogEntriesResponse();
if (object3.logEntriesCopiedCount != null) {
if ($util.Long)
(message.logEntriesCopiedCount = $util.Long.fromValue(object3.logEntriesCopiedCount)).unsigned = false;
else if (typeof object3.logEntriesCopiedCount === "string")
message.logEntriesCopiedCount = parseInt(object3.logEntriesCopiedCount, 10);
else if (typeof object3.logEntriesCopiedCount === "number")
message.logEntriesCopiedCount = object3.logEntriesCopiedCount;
else if (typeof object3.logEntriesCopiedCount === "object")
message.logEntriesCopiedCount = new $util.LongBits(object3.logEntriesCopiedCount.low >>> 0, object3.logEntriesCopiedCount.high >>> 0).toNumber();
}
return message;
};
CopyLogEntriesResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.logEntriesCopiedCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.logEntriesCopiedCount = options.longs === String ? "0" : 0;
if (message.logEntriesCopiedCount != null && message.hasOwnProperty("logEntriesCopiedCount"))
if (typeof message.logEntriesCopiedCount === "number")
object3.logEntriesCopiedCount = options.longs === String ? String(message.logEntriesCopiedCount) : message.logEntriesCopiedCount;
else
object3.logEntriesCopiedCount = options.longs === String ? $util.Long.prototype.toString.call(message.logEntriesCopiedCount) : options.longs === Number ? new $util.LongBits(message.logEntriesCopiedCount.low >>> 0, message.logEntriesCopiedCount.high >>> 0).toNumber() : message.logEntriesCopiedCount;
return object3;
};
CopyLogEntriesResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CopyLogEntriesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CopyLogEntriesResponse";
};
return CopyLogEntriesResponse;
}();
v2.BucketMetadata = function() {
function BucketMetadata(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
BucketMetadata.prototype.startTime = null;
BucketMetadata.prototype.endTime = null;
BucketMetadata.prototype.state = 0;
BucketMetadata.prototype.createBucketRequest = null;
BucketMetadata.prototype.updateBucketRequest = null;
var $oneOfFields;
Object.defineProperty(BucketMetadata.prototype, "request", {
get: $util.oneOfGetter($oneOfFields = ["createBucketRequest", "updateBucketRequest"]),
set: $util.oneOfSetter($oneOfFields)
});
BucketMetadata.create = function create(properties) {
return new BucketMetadata(properties);
};
BucketMetadata.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
$root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
$root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.state != null && Object.hasOwnProperty.call(message, "state"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.state);
if (message.createBucketRequest != null && Object.hasOwnProperty.call(message, "createBucketRequest"))
$root.google.logging.v2.CreateBucketRequest.encode(message.createBucketRequest, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.updateBucketRequest != null && Object.hasOwnProperty.call(message, "updateBucketRequest"))
$root.google.logging.v2.UpdateBucketRequest.encode(message.updateBucketRequest, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
return writer;
};
BucketMetadata.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
BucketMetadata.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.BucketMetadata();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 2: {
message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 3: {
message.state = reader.int32();
break;
}
case 4: {
message.createBucketRequest = $root.google.logging.v2.CreateBucketRequest.decode(reader, reader.uint32());
break;
}
case 5: {
message.updateBucketRequest = $root.google.logging.v2.UpdateBucketRequest.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
BucketMetadata.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
BucketMetadata.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.startTime != null && message.hasOwnProperty("startTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.startTime);
if (error40)
return "startTime." + error40;
}
if (message.endTime != null && message.hasOwnProperty("endTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.endTime);
if (error40)
return "endTime." + error40;
}
if (message.state != null && message.hasOwnProperty("state"))
switch (message.state) {
default:
return "state: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
break;
}
if (message.createBucketRequest != null && message.hasOwnProperty("createBucketRequest")) {
properties.request = 1;
{
var error40 = $root.google.logging.v2.CreateBucketRequest.verify(message.createBucketRequest);
if (error40)
return "createBucketRequest." + error40;
}
}
if (message.updateBucketRequest != null && message.hasOwnProperty("updateBucketRequest")) {
if (properties.request === 1)
return "request: multiple values";
properties.request = 1;
{
var error40 = $root.google.logging.v2.UpdateBucketRequest.verify(message.updateBucketRequest);
if (error40)
return "updateBucketRequest." + error40;
}
}
return null;
};
BucketMetadata.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.BucketMetadata)
return object3;
var message = new $root.google.logging.v2.BucketMetadata();
if (object3.startTime != null) {
if (typeof object3.startTime !== "object")
throw TypeError(".google.logging.v2.BucketMetadata.startTime: object expected");
message.startTime = $root.google.protobuf.Timestamp.fromObject(object3.startTime);
}
if (object3.endTime != null) {
if (typeof object3.endTime !== "object")
throw TypeError(".google.logging.v2.BucketMetadata.endTime: object expected");
message.endTime = $root.google.protobuf.Timestamp.fromObject(object3.endTime);
}
switch (object3.state) {
default:
if (typeof object3.state === "number") {
message.state = object3.state;
break;
}
break;
case "OPERATION_STATE_UNSPECIFIED":
case 0:
message.state = 0;
break;
case "OPERATION_STATE_SCHEDULED":
case 1:
message.state = 1;
break;
case "OPERATION_STATE_WAITING_FOR_PERMISSIONS":
case 2:
message.state = 2;
break;
case "OPERATION_STATE_RUNNING":
case 3:
message.state = 3;
break;
case "OPERATION_STATE_SUCCEEDED":
case 4:
message.state = 4;
break;
case "OPERATION_STATE_FAILED":
case 5:
message.state = 5;
break;
case "OPERATION_STATE_CANCELLED":
case 6:
message.state = 6;
break;
}
if (object3.createBucketRequest != null) {
if (typeof object3.createBucketRequest !== "object")
throw TypeError(".google.logging.v2.BucketMetadata.createBucketRequest: object expected");
message.createBucketRequest = $root.google.logging.v2.CreateBucketRequest.fromObject(object3.createBucketRequest);
}
if (object3.updateBucketRequest != null) {
if (typeof object3.updateBucketRequest !== "object")
throw TypeError(".google.logging.v2.BucketMetadata.updateBucketRequest: object expected");
message.updateBucketRequest = $root.google.logging.v2.UpdateBucketRequest.fromObject(object3.updateBucketRequest);
}
return message;
};
BucketMetadata.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.startTime = null;
object3.endTime = null;
object3.state = options.enums === String ? "OPERATION_STATE_UNSPECIFIED" : 0;
}
if (message.startTime != null && message.hasOwnProperty("startTime"))
object3.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
if (message.endTime != null && message.hasOwnProperty("endTime"))
object3.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
if (message.state != null && message.hasOwnProperty("state"))
object3.state = options.enums === String ? $root.google.logging.v2.OperationState[message.state] === void 0 ? message.state : $root.google.logging.v2.OperationState[message.state] : message.state;
if (message.createBucketRequest != null && message.hasOwnProperty("createBucketRequest")) {
object3.createBucketRequest = $root.google.logging.v2.CreateBucketRequest.toObject(message.createBucketRequest, options);
if (options.oneofs)
object3.request = "createBucketRequest";
}
if (message.updateBucketRequest != null && message.hasOwnProperty("updateBucketRequest")) {
object3.updateBucketRequest = $root.google.logging.v2.UpdateBucketRequest.toObject(message.updateBucketRequest, options);
if (options.oneofs)
object3.request = "updateBucketRequest";
}
return object3;
};
BucketMetadata.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
BucketMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.BucketMetadata";
};
return BucketMetadata;
}();
v2.LinkMetadata = function() {
function LinkMetadata(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LinkMetadata.prototype.startTime = null;
LinkMetadata.prototype.endTime = null;
LinkMetadata.prototype.state = 0;
LinkMetadata.prototype.createLinkRequest = null;
LinkMetadata.prototype.deleteLinkRequest = null;
var $oneOfFields;
Object.defineProperty(LinkMetadata.prototype, "request", {
get: $util.oneOfGetter($oneOfFields = ["createLinkRequest", "deleteLinkRequest"]),
set: $util.oneOfSetter($oneOfFields)
});
LinkMetadata.create = function create(properties) {
return new LinkMetadata(properties);
};
LinkMetadata.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
$root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
$root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.state != null && Object.hasOwnProperty.call(message, "state"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.state);
if (message.createLinkRequest != null && Object.hasOwnProperty.call(message, "createLinkRequest"))
$root.google.logging.v2.CreateLinkRequest.encode(message.createLinkRequest, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.deleteLinkRequest != null && Object.hasOwnProperty.call(message, "deleteLinkRequest"))
$root.google.logging.v2.DeleteLinkRequest.encode(message.deleteLinkRequest, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
return writer;
};
LinkMetadata.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LinkMetadata.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LinkMetadata();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 2: {
message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 3: {
message.state = reader.int32();
break;
}
case 4: {
message.createLinkRequest = $root.google.logging.v2.CreateLinkRequest.decode(reader, reader.uint32());
break;
}
case 5: {
message.deleteLinkRequest = $root.google.logging.v2.DeleteLinkRequest.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LinkMetadata.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LinkMetadata.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.startTime != null && message.hasOwnProperty("startTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.startTime);
if (error40)
return "startTime." + error40;
}
if (message.endTime != null && message.hasOwnProperty("endTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.endTime);
if (error40)
return "endTime." + error40;
}
if (message.state != null && message.hasOwnProperty("state"))
switch (message.state) {
default:
return "state: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
break;
}
if (message.createLinkRequest != null && message.hasOwnProperty("createLinkRequest")) {
properties.request = 1;
{
var error40 = $root.google.logging.v2.CreateLinkRequest.verify(message.createLinkRequest);
if (error40)
return "createLinkRequest." + error40;
}
}
if (message.deleteLinkRequest != null && message.hasOwnProperty("deleteLinkRequest")) {
if (properties.request === 1)
return "request: multiple values";
properties.request = 1;
{
var error40 = $root.google.logging.v2.DeleteLinkRequest.verify(message.deleteLinkRequest);
if (error40)
return "deleteLinkRequest." + error40;
}
}
return null;
};
LinkMetadata.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LinkMetadata)
return object3;
var message = new $root.google.logging.v2.LinkMetadata();
if (object3.startTime != null) {
if (typeof object3.startTime !== "object")
throw TypeError(".google.logging.v2.LinkMetadata.startTime: object expected");
message.startTime = $root.google.protobuf.Timestamp.fromObject(object3.startTime);
}
if (object3.endTime != null) {
if (typeof object3.endTime !== "object")
throw TypeError(".google.logging.v2.LinkMetadata.endTime: object expected");
message.endTime = $root.google.protobuf.Timestamp.fromObject(object3.endTime);
}
switch (object3.state) {
default:
if (typeof object3.state === "number") {
message.state = object3.state;
break;
}
break;
case "OPERATION_STATE_UNSPECIFIED":
case 0:
message.state = 0;
break;
case "OPERATION_STATE_SCHEDULED":
case 1:
message.state = 1;
break;
case "OPERATION_STATE_WAITING_FOR_PERMISSIONS":
case 2:
message.state = 2;
break;
case "OPERATION_STATE_RUNNING":
case 3:
message.state = 3;
break;
case "OPERATION_STATE_SUCCEEDED":
case 4:
message.state = 4;
break;
case "OPERATION_STATE_FAILED":
case 5:
message.state = 5;
break;
case "OPERATION_STATE_CANCELLED":
case 6:
message.state = 6;
break;
}
if (object3.createLinkRequest != null) {
if (typeof object3.createLinkRequest !== "object")
throw TypeError(".google.logging.v2.LinkMetadata.createLinkRequest: object expected");
message.createLinkRequest = $root.google.logging.v2.CreateLinkRequest.fromObject(object3.createLinkRequest);
}
if (object3.deleteLinkRequest != null) {
if (typeof object3.deleteLinkRequest !== "object")
throw TypeError(".google.logging.v2.LinkMetadata.deleteLinkRequest: object expected");
message.deleteLinkRequest = $root.google.logging.v2.DeleteLinkRequest.fromObject(object3.deleteLinkRequest);
}
return message;
};
LinkMetadata.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.startTime = null;
object3.endTime = null;
object3.state = options.enums === String ? "OPERATION_STATE_UNSPECIFIED" : 0;
}
if (message.startTime != null && message.hasOwnProperty("startTime"))
object3.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
if (message.endTime != null && message.hasOwnProperty("endTime"))
object3.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
if (message.state != null && message.hasOwnProperty("state"))
object3.state = options.enums === String ? $root.google.logging.v2.OperationState[message.state] === void 0 ? message.state : $root.google.logging.v2.OperationState[message.state] : message.state;
if (message.createLinkRequest != null && message.hasOwnProperty("createLinkRequest")) {
object3.createLinkRequest = $root.google.logging.v2.CreateLinkRequest.toObject(message.createLinkRequest, options);
if (options.oneofs)
object3.request = "createLinkRequest";
}
if (message.deleteLinkRequest != null && message.hasOwnProperty("deleteLinkRequest")) {
object3.deleteLinkRequest = $root.google.logging.v2.DeleteLinkRequest.toObject(message.deleteLinkRequest, options);
if (options.oneofs)
object3.request = "deleteLinkRequest";
}
return object3;
};
LinkMetadata.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LinkMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LinkMetadata";
};
return LinkMetadata;
}();
v2.OperationState = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "OPERATION_STATE_UNSPECIFIED"] = 0;
values[valuesById[1] = "OPERATION_STATE_SCHEDULED"] = 1;
values[valuesById[2] = "OPERATION_STATE_WAITING_FOR_PERMISSIONS"] = 2;
values[valuesById[3] = "OPERATION_STATE_RUNNING"] = 3;
values[valuesById[4] = "OPERATION_STATE_SUCCEEDED"] = 4;
values[valuesById[5] = "OPERATION_STATE_FAILED"] = 5;
values[valuesById[6] = "OPERATION_STATE_CANCELLED"] = 6;
return values;
}();
v2.LifecycleState = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "LIFECYCLE_STATE_UNSPECIFIED"] = 0;
values[valuesById[1] = "ACTIVE"] = 1;
values[valuesById[2] = "DELETE_REQUESTED"] = 2;
values[valuesById[3] = "UPDATING"] = 3;
values[valuesById[4] = "CREATING"] = 4;
values[valuesById[5] = "FAILED"] = 5;
return values;
}();
v2.IndexType = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "INDEX_TYPE_UNSPECIFIED"] = 0;
values[valuesById[1] = "INDEX_TYPE_STRING"] = 1;
values[valuesById[2] = "INDEX_TYPE_INTEGER"] = 2;
return values;
}();
v2.LocationMetadata = function() {
function LocationMetadata(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LocationMetadata.prototype.logAnalyticsEnabled = false;
LocationMetadata.create = function create(properties) {
return new LocationMetadata(properties);
};
LocationMetadata.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.logAnalyticsEnabled != null && Object.hasOwnProperty.call(message, "logAnalyticsEnabled"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).bool(message.logAnalyticsEnabled);
return writer;
};
LocationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LocationMetadata.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LocationMetadata();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.logAnalyticsEnabled = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LocationMetadata.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LocationMetadata.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.logAnalyticsEnabled != null && message.hasOwnProperty("logAnalyticsEnabled")) {
if (typeof message.logAnalyticsEnabled !== "boolean")
return "logAnalyticsEnabled: boolean expected";
}
return null;
};
LocationMetadata.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LocationMetadata)
return object3;
var message = new $root.google.logging.v2.LocationMetadata();
if (object3.logAnalyticsEnabled != null)
message.logAnalyticsEnabled = Boolean(object3.logAnalyticsEnabled);
return message;
};
LocationMetadata.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.logAnalyticsEnabled = false;
if (message.logAnalyticsEnabled != null && message.hasOwnProperty("logAnalyticsEnabled"))
object3.logAnalyticsEnabled = message.logAnalyticsEnabled;
return object3;
};
LocationMetadata.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LocationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LocationMetadata";
};
return LocationMetadata;
}();
v2.MetricsServiceV2 = function() {
function MetricsServiceV2(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(MetricsServiceV2.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = MetricsServiceV2;
MetricsServiceV2.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
Object.defineProperty(MetricsServiceV2.prototype.listLogMetrics = function listLogMetrics(request, callback) {
return this.rpcCall(listLogMetrics, $root.google.logging.v2.ListLogMetricsRequest, $root.google.logging.v2.ListLogMetricsResponse, request, callback);
}, "name", { value: "ListLogMetrics" });
Object.defineProperty(MetricsServiceV2.prototype.getLogMetric = function getLogMetric(request, callback) {
return this.rpcCall(getLogMetric, $root.google.logging.v2.GetLogMetricRequest, $root.google.logging.v2.LogMetric, request, callback);
}, "name", { value: "GetLogMetric" });
Object.defineProperty(MetricsServiceV2.prototype.createLogMetric = function createLogMetric(request, callback) {
return this.rpcCall(createLogMetric, $root.google.logging.v2.CreateLogMetricRequest, $root.google.logging.v2.LogMetric, request, callback);
}, "name", { value: "CreateLogMetric" });
Object.defineProperty(MetricsServiceV2.prototype.updateLogMetric = function updateLogMetric(request, callback) {
return this.rpcCall(updateLogMetric, $root.google.logging.v2.UpdateLogMetricRequest, $root.google.logging.v2.LogMetric, request, callback);
}, "name", { value: "UpdateLogMetric" });
Object.defineProperty(MetricsServiceV2.prototype.deleteLogMetric = function deleteLogMetric(request, callback) {
return this.rpcCall(deleteLogMetric, $root.google.logging.v2.DeleteLogMetricRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteLogMetric" });
return MetricsServiceV2;
}();
v2.LogMetric = function() {
function LogMetric(properties) {
this.labelExtractors = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LogMetric.prototype.name = "";
LogMetric.prototype.description = "";
LogMetric.prototype.filter = "";
LogMetric.prototype.bucketName = "";
LogMetric.prototype.disabled = false;
LogMetric.prototype.metricDescriptor = null;
LogMetric.prototype.valueExtractor = "";
LogMetric.prototype.labelExtractors = $util.emptyObject;
LogMetric.prototype.bucketOptions = null;
LogMetric.prototype.createTime = null;
LogMetric.prototype.updateTime = null;
LogMetric.prototype.version = 0;
LogMetric.create = function create(properties) {
return new LogMetric(properties);
};
LogMetric.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.description);
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.filter);
if (message.version != null && Object.hasOwnProperty.call(message, "version"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.version);
if (message.metricDescriptor != null && Object.hasOwnProperty.call(message, "metricDescriptor"))
$root.google.api.MetricDescriptor.encode(message.metricDescriptor, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
if (message.valueExtractor != null && Object.hasOwnProperty.call(message, "valueExtractor"))
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.valueExtractor);
if (message.labelExtractors != null && Object.hasOwnProperty.call(message, "labelExtractors"))
for (var keys = Object.keys(message.labelExtractors), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 7, wireType 2 =*/
58
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.labelExtractors[keys[i3]]).ldelim();
if (message.bucketOptions != null && Object.hasOwnProperty.call(message, "bucketOptions"))
$root.google.api.Distribution.BucketOptions.encode(message.bucketOptions, writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
$root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(
/* id 9, wireType 2 =*/
74
).fork()).ldelim();
if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
$root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(
/* id 10, wireType 2 =*/
82
).fork()).ldelim();
if (message.disabled != null && Object.hasOwnProperty.call(message, "disabled"))
writer.uint32(
/* id 12, wireType 0 =*/
96
).bool(message.disabled);
if (message.bucketName != null && Object.hasOwnProperty.call(message, "bucketName"))
writer.uint32(
/* id 13, wireType 2 =*/
106
).string(message.bucketName);
return writer;
};
LogMetric.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LogMetric.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.LogMetric(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.description = reader.string();
break;
}
case 3: {
message.filter = reader.string();
break;
}
case 13: {
message.bucketName = reader.string();
break;
}
case 12: {
message.disabled = reader.bool();
break;
}
case 5: {
message.metricDescriptor = $root.google.api.MetricDescriptor.decode(reader, reader.uint32());
break;
}
case 6: {
message.valueExtractor = reader.string();
break;
}
case 7: {
if (message.labelExtractors === $util.emptyObject)
message.labelExtractors = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.labelExtractors[key] = value;
break;
}
case 8: {
message.bucketOptions = $root.google.api.Distribution.BucketOptions.decode(reader, reader.uint32());
break;
}
case 9: {
message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 10: {
message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 4: {
message.version = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LogMetric.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LogMetric.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
if (message.bucketName != null && message.hasOwnProperty("bucketName")) {
if (!$util.isString(message.bucketName))
return "bucketName: string expected";
}
if (message.disabled != null && message.hasOwnProperty("disabled")) {
if (typeof message.disabled !== "boolean")
return "disabled: boolean expected";
}
if (message.metricDescriptor != null && message.hasOwnProperty("metricDescriptor")) {
var error40 = $root.google.api.MetricDescriptor.verify(message.metricDescriptor);
if (error40)
return "metricDescriptor." + error40;
}
if (message.valueExtractor != null && message.hasOwnProperty("valueExtractor")) {
if (!$util.isString(message.valueExtractor))
return "valueExtractor: string expected";
}
if (message.labelExtractors != null && message.hasOwnProperty("labelExtractors")) {
if (!$util.isObject(message.labelExtractors))
return "labelExtractors: object expected";
var key = Object.keys(message.labelExtractors);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.labelExtractors[key[i3]]))
return "labelExtractors: string{k:string} expected";
}
if (message.bucketOptions != null && message.hasOwnProperty("bucketOptions")) {
var error40 = $root.google.api.Distribution.BucketOptions.verify(message.bucketOptions);
if (error40)
return "bucketOptions." + error40;
}
if (message.createTime != null && message.hasOwnProperty("createTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.createTime);
if (error40)
return "createTime." + error40;
}
if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.updateTime);
if (error40)
return "updateTime." + error40;
}
if (message.version != null && message.hasOwnProperty("version"))
switch (message.version) {
default:
return "version: enum value expected";
case 0:
case 1:
break;
}
return null;
};
LogMetric.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.LogMetric)
return object3;
var message = new $root.google.logging.v2.LogMetric();
if (object3.name != null)
message.name = String(object3.name);
if (object3.description != null)
message.description = String(object3.description);
if (object3.filter != null)
message.filter = String(object3.filter);
if (object3.bucketName != null)
message.bucketName = String(object3.bucketName);
if (object3.disabled != null)
message.disabled = Boolean(object3.disabled);
if (object3.metricDescriptor != null) {
if (typeof object3.metricDescriptor !== "object")
throw TypeError(".google.logging.v2.LogMetric.metricDescriptor: object expected");
message.metricDescriptor = $root.google.api.MetricDescriptor.fromObject(object3.metricDescriptor);
}
if (object3.valueExtractor != null)
message.valueExtractor = String(object3.valueExtractor);
if (object3.labelExtractors) {
if (typeof object3.labelExtractors !== "object")
throw TypeError(".google.logging.v2.LogMetric.labelExtractors: object expected");
message.labelExtractors = {};
for (var keys = Object.keys(object3.labelExtractors), i3 = 0; i3 < keys.length; ++i3)
message.labelExtractors[keys[i3]] = String(object3.labelExtractors[keys[i3]]);
}
if (object3.bucketOptions != null) {
if (typeof object3.bucketOptions !== "object")
throw TypeError(".google.logging.v2.LogMetric.bucketOptions: object expected");
message.bucketOptions = $root.google.api.Distribution.BucketOptions.fromObject(object3.bucketOptions);
}
if (object3.createTime != null) {
if (typeof object3.createTime !== "object")
throw TypeError(".google.logging.v2.LogMetric.createTime: object expected");
message.createTime = $root.google.protobuf.Timestamp.fromObject(object3.createTime);
}
if (object3.updateTime != null) {
if (typeof object3.updateTime !== "object")
throw TypeError(".google.logging.v2.LogMetric.updateTime: object expected");
message.updateTime = $root.google.protobuf.Timestamp.fromObject(object3.updateTime);
}
switch (object3.version) {
default:
if (typeof object3.version === "number") {
message.version = object3.version;
break;
}
break;
case "V2":
case 0:
message.version = 0;
break;
case "V1":
case 1:
message.version = 1;
break;
}
return message;
};
LogMetric.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.labelExtractors = {};
if (options.defaults) {
object3.name = "";
object3.description = "";
object3.filter = "";
object3.version = options.enums === String ? "V2" : 0;
object3.metricDescriptor = null;
object3.valueExtractor = "";
object3.bucketOptions = null;
object3.createTime = null;
object3.updateTime = null;
object3.disabled = false;
object3.bucketName = "";
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
if (message.version != null && message.hasOwnProperty("version"))
object3.version = options.enums === String ? $root.google.logging.v2.LogMetric.ApiVersion[message.version] === void 0 ? message.version : $root.google.logging.v2.LogMetric.ApiVersion[message.version] : message.version;
if (message.metricDescriptor != null && message.hasOwnProperty("metricDescriptor"))
object3.metricDescriptor = $root.google.api.MetricDescriptor.toObject(message.metricDescriptor, options);
if (message.valueExtractor != null && message.hasOwnProperty("valueExtractor"))
object3.valueExtractor = message.valueExtractor;
var keys2;
if (message.labelExtractors && (keys2 = Object.keys(message.labelExtractors)).length) {
object3.labelExtractors = {};
for (var j = 0; j < keys2.length; ++j)
object3.labelExtractors[keys2[j]] = message.labelExtractors[keys2[j]];
}
if (message.bucketOptions != null && message.hasOwnProperty("bucketOptions"))
object3.bucketOptions = $root.google.api.Distribution.BucketOptions.toObject(message.bucketOptions, options);
if (message.createTime != null && message.hasOwnProperty("createTime"))
object3.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
if (message.updateTime != null && message.hasOwnProperty("updateTime"))
object3.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
if (message.disabled != null && message.hasOwnProperty("disabled"))
object3.disabled = message.disabled;
if (message.bucketName != null && message.hasOwnProperty("bucketName"))
object3.bucketName = message.bucketName;
return object3;
};
LogMetric.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LogMetric.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.LogMetric";
};
LogMetric.ApiVersion = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "V2"] = 0;
values[valuesById[1] = "V1"] = 1;
return values;
}();
return LogMetric;
}();
v2.ListLogMetricsRequest = function() {
function ListLogMetricsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLogMetricsRequest.prototype.parent = "";
ListLogMetricsRequest.prototype.pageToken = "";
ListLogMetricsRequest.prototype.pageSize = 0;
ListLogMetricsRequest.create = function create(properties) {
return new ListLogMetricsRequest(properties);
};
ListLogMetricsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pageToken);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.pageSize);
return writer;
};
ListLogMetricsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLogMetricsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLogMetricsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.pageToken = reader.string();
break;
}
case 3: {
message.pageSize = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLogMetricsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLogMetricsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
return null;
};
ListLogMetricsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLogMetricsRequest)
return object3;
var message = new $root.google.logging.v2.ListLogMetricsRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
return message;
};
ListLogMetricsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.pageToken = "";
object3.pageSize = 0;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
return object3;
};
ListLogMetricsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLogMetricsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLogMetricsRequest";
};
return ListLogMetricsRequest;
}();
v2.ListLogMetricsResponse = function() {
function ListLogMetricsResponse(properties) {
this.metrics = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListLogMetricsResponse.prototype.metrics = $util.emptyArray;
ListLogMetricsResponse.prototype.nextPageToken = "";
ListLogMetricsResponse.create = function create(properties) {
return new ListLogMetricsResponse(properties);
};
ListLogMetricsResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.metrics != null && message.metrics.length)
for (var i3 = 0; i3 < message.metrics.length; ++i3)
$root.google.logging.v2.LogMetric.encode(message.metrics[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListLogMetricsResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListLogMetricsResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.ListLogMetricsResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.metrics && message.metrics.length))
message.metrics = [];
message.metrics.push($root.google.logging.v2.LogMetric.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListLogMetricsResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListLogMetricsResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.metrics != null && message.hasOwnProperty("metrics")) {
if (!Array.isArray(message.metrics))
return "metrics: array expected";
for (var i3 = 0; i3 < message.metrics.length; ++i3) {
var error40 = $root.google.logging.v2.LogMetric.verify(message.metrics[i3]);
if (error40)
return "metrics." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListLogMetricsResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.ListLogMetricsResponse)
return object3;
var message = new $root.google.logging.v2.ListLogMetricsResponse();
if (object3.metrics) {
if (!Array.isArray(object3.metrics))
throw TypeError(".google.logging.v2.ListLogMetricsResponse.metrics: array expected");
message.metrics = [];
for (var i3 = 0; i3 < object3.metrics.length; ++i3) {
if (typeof object3.metrics[i3] !== "object")
throw TypeError(".google.logging.v2.ListLogMetricsResponse.metrics: object expected");
message.metrics[i3] = $root.google.logging.v2.LogMetric.fromObject(object3.metrics[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListLogMetricsResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.metrics = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.metrics && message.metrics.length) {
object3.metrics = [];
for (var j = 0; j < message.metrics.length; ++j)
object3.metrics[j] = $root.google.logging.v2.LogMetric.toObject(message.metrics[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListLogMetricsResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListLogMetricsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.ListLogMetricsResponse";
};
return ListLogMetricsResponse;
}();
v2.GetLogMetricRequest = function() {
function GetLogMetricRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetLogMetricRequest.prototype.metricName = "";
GetLogMetricRequest.create = function create(properties) {
return new GetLogMetricRequest(properties);
};
GetLogMetricRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.metricName != null && Object.hasOwnProperty.call(message, "metricName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.metricName);
return writer;
};
GetLogMetricRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetLogMetricRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.GetLogMetricRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.metricName = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetLogMetricRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetLogMetricRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.metricName != null && message.hasOwnProperty("metricName")) {
if (!$util.isString(message.metricName))
return "metricName: string expected";
}
return null;
};
GetLogMetricRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.GetLogMetricRequest)
return object3;
var message = new $root.google.logging.v2.GetLogMetricRequest();
if (object3.metricName != null)
message.metricName = String(object3.metricName);
return message;
};
GetLogMetricRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.metricName = "";
if (message.metricName != null && message.hasOwnProperty("metricName"))
object3.metricName = message.metricName;
return object3;
};
GetLogMetricRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetLogMetricRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.GetLogMetricRequest";
};
return GetLogMetricRequest;
}();
v2.CreateLogMetricRequest = function() {
function CreateLogMetricRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CreateLogMetricRequest.prototype.parent = "";
CreateLogMetricRequest.prototype.metric = null;
CreateLogMetricRequest.create = function create(properties) {
return new CreateLogMetricRequest(properties);
};
CreateLogMetricRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.parent);
if (message.metric != null && Object.hasOwnProperty.call(message, "metric"))
$root.google.logging.v2.LogMetric.encode(message.metric, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
return writer;
};
CreateLogMetricRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CreateLogMetricRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.CreateLogMetricRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.parent = reader.string();
break;
}
case 2: {
message.metric = $root.google.logging.v2.LogMetric.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CreateLogMetricRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CreateLogMetricRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.parent != null && message.hasOwnProperty("parent")) {
if (!$util.isString(message.parent))
return "parent: string expected";
}
if (message.metric != null && message.hasOwnProperty("metric")) {
var error40 = $root.google.logging.v2.LogMetric.verify(message.metric);
if (error40)
return "metric." + error40;
}
return null;
};
CreateLogMetricRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.CreateLogMetricRequest)
return object3;
var message = new $root.google.logging.v2.CreateLogMetricRequest();
if (object3.parent != null)
message.parent = String(object3.parent);
if (object3.metric != null) {
if (typeof object3.metric !== "object")
throw TypeError(".google.logging.v2.CreateLogMetricRequest.metric: object expected");
message.metric = $root.google.logging.v2.LogMetric.fromObject(object3.metric);
}
return message;
};
CreateLogMetricRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.parent = "";
object3.metric = null;
}
if (message.parent != null && message.hasOwnProperty("parent"))
object3.parent = message.parent;
if (message.metric != null && message.hasOwnProperty("metric"))
object3.metric = $root.google.logging.v2.LogMetric.toObject(message.metric, options);
return object3;
};
CreateLogMetricRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CreateLogMetricRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.CreateLogMetricRequest";
};
return CreateLogMetricRequest;
}();
v2.UpdateLogMetricRequest = function() {
function UpdateLogMetricRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
UpdateLogMetricRequest.prototype.metricName = "";
UpdateLogMetricRequest.prototype.metric = null;
UpdateLogMetricRequest.create = function create(properties) {
return new UpdateLogMetricRequest(properties);
};
UpdateLogMetricRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.metricName != null && Object.hasOwnProperty.call(message, "metricName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.metricName);
if (message.metric != null && Object.hasOwnProperty.call(message, "metric"))
$root.google.logging.v2.LogMetric.encode(message.metric, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
return writer;
};
UpdateLogMetricRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
UpdateLogMetricRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.UpdateLogMetricRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.metricName = reader.string();
break;
}
case 2: {
message.metric = $root.google.logging.v2.LogMetric.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
UpdateLogMetricRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
UpdateLogMetricRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.metricName != null && message.hasOwnProperty("metricName")) {
if (!$util.isString(message.metricName))
return "metricName: string expected";
}
if (message.metric != null && message.hasOwnProperty("metric")) {
var error40 = $root.google.logging.v2.LogMetric.verify(message.metric);
if (error40)
return "metric." + error40;
}
return null;
};
UpdateLogMetricRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.UpdateLogMetricRequest)
return object3;
var message = new $root.google.logging.v2.UpdateLogMetricRequest();
if (object3.metricName != null)
message.metricName = String(object3.metricName);
if (object3.metric != null) {
if (typeof object3.metric !== "object")
throw TypeError(".google.logging.v2.UpdateLogMetricRequest.metric: object expected");
message.metric = $root.google.logging.v2.LogMetric.fromObject(object3.metric);
}
return message;
};
UpdateLogMetricRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.metricName = "";
object3.metric = null;
}
if (message.metricName != null && message.hasOwnProperty("metricName"))
object3.metricName = message.metricName;
if (message.metric != null && message.hasOwnProperty("metric"))
object3.metric = $root.google.logging.v2.LogMetric.toObject(message.metric, options);
return object3;
};
UpdateLogMetricRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
UpdateLogMetricRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.UpdateLogMetricRequest";
};
return UpdateLogMetricRequest;
}();
v2.DeleteLogMetricRequest = function() {
function DeleteLogMetricRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteLogMetricRequest.prototype.metricName = "";
DeleteLogMetricRequest.create = function create(properties) {
return new DeleteLogMetricRequest(properties);
};
DeleteLogMetricRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.metricName != null && Object.hasOwnProperty.call(message, "metricName"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.metricName);
return writer;
};
DeleteLogMetricRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteLogMetricRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.logging.v2.DeleteLogMetricRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.metricName = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteLogMetricRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteLogMetricRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.metricName != null && message.hasOwnProperty("metricName")) {
if (!$util.isString(message.metricName))
return "metricName: string expected";
}
return null;
};
DeleteLogMetricRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.logging.v2.DeleteLogMetricRequest)
return object3;
var message = new $root.google.logging.v2.DeleteLogMetricRequest();
if (object3.metricName != null)
message.metricName = String(object3.metricName);
return message;
};
DeleteLogMetricRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.metricName = "";
if (message.metricName != null && message.hasOwnProperty("metricName"))
object3.metricName = message.metricName;
return object3;
};
DeleteLogMetricRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteLogMetricRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.logging.v2.DeleteLogMetricRequest";
};
return DeleteLogMetricRequest;
}();
return v2;
}();
return logging;
}();
google.api = function() {
var api = {};
api.FieldBehavior = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0;
values[valuesById[1] = "OPTIONAL"] = 1;
values[valuesById[2] = "REQUIRED"] = 2;
values[valuesById[3] = "OUTPUT_ONLY"] = 3;
values[valuesById[4] = "INPUT_ONLY"] = 4;
values[valuesById[5] = "IMMUTABLE"] = 5;
values[valuesById[6] = "UNORDERED_LIST"] = 6;
values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7;
values[valuesById[8] = "IDENTIFIER"] = 8;
return values;
}();
api.MonitoredResourceDescriptor = function() {
function MonitoredResourceDescriptor(properties) {
this.labels = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MonitoredResourceDescriptor.prototype.name = "";
MonitoredResourceDescriptor.prototype.type = "";
MonitoredResourceDescriptor.prototype.displayName = "";
MonitoredResourceDescriptor.prototype.description = "";
MonitoredResourceDescriptor.prototype.labels = $util.emptyArray;
MonitoredResourceDescriptor.prototype.launchStage = 0;
MonitoredResourceDescriptor.create = function create(properties) {
return new MonitoredResourceDescriptor(properties);
};
MonitoredResourceDescriptor.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.type);
if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.displayName);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.description);
if (message.labels != null && message.labels.length)
for (var i3 = 0; i3 < message.labels.length; ++i3)
$root.google.api.LabelDescriptor.encode(message.labels[i3], writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.name);
if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage"))
writer.uint32(
/* id 7, wireType 0 =*/
56
).int32(message.launchStage);
return writer;
};
MonitoredResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MonitoredResourceDescriptor.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.MonitoredResourceDescriptor();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 5: {
message.name = reader.string();
break;
}
case 1: {
message.type = reader.string();
break;
}
case 2: {
message.displayName = reader.string();
break;
}
case 3: {
message.description = reader.string();
break;
}
case 4: {
if (!(message.labels && message.labels.length))
message.labels = [];
message.labels.push($root.google.api.LabelDescriptor.decode(reader, reader.uint32()));
break;
}
case 7: {
message.launchStage = reader.int32();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MonitoredResourceDescriptor.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MonitoredResourceDescriptor.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.displayName != null && message.hasOwnProperty("displayName")) {
if (!$util.isString(message.displayName))
return "displayName: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.labels != null && message.hasOwnProperty("labels")) {
if (!Array.isArray(message.labels))
return "labels: array expected";
for (var i3 = 0; i3 < message.labels.length; ++i3) {
var error40 = $root.google.api.LabelDescriptor.verify(message.labels[i3]);
if (error40)
return "labels." + error40;
}
}
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
switch (message.launchStage) {
default:
return "launchStage: enum value expected";
case 0:
case 6:
case 7:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
return null;
};
MonitoredResourceDescriptor.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.MonitoredResourceDescriptor)
return object3;
var message = new $root.google.api.MonitoredResourceDescriptor();
if (object3.name != null)
message.name = String(object3.name);
if (object3.type != null)
message.type = String(object3.type);
if (object3.displayName != null)
message.displayName = String(object3.displayName);
if (object3.description != null)
message.description = String(object3.description);
if (object3.labels) {
if (!Array.isArray(object3.labels))
throw TypeError(".google.api.MonitoredResourceDescriptor.labels: array expected");
message.labels = [];
for (var i3 = 0; i3 < object3.labels.length; ++i3) {
if (typeof object3.labels[i3] !== "object")
throw TypeError(".google.api.MonitoredResourceDescriptor.labels: object expected");
message.labels[i3] = $root.google.api.LabelDescriptor.fromObject(object3.labels[i3]);
}
}
switch (object3.launchStage) {
default:
if (typeof object3.launchStage === "number") {
message.launchStage = object3.launchStage;
break;
}
break;
case "LAUNCH_STAGE_UNSPECIFIED":
case 0:
message.launchStage = 0;
break;
case "UNIMPLEMENTED":
case 6:
message.launchStage = 6;
break;
case "PRELAUNCH":
case 7:
message.launchStage = 7;
break;
case "EARLY_ACCESS":
case 1:
message.launchStage = 1;
break;
case "ALPHA":
case 2:
message.launchStage = 2;
break;
case "BETA":
case 3:
message.launchStage = 3;
break;
case "GA":
case 4:
message.launchStage = 4;
break;
case "DEPRECATED":
case 5:
message.launchStage = 5;
break;
}
return message;
};
MonitoredResourceDescriptor.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.labels = [];
if (options.defaults) {
object3.type = "";
object3.displayName = "";
object3.description = "";
object3.name = "";
object3.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0;
}
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
if (message.displayName != null && message.hasOwnProperty("displayName"))
object3.displayName = message.displayName;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.labels && message.labels.length) {
object3.labels = [];
for (var j = 0; j < message.labels.length; ++j)
object3.labels[j] = $root.google.api.LabelDescriptor.toObject(message.labels[j], options);
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
object3.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === void 0 ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage;
return object3;
};
MonitoredResourceDescriptor.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MonitoredResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.MonitoredResourceDescriptor";
};
return MonitoredResourceDescriptor;
}();
api.MonitoredResource = function() {
function MonitoredResource(properties) {
this.labels = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MonitoredResource.prototype.type = "";
MonitoredResource.prototype.labels = $util.emptyObject;
MonitoredResource.create = function create(properties) {
return new MonitoredResource(properties);
};
MonitoredResource.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.type);
if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
for (var keys = Object.keys(message.labels), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.labels[keys[i3]]).ldelim();
return writer;
};
MonitoredResource.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MonitoredResource.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.MonitoredResource(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.type = reader.string();
break;
}
case 2: {
if (message.labels === $util.emptyObject)
message.labels = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.labels[key] = value;
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MonitoredResource.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MonitoredResource.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.labels != null && message.hasOwnProperty("labels")) {
if (!$util.isObject(message.labels))
return "labels: object expected";
var key = Object.keys(message.labels);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.labels[key[i3]]))
return "labels: string{k:string} expected";
}
return null;
};
MonitoredResource.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.MonitoredResource)
return object3;
var message = new $root.google.api.MonitoredResource();
if (object3.type != null)
message.type = String(object3.type);
if (object3.labels) {
if (typeof object3.labels !== "object")
throw TypeError(".google.api.MonitoredResource.labels: object expected");
message.labels = {};
for (var keys = Object.keys(object3.labels), i3 = 0; i3 < keys.length; ++i3)
message.labels[keys[i3]] = String(object3.labels[keys[i3]]);
}
return message;
};
MonitoredResource.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.labels = {};
if (options.defaults)
object3.type = "";
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
var keys2;
if (message.labels && (keys2 = Object.keys(message.labels)).length) {
object3.labels = {};
for (var j = 0; j < keys2.length; ++j)
object3.labels[keys2[j]] = message.labels[keys2[j]];
}
return object3;
};
MonitoredResource.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MonitoredResource.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.MonitoredResource";
};
return MonitoredResource;
}();
api.MonitoredResourceMetadata = function() {
function MonitoredResourceMetadata(properties) {
this.userLabels = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MonitoredResourceMetadata.prototype.systemLabels = null;
MonitoredResourceMetadata.prototype.userLabels = $util.emptyObject;
MonitoredResourceMetadata.create = function create(properties) {
return new MonitoredResourceMetadata(properties);
};
MonitoredResourceMetadata.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.systemLabels != null && Object.hasOwnProperty.call(message, "systemLabels"))
$root.google.protobuf.Struct.encode(message.systemLabels, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.userLabels != null && Object.hasOwnProperty.call(message, "userLabels"))
for (var keys = Object.keys(message.userLabels), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.userLabels[keys[i3]]).ldelim();
return writer;
};
MonitoredResourceMetadata.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MonitoredResourceMetadata.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.MonitoredResourceMetadata(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.systemLabels = $root.google.protobuf.Struct.decode(reader, reader.uint32());
break;
}
case 2: {
if (message.userLabels === $util.emptyObject)
message.userLabels = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.userLabels[key] = value;
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MonitoredResourceMetadata.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MonitoredResourceMetadata.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.systemLabels != null && message.hasOwnProperty("systemLabels")) {
var error40 = $root.google.protobuf.Struct.verify(message.systemLabels);
if (error40)
return "systemLabels." + error40;
}
if (message.userLabels != null && message.hasOwnProperty("userLabels")) {
if (!$util.isObject(message.userLabels))
return "userLabels: object expected";
var key = Object.keys(message.userLabels);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.userLabels[key[i3]]))
return "userLabels: string{k:string} expected";
}
return null;
};
MonitoredResourceMetadata.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.MonitoredResourceMetadata)
return object3;
var message = new $root.google.api.MonitoredResourceMetadata();
if (object3.systemLabels != null) {
if (typeof object3.systemLabels !== "object")
throw TypeError(".google.api.MonitoredResourceMetadata.systemLabels: object expected");
message.systemLabels = $root.google.protobuf.Struct.fromObject(object3.systemLabels);
}
if (object3.userLabels) {
if (typeof object3.userLabels !== "object")
throw TypeError(".google.api.MonitoredResourceMetadata.userLabels: object expected");
message.userLabels = {};
for (var keys = Object.keys(object3.userLabels), i3 = 0; i3 < keys.length; ++i3)
message.userLabels[keys[i3]] = String(object3.userLabels[keys[i3]]);
}
return message;
};
MonitoredResourceMetadata.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.userLabels = {};
if (options.defaults)
object3.systemLabels = null;
if (message.systemLabels != null && message.hasOwnProperty("systemLabels"))
object3.systemLabels = $root.google.protobuf.Struct.toObject(message.systemLabels, options);
var keys2;
if (message.userLabels && (keys2 = Object.keys(message.userLabels)).length) {
object3.userLabels = {};
for (var j = 0; j < keys2.length; ++j)
object3.userLabels[keys2[j]] = message.userLabels[keys2[j]];
}
return object3;
};
MonitoredResourceMetadata.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MonitoredResourceMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.MonitoredResourceMetadata";
};
return MonitoredResourceMetadata;
}();
api.LabelDescriptor = function() {
function LabelDescriptor(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LabelDescriptor.prototype.key = "";
LabelDescriptor.prototype.valueType = 0;
LabelDescriptor.prototype.description = "";
LabelDescriptor.create = function create(properties) {
return new LabelDescriptor(properties);
};
LabelDescriptor.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.key != null && Object.hasOwnProperty.call(message, "key"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.key);
if (message.valueType != null && Object.hasOwnProperty.call(message, "valueType"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.valueType);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.description);
return writer;
};
LabelDescriptor.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LabelDescriptor.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.LabelDescriptor();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.key = reader.string();
break;
}
case 2: {
message.valueType = reader.int32();
break;
}
case 3: {
message.description = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LabelDescriptor.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LabelDescriptor.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.key != null && message.hasOwnProperty("key")) {
if (!$util.isString(message.key))
return "key: string expected";
}
if (message.valueType != null && message.hasOwnProperty("valueType"))
switch (message.valueType) {
default:
return "valueType: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
return null;
};
LabelDescriptor.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.LabelDescriptor)
return object3;
var message = new $root.google.api.LabelDescriptor();
if (object3.key != null)
message.key = String(object3.key);
switch (object3.valueType) {
default:
if (typeof object3.valueType === "number") {
message.valueType = object3.valueType;
break;
}
break;
case "STRING":
case 0:
message.valueType = 0;
break;
case "BOOL":
case 1:
message.valueType = 1;
break;
case "INT64":
case 2:
message.valueType = 2;
break;
}
if (object3.description != null)
message.description = String(object3.description);
return message;
};
LabelDescriptor.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.key = "";
object3.valueType = options.enums === String ? "STRING" : 0;
object3.description = "";
}
if (message.key != null && message.hasOwnProperty("key"))
object3.key = message.key;
if (message.valueType != null && message.hasOwnProperty("valueType"))
object3.valueType = options.enums === String ? $root.google.api.LabelDescriptor.ValueType[message.valueType] === void 0 ? message.valueType : $root.google.api.LabelDescriptor.ValueType[message.valueType] : message.valueType;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
return object3;
};
LabelDescriptor.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LabelDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.LabelDescriptor";
};
LabelDescriptor.ValueType = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "STRING"] = 0;
values[valuesById[1] = "BOOL"] = 1;
values[valuesById[2] = "INT64"] = 2;
return values;
}();
return LabelDescriptor;
}();
api.LaunchStage = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0;
values[valuesById[6] = "UNIMPLEMENTED"] = 6;
values[valuesById[7] = "PRELAUNCH"] = 7;
values[valuesById[1] = "EARLY_ACCESS"] = 1;
values[valuesById[2] = "ALPHA"] = 2;
values[valuesById[3] = "BETA"] = 3;
values[valuesById[4] = "GA"] = 4;
values[valuesById[5] = "DEPRECATED"] = 5;
return values;
}();
api.ResourceDescriptor = function() {
function ResourceDescriptor(properties) {
this.pattern = [];
this.style = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ResourceDescriptor.prototype.type = "";
ResourceDescriptor.prototype.pattern = $util.emptyArray;
ResourceDescriptor.prototype.nameField = "";
ResourceDescriptor.prototype.history = 0;
ResourceDescriptor.prototype.plural = "";
ResourceDescriptor.prototype.singular = "";
ResourceDescriptor.prototype.style = $util.emptyArray;
ResourceDescriptor.create = function create(properties) {
return new ResourceDescriptor(properties);
};
ResourceDescriptor.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.type);
if (message.pattern != null && message.pattern.length)
for (var i3 = 0; i3 < message.pattern.length; ++i3)
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.pattern[i3]);
if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.nameField);
if (message.history != null && Object.hasOwnProperty.call(message, "history"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.history);
if (message.plural != null && Object.hasOwnProperty.call(message, "plural"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.plural);
if (message.singular != null && Object.hasOwnProperty.call(message, "singular"))
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.singular);
if (message.style != null && message.style.length) {
writer.uint32(
/* id 10, wireType 2 =*/
82
).fork();
for (var i3 = 0; i3 < message.style.length; ++i3)
writer.int32(message.style[i3]);
writer.ldelim();
}
return writer;
};
ResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ResourceDescriptor.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.type = reader.string();
break;
}
case 2: {
if (!(message.pattern && message.pattern.length))
message.pattern = [];
message.pattern.push(reader.string());
break;
}
case 3: {
message.nameField = reader.string();
break;
}
case 4: {
message.history = reader.int32();
break;
}
case 5: {
message.plural = reader.string();
break;
}
case 6: {
message.singular = reader.string();
break;
}
case 10: {
if (!(message.style && message.style.length))
message.style = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.style.push(reader.int32());
} else
message.style.push(reader.int32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ResourceDescriptor.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ResourceDescriptor.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.pattern != null && message.hasOwnProperty("pattern")) {
if (!Array.isArray(message.pattern))
return "pattern: array expected";
for (var i3 = 0; i3 < message.pattern.length; ++i3)
if (!$util.isString(message.pattern[i3]))
return "pattern: string[] expected";
}
if (message.nameField != null && message.hasOwnProperty("nameField")) {
if (!$util.isString(message.nameField))
return "nameField: string expected";
}
if (message.history != null && message.hasOwnProperty("history"))
switch (message.history) {
default:
return "history: enum value expected";
case 0:
case 1:
case 2:
break;
}
if (message.plural != null && message.hasOwnProperty("plural")) {
if (!$util.isString(message.plural))
return "plural: string expected";
}
if (message.singular != null && message.hasOwnProperty("singular")) {
if (!$util.isString(message.singular))
return "singular: string expected";
}
if (message.style != null && message.hasOwnProperty("style")) {
if (!Array.isArray(message.style))
return "style: array expected";
for (var i3 = 0; i3 < message.style.length; ++i3)
switch (message.style[i3]) {
default:
return "style: enum value[] expected";
case 0:
case 1:
break;
}
}
return null;
};
ResourceDescriptor.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.ResourceDescriptor)
return object3;
var message = new $root.google.api.ResourceDescriptor();
if (object3.type != null)
message.type = String(object3.type);
if (object3.pattern) {
if (!Array.isArray(object3.pattern))
throw TypeError(".google.api.ResourceDescriptor.pattern: array expected");
message.pattern = [];
for (var i3 = 0; i3 < object3.pattern.length; ++i3)
message.pattern[i3] = String(object3.pattern[i3]);
}
if (object3.nameField != null)
message.nameField = String(object3.nameField);
switch (object3.history) {
default:
if (typeof object3.history === "number") {
message.history = object3.history;
break;
}
break;
case "HISTORY_UNSPECIFIED":
case 0:
message.history = 0;
break;
case "ORIGINALLY_SINGLE_PATTERN":
case 1:
message.history = 1;
break;
case "FUTURE_MULTI_PATTERN":
case 2:
message.history = 2;
break;
}
if (object3.plural != null)
message.plural = String(object3.plural);
if (object3.singular != null)
message.singular = String(object3.singular);
if (object3.style) {
if (!Array.isArray(object3.style))
throw TypeError(".google.api.ResourceDescriptor.style: array expected");
message.style = [];
for (var i3 = 0; i3 < object3.style.length; ++i3)
switch (object3.style[i3]) {
default:
if (typeof object3.style[i3] === "number") {
message.style[i3] = object3.style[i3];
break;
}
case "STYLE_UNSPECIFIED":
case 0:
message.style[i3] = 0;
break;
case "DECLARATIVE_FRIENDLY":
case 1:
message.style[i3] = 1;
break;
}
}
return message;
};
ResourceDescriptor.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.pattern = [];
object3.style = [];
}
if (options.defaults) {
object3.type = "";
object3.nameField = "";
object3.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0;
object3.plural = "";
object3.singular = "";
}
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
if (message.pattern && message.pattern.length) {
object3.pattern = [];
for (var j = 0; j < message.pattern.length; ++j)
object3.pattern[j] = message.pattern[j];
}
if (message.nameField != null && message.hasOwnProperty("nameField"))
object3.nameField = message.nameField;
if (message.history != null && message.hasOwnProperty("history"))
object3.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] === void 0 ? message.history : $root.google.api.ResourceDescriptor.History[message.history] : message.history;
if (message.plural != null && message.hasOwnProperty("plural"))
object3.plural = message.plural;
if (message.singular != null && message.hasOwnProperty("singular"))
object3.singular = message.singular;
if (message.style && message.style.length) {
object3.style = [];
for (var j = 0; j < message.style.length; ++j)
object3.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] === void 0 ? message.style[j] : $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j];
}
return object3;
};
ResourceDescriptor.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.ResourceDescriptor";
};
ResourceDescriptor.History = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "HISTORY_UNSPECIFIED"] = 0;
values[valuesById[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1;
values[valuesById[2] = "FUTURE_MULTI_PATTERN"] = 2;
return values;
}();
ResourceDescriptor.Style = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "STYLE_UNSPECIFIED"] = 0;
values[valuesById[1] = "DECLARATIVE_FRIENDLY"] = 1;
return values;
}();
return ResourceDescriptor;
}();
api.ResourceReference = function() {
function ResourceReference(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ResourceReference.prototype.type = "";
ResourceReference.prototype.childType = "";
ResourceReference.create = function create(properties) {
return new ResourceReference(properties);
};
ResourceReference.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.type);
if (message.childType != null && Object.hasOwnProperty.call(message, "childType"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.childType);
return writer;
};
ResourceReference.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ResourceReference.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.type = reader.string();
break;
}
case 2: {
message.childType = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ResourceReference.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ResourceReference.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.childType != null && message.hasOwnProperty("childType")) {
if (!$util.isString(message.childType))
return "childType: string expected";
}
return null;
};
ResourceReference.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.ResourceReference)
return object3;
var message = new $root.google.api.ResourceReference();
if (object3.type != null)
message.type = String(object3.type);
if (object3.childType != null)
message.childType = String(object3.childType);
return message;
};
ResourceReference.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.type = "";
object3.childType = "";
}
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
if (message.childType != null && message.hasOwnProperty("childType"))
object3.childType = message.childType;
return object3;
};
ResourceReference.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ResourceReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.ResourceReference";
};
return ResourceReference;
}();
api.Http = function() {
function Http(properties) {
this.rules = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Http.prototype.rules = $util.emptyArray;
Http.prototype.fullyDecodeReservedExpansion = false;
Http.create = function create(properties) {
return new Http(properties);
};
Http.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.rules != null && message.rules.length)
for (var i3 = 0; i3 < message.rules.length; ++i3)
$root.google.api.HttpRule.encode(message.rules[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).bool(message.fullyDecodeReservedExpansion);
return writer;
};
Http.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Http.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Http();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.rules && message.rules.length))
message.rules = [];
message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
break;
}
case 2: {
message.fullyDecodeReservedExpansion = reader.bool();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Http.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Http.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.rules != null && message.hasOwnProperty("rules")) {
if (!Array.isArray(message.rules))
return "rules: array expected";
for (var i3 = 0; i3 < message.rules.length; ++i3) {
var error40 = $root.google.api.HttpRule.verify(message.rules[i3]);
if (error40)
return "rules." + error40;
}
}
if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) {
if (typeof message.fullyDecodeReservedExpansion !== "boolean")
return "fullyDecodeReservedExpansion: boolean expected";
}
return null;
};
Http.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Http)
return object3;
var message = new $root.google.api.Http();
if (object3.rules) {
if (!Array.isArray(object3.rules))
throw TypeError(".google.api.Http.rules: array expected");
message.rules = [];
for (var i3 = 0; i3 < object3.rules.length; ++i3) {
if (typeof object3.rules[i3] !== "object")
throw TypeError(".google.api.Http.rules: object expected");
message.rules[i3] = $root.google.api.HttpRule.fromObject(object3.rules[i3]);
}
}
if (object3.fullyDecodeReservedExpansion != null)
message.fullyDecodeReservedExpansion = Boolean(object3.fullyDecodeReservedExpansion);
return message;
};
Http.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.rules = [];
if (options.defaults)
object3.fullyDecodeReservedExpansion = false;
if (message.rules && message.rules.length) {
object3.rules = [];
for (var j = 0; j < message.rules.length; ++j)
object3.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options);
}
if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
object3.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion;
return object3;
};
Http.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Http";
};
return Http;
}();
api.HttpRule = function() {
function HttpRule(properties) {
this.additionalBindings = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
HttpRule.prototype.selector = "";
HttpRule.prototype.get = null;
HttpRule.prototype.put = null;
HttpRule.prototype.post = null;
HttpRule.prototype["delete"] = null;
HttpRule.prototype.patch = null;
HttpRule.prototype.custom = null;
HttpRule.prototype.body = "";
HttpRule.prototype.responseBody = "";
HttpRule.prototype.additionalBindings = $util.emptyArray;
var $oneOfFields;
Object.defineProperty(HttpRule.prototype, "pattern", {
get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]),
set: $util.oneOfSetter($oneOfFields)
});
HttpRule.create = function create(properties) {
return new HttpRule(properties);
};
HttpRule.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.selector != null && Object.hasOwnProperty.call(message, "selector"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.selector);
if (message.get != null && Object.hasOwnProperty.call(message, "get"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.get);
if (message.put != null && Object.hasOwnProperty.call(message, "put"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.put);
if (message.post != null && Object.hasOwnProperty.call(message, "post"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.post);
if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message["delete"]);
if (message.patch != null && Object.hasOwnProperty.call(message, "patch"))
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.patch);
if (message.body != null && Object.hasOwnProperty.call(message, "body"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).string(message.body);
if (message.custom != null && Object.hasOwnProperty.call(message, "custom"))
$root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(
/* id 8, wireType 2 =*/
66
).fork()).ldelim();
if (message.additionalBindings != null && message.additionalBindings.length)
for (var i3 = 0; i3 < message.additionalBindings.length; ++i3)
$root.google.api.HttpRule.encode(message.additionalBindings[i3], writer.uint32(
/* id 11, wireType 2 =*/
90
).fork()).ldelim();
if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody"))
writer.uint32(
/* id 12, wireType 2 =*/
98
).string(message.responseBody);
return writer;
};
HttpRule.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
HttpRule.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.selector = reader.string();
break;
}
case 2: {
message.get = reader.string();
break;
}
case 3: {
message.put = reader.string();
break;
}
case 4: {
message.post = reader.string();
break;
}
case 5: {
message["delete"] = reader.string();
break;
}
case 6: {
message.patch = reader.string();
break;
}
case 8: {
message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32());
break;
}
case 7: {
message.body = reader.string();
break;
}
case 12: {
message.responseBody = reader.string();
break;
}
case 11: {
if (!(message.additionalBindings && message.additionalBindings.length))
message.additionalBindings = [];
message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
HttpRule.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
HttpRule.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.selector != null && message.hasOwnProperty("selector")) {
if (!$util.isString(message.selector))
return "selector: string expected";
}
if (message.get != null && message.hasOwnProperty("get")) {
properties.pattern = 1;
if (!$util.isString(message.get))
return "get: string expected";
}
if (message.put != null && message.hasOwnProperty("put")) {
if (properties.pattern === 1)
return "pattern: multiple values";
properties.pattern = 1;
if (!$util.isString(message.put))
return "put: string expected";
}
if (message.post != null && message.hasOwnProperty("post")) {
if (properties.pattern === 1)
return "pattern: multiple values";
properties.pattern = 1;
if (!$util.isString(message.post))
return "post: string expected";
}
if (message["delete"] != null && message.hasOwnProperty("delete")) {
if (properties.pattern === 1)
return "pattern: multiple values";
properties.pattern = 1;
if (!$util.isString(message["delete"]))
return "delete: string expected";
}
if (message.patch != null && message.hasOwnProperty("patch")) {
if (properties.pattern === 1)
return "pattern: multiple values";
properties.pattern = 1;
if (!$util.isString(message.patch))
return "patch: string expected";
}
if (message.custom != null && message.hasOwnProperty("custom")) {
if (properties.pattern === 1)
return "pattern: multiple values";
properties.pattern = 1;
{
var error40 = $root.google.api.CustomHttpPattern.verify(message.custom);
if (error40)
return "custom." + error40;
}
}
if (message.body != null && message.hasOwnProperty("body")) {
if (!$util.isString(message.body))
return "body: string expected";
}
if (message.responseBody != null && message.hasOwnProperty("responseBody")) {
if (!$util.isString(message.responseBody))
return "responseBody: string expected";
}
if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) {
if (!Array.isArray(message.additionalBindings))
return "additionalBindings: array expected";
for (var i3 = 0; i3 < message.additionalBindings.length; ++i3) {
var error40 = $root.google.api.HttpRule.verify(message.additionalBindings[i3]);
if (error40)
return "additionalBindings." + error40;
}
}
return null;
};
HttpRule.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.HttpRule)
return object3;
var message = new $root.google.api.HttpRule();
if (object3.selector != null)
message.selector = String(object3.selector);
if (object3.get != null)
message.get = String(object3.get);
if (object3.put != null)
message.put = String(object3.put);
if (object3.post != null)
message.post = String(object3.post);
if (object3["delete"] != null)
message["delete"] = String(object3["delete"]);
if (object3.patch != null)
message.patch = String(object3.patch);
if (object3.custom != null) {
if (typeof object3.custom !== "object")
throw TypeError(".google.api.HttpRule.custom: object expected");
message.custom = $root.google.api.CustomHttpPattern.fromObject(object3.custom);
}
if (object3.body != null)
message.body = String(object3.body);
if (object3.responseBody != null)
message.responseBody = String(object3.responseBody);
if (object3.additionalBindings) {
if (!Array.isArray(object3.additionalBindings))
throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
message.additionalBindings = [];
for (var i3 = 0; i3 < object3.additionalBindings.length; ++i3) {
if (typeof object3.additionalBindings[i3] !== "object")
throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
message.additionalBindings[i3] = $root.google.api.HttpRule.fromObject(object3.additionalBindings[i3]);
}
}
return message;
};
HttpRule.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.additionalBindings = [];
if (options.defaults) {
object3.selector = "";
object3.body = "";
object3.responseBody = "";
}
if (message.selector != null && message.hasOwnProperty("selector"))
object3.selector = message.selector;
if (message.get != null && message.hasOwnProperty("get")) {
object3.get = message.get;
if (options.oneofs)
object3.pattern = "get";
}
if (message.put != null && message.hasOwnProperty("put")) {
object3.put = message.put;
if (options.oneofs)
object3.pattern = "put";
}
if (message.post != null && message.hasOwnProperty("post")) {
object3.post = message.post;
if (options.oneofs)
object3.pattern = "post";
}
if (message["delete"] != null && message.hasOwnProperty("delete")) {
object3["delete"] = message["delete"];
if (options.oneofs)
object3.pattern = "delete";
}
if (message.patch != null && message.hasOwnProperty("patch")) {
object3.patch = message.patch;
if (options.oneofs)
object3.pattern = "patch";
}
if (message.body != null && message.hasOwnProperty("body"))
object3.body = message.body;
if (message.custom != null && message.hasOwnProperty("custom")) {
object3.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options);
if (options.oneofs)
object3.pattern = "custom";
}
if (message.additionalBindings && message.additionalBindings.length) {
object3.additionalBindings = [];
for (var j = 0; j < message.additionalBindings.length; ++j)
object3.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options);
}
if (message.responseBody != null && message.hasOwnProperty("responseBody"))
object3.responseBody = message.responseBody;
return object3;
};
HttpRule.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.HttpRule";
};
return HttpRule;
}();
api.CustomHttpPattern = function() {
function CustomHttpPattern(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CustomHttpPattern.prototype.kind = "";
CustomHttpPattern.prototype.path = "";
CustomHttpPattern.create = function create(properties) {
return new CustomHttpPattern(properties);
};
CustomHttpPattern.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.kind);
if (message.path != null && Object.hasOwnProperty.call(message, "path"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.path);
return writer;
};
CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CustomHttpPattern.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.kind = reader.string();
break;
}
case 2: {
message.path = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CustomHttpPattern.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.kind != null && message.hasOwnProperty("kind")) {
if (!$util.isString(message.kind))
return "kind: string expected";
}
if (message.path != null && message.hasOwnProperty("path")) {
if (!$util.isString(message.path))
return "path: string expected";
}
return null;
};
CustomHttpPattern.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.CustomHttpPattern)
return object3;
var message = new $root.google.api.CustomHttpPattern();
if (object3.kind != null)
message.kind = String(object3.kind);
if (object3.path != null)
message.path = String(object3.path);
return message;
};
CustomHttpPattern.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.kind = "";
object3.path = "";
}
if (message.kind != null && message.hasOwnProperty("kind"))
object3.kind = message.kind;
if (message.path != null && message.hasOwnProperty("path"))
object3.path = message.path;
return object3;
};
CustomHttpPattern.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.CustomHttpPattern";
};
return CustomHttpPattern;
}();
api.CommonLanguageSettings = function() {
function CommonLanguageSettings(properties) {
this.destinations = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CommonLanguageSettings.prototype.referenceDocsUri = "";
CommonLanguageSettings.prototype.destinations = $util.emptyArray;
CommonLanguageSettings.create = function create(properties) {
return new CommonLanguageSettings(properties);
};
CommonLanguageSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.referenceDocsUri != null && Object.hasOwnProperty.call(message, "referenceDocsUri"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.referenceDocsUri);
if (message.destinations != null && message.destinations.length) {
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork();
for (var i3 = 0; i3 < message.destinations.length; ++i3)
writer.int32(message.destinations[i3]);
writer.ldelim();
}
return writer;
};
CommonLanguageSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CommonLanguageSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.referenceDocsUri = reader.string();
break;
}
case 2: {
if (!(message.destinations && message.destinations.length))
message.destinations = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.destinations.push(reader.int32());
} else
message.destinations.push(reader.int32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CommonLanguageSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CommonLanguageSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) {
if (!$util.isString(message.referenceDocsUri))
return "referenceDocsUri: string expected";
}
if (message.destinations != null && message.hasOwnProperty("destinations")) {
if (!Array.isArray(message.destinations))
return "destinations: array expected";
for (var i3 = 0; i3 < message.destinations.length; ++i3)
switch (message.destinations[i3]) {
default:
return "destinations: enum value[] expected";
case 0:
case 10:
case 20:
break;
}
}
return null;
};
CommonLanguageSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.CommonLanguageSettings)
return object3;
var message = new $root.google.api.CommonLanguageSettings();
if (object3.referenceDocsUri != null)
message.referenceDocsUri = String(object3.referenceDocsUri);
if (object3.destinations) {
if (!Array.isArray(object3.destinations))
throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected");
message.destinations = [];
for (var i3 = 0; i3 < object3.destinations.length; ++i3)
switch (object3.destinations[i3]) {
default:
if (typeof object3.destinations[i3] === "number") {
message.destinations[i3] = object3.destinations[i3];
break;
}
case "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":
case 0:
message.destinations[i3] = 0;
break;
case "GITHUB":
case 10:
message.destinations[i3] = 10;
break;
case "PACKAGE_MANAGER":
case 20:
message.destinations[i3] = 20;
break;
}
}
return message;
};
CommonLanguageSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.destinations = [];
if (options.defaults)
object3.referenceDocsUri = "";
if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri"))
object3.referenceDocsUri = message.referenceDocsUri;
if (message.destinations && message.destinations.length) {
object3.destinations = [];
for (var j = 0; j < message.destinations.length; ++j)
object3.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === void 0 ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j];
}
return object3;
};
CommonLanguageSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CommonLanguageSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.CommonLanguageSettings";
};
return CommonLanguageSettings;
}();
api.ClientLibrarySettings = function() {
function ClientLibrarySettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ClientLibrarySettings.prototype.version = "";
ClientLibrarySettings.prototype.launchStage = 0;
ClientLibrarySettings.prototype.restNumericEnums = false;
ClientLibrarySettings.prototype.javaSettings = null;
ClientLibrarySettings.prototype.cppSettings = null;
ClientLibrarySettings.prototype.phpSettings = null;
ClientLibrarySettings.prototype.pythonSettings = null;
ClientLibrarySettings.prototype.nodeSettings = null;
ClientLibrarySettings.prototype.dotnetSettings = null;
ClientLibrarySettings.prototype.rubySettings = null;
ClientLibrarySettings.prototype.goSettings = null;
ClientLibrarySettings.create = function create(properties) {
return new ClientLibrarySettings(properties);
};
ClientLibrarySettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.version != null && Object.hasOwnProperty.call(message, "version"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.version);
if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.launchStage);
if (message.restNumericEnums != null && Object.hasOwnProperty.call(message, "restNumericEnums"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.restNumericEnums);
if (message.javaSettings != null && Object.hasOwnProperty.call(message, "javaSettings"))
$root.google.api.JavaSettings.encode(message.javaSettings, writer.uint32(
/* id 21, wireType 2 =*/
170
).fork()).ldelim();
if (message.cppSettings != null && Object.hasOwnProperty.call(message, "cppSettings"))
$root.google.api.CppSettings.encode(message.cppSettings, writer.uint32(
/* id 22, wireType 2 =*/
178
).fork()).ldelim();
if (message.phpSettings != null && Object.hasOwnProperty.call(message, "phpSettings"))
$root.google.api.PhpSettings.encode(message.phpSettings, writer.uint32(
/* id 23, wireType 2 =*/
186
).fork()).ldelim();
if (message.pythonSettings != null && Object.hasOwnProperty.call(message, "pythonSettings"))
$root.google.api.PythonSettings.encode(message.pythonSettings, writer.uint32(
/* id 24, wireType 2 =*/
194
).fork()).ldelim();
if (message.nodeSettings != null && Object.hasOwnProperty.call(message, "nodeSettings"))
$root.google.api.NodeSettings.encode(message.nodeSettings, writer.uint32(
/* id 25, wireType 2 =*/
202
).fork()).ldelim();
if (message.dotnetSettings != null && Object.hasOwnProperty.call(message, "dotnetSettings"))
$root.google.api.DotnetSettings.encode(message.dotnetSettings, writer.uint32(
/* id 26, wireType 2 =*/
210
).fork()).ldelim();
if (message.rubySettings != null && Object.hasOwnProperty.call(message, "rubySettings"))
$root.google.api.RubySettings.encode(message.rubySettings, writer.uint32(
/* id 27, wireType 2 =*/
218
).fork()).ldelim();
if (message.goSettings != null && Object.hasOwnProperty.call(message, "goSettings"))
$root.google.api.GoSettings.encode(message.goSettings, writer.uint32(
/* id 28, wireType 2 =*/
226
).fork()).ldelim();
return writer;
};
ClientLibrarySettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ClientLibrarySettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.version = reader.string();
break;
}
case 2: {
message.launchStage = reader.int32();
break;
}
case 3: {
message.restNumericEnums = reader.bool();
break;
}
case 21: {
message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32());
break;
}
case 22: {
message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32());
break;
}
case 23: {
message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32());
break;
}
case 24: {
message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32());
break;
}
case 25: {
message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32());
break;
}
case 26: {
message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32());
break;
}
case 27: {
message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32());
break;
}
case 28: {
message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ClientLibrarySettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ClientLibrarySettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.version != null && message.hasOwnProperty("version")) {
if (!$util.isString(message.version))
return "version: string expected";
}
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
switch (message.launchStage) {
default:
return "launchStage: enum value expected";
case 0:
case 6:
case 7:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums")) {
if (typeof message.restNumericEnums !== "boolean")
return "restNumericEnums: boolean expected";
}
if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) {
var error40 = $root.google.api.JavaSettings.verify(message.javaSettings);
if (error40)
return "javaSettings." + error40;
}
if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) {
var error40 = $root.google.api.CppSettings.verify(message.cppSettings);
if (error40)
return "cppSettings." + error40;
}
if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) {
var error40 = $root.google.api.PhpSettings.verify(message.phpSettings);
if (error40)
return "phpSettings." + error40;
}
if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) {
var error40 = $root.google.api.PythonSettings.verify(message.pythonSettings);
if (error40)
return "pythonSettings." + error40;
}
if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) {
var error40 = $root.google.api.NodeSettings.verify(message.nodeSettings);
if (error40)
return "nodeSettings." + error40;
}
if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) {
var error40 = $root.google.api.DotnetSettings.verify(message.dotnetSettings);
if (error40)
return "dotnetSettings." + error40;
}
if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) {
var error40 = $root.google.api.RubySettings.verify(message.rubySettings);
if (error40)
return "rubySettings." + error40;
}
if (message.goSettings != null && message.hasOwnProperty("goSettings")) {
var error40 = $root.google.api.GoSettings.verify(message.goSettings);
if (error40)
return "goSettings." + error40;
}
return null;
};
ClientLibrarySettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.ClientLibrarySettings)
return object3;
var message = new $root.google.api.ClientLibrarySettings();
if (object3.version != null)
message.version = String(object3.version);
switch (object3.launchStage) {
default:
if (typeof object3.launchStage === "number") {
message.launchStage = object3.launchStage;
break;
}
break;
case "LAUNCH_STAGE_UNSPECIFIED":
case 0:
message.launchStage = 0;
break;
case "UNIMPLEMENTED":
case 6:
message.launchStage = 6;
break;
case "PRELAUNCH":
case 7:
message.launchStage = 7;
break;
case "EARLY_ACCESS":
case 1:
message.launchStage = 1;
break;
case "ALPHA":
case 2:
message.launchStage = 2;
break;
case "BETA":
case 3:
message.launchStage = 3;
break;
case "GA":
case 4:
message.launchStage = 4;
break;
case "DEPRECATED":
case 5:
message.launchStage = 5;
break;
}
if (object3.restNumericEnums != null)
message.restNumericEnums = Boolean(object3.restNumericEnums);
if (object3.javaSettings != null) {
if (typeof object3.javaSettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected");
message.javaSettings = $root.google.api.JavaSettings.fromObject(object3.javaSettings);
}
if (object3.cppSettings != null) {
if (typeof object3.cppSettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected");
message.cppSettings = $root.google.api.CppSettings.fromObject(object3.cppSettings);
}
if (object3.phpSettings != null) {
if (typeof object3.phpSettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected");
message.phpSettings = $root.google.api.PhpSettings.fromObject(object3.phpSettings);
}
if (object3.pythonSettings != null) {
if (typeof object3.pythonSettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected");
message.pythonSettings = $root.google.api.PythonSettings.fromObject(object3.pythonSettings);
}
if (object3.nodeSettings != null) {
if (typeof object3.nodeSettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected");
message.nodeSettings = $root.google.api.NodeSettings.fromObject(object3.nodeSettings);
}
if (object3.dotnetSettings != null) {
if (typeof object3.dotnetSettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected");
message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object3.dotnetSettings);
}
if (object3.rubySettings != null) {
if (typeof object3.rubySettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected");
message.rubySettings = $root.google.api.RubySettings.fromObject(object3.rubySettings);
}
if (object3.goSettings != null) {
if (typeof object3.goSettings !== "object")
throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected");
message.goSettings = $root.google.api.GoSettings.fromObject(object3.goSettings);
}
return message;
};
ClientLibrarySettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.version = "";
object3.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0;
object3.restNumericEnums = false;
object3.javaSettings = null;
object3.cppSettings = null;
object3.phpSettings = null;
object3.pythonSettings = null;
object3.nodeSettings = null;
object3.dotnetSettings = null;
object3.rubySettings = null;
object3.goSettings = null;
}
if (message.version != null && message.hasOwnProperty("version"))
object3.version = message.version;
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
object3.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === void 0 ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage;
if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums"))
object3.restNumericEnums = message.restNumericEnums;
if (message.javaSettings != null && message.hasOwnProperty("javaSettings"))
object3.javaSettings = $root.google.api.JavaSettings.toObject(message.javaSettings, options);
if (message.cppSettings != null && message.hasOwnProperty("cppSettings"))
object3.cppSettings = $root.google.api.CppSettings.toObject(message.cppSettings, options);
if (message.phpSettings != null && message.hasOwnProperty("phpSettings"))
object3.phpSettings = $root.google.api.PhpSettings.toObject(message.phpSettings, options);
if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings"))
object3.pythonSettings = $root.google.api.PythonSettings.toObject(message.pythonSettings, options);
if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings"))
object3.nodeSettings = $root.google.api.NodeSettings.toObject(message.nodeSettings, options);
if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings"))
object3.dotnetSettings = $root.google.api.DotnetSettings.toObject(message.dotnetSettings, options);
if (message.rubySettings != null && message.hasOwnProperty("rubySettings"))
object3.rubySettings = $root.google.api.RubySettings.toObject(message.rubySettings, options);
if (message.goSettings != null && message.hasOwnProperty("goSettings"))
object3.goSettings = $root.google.api.GoSettings.toObject(message.goSettings, options);
return object3;
};
ClientLibrarySettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ClientLibrarySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.ClientLibrarySettings";
};
return ClientLibrarySettings;
}();
api.Publishing = function() {
function Publishing(properties) {
this.methodSettings = [];
this.codeownerGithubTeams = [];
this.librarySettings = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Publishing.prototype.methodSettings = $util.emptyArray;
Publishing.prototype.newIssueUri = "";
Publishing.prototype.documentationUri = "";
Publishing.prototype.apiShortName = "";
Publishing.prototype.githubLabel = "";
Publishing.prototype.codeownerGithubTeams = $util.emptyArray;
Publishing.prototype.docTagPrefix = "";
Publishing.prototype.organization = 0;
Publishing.prototype.librarySettings = $util.emptyArray;
Publishing.prototype.protoReferenceDocumentationUri = "";
Publishing.prototype.restReferenceDocumentationUri = "";
Publishing.create = function create(properties) {
return new Publishing(properties);
};
Publishing.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.methodSettings != null && message.methodSettings.length)
for (var i3 = 0; i3 < message.methodSettings.length; ++i3)
$root.google.api.MethodSettings.encode(message.methodSettings[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.newIssueUri != null && Object.hasOwnProperty.call(message, "newIssueUri"))
writer.uint32(
/* id 101, wireType 2 =*/
810
).string(message.newIssueUri);
if (message.documentationUri != null && Object.hasOwnProperty.call(message, "documentationUri"))
writer.uint32(
/* id 102, wireType 2 =*/
818
).string(message.documentationUri);
if (message.apiShortName != null && Object.hasOwnProperty.call(message, "apiShortName"))
writer.uint32(
/* id 103, wireType 2 =*/
826
).string(message.apiShortName);
if (message.githubLabel != null && Object.hasOwnProperty.call(message, "githubLabel"))
writer.uint32(
/* id 104, wireType 2 =*/
834
).string(message.githubLabel);
if (message.codeownerGithubTeams != null && message.codeownerGithubTeams.length)
for (var i3 = 0; i3 < message.codeownerGithubTeams.length; ++i3)
writer.uint32(
/* id 105, wireType 2 =*/
842
).string(message.codeownerGithubTeams[i3]);
if (message.docTagPrefix != null && Object.hasOwnProperty.call(message, "docTagPrefix"))
writer.uint32(
/* id 106, wireType 2 =*/
850
).string(message.docTagPrefix);
if (message.organization != null && Object.hasOwnProperty.call(message, "organization"))
writer.uint32(
/* id 107, wireType 0 =*/
856
).int32(message.organization);
if (message.librarySettings != null && message.librarySettings.length)
for (var i3 = 0; i3 < message.librarySettings.length; ++i3)
$root.google.api.ClientLibrarySettings.encode(message.librarySettings[i3], writer.uint32(
/* id 109, wireType 2 =*/
874
).fork()).ldelim();
if (message.protoReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "protoReferenceDocumentationUri"))
writer.uint32(
/* id 110, wireType 2 =*/
882
).string(message.protoReferenceDocumentationUri);
if (message.restReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "restReferenceDocumentationUri"))
writer.uint32(
/* id 111, wireType 2 =*/
890
).string(message.restReferenceDocumentationUri);
return writer;
};
Publishing.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Publishing.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Publishing();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 2: {
if (!(message.methodSettings && message.methodSettings.length))
message.methodSettings = [];
message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32()));
break;
}
case 101: {
message.newIssueUri = reader.string();
break;
}
case 102: {
message.documentationUri = reader.string();
break;
}
case 103: {
message.apiShortName = reader.string();
break;
}
case 104: {
message.githubLabel = reader.string();
break;
}
case 105: {
if (!(message.codeownerGithubTeams && message.codeownerGithubTeams.length))
message.codeownerGithubTeams = [];
message.codeownerGithubTeams.push(reader.string());
break;
}
case 106: {
message.docTagPrefix = reader.string();
break;
}
case 107: {
message.organization = reader.int32();
break;
}
case 109: {
if (!(message.librarySettings && message.librarySettings.length))
message.librarySettings = [];
message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32()));
break;
}
case 110: {
message.protoReferenceDocumentationUri = reader.string();
break;
}
case 111: {
message.restReferenceDocumentationUri = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Publishing.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Publishing.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) {
if (!Array.isArray(message.methodSettings))
return "methodSettings: array expected";
for (var i3 = 0; i3 < message.methodSettings.length; ++i3) {
var error40 = $root.google.api.MethodSettings.verify(message.methodSettings[i3]);
if (error40)
return "methodSettings." + error40;
}
}
if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri")) {
if (!$util.isString(message.newIssueUri))
return "newIssueUri: string expected";
}
if (message.documentationUri != null && message.hasOwnProperty("documentationUri")) {
if (!$util.isString(message.documentationUri))
return "documentationUri: string expected";
}
if (message.apiShortName != null && message.hasOwnProperty("apiShortName")) {
if (!$util.isString(message.apiShortName))
return "apiShortName: string expected";
}
if (message.githubLabel != null && message.hasOwnProperty("githubLabel")) {
if (!$util.isString(message.githubLabel))
return "githubLabel: string expected";
}
if (message.codeownerGithubTeams != null && message.hasOwnProperty("codeownerGithubTeams")) {
if (!Array.isArray(message.codeownerGithubTeams))
return "codeownerGithubTeams: array expected";
for (var i3 = 0; i3 < message.codeownerGithubTeams.length; ++i3)
if (!$util.isString(message.codeownerGithubTeams[i3]))
return "codeownerGithubTeams: string[] expected";
}
if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix")) {
if (!$util.isString(message.docTagPrefix))
return "docTagPrefix: string expected";
}
if (message.organization != null && message.hasOwnProperty("organization"))
switch (message.organization) {
default:
return "organization: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
break;
}
if (message.librarySettings != null && message.hasOwnProperty("librarySettings")) {
if (!Array.isArray(message.librarySettings))
return "librarySettings: array expected";
for (var i3 = 0; i3 < message.librarySettings.length; ++i3) {
var error40 = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i3]);
if (error40)
return "librarySettings." + error40;
}
}
if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri")) {
if (!$util.isString(message.protoReferenceDocumentationUri))
return "protoReferenceDocumentationUri: string expected";
}
if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri")) {
if (!$util.isString(message.restReferenceDocumentationUri))
return "restReferenceDocumentationUri: string expected";
}
return null;
};
Publishing.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Publishing)
return object3;
var message = new $root.google.api.Publishing();
if (object3.methodSettings) {
if (!Array.isArray(object3.methodSettings))
throw TypeError(".google.api.Publishing.methodSettings: array expected");
message.methodSettings = [];
for (var i3 = 0; i3 < object3.methodSettings.length; ++i3) {
if (typeof object3.methodSettings[i3] !== "object")
throw TypeError(".google.api.Publishing.methodSettings: object expected");
message.methodSettings[i3] = $root.google.api.MethodSettings.fromObject(object3.methodSettings[i3]);
}
}
if (object3.newIssueUri != null)
message.newIssueUri = String(object3.newIssueUri);
if (object3.documentationUri != null)
message.documentationUri = String(object3.documentationUri);
if (object3.apiShortName != null)
message.apiShortName = String(object3.apiShortName);
if (object3.githubLabel != null)
message.githubLabel = String(object3.githubLabel);
if (object3.codeownerGithubTeams) {
if (!Array.isArray(object3.codeownerGithubTeams))
throw TypeError(".google.api.Publishing.codeownerGithubTeams: array expected");
message.codeownerGithubTeams = [];
for (var i3 = 0; i3 < object3.codeownerGithubTeams.length; ++i3)
message.codeownerGithubTeams[i3] = String(object3.codeownerGithubTeams[i3]);
}
if (object3.docTagPrefix != null)
message.docTagPrefix = String(object3.docTagPrefix);
switch (object3.organization) {
default:
if (typeof object3.organization === "number") {
message.organization = object3.organization;
break;
}
break;
case "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":
case 0:
message.organization = 0;
break;
case "CLOUD":
case 1:
message.organization = 1;
break;
case "ADS":
case 2:
message.organization = 2;
break;
case "PHOTOS":
case 3:
message.organization = 3;
break;
case "STREET_VIEW":
case 4:
message.organization = 4;
break;
case "SHOPPING":
case 5:
message.organization = 5;
break;
case "GEO":
case 6:
message.organization = 6;
break;
case "GENERATIVE_AI":
case 7:
message.organization = 7;
break;
}
if (object3.librarySettings) {
if (!Array.isArray(object3.librarySettings))
throw TypeError(".google.api.Publishing.librarySettings: array expected");
message.librarySettings = [];
for (var i3 = 0; i3 < object3.librarySettings.length; ++i3) {
if (typeof object3.librarySettings[i3] !== "object")
throw TypeError(".google.api.Publishing.librarySettings: object expected");
message.librarySettings[i3] = $root.google.api.ClientLibrarySettings.fromObject(object3.librarySettings[i3]);
}
}
if (object3.protoReferenceDocumentationUri != null)
message.protoReferenceDocumentationUri = String(object3.protoReferenceDocumentationUri);
if (object3.restReferenceDocumentationUri != null)
message.restReferenceDocumentationUri = String(object3.restReferenceDocumentationUri);
return message;
};
Publishing.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.methodSettings = [];
object3.codeownerGithubTeams = [];
object3.librarySettings = [];
}
if (options.defaults) {
object3.newIssueUri = "";
object3.documentationUri = "";
object3.apiShortName = "";
object3.githubLabel = "";
object3.docTagPrefix = "";
object3.organization = options.enums === String ? "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" : 0;
object3.protoReferenceDocumentationUri = "";
object3.restReferenceDocumentationUri = "";
}
if (message.methodSettings && message.methodSettings.length) {
object3.methodSettings = [];
for (var j = 0; j < message.methodSettings.length; ++j)
object3.methodSettings[j] = $root.google.api.MethodSettings.toObject(message.methodSettings[j], options);
}
if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri"))
object3.newIssueUri = message.newIssueUri;
if (message.documentationUri != null && message.hasOwnProperty("documentationUri"))
object3.documentationUri = message.documentationUri;
if (message.apiShortName != null && message.hasOwnProperty("apiShortName"))
object3.apiShortName = message.apiShortName;
if (message.githubLabel != null && message.hasOwnProperty("githubLabel"))
object3.githubLabel = message.githubLabel;
if (message.codeownerGithubTeams && message.codeownerGithubTeams.length) {
object3.codeownerGithubTeams = [];
for (var j = 0; j < message.codeownerGithubTeams.length; ++j)
object3.codeownerGithubTeams[j] = message.codeownerGithubTeams[j];
}
if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix"))
object3.docTagPrefix = message.docTagPrefix;
if (message.organization != null && message.hasOwnProperty("organization"))
object3.organization = options.enums === String ? $root.google.api.ClientLibraryOrganization[message.organization] === void 0 ? message.organization : $root.google.api.ClientLibraryOrganization[message.organization] : message.organization;
if (message.librarySettings && message.librarySettings.length) {
object3.librarySettings = [];
for (var j = 0; j < message.librarySettings.length; ++j)
object3.librarySettings[j] = $root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j], options);
}
if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri"))
object3.protoReferenceDocumentationUri = message.protoReferenceDocumentationUri;
if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri"))
object3.restReferenceDocumentationUri = message.restReferenceDocumentationUri;
return object3;
};
Publishing.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Publishing.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Publishing";
};
return Publishing;
}();
api.JavaSettings = function() {
function JavaSettings(properties) {
this.serviceClassNames = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
JavaSettings.prototype.libraryPackage = "";
JavaSettings.prototype.serviceClassNames = $util.emptyObject;
JavaSettings.prototype.common = null;
JavaSettings.create = function create(properties) {
return new JavaSettings(properties);
};
JavaSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.libraryPackage != null && Object.hasOwnProperty.call(message, "libraryPackage"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.libraryPackage);
if (message.serviceClassNames != null && Object.hasOwnProperty.call(message, "serviceClassNames"))
for (var keys = Object.keys(message.serviceClassNames), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.serviceClassNames[keys[i3]]).ldelim();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
JavaSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
JavaSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.libraryPackage = reader.string();
break;
}
case 2: {
if (message.serviceClassNames === $util.emptyObject)
message.serviceClassNames = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.serviceClassNames[key] = value;
break;
}
case 3: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
JavaSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
JavaSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) {
if (!$util.isString(message.libraryPackage))
return "libraryPackage: string expected";
}
if (message.serviceClassNames != null && message.hasOwnProperty("serviceClassNames")) {
if (!$util.isObject(message.serviceClassNames))
return "serviceClassNames: object expected";
var key = Object.keys(message.serviceClassNames);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.serviceClassNames[key[i3]]))
return "serviceClassNames: string{k:string} expected";
}
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
return null;
};
JavaSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.JavaSettings)
return object3;
var message = new $root.google.api.JavaSettings();
if (object3.libraryPackage != null)
message.libraryPackage = String(object3.libraryPackage);
if (object3.serviceClassNames) {
if (typeof object3.serviceClassNames !== "object")
throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected");
message.serviceClassNames = {};
for (var keys = Object.keys(object3.serviceClassNames), i3 = 0; i3 < keys.length; ++i3)
message.serviceClassNames[keys[i3]] = String(object3.serviceClassNames[keys[i3]]);
}
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.JavaSettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
return message;
};
JavaSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.serviceClassNames = {};
if (options.defaults) {
object3.libraryPackage = "";
object3.common = null;
}
if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage"))
object3.libraryPackage = message.libraryPackage;
var keys2;
if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) {
object3.serviceClassNames = {};
for (var j = 0; j < keys2.length; ++j)
object3.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]];
}
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
return object3;
};
JavaSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
JavaSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.JavaSettings";
};
return JavaSettings;
}();
api.CppSettings = function() {
function CppSettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CppSettings.prototype.common = null;
CppSettings.create = function create(properties) {
return new CppSettings(properties);
};
CppSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
CppSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CppSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CppSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CppSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
return null;
};
CppSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.CppSettings)
return object3;
var message = new $root.google.api.CppSettings();
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.CppSettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
return message;
};
CppSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.common = null;
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
return object3;
};
CppSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CppSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.CppSettings";
};
return CppSettings;
}();
api.PhpSettings = function() {
function PhpSettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
PhpSettings.prototype.common = null;
PhpSettings.create = function create(properties) {
return new PhpSettings(properties);
};
PhpSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
PhpSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
PhpSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
PhpSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
PhpSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
return null;
};
PhpSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.PhpSettings)
return object3;
var message = new $root.google.api.PhpSettings();
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.PhpSettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
return message;
};
PhpSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.common = null;
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
return object3;
};
PhpSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
PhpSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.PhpSettings";
};
return PhpSettings;
}();
api.PythonSettings = function() {
function PythonSettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
PythonSettings.prototype.common = null;
PythonSettings.create = function create(properties) {
return new PythonSettings(properties);
};
PythonSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
PythonSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
PythonSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
PythonSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
PythonSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
return null;
};
PythonSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.PythonSettings)
return object3;
var message = new $root.google.api.PythonSettings();
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.PythonSettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
return message;
};
PythonSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.common = null;
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
return object3;
};
PythonSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
PythonSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.PythonSettings";
};
return PythonSettings;
}();
api.NodeSettings = function() {
function NodeSettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
NodeSettings.prototype.common = null;
NodeSettings.create = function create(properties) {
return new NodeSettings(properties);
};
NodeSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
NodeSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
NodeSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
NodeSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
NodeSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
return null;
};
NodeSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.NodeSettings)
return object3;
var message = new $root.google.api.NodeSettings();
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.NodeSettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
return message;
};
NodeSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.common = null;
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
return object3;
};
NodeSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
NodeSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.NodeSettings";
};
return NodeSettings;
}();
api.DotnetSettings = function() {
function DotnetSettings(properties) {
this.renamedServices = {};
this.renamedResources = {};
this.ignoredResources = [];
this.forcedNamespaceAliases = [];
this.handwrittenSignatures = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DotnetSettings.prototype.common = null;
DotnetSettings.prototype.renamedServices = $util.emptyObject;
DotnetSettings.prototype.renamedResources = $util.emptyObject;
DotnetSettings.prototype.ignoredResources = $util.emptyArray;
DotnetSettings.prototype.forcedNamespaceAliases = $util.emptyArray;
DotnetSettings.prototype.handwrittenSignatures = $util.emptyArray;
DotnetSettings.create = function create(properties) {
return new DotnetSettings(properties);
};
DotnetSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices"))
for (var keys = Object.keys(message.renamedServices), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.renamedServices[keys[i3]]).ldelim();
if (message.renamedResources != null && Object.hasOwnProperty.call(message, "renamedResources"))
for (var keys = Object.keys(message.renamedResources), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 3, wireType 2 =*/
26
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.renamedResources[keys[i3]]).ldelim();
if (message.ignoredResources != null && message.ignoredResources.length)
for (var i3 = 0; i3 < message.ignoredResources.length; ++i3)
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.ignoredResources[i3]);
if (message.forcedNamespaceAliases != null && message.forcedNamespaceAliases.length)
for (var i3 = 0; i3 < message.forcedNamespaceAliases.length; ++i3)
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.forcedNamespaceAliases[i3]);
if (message.handwrittenSignatures != null && message.handwrittenSignatures.length)
for (var i3 = 0; i3 < message.handwrittenSignatures.length; ++i3)
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.handwrittenSignatures[i3]);
return writer;
};
DotnetSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DotnetSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
case 2: {
if (message.renamedServices === $util.emptyObject)
message.renamedServices = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.renamedServices[key] = value;
break;
}
case 3: {
if (message.renamedResources === $util.emptyObject)
message.renamedResources = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.renamedResources[key] = value;
break;
}
case 4: {
if (!(message.ignoredResources && message.ignoredResources.length))
message.ignoredResources = [];
message.ignoredResources.push(reader.string());
break;
}
case 5: {
if (!(message.forcedNamespaceAliases && message.forcedNamespaceAliases.length))
message.forcedNamespaceAliases = [];
message.forcedNamespaceAliases.push(reader.string());
break;
}
case 6: {
if (!(message.handwrittenSignatures && message.handwrittenSignatures.length))
message.handwrittenSignatures = [];
message.handwrittenSignatures.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DotnetSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DotnetSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) {
if (!$util.isObject(message.renamedServices))
return "renamedServices: object expected";
var key = Object.keys(message.renamedServices);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.renamedServices[key[i3]]))
return "renamedServices: string{k:string} expected";
}
if (message.renamedResources != null && message.hasOwnProperty("renamedResources")) {
if (!$util.isObject(message.renamedResources))
return "renamedResources: object expected";
var key = Object.keys(message.renamedResources);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.renamedResources[key[i3]]))
return "renamedResources: string{k:string} expected";
}
if (message.ignoredResources != null && message.hasOwnProperty("ignoredResources")) {
if (!Array.isArray(message.ignoredResources))
return "ignoredResources: array expected";
for (var i3 = 0; i3 < message.ignoredResources.length; ++i3)
if (!$util.isString(message.ignoredResources[i3]))
return "ignoredResources: string[] expected";
}
if (message.forcedNamespaceAliases != null && message.hasOwnProperty("forcedNamespaceAliases")) {
if (!Array.isArray(message.forcedNamespaceAliases))
return "forcedNamespaceAliases: array expected";
for (var i3 = 0; i3 < message.forcedNamespaceAliases.length; ++i3)
if (!$util.isString(message.forcedNamespaceAliases[i3]))
return "forcedNamespaceAliases: string[] expected";
}
if (message.handwrittenSignatures != null && message.hasOwnProperty("handwrittenSignatures")) {
if (!Array.isArray(message.handwrittenSignatures))
return "handwrittenSignatures: array expected";
for (var i3 = 0; i3 < message.handwrittenSignatures.length; ++i3)
if (!$util.isString(message.handwrittenSignatures[i3]))
return "handwrittenSignatures: string[] expected";
}
return null;
};
DotnetSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.DotnetSettings)
return object3;
var message = new $root.google.api.DotnetSettings();
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.DotnetSettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
if (object3.renamedServices) {
if (typeof object3.renamedServices !== "object")
throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");
message.renamedServices = {};
for (var keys = Object.keys(object3.renamedServices), i3 = 0; i3 < keys.length; ++i3)
message.renamedServices[keys[i3]] = String(object3.renamedServices[keys[i3]]);
}
if (object3.renamedResources) {
if (typeof object3.renamedResources !== "object")
throw TypeError(".google.api.DotnetSettings.renamedResources: object expected");
message.renamedResources = {};
for (var keys = Object.keys(object3.renamedResources), i3 = 0; i3 < keys.length; ++i3)
message.renamedResources[keys[i3]] = String(object3.renamedResources[keys[i3]]);
}
if (object3.ignoredResources) {
if (!Array.isArray(object3.ignoredResources))
throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected");
message.ignoredResources = [];
for (var i3 = 0; i3 < object3.ignoredResources.length; ++i3)
message.ignoredResources[i3] = String(object3.ignoredResources[i3]);
}
if (object3.forcedNamespaceAliases) {
if (!Array.isArray(object3.forcedNamespaceAliases))
throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected");
message.forcedNamespaceAliases = [];
for (var i3 = 0; i3 < object3.forcedNamespaceAliases.length; ++i3)
message.forcedNamespaceAliases[i3] = String(object3.forcedNamespaceAliases[i3]);
}
if (object3.handwrittenSignatures) {
if (!Array.isArray(object3.handwrittenSignatures))
throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected");
message.handwrittenSignatures = [];
for (var i3 = 0; i3 < object3.handwrittenSignatures.length; ++i3)
message.handwrittenSignatures[i3] = String(object3.handwrittenSignatures[i3]);
}
return message;
};
DotnetSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.ignoredResources = [];
object3.forcedNamespaceAliases = [];
object3.handwrittenSignatures = [];
}
if (options.objects || options.defaults) {
object3.renamedServices = {};
object3.renamedResources = {};
}
if (options.defaults)
object3.common = null;
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
var keys2;
if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) {
object3.renamedServices = {};
for (var j = 0; j < keys2.length; ++j)
object3.renamedServices[keys2[j]] = message.renamedServices[keys2[j]];
}
if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) {
object3.renamedResources = {};
for (var j = 0; j < keys2.length; ++j)
object3.renamedResources[keys2[j]] = message.renamedResources[keys2[j]];
}
if (message.ignoredResources && message.ignoredResources.length) {
object3.ignoredResources = [];
for (var j = 0; j < message.ignoredResources.length; ++j)
object3.ignoredResources[j] = message.ignoredResources[j];
}
if (message.forcedNamespaceAliases && message.forcedNamespaceAliases.length) {
object3.forcedNamespaceAliases = [];
for (var j = 0; j < message.forcedNamespaceAliases.length; ++j)
object3.forcedNamespaceAliases[j] = message.forcedNamespaceAliases[j];
}
if (message.handwrittenSignatures && message.handwrittenSignatures.length) {
object3.handwrittenSignatures = [];
for (var j = 0; j < message.handwrittenSignatures.length; ++j)
object3.handwrittenSignatures[j] = message.handwrittenSignatures[j];
}
return object3;
};
DotnetSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DotnetSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.DotnetSettings";
};
return DotnetSettings;
}();
api.RubySettings = function() {
function RubySettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
RubySettings.prototype.common = null;
RubySettings.create = function create(properties) {
return new RubySettings(properties);
};
RubySettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
RubySettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
RubySettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
RubySettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
RubySettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
return null;
};
RubySettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.RubySettings)
return object3;
var message = new $root.google.api.RubySettings();
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.RubySettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
return message;
};
RubySettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.common = null;
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
return object3;
};
RubySettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
RubySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.RubySettings";
};
return RubySettings;
}();
api.GoSettings = function() {
function GoSettings(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GoSettings.prototype.common = null;
GoSettings.create = function create(properties) {
return new GoSettings(properties);
};
GoSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.common != null && Object.hasOwnProperty.call(message, "common"))
$root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
return writer;
};
GoSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GoSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GoSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GoSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.common != null && message.hasOwnProperty("common")) {
var error40 = $root.google.api.CommonLanguageSettings.verify(message.common);
if (error40)
return "common." + error40;
}
return null;
};
GoSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.GoSettings)
return object3;
var message = new $root.google.api.GoSettings();
if (object3.common != null) {
if (typeof object3.common !== "object")
throw TypeError(".google.api.GoSettings.common: object expected");
message.common = $root.google.api.CommonLanguageSettings.fromObject(object3.common);
}
return message;
};
GoSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.common = null;
if (message.common != null && message.hasOwnProperty("common"))
object3.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
return object3;
};
GoSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GoSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.GoSettings";
};
return GoSettings;
}();
api.MethodSettings = function() {
function MethodSettings(properties) {
this.autoPopulatedFields = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MethodSettings.prototype.selector = "";
MethodSettings.prototype.longRunning = null;
MethodSettings.prototype.autoPopulatedFields = $util.emptyArray;
MethodSettings.create = function create(properties) {
return new MethodSettings(properties);
};
MethodSettings.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.selector != null && Object.hasOwnProperty.call(message, "selector"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.selector);
if (message.longRunning != null && Object.hasOwnProperty.call(message, "longRunning"))
$root.google.api.MethodSettings.LongRunning.encode(message.longRunning, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.autoPopulatedFields != null && message.autoPopulatedFields.length)
for (var i3 = 0; i3 < message.autoPopulatedFields.length; ++i3)
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.autoPopulatedFields[i3]);
return writer;
};
MethodSettings.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MethodSettings.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.selector = reader.string();
break;
}
case 2: {
message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32());
break;
}
case 3: {
if (!(message.autoPopulatedFields && message.autoPopulatedFields.length))
message.autoPopulatedFields = [];
message.autoPopulatedFields.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MethodSettings.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MethodSettings.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.selector != null && message.hasOwnProperty("selector")) {
if (!$util.isString(message.selector))
return "selector: string expected";
}
if (message.longRunning != null && message.hasOwnProperty("longRunning")) {
var error40 = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning);
if (error40)
return "longRunning." + error40;
}
if (message.autoPopulatedFields != null && message.hasOwnProperty("autoPopulatedFields")) {
if (!Array.isArray(message.autoPopulatedFields))
return "autoPopulatedFields: array expected";
for (var i3 = 0; i3 < message.autoPopulatedFields.length; ++i3)
if (!$util.isString(message.autoPopulatedFields[i3]))
return "autoPopulatedFields: string[] expected";
}
return null;
};
MethodSettings.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.MethodSettings)
return object3;
var message = new $root.google.api.MethodSettings();
if (object3.selector != null)
message.selector = String(object3.selector);
if (object3.longRunning != null) {
if (typeof object3.longRunning !== "object")
throw TypeError(".google.api.MethodSettings.longRunning: object expected");
message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object3.longRunning);
}
if (object3.autoPopulatedFields) {
if (!Array.isArray(object3.autoPopulatedFields))
throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected");
message.autoPopulatedFields = [];
for (var i3 = 0; i3 < object3.autoPopulatedFields.length; ++i3)
message.autoPopulatedFields[i3] = String(object3.autoPopulatedFields[i3]);
}
return message;
};
MethodSettings.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.autoPopulatedFields = [];
if (options.defaults) {
object3.selector = "";
object3.longRunning = null;
}
if (message.selector != null && message.hasOwnProperty("selector"))
object3.selector = message.selector;
if (message.longRunning != null && message.hasOwnProperty("longRunning"))
object3.longRunning = $root.google.api.MethodSettings.LongRunning.toObject(message.longRunning, options);
if (message.autoPopulatedFields && message.autoPopulatedFields.length) {
object3.autoPopulatedFields = [];
for (var j = 0; j < message.autoPopulatedFields.length; ++j)
object3.autoPopulatedFields[j] = message.autoPopulatedFields[j];
}
return object3;
};
MethodSettings.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MethodSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.MethodSettings";
};
MethodSettings.LongRunning = function() {
function LongRunning(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
LongRunning.prototype.initialPollDelay = null;
LongRunning.prototype.pollDelayMultiplier = 0;
LongRunning.prototype.maxPollDelay = null;
LongRunning.prototype.totalPollTimeout = null;
LongRunning.create = function create(properties) {
return new LongRunning(properties);
};
LongRunning.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.initialPollDelay != null && Object.hasOwnProperty.call(message, "initialPollDelay"))
$root.google.protobuf.Duration.encode(message.initialPollDelay, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.pollDelayMultiplier != null && Object.hasOwnProperty.call(message, "pollDelayMultiplier"))
writer.uint32(
/* id 2, wireType 5 =*/
21
).float(message.pollDelayMultiplier);
if (message.maxPollDelay != null && Object.hasOwnProperty.call(message, "maxPollDelay"))
$root.google.protobuf.Duration.encode(message.maxPollDelay, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
if (message.totalPollTimeout != null && Object.hasOwnProperty.call(message, "totalPollTimeout"))
$root.google.protobuf.Duration.encode(message.totalPollTimeout, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
return writer;
};
LongRunning.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
LongRunning.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
case 2: {
message.pollDelayMultiplier = reader.float();
break;
}
case 3: {
message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
case 4: {
message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
LongRunning.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
LongRunning.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) {
var error40 = $root.google.protobuf.Duration.verify(message.initialPollDelay);
if (error40)
return "initialPollDelay." + error40;
}
if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier")) {
if (typeof message.pollDelayMultiplier !== "number")
return "pollDelayMultiplier: number expected";
}
if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) {
var error40 = $root.google.protobuf.Duration.verify(message.maxPollDelay);
if (error40)
return "maxPollDelay." + error40;
}
if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) {
var error40 = $root.google.protobuf.Duration.verify(message.totalPollTimeout);
if (error40)
return "totalPollTimeout." + error40;
}
return null;
};
LongRunning.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.MethodSettings.LongRunning)
return object3;
var message = new $root.google.api.MethodSettings.LongRunning();
if (object3.initialPollDelay != null) {
if (typeof object3.initialPollDelay !== "object")
throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected");
message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object3.initialPollDelay);
}
if (object3.pollDelayMultiplier != null)
message.pollDelayMultiplier = Number(object3.pollDelayMultiplier);
if (object3.maxPollDelay != null) {
if (typeof object3.maxPollDelay !== "object")
throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected");
message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object3.maxPollDelay);
}
if (object3.totalPollTimeout != null) {
if (typeof object3.totalPollTimeout !== "object")
throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected");
message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object3.totalPollTimeout);
}
return message;
};
LongRunning.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.initialPollDelay = null;
object3.pollDelayMultiplier = 0;
object3.maxPollDelay = null;
object3.totalPollTimeout = null;
}
if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay"))
object3.initialPollDelay = $root.google.protobuf.Duration.toObject(message.initialPollDelay, options);
if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier"))
object3.pollDelayMultiplier = options.json && !isFinite(message.pollDelayMultiplier) ? String(message.pollDelayMultiplier) : message.pollDelayMultiplier;
if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay"))
object3.maxPollDelay = $root.google.protobuf.Duration.toObject(message.maxPollDelay, options);
if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout"))
object3.totalPollTimeout = $root.google.protobuf.Duration.toObject(message.totalPollTimeout, options);
return object3;
};
LongRunning.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
LongRunning.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.MethodSettings.LongRunning";
};
return LongRunning;
}();
return MethodSettings;
}();
api.ClientLibraryOrganization = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED"] = 0;
values[valuesById[1] = "CLOUD"] = 1;
values[valuesById[2] = "ADS"] = 2;
values[valuesById[3] = "PHOTOS"] = 3;
values[valuesById[4] = "STREET_VIEW"] = 4;
values[valuesById[5] = "SHOPPING"] = 5;
values[valuesById[6] = "GEO"] = 6;
values[valuesById[7] = "GENERATIVE_AI"] = 7;
return values;
}();
api.ClientLibraryDestination = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED"] = 0;
values[valuesById[10] = "GITHUB"] = 10;
values[valuesById[20] = "PACKAGE_MANAGER"] = 20;
return values;
}();
api.Distribution = function() {
function Distribution(properties) {
this.bucketCounts = [];
this.exemplars = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Distribution.prototype.count = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
Distribution.prototype.mean = 0;
Distribution.prototype.sumOfSquaredDeviation = 0;
Distribution.prototype.range = null;
Distribution.prototype.bucketOptions = null;
Distribution.prototype.bucketCounts = $util.emptyArray;
Distribution.prototype.exemplars = $util.emptyArray;
Distribution.create = function create(properties) {
return new Distribution(properties);
};
Distribution.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.count != null && Object.hasOwnProperty.call(message, "count"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int64(message.count);
if (message.mean != null && Object.hasOwnProperty.call(message, "mean"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).double(message.mean);
if (message.sumOfSquaredDeviation != null && Object.hasOwnProperty.call(message, "sumOfSquaredDeviation"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).double(message.sumOfSquaredDeviation);
if (message.range != null && Object.hasOwnProperty.call(message, "range"))
$root.google.api.Distribution.Range.encode(message.range, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.bucketOptions != null && Object.hasOwnProperty.call(message, "bucketOptions"))
$root.google.api.Distribution.BucketOptions.encode(message.bucketOptions, writer.uint32(
/* id 6, wireType 2 =*/
50
).fork()).ldelim();
if (message.bucketCounts != null && message.bucketCounts.length) {
writer.uint32(
/* id 7, wireType 2 =*/
58
).fork();
for (var i3 = 0; i3 < message.bucketCounts.length; ++i3)
writer.int64(message.bucketCounts[i3]);
writer.ldelim();
}
if (message.exemplars != null && message.exemplars.length)
for (var i3 = 0; i3 < message.exemplars.length; ++i3)
$root.google.api.Distribution.Exemplar.encode(message.exemplars[i3], writer.uint32(
/* id 10, wireType 2 =*/
82
).fork()).ldelim();
return writer;
};
Distribution.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Distribution.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Distribution();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.count = reader.int64();
break;
}
case 2: {
message.mean = reader.double();
break;
}
case 3: {
message.sumOfSquaredDeviation = reader.double();
break;
}
case 4: {
message.range = $root.google.api.Distribution.Range.decode(reader, reader.uint32());
break;
}
case 6: {
message.bucketOptions = $root.google.api.Distribution.BucketOptions.decode(reader, reader.uint32());
break;
}
case 7: {
if (!(message.bucketCounts && message.bucketCounts.length))
message.bucketCounts = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.bucketCounts.push(reader.int64());
} else
message.bucketCounts.push(reader.int64());
break;
}
case 10: {
if (!(message.exemplars && message.exemplars.length))
message.exemplars = [];
message.exemplars.push($root.google.api.Distribution.Exemplar.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Distribution.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Distribution.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.count != null && message.hasOwnProperty("count")) {
if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high)))
return "count: integer|Long expected";
}
if (message.mean != null && message.hasOwnProperty("mean")) {
if (typeof message.mean !== "number")
return "mean: number expected";
}
if (message.sumOfSquaredDeviation != null && message.hasOwnProperty("sumOfSquaredDeviation")) {
if (typeof message.sumOfSquaredDeviation !== "number")
return "sumOfSquaredDeviation: number expected";
}
if (message.range != null && message.hasOwnProperty("range")) {
var error40 = $root.google.api.Distribution.Range.verify(message.range);
if (error40)
return "range." + error40;
}
if (message.bucketOptions != null && message.hasOwnProperty("bucketOptions")) {
var error40 = $root.google.api.Distribution.BucketOptions.verify(message.bucketOptions);
if (error40)
return "bucketOptions." + error40;
}
if (message.bucketCounts != null && message.hasOwnProperty("bucketCounts")) {
if (!Array.isArray(message.bucketCounts))
return "bucketCounts: array expected";
for (var i3 = 0; i3 < message.bucketCounts.length; ++i3)
if (!$util.isInteger(message.bucketCounts[i3]) && !(message.bucketCounts[i3] && $util.isInteger(message.bucketCounts[i3].low) && $util.isInteger(message.bucketCounts[i3].high)))
return "bucketCounts: integer|Long[] expected";
}
if (message.exemplars != null && message.hasOwnProperty("exemplars")) {
if (!Array.isArray(message.exemplars))
return "exemplars: array expected";
for (var i3 = 0; i3 < message.exemplars.length; ++i3) {
var error40 = $root.google.api.Distribution.Exemplar.verify(message.exemplars[i3]);
if (error40)
return "exemplars." + error40;
}
}
return null;
};
Distribution.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Distribution)
return object3;
var message = new $root.google.api.Distribution();
if (object3.count != null) {
if ($util.Long)
(message.count = $util.Long.fromValue(object3.count)).unsigned = false;
else if (typeof object3.count === "string")
message.count = parseInt(object3.count, 10);
else if (typeof object3.count === "number")
message.count = object3.count;
else if (typeof object3.count === "object")
message.count = new $util.LongBits(object3.count.low >>> 0, object3.count.high >>> 0).toNumber();
}
if (object3.mean != null)
message.mean = Number(object3.mean);
if (object3.sumOfSquaredDeviation != null)
message.sumOfSquaredDeviation = Number(object3.sumOfSquaredDeviation);
if (object3.range != null) {
if (typeof object3.range !== "object")
throw TypeError(".google.api.Distribution.range: object expected");
message.range = $root.google.api.Distribution.Range.fromObject(object3.range);
}
if (object3.bucketOptions != null) {
if (typeof object3.bucketOptions !== "object")
throw TypeError(".google.api.Distribution.bucketOptions: object expected");
message.bucketOptions = $root.google.api.Distribution.BucketOptions.fromObject(object3.bucketOptions);
}
if (object3.bucketCounts) {
if (!Array.isArray(object3.bucketCounts))
throw TypeError(".google.api.Distribution.bucketCounts: array expected");
message.bucketCounts = [];
for (var i3 = 0; i3 < object3.bucketCounts.length; ++i3)
if ($util.Long)
(message.bucketCounts[i3] = $util.Long.fromValue(object3.bucketCounts[i3])).unsigned = false;
else if (typeof object3.bucketCounts[i3] === "string")
message.bucketCounts[i3] = parseInt(object3.bucketCounts[i3], 10);
else if (typeof object3.bucketCounts[i3] === "number")
message.bucketCounts[i3] = object3.bucketCounts[i3];
else if (typeof object3.bucketCounts[i3] === "object")
message.bucketCounts[i3] = new $util.LongBits(object3.bucketCounts[i3].low >>> 0, object3.bucketCounts[i3].high >>> 0).toNumber();
}
if (object3.exemplars) {
if (!Array.isArray(object3.exemplars))
throw TypeError(".google.api.Distribution.exemplars: array expected");
message.exemplars = [];
for (var i3 = 0; i3 < object3.exemplars.length; ++i3) {
if (typeof object3.exemplars[i3] !== "object")
throw TypeError(".google.api.Distribution.exemplars: object expected");
message.exemplars[i3] = $root.google.api.Distribution.Exemplar.fromObject(object3.exemplars[i3]);
}
}
return message;
};
Distribution.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.bucketCounts = [];
object3.exemplars = [];
}
if (options.defaults) {
if ($util.Long) {
var long = new $util.Long(0, 0, false);
object3.count = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
} else
object3.count = options.longs === String ? "0" : 0;
object3.mean = 0;
object3.sumOfSquaredDeviation = 0;
object3.range = null;
object3.bucketOptions = null;
}
if (message.count != null && message.hasOwnProperty("count"))
if (typeof message.count === "number")
object3.count = options.longs === String ? String(message.count) : message.count;
else
object3.count = options.longs === String ? $util.Long.prototype.toString.call(message.count) : options.longs === Number ? new $util.LongBits(message.count.low >>> 0, message.count.high >>> 0).toNumber() : message.count;
if (message.mean != null && message.hasOwnProperty("mean"))
object3.mean = options.json && !isFinite(message.mean) ? String(message.mean) : message.mean;
if (message.sumOfSquaredDeviation != null && message.hasOwnProperty("sumOfSquaredDeviation"))
object3.sumOfSquaredDeviation = options.json && !isFinite(message.sumOfSquaredDeviation) ? String(message.sumOfSquaredDeviation) : message.sumOfSquaredDeviation;
if (message.range != null && message.hasOwnProperty("range"))
object3.range = $root.google.api.Distribution.Range.toObject(message.range, options);
if (message.bucketOptions != null && message.hasOwnProperty("bucketOptions"))
object3.bucketOptions = $root.google.api.Distribution.BucketOptions.toObject(message.bucketOptions, options);
if (message.bucketCounts && message.bucketCounts.length) {
object3.bucketCounts = [];
for (var j = 0; j < message.bucketCounts.length; ++j)
if (typeof message.bucketCounts[j] === "number")
object3.bucketCounts[j] = options.longs === String ? String(message.bucketCounts[j]) : message.bucketCounts[j];
else
object3.bucketCounts[j] = options.longs === String ? $util.Long.prototype.toString.call(message.bucketCounts[j]) : options.longs === Number ? new $util.LongBits(message.bucketCounts[j].low >>> 0, message.bucketCounts[j].high >>> 0).toNumber() : message.bucketCounts[j];
}
if (message.exemplars && message.exemplars.length) {
object3.exemplars = [];
for (var j = 0; j < message.exemplars.length; ++j)
object3.exemplars[j] = $root.google.api.Distribution.Exemplar.toObject(message.exemplars[j], options);
}
return object3;
};
Distribution.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Distribution.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Distribution";
};
Distribution.Range = function() {
function Range(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Range.prototype.min = 0;
Range.prototype.max = 0;
Range.create = function create(properties) {
return new Range(properties);
};
Range.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.min != null && Object.hasOwnProperty.call(message, "min"))
writer.uint32(
/* id 1, wireType 1 =*/
9
).double(message.min);
if (message.max != null && Object.hasOwnProperty.call(message, "max"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).double(message.max);
return writer;
};
Range.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Range.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Distribution.Range();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.min = reader.double();
break;
}
case 2: {
message.max = reader.double();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Range.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Range.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.min != null && message.hasOwnProperty("min")) {
if (typeof message.min !== "number")
return "min: number expected";
}
if (message.max != null && message.hasOwnProperty("max")) {
if (typeof message.max !== "number")
return "max: number expected";
}
return null;
};
Range.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Distribution.Range)
return object3;
var message = new $root.google.api.Distribution.Range();
if (object3.min != null)
message.min = Number(object3.min);
if (object3.max != null)
message.max = Number(object3.max);
return message;
};
Range.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.min = 0;
object3.max = 0;
}
if (message.min != null && message.hasOwnProperty("min"))
object3.min = options.json && !isFinite(message.min) ? String(message.min) : message.min;
if (message.max != null && message.hasOwnProperty("max"))
object3.max = options.json && !isFinite(message.max) ? String(message.max) : message.max;
return object3;
};
Range.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Range.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Distribution.Range";
};
return Range;
}();
Distribution.BucketOptions = function() {
function BucketOptions(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
BucketOptions.prototype.linearBuckets = null;
BucketOptions.prototype.exponentialBuckets = null;
BucketOptions.prototype.explicitBuckets = null;
var $oneOfFields;
Object.defineProperty(BucketOptions.prototype, "options", {
get: $util.oneOfGetter($oneOfFields = ["linearBuckets", "exponentialBuckets", "explicitBuckets"]),
set: $util.oneOfSetter($oneOfFields)
});
BucketOptions.create = function create(properties) {
return new BucketOptions(properties);
};
BucketOptions.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.linearBuckets != null && Object.hasOwnProperty.call(message, "linearBuckets"))
$root.google.api.Distribution.BucketOptions.Linear.encode(message.linearBuckets, writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.exponentialBuckets != null && Object.hasOwnProperty.call(message, "exponentialBuckets"))
$root.google.api.Distribution.BucketOptions.Exponential.encode(message.exponentialBuckets, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.explicitBuckets != null && Object.hasOwnProperty.call(message, "explicitBuckets"))
$root.google.api.Distribution.BucketOptions.Explicit.encode(message.explicitBuckets, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
BucketOptions.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
BucketOptions.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Distribution.BucketOptions();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.linearBuckets = $root.google.api.Distribution.BucketOptions.Linear.decode(reader, reader.uint32());
break;
}
case 2: {
message.exponentialBuckets = $root.google.api.Distribution.BucketOptions.Exponential.decode(reader, reader.uint32());
break;
}
case 3: {
message.explicitBuckets = $root.google.api.Distribution.BucketOptions.Explicit.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
BucketOptions.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
BucketOptions.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.linearBuckets != null && message.hasOwnProperty("linearBuckets")) {
properties.options = 1;
{
var error40 = $root.google.api.Distribution.BucketOptions.Linear.verify(message.linearBuckets);
if (error40)
return "linearBuckets." + error40;
}
}
if (message.exponentialBuckets != null && message.hasOwnProperty("exponentialBuckets")) {
if (properties.options === 1)
return "options: multiple values";
properties.options = 1;
{
var error40 = $root.google.api.Distribution.BucketOptions.Exponential.verify(message.exponentialBuckets);
if (error40)
return "exponentialBuckets." + error40;
}
}
if (message.explicitBuckets != null && message.hasOwnProperty("explicitBuckets")) {
if (properties.options === 1)
return "options: multiple values";
properties.options = 1;
{
var error40 = $root.google.api.Distribution.BucketOptions.Explicit.verify(message.explicitBuckets);
if (error40)
return "explicitBuckets." + error40;
}
}
return null;
};
BucketOptions.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Distribution.BucketOptions)
return object3;
var message = new $root.google.api.Distribution.BucketOptions();
if (object3.linearBuckets != null) {
if (typeof object3.linearBuckets !== "object")
throw TypeError(".google.api.Distribution.BucketOptions.linearBuckets: object expected");
message.linearBuckets = $root.google.api.Distribution.BucketOptions.Linear.fromObject(object3.linearBuckets);
}
if (object3.exponentialBuckets != null) {
if (typeof object3.exponentialBuckets !== "object")
throw TypeError(".google.api.Distribution.BucketOptions.exponentialBuckets: object expected");
message.exponentialBuckets = $root.google.api.Distribution.BucketOptions.Exponential.fromObject(object3.exponentialBuckets);
}
if (object3.explicitBuckets != null) {
if (typeof object3.explicitBuckets !== "object")
throw TypeError(".google.api.Distribution.BucketOptions.explicitBuckets: object expected");
message.explicitBuckets = $root.google.api.Distribution.BucketOptions.Explicit.fromObject(object3.explicitBuckets);
}
return message;
};
BucketOptions.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (message.linearBuckets != null && message.hasOwnProperty("linearBuckets")) {
object3.linearBuckets = $root.google.api.Distribution.BucketOptions.Linear.toObject(message.linearBuckets, options);
if (options.oneofs)
object3.options = "linearBuckets";
}
if (message.exponentialBuckets != null && message.hasOwnProperty("exponentialBuckets")) {
object3.exponentialBuckets = $root.google.api.Distribution.BucketOptions.Exponential.toObject(message.exponentialBuckets, options);
if (options.oneofs)
object3.options = "exponentialBuckets";
}
if (message.explicitBuckets != null && message.hasOwnProperty("explicitBuckets")) {
object3.explicitBuckets = $root.google.api.Distribution.BucketOptions.Explicit.toObject(message.explicitBuckets, options);
if (options.oneofs)
object3.options = "explicitBuckets";
}
return object3;
};
BucketOptions.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
BucketOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Distribution.BucketOptions";
};
BucketOptions.Linear = function() {
function Linear(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Linear.prototype.numFiniteBuckets = 0;
Linear.prototype.width = 0;
Linear.prototype.offset = 0;
Linear.create = function create(properties) {
return new Linear(properties);
};
Linear.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.numFiniteBuckets != null && Object.hasOwnProperty.call(message, "numFiniteBuckets"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.numFiniteBuckets);
if (message.width != null && Object.hasOwnProperty.call(message, "width"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).double(message.width);
if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).double(message.offset);
return writer;
};
Linear.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Linear.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Distribution.BucketOptions.Linear();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.numFiniteBuckets = reader.int32();
break;
}
case 2: {
message.width = reader.double();
break;
}
case 3: {
message.offset = reader.double();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Linear.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Linear.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.numFiniteBuckets != null && message.hasOwnProperty("numFiniteBuckets")) {
if (!$util.isInteger(message.numFiniteBuckets))
return "numFiniteBuckets: integer expected";
}
if (message.width != null && message.hasOwnProperty("width")) {
if (typeof message.width !== "number")
return "width: number expected";
}
if (message.offset != null && message.hasOwnProperty("offset")) {
if (typeof message.offset !== "number")
return "offset: number expected";
}
return null;
};
Linear.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Distribution.BucketOptions.Linear)
return object3;
var message = new $root.google.api.Distribution.BucketOptions.Linear();
if (object3.numFiniteBuckets != null)
message.numFiniteBuckets = object3.numFiniteBuckets | 0;
if (object3.width != null)
message.width = Number(object3.width);
if (object3.offset != null)
message.offset = Number(object3.offset);
return message;
};
Linear.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.numFiniteBuckets = 0;
object3.width = 0;
object3.offset = 0;
}
if (message.numFiniteBuckets != null && message.hasOwnProperty("numFiniteBuckets"))
object3.numFiniteBuckets = message.numFiniteBuckets;
if (message.width != null && message.hasOwnProperty("width"))
object3.width = options.json && !isFinite(message.width) ? String(message.width) : message.width;
if (message.offset != null && message.hasOwnProperty("offset"))
object3.offset = options.json && !isFinite(message.offset) ? String(message.offset) : message.offset;
return object3;
};
Linear.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Linear.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Distribution.BucketOptions.Linear";
};
return Linear;
}();
BucketOptions.Exponential = function() {
function Exponential(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Exponential.prototype.numFiniteBuckets = 0;
Exponential.prototype.growthFactor = 0;
Exponential.prototype.scale = 0;
Exponential.create = function create(properties) {
return new Exponential(properties);
};
Exponential.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.numFiniteBuckets != null && Object.hasOwnProperty.call(message, "numFiniteBuckets"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.numFiniteBuckets);
if (message.growthFactor != null && Object.hasOwnProperty.call(message, "growthFactor"))
writer.uint32(
/* id 2, wireType 1 =*/
17
).double(message.growthFactor);
if (message.scale != null && Object.hasOwnProperty.call(message, "scale"))
writer.uint32(
/* id 3, wireType 1 =*/
25
).double(message.scale);
return writer;
};
Exponential.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Exponential.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Distribution.BucketOptions.Exponential();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.numFiniteBuckets = reader.int32();
break;
}
case 2: {
message.growthFactor = reader.double();
break;
}
case 3: {
message.scale = reader.double();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Exponential.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Exponential.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.numFiniteBuckets != null && message.hasOwnProperty("numFiniteBuckets")) {
if (!$util.isInteger(message.numFiniteBuckets))
return "numFiniteBuckets: integer expected";
}
if (message.growthFactor != null && message.hasOwnProperty("growthFactor")) {
if (typeof message.growthFactor !== "number")
return "growthFactor: number expected";
}
if (message.scale != null && message.hasOwnProperty("scale")) {
if (typeof message.scale !== "number")
return "scale: number expected";
}
return null;
};
Exponential.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Distribution.BucketOptions.Exponential)
return object3;
var message = new $root.google.api.Distribution.BucketOptions.Exponential();
if (object3.numFiniteBuckets != null)
message.numFiniteBuckets = object3.numFiniteBuckets | 0;
if (object3.growthFactor != null)
message.growthFactor = Number(object3.growthFactor);
if (object3.scale != null)
message.scale = Number(object3.scale);
return message;
};
Exponential.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.numFiniteBuckets = 0;
object3.growthFactor = 0;
object3.scale = 0;
}
if (message.numFiniteBuckets != null && message.hasOwnProperty("numFiniteBuckets"))
object3.numFiniteBuckets = message.numFiniteBuckets;
if (message.growthFactor != null && message.hasOwnProperty("growthFactor"))
object3.growthFactor = options.json && !isFinite(message.growthFactor) ? String(message.growthFactor) : message.growthFactor;
if (message.scale != null && message.hasOwnProperty("scale"))
object3.scale = options.json && !isFinite(message.scale) ? String(message.scale) : message.scale;
return object3;
};
Exponential.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Exponential.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Distribution.BucketOptions.Exponential";
};
return Exponential;
}();
BucketOptions.Explicit = function() {
function Explicit(properties) {
this.bounds = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Explicit.prototype.bounds = $util.emptyArray;
Explicit.create = function create(properties) {
return new Explicit(properties);
};
Explicit.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.bounds != null && message.bounds.length) {
writer.uint32(
/* id 1, wireType 2 =*/
10
).fork();
for (var i3 = 0; i3 < message.bounds.length; ++i3)
writer.double(message.bounds[i3]);
writer.ldelim();
}
return writer;
};
Explicit.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Explicit.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Distribution.BucketOptions.Explicit();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.bounds && message.bounds.length))
message.bounds = [];
if ((tag & 7) === 2) {
var end2 = reader.uint32() + reader.pos;
while (reader.pos < end2)
message.bounds.push(reader.double());
} else
message.bounds.push(reader.double());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Explicit.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Explicit.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.bounds != null && message.hasOwnProperty("bounds")) {
if (!Array.isArray(message.bounds))
return "bounds: array expected";
for (var i3 = 0; i3 < message.bounds.length; ++i3)
if (typeof message.bounds[i3] !== "number")
return "bounds: number[] expected";
}
return null;
};
Explicit.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Distribution.BucketOptions.Explicit)
return object3;
var message = new $root.google.api.Distribution.BucketOptions.Explicit();
if (object3.bounds) {
if (!Array.isArray(object3.bounds))
throw TypeError(".google.api.Distribution.BucketOptions.Explicit.bounds: array expected");
message.bounds = [];
for (var i3 = 0; i3 < object3.bounds.length; ++i3)
message.bounds[i3] = Number(object3.bounds[i3]);
}
return message;
};
Explicit.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.bounds = [];
if (message.bounds && message.bounds.length) {
object3.bounds = [];
for (var j = 0; j < message.bounds.length; ++j)
object3.bounds[j] = options.json && !isFinite(message.bounds[j]) ? String(message.bounds[j]) : message.bounds[j];
}
return object3;
};
Explicit.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Explicit.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Distribution.BucketOptions.Explicit";
};
return Explicit;
}();
return BucketOptions;
}();
Distribution.Exemplar = function() {
function Exemplar(properties) {
this.attachments = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Exemplar.prototype.value = 0;
Exemplar.prototype.timestamp = null;
Exemplar.prototype.attachments = $util.emptyArray;
Exemplar.create = function create(properties) {
return new Exemplar(properties);
};
Exemplar.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.value != null && Object.hasOwnProperty.call(message, "value"))
writer.uint32(
/* id 1, wireType 1 =*/
9
).double(message.value);
if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
$root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.attachments != null && message.attachments.length)
for (var i3 = 0; i3 < message.attachments.length; ++i3)
$root.google.protobuf.Any.encode(message.attachments[i3], writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
Exemplar.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Exemplar.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Distribution.Exemplar();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.value = reader.double();
break;
}
case 2: {
message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
break;
}
case 3: {
if (!(message.attachments && message.attachments.length))
message.attachments = [];
message.attachments.push($root.google.protobuf.Any.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Exemplar.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Exemplar.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.value != null && message.hasOwnProperty("value")) {
if (typeof message.value !== "number")
return "value: number expected";
}
if (message.timestamp != null && message.hasOwnProperty("timestamp")) {
var error40 = $root.google.protobuf.Timestamp.verify(message.timestamp);
if (error40)
return "timestamp." + error40;
}
if (message.attachments != null && message.hasOwnProperty("attachments")) {
if (!Array.isArray(message.attachments))
return "attachments: array expected";
for (var i3 = 0; i3 < message.attachments.length; ++i3) {
var error40 = $root.google.protobuf.Any.verify(message.attachments[i3]);
if (error40)
return "attachments." + error40;
}
}
return null;
};
Exemplar.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Distribution.Exemplar)
return object3;
var message = new $root.google.api.Distribution.Exemplar();
if (object3.value != null)
message.value = Number(object3.value);
if (object3.timestamp != null) {
if (typeof object3.timestamp !== "object")
throw TypeError(".google.api.Distribution.Exemplar.timestamp: object expected");
message.timestamp = $root.google.protobuf.Timestamp.fromObject(object3.timestamp);
}
if (object3.attachments) {
if (!Array.isArray(object3.attachments))
throw TypeError(".google.api.Distribution.Exemplar.attachments: array expected");
message.attachments = [];
for (var i3 = 0; i3 < object3.attachments.length; ++i3) {
if (typeof object3.attachments[i3] !== "object")
throw TypeError(".google.api.Distribution.Exemplar.attachments: object expected");
message.attachments[i3] = $root.google.protobuf.Any.fromObject(object3.attachments[i3]);
}
}
return message;
};
Exemplar.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.attachments = [];
if (options.defaults) {
object3.value = 0;
object3.timestamp = null;
}
if (message.value != null && message.hasOwnProperty("value"))
object3.value = options.json && !isFinite(message.value) ? String(message.value) : message.value;
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
object3.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options);
if (message.attachments && message.attachments.length) {
object3.attachments = [];
for (var j = 0; j < message.attachments.length; ++j)
object3.attachments[j] = $root.google.protobuf.Any.toObject(message.attachments[j], options);
}
return object3;
};
Exemplar.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Exemplar.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Distribution.Exemplar";
};
return Exemplar;
}();
return Distribution;
}();
api.MetricDescriptor = function() {
function MetricDescriptor(properties) {
this.labels = [];
this.monitoredResourceTypes = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MetricDescriptor.prototype.name = "";
MetricDescriptor.prototype.type = "";
MetricDescriptor.prototype.labels = $util.emptyArray;
MetricDescriptor.prototype.metricKind = 0;
MetricDescriptor.prototype.valueType = 0;
MetricDescriptor.prototype.unit = "";
MetricDescriptor.prototype.description = "";
MetricDescriptor.prototype.displayName = "";
MetricDescriptor.prototype.metadata = null;
MetricDescriptor.prototype.launchStage = 0;
MetricDescriptor.prototype.monitoredResourceTypes = $util.emptyArray;
MetricDescriptor.create = function create(properties) {
return new MetricDescriptor(properties);
};
MetricDescriptor.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.labels != null && message.labels.length)
for (var i3 = 0; i3 < message.labels.length; ++i3)
$root.google.api.LabelDescriptor.encode(message.labels[i3], writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.metricKind != null && Object.hasOwnProperty.call(message, "metricKind"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).int32(message.metricKind);
if (message.valueType != null && Object.hasOwnProperty.call(message, "valueType"))
writer.uint32(
/* id 4, wireType 0 =*/
32
).int32(message.valueType);
if (message.unit != null && Object.hasOwnProperty.call(message, "unit"))
writer.uint32(
/* id 5, wireType 2 =*/
42
).string(message.unit);
if (message.description != null && Object.hasOwnProperty.call(message, "description"))
writer.uint32(
/* id 6, wireType 2 =*/
50
).string(message.description);
if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
writer.uint32(
/* id 7, wireType 2 =*/
58
).string(message.displayName);
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 8, wireType 2 =*/
66
).string(message.type);
if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
$root.google.api.MetricDescriptor.MetricDescriptorMetadata.encode(message.metadata, writer.uint32(
/* id 10, wireType 2 =*/
82
).fork()).ldelim();
if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage"))
writer.uint32(
/* id 12, wireType 0 =*/
96
).int32(message.launchStage);
if (message.monitoredResourceTypes != null && message.monitoredResourceTypes.length)
for (var i3 = 0; i3 < message.monitoredResourceTypes.length; ++i3)
writer.uint32(
/* id 13, wireType 2 =*/
106
).string(message.monitoredResourceTypes[i3]);
return writer;
};
MetricDescriptor.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MetricDescriptor.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.MetricDescriptor();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 8: {
message.type = reader.string();
break;
}
case 2: {
if (!(message.labels && message.labels.length))
message.labels = [];
message.labels.push($root.google.api.LabelDescriptor.decode(reader, reader.uint32()));
break;
}
case 3: {
message.metricKind = reader.int32();
break;
}
case 4: {
message.valueType = reader.int32();
break;
}
case 5: {
message.unit = reader.string();
break;
}
case 6: {
message.description = reader.string();
break;
}
case 7: {
message.displayName = reader.string();
break;
}
case 10: {
message.metadata = $root.google.api.MetricDescriptor.MetricDescriptorMetadata.decode(reader, reader.uint32());
break;
}
case 12: {
message.launchStage = reader.int32();
break;
}
case 13: {
if (!(message.monitoredResourceTypes && message.monitoredResourceTypes.length))
message.monitoredResourceTypes = [];
message.monitoredResourceTypes.push(reader.string());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MetricDescriptor.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MetricDescriptor.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.labels != null && message.hasOwnProperty("labels")) {
if (!Array.isArray(message.labels))
return "labels: array expected";
for (var i3 = 0; i3 < message.labels.length; ++i3) {
var error40 = $root.google.api.LabelDescriptor.verify(message.labels[i3]);
if (error40)
return "labels." + error40;
}
}
if (message.metricKind != null && message.hasOwnProperty("metricKind"))
switch (message.metricKind) {
default:
return "metricKind: enum value expected";
case 0:
case 1:
case 2:
case 3:
break;
}
if (message.valueType != null && message.hasOwnProperty("valueType"))
switch (message.valueType) {
default:
return "valueType: enum value expected";
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
break;
}
if (message.unit != null && message.hasOwnProperty("unit")) {
if (!$util.isString(message.unit))
return "unit: string expected";
}
if (message.description != null && message.hasOwnProperty("description")) {
if (!$util.isString(message.description))
return "description: string expected";
}
if (message.displayName != null && message.hasOwnProperty("displayName")) {
if (!$util.isString(message.displayName))
return "displayName: string expected";
}
if (message.metadata != null && message.hasOwnProperty("metadata")) {
var error40 = $root.google.api.MetricDescriptor.MetricDescriptorMetadata.verify(message.metadata);
if (error40)
return "metadata." + error40;
}
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
switch (message.launchStage) {
default:
return "launchStage: enum value expected";
case 0:
case 6:
case 7:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
if (message.monitoredResourceTypes != null && message.hasOwnProperty("monitoredResourceTypes")) {
if (!Array.isArray(message.monitoredResourceTypes))
return "monitoredResourceTypes: array expected";
for (var i3 = 0; i3 < message.monitoredResourceTypes.length; ++i3)
if (!$util.isString(message.monitoredResourceTypes[i3]))
return "monitoredResourceTypes: string[] expected";
}
return null;
};
MetricDescriptor.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.MetricDescriptor)
return object3;
var message = new $root.google.api.MetricDescriptor();
if (object3.name != null)
message.name = String(object3.name);
if (object3.type != null)
message.type = String(object3.type);
if (object3.labels) {
if (!Array.isArray(object3.labels))
throw TypeError(".google.api.MetricDescriptor.labels: array expected");
message.labels = [];
for (var i3 = 0; i3 < object3.labels.length; ++i3) {
if (typeof object3.labels[i3] !== "object")
throw TypeError(".google.api.MetricDescriptor.labels: object expected");
message.labels[i3] = $root.google.api.LabelDescriptor.fromObject(object3.labels[i3]);
}
}
switch (object3.metricKind) {
default:
if (typeof object3.metricKind === "number") {
message.metricKind = object3.metricKind;
break;
}
break;
case "METRIC_KIND_UNSPECIFIED":
case 0:
message.metricKind = 0;
break;
case "GAUGE":
case 1:
message.metricKind = 1;
break;
case "DELTA":
case 2:
message.metricKind = 2;
break;
case "CUMULATIVE":
case 3:
message.metricKind = 3;
break;
}
switch (object3.valueType) {
default:
if (typeof object3.valueType === "number") {
message.valueType = object3.valueType;
break;
}
break;
case "VALUE_TYPE_UNSPECIFIED":
case 0:
message.valueType = 0;
break;
case "BOOL":
case 1:
message.valueType = 1;
break;
case "INT64":
case 2:
message.valueType = 2;
break;
case "DOUBLE":
case 3:
message.valueType = 3;
break;
case "STRING":
case 4:
message.valueType = 4;
break;
case "DISTRIBUTION":
case 5:
message.valueType = 5;
break;
case "MONEY":
case 6:
message.valueType = 6;
break;
}
if (object3.unit != null)
message.unit = String(object3.unit);
if (object3.description != null)
message.description = String(object3.description);
if (object3.displayName != null)
message.displayName = String(object3.displayName);
if (object3.metadata != null) {
if (typeof object3.metadata !== "object")
throw TypeError(".google.api.MetricDescriptor.metadata: object expected");
message.metadata = $root.google.api.MetricDescriptor.MetricDescriptorMetadata.fromObject(object3.metadata);
}
switch (object3.launchStage) {
default:
if (typeof object3.launchStage === "number") {
message.launchStage = object3.launchStage;
break;
}
break;
case "LAUNCH_STAGE_UNSPECIFIED":
case 0:
message.launchStage = 0;
break;
case "UNIMPLEMENTED":
case 6:
message.launchStage = 6;
break;
case "PRELAUNCH":
case 7:
message.launchStage = 7;
break;
case "EARLY_ACCESS":
case 1:
message.launchStage = 1;
break;
case "ALPHA":
case 2:
message.launchStage = 2;
break;
case "BETA":
case 3:
message.launchStage = 3;
break;
case "GA":
case 4:
message.launchStage = 4;
break;
case "DEPRECATED":
case 5:
message.launchStage = 5;
break;
}
if (object3.monitoredResourceTypes) {
if (!Array.isArray(object3.monitoredResourceTypes))
throw TypeError(".google.api.MetricDescriptor.monitoredResourceTypes: array expected");
message.monitoredResourceTypes = [];
for (var i3 = 0; i3 < object3.monitoredResourceTypes.length; ++i3)
message.monitoredResourceTypes[i3] = String(object3.monitoredResourceTypes[i3]);
}
return message;
};
MetricDescriptor.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults) {
object3.labels = [];
object3.monitoredResourceTypes = [];
}
if (options.defaults) {
object3.name = "";
object3.metricKind = options.enums === String ? "METRIC_KIND_UNSPECIFIED" : 0;
object3.valueType = options.enums === String ? "VALUE_TYPE_UNSPECIFIED" : 0;
object3.unit = "";
object3.description = "";
object3.displayName = "";
object3.type = "";
object3.metadata = null;
object3.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.labels && message.labels.length) {
object3.labels = [];
for (var j = 0; j < message.labels.length; ++j)
object3.labels[j] = $root.google.api.LabelDescriptor.toObject(message.labels[j], options);
}
if (message.metricKind != null && message.hasOwnProperty("metricKind"))
object3.metricKind = options.enums === String ? $root.google.api.MetricDescriptor.MetricKind[message.metricKind] === void 0 ? message.metricKind : $root.google.api.MetricDescriptor.MetricKind[message.metricKind] : message.metricKind;
if (message.valueType != null && message.hasOwnProperty("valueType"))
object3.valueType = options.enums === String ? $root.google.api.MetricDescriptor.ValueType[message.valueType] === void 0 ? message.valueType : $root.google.api.MetricDescriptor.ValueType[message.valueType] : message.valueType;
if (message.unit != null && message.hasOwnProperty("unit"))
object3.unit = message.unit;
if (message.description != null && message.hasOwnProperty("description"))
object3.description = message.description;
if (message.displayName != null && message.hasOwnProperty("displayName"))
object3.displayName = message.displayName;
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
if (message.metadata != null && message.hasOwnProperty("metadata"))
object3.metadata = $root.google.api.MetricDescriptor.MetricDescriptorMetadata.toObject(message.metadata, options);
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
object3.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === void 0 ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage;
if (message.monitoredResourceTypes && message.monitoredResourceTypes.length) {
object3.monitoredResourceTypes = [];
for (var j = 0; j < message.monitoredResourceTypes.length; ++j)
object3.monitoredResourceTypes[j] = message.monitoredResourceTypes[j];
}
return object3;
};
MetricDescriptor.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MetricDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.MetricDescriptor";
};
MetricDescriptor.MetricKind = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "METRIC_KIND_UNSPECIFIED"] = 0;
values[valuesById[1] = "GAUGE"] = 1;
values[valuesById[2] = "DELTA"] = 2;
values[valuesById[3] = "CUMULATIVE"] = 3;
return values;
}();
MetricDescriptor.ValueType = function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "VALUE_TYPE_UNSPECIFIED"] = 0;
values[valuesById[1] = "BOOL"] = 1;
values[valuesById[2] = "INT64"] = 2;
values[valuesById[3] = "DOUBLE"] = 3;
values[valuesById[4] = "STRING"] = 4;
values[valuesById[5] = "DISTRIBUTION"] = 5;
values[valuesById[6] = "MONEY"] = 6;
return values;
}();
MetricDescriptor.MetricDescriptorMetadata = function() {
function MetricDescriptorMetadata(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
MetricDescriptorMetadata.prototype.launchStage = 0;
MetricDescriptorMetadata.prototype.samplePeriod = null;
MetricDescriptorMetadata.prototype.ingestDelay = null;
MetricDescriptorMetadata.create = function create(properties) {
return new MetricDescriptorMetadata(properties);
};
MetricDescriptorMetadata.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.launchStage);
if (message.samplePeriod != null && Object.hasOwnProperty.call(message, "samplePeriod"))
$root.google.protobuf.Duration.encode(message.samplePeriod, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.ingestDelay != null && Object.hasOwnProperty.call(message, "ingestDelay"))
$root.google.protobuf.Duration.encode(message.ingestDelay, writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
MetricDescriptorMetadata.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
MetricDescriptorMetadata.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.MetricDescriptor.MetricDescriptorMetadata();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.launchStage = reader.int32();
break;
}
case 2: {
message.samplePeriod = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
case 3: {
message.ingestDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
MetricDescriptorMetadata.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
MetricDescriptorMetadata.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
switch (message.launchStage) {
default:
return "launchStage: enum value expected";
case 0:
case 6:
case 7:
case 1:
case 2:
case 3:
case 4:
case 5:
break;
}
if (message.samplePeriod != null && message.hasOwnProperty("samplePeriod")) {
var error40 = $root.google.protobuf.Duration.verify(message.samplePeriod);
if (error40)
return "samplePeriod." + error40;
}
if (message.ingestDelay != null && message.hasOwnProperty("ingestDelay")) {
var error40 = $root.google.protobuf.Duration.verify(message.ingestDelay);
if (error40)
return "ingestDelay." + error40;
}
return null;
};
MetricDescriptorMetadata.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.MetricDescriptor.MetricDescriptorMetadata)
return object3;
var message = new $root.google.api.MetricDescriptor.MetricDescriptorMetadata();
switch (object3.launchStage) {
default:
if (typeof object3.launchStage === "number") {
message.launchStage = object3.launchStage;
break;
}
break;
case "LAUNCH_STAGE_UNSPECIFIED":
case 0:
message.launchStage = 0;
break;
case "UNIMPLEMENTED":
case 6:
message.launchStage = 6;
break;
case "PRELAUNCH":
case 7:
message.launchStage = 7;
break;
case "EARLY_ACCESS":
case 1:
message.launchStage = 1;
break;
case "ALPHA":
case 2:
message.launchStage = 2;
break;
case "BETA":
case 3:
message.launchStage = 3;
break;
case "GA":
case 4:
message.launchStage = 4;
break;
case "DEPRECATED":
case 5:
message.launchStage = 5;
break;
}
if (object3.samplePeriod != null) {
if (typeof object3.samplePeriod !== "object")
throw TypeError(".google.api.MetricDescriptor.MetricDescriptorMetadata.samplePeriod: object expected");
message.samplePeriod = $root.google.protobuf.Duration.fromObject(object3.samplePeriod);
}
if (object3.ingestDelay != null) {
if (typeof object3.ingestDelay !== "object")
throw TypeError(".google.api.MetricDescriptor.MetricDescriptorMetadata.ingestDelay: object expected");
message.ingestDelay = $root.google.protobuf.Duration.fromObject(object3.ingestDelay);
}
return message;
};
MetricDescriptorMetadata.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0;
object3.samplePeriod = null;
object3.ingestDelay = null;
}
if (message.launchStage != null && message.hasOwnProperty("launchStage"))
object3.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === void 0 ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage;
if (message.samplePeriod != null && message.hasOwnProperty("samplePeriod"))
object3.samplePeriod = $root.google.protobuf.Duration.toObject(message.samplePeriod, options);
if (message.ingestDelay != null && message.hasOwnProperty("ingestDelay"))
object3.ingestDelay = $root.google.protobuf.Duration.toObject(message.ingestDelay, options);
return object3;
};
MetricDescriptorMetadata.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
MetricDescriptorMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.MetricDescriptor.MetricDescriptorMetadata";
};
return MetricDescriptorMetadata;
}();
return MetricDescriptor;
}();
api.Metric = function() {
function Metric(properties) {
this.labels = {};
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Metric.prototype.type = "";
Metric.prototype.labels = $util.emptyObject;
Metric.create = function create(properties) {
return new Metric(properties);
};
Metric.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
for (var keys = Object.keys(message.labels), i3 = 0; i3 < keys.length; ++i3)
writer.uint32(
/* id 2, wireType 2 =*/
18
).fork().uint32(
/* id 1, wireType 2 =*/
10
).string(keys[i3]).uint32(
/* id 2, wireType 2 =*/
18
).string(message.labels[keys[i3]]).ldelim();
if (message.type != null && Object.hasOwnProperty.call(message, "type"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.type);
return writer;
};
Metric.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Metric.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.api.Metric(), key, value;
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 3: {
message.type = reader.string();
break;
}
case 2: {
if (message.labels === $util.emptyObject)
message.labels = {};
var end2 = reader.uint32() + reader.pos;
key = "";
value = "";
while (reader.pos < end2) {
var tag2 = reader.uint32();
switch (tag2 >>> 3) {
case 1:
key = reader.string();
break;
case 2:
value = reader.string();
break;
default:
reader.skipType(tag2 & 7);
break;
}
}
message.labels[key] = value;
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Metric.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Metric.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.type != null && message.hasOwnProperty("type")) {
if (!$util.isString(message.type))
return "type: string expected";
}
if (message.labels != null && message.hasOwnProperty("labels")) {
if (!$util.isObject(message.labels))
return "labels: object expected";
var key = Object.keys(message.labels);
for (var i3 = 0; i3 < key.length; ++i3)
if (!$util.isString(message.labels[key[i3]]))
return "labels: string{k:string} expected";
}
return null;
};
Metric.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.api.Metric)
return object3;
var message = new $root.google.api.Metric();
if (object3.type != null)
message.type = String(object3.type);
if (object3.labels) {
if (typeof object3.labels !== "object")
throw TypeError(".google.api.Metric.labels: object expected");
message.labels = {};
for (var keys = Object.keys(object3.labels), i3 = 0; i3 < keys.length; ++i3)
message.labels[keys[i3]] = String(object3.labels[keys[i3]]);
}
return message;
};
Metric.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.objects || options.defaults)
object3.labels = {};
if (options.defaults)
object3.type = "";
var keys2;
if (message.labels && (keys2 = Object.keys(message.labels)).length) {
object3.labels = {};
for (var j = 0; j < keys2.length; ++j)
object3.labels[keys2[j]] = message.labels[keys2[j]];
}
if (message.type != null && message.hasOwnProperty("type"))
object3.type = message.type;
return object3;
};
Metric.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Metric.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.api.Metric";
};
return Metric;
}();
return api;
}();
google.rpc = function() {
var rpc = {};
rpc.Status = function() {
function Status(properties) {
this.details = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Status.prototype.code = 0;
Status.prototype.message = "";
Status.prototype.details = $util.emptyArray;
Status.create = function create(properties) {
return new Status(properties);
};
Status.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.code != null && Object.hasOwnProperty.call(message, "code"))
writer.uint32(
/* id 1, wireType 0 =*/
8
).int32(message.code);
if (message.message != null && Object.hasOwnProperty.call(message, "message"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.message);
if (message.details != null && message.details.length)
for (var i3 = 0; i3 < message.details.length; ++i3)
$root.google.protobuf.Any.encode(message.details[i3], writer.uint32(
/* id 3, wireType 2 =*/
26
).fork()).ldelim();
return writer;
};
Status.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Status.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.rpc.Status();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.code = reader.int32();
break;
}
case 2: {
message.message = reader.string();
break;
}
case 3: {
if (!(message.details && message.details.length))
message.details = [];
message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32()));
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Status.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Status.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.code != null && message.hasOwnProperty("code")) {
if (!$util.isInteger(message.code))
return "code: integer expected";
}
if (message.message != null && message.hasOwnProperty("message")) {
if (!$util.isString(message.message))
return "message: string expected";
}
if (message.details != null && message.hasOwnProperty("details")) {
if (!Array.isArray(message.details))
return "details: array expected";
for (var i3 = 0; i3 < message.details.length; ++i3) {
var error40 = $root.google.protobuf.Any.verify(message.details[i3]);
if (error40)
return "details." + error40;
}
}
return null;
};
Status.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.rpc.Status)
return object3;
var message = new $root.google.rpc.Status();
if (object3.code != null)
message.code = object3.code | 0;
if (object3.message != null)
message.message = String(object3.message);
if (object3.details) {
if (!Array.isArray(object3.details))
throw TypeError(".google.rpc.Status.details: array expected");
message.details = [];
for (var i3 = 0; i3 < object3.details.length; ++i3) {
if (typeof object3.details[i3] !== "object")
throw TypeError(".google.rpc.Status.details: object expected");
message.details[i3] = $root.google.protobuf.Any.fromObject(object3.details[i3]);
}
}
return message;
};
Status.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.details = [];
if (options.defaults) {
object3.code = 0;
object3.message = "";
}
if (message.code != null && message.hasOwnProperty("code"))
object3.code = message.code;
if (message.message != null && message.hasOwnProperty("message"))
object3.message = message.message;
if (message.details && message.details.length) {
object3.details = [];
for (var j = 0; j < message.details.length; ++j)
object3.details[j] = $root.google.protobuf.Any.toObject(message.details[j], options);
}
return object3;
};
Status.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Status.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.rpc.Status";
};
return Status;
}();
return rpc;
}();
google.longrunning = function() {
var longrunning = {};
longrunning.Operations = function() {
function Operations(rpcImpl, requestDelimited, responseDelimited) {
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
}
(Operations.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Operations;
Operations.create = function create(rpcImpl, requestDelimited, responseDelimited) {
return new this(rpcImpl, requestDelimited, responseDelimited);
};
Object.defineProperty(Operations.prototype.listOperations = function listOperations(request, callback) {
return this.rpcCall(listOperations, $root.google.longrunning.ListOperationsRequest, $root.google.longrunning.ListOperationsResponse, request, callback);
}, "name", { value: "ListOperations" });
Object.defineProperty(Operations.prototype.getOperation = function getOperation(request, callback) {
return this.rpcCall(getOperation, $root.google.longrunning.GetOperationRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "GetOperation" });
Object.defineProperty(Operations.prototype.deleteOperation = function deleteOperation(request, callback) {
return this.rpcCall(deleteOperation, $root.google.longrunning.DeleteOperationRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "DeleteOperation" });
Object.defineProperty(Operations.prototype.cancelOperation = function cancelOperation(request, callback) {
return this.rpcCall(cancelOperation, $root.google.longrunning.CancelOperationRequest, $root.google.protobuf.Empty, request, callback);
}, "name", { value: "CancelOperation" });
Object.defineProperty(Operations.prototype.waitOperation = function waitOperation(request, callback) {
return this.rpcCall(waitOperation, $root.google.longrunning.WaitOperationRequest, $root.google.longrunning.Operation, request, callback);
}, "name", { value: "WaitOperation" });
return Operations;
}();
longrunning.Operation = function() {
function Operation(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
Operation.prototype.name = "";
Operation.prototype.metadata = null;
Operation.prototype.done = false;
Operation.prototype.error = null;
Operation.prototype.response = null;
var $oneOfFields;
Object.defineProperty(Operation.prototype, "result", {
get: $util.oneOfGetter($oneOfFields = ["error", "response"]),
set: $util.oneOfSetter($oneOfFields)
});
Operation.create = function create(properties) {
return new Operation(properties);
};
Operation.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
$root.google.protobuf.Any.encode(message.metadata, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
if (message.done != null && Object.hasOwnProperty.call(message, "done"))
writer.uint32(
/* id 3, wireType 0 =*/
24
).bool(message.done);
if (message.error != null && Object.hasOwnProperty.call(message, "error"))
$root.google.rpc.Status.encode(message.error, writer.uint32(
/* id 4, wireType 2 =*/
34
).fork()).ldelim();
if (message.response != null && Object.hasOwnProperty.call(message, "response"))
$root.google.protobuf.Any.encode(message.response, writer.uint32(
/* id 5, wireType 2 =*/
42
).fork()).ldelim();
return writer;
};
Operation.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
Operation.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32());
break;
}
case 3: {
message.done = reader.bool();
break;
}
case 4: {
message.error = $root.google.rpc.Status.decode(reader, reader.uint32());
break;
}
case 5: {
message.response = $root.google.protobuf.Any.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
Operation.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
Operation.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
var properties = {};
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.metadata != null && message.hasOwnProperty("metadata")) {
var error40 = $root.google.protobuf.Any.verify(message.metadata);
if (error40)
return "metadata." + error40;
}
if (message.done != null && message.hasOwnProperty("done")) {
if (typeof message.done !== "boolean")
return "done: boolean expected";
}
if (message.error != null && message.hasOwnProperty("error")) {
properties.result = 1;
{
var error40 = $root.google.rpc.Status.verify(message.error);
if (error40)
return "error." + error40;
}
}
if (message.response != null && message.hasOwnProperty("response")) {
if (properties.result === 1)
return "result: multiple values";
properties.result = 1;
{
var error40 = $root.google.protobuf.Any.verify(message.response);
if (error40)
return "response." + error40;
}
}
return null;
};
Operation.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.Operation)
return object3;
var message = new $root.google.longrunning.Operation();
if (object3.name != null)
message.name = String(object3.name);
if (object3.metadata != null) {
if (typeof object3.metadata !== "object")
throw TypeError(".google.longrunning.Operation.metadata: object expected");
message.metadata = $root.google.protobuf.Any.fromObject(object3.metadata);
}
if (object3.done != null)
message.done = Boolean(object3.done);
if (object3.error != null) {
if (typeof object3.error !== "object")
throw TypeError(".google.longrunning.Operation.error: object expected");
message.error = $root.google.rpc.Status.fromObject(object3.error);
}
if (object3.response != null) {
if (typeof object3.response !== "object")
throw TypeError(".google.longrunning.Operation.response: object expected");
message.response = $root.google.protobuf.Any.fromObject(object3.response);
}
return message;
};
Operation.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.metadata = null;
object3.done = false;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.metadata != null && message.hasOwnProperty("metadata"))
object3.metadata = $root.google.protobuf.Any.toObject(message.metadata, options);
if (message.done != null && message.hasOwnProperty("done"))
object3.done = message.done;
if (message.error != null && message.hasOwnProperty("error")) {
object3.error = $root.google.rpc.Status.toObject(message.error, options);
if (options.oneofs)
object3.result = "error";
}
if (message.response != null && message.hasOwnProperty("response")) {
object3.response = $root.google.protobuf.Any.toObject(message.response, options);
if (options.oneofs)
object3.result = "response";
}
return object3;
};
Operation.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
Operation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.Operation";
};
return Operation;
}();
longrunning.GetOperationRequest = function() {
function GetOperationRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
GetOperationRequest.prototype.name = "";
GetOperationRequest.create = function create(properties) {
return new GetOperationRequest(properties);
};
GetOperationRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
GetOperationRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
GetOperationRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
GetOperationRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
GetOperationRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
GetOperationRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.GetOperationRequest)
return object3;
var message = new $root.google.longrunning.GetOperationRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
GetOperationRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
GetOperationRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
GetOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.GetOperationRequest";
};
return GetOperationRequest;
}();
longrunning.ListOperationsRequest = function() {
function ListOperationsRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListOperationsRequest.prototype.name = "";
ListOperationsRequest.prototype.filter = "";
ListOperationsRequest.prototype.pageSize = 0;
ListOperationsRequest.prototype.pageToken = "";
ListOperationsRequest.create = function create(properties) {
return new ListOperationsRequest(properties);
};
ListOperationsRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.filter);
if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
writer.uint32(
/* id 2, wireType 0 =*/
16
).int32(message.pageSize);
if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
writer.uint32(
/* id 3, wireType 2 =*/
26
).string(message.pageToken);
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 4, wireType 2 =*/
34
).string(message.name);
return writer;
};
ListOperationsRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListOperationsRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 4: {
message.name = reader.string();
break;
}
case 1: {
message.filter = reader.string();
break;
}
case 2: {
message.pageSize = reader.int32();
break;
}
case 3: {
message.pageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListOperationsRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListOperationsRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.filter != null && message.hasOwnProperty("filter")) {
if (!$util.isString(message.filter))
return "filter: string expected";
}
if (message.pageSize != null && message.hasOwnProperty("pageSize")) {
if (!$util.isInteger(message.pageSize))
return "pageSize: integer expected";
}
if (message.pageToken != null && message.hasOwnProperty("pageToken")) {
if (!$util.isString(message.pageToken))
return "pageToken: string expected";
}
return null;
};
ListOperationsRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.ListOperationsRequest)
return object3;
var message = new $root.google.longrunning.ListOperationsRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.filter != null)
message.filter = String(object3.filter);
if (object3.pageSize != null)
message.pageSize = object3.pageSize | 0;
if (object3.pageToken != null)
message.pageToken = String(object3.pageToken);
return message;
};
ListOperationsRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.filter = "";
object3.pageSize = 0;
object3.pageToken = "";
object3.name = "";
}
if (message.filter != null && message.hasOwnProperty("filter"))
object3.filter = message.filter;
if (message.pageSize != null && message.hasOwnProperty("pageSize"))
object3.pageSize = message.pageSize;
if (message.pageToken != null && message.hasOwnProperty("pageToken"))
object3.pageToken = message.pageToken;
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
ListOperationsRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListOperationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.ListOperationsRequest";
};
return ListOperationsRequest;
}();
longrunning.ListOperationsResponse = function() {
function ListOperationsResponse(properties) {
this.operations = [];
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
ListOperationsResponse.prototype.operations = $util.emptyArray;
ListOperationsResponse.prototype.nextPageToken = "";
ListOperationsResponse.create = function create(properties) {
return new ListOperationsResponse(properties);
};
ListOperationsResponse.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.operations != null && message.operations.length)
for (var i3 = 0; i3 < message.operations.length; ++i3)
$root.google.longrunning.Operation.encode(message.operations[i3], writer.uint32(
/* id 1, wireType 2 =*/
10
).fork()).ldelim();
if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.nextPageToken);
return writer;
};
ListOperationsResponse.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
ListOperationsResponse.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
if (!(message.operations && message.operations.length))
message.operations = [];
message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32()));
break;
}
case 2: {
message.nextPageToken = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
ListOperationsResponse.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
ListOperationsResponse.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.operations != null && message.hasOwnProperty("operations")) {
if (!Array.isArray(message.operations))
return "operations: array expected";
for (var i3 = 0; i3 < message.operations.length; ++i3) {
var error40 = $root.google.longrunning.Operation.verify(message.operations[i3]);
if (error40)
return "operations." + error40;
}
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) {
if (!$util.isString(message.nextPageToken))
return "nextPageToken: string expected";
}
return null;
};
ListOperationsResponse.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.ListOperationsResponse)
return object3;
var message = new $root.google.longrunning.ListOperationsResponse();
if (object3.operations) {
if (!Array.isArray(object3.operations))
throw TypeError(".google.longrunning.ListOperationsResponse.operations: array expected");
message.operations = [];
for (var i3 = 0; i3 < object3.operations.length; ++i3) {
if (typeof object3.operations[i3] !== "object")
throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected");
message.operations[i3] = $root.google.longrunning.Operation.fromObject(object3.operations[i3]);
}
}
if (object3.nextPageToken != null)
message.nextPageToken = String(object3.nextPageToken);
return message;
};
ListOperationsResponse.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.arrays || options.defaults)
object3.operations = [];
if (options.defaults)
object3.nextPageToken = "";
if (message.operations && message.operations.length) {
object3.operations = [];
for (var j = 0; j < message.operations.length; ++j)
object3.operations[j] = $root.google.longrunning.Operation.toObject(message.operations[j], options);
}
if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
object3.nextPageToken = message.nextPageToken;
return object3;
};
ListOperationsResponse.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
ListOperationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.ListOperationsResponse";
};
return ListOperationsResponse;
}();
longrunning.CancelOperationRequest = function() {
function CancelOperationRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
CancelOperationRequest.prototype.name = "";
CancelOperationRequest.create = function create(properties) {
return new CancelOperationRequest(properties);
};
CancelOperationRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
CancelOperationRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
CancelOperationRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
CancelOperationRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
CancelOperationRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
CancelOperationRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.CancelOperationRequest)
return object3;
var message = new $root.google.longrunning.CancelOperationRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
CancelOperationRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
CancelOperationRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
CancelOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.CancelOperationRequest";
};
return CancelOperationRequest;
}();
longrunning.DeleteOperationRequest = function() {
function DeleteOperationRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
DeleteOperationRequest.prototype.name = "";
DeleteOperationRequest.create = function create(properties) {
return new DeleteOperationRequest(properties);
};
DeleteOperationRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
return writer;
};
DeleteOperationRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
DeleteOperationRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
DeleteOperationRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
DeleteOperationRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
return null;
};
DeleteOperationRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.DeleteOperationRequest)
return object3;
var message = new $root.google.longrunning.DeleteOperationRequest();
if (object3.name != null)
message.name = String(object3.name);
return message;
};
DeleteOperationRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults)
object3.name = "";
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
return object3;
};
DeleteOperationRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
DeleteOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.DeleteOperationRequest";
};
return DeleteOperationRequest;
}();
longrunning.WaitOperationRequest = function() {
function WaitOperationRequest(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
WaitOperationRequest.prototype.name = "";
WaitOperationRequest.prototype.timeout = null;
WaitOperationRequest.create = function create(properties) {
return new WaitOperationRequest(properties);
};
WaitOperationRequest.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.name);
if (message.timeout != null && Object.hasOwnProperty.call(message, "timeout"))
$root.google.protobuf.Duration.encode(message.timeout, writer.uint32(
/* id 2, wireType 2 =*/
18
).fork()).ldelim();
return writer;
};
WaitOperationRequest.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
WaitOperationRequest.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.name = reader.string();
break;
}
case 2: {
message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
WaitOperationRequest.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
WaitOperationRequest.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name")) {
if (!$util.isString(message.name))
return "name: string expected";
}
if (message.timeout != null && message.hasOwnProperty("timeout")) {
var error40 = $root.google.protobuf.Duration.verify(message.timeout);
if (error40)
return "timeout." + error40;
}
return null;
};
WaitOperationRequest.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.WaitOperationRequest)
return object3;
var message = new $root.google.longrunning.WaitOperationRequest();
if (object3.name != null)
message.name = String(object3.name);
if (object3.timeout != null) {
if (typeof object3.timeout !== "object")
throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected");
message.timeout = $root.google.protobuf.Duration.fromObject(object3.timeout);
}
return message;
};
WaitOperationRequest.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.name = "";
object3.timeout = null;
}
if (message.name != null && message.hasOwnProperty("name"))
object3.name = message.name;
if (message.timeout != null && message.hasOwnProperty("timeout"))
object3.timeout = $root.google.protobuf.Duration.toObject(message.timeout, options);
return object3;
};
WaitOperationRequest.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
WaitOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.WaitOperationRequest";
};
return WaitOperationRequest;
}();
longrunning.OperationInfo = function() {
function OperationInfo(properties) {
if (properties) {
for (var keys = Object.keys(properties), i3 = 0; i3 < keys.length; ++i3)
if (properties[keys[i3]] != null)
this[keys[i3]] = properties[keys[i3]];
}
}
OperationInfo.prototype.responseType = "";
OperationInfo.prototype.metadataType = "";
OperationInfo.create = function create(properties) {
return new OperationInfo(properties);
};
OperationInfo.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.responseType != null && Object.hasOwnProperty.call(message, "responseType"))
writer.uint32(
/* id 1, wireType 2 =*/
10
).string(message.responseType);
if (message.metadataType != null && Object.hasOwnProperty.call(message, "metadataType"))
writer.uint32(
/* id 2, wireType 2 =*/
18
).string(message.metadataType);
return writer;
};
OperationInfo.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
OperationInfo.decode = function decode(reader, length, error40) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === void 0 ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo();
while (reader.pos < end) {
var tag = reader.uint32();
if (tag === error40)
break;
switch (tag >>> 3) {
case 1: {
message.responseType = reader.string();
break;
}
case 2: {
message.metadataType = reader.string();
break;
}
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
OperationInfo.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
OperationInfo.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.responseType != null && message.hasOwnProperty("responseType")) {
if (!$util.isString(message.responseType))
return "responseType: string expected";
}
if (message.metadataType != null && message.hasOwnProperty("metadataType")) {
if (!$util.isString(message.metadataType))
return "metadataType: string expected";
}
return null;
};
OperationInfo.fromObject = function fromObject(object3) {
if (object3 instanceof $root.google.longrunning.OperationInfo)
return object3;
var message = new $root.google.longrunning.OperationInfo();
if (object3.responseType != null)
message.responseType = String(object3.responseType);
if (object3.metadataType != null)
message.metadataType = String(object3.metadataType);
return message;
};
OperationInfo.toObject = function toObject(message, options) {
if (!options)
options = {};
var object3 = {};
if (options.defaults) {
object3.responseType = "";
object3.metadataType = "";
}
if (message.responseType != null && message.hasOwnProperty("responseType"))
object3.responseType = message.responseType;
if (message.metadataType != null && message.hasOwnProperty("metadataType"))
object3.metadataType = message.metadataType;
return object3;
};
OperationInfo.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
OperationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
if (typeUrlPrefix === void 0) {
typeUrlPrefix = "type.googleapis.com";
}
return typeUrlPrefix + "/google.longrunning.OperationInfo";
};
return OperationInfo;
}();
return longrunning;
}();
return google;
}();
return $root;
});
}
});
// node_modules/@google-cloud/logging/build/src/index.js
var require_src52 = __commonJS({
"node_modules/@google-cloud/logging/build/src/index.js"(exports2, module2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.v2 = exports2.protos = exports2.Logging = exports2.Sink = exports2.LogSync = exports2.formatLogName = exports2.assignSeverityToEntries = exports2.Severity = exports2.Log = exports2.Entry = exports2.detectServiceContext = exports2.middleware = void 0;
var common_1 = require_src47();
var paginator_1 = require_src48();
var projectify_1 = require_src44();
var promisify_1 = require_src43();
var arrify2 = require_arrify();
var extend4 = require_extend();
var gax = require_src50();
var pumpify = require_pumpify();
var streamEvents = require_stream_events();
var middleware = require_middleware();
exports2.middleware = middleware;
var metadata_1 = require_metadata2();
Object.defineProperty(exports2, "detectServiceContext", { enumerable: true, get: function() {
return metadata_1.detectServiceContext;
} });
var version4 = require_package8().version;
var v2 = require_v2();
exports2.v2 = v2;
var entry_1 = require_entry();
Object.defineProperty(exports2, "Entry", { enumerable: true, get: function() {
return entry_1.Entry;
} });
var log_common_1 = require_log_common();
Object.defineProperty(exports2, "Severity", { enumerable: true, get: function() {
return log_common_1.Severity;
} });
Object.defineProperty(exports2, "formatLogName", { enumerable: true, get: function() {
return log_common_1.formatLogName;
} });
Object.defineProperty(exports2, "assignSeverityToEntries", { enumerable: true, get: function() {
return log_common_1.assignSeverityToEntries;
} });
var log_1 = require_log2();
Object.defineProperty(exports2, "Log", { enumerable: true, get: function() {
return log_1.Log;
} });
var log_sync_1 = require_log_sync();
Object.defineProperty(exports2, "LogSync", { enumerable: true, get: function() {
return log_sync_1.LogSync;
} });
var sink_1 = require_sink();
Object.defineProperty(exports2, "Sink", { enumerable: true, get: function() {
return sink_1.Sink;
} });
var stream_1 = __require("stream");
var Logging2 = class {
constructor(options, gaxInstance) {
const scopes = [];
const clientClasses = [
v2.ConfigServiceV2Client,
v2.LoggingServiceV2Client,
v2.MetricsServiceV2Client
];
for (const clientClass of clientClasses) {
for (const scope of clientClass.scopes) {
if (scopes.indexOf(scope) === -1) {
scopes.push(scope);
}
}
}
const options_ = extend4({
libName: "gccl",
libVersion: version4,
scopes
}, options);
this.api = {};
this.auth = new (gaxInstance !== null && gaxInstance !== void 0 ? gaxInstance : gax).GoogleAuth(options_);
this.options = options_;
this.projectId = this.options.projectId || "{{projectId}}";
this.configService = new v2.ConfigServiceV2Client(this.options, gaxInstance);
this.loggingService = new v2.LoggingServiceV2Client(this.options, gaxInstance);
}
// jscs:disable maximumLineLength
/**
* Create a sink.
*
* See {@link https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.sinks|Sink Overview}
* See {@link https://cloud.google.com/logging/docs/view/advanced_filters|Advanced Logs Filters}
* See {@link https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.sinks/create|projects.sinks.create API Documentation}
*
* @param {string} name Name of the sink.
* @param {CreateSinkRequest} config Config to set for the sink.
* @param {CreateSinkCallback} [callback] Callback function.
* @returns {Promise<CreateSinkResponse>}
* @throws {Error} If a name is not provided.
* @throws {Error} if a config object is not provided.
* @see Sink#create
*
* @example
* ```
* const {Storage} = require('@google-cloud/storage');
* const storage = new Storage({
* projectId: 'grape-spaceship-123'
* });
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
*
* const config = {
* destination: storage.bucket('logging-bucket'),
* filter: 'severity = ALERT'
* };
*
* function callback(err, sink, apiResponse) {
* // `sink` is a Sink object.
* }
*
* logging.createSink('new-sink-name', config, callback);
*
* //-
* // If the callback is omitted, we'll return a Promise.
* //-
* logging.createSink('new-sink-name', config).then(data => {
* const sink = data[0];
* const apiResponse = data[1];
* });
*
* ```
* @example <caption>include:samples/sinks.js</caption>
* region_tag:logging_create_sink
* Another example:
*/
async createSink(name3, config2) {
if (typeof name3 !== "string") {
throw new Error("A sink name must be provided.");
}
if (typeof config2 !== "object") {
throw new Error("A sink configuration object must be provided.");
}
if (common_1.util.isCustomType(config2.destination, "bigquery/dataset")) {
await this.setAclForDataset_(config2);
}
if (common_1.util.isCustomType(config2.destination, "pubsub/topic")) {
await this.setAclForTopic_(config2);
}
if (common_1.util.isCustomType(config2.destination, "storage/bucket")) {
await this.setAclForBucket_(config2);
}
const reqOpts = {
parent: "projects/" + this.projectId,
sink: extend4({}, config2, { name: name3 }),
uniqueWriterIdentity: config2.uniqueWriterIdentity
};
delete reqOpts.sink.gaxOptions;
delete reqOpts.sink.uniqueWriterIdentity;
await this.setProjectId(reqOpts);
const [resp] = await this.configService.createSink(reqOpts, config2.gaxOptions);
const sink = this.sink(resp.name);
sink.metadata = resp;
return [sink, resp];
}
/**
* Create an entry object.
*
* Using this method will not itself make any API requests. You will use
* the object returned in other API calls, such as
* {@link Log#write}.
*
* Note, {@link https://cloud.google.com/logging/quotas|Cloud Logging Quotas and limits}
* dictates that the maximum log entry size, including all
* [LogEntry Resource properties]{@link https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry},
* cannot exceed _approximately_ 256 KB.
*
* See {@link https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry|LogEntry JSON representation}
*
* @param {?object|?string} [resource] See a
* [Monitored
* Resource](https://cloud.google.com/logging/docs/reference/v2/rest/v2/MonitoredResource).
* @param {object|string} data The data to use as the value for this log
* entry.
* @returns {Entry}
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
*
* const resource = {
* type: 'gce_instance',
* labels: {
* zone: 'global',
* instance_id: '3'
* }
* };
*
* const entry = logging.entry(resource, {
* delegate: 'my_username'
* });
*
* entry.toJSON();
* // {
* // resource: {
* // type: 'gce_instance',
* // labels: {
* // zone: 'global',
* // instance_id: '3'
* // }
* // },
* // jsonPayload: {
* // delegate: 'my_username'
* // }
* // }
* ```
*/
entry(resource, data) {
return new entry_1.Entry(resource, data);
}
async getEntries(opts) {
const options = opts ? opts : {};
let reqOpts = extend4({ orderBy: "timestamp desc" }, options);
const time3 = /* @__PURE__ */ new Date();
time3.setDate(time3.getDate() - 1);
const timeFilter = `timestamp >= "${time3.toISOString()}"`;
if (!options.filter) {
reqOpts = extend4({ filter: timeFilter }, reqOpts);
} else if (!options.filter.includes("timestamp")) {
reqOpts.filter += ` AND ${timeFilter}`;
}
this.projectId = await this.auth.getProjectId();
const resourceName = "projects/" + this.projectId;
reqOpts.resourceNames = arrify2(reqOpts.resourceNames);
if (reqOpts.resourceNames.length === 0) {
reqOpts.resourceNames.push(resourceName);
}
delete reqOpts.autoPaginate;
delete reqOpts.gaxOptions;
let gaxOptions = extend4({
autoPaginate: options.autoPaginate
}, options.gaxOptions);
if (options === null || options === void 0 ? void 0 : options.maxResults) {
gaxOptions = extend4({
maxResults: options.maxResults
}, gaxOptions);
}
const resp = await this.loggingService.listLogEntries(reqOpts, gaxOptions);
const [entries] = resp;
if (entries) {
resp[0] = entries.map(entry_1.Entry.fromApiResponse_);
}
return resp;
}
/**
* List the {@link Entry} objects in your logs as a readable object
* stream.
*
* @method Logging#getEntriesStream
* @param {GetEntriesRequest} [query] Query object for listing entries.
* @returns {ReadableStream} A readable stream that emits {@link Entry}
* instances.
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
*
* logging.getEntriesStream()
* .on('error', console.error)
* .on('data', entry => {
* // `entry` is a Cloud Logging entry object.
* // See the `data` property to read the data from the entry.
* })
* .on('end', function() {
* // All entries retrieved.
* });
*
* //-
* // If you anticipate many results, you can end a stream early to prevent
* // unnecessary processing and API requests.
* //-
* logging.getEntriesStream()
* .on('data', function(entry) {
* this.end();
* });
* ```
*/
getEntriesStream(options = {}) {
let requestStream;
const userStream = streamEvents(pumpify.obj());
userStream.abort = () => {
if (requestStream) {
requestStream.abort();
}
};
const toEntryStream = new stream_1.Transform({
objectMode: true,
transform: (chunk, encoding, callback) => {
callback(null, entry_1.Entry.fromApiResponse_(chunk));
}
});
userStream.once("reading", () => {
this.auth.getProjectId().then((projectId) => {
this.projectId = projectId;
if (options.log) {
if (options.filter) {
options.filter = `(${options.filter}) AND logName="${(0, log_common_1.formatLogName)(this.projectId, options.log)}"`;
} else {
options.filter = `logName="${(0, log_common_1.formatLogName)(this.projectId, options.log)}"`;
}
delete options.log;
}
const reqOpts = extend4({
orderBy: "timestamp desc"
}, options);
reqOpts.resourceNames = arrify2(reqOpts.resourceNames);
reqOpts.resourceNames.push(`projects/${this.projectId}`);
delete reqOpts.autoPaginate;
delete reqOpts.gaxOptions;
const gaxOptions = extend4({
autoPaginate: options.autoPaginate
}, options.gaxOptions);
let gaxStream;
requestStream = streamEvents(new stream_1.PassThrough({ objectMode: true }));
requestStream.abort = () => {
if (gaxStream && gaxStream.cancel) {
gaxStream.cancel();
}
};
if (!global.GCLOUD_SANDBOX_ENV) {
requestStream.once("reading", () => {
try {
gaxStream = this.loggingService.listLogEntriesStream(reqOpts, gaxOptions);
} catch (error40) {
requestStream.destroy(error40);
return;
}
gaxStream.on("error", (err2) => {
requestStream.destroy(err2);
}).pipe(requestStream);
return;
});
}
userStream.setPipeline(requestStream, toEntryStream);
});
});
return userStream;
}
/**
* Query object for streaming entries.
*
* @typedef {object} TailEntriesRequest
* @property {Array.<string>|string} [resourceNames] Names of project
* resources to stream logs out of.
* @property {string} [filter] An
* [advanced logs
* filter](https://cloud.google.com/logging/docs/view/advanced_filters). An
* empty filter matches all log entries.
* @property {number} [bufferWindow=2] A setting to balance the tradeoff
* between viewing the log entries as they are being written and viewing
* them in ascending order.
* @property {string} [log] A name of the log specifying to only return
* entries from this log.
* @property {object} [gaxOptions] Request configuration options, outlined
* here: https://googleapis.github.io/gax-nodejs/global.html#CallOptions.
*/
/**
* Streaming read of live logs as log entries are ingested. Until the stream
* is terminated, it will continue reading logs.
*
* @method Logging#tailEntries
* @param {TailEntriesRequest} [query] Query object for tailing entries.
* @returns {DuplexStream} A duplex stream that emits TailEntriesResponses
* containing an array of {@link Entry} instances.
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
*
* logging.tailEntries()
* .on('error', console.error)
* .on('data', resp => {
* console.log(resp.entries);
* console.log(resp.suppressionInfo);
* })
* .on('end', function() {
* // All entries retrieved.
* });
*
* //-
* // If you anticipate many results, you can end a stream early to prevent
* // unnecessary processing and API requests.
* //-
* logging.getEntriesStream()
* .on('data', function(entry) {
* this.end();
* });
* ```
*/
tailEntries(options = {}) {
const userStream = streamEvents(pumpify.obj());
let gaxStream;
userStream.abort = () => {
if (gaxStream && gaxStream.cancel) {
gaxStream.cancel();
}
};
const transformStream = new stream_1.Transform({
objectMode: true,
transform: (chunk, encoding, callback) => {
callback(null, (() => {
const formattedEntries = [];
chunk.entries.forEach((entry) => {
formattedEntries.push(entry_1.Entry.fromApiResponse_(entry));
});
const resp = {
entries: formattedEntries,
suppressionInfo: chunk.suppressionInfo
};
return resp;
})());
}
});
this.auth.getProjectId().then((projectId) => {
this.projectId = projectId;
if (options.log) {
if (options.filter) {
options.filter = `(${options.filter}) AND logName="${(0, log_common_1.formatLogName)(this.projectId, options.log)}"`;
} else {
options.filter = `logName="${(0, log_common_1.formatLogName)(this.projectId, options.log)}"`;
}
}
options.resourceNames = arrify2(options.resourceNames);
options.resourceNames.push(`projects/${this.projectId}`);
const writeOptions = {
resourceNames: options.resourceNames,
...options.filter && { filter: options.filter },
...options.bufferWindow && { bufferwindow: options.bufferWindow }
};
if (!global.GCLOUD_SANDBOX_ENV) {
gaxStream = this.loggingService.tailLogEntries(options.gaxOptions);
gaxStream.write(writeOptions);
userStream.setPipeline(gaxStream, transformStream);
}
});
return userStream;
}
async getLogs(opts) {
const options = opts ? opts : {};
this.projectId = await this.auth.getProjectId();
const reqOpts = extend4({}, options, {
parent: "projects/" + this.projectId
});
delete reqOpts.autoPaginate;
delete reqOpts.gaxOptions;
const gaxOptions = extend4({
autoPaginate: options.autoPaginate
}, options.gaxOptions);
const resp = await this.loggingService.listLogs(reqOpts, gaxOptions);
const [logs3] = resp;
if (logs3) {
resp[0] = logs3.map((logName) => this.log(logName));
}
return resp;
}
/**
* List the {@link Log} objects in your project as a readable object stream.
*
* @method Logging#getLogsStream
* @param {GetLogsRequest} [query] Query object for listing entries.
* @returns {ReadableStream} A readable stream that emits {@link Log}
* instances.
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
*
* logging.getLogsStream()
* .on('error', console.error)
* .on('data', log => {
* // `log` is a Cloud Logging log object.
* })
* .on('end', function() {
* // All logs retrieved.
* });
*
* //-
* // If you anticipate many results, you can end a stream early to prevent
* // unnecessary processing and API requests.
* //-
* logging.getLogsStream()
* .on('data', log => {
* this.end();
* });
* ```
*/
getLogsStream(options = {}) {
options = options || {};
let requestStream;
const userStream = streamEvents(pumpify.obj());
userStream.abort = () => {
if (requestStream) {
requestStream.abort();
}
};
const toLogStream = new stream_1.Transform({
objectMode: true,
transform: (chunk, encoding, callback) => {
callback(null, this.log(chunk));
}
});
userStream.once("reading", () => {
this.auth.getProjectId().then((projectId) => {
this.projectId = projectId;
const reqOpts = extend4({}, options, {
parent: "projects/" + this.projectId
});
delete reqOpts.gaxOptions;
const gaxOptions = extend4({
autoPaginate: options.autoPaginate
}, options.gaxOptions);
let gaxStream;
requestStream = streamEvents(new stream_1.PassThrough({ objectMode: true }));
requestStream.abort = () => {
if (gaxStream && gaxStream.cancel) {
gaxStream.cancel();
}
};
requestStream.once("reading", () => {
try {
gaxStream = this.loggingService.listLogsStream(reqOpts, gaxOptions);
} catch (error40) {
requestStream.destroy(error40);
return;
}
gaxStream.on("error", (err2) => {
requestStream.destroy(err2);
}).pipe(requestStream);
return;
});
userStream.setPipeline(requestStream, toLogStream);
});
});
return userStream;
}
async getSinks(opts) {
const options = opts ? opts : {};
this.projectId = await this.auth.getProjectId();
const reqOpts = extend4({}, options, {
parent: "projects/" + this.projectId
});
delete reqOpts.autoPaginate;
delete reqOpts.gaxOptions;
const gaxOptions = extend4({
autoPaginate: options.autoPaginate
}, options.gaxOptions);
const resp = await this.configService.listSinks(reqOpts, gaxOptions);
const [sinks] = resp;
if (sinks) {
resp[0] = sinks.map((sink) => {
const sinkInstance = this.sink(sink.name);
sinkInstance.metadata = sink;
return sinkInstance;
});
}
return resp;
}
/**
* Get the {@link Sink} objects associated with this project as a
* readable object stream.
*
* @method Logging#getSinksStream
* @param {GetSinksRequest} [query] Query object for listing sinks.
* @returns {ReadableStream} A readable stream that emits {@link Sink}
* instances.
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
*
* logging.getSinksStream()
* .on('error', console.error)
* .on('data', sink => {
* // `sink` is a Sink object.
* })
* .on('end', function() {
* // All sinks retrieved.
* });
*
* //-
* // If you anticipate many results, you can end a stream early to prevent
* // unnecessary processing and API requests.
* //-
* logging.getSinksStream()
* .on('data', function(sink) {
* this.end();
* });
* ```
*/
getSinksStream(options) {
const self2 = this;
options = options || {};
let requestStream;
const userStream = streamEvents(pumpify.obj());
userStream.abort = () => {
if (requestStream) {
requestStream.abort();
}
};
const toSinkStream = new stream_1.Transform({
objectMode: true,
transform: (chunk, encoding, callback) => {
const sinkInstance = self2.sink(chunk.name);
sinkInstance.metadata = chunk;
callback(null, sinkInstance);
}
});
userStream.once("reading", () => {
this.auth.getProjectId().then((projectId) => {
this.projectId = projectId;
const reqOpts = extend4({}, options, {
parent: "projects/" + self2.projectId
});
delete reqOpts.gaxOptions;
const gaxOptions = extend4({
autoPaginate: options.autoPaginate
}, options.gaxOptions);
let gaxStream;
requestStream = streamEvents(new stream_1.PassThrough({ objectMode: true }));
requestStream.abort = () => {
if (gaxStream && gaxStream.cancel) {
gaxStream.cancel();
}
};
if (!global.GCLOUD_SANDBOX_ENV) {
requestStream.once("reading", () => {
try {
gaxStream = this.configService.listSinksStream(reqOpts, gaxOptions);
} catch (error40) {
requestStream.destroy(error40);
return;
}
gaxStream.on("error", (err2) => {
requestStream.destroy(err2);
}).pipe(requestStream);
return;
});
}
userStream.setPipeline(requestStream, toSinkStream);
});
});
return userStream;
}
/**
* Get a reference to a Cloud Logging log.
*
* See {@link https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.logs|Log Overview}
*
* @param {string} name Name of the existing log.
* @param {object} [options] Configuration object.
* @param {boolean} [options.removeCircular] Replace circular references in
* logged objects with a string value, `[Circular]`. (Default: false)
* @returns {Log}
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const log = logging.log('my-log');
* ```
*/
log(name3, options) {
return new log_1.Log(this, name3, options);
}
/**
* Get a reference to a Cloud Logging logSync.
*
* @param {string} name Name of the existing log.
* @param {object} transport An optional write stream.
* @param {LogSyncOptions} options An optional configuration object.
* @returns {LogSync}
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
*
* // Optional: enrich logs with additional context
* await logging.setProjectId();
* await logging.setDetectedResource();
*
* // Default transport writes to process.stdout
* const log = logging.logSync('my-log');
* ```
*/
logSync(name3, transport, options) {
return new log_sync_1.LogSync(this, name3, transport, options);
}
/**
* Get a reference to a Cloud Logging sink.
*
* See {@link https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.sinks|Sink Overview}
*
* @param {string} name Name of the existing sink.
* @returns {Sink}
*
* @example
* ```
* const {Logging} = require('@google-cloud/logging');
* const logging = new Logging();
* const sink = logging.sink('my-sink');
* ```
*/
sink(name3) {
return new sink_1.Sink(this, name3);
}
/**
* Funnel all API requests through this method, to be sure we have a project
* ID.
*
* @param {object} config Configuration object.
* @param {object} config.gaxOpts GAX options.
* @param {function} config.method The gax method to call.
* @param {object} config.reqOpts Request options.
* @param {function} [callback] Callback function.
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
request(config2, callback) {
const self2 = this;
const isStreamMode = !callback;
let gaxStream;
let stream2;
if (isStreamMode) {
stream2 = streamEvents(new stream_1.PassThrough({ objectMode: true }));
stream2.abort = () => {
if (gaxStream && gaxStream.cancel) {
gaxStream.cancel();
}
};
stream2.once("reading", makeRequestStream);
} else {
makeRequestCallback();
}
function prepareGaxRequest(callback2) {
self2.auth.getProjectId((err2, projectId) => {
if (err2) {
callback2(err2);
return;
}
self2.projectId = projectId;
let gaxClient = self2.api[config2.client];
if (!gaxClient) {
gaxClient = new v2[config2.client](self2.options);
self2.api[config2.client] = gaxClient;
}
let reqOpts = extend4(true, {}, config2.reqOpts);
reqOpts = (0, projectify_1.replaceProjectIdToken)(reqOpts, projectId);
const requestFn = gaxClient[config2.method].bind(gaxClient, reqOpts, config2.gaxOpts);
callback2(null, requestFn);
});
}
function makeRequestCallback() {
if (global.GCLOUD_SANDBOX_ENV) {
return;
}
prepareGaxRequest((err2, requestFn) => {
if (err2) {
callback(err2);
return;
}
requestFn(callback);
});
}
function makeRequestStream() {
if (global.GCLOUD_SANDBOX_ENV) {
return new stream_1.PassThrough({ objectMode: true });
}
prepareGaxRequest((err2, requestFn) => {
if (err2) {
stream2.destroy(err2);
return;
}
gaxStream = requestFn();
gaxStream.on("error", (err3) => {
stream2.destroy(err3);
}).pipe(stream2);
});
return;
}
return stream2;
}
/**
* This method is called when creating a sink with a Bucket destination. The
* bucket must first grant proper ACL access to the Cloud Logging
* account.
*
* The parameters are the same as what {@link Logging#createSink} accepts.
*
* @private
*/
async setAclForBucket_(config2) {
const bucket = config2.destination;
await bucket.acl.owners.addGroup("cloud-logs@google.com");
config2.destination = "storage.googleapis.com/" + bucket.name;
}
/**
* This method is called when creating a sink with a Dataset destination. The
* dataset must first grant proper ACL access to the Cloud Logging
* account.
*
* The parameters are the same as what {@link Logging#createSink} accepts.
*
* @private
*/
async setAclForDataset_(config2) {
const dataset = config2.destination;
const [metadata2] = await dataset.getMetadata();
const access6 = [].slice.call(arrify2(metadata2.access));
access6.push({
role: "WRITER",
groupByEmail: "cloud-logs@google.com"
});
await dataset.setMetadata({
access: access6
});
const baseUrl = "bigquery.googleapis.com";
const pId = dataset.parent.projectId;
const dId = dataset.id;
config2.destination = `${baseUrl}/projects/${pId}/datasets/${dId}`;
}
/**
* This method is called when creating a sink with a Topic destination. The
* topic must first grant proper ACL access to the Cloud Logging
* account.
*
* The parameters are the same as what {@link Logging#createSink} accepts.
*
* @private
*/
async setAclForTopic_(config2) {
const topic = config2.destination;
const [policy] = await topic.iam.getPolicy();
policy.bindings = arrify2(policy.bindings);
policy.bindings.push({
role: "roles/pubsub.publisher",
members: ["serviceAccount:cloud-logs@system.gserviceaccount.com"]
});
await topic.iam.setPolicy(policy);
const baseUrl = "pubsub.googleapis.com";
const topicName = topic.name;
config2.destination = `${baseUrl}/${topicName}`;
}
/**
* setProjectId detects and sets a projectId string on the Logging instance.
* It can be invoked once to ensure ensuing LogSync entries have a projectID.
* @param reqOpts
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async setProjectId(reqOpts) {
if (this.projectId === "{{projectId}}")
this.projectId = await this.auth.getProjectId();
if (reqOpts)
reqOpts = (0, projectify_1.replaceProjectIdToken)(reqOpts, this.projectId);
}
/**
* setResource detects and sets a detectedresource object on the Logging
* instance. It can be invoked once to ensure ensuing LogSync entries contain
* resource context.
*/
async setDetectedResource() {
if (!this.detectedResource) {
this.detectedResource = await (0, metadata_1.getDefaultResource)(this.auth);
}
}
};
exports2.Logging = Logging2;
(0, promisify_1.callbackifyAll)(Logging2, {
exclude: ["request"]
});
paginator_1.paginator.extend(Logging2, ["getEntries", "getLogs", "getSinks"]);
module2.exports.v2 = v2;
var protos = require_protos3();
exports2.protos = protos;
__exportStar((init_esm(), __toCommonJS(esm_exports)), exports2);
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/codegen/code.js
var require_code = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/codegen/code.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.regexpCode = exports2.getEsmExportName = exports2.getProperty = exports2.safeStringify = exports2.stringify = exports2.strConcat = exports2.addCodeArg = exports2.str = exports2._ = exports2.nil = exports2._Code = exports2.Name = exports2.IDENTIFIER = exports2._CodeOrName = void 0;
var _CodeOrName = class {
};
exports2._CodeOrName = _CodeOrName;
exports2.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;
var Name = class extends _CodeOrName {
constructor(s2) {
super();
if (!exports2.IDENTIFIER.test(s2))
throw new Error("CodeGen: name must be a valid identifier");
this.str = s2;
}
toString() {
return this.str;
}
emptyStr() {
return false;
}
get names() {
return { [this.str]: 1 };
}
};
exports2.Name = Name;
var _Code = class extends _CodeOrName {
constructor(code) {
super();
this._items = typeof code === "string" ? [code] : code;
}
toString() {
return this.str;
}
emptyStr() {
if (this._items.length > 1)
return false;
const item = this._items[0];
return item === "" || item === '""';
}
get str() {
var _a4;
return (_a4 = this._str) !== null && _a4 !== void 0 ? _a4 : this._str = this._items.reduce((s2, c4) => `${s2}${c4}`, "");
}
get names() {
var _a4;
return (_a4 = this._names) !== null && _a4 !== void 0 ? _a4 : this._names = this._items.reduce((names, c4) => {
if (c4 instanceof Name)
names[c4.str] = (names[c4.str] || 0) + 1;
return names;
}, {});
}
};
exports2._Code = _Code;
exports2.nil = new _Code("");
function _(strs, ...args2) {
const code = [strs[0]];
let i3 = 0;
while (i3 < args2.length) {
addCodeArg(code, args2[i3]);
code.push(strs[++i3]);
}
return new _Code(code);
}
exports2._ = _;
var plus = new _Code("+");
function str2(strs, ...args2) {
const expr = [safeStringify(strs[0])];
let i3 = 0;
while (i3 < args2.length) {
expr.push(plus);
addCodeArg(expr, args2[i3]);
expr.push(plus, safeStringify(strs[++i3]));
}
optimize(expr);
return new _Code(expr);
}
exports2.str = str2;
function addCodeArg(code, arg) {
if (arg instanceof _Code)
code.push(...arg._items);
else if (arg instanceof Name)
code.push(arg);
else
code.push(interpolate(arg));
}
exports2.addCodeArg = addCodeArg;
function optimize(expr) {
let i3 = 1;
while (i3 < expr.length - 1) {
if (expr[i3] === plus) {
const res = mergeExprItems(expr[i3 - 1], expr[i3 + 1]);
if (res !== void 0) {
expr.splice(i3 - 1, 3, res);
continue;
}
expr[i3++] = "+";
}
i3++;
}
}
function mergeExprItems(a2, b) {
if (b === '""')
return a2;
if (a2 === '""')
return b;
if (typeof a2 == "string") {
if (b instanceof Name || a2[a2.length - 1] !== '"')
return;
if (typeof b != "string")
return `${a2.slice(0, -1)}${b}"`;
if (b[0] === '"')
return a2.slice(0, -1) + b.slice(1);
return;
}
if (typeof b == "string" && b[0] === '"' && !(a2 instanceof Name))
return `"${a2}${b.slice(1)}`;
return;
}
function strConcat(c1, c22) {
return c22.emptyStr() ? c1 : c1.emptyStr() ? c22 : str2`${c1}${c22}`;
}
exports2.strConcat = strConcat;
function interpolate(x) {
return typeof x == "number" || typeof x == "boolean" || x === null ? x : safeStringify(Array.isArray(x) ? x.join(",") : x);
}
function stringify3(x) {
return new _Code(safeStringify(x));
}
exports2.stringify = stringify3;
function safeStringify(x) {
return JSON.stringify(x).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
}
exports2.safeStringify = safeStringify;
function getProperty(key) {
return typeof key == "string" && exports2.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _`[${key}]`;
}
exports2.getProperty = getProperty;
function getEsmExportName(key) {
if (typeof key == "string" && exports2.IDENTIFIER.test(key)) {
return new _Code(`${key}`);
}
throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`);
}
exports2.getEsmExportName = getEsmExportName;
function regexpCode(rx) {
return new _Code(rx.toString());
}
exports2.regexpCode = regexpCode;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/codegen/scope.js
var require_scope = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/codegen/scope.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ValueScope = exports2.ValueScopeName = exports2.Scope = exports2.varKinds = exports2.UsedValueState = void 0;
var code_1 = require_code();
var ValueError = class extends Error {
constructor(name3) {
super(`CodeGen: "code" for ${name3} not defined`);
this.value = name3.value;
}
};
var UsedValueState;
(function(UsedValueState2) {
UsedValueState2[UsedValueState2["Started"] = 0] = "Started";
UsedValueState2[UsedValueState2["Completed"] = 1] = "Completed";
})(UsedValueState || (exports2.UsedValueState = UsedValueState = {}));
exports2.varKinds = {
const: new code_1.Name("const"),
let: new code_1.Name("let"),
var: new code_1.Name("var")
};
var Scope = class {
constructor({ prefixes, parent } = {}) {
this._names = {};
this._prefixes = prefixes;
this._parent = parent;
}
toName(nameOrPrefix) {
return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix);
}
name(prefix) {
return new code_1.Name(this._newName(prefix));
}
_newName(prefix) {
const ng = this._names[prefix] || this._nameGroup(prefix);
return `${prefix}${ng.index++}`;
}
_nameGroup(prefix) {
var _a4, _b;
if (((_b = (_a4 = this._parent) === null || _a4 === void 0 ? void 0 : _a4._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || this._prefixes && !this._prefixes.has(prefix)) {
throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`);
}
return this._names[prefix] = { prefix, index: 0 };
}
};
exports2.Scope = Scope;
var ValueScopeName = class extends code_1.Name {
constructor(prefix, nameStr) {
super(nameStr);
this.prefix = prefix;
}
setValue(value, { property, itemIndex }) {
this.value = value;
this.scopePath = (0, code_1._)`.${new code_1.Name(property)}[${itemIndex}]`;
}
};
exports2.ValueScopeName = ValueScopeName;
var line = (0, code_1._)`\n`;
var ValueScope = class extends Scope {
constructor(opts) {
super(opts);
this._values = {};
this._scope = opts.scope;
this.opts = { ...opts, _n: opts.lines ? line : code_1.nil };
}
get() {
return this._scope;
}
name(prefix) {
return new ValueScopeName(prefix, this._newName(prefix));
}
value(nameOrPrefix, value) {
var _a4;
if (value.ref === void 0)
throw new Error("CodeGen: ref must be passed in value");
const name3 = this.toName(nameOrPrefix);
const { prefix } = name3;
const valueKey = (_a4 = value.key) !== null && _a4 !== void 0 ? _a4 : value.ref;
let vs = this._values[prefix];
if (vs) {
const _name = vs.get(valueKey);
if (_name)
return _name;
} else {
vs = this._values[prefix] = /* @__PURE__ */ new Map();
}
vs.set(valueKey, name3);
const s2 = this._scope[prefix] || (this._scope[prefix] = []);
const itemIndex = s2.length;
s2[itemIndex] = value.ref;
name3.setValue(value, { property: prefix, itemIndex });
return name3;
}
getValue(prefix, keyOrRef) {
const vs = this._values[prefix];
if (!vs)
return;
return vs.get(keyOrRef);
}
scopeRefs(scopeName, values = this._values) {
return this._reduceValues(values, (name3) => {
if (name3.scopePath === void 0)
throw new Error(`CodeGen: name "${name3}" has no value`);
return (0, code_1._)`${scopeName}${name3.scopePath}`;
});
}
scopeCode(values = this._values, usedValues, getCode) {
return this._reduceValues(values, (name3) => {
if (name3.value === void 0)
throw new Error(`CodeGen: name "${name3}" has no value`);
return name3.value.code;
}, usedValues, getCode);
}
_reduceValues(values, valueCode, usedValues = {}, getCode) {
let code = code_1.nil;
for (const prefix in values) {
const vs = values[prefix];
if (!vs)
continue;
const nameSet = usedValues[prefix] = usedValues[prefix] || /* @__PURE__ */ new Map();
vs.forEach((name3) => {
if (nameSet.has(name3))
return;
nameSet.set(name3, UsedValueState.Started);
let c4 = valueCode(name3);
if (c4) {
const def = this.opts.es5 ? exports2.varKinds.var : exports2.varKinds.const;
code = (0, code_1._)`${code}${def} ${name3} = ${c4};${this.opts._n}`;
} else if (c4 = getCode === null || getCode === void 0 ? void 0 : getCode(name3)) {
code = (0, code_1._)`${code}${c4}${this.opts._n}`;
} else {
throw new ValueError(name3);
}
nameSet.set(name3, UsedValueState.Completed);
});
}
return code;
}
};
exports2.ValueScope = ValueScope;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/codegen/index.js
var require_codegen2 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/codegen/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.or = exports2.and = exports2.not = exports2.CodeGen = exports2.operators = exports2.varKinds = exports2.ValueScopeName = exports2.ValueScope = exports2.Scope = exports2.Name = exports2.regexpCode = exports2.stringify = exports2.getProperty = exports2.nil = exports2.strConcat = exports2.str = exports2._ = void 0;
var code_1 = require_code();
var scope_1 = require_scope();
var code_2 = require_code();
Object.defineProperty(exports2, "_", { enumerable: true, get: function() {
return code_2._;
} });
Object.defineProperty(exports2, "str", { enumerable: true, get: function() {
return code_2.str;
} });
Object.defineProperty(exports2, "strConcat", { enumerable: true, get: function() {
return code_2.strConcat;
} });
Object.defineProperty(exports2, "nil", { enumerable: true, get: function() {
return code_2.nil;
} });
Object.defineProperty(exports2, "getProperty", { enumerable: true, get: function() {
return code_2.getProperty;
} });
Object.defineProperty(exports2, "stringify", { enumerable: true, get: function() {
return code_2.stringify;
} });
Object.defineProperty(exports2, "regexpCode", { enumerable: true, get: function() {
return code_2.regexpCode;
} });
Object.defineProperty(exports2, "Name", { enumerable: true, get: function() {
return code_2.Name;
} });
var scope_2 = require_scope();
Object.defineProperty(exports2, "Scope", { enumerable: true, get: function() {
return scope_2.Scope;
} });
Object.defineProperty(exports2, "ValueScope", { enumerable: true, get: function() {
return scope_2.ValueScope;
} });
Object.defineProperty(exports2, "ValueScopeName", { enumerable: true, get: function() {
return scope_2.ValueScopeName;
} });
Object.defineProperty(exports2, "varKinds", { enumerable: true, get: function() {
return scope_2.varKinds;
} });
exports2.operators = {
GT: new code_1._Code(">"),
GTE: new code_1._Code(">="),
LT: new code_1._Code("<"),
LTE: new code_1._Code("<="),
EQ: new code_1._Code("==="),
NEQ: new code_1._Code("!=="),
NOT: new code_1._Code("!"),
OR: new code_1._Code("||"),
AND: new code_1._Code("&&"),
ADD: new code_1._Code("+")
};
var Node3 = class {
optimizeNodes() {
return this;
}
optimizeNames(_names, _constants) {
return this;
}
};
var Def = class extends Node3 {
constructor(varKind, name3, rhs) {
super();
this.varKind = varKind;
this.name = name3;
this.rhs = rhs;
}
render({ es5, _n }) {
const varKind = es5 ? scope_1.varKinds.var : this.varKind;
const rhs = this.rhs === void 0 ? "" : ` = ${this.rhs}`;
return `${varKind} ${this.name}${rhs};` + _n;
}
optimizeNames(names, constants5) {
if (!names[this.name.str])
return;
if (this.rhs)
this.rhs = optimizeExpr(this.rhs, names, constants5);
return this;
}
get names() {
return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {};
}
};
var Assign = class extends Node3 {
constructor(lhs, rhs, sideEffects) {
super();
this.lhs = lhs;
this.rhs = rhs;
this.sideEffects = sideEffects;
}
render({ _n }) {
return `${this.lhs} = ${this.rhs};` + _n;
}
optimizeNames(names, constants5) {
if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects)
return;
this.rhs = optimizeExpr(this.rhs, names, constants5);
return this;
}
get names() {
const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names };
return addExprNames(names, this.rhs);
}
};
var AssignOp = class extends Assign {
constructor(lhs, op, rhs, sideEffects) {
super(lhs, rhs, sideEffects);
this.op = op;
}
render({ _n }) {
return `${this.lhs} ${this.op}= ${this.rhs};` + _n;
}
};
var Label = class extends Node3 {
constructor(label) {
super();
this.label = label;
this.names = {};
}
render({ _n }) {
return `${this.label}:` + _n;
}
};
var Break = class extends Node3 {
constructor(label) {
super();
this.label = label;
this.names = {};
}
render({ _n }) {
const label = this.label ? ` ${this.label}` : "";
return `break${label};` + _n;
}
};
var Throw = class extends Node3 {
constructor(error40) {
super();
this.error = error40;
}
render({ _n }) {
return `throw ${this.error};` + _n;
}
get names() {
return this.error.names;
}
};
var AnyCode = class extends Node3 {
constructor(code) {
super();
this.code = code;
}
render({ _n }) {
return `${this.code};` + _n;
}
optimizeNodes() {
return `${this.code}` ? this : void 0;
}
optimizeNames(names, constants5) {
this.code = optimizeExpr(this.code, names, constants5);
return this;
}
get names() {
return this.code instanceof code_1._CodeOrName ? this.code.names : {};
}
};
var ParentNode = class extends Node3 {
constructor(nodes = []) {
super();
this.nodes = nodes;
}
render(opts) {
return this.nodes.reduce((code, n3) => code + n3.render(opts), "");
}
optimizeNodes() {
const { nodes } = this;
let i3 = nodes.length;
while (i3--) {
const n3 = nodes[i3].optimizeNodes();
if (Array.isArray(n3))
nodes.splice(i3, 1, ...n3);
else if (n3)
nodes[i3] = n3;
else
nodes.splice(i3, 1);
}
return nodes.length > 0 ? this : void 0;
}
optimizeNames(names, constants5) {
const { nodes } = this;
let i3 = nodes.length;
while (i3--) {
const n3 = nodes[i3];
if (n3.optimizeNames(names, constants5))
continue;
subtractNames(names, n3.names);
nodes.splice(i3, 1);
}
return nodes.length > 0 ? this : void 0;
}
get names() {
return this.nodes.reduce((names, n3) => addNames(names, n3.names), {});
}
};
var BlockNode = class extends ParentNode {
render(opts) {
return "{" + opts._n + super.render(opts) + "}" + opts._n;
}
};
var Root2 = class extends ParentNode {
};
var Else = class extends BlockNode {
};
Else.kind = "else";
var If = class _If extends BlockNode {
constructor(condition, nodes) {
super(nodes);
this.condition = condition;
}
render(opts) {
let code = `if(${this.condition})` + super.render(opts);
if (this.else)
code += "else " + this.else.render(opts);
return code;
}
optimizeNodes() {
super.optimizeNodes();
const cond = this.condition;
if (cond === true)
return this.nodes;
let e2 = this.else;
if (e2) {
const ns = e2.optimizeNodes();
e2 = this.else = Array.isArray(ns) ? new Else(ns) : ns;
}
if (e2) {
if (cond === false)
return e2 instanceof _If ? e2 : e2.nodes;
if (this.nodes.length)
return this;
return new _If(not(cond), e2 instanceof _If ? [e2] : e2.nodes);
}
if (cond === false || !this.nodes.length)
return void 0;
return this;
}
optimizeNames(names, constants5) {
var _a4;
this.else = (_a4 = this.else) === null || _a4 === void 0 ? void 0 : _a4.optimizeNames(names, constants5);
if (!(super.optimizeNames(names, constants5) || this.else))
return;
this.condition = optimizeExpr(this.condition, names, constants5);
return this;
}
get names() {
const names = super.names;
addExprNames(names, this.condition);
if (this.else)
addNames(names, this.else.names);
return names;
}
};
If.kind = "if";
var For = class extends BlockNode {
};
For.kind = "for";
var ForLoop = class extends For {
constructor(iteration) {
super();
this.iteration = iteration;
}
render(opts) {
return `for(${this.iteration})` + super.render(opts);
}
optimizeNames(names, constants5) {
if (!super.optimizeNames(names, constants5))
return;
this.iteration = optimizeExpr(this.iteration, names, constants5);
return this;
}
get names() {
return addNames(super.names, this.iteration.names);
}
};
var ForRange = class extends For {
constructor(varKind, name3, from, to) {
super();
this.varKind = varKind;
this.name = name3;
this.from = from;
this.to = to;
}
render(opts) {
const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind;
const { name: name3, from, to } = this;
return `for(${varKind} ${name3}=${from}; ${name3}<${to}; ${name3}++)` + super.render(opts);
}
get names() {
const names = addExprNames(super.names, this.from);
return addExprNames(names, this.to);
}
};
var ForIter = class extends For {
constructor(loop, varKind, name3, iterable) {
super();
this.loop = loop;
this.varKind = varKind;
this.name = name3;
this.iterable = iterable;
}
render(opts) {
return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts);
}
optimizeNames(names, constants5) {
if (!super.optimizeNames(names, constants5))
return;
this.iterable = optimizeExpr(this.iterable, names, constants5);
return this;
}
get names() {
return addNames(super.names, this.iterable.names);
}
};
var Func = class extends BlockNode {
constructor(name3, args2, async) {
super();
this.name = name3;
this.args = args2;
this.async = async;
}
render(opts) {
const _async = this.async ? "async " : "";
return `${_async}function ${this.name}(${this.args})` + super.render(opts);
}
};
Func.kind = "func";
var Return = class extends ParentNode {
render(opts) {
return "return " + super.render(opts);
}
};
Return.kind = "return";
var Try = class extends BlockNode {
render(opts) {
let code = "try" + super.render(opts);
if (this.catch)
code += this.catch.render(opts);
if (this.finally)
code += this.finally.render(opts);
return code;
}
optimizeNodes() {
var _a4, _b;
super.optimizeNodes();
(_a4 = this.catch) === null || _a4 === void 0 ? void 0 : _a4.optimizeNodes();
(_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes();
return this;
}
optimizeNames(names, constants5) {
var _a4, _b;
super.optimizeNames(names, constants5);
(_a4 = this.catch) === null || _a4 === void 0 ? void 0 : _a4.optimizeNames(names, constants5);
(_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants5);
return this;
}
get names() {
const names = super.names;
if (this.catch)
addNames(names, this.catch.names);
if (this.finally)
addNames(names, this.finally.names);
return names;
}
};
var Catch = class extends BlockNode {
constructor(error40) {
super();
this.error = error40;
}
render(opts) {
return `catch(${this.error})` + super.render(opts);
}
};
Catch.kind = "catch";
var Finally = class extends BlockNode {
render(opts) {
return "finally" + super.render(opts);
}
};
Finally.kind = "finally";
var CodeGen = class {
constructor(extScope, opts = {}) {
this._values = {};
this._blockStarts = [];
this._constants = {};
this.opts = { ...opts, _n: opts.lines ? "\n" : "" };
this._extScope = extScope;
this._scope = new scope_1.Scope({ parent: extScope });
this._nodes = [new Root2()];
}
toString() {
return this._root.render(this.opts);
}
// returns unique name in the internal scope
name(prefix) {
return this._scope.name(prefix);
}
// reserves unique name in the external scope
scopeName(prefix) {
return this._extScope.name(prefix);
}
// reserves unique name in the external scope and assigns value to it
scopeValue(prefixOrName, value) {
const name3 = this._extScope.value(prefixOrName, value);
const vs = this._values[name3.prefix] || (this._values[name3.prefix] = /* @__PURE__ */ new Set());
vs.add(name3);
return name3;
}
getScopeValue(prefix, keyOrRef) {
return this._extScope.getValue(prefix, keyOrRef);
}
// return code that assigns values in the external scope to the names that are used internally
// (same names that were returned by gen.scopeName or gen.scopeValue)
scopeRefs(scopeName) {
return this._extScope.scopeRefs(scopeName, this._values);
}
scopeCode() {
return this._extScope.scopeCode(this._values);
}
_def(varKind, nameOrPrefix, rhs, constant) {
const name3 = this._scope.toName(nameOrPrefix);
if (rhs !== void 0 && constant)
this._constants[name3.str] = rhs;
this._leafNode(new Def(varKind, name3, rhs));
return name3;
}
// `const` declaration (`var` in es5 mode)
const(nameOrPrefix, rhs, _constant) {
return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant);
}
// `let` declaration with optional assignment (`var` in es5 mode)
let(nameOrPrefix, rhs, _constant) {
return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant);
}
// `var` declaration with optional assignment
var(nameOrPrefix, rhs, _constant) {
return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant);
}
// assignment code
assign(lhs, rhs, sideEffects) {
return this._leafNode(new Assign(lhs, rhs, sideEffects));
}
// `+=` code
add(lhs, rhs) {
return this._leafNode(new AssignOp(lhs, exports2.operators.ADD, rhs));
}
// appends passed SafeExpr to code or executes Block
code(c4) {
if (typeof c4 == "function")
c4();
else if (c4 !== code_1.nil)
this._leafNode(new AnyCode(c4));
return this;
}
// returns code for object literal for the passed argument list of key-value pairs
object(...keyValues) {
const code = ["{"];
for (const [key, value] of keyValues) {
if (code.length > 1)
code.push(",");
code.push(key);
if (key !== value || this.opts.es5) {
code.push(":");
(0, code_1.addCodeArg)(code, value);
}
}
code.push("}");
return new code_1._Code(code);
}
// `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)
if(condition, thenBody, elseBody) {
this._blockNode(new If(condition));
if (thenBody && elseBody) {
this.code(thenBody).else().code(elseBody).endIf();
} else if (thenBody) {
this.code(thenBody).endIf();
} else if (elseBody) {
throw new Error('CodeGen: "else" body without "then" body');
}
return this;
}
// `else if` clause - invalid without `if` or after `else` clauses
elseIf(condition) {
return this._elseNode(new If(condition));
}
// `else` clause - only valid after `if` or `else if` clauses
else() {
return this._elseNode(new Else());
}
// end `if` statement (needed if gen.if was used only with condition)
endIf() {
return this._endBlockNode(If, Else);
}
_for(node, forBody) {
this._blockNode(node);
if (forBody)
this.code(forBody).endFor();
return this;
}
// a generic `for` clause (or statement if `forBody` is passed)
for(iteration, forBody) {
return this._for(new ForLoop(iteration), forBody);
}
// `for` statement for a range of values
forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) {
const name3 = this._scope.toName(nameOrPrefix);
return this._for(new ForRange(varKind, name3, from, to), () => forBody(name3));
}
// `for-of` statement (in es5 mode replace with a normal for loop)
forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) {
const name3 = this._scope.toName(nameOrPrefix);
if (this.opts.es5) {
const arr = iterable instanceof code_1.Name ? iterable : this.var("_arr", iterable);
return this.forRange("_i", 0, (0, code_1._)`${arr}.length`, (i3) => {
this.var(name3, (0, code_1._)`${arr}[${i3}]`);
forBody(name3);
});
}
return this._for(new ForIter("of", varKind, name3, iterable), () => forBody(name3));
}
// `for-in` statement.
// With option `ownProperties` replaced with a `for-of` loop for object keys
forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) {
if (this.opts.ownProperties) {
return this.forOf(nameOrPrefix, (0, code_1._)`Object.keys(${obj})`, forBody);
}
const name3 = this._scope.toName(nameOrPrefix);
return this._for(new ForIter("in", varKind, name3, obj), () => forBody(name3));
}
// end `for` loop
endFor() {
return this._endBlockNode(For);
}
// `label` statement
label(label) {
return this._leafNode(new Label(label));
}
// `break` statement
break(label) {
return this._leafNode(new Break(label));
}
// `return` statement
return(value) {
const node = new Return();
this._blockNode(node);
this.code(value);
if (node.nodes.length !== 1)
throw new Error('CodeGen: "return" should have one node');
return this._endBlockNode(Return);
}
// `try` statement
try(tryBody, catchCode, finallyCode) {
if (!catchCode && !finallyCode)
throw new Error('CodeGen: "try" without "catch" and "finally"');
const node = new Try();
this._blockNode(node);
this.code(tryBody);
if (catchCode) {
const error40 = this.name("e");
this._currNode = node.catch = new Catch(error40);
catchCode(error40);
}
if (finallyCode) {
this._currNode = node.finally = new Finally();
this.code(finallyCode);
}
return this._endBlockNode(Catch, Finally);
}
// `throw` statement
throw(error40) {
return this._leafNode(new Throw(error40));
}
// start self-balancing block
block(body2, nodeCount) {
this._blockStarts.push(this._nodes.length);
if (body2)
this.code(body2).endBlock(nodeCount);
return this;
}
// end the current self-balancing block
endBlock(nodeCount) {
const len = this._blockStarts.pop();
if (len === void 0)
throw new Error("CodeGen: not in self-balancing block");
const toClose = this._nodes.length - len;
if (toClose < 0 || nodeCount !== void 0 && toClose !== nodeCount) {
throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`);
}
this._nodes.length = len;
return this;
}
// `function` heading (or definition if funcBody is passed)
func(name3, args2 = code_1.nil, async, funcBody) {
this._blockNode(new Func(name3, args2, async));
if (funcBody)
this.code(funcBody).endFunc();
return this;
}
// end function definition
endFunc() {
return this._endBlockNode(Func);
}
optimize(n3 = 1) {
while (n3-- > 0) {
this._root.optimizeNodes();
this._root.optimizeNames(this._root.names, this._constants);
}
}
_leafNode(node) {
this._currNode.nodes.push(node);
return this;
}
_blockNode(node) {
this._currNode.nodes.push(node);
this._nodes.push(node);
}
_endBlockNode(N1, N2) {
const n3 = this._currNode;
if (n3 instanceof N1 || N2 && n3 instanceof N2) {
this._nodes.pop();
return this;
}
throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`);
}
_elseNode(node) {
const n3 = this._currNode;
if (!(n3 instanceof If)) {
throw new Error('CodeGen: "else" without "if"');
}
this._currNode = n3.else = node;
return this;
}
get _root() {
return this._nodes[0];
}
get _currNode() {
const ns = this._nodes;
return ns[ns.length - 1];
}
set _currNode(node) {
const ns = this._nodes;
ns[ns.length - 1] = node;
}
};
exports2.CodeGen = CodeGen;
function addNames(names, from) {
for (const n3 in from)
names[n3] = (names[n3] || 0) + (from[n3] || 0);
return names;
}
function addExprNames(names, from) {
return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names;
}
function optimizeExpr(expr, names, constants5) {
if (expr instanceof code_1.Name)
return replaceName(expr);
if (!canOptimize(expr))
return expr;
return new code_1._Code(expr._items.reduce((items, c4) => {
if (c4 instanceof code_1.Name)
c4 = replaceName(c4);
if (c4 instanceof code_1._Code)
items.push(...c4._items);
else
items.push(c4);
return items;
}, []));
function replaceName(n3) {
const c4 = constants5[n3.str];
if (c4 === void 0 || names[n3.str] !== 1)
return n3;
delete names[n3.str];
return c4;
}
function canOptimize(e2) {
return e2 instanceof code_1._Code && e2._items.some((c4) => c4 instanceof code_1.Name && names[c4.str] === 1 && constants5[c4.str] !== void 0);
}
}
function subtractNames(names, from) {
for (const n3 in from)
names[n3] = (names[n3] || 0) - (from[n3] || 0);
}
function not(x) {
return typeof x == "boolean" || typeof x == "number" || x === null ? !x : (0, code_1._)`!${par(x)}`;
}
exports2.not = not;
var andCode = mappend(exports2.operators.AND);
function and(...args2) {
return args2.reduce(andCode);
}
exports2.and = and;
var orCode = mappend(exports2.operators.OR);
function or(...args2) {
return args2.reduce(orCode);
}
exports2.or = or;
function mappend(op) {
return (x, y) => x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._)`${par(x)} ${op} ${par(y)}`;
}
function par(x) {
return x instanceof code_1.Name ? x : (0, code_1._)`(${x})`;
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/util.js
var require_util12 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.checkStrictMode = exports2.getErrorPath = exports2.Type = exports2.useFunc = exports2.setEvaluated = exports2.evaluatedPropsToName = exports2.mergeEvaluated = exports2.eachItem = exports2.unescapeJsonPointer = exports2.escapeJsonPointer = exports2.escapeFragment = exports2.unescapeFragment = exports2.schemaRefOrVal = exports2.schemaHasRulesButRef = exports2.schemaHasRules = exports2.checkUnknownRules = exports2.alwaysValidSchema = exports2.toHash = void 0;
var codegen_1 = require_codegen2();
var code_1 = require_code();
function toHash(arr) {
const hash = {};
for (const item of arr)
hash[item] = true;
return hash;
}
exports2.toHash = toHash;
function alwaysValidSchema(it, schema2) {
if (typeof schema2 == "boolean")
return schema2;
if (Object.keys(schema2).length === 0)
return true;
checkUnknownRules(it, schema2);
return !schemaHasRules(schema2, it.self.RULES.all);
}
exports2.alwaysValidSchema = alwaysValidSchema;
function checkUnknownRules(it, schema2 = it.schema) {
const { opts, self: self2 } = it;
if (!opts.strictSchema)
return;
if (typeof schema2 === "boolean")
return;
const rules = self2.RULES.keywords;
for (const key in schema2) {
if (!rules[key])
checkStrictMode(it, `unknown keyword: "${key}"`);
}
}
exports2.checkUnknownRules = checkUnknownRules;
function schemaHasRules(schema2, rules) {
if (typeof schema2 == "boolean")
return !schema2;
for (const key in schema2)
if (rules[key])
return true;
return false;
}
exports2.schemaHasRules = schemaHasRules;
function schemaHasRulesButRef(schema2, RULES) {
if (typeof schema2 == "boolean")
return !schema2;
for (const key in schema2)
if (key !== "$ref" && RULES.all[key])
return true;
return false;
}
exports2.schemaHasRulesButRef = schemaHasRulesButRef;
function schemaRefOrVal({ topSchemaRef, schemaPath }, schema2, keyword, $data) {
if (!$data) {
if (typeof schema2 == "number" || typeof schema2 == "boolean")
return schema2;
if (typeof schema2 == "string")
return (0, codegen_1._)`${schema2}`;
}
return (0, codegen_1._)`${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`;
}
exports2.schemaRefOrVal = schemaRefOrVal;
function unescapeFragment(str2) {
return unescapeJsonPointer(decodeURIComponent(str2));
}
exports2.unescapeFragment = unescapeFragment;
function escapeFragment(str2) {
return encodeURIComponent(escapeJsonPointer(str2));
}
exports2.escapeFragment = escapeFragment;
function escapeJsonPointer(str2) {
if (typeof str2 == "number")
return `${str2}`;
return str2.replace(/~/g, "~0").replace(/\//g, "~1");
}
exports2.escapeJsonPointer = escapeJsonPointer;
function unescapeJsonPointer(str2) {
return str2.replace(/~1/g, "/").replace(/~0/g, "~");
}
exports2.unescapeJsonPointer = unescapeJsonPointer;
function eachItem(xs, f) {
if (Array.isArray(xs)) {
for (const x of xs)
f(x);
} else {
f(xs);
}
}
exports2.eachItem = eachItem;
function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues: mergeValues2, resultToName }) {
return (gen, from, to, toName) => {
const res = to === void 0 ? from : to instanceof codegen_1.Name ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) : from instanceof codegen_1.Name ? (mergeToName(gen, to, from), from) : mergeValues2(from, to);
return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res;
};
}
exports2.mergeEvaluated = {
props: makeMergeEvaluated({
mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => {
gen.if((0, codegen_1._)`${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._)`${to} || {}`).code((0, codegen_1._)`Object.assign(${to}, ${from})`));
}),
mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => {
if (from === true) {
gen.assign(to, true);
} else {
gen.assign(to, (0, codegen_1._)`${to} || {}`);
setEvaluated(gen, to, from);
}
}),
mergeValues: (from, to) => from === true ? true : { ...from, ...to },
resultToName: evaluatedPropsToName
}),
items: makeMergeEvaluated({
mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._)`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)),
mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._)`${to} > ${from} ? ${to} : ${from}`)),
mergeValues: (from, to) => from === true ? true : Math.max(from, to),
resultToName: (gen, items) => gen.var("items", items)
})
};
function evaluatedPropsToName(gen, ps) {
if (ps === true)
return gen.var("props", true);
const props = gen.var("props", (0, codegen_1._)`{}`);
if (ps !== void 0)
setEvaluated(gen, props, ps);
return props;
}
exports2.evaluatedPropsToName = evaluatedPropsToName;
function setEvaluated(gen, props, ps) {
Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._)`${props}${(0, codegen_1.getProperty)(p)}`, true));
}
exports2.setEvaluated = setEvaluated;
var snippets = {};
function useFunc(gen, f) {
return gen.scopeValue("func", {
ref: f,
code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code))
});
}
exports2.useFunc = useFunc;
var Type2;
(function(Type3) {
Type3[Type3["Num"] = 0] = "Num";
Type3[Type3["Str"] = 1] = "Str";
})(Type2 || (exports2.Type = Type2 = {}));
function getErrorPath(dataProp, dataPropType, jsPropertySyntax) {
if (dataProp instanceof codegen_1.Name) {
const isNumber3 = dataPropType === Type2.Num;
return jsPropertySyntax ? isNumber3 ? (0, codegen_1._)`"[" + ${dataProp} + "]"` : (0, codegen_1._)`"['" + ${dataProp} + "']"` : isNumber3 ? (0, codegen_1._)`"/" + ${dataProp}` : (0, codegen_1._)`"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`;
}
return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp);
}
exports2.getErrorPath = getErrorPath;
function checkStrictMode(it, msg, mode = it.opts.strictSchema) {
if (!mode)
return;
msg = `strict mode: ${msg}`;
if (mode === true)
throw new Error(msg);
it.self.logger.warn(msg);
}
exports2.checkStrictMode = checkStrictMode;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/names.js
var require_names = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/names.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var names = {
// validation function arguments
data: new codegen_1.Name("data"),
// data passed to validation function
// args passed from referencing schema
valCxt: new codegen_1.Name("valCxt"),
// validation/data context - should not be used directly, it is destructured to the names below
instancePath: new codegen_1.Name("instancePath"),
parentData: new codegen_1.Name("parentData"),
parentDataProperty: new codegen_1.Name("parentDataProperty"),
rootData: new codegen_1.Name("rootData"),
// root data - same as the data passed to the first/top validation function
dynamicAnchors: new codegen_1.Name("dynamicAnchors"),
// used to support recursiveRef and dynamicRef
// function scoped variables
vErrors: new codegen_1.Name("vErrors"),
// null or array of validation errors
errors: new codegen_1.Name("errors"),
// counter of validation errors
this: new codegen_1.Name("this"),
// "globals"
self: new codegen_1.Name("self"),
scope: new codegen_1.Name("scope"),
// JTD serialize/parse name for JSON string and position
json: new codegen_1.Name("json"),
jsonPos: new codegen_1.Name("jsonPos"),
jsonLen: new codegen_1.Name("jsonLen"),
jsonPart: new codegen_1.Name("jsonPart")
};
exports2.default = names;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/errors.js
var require_errors3 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/errors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.extendErrors = exports2.resetErrorsCount = exports2.reportExtraError = exports2.reportError = exports2.keyword$DataError = exports2.keywordError = void 0;
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var names_1 = require_names();
exports2.keywordError = {
message: ({ keyword }) => (0, codegen_1.str)`must pass "${keyword}" keyword validation`
};
exports2.keyword$DataError = {
message: ({ keyword, schemaType }) => schemaType ? (0, codegen_1.str)`"${keyword}" keyword must be ${schemaType} ($data)` : (0, codegen_1.str)`"${keyword}" keyword is invalid ($data)`
};
function reportError2(cxt, error40 = exports2.keywordError, errorPaths, overrideAllErrors) {
const { it } = cxt;
const { gen, compositeRule, allErrors } = it;
const errObj = errorObjectCode(cxt, error40, errorPaths);
if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : compositeRule || allErrors) {
addError(gen, errObj);
} else {
returnErrors(it, (0, codegen_1._)`[${errObj}]`);
}
}
exports2.reportError = reportError2;
function reportExtraError(cxt, error40 = exports2.keywordError, errorPaths) {
const { it } = cxt;
const { gen, compositeRule, allErrors } = it;
const errObj = errorObjectCode(cxt, error40, errorPaths);
addError(gen, errObj);
if (!(compositeRule || allErrors)) {
returnErrors(it, names_1.default.vErrors);
}
}
exports2.reportExtraError = reportExtraError;
function resetErrorsCount(gen, errsCount) {
gen.assign(names_1.default.errors, errsCount);
gen.if((0, codegen_1._)`${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._)`${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null)));
}
exports2.resetErrorsCount = resetErrorsCount;
function extendErrors({ gen, keyword, schemaValue, data, errsCount, it }) {
if (errsCount === void 0)
throw new Error("ajv implementation error");
const err2 = gen.name("err");
gen.forRange("i", errsCount, names_1.default.errors, (i3) => {
gen.const(err2, (0, codegen_1._)`${names_1.default.vErrors}[${i3}]`);
gen.if((0, codegen_1._)`${err2}.instancePath === undefined`, () => gen.assign((0, codegen_1._)`${err2}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath)));
gen.assign((0, codegen_1._)`${err2}.schemaPath`, (0, codegen_1.str)`${it.errSchemaPath}/${keyword}`);
if (it.opts.verbose) {
gen.assign((0, codegen_1._)`${err2}.schema`, schemaValue);
gen.assign((0, codegen_1._)`${err2}.data`, data);
}
});
}
exports2.extendErrors = extendErrors;
function addError(gen, errObj) {
const err2 = gen.const("err", errObj);
gen.if((0, codegen_1._)`${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._)`[${err2}]`), (0, codegen_1._)`${names_1.default.vErrors}.push(${err2})`);
gen.code((0, codegen_1._)`${names_1.default.errors}++`);
}
function returnErrors(it, errs) {
const { gen, validateName, schemaEnv } = it;
if (schemaEnv.$async) {
gen.throw((0, codegen_1._)`new ${it.ValidationError}(${errs})`);
} else {
gen.assign((0, codegen_1._)`${validateName}.errors`, errs);
gen.return(false);
}
}
var E = {
keyword: new codegen_1.Name("keyword"),
schemaPath: new codegen_1.Name("schemaPath"),
// also used in JTD errors
params: new codegen_1.Name("params"),
propertyName: new codegen_1.Name("propertyName"),
message: new codegen_1.Name("message"),
schema: new codegen_1.Name("schema"),
parentSchema: new codegen_1.Name("parentSchema")
};
function errorObjectCode(cxt, error40, errorPaths) {
const { createErrors } = cxt.it;
if (createErrors === false)
return (0, codegen_1._)`{}`;
return errorObject(cxt, error40, errorPaths);
}
function errorObject(cxt, error40, errorPaths = {}) {
const { gen, it } = cxt;
const keyValues = [
errorInstancePath(it, errorPaths),
errorSchemaPath(cxt, errorPaths)
];
extraErrorProps(cxt, error40, keyValues);
return gen.object(...keyValues);
}
function errorInstancePath({ errorPath }, { instancePath }) {
const instPath = instancePath ? (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}` : errorPath;
return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)];
}
function errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) {
let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str)`${errSchemaPath}/${keyword}`;
if (schemaPath) {
schPath = (0, codegen_1.str)`${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`;
}
return [E.schemaPath, schPath];
}
function extraErrorProps(cxt, { params, message }, keyValues) {
const { keyword, data, schemaValue, it } = cxt;
const { opts, propertyName, topSchemaRef, schemaPath } = it;
keyValues.push([E.keyword, keyword], [E.params, typeof params == "function" ? params(cxt) : params || (0, codegen_1._)`{}`]);
if (opts.messages) {
keyValues.push([E.message, typeof message == "function" ? message(cxt) : message]);
}
if (opts.verbose) {
keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._)`${topSchemaRef}${schemaPath}`], [names_1.default.data, data]);
}
if (propertyName)
keyValues.push([E.propertyName, propertyName]);
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/boolSchema.js
var require_boolSchema = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.boolOrEmptySchema = exports2.topBoolOrEmptySchema = void 0;
var errors_1 = require_errors3();
var codegen_1 = require_codegen2();
var names_1 = require_names();
var boolError = {
message: "boolean schema is false"
};
function topBoolOrEmptySchema(it) {
const { gen, schema: schema2, validateName } = it;
if (schema2 === false) {
falseSchemaError(it, false);
} else if (typeof schema2 == "object" && schema2.$async === true) {
gen.return(names_1.default.data);
} else {
gen.assign((0, codegen_1._)`${validateName}.errors`, null);
gen.return(true);
}
}
exports2.topBoolOrEmptySchema = topBoolOrEmptySchema;
function boolOrEmptySchema(it, valid) {
const { gen, schema: schema2 } = it;
if (schema2 === false) {
gen.var(valid, false);
falseSchemaError(it);
} else {
gen.var(valid, true);
}
}
exports2.boolOrEmptySchema = boolOrEmptySchema;
function falseSchemaError(it, overrideAllErrors) {
const { gen, data } = it;
const cxt = {
gen,
keyword: "false schema",
data,
schema: false,
schemaCode: false,
schemaValue: false,
params: {},
it
};
(0, errors_1.reportError)(cxt, boolError, void 0, overrideAllErrors);
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/rules.js
var require_rules = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/rules.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getRules = exports2.isJSONType = void 0;
var _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"];
var jsonTypes = new Set(_jsonTypes);
function isJSONType(x) {
return typeof x == "string" && jsonTypes.has(x);
}
exports2.isJSONType = isJSONType;
function getRules() {
const groups = {
number: { type: "number", rules: [] },
string: { type: "string", rules: [] },
array: { type: "array", rules: [] },
object: { type: "object", rules: [] }
};
return {
types: { ...groups, integer: true, boolean: true, null: true },
rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object],
post: { rules: [] },
all: {},
keywords: {}
};
}
exports2.getRules = getRules;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/applicability.js
var require_applicability = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/applicability.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.shouldUseRule = exports2.shouldUseGroup = exports2.schemaHasRulesForType = void 0;
function schemaHasRulesForType({ schema: schema2, self: self2 }, type2) {
const group = self2.RULES.types[type2];
return group && group !== true && shouldUseGroup(schema2, group);
}
exports2.schemaHasRulesForType = schemaHasRulesForType;
function shouldUseGroup(schema2, group) {
return group.rules.some((rule) => shouldUseRule(schema2, rule));
}
exports2.shouldUseGroup = shouldUseGroup;
function shouldUseRule(schema2, rule) {
var _a4;
return schema2[rule.keyword] !== void 0 || ((_a4 = rule.definition.implements) === null || _a4 === void 0 ? void 0 : _a4.some((kwd) => schema2[kwd] !== void 0));
}
exports2.shouldUseRule = shouldUseRule;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/dataType.js
var require_dataType = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/dataType.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.reportTypeError = exports2.checkDataTypes = exports2.checkDataType = exports2.coerceAndCheckDataType = exports2.getJSONTypes = exports2.getSchemaTypes = exports2.DataType = void 0;
var rules_1 = require_rules();
var applicability_1 = require_applicability();
var errors_1 = require_errors3();
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var DataType;
(function(DataType2) {
DataType2[DataType2["Correct"] = 0] = "Correct";
DataType2[DataType2["Wrong"] = 1] = "Wrong";
})(DataType || (exports2.DataType = DataType = {}));
function getSchemaTypes(schema2) {
const types3 = getJSONTypes(schema2.type);
const hasNull = types3.includes("null");
if (hasNull) {
if (schema2.nullable === false)
throw new Error("type: null contradicts nullable: false");
} else {
if (!types3.length && schema2.nullable !== void 0) {
throw new Error('"nullable" cannot be used without "type"');
}
if (schema2.nullable === true)
types3.push("null");
}
return types3;
}
exports2.getSchemaTypes = getSchemaTypes;
function getJSONTypes(ts) {
const types3 = Array.isArray(ts) ? ts : ts ? [ts] : [];
if (types3.every(rules_1.isJSONType))
return types3;
throw new Error("type must be JSONType or JSONType[]: " + types3.join(","));
}
exports2.getJSONTypes = getJSONTypes;
function coerceAndCheckDataType(it, types3) {
const { gen, data, opts } = it;
const coerceTo = coerceToTypes(types3, opts.coerceTypes);
const checkTypes = types3.length > 0 && !(coerceTo.length === 0 && types3.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types3[0]));
if (checkTypes) {
const wrongType = checkDataTypes(types3, data, opts.strictNumbers, DataType.Wrong);
gen.if(wrongType, () => {
if (coerceTo.length)
coerceData(it, types3, coerceTo);
else
reportTypeError(it);
});
}
return checkTypes;
}
exports2.coerceAndCheckDataType = coerceAndCheckDataType;
var COERCIBLE = /* @__PURE__ */ new Set(["string", "number", "integer", "boolean", "null"]);
function coerceToTypes(types3, coerceTypes) {
return coerceTypes ? types3.filter((t2) => COERCIBLE.has(t2) || coerceTypes === "array" && t2 === "array") : [];
}
function coerceData(it, types3, coerceTo) {
const { gen, data, opts } = it;
const dataType = gen.let("dataType", (0, codegen_1._)`typeof ${data}`);
const coerced = gen.let("coerced", (0, codegen_1._)`undefined`);
if (opts.coerceTypes === "array") {
gen.if((0, codegen_1._)`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen.assign(data, (0, codegen_1._)`${data}[0]`).assign(dataType, (0, codegen_1._)`typeof ${data}`).if(checkDataTypes(types3, data, opts.strictNumbers), () => gen.assign(coerced, data)));
}
gen.if((0, codegen_1._)`${coerced} !== undefined`);
for (const t2 of coerceTo) {
if (COERCIBLE.has(t2) || t2 === "array" && opts.coerceTypes === "array") {
coerceSpecificType(t2);
}
}
gen.else();
reportTypeError(it);
gen.endIf();
gen.if((0, codegen_1._)`${coerced} !== undefined`, () => {
gen.assign(data, coerced);
assignParentData(it, coerced);
});
function coerceSpecificType(t2) {
switch (t2) {
case "string":
gen.elseIf((0, codegen_1._)`${dataType} == "number" || ${dataType} == "boolean"`).assign(coerced, (0, codegen_1._)`"" + ${data}`).elseIf((0, codegen_1._)`${data} === null`).assign(coerced, (0, codegen_1._)`""`);
return;
case "number":
gen.elseIf((0, codegen_1._)`${dataType} == "boolean" || ${data} === null
|| (${dataType} == "string" && ${data} && ${data} == +${data})`).assign(coerced, (0, codegen_1._)`+${data}`);
return;
case "integer":
gen.elseIf((0, codegen_1._)`${dataType} === "boolean" || ${data} === null
|| (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`).assign(coerced, (0, codegen_1._)`+${data}`);
return;
case "boolean":
gen.elseIf((0, codegen_1._)`${data} === "false" || ${data} === 0 || ${data} === null`).assign(coerced, false).elseIf((0, codegen_1._)`${data} === "true" || ${data} === 1`).assign(coerced, true);
return;
case "null":
gen.elseIf((0, codegen_1._)`${data} === "" || ${data} === 0 || ${data} === false`);
gen.assign(coerced, null);
return;
case "array":
gen.elseIf((0, codegen_1._)`${dataType} === "string" || ${dataType} === "number"
|| ${dataType} === "boolean" || ${data} === null`).assign(coerced, (0, codegen_1._)`[${data}]`);
}
}
}
function assignParentData({ gen, parentData, parentDataProperty }, expr) {
gen.if((0, codegen_1._)`${parentData} !== undefined`, () => gen.assign((0, codegen_1._)`${parentData}[${parentDataProperty}]`, expr));
}
function checkDataType(dataType, data, strictNums, correct = DataType.Correct) {
const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ;
let cond;
switch (dataType) {
case "null":
return (0, codegen_1._)`${data} ${EQ} null`;
case "array":
cond = (0, codegen_1._)`Array.isArray(${data})`;
break;
case "object":
cond = (0, codegen_1._)`${data} && typeof ${data} == "object" && !Array.isArray(${data})`;
break;
case "integer":
cond = numCond((0, codegen_1._)`!(${data} % 1) && !isNaN(${data})`);
break;
case "number":
cond = numCond();
break;
default:
return (0, codegen_1._)`typeof ${data} ${EQ} ${dataType}`;
}
return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond);
function numCond(_cond = codegen_1.nil) {
return (0, codegen_1.and)((0, codegen_1._)`typeof ${data} == "number"`, _cond, strictNums ? (0, codegen_1._)`isFinite(${data})` : codegen_1.nil);
}
}
exports2.checkDataType = checkDataType;
function checkDataTypes(dataTypes, data, strictNums, correct) {
if (dataTypes.length === 1) {
return checkDataType(dataTypes[0], data, strictNums, correct);
}
let cond;
const types3 = (0, util_1.toHash)(dataTypes);
if (types3.array && types3.object) {
const notObj = (0, codegen_1._)`typeof ${data} != "object"`;
cond = types3.null ? notObj : (0, codegen_1._)`!${data} || ${notObj}`;
delete types3.null;
delete types3.array;
delete types3.object;
} else {
cond = codegen_1.nil;
}
if (types3.number)
delete types3.integer;
for (const t2 in types3)
cond = (0, codegen_1.and)(cond, checkDataType(t2, data, strictNums, correct));
return cond;
}
exports2.checkDataTypes = checkDataTypes;
var typeError = {
message: ({ schema: schema2 }) => `must be ${schema2}`,
params: ({ schema: schema2, schemaValue }) => typeof schema2 == "string" ? (0, codegen_1._)`{type: ${schema2}}` : (0, codegen_1._)`{type: ${schemaValue}}`
};
function reportTypeError(it) {
const cxt = getTypeErrorContext(it);
(0, errors_1.reportError)(cxt, typeError);
}
exports2.reportTypeError = reportTypeError;
function getTypeErrorContext(it) {
const { gen, data, schema: schema2 } = it;
const schemaCode = (0, util_1.schemaRefOrVal)(it, schema2, "type");
return {
gen,
keyword: "type",
data,
schema: schema2.type,
schemaCode,
schemaValue: schemaCode,
parentSchema: schema2,
params: {},
it
};
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/defaults.js
var require_defaults = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/defaults.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.assignDefaults = void 0;
var codegen_1 = require_codegen2();
var util_1 = require_util12();
function assignDefaults(it, ty) {
const { properties, items } = it.schema;
if (ty === "object" && properties) {
for (const key in properties) {
assignDefault(it, key, properties[key].default);
}
} else if (ty === "array" && Array.isArray(items)) {
items.forEach((sch, i3) => assignDefault(it, i3, sch.default));
}
}
exports2.assignDefaults = assignDefaults;
function assignDefault(it, prop, defaultValue) {
const { gen, compositeRule, data, opts } = it;
if (defaultValue === void 0)
return;
const childData = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(prop)}`;
if (compositeRule) {
(0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`);
return;
}
let condition = (0, codegen_1._)`${childData} === undefined`;
if (opts.useDefaults === "empty") {
condition = (0, codegen_1._)`${condition} || ${childData} === null || ${childData} === ""`;
}
gen.if(condition, (0, codegen_1._)`${childData} = ${(0, codegen_1.stringify)(defaultValue)}`);
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/code.js
var require_code2 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/code.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateUnion = exports2.validateArray = exports2.usePattern = exports2.callValidateCode = exports2.schemaProperties = exports2.allSchemaProperties = exports2.noPropertyInData = exports2.propertyInData = exports2.isOwnProperty = exports2.hasPropFunc = exports2.reportMissingProp = exports2.checkMissingProp = exports2.checkReportMissingProp = void 0;
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var names_1 = require_names();
var util_2 = require_util12();
function checkReportMissingProp(cxt, prop) {
const { gen, data, it } = cxt;
gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {
cxt.setParams({ missingProperty: (0, codegen_1._)`${prop}` }, true);
cxt.error();
});
}
exports2.checkReportMissingProp = checkReportMissingProp;
function checkMissingProp({ gen, data, it: { opts } }, properties, missing) {
return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._)`${missing} = ${prop}`)));
}
exports2.checkMissingProp = checkMissingProp;
function reportMissingProp(cxt, missing) {
cxt.setParams({ missingProperty: missing }, true);
cxt.error();
}
exports2.reportMissingProp = reportMissingProp;
function hasPropFunc(gen) {
return gen.scopeValue("func", {
// eslint-disable-next-line @typescript-eslint/unbound-method
ref: Object.prototype.hasOwnProperty,
code: (0, codegen_1._)`Object.prototype.hasOwnProperty`
});
}
exports2.hasPropFunc = hasPropFunc;
function isOwnProperty(gen, data, property) {
return (0, codegen_1._)`${hasPropFunc(gen)}.call(${data}, ${property})`;
}
exports2.isOwnProperty = isOwnProperty;
function propertyInData(gen, data, property, ownProperties) {
const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} !== undefined`;
return ownProperties ? (0, codegen_1._)`${cond} && ${isOwnProperty(gen, data, property)}` : cond;
}
exports2.propertyInData = propertyInData;
function noPropertyInData(gen, data, property, ownProperties) {
const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} === undefined`;
return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond;
}
exports2.noPropertyInData = noPropertyInData;
function allSchemaProperties(schemaMap) {
return schemaMap ? Object.keys(schemaMap).filter((p) => p !== "__proto__") : [];
}
exports2.allSchemaProperties = allSchemaProperties;
function schemaProperties(it, schemaMap) {
return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p]));
}
exports2.schemaProperties = schemaProperties;
function callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func2, context2, passSchema) {
const dataAndSchema = passSchema ? (0, codegen_1._)`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data;
const valCxt = [
[names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)],
[names_1.default.parentData, it.parentData],
[names_1.default.parentDataProperty, it.parentDataProperty],
[names_1.default.rootData, names_1.default.rootData]
];
if (it.opts.dynamicRef)
valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]);
const args2 = (0, codegen_1._)`${dataAndSchema}, ${gen.object(...valCxt)}`;
return context2 !== codegen_1.nil ? (0, codegen_1._)`${func2}.call(${context2}, ${args2})` : (0, codegen_1._)`${func2}(${args2})`;
}
exports2.callValidateCode = callValidateCode;
var newRegExp = (0, codegen_1._)`new RegExp`;
function usePattern({ gen, it: { opts } }, pattern) {
const u2 = opts.unicodeRegExp ? "u" : "";
const { regExp } = opts.code;
const rx = regExp(pattern, u2);
return gen.scopeValue("pattern", {
key: rx.toString(),
ref: rx,
code: (0, codegen_1._)`${regExp.code === "new RegExp" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u2})`
});
}
exports2.usePattern = usePattern;
function validateArray(cxt) {
const { gen, data, keyword, it } = cxt;
const valid = gen.name("valid");
if (it.allErrors) {
const validArr = gen.let("valid", true);
validateItems(() => gen.assign(validArr, false));
return validArr;
}
gen.var(valid, true);
validateItems(() => gen.break());
return valid;
function validateItems(notValid) {
const len = gen.const("len", (0, codegen_1._)`${data}.length`);
gen.forRange("i", 0, len, (i3) => {
cxt.subschema({
keyword,
dataProp: i3,
dataPropType: util_1.Type.Num
}, valid);
gen.if((0, codegen_1.not)(valid), notValid);
});
}
}
exports2.validateArray = validateArray;
function validateUnion(cxt) {
const { gen, schema: schema2, keyword, it } = cxt;
if (!Array.isArray(schema2))
throw new Error("ajv implementation error");
const alwaysValid = schema2.some((sch) => (0, util_1.alwaysValidSchema)(it, sch));
if (alwaysValid && !it.opts.unevaluated)
return;
const valid = gen.let("valid", false);
const schValid = gen.name("_valid");
gen.block(() => schema2.forEach((_sch, i3) => {
const schCxt = cxt.subschema({
keyword,
schemaProp: i3,
compositeRule: true
}, schValid);
gen.assign(valid, (0, codegen_1._)`${valid} || ${schValid}`);
const merged = cxt.mergeValidEvaluated(schCxt, schValid);
if (!merged)
gen.if((0, codegen_1.not)(valid));
}));
cxt.result(valid, () => cxt.reset(), () => cxt.error(true));
}
exports2.validateUnion = validateUnion;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/keyword.js
var require_keyword = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/keyword.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateKeywordUsage = exports2.validSchemaType = exports2.funcKeywordCode = exports2.macroKeywordCode = void 0;
var codegen_1 = require_codegen2();
var names_1 = require_names();
var code_1 = require_code2();
var errors_1 = require_errors3();
function macroKeywordCode(cxt, def) {
const { gen, keyword, schema: schema2, parentSchema, it } = cxt;
const macroSchema = def.macro.call(it.self, schema2, parentSchema, it);
const schemaRef = useKeyword(gen, keyword, macroSchema);
if (it.opts.validateSchema !== false)
it.self.validateSchema(macroSchema, true);
const valid = gen.name("valid");
cxt.subschema({
schema: macroSchema,
schemaPath: codegen_1.nil,
errSchemaPath: `${it.errSchemaPath}/${keyword}`,
topSchemaRef: schemaRef,
compositeRule: true
}, valid);
cxt.pass(valid, () => cxt.error(true));
}
exports2.macroKeywordCode = macroKeywordCode;
function funcKeywordCode(cxt, def) {
var _a4;
const { gen, keyword, schema: schema2, parentSchema, $data, it } = cxt;
checkAsyncKeyword(it, def);
const validate3 = !$data && def.compile ? def.compile.call(it.self, schema2, parentSchema, it) : def.validate;
const validateRef = useKeyword(gen, keyword, validate3);
const valid = gen.let("valid");
cxt.block$data(valid, validateKeyword);
cxt.ok((_a4 = def.valid) !== null && _a4 !== void 0 ? _a4 : valid);
function validateKeyword() {
if (def.errors === false) {
assignValid();
if (def.modifying)
modifyData(cxt);
reportErrs(() => cxt.error());
} else {
const ruleErrs = def.async ? validateAsync() : validateSync();
if (def.modifying)
modifyData(cxt);
reportErrs(() => addErrs(cxt, ruleErrs));
}
}
function validateAsync() {
const ruleErrs = gen.let("ruleErrs", null);
gen.try(() => assignValid((0, codegen_1._)`await `), (e2) => gen.assign(valid, false).if((0, codegen_1._)`${e2} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._)`${e2}.errors`), () => gen.throw(e2)));
return ruleErrs;
}
function validateSync() {
const validateErrs = (0, codegen_1._)`${validateRef}.errors`;
gen.assign(validateErrs, null);
assignValid(codegen_1.nil);
return validateErrs;
}
function assignValid(_await = def.async ? (0, codegen_1._)`await ` : codegen_1.nil) {
const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self;
const passSchema = !("compile" in def && !$data || def.schema === false);
gen.assign(valid, (0, codegen_1._)`${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);
}
function reportErrs(errors) {
var _a5;
gen.if((0, codegen_1.not)((_a5 = def.valid) !== null && _a5 !== void 0 ? _a5 : valid), errors);
}
}
exports2.funcKeywordCode = funcKeywordCode;
function modifyData(cxt) {
const { gen, data, it } = cxt;
gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._)`${it.parentData}[${it.parentDataProperty}]`));
}
function addErrs(cxt, errs) {
const { gen } = cxt;
gen.if((0, codegen_1._)`Array.isArray(${errs})`, () => {
gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`).assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`);
(0, errors_1.extendErrors)(cxt);
}, () => cxt.error());
}
function checkAsyncKeyword({ schemaEnv }, def) {
if (def.async && !schemaEnv.$async)
throw new Error("async keyword in sync schema");
}
function useKeyword(gen, keyword, result2) {
if (result2 === void 0)
throw new Error(`keyword "${keyword}" failed to compile`);
return gen.scopeValue("keyword", typeof result2 == "function" ? { ref: result2 } : { ref: result2, code: (0, codegen_1.stringify)(result2) });
}
function validSchemaType(schema2, schemaType, allowUndefined = false) {
return !schemaType.length || schemaType.some((st) => st === "array" ? Array.isArray(schema2) : st === "object" ? schema2 && typeof schema2 == "object" && !Array.isArray(schema2) : typeof schema2 == st || allowUndefined && typeof schema2 == "undefined");
}
exports2.validSchemaType = validSchemaType;
function validateKeywordUsage({ schema: schema2, opts, self: self2, errSchemaPath }, def, keyword) {
if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {
throw new Error("ajv implementation error");
}
const deps = def.dependencies;
if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema2, kwd))) {
throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`);
}
if (def.validateSchema) {
const valid = def.validateSchema(schema2[keyword]);
if (!valid) {
const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + self2.errorsText(def.validateSchema.errors);
if (opts.validateSchema === "log")
self2.logger.error(msg);
else
throw new Error(msg);
}
}
}
exports2.validateKeywordUsage = validateKeywordUsage;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/subschema.js
var require_subschema = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/subschema.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.extendSubschemaMode = exports2.extendSubschemaData = exports2.getSubschema = void 0;
var codegen_1 = require_codegen2();
var util_1 = require_util12();
function getSubschema(it, { keyword, schemaProp, schema: schema2, schemaPath, errSchemaPath, topSchemaRef }) {
if (keyword !== void 0 && schema2 !== void 0) {
throw new Error('both "keyword" and "schema" passed, only one allowed');
}
if (keyword !== void 0) {
const sch = it.schema[keyword];
return schemaProp === void 0 ? {
schema: sch,
schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`,
errSchemaPath: `${it.errSchemaPath}/${keyword}`
} : {
schema: sch[schemaProp],
schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`,
errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`
};
}
if (schema2 !== void 0) {
if (schemaPath === void 0 || errSchemaPath === void 0 || topSchemaRef === void 0) {
throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');
}
return {
schema: schema2,
schemaPath,
topSchemaRef,
errSchemaPath
};
}
throw new Error('either "keyword" or "schema" must be passed');
}
exports2.getSubschema = getSubschema;
function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) {
if (data !== void 0 && dataProp !== void 0) {
throw new Error('both "data" and "dataProp" passed, only one allowed');
}
const { gen } = it;
if (dataProp !== void 0) {
const { errorPath, dataPathArr, opts } = it;
const nextData = gen.let("data", (0, codegen_1._)`${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true);
dataContextProps(nextData);
subschema.errorPath = (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`;
subschema.parentDataProperty = (0, codegen_1._)`${dataProp}`;
subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty];
}
if (data !== void 0) {
const nextData = data instanceof codegen_1.Name ? data : gen.let("data", data, true);
dataContextProps(nextData);
if (propertyName !== void 0)
subschema.propertyName = propertyName;
}
if (dataTypes)
subschema.dataTypes = dataTypes;
function dataContextProps(_nextData) {
subschema.data = _nextData;
subschema.dataLevel = it.dataLevel + 1;
subschema.dataTypes = [];
it.definedProperties = /* @__PURE__ */ new Set();
subschema.parentData = it.data;
subschema.dataNames = [...it.dataNames, _nextData];
}
}
exports2.extendSubschemaData = extendSubschemaData;
function extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) {
if (compositeRule !== void 0)
subschema.compositeRule = compositeRule;
if (createErrors !== void 0)
subschema.createErrors = createErrors;
if (allErrors !== void 0)
subschema.allErrors = allErrors;
subschema.jtdDiscriminator = jtdDiscriminator;
subschema.jtdMetadata = jtdMetadata;
}
exports2.extendSubschemaMode = extendSubschemaMode;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse/index.js
var require_json_schema_traverse = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse/index.js"(exports2, module2) {
"use strict";
var traverse = module2.exports = function(schema2, opts, cb) {
if (typeof opts == "function") {
cb = opts;
opts = {};
}
cb = opts.cb || cb;
var pre = typeof cb == "function" ? cb : cb.pre || function() {
};
var post = cb.post || function() {
};
_traverse(opts, pre, post, schema2, "", schema2);
};
traverse.keywords = {
additionalItems: true,
items: true,
contains: true,
additionalProperties: true,
propertyNames: true,
not: true,
if: true,
then: true,
else: true
};
traverse.arrayKeywords = {
items: true,
allOf: true,
anyOf: true,
oneOf: true
};
traverse.propsKeywords = {
$defs: true,
definitions: true,
properties: true,
patternProperties: true,
dependencies: true
};
traverse.skipKeywords = {
default: true,
enum: true,
const: true,
required: true,
maximum: true,
minimum: true,
exclusiveMaximum: true,
exclusiveMinimum: true,
multipleOf: true,
maxLength: true,
minLength: true,
pattern: true,
format: true,
maxItems: true,
minItems: true,
uniqueItems: true,
maxProperties: true,
minProperties: true
};
function _traverse(opts, pre, post, schema2, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {
if (schema2 && typeof schema2 == "object" && !Array.isArray(schema2)) {
pre(schema2, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
for (var key in schema2) {
var sch = schema2[key];
if (Array.isArray(sch)) {
if (key in traverse.arrayKeywords) {
for (var i3 = 0; i3 < sch.length; i3++)
_traverse(opts, pre, post, sch[i3], jsonPtr + "/" + key + "/" + i3, rootSchema, jsonPtr, key, schema2, i3);
}
} else if (key in traverse.propsKeywords) {
if (sch && typeof sch == "object") {
for (var prop in sch)
_traverse(opts, pre, post, sch[prop], jsonPtr + "/" + key + "/" + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema2, prop);
}
} else if (key in traverse.keywords || opts.allKeys && !(key in traverse.skipKeywords)) {
_traverse(opts, pre, post, sch, jsonPtr + "/" + key, rootSchema, jsonPtr, key, schema2);
}
}
post(schema2, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
}
}
function escapeJsonPtr(str2) {
return str2.replace(/~/g, "~0").replace(/\//g, "~1");
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/resolve.js
var require_resolve = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/resolve.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getSchemaRefs = exports2.resolveUrl = exports2.normalizeId = exports2._getFullPath = exports2.getFullPath = exports2.inlineRef = void 0;
var util_1 = require_util12();
var equal = require_fast_deep_equal();
var traverse = require_json_schema_traverse();
var SIMPLE_INLINED = /* @__PURE__ */ new Set([
"type",
"format",
"pattern",
"maxLength",
"minLength",
"maxProperties",
"minProperties",
"maxItems",
"minItems",
"maximum",
"minimum",
"uniqueItems",
"multipleOf",
"required",
"enum",
"const"
]);
function inlineRef(schema2, limit = true) {
if (typeof schema2 == "boolean")
return true;
if (limit === true)
return !hasRef(schema2);
if (!limit)
return false;
return countKeys(schema2) <= limit;
}
exports2.inlineRef = inlineRef;
var REF_KEYWORDS = /* @__PURE__ */ new Set([
"$ref",
"$recursiveRef",
"$recursiveAnchor",
"$dynamicRef",
"$dynamicAnchor"
]);
function hasRef(schema2) {
for (const key in schema2) {
if (REF_KEYWORDS.has(key))
return true;
const sch = schema2[key];
if (Array.isArray(sch) && sch.some(hasRef))
return true;
if (typeof sch == "object" && hasRef(sch))
return true;
}
return false;
}
function countKeys(schema2) {
let count2 = 0;
for (const key in schema2) {
if (key === "$ref")
return Infinity;
count2++;
if (SIMPLE_INLINED.has(key))
continue;
if (typeof schema2[key] == "object") {
(0, util_1.eachItem)(schema2[key], (sch) => count2 += countKeys(sch));
}
if (count2 === Infinity)
return Infinity;
}
return count2;
}
function getFullPath(resolver, id = "", normalize5) {
if (normalize5 !== false)
id = normalizeId(id);
const p = resolver.parse(id);
return _getFullPath(resolver, p);
}
exports2.getFullPath = getFullPath;
function _getFullPath(resolver, p) {
const serialized = resolver.serialize(p);
return serialized.split("#")[0] + "#";
}
exports2._getFullPath = _getFullPath;
var TRAILING_SLASH_HASH = /#\/?$/;
function normalizeId(id) {
return id ? id.replace(TRAILING_SLASH_HASH, "") : "";
}
exports2.normalizeId = normalizeId;
function resolveUrl(resolver, baseId, id) {
id = normalizeId(id);
return resolver.resolve(baseId, id);
}
exports2.resolveUrl = resolveUrl;
var ANCHOR = /^[a-z_][-a-z0-9._]*$/i;
function getSchemaRefs(schema2, baseId) {
if (typeof schema2 == "boolean")
return {};
const { schemaId, uriResolver } = this.opts;
const schId = normalizeId(schema2[schemaId] || baseId);
const baseIds = { "": schId };
const pathPrefix = getFullPath(uriResolver, schId, false);
const localRefs = {};
const schemaRefs = /* @__PURE__ */ new Set();
traverse(schema2, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => {
if (parentJsonPtr === void 0)
return;
const fullPath = pathPrefix + jsonPtr;
let innerBaseId = baseIds[parentJsonPtr];
if (typeof sch[schemaId] == "string")
innerBaseId = addRef.call(this, sch[schemaId]);
addAnchor.call(this, sch.$anchor);
addAnchor.call(this, sch.$dynamicAnchor);
baseIds[jsonPtr] = innerBaseId;
function addRef(ref) {
const _resolve = this.opts.uriResolver.resolve;
ref = normalizeId(innerBaseId ? _resolve(innerBaseId, ref) : ref);
if (schemaRefs.has(ref))
throw ambiguos(ref);
schemaRefs.add(ref);
let schOrRef = this.refs[ref];
if (typeof schOrRef == "string")
schOrRef = this.refs[schOrRef];
if (typeof schOrRef == "object") {
checkAmbiguosRef(sch, schOrRef.schema, ref);
} else if (ref !== normalizeId(fullPath)) {
if (ref[0] === "#") {
checkAmbiguosRef(sch, localRefs[ref], ref);
localRefs[ref] = sch;
} else {
this.refs[ref] = fullPath;
}
}
return ref;
}
function addAnchor(anchor) {
if (typeof anchor == "string") {
if (!ANCHOR.test(anchor))
throw new Error(`invalid anchor "${anchor}"`);
addRef.call(this, `#${anchor}`);
}
}
});
return localRefs;
function checkAmbiguosRef(sch1, sch2, ref) {
if (sch2 !== void 0 && !equal(sch1, sch2))
throw ambiguos(ref);
}
function ambiguos(ref) {
return new Error(`reference "${ref}" resolves to more than one schema`);
}
}
exports2.getSchemaRefs = getSchemaRefs;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/index.js
var require_validate = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/validate/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getData = exports2.KeywordCxt = exports2.validateFunctionCode = void 0;
var boolSchema_1 = require_boolSchema();
var dataType_1 = require_dataType();
var applicability_1 = require_applicability();
var dataType_2 = require_dataType();
var defaults_1 = require_defaults();
var keyword_1 = require_keyword();
var subschema_1 = require_subschema();
var codegen_1 = require_codegen2();
var names_1 = require_names();
var resolve_1 = require_resolve();
var util_1 = require_util12();
var errors_1 = require_errors3();
function validateFunctionCode(it) {
if (isSchemaObj(it)) {
checkKeywords(it);
if (schemaCxtHasRules(it)) {
topSchemaObjCode(it);
return;
}
}
validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));
}
exports2.validateFunctionCode = validateFunctionCode;
function validateFunction({ gen, validateName, schema: schema2, schemaEnv, opts }, body2) {
if (opts.code.es5) {
gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {
gen.code((0, codegen_1._)`"use strict"; ${funcSourceUrl(schema2, opts)}`);
destructureValCxtES5(gen, opts);
gen.code(body2);
});
} else {
gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema2, opts)).code(body2));
}
}
function destructureValCxt(opts) {
return (0, codegen_1._)`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._)`, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;
}
function destructureValCxtES5(gen, opts) {
gen.if(names_1.default.valCxt, () => {
gen.var(names_1.default.instancePath, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.instancePath}`);
gen.var(names_1.default.parentData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentData}`);
gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);
gen.var(names_1.default.rootData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.rootData}`);
if (opts.dynamicRef)
gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);
}, () => {
gen.var(names_1.default.instancePath, (0, codegen_1._)`""`);
gen.var(names_1.default.parentData, (0, codegen_1._)`undefined`);
gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`undefined`);
gen.var(names_1.default.rootData, names_1.default.data);
if (opts.dynamicRef)
gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`{}`);
});
}
function topSchemaObjCode(it) {
const { schema: schema2, opts, gen } = it;
validateFunction(it, () => {
if (opts.$comment && schema2.$comment)
commentKeyword(it);
checkNoDefault(it);
gen.let(names_1.default.vErrors, null);
gen.let(names_1.default.errors, 0);
if (opts.unevaluated)
resetEvaluated(it);
typeAndKeywords(it);
returnResults(it);
});
return;
}
function resetEvaluated(it) {
const { gen, validateName } = it;
it.evaluated = gen.const("evaluated", (0, codegen_1._)`${validateName}.evaluated`);
gen.if((0, codegen_1._)`${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._)`${it.evaluated}.props`, (0, codegen_1._)`undefined`));
gen.if((0, codegen_1._)`${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._)`${it.evaluated}.items`, (0, codegen_1._)`undefined`));
}
function funcSourceUrl(schema2, opts) {
const schId = typeof schema2 == "object" && schema2[opts.schemaId];
return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._)`/*# sourceURL=${schId} */` : codegen_1.nil;
}
function subschemaCode(it, valid) {
if (isSchemaObj(it)) {
checkKeywords(it);
if (schemaCxtHasRules(it)) {
subSchemaObjCode(it, valid);
return;
}
}
(0, boolSchema_1.boolOrEmptySchema)(it, valid);
}
function schemaCxtHasRules({ schema: schema2, self: self2 }) {
if (typeof schema2 == "boolean")
return !schema2;
for (const key in schema2)
if (self2.RULES.all[key])
return true;
return false;
}
function isSchemaObj(it) {
return typeof it.schema != "boolean";
}
function subSchemaObjCode(it, valid) {
const { schema: schema2, gen, opts } = it;
if (opts.$comment && schema2.$comment)
commentKeyword(it);
updateContext(it);
checkAsyncSchema(it);
const errsCount = gen.const("_errs", names_1.default.errors);
typeAndKeywords(it, errsCount);
gen.var(valid, (0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
}
function checkKeywords(it) {
(0, util_1.checkUnknownRules)(it);
checkRefsAndKeywords(it);
}
function typeAndKeywords(it, errsCount) {
if (it.opts.jtd)
return schemaKeywords(it, [], false, errsCount);
const types3 = (0, dataType_1.getSchemaTypes)(it.schema);
const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types3);
schemaKeywords(it, types3, !checkedTypes, errsCount);
}
function checkRefsAndKeywords(it) {
const { schema: schema2, errSchemaPath, opts, self: self2 } = it;
if (schema2.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema2, self2.RULES)) {
self2.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`);
}
}
function checkNoDefault(it) {
const { schema: schema2, opts } = it;
if (schema2.default !== void 0 && opts.useDefaults && opts.strictSchema) {
(0, util_1.checkStrictMode)(it, "default is ignored in the schema root");
}
}
function updateContext(it) {
const schId = it.schema[it.opts.schemaId];
if (schId)
it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);
}
function checkAsyncSchema(it) {
if (it.schema.$async && !it.schemaEnv.$async)
throw new Error("async schema in sync schema");
}
function commentKeyword({ gen, schemaEnv, schema: schema2, errSchemaPath, opts }) {
const msg = schema2.$comment;
if (opts.$comment === true) {
gen.code((0, codegen_1._)`${names_1.default.self}.logger.log(${msg})`);
} else if (typeof opts.$comment == "function") {
const schemaPath = (0, codegen_1.str)`${errSchemaPath}/$comment`;
const rootName = gen.scopeValue("root", { ref: schemaEnv.root });
gen.code((0, codegen_1._)`${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);
}
}
function returnResults(it) {
const { gen, schemaEnv, validateName, ValidationError, opts } = it;
if (schemaEnv.$async) {
gen.if((0, codegen_1._)`${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._)`new ${ValidationError}(${names_1.default.vErrors})`));
} else {
gen.assign((0, codegen_1._)`${validateName}.errors`, names_1.default.vErrors);
if (opts.unevaluated)
assignEvaluated(it);
gen.return((0, codegen_1._)`${names_1.default.errors} === 0`);
}
}
function assignEvaluated({ gen, evaluated, props, items }) {
if (props instanceof codegen_1.Name)
gen.assign((0, codegen_1._)`${evaluated}.props`, props);
if (items instanceof codegen_1.Name)
gen.assign((0, codegen_1._)`${evaluated}.items`, items);
}
function schemaKeywords(it, types3, typeErrors, errsCount) {
const { gen, schema: schema2, data, allErrors, opts, self: self2 } = it;
const { RULES } = self2;
if (schema2.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema2, RULES))) {
gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition));
return;
}
if (!opts.jtd)
checkStrictTypes(it, types3);
gen.block(() => {
for (const group of RULES.rules)
groupKeywords(group);
groupKeywords(RULES.post);
});
function groupKeywords(group) {
if (!(0, applicability_1.shouldUseGroup)(schema2, group))
return;
if (group.type) {
gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));
iterateKeywords(it, group);
if (types3.length === 1 && types3[0] === group.type && typeErrors) {
gen.else();
(0, dataType_2.reportTypeError)(it);
}
gen.endIf();
} else {
iterateKeywords(it, group);
}
if (!allErrors)
gen.if((0, codegen_1._)`${names_1.default.errors} === ${errsCount || 0}`);
}
}
function iterateKeywords(it, group) {
const { gen, schema: schema2, opts: { useDefaults } } = it;
if (useDefaults)
(0, defaults_1.assignDefaults)(it, group.type);
gen.block(() => {
for (const rule of group.rules) {
if ((0, applicability_1.shouldUseRule)(schema2, rule)) {
keywordCode(it, rule.keyword, rule.definition, group.type);
}
}
});
}
function checkStrictTypes(it, types3) {
if (it.schemaEnv.meta || !it.opts.strictTypes)
return;
checkContextTypes(it, types3);
if (!it.opts.allowUnionTypes)
checkMultipleTypes(it, types3);
checkKeywordTypes(it, it.dataTypes);
}
function checkContextTypes(it, types3) {
if (!types3.length)
return;
if (!it.dataTypes.length) {
it.dataTypes = types3;
return;
}
types3.forEach((t2) => {
if (!includesType(it.dataTypes, t2)) {
strictTypesError(it, `type "${t2}" not allowed by context "${it.dataTypes.join(",")}"`);
}
});
narrowSchemaTypes(it, types3);
}
function checkMultipleTypes(it, ts) {
if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) {
strictTypesError(it, "use allowUnionTypes to allow union type keyword");
}
}
function checkKeywordTypes(it, ts) {
const rules = it.self.RULES.all;
for (const keyword in rules) {
const rule = rules[keyword];
if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {
const { type: type2 } = rule.definition;
if (type2.length && !type2.some((t2) => hasApplicableType(ts, t2))) {
strictTypesError(it, `missing type "${type2.join(",")}" for keyword "${keyword}"`);
}
}
}
}
function hasApplicableType(schTs, kwdT) {
return schTs.includes(kwdT) || kwdT === "number" && schTs.includes("integer");
}
function includesType(ts, t2) {
return ts.includes(t2) || t2 === "integer" && ts.includes("number");
}
function narrowSchemaTypes(it, withTypes) {
const ts = [];
for (const t2 of it.dataTypes) {
if (includesType(withTypes, t2))
ts.push(t2);
else if (withTypes.includes("integer") && t2 === "number")
ts.push("integer");
}
it.dataTypes = ts;
}
function strictTypesError(it, msg) {
const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
msg += ` at "${schemaPath}" (strictTypes)`;
(0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);
}
var KeywordCxt = class {
constructor(it, def, keyword) {
(0, keyword_1.validateKeywordUsage)(it, def, keyword);
this.gen = it.gen;
this.allErrors = it.allErrors;
this.keyword = keyword;
this.data = it.data;
this.schema = it.schema[keyword];
this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;
this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);
this.schemaType = def.schemaType;
this.parentSchema = it.schema;
this.params = {};
this.it = it;
this.def = def;
if (this.$data) {
this.schemaCode = it.gen.const("vSchema", getData(this.$data, it));
} else {
this.schemaCode = this.schemaValue;
if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {
throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);
}
}
if ("code" in def ? def.trackErrors : def.errors !== false) {
this.errsCount = it.gen.const("_errs", names_1.default.errors);
}
}
result(condition, successAction, failAction) {
this.failResult((0, codegen_1.not)(condition), successAction, failAction);
}
failResult(condition, successAction, failAction) {
this.gen.if(condition);
if (failAction)
failAction();
else
this.error();
if (successAction) {
this.gen.else();
successAction();
if (this.allErrors)
this.gen.endIf();
} else {
if (this.allErrors)
this.gen.endIf();
else
this.gen.else();
}
}
pass(condition, failAction) {
this.failResult((0, codegen_1.not)(condition), void 0, failAction);
}
fail(condition) {
if (condition === void 0) {
this.error();
if (!this.allErrors)
this.gen.if(false);
return;
}
this.gen.if(condition);
this.error();
if (this.allErrors)
this.gen.endIf();
else
this.gen.else();
}
fail$data(condition) {
if (!this.$data)
return this.fail(condition);
const { schemaCode } = this;
this.fail((0, codegen_1._)`${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);
}
error(append2, errorParams, errorPaths) {
if (errorParams) {
this.setParams(errorParams);
this._error(append2, errorPaths);
this.setParams({});
return;
}
this._error(append2, errorPaths);
}
_error(append2, errorPaths) {
;
(append2 ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);
}
$dataError() {
(0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);
}
reset() {
if (this.errsCount === void 0)
throw new Error('add "trackErrors" to keyword definition');
(0, errors_1.resetErrorsCount)(this.gen, this.errsCount);
}
ok(cond) {
if (!this.allErrors)
this.gen.if(cond);
}
setParams(obj, assign) {
if (assign)
Object.assign(this.params, obj);
else
this.params = obj;
}
block$data(valid, codeBlock, $dataValid = codegen_1.nil) {
this.gen.block(() => {
this.check$data(valid, $dataValid);
codeBlock();
});
}
check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {
if (!this.$data)
return;
const { gen, schemaCode, schemaType, def } = this;
gen.if((0, codegen_1.or)((0, codegen_1._)`${schemaCode} === undefined`, $dataValid));
if (valid !== codegen_1.nil)
gen.assign(valid, true);
if (schemaType.length || def.validateSchema) {
gen.elseIf(this.invalid$data());
this.$dataError();
if (valid !== codegen_1.nil)
gen.assign(valid, false);
}
gen.else();
}
invalid$data() {
const { gen, schemaCode, schemaType, def, it } = this;
return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());
function wrong$DataType() {
if (schemaType.length) {
if (!(schemaCode instanceof codegen_1.Name))
throw new Error("ajv implementation error");
const st = Array.isArray(schemaType) ? schemaType : [schemaType];
return (0, codegen_1._)`${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;
}
return codegen_1.nil;
}
function invalid$DataSchema() {
if (def.validateSchema) {
const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema });
return (0, codegen_1._)`!${validateSchemaRef}(${schemaCode})`;
}
return codegen_1.nil;
}
}
subschema(appl, valid) {
const subschema = (0, subschema_1.getSubschema)(this.it, appl);
(0, subschema_1.extendSubschemaData)(subschema, this.it, appl);
(0, subschema_1.extendSubschemaMode)(subschema, appl);
const nextContext = { ...this.it, ...subschema, items: void 0, props: void 0 };
subschemaCode(nextContext, valid);
return nextContext;
}
mergeEvaluated(schemaCxt, toName) {
const { it, gen } = this;
if (!it.opts.unevaluated)
return;
if (it.props !== true && schemaCxt.props !== void 0) {
it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);
}
if (it.items !== true && schemaCxt.items !== void 0) {
it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);
}
}
mergeValidEvaluated(schemaCxt, valid) {
const { it, gen } = this;
if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {
gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));
return true;
}
}
};
exports2.KeywordCxt = KeywordCxt;
function keywordCode(it, keyword, def, ruleType) {
const cxt = new KeywordCxt(it, def, keyword);
if ("code" in def) {
def.code(cxt, ruleType);
} else if (cxt.$data && def.validate) {
(0, keyword_1.funcKeywordCode)(cxt, def);
} else if ("macro" in def) {
(0, keyword_1.macroKeywordCode)(cxt, def);
} else if (def.compile || def.validate) {
(0, keyword_1.funcKeywordCode)(cxt, def);
}
}
var JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/;
var RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;
function getData($data, { dataLevel, dataNames, dataPathArr }) {
let jsonPointer;
let data;
if ($data === "")
return names_1.default.rootData;
if ($data[0] === "/") {
if (!JSON_POINTER.test($data))
throw new Error(`Invalid JSON-pointer: ${$data}`);
jsonPointer = $data;
data = names_1.default.rootData;
} else {
const matches = RELATIVE_JSON_POINTER.exec($data);
if (!matches)
throw new Error(`Invalid JSON-pointer: ${$data}`);
const up = +matches[1];
jsonPointer = matches[2];
if (jsonPointer === "#") {
if (up >= dataLevel)
throw new Error(errorMsg("property/index", up));
return dataPathArr[dataLevel - up];
}
if (up > dataLevel)
throw new Error(errorMsg("data", up));
data = dataNames[dataLevel - up];
if (!jsonPointer)
return data;
}
let expr = data;
const segments = jsonPointer.split("/");
for (const segment of segments) {
if (segment) {
data = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;
expr = (0, codegen_1._)`${expr} && ${data}`;
}
}
return expr;
function errorMsg(pointerType, up) {
return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;
}
}
exports2.getData = getData;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/validation_error.js
var require_validation_error = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/validation_error.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var ValidationError = class extends Error {
constructor(errors) {
super("validation failed");
this.errors = errors;
this.ajv = this.validation = true;
}
};
exports2.default = ValidationError;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/ref_error.js
var require_ref_error = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/ref_error.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var resolve_1 = require_resolve();
var MissingRefError = class extends Error {
constructor(resolver, baseId, ref, msg) {
super(msg || `can't resolve reference ${ref} from id ${baseId}`);
this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref);
this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef));
}
};
exports2.default = MissingRefError;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/index.js
var require_compile = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/compile/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.resolveSchema = exports2.getCompilingSchema = exports2.resolveRef = exports2.compileSchema = exports2.SchemaEnv = void 0;
var codegen_1 = require_codegen2();
var validation_error_1 = require_validation_error();
var names_1 = require_names();
var resolve_1 = require_resolve();
var util_1 = require_util12();
var validate_1 = require_validate();
var SchemaEnv = class {
constructor(env2) {
var _a4;
this.refs = {};
this.dynamicAnchors = {};
let schema2;
if (typeof env2.schema == "object")
schema2 = env2.schema;
this.schema = env2.schema;
this.schemaId = env2.schemaId;
this.root = env2.root || this;
this.baseId = (_a4 = env2.baseId) !== null && _a4 !== void 0 ? _a4 : (0, resolve_1.normalizeId)(schema2 === null || schema2 === void 0 ? void 0 : schema2[env2.schemaId || "$id"]);
this.schemaPath = env2.schemaPath;
this.localRefs = env2.localRefs;
this.meta = env2.meta;
this.$async = schema2 === null || schema2 === void 0 ? void 0 : schema2.$async;
this.refs = {};
}
};
exports2.SchemaEnv = SchemaEnv;
function compileSchema(sch) {
const _sch = getCompilingSchema.call(this, sch);
if (_sch)
return _sch;
const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId);
const { es5, lines } = this.opts.code;
const { ownProperties } = this.opts;
const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties });
let _ValidationError;
if (sch.$async) {
_ValidationError = gen.scopeValue("Error", {
ref: validation_error_1.default,
code: (0, codegen_1._)`require("ajv/dist/runtime/validation_error").default`
});
}
const validateName = gen.scopeName("validate");
sch.validateName = validateName;
const schemaCxt = {
gen,
allErrors: this.opts.allErrors,
data: names_1.default.data,
parentData: names_1.default.parentData,
parentDataProperty: names_1.default.parentDataProperty,
dataNames: [names_1.default.data],
dataPathArr: [codegen_1.nil],
// TODO can its length be used as dataLevel if nil is removed?
dataLevel: 0,
dataTypes: [],
definedProperties: /* @__PURE__ */ new Set(),
topSchemaRef: gen.scopeValue("schema", this.opts.code.source === true ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) } : { ref: sch.schema }),
validateName,
ValidationError: _ValidationError,
schema: sch.schema,
schemaEnv: sch,
rootId,
baseId: sch.baseId || rootId,
schemaPath: codegen_1.nil,
errSchemaPath: sch.schemaPath || (this.opts.jtd ? "" : "#"),
errorPath: (0, codegen_1._)`""`,
opts: this.opts,
self: this
};
let sourceCode;
try {
this._compilations.add(sch);
(0, validate_1.validateFunctionCode)(schemaCxt);
gen.optimize(this.opts.code.optimize);
const validateCode = gen.toString();
sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`;
if (this.opts.code.process)
sourceCode = this.opts.code.process(sourceCode, sch);
const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);
const validate3 = makeValidate(this, this.scope.get());
this.scope.value(validateName, { ref: validate3 });
validate3.errors = null;
validate3.schema = sch.schema;
validate3.schemaEnv = sch;
if (sch.$async)
validate3.$async = true;
if (this.opts.code.source === true) {
validate3.source = { validateName, validateCode, scopeValues: gen._values };
}
if (this.opts.unevaluated) {
const { props, items } = schemaCxt;
validate3.evaluated = {
props: props instanceof codegen_1.Name ? void 0 : props,
items: items instanceof codegen_1.Name ? void 0 : items,
dynamicProps: props instanceof codegen_1.Name,
dynamicItems: items instanceof codegen_1.Name
};
if (validate3.source)
validate3.source.evaluated = (0, codegen_1.stringify)(validate3.evaluated);
}
sch.validate = validate3;
return sch;
} catch (e2) {
delete sch.validate;
delete sch.validateName;
if (sourceCode)
this.logger.error("Error compiling schema, function code:", sourceCode);
throw e2;
} finally {
this._compilations.delete(sch);
}
}
exports2.compileSchema = compileSchema;
function resolveRef(root, baseId, ref) {
var _a4;
ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref);
const schOrFunc = root.refs[ref];
if (schOrFunc)
return schOrFunc;
let _sch = resolve25.call(this, root, ref);
if (_sch === void 0) {
const schema2 = (_a4 = root.localRefs) === null || _a4 === void 0 ? void 0 : _a4[ref];
const { schemaId } = this.opts;
if (schema2)
_sch = new SchemaEnv({ schema: schema2, schemaId, root, baseId });
}
if (_sch === void 0)
return;
return root.refs[ref] = inlineOrCompile.call(this, _sch);
}
exports2.resolveRef = resolveRef;
function inlineOrCompile(sch) {
if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs))
return sch.schema;
return sch.validate ? sch : compileSchema.call(this, sch);
}
function getCompilingSchema(schEnv) {
for (const sch of this._compilations) {
if (sameSchemaEnv(sch, schEnv))
return sch;
}
}
exports2.getCompilingSchema = getCompilingSchema;
function sameSchemaEnv(s1, s2) {
return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;
}
function resolve25(root, ref) {
let sch;
while (typeof (sch = this.refs[ref]) == "string")
ref = sch;
return sch || this.schemas[ref] || resolveSchema.call(this, root, ref);
}
function resolveSchema(root, ref) {
const p = this.opts.uriResolver.parse(ref);
const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p);
let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, void 0);
if (Object.keys(root.schema).length > 0 && refPath === baseId) {
return getJsonPointer.call(this, p, root);
}
const id = (0, resolve_1.normalizeId)(refPath);
const schOrRef = this.refs[id] || this.schemas[id];
if (typeof schOrRef == "string") {
const sch = resolveSchema.call(this, root, schOrRef);
if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== "object")
return;
return getJsonPointer.call(this, p, sch);
}
if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== "object")
return;
if (!schOrRef.validate)
compileSchema.call(this, schOrRef);
if (id === (0, resolve_1.normalizeId)(ref)) {
const { schema: schema2 } = schOrRef;
const { schemaId } = this.opts;
const schId = schema2[schemaId];
if (schId)
baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);
return new SchemaEnv({ schema: schema2, schemaId, root, baseId });
}
return getJsonPointer.call(this, p, schOrRef);
}
exports2.resolveSchema = resolveSchema;
var PREVENT_SCOPE_CHANGE = /* @__PURE__ */ new Set([
"properties",
"patternProperties",
"enum",
"dependencies",
"definitions"
]);
function getJsonPointer(parsedRef, { baseId, schema: schema2, root }) {
var _a4;
if (((_a4 = parsedRef.fragment) === null || _a4 === void 0 ? void 0 : _a4[0]) !== "/")
return;
for (const part of parsedRef.fragment.slice(1).split("/")) {
if (typeof schema2 === "boolean")
return;
const partSchema = schema2[(0, util_1.unescapeFragment)(part)];
if (partSchema === void 0)
return;
schema2 = partSchema;
const schId = typeof schema2 === "object" && schema2[this.opts.schemaId];
if (!PREVENT_SCOPE_CHANGE.has(part) && schId) {
baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);
}
}
let env2;
if (typeof schema2 != "boolean" && schema2.$ref && !(0, util_1.schemaHasRulesButRef)(schema2, this.RULES)) {
const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema2.$ref);
env2 = resolveSchema.call(this, root, $ref);
}
const { schemaId } = this.opts;
env2 = env2 || new SchemaEnv({ schema: schema2, schemaId, root, baseId });
if (env2.schema !== env2.root.schema)
return env2;
return void 0;
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/refs/data.json
var require_data = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/refs/data.json"(exports2, module2) {
module2.exports = {
$id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
description: "Meta-schema for $data reference (JSON AnySchema extension proposal)",
type: "object",
required: ["$data"],
properties: {
$data: {
type: "string",
anyOf: [{ format: "relative-json-pointer" }, { format: "json-pointer" }]
}
},
additionalProperties: false
};
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/uri.js
var require_uri2 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/uri.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var uri = require_fast_uri();
uri.code = 'require("ajv/dist/runtime/uri").default';
exports2.default = uri;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/core.js
var require_core = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/core.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = void 0;
var validate_1 = require_validate();
Object.defineProperty(exports2, "KeywordCxt", { enumerable: true, get: function() {
return validate_1.KeywordCxt;
} });
var codegen_1 = require_codegen2();
Object.defineProperty(exports2, "_", { enumerable: true, get: function() {
return codegen_1._;
} });
Object.defineProperty(exports2, "str", { enumerable: true, get: function() {
return codegen_1.str;
} });
Object.defineProperty(exports2, "stringify", { enumerable: true, get: function() {
return codegen_1.stringify;
} });
Object.defineProperty(exports2, "nil", { enumerable: true, get: function() {
return codegen_1.nil;
} });
Object.defineProperty(exports2, "Name", { enumerable: true, get: function() {
return codegen_1.Name;
} });
Object.defineProperty(exports2, "CodeGen", { enumerable: true, get: function() {
return codegen_1.CodeGen;
} });
var validation_error_1 = require_validation_error();
var ref_error_1 = require_ref_error();
var rules_1 = require_rules();
var compile_1 = require_compile();
var codegen_2 = require_codegen2();
var resolve_1 = require_resolve();
var dataType_1 = require_dataType();
var util_1 = require_util12();
var $dataRefSchema = require_data();
var uri_1 = require_uri2();
var defaultRegExp = (str2, flags2) => new RegExp(str2, flags2);
defaultRegExp.code = "new RegExp";
var META_IGNORE_OPTIONS = ["removeAdditional", "useDefaults", "coerceTypes"];
var EXT_SCOPE_NAMES = /* @__PURE__ */ new Set([
"validate",
"serialize",
"parse",
"wrapper",
"root",
"schema",
"keyword",
"pattern",
"formats",
"validate$data",
"func",
"obj",
"Error"
]);
var removedOptions = {
errorDataPath: "",
format: "`validateFormats: false` can be used instead.",
nullable: '"nullable" keyword is supported by default.',
jsonPointers: "Deprecated jsPropertySyntax can be used instead.",
extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.",
missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.",
processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`",
sourceCode: "Use option `code: {source: true}`",
strictDefaults: "It is default now, see option `strict`.",
strictKeywords: "It is default now, see option `strict`.",
uniqueItems: '"uniqueItems" keyword is always validated.',
unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",
cache: "Map is used as cache, schema object as key.",
serialize: "Map is used as cache, schema object as key.",
ajvErrors: "It is default now."
};
var deprecatedOptions = {
ignoreKeywordsWithRef: "",
jsPropertySyntax: "",
unicode: '"minLength"/"maxLength" account for unicode characters by default.'
};
var MAX_EXPRESSION = 200;
function requiredOptions(o3) {
var _a4, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
const s2 = o3.strict;
const _optz = (_a4 = o3.code) === null || _a4 === void 0 ? void 0 : _a4.optimize;
const optimize = _optz === true || _optz === void 0 ? 1 : _optz || 0;
const regExp = (_c = (_b = o3.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp;
const uriResolver = (_d = o3.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default;
return {
strictSchema: (_f = (_e = o3.strictSchema) !== null && _e !== void 0 ? _e : s2) !== null && _f !== void 0 ? _f : true,
strictNumbers: (_h = (_g = o3.strictNumbers) !== null && _g !== void 0 ? _g : s2) !== null && _h !== void 0 ? _h : true,
strictTypes: (_k = (_j = o3.strictTypes) !== null && _j !== void 0 ? _j : s2) !== null && _k !== void 0 ? _k : "log",
strictTuples: (_m = (_l = o3.strictTuples) !== null && _l !== void 0 ? _l : s2) !== null && _m !== void 0 ? _m : "log",
strictRequired: (_p = (_o = o3.strictRequired) !== null && _o !== void 0 ? _o : s2) !== null && _p !== void 0 ? _p : false,
code: o3.code ? { ...o3.code, optimize, regExp } : { optimize, regExp },
loopRequired: (_q = o3.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION,
loopEnum: (_r = o3.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION,
meta: (_s = o3.meta) !== null && _s !== void 0 ? _s : true,
messages: (_t = o3.messages) !== null && _t !== void 0 ? _t : true,
inlineRefs: (_u = o3.inlineRefs) !== null && _u !== void 0 ? _u : true,
schemaId: (_v = o3.schemaId) !== null && _v !== void 0 ? _v : "$id",
addUsedSchema: (_w = o3.addUsedSchema) !== null && _w !== void 0 ? _w : true,
validateSchema: (_x = o3.validateSchema) !== null && _x !== void 0 ? _x : true,
validateFormats: (_y = o3.validateFormats) !== null && _y !== void 0 ? _y : true,
unicodeRegExp: (_z = o3.unicodeRegExp) !== null && _z !== void 0 ? _z : true,
int32range: (_0 = o3.int32range) !== null && _0 !== void 0 ? _0 : true,
uriResolver
};
}
var Ajv2 = class {
constructor(opts = {}) {
this.schemas = {};
this.refs = {};
this.formats = {};
this._compilations = /* @__PURE__ */ new Set();
this._loading = {};
this._cache = /* @__PURE__ */ new Map();
opts = this.opts = { ...opts, ...requiredOptions(opts) };
const { es5, lines } = this.opts.code;
this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines });
this.logger = getLogger(opts.logger);
const formatOpt = opts.validateFormats;
opts.validateFormats = false;
this.RULES = (0, rules_1.getRules)();
checkOptions.call(this, removedOptions, opts, "NOT SUPPORTED");
checkOptions.call(this, deprecatedOptions, opts, "DEPRECATED", "warn");
this._metaOpts = getMetaSchemaOptions.call(this);
if (opts.formats)
addInitialFormats.call(this);
this._addVocabularies();
this._addDefaultMetaSchema();
if (opts.keywords)
addInitialKeywords.call(this, opts.keywords);
if (typeof opts.meta == "object")
this.addMetaSchema(opts.meta);
addInitialSchemas.call(this);
opts.validateFormats = formatOpt;
}
_addVocabularies() {
this.addKeyword("$async");
}
_addDefaultMetaSchema() {
const { $data, meta, schemaId } = this.opts;
let _dataRefSchema = $dataRefSchema;
if (schemaId === "id") {
_dataRefSchema = { ...$dataRefSchema };
_dataRefSchema.id = _dataRefSchema.$id;
delete _dataRefSchema.$id;
}
if (meta && $data)
this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false);
}
defaultMeta() {
const { meta, schemaId } = this.opts;
return this.opts.defaultMeta = typeof meta == "object" ? meta[schemaId] || meta : void 0;
}
validate(schemaKeyRef, data) {
let v;
if (typeof schemaKeyRef == "string") {
v = this.getSchema(schemaKeyRef);
if (!v)
throw new Error(`no schema with key or ref "${schemaKeyRef}"`);
} else {
v = this.compile(schemaKeyRef);
}
const valid = v(data);
if (!("$async" in v))
this.errors = v.errors;
return valid;
}
compile(schema2, _meta) {
const sch = this._addSchema(schema2, _meta);
return sch.validate || this._compileSchemaEnv(sch);
}
compileAsync(schema2, meta) {
if (typeof this.opts.loadSchema != "function") {
throw new Error("options.loadSchema should be a function");
}
const { loadSchema } = this.opts;
return runCompileAsync.call(this, schema2, meta);
async function runCompileAsync(_schema, _meta) {
await loadMetaSchema.call(this, _schema.$schema);
const sch = this._addSchema(_schema, _meta);
return sch.validate || _compileAsync.call(this, sch);
}
async function loadMetaSchema($ref) {
if ($ref && !this.getSchema($ref)) {
await runCompileAsync.call(this, { $ref }, true);
}
}
async function _compileAsync(sch) {
try {
return this._compileSchemaEnv(sch);
} catch (e2) {
if (!(e2 instanceof ref_error_1.default))
throw e2;
checkLoaded.call(this, e2);
await loadMissingSchema.call(this, e2.missingSchema);
return _compileAsync.call(this, sch);
}
}
function checkLoaded({ missingSchema: ref, missingRef }) {
if (this.refs[ref]) {
throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`);
}
}
async function loadMissingSchema(ref) {
const _schema = await _loadSchema.call(this, ref);
if (!this.refs[ref])
await loadMetaSchema.call(this, _schema.$schema);
if (!this.refs[ref])
this.addSchema(_schema, ref, meta);
}
async function _loadSchema(ref) {
const p = this._loading[ref];
if (p)
return p;
try {
return await (this._loading[ref] = loadSchema(ref));
} finally {
delete this._loading[ref];
}
}
}
// Adds schema to the instance
addSchema(schema2, key, _meta, _validateSchema = this.opts.validateSchema) {
if (Array.isArray(schema2)) {
for (const sch of schema2)
this.addSchema(sch, void 0, _meta, _validateSchema);
return this;
}
let id;
if (typeof schema2 === "object") {
const { schemaId } = this.opts;
id = schema2[schemaId];
if (id !== void 0 && typeof id != "string") {
throw new Error(`schema ${schemaId} must be string`);
}
}
key = (0, resolve_1.normalizeId)(key || id);
this._checkUnique(key);
this.schemas[key] = this._addSchema(schema2, _meta, key, _validateSchema, true);
return this;
}
// Add schema that will be used to validate other schemas
// options in META_IGNORE_OPTIONS are alway set to false
addMetaSchema(schema2, key, _validateSchema = this.opts.validateSchema) {
this.addSchema(schema2, key, true, _validateSchema);
return this;
}
// Validate schema against its meta-schema
validateSchema(schema2, throwOrLogError) {
if (typeof schema2 == "boolean")
return true;
let $schema;
$schema = schema2.$schema;
if ($schema !== void 0 && typeof $schema != "string") {
throw new Error("$schema must be a string");
}
$schema = $schema || this.opts.defaultMeta || this.defaultMeta();
if (!$schema) {
this.logger.warn("meta-schema not available");
this.errors = null;
return true;
}
const valid = this.validate($schema, schema2);
if (!valid && throwOrLogError) {
const message = "schema is invalid: " + this.errorsText();
if (this.opts.validateSchema === "log")
this.logger.error(message);
else
throw new Error(message);
}
return valid;
}
// Get compiled schema by `key` or `ref`.
// (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id)
getSchema(keyRef) {
let sch;
while (typeof (sch = getSchEnv.call(this, keyRef)) == "string")
keyRef = sch;
if (sch === void 0) {
const { schemaId } = this.opts;
const root = new compile_1.SchemaEnv({ schema: {}, schemaId });
sch = compile_1.resolveSchema.call(this, root, keyRef);
if (!sch)
return;
this.refs[keyRef] = sch;
}
return sch.validate || this._compileSchemaEnv(sch);
}
// Remove cached schema(s).
// If no parameter is passed all schemas but meta-schemas are removed.
// If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.
// Even if schema is referenced by other schemas it still can be removed as other schemas have local references.
removeSchema(schemaKeyRef) {
if (schemaKeyRef instanceof RegExp) {
this._removeAllSchemas(this.schemas, schemaKeyRef);
this._removeAllSchemas(this.refs, schemaKeyRef);
return this;
}
switch (typeof schemaKeyRef) {
case "undefined":
this._removeAllSchemas(this.schemas);
this._removeAllSchemas(this.refs);
this._cache.clear();
return this;
case "string": {
const sch = getSchEnv.call(this, schemaKeyRef);
if (typeof sch == "object")
this._cache.delete(sch.schema);
delete this.schemas[schemaKeyRef];
delete this.refs[schemaKeyRef];
return this;
}
case "object": {
const cacheKey = schemaKeyRef;
this._cache.delete(cacheKey);
let id = schemaKeyRef[this.opts.schemaId];
if (id) {
id = (0, resolve_1.normalizeId)(id);
delete this.schemas[id];
delete this.refs[id];
}
return this;
}
default:
throw new Error("ajv.removeSchema: invalid parameter");
}
}
// add "vocabulary" - a collection of keywords
addVocabulary(definitions) {
for (const def of definitions)
this.addKeyword(def);
return this;
}
addKeyword(kwdOrDef, def) {
let keyword;
if (typeof kwdOrDef == "string") {
keyword = kwdOrDef;
if (typeof def == "object") {
this.logger.warn("these parameters are deprecated, see docs for addKeyword");
def.keyword = keyword;
}
} else if (typeof kwdOrDef == "object" && def === void 0) {
def = kwdOrDef;
keyword = def.keyword;
if (Array.isArray(keyword) && !keyword.length) {
throw new Error("addKeywords: keyword must be string or non-empty array");
}
} else {
throw new Error("invalid addKeywords parameters");
}
checkKeyword.call(this, keyword, def);
if (!def) {
(0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd));
return this;
}
keywordMetaschema.call(this, def);
const definition = {
...def,
type: (0, dataType_1.getJSONTypes)(def.type),
schemaType: (0, dataType_1.getJSONTypes)(def.schemaType)
};
(0, util_1.eachItem)(keyword, definition.type.length === 0 ? (k) => addRule.call(this, k, definition) : (k) => definition.type.forEach((t2) => addRule.call(this, k, definition, t2)));
return this;
}
getKeyword(keyword) {
const rule = this.RULES.all[keyword];
return typeof rule == "object" ? rule.definition : !!rule;
}
// Remove keyword
removeKeyword(keyword) {
const { RULES } = this;
delete RULES.keywords[keyword];
delete RULES.all[keyword];
for (const group of RULES.rules) {
const i3 = group.rules.findIndex((rule) => rule.keyword === keyword);
if (i3 >= 0)
group.rules.splice(i3, 1);
}
return this;
}
// Add format
addFormat(name3, format2) {
if (typeof format2 == "string")
format2 = new RegExp(format2);
this.formats[name3] = format2;
return this;
}
errorsText(errors = this.errors, { separator = ", ", dataVar = "data" } = {}) {
if (!errors || errors.length === 0)
return "No errors";
return errors.map((e2) => `${dataVar}${e2.instancePath} ${e2.message}`).reduce((text, msg) => text + separator + msg);
}
$dataMetaSchema(metaSchema, keywordsJsonPointers) {
const rules = this.RULES.all;
metaSchema = JSON.parse(JSON.stringify(metaSchema));
for (const jsonPointer of keywordsJsonPointers) {
const segments = jsonPointer.split("/").slice(1);
let keywords = metaSchema;
for (const seg of segments)
keywords = keywords[seg];
for (const key in rules) {
const rule = rules[key];
if (typeof rule != "object")
continue;
const { $data } = rule.definition;
const schema2 = keywords[key];
if ($data && schema2)
keywords[key] = schemaOrData(schema2);
}
}
return metaSchema;
}
_removeAllSchemas(schemas, regex2) {
for (const keyRef in schemas) {
const sch = schemas[keyRef];
if (!regex2 || regex2.test(keyRef)) {
if (typeof sch == "string") {
delete schemas[keyRef];
} else if (sch && !sch.meta) {
this._cache.delete(sch.schema);
delete schemas[keyRef];
}
}
}
}
_addSchema(schema2, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) {
let id;
const { schemaId } = this.opts;
if (typeof schema2 == "object") {
id = schema2[schemaId];
} else {
if (this.opts.jtd)
throw new Error("schema must be object");
else if (typeof schema2 != "boolean")
throw new Error("schema must be object or boolean");
}
let sch = this._cache.get(schema2);
if (sch !== void 0)
return sch;
baseId = (0, resolve_1.normalizeId)(id || baseId);
const localRefs = resolve_1.getSchemaRefs.call(this, schema2, baseId);
sch = new compile_1.SchemaEnv({ schema: schema2, schemaId, meta, baseId, localRefs });
this._cache.set(sch.schema, sch);
if (addSchema && !baseId.startsWith("#")) {
if (baseId)
this._checkUnique(baseId);
this.refs[baseId] = sch;
}
if (validateSchema)
this.validateSchema(schema2, true);
return sch;
}
_checkUnique(id) {
if (this.schemas[id] || this.refs[id]) {
throw new Error(`schema with key or id "${id}" already exists`);
}
}
_compileSchemaEnv(sch) {
if (sch.meta)
this._compileMetaSchema(sch);
else
compile_1.compileSchema.call(this, sch);
if (!sch.validate)
throw new Error("ajv implementation error");
return sch.validate;
}
_compileMetaSchema(sch) {
const currentOpts = this.opts;
this.opts = this._metaOpts;
try {
compile_1.compileSchema.call(this, sch);
} finally {
this.opts = currentOpts;
}
}
};
Ajv2.ValidationError = validation_error_1.default;
Ajv2.MissingRefError = ref_error_1.default;
exports2.default = Ajv2;
function checkOptions(checkOpts, options, msg, log = "error") {
for (const key in checkOpts) {
const opt = key;
if (opt in options)
this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`);
}
}
function getSchEnv(keyRef) {
keyRef = (0, resolve_1.normalizeId)(keyRef);
return this.schemas[keyRef] || this.refs[keyRef];
}
function addInitialSchemas() {
const optsSchemas = this.opts.schemas;
if (!optsSchemas)
return;
if (Array.isArray(optsSchemas))
this.addSchema(optsSchemas);
else
for (const key in optsSchemas)
this.addSchema(optsSchemas[key], key);
}
function addInitialFormats() {
for (const name3 in this.opts.formats) {
const format2 = this.opts.formats[name3];
if (format2)
this.addFormat(name3, format2);
}
}
function addInitialKeywords(defs) {
if (Array.isArray(defs)) {
this.addVocabulary(defs);
return;
}
this.logger.warn("keywords option as map is deprecated, pass array");
for (const keyword in defs) {
const def = defs[keyword];
if (!def.keyword)
def.keyword = keyword;
this.addKeyword(def);
}
}
function getMetaSchemaOptions() {
const metaOpts = { ...this.opts };
for (const opt of META_IGNORE_OPTIONS)
delete metaOpts[opt];
return metaOpts;
}
var noLogs = { log() {
}, warn() {
}, error() {
} };
function getLogger(logger3) {
if (logger3 === false)
return noLogs;
if (logger3 === void 0)
return console;
if (logger3.log && logger3.warn && logger3.error)
return logger3;
throw new Error("logger must implement log, warn and error methods");
}
var KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i;
function checkKeyword(keyword, def) {
const { RULES } = this;
(0, util_1.eachItem)(keyword, (kwd) => {
if (RULES.keywords[kwd])
throw new Error(`Keyword ${kwd} is already defined`);
if (!KEYWORD_NAME.test(kwd))
throw new Error(`Keyword ${kwd} has invalid name`);
});
if (!def)
return;
if (def.$data && !("code" in def || "validate" in def)) {
throw new Error('$data keyword must have "code" or "validate" function');
}
}
function addRule(keyword, definition, dataType) {
var _a4;
const post = definition === null || definition === void 0 ? void 0 : definition.post;
if (dataType && post)
throw new Error('keyword with "post" flag cannot have "type"');
const { RULES } = this;
let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t2 }) => t2 === dataType);
if (!ruleGroup) {
ruleGroup = { type: dataType, rules: [] };
RULES.rules.push(ruleGroup);
}
RULES.keywords[keyword] = true;
if (!definition)
return;
const rule = {
keyword,
definition: {
...definition,
type: (0, dataType_1.getJSONTypes)(definition.type),
schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType)
}
};
if (definition.before)
addBeforeRule.call(this, ruleGroup, rule, definition.before);
else
ruleGroup.rules.push(rule);
RULES.all[keyword] = rule;
(_a4 = definition.implements) === null || _a4 === void 0 ? void 0 : _a4.forEach((kwd) => this.addKeyword(kwd));
}
function addBeforeRule(ruleGroup, rule, before) {
const i3 = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before);
if (i3 >= 0) {
ruleGroup.rules.splice(i3, 0, rule);
} else {
ruleGroup.rules.push(rule);
this.logger.warn(`rule ${before} is not defined`);
}
}
function keywordMetaschema(def) {
let { metaSchema } = def;
if (metaSchema === void 0)
return;
if (def.$data && this.opts.$data)
metaSchema = schemaOrData(metaSchema);
def.validateSchema = this.compile(metaSchema, true);
}
var $dataRef = {
$ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"
};
function schemaOrData(schema2) {
return { anyOf: [schema2, $dataRef] };
}
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/core/id.js
var require_id = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/core/id.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var def = {
keyword: "id",
code() {
throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID');
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/core/ref.js
var require_ref2 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.callRef = exports2.getValidate = void 0;
var ref_error_1 = require_ref_error();
var code_1 = require_code2();
var codegen_1 = require_codegen2();
var names_1 = require_names();
var compile_1 = require_compile();
var util_1 = require_util12();
var def = {
keyword: "$ref",
schemaType: "string",
code(cxt) {
const { gen, schema: $ref, it } = cxt;
const { baseId, schemaEnv: env2, validateName, opts, self: self2 } = it;
const { root } = env2;
if (($ref === "#" || $ref === "#/") && baseId === root.baseId)
return callRootRef();
const schOrEnv = compile_1.resolveRef.call(self2, root, baseId, $ref);
if (schOrEnv === void 0)
throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref);
if (schOrEnv instanceof compile_1.SchemaEnv)
return callValidate(schOrEnv);
return inlineRefSchema(schOrEnv);
function callRootRef() {
if (env2 === root)
return callRef(cxt, validateName, env2, env2.$async);
const rootName = gen.scopeValue("root", { ref: root });
return callRef(cxt, (0, codegen_1._)`${rootName}.validate`, root, root.$async);
}
function callValidate(sch) {
const v = getValidate(cxt, sch);
callRef(cxt, v, sch, sch.$async);
}
function inlineRefSchema(sch) {
const schName = gen.scopeValue("schema", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch });
const valid = gen.name("valid");
const schCxt = cxt.subschema({
schema: sch,
dataTypes: [],
schemaPath: codegen_1.nil,
topSchemaRef: schName,
errSchemaPath: $ref
}, valid);
cxt.mergeEvaluated(schCxt);
cxt.ok(valid);
}
}
};
function getValidate(cxt, sch) {
const { gen } = cxt;
return sch.validate ? gen.scopeValue("validate", { ref: sch.validate }) : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.validate`;
}
exports2.getValidate = getValidate;
function callRef(cxt, v, sch, $async) {
const { gen, it } = cxt;
const { allErrors, schemaEnv: env2, opts } = it;
const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil;
if ($async)
callAsyncRef();
else
callSyncRef();
function callAsyncRef() {
if (!env2.$async)
throw new Error("async schema referenced by sync schema");
const valid = gen.let("valid");
gen.try(() => {
gen.code((0, codegen_1._)`await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`);
addEvaluatedFrom(v);
if (!allErrors)
gen.assign(valid, true);
}, (e2) => {
gen.if((0, codegen_1._)`!(${e2} instanceof ${it.ValidationError})`, () => gen.throw(e2));
addErrorsFrom(e2);
if (!allErrors)
gen.assign(valid, false);
});
cxt.ok(valid);
}
function callSyncRef() {
cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v));
}
function addErrorsFrom(source) {
const errs = (0, codegen_1._)`${source}.errors`;
gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`);
gen.assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`);
}
function addEvaluatedFrom(source) {
var _a4;
if (!it.opts.unevaluated)
return;
const schEvaluated = (_a4 = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a4 === void 0 ? void 0 : _a4.evaluated;
if (it.props !== true) {
if (schEvaluated && !schEvaluated.dynamicProps) {
if (schEvaluated.props !== void 0) {
it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props);
}
} else {
const props = gen.var("props", (0, codegen_1._)`${source}.evaluated.props`);
it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name);
}
}
if (it.items !== true) {
if (schEvaluated && !schEvaluated.dynamicItems) {
if (schEvaluated.items !== void 0) {
it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items);
}
} else {
const items = gen.var("items", (0, codegen_1._)`${source}.evaluated.items`);
it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name);
}
}
}
}
exports2.callRef = callRef;
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/core/index.js
var require_core2 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/core/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var id_1 = require_id();
var ref_1 = require_ref2();
var core2 = [
"$schema",
"$id",
"$defs",
"$vocabulary",
{ keyword: "$comment" },
"definitions",
id_1.default,
ref_1.default
];
exports2.default = core2;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitNumber.js
var require_limitNumber = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var ops = codegen_1.operators;
var KWDs = {
maximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT },
minimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT },
exclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE },
exclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE }
};
var error40 = {
message: ({ keyword, schemaCode }) => (0, codegen_1.str)`must be ${KWDs[keyword].okStr} ${schemaCode}`,
params: ({ keyword, schemaCode }) => (0, codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`
};
var def = {
keyword: Object.keys(KWDs),
type: "number",
schemaType: "number",
$data: true,
error: error40,
code(cxt) {
const { keyword, data, schemaCode } = cxt;
cxt.fail$data((0, codegen_1._)`${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`);
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/multipleOf.js
var require_multipleOf = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var error40 = {
message: ({ schemaCode }) => (0, codegen_1.str)`must be multiple of ${schemaCode}`,
params: ({ schemaCode }) => (0, codegen_1._)`{multipleOf: ${schemaCode}}`
};
var def = {
keyword: "multipleOf",
type: "number",
schemaType: "number",
$data: true,
error: error40,
code(cxt) {
const { gen, data, schemaCode, it } = cxt;
const prec = it.opts.multipleOfPrecision;
const res = gen.let("res");
const invalid = prec ? (0, codegen_1._)`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}` : (0, codegen_1._)`${res} !== parseInt(${res})`;
cxt.fail$data((0, codegen_1._)`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`);
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/ucs2length.js
var require_ucs2length = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/ucs2length.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
function ucs2length(str2) {
const len = str2.length;
let length = 0;
let pos = 0;
let value;
while (pos < len) {
length++;
value = str2.charCodeAt(pos++);
if (value >= 55296 && value <= 56319 && pos < len) {
value = str2.charCodeAt(pos);
if ((value & 64512) === 56320)
pos++;
}
}
return length;
}
exports2.default = ucs2length;
ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default';
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitLength.js
var require_limitLength = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var ucs2length_1 = require_ucs2length();
var error40 = {
message({ keyword, schemaCode }) {
const comp = keyword === "maxLength" ? "more" : "fewer";
return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} characters`;
},
params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`
};
var def = {
keyword: ["maxLength", "minLength"],
type: "string",
schemaType: "number",
$data: true,
error: error40,
code(cxt) {
const { keyword, data, schemaCode, it } = cxt;
const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT;
const len = it.opts.unicode === false ? (0, codegen_1._)`${data}.length` : (0, codegen_1._)`${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`;
cxt.fail$data((0, codegen_1._)`${len} ${op} ${schemaCode}`);
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/pattern.js
var require_pattern = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var code_1 = require_code2();
var util_1 = require_util12();
var codegen_1 = require_codegen2();
var error40 = {
message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`,
params: ({ schemaCode }) => (0, codegen_1._)`{pattern: ${schemaCode}}`
};
var def = {
keyword: "pattern",
type: "string",
schemaType: "string",
$data: true,
error: error40,
code(cxt) {
const { gen, data, $data, schema: schema2, schemaCode, it } = cxt;
const u2 = it.opts.unicodeRegExp ? "u" : "";
if ($data) {
const { regExp } = it.opts.code;
const regExpCode = regExp.code === "new RegExp" ? (0, codegen_1._)`new RegExp` : (0, util_1.useFunc)(gen, regExp);
const valid = gen.let("valid");
gen.try(() => gen.assign(valid, (0, codegen_1._)`${regExpCode}(${schemaCode}, ${u2}).test(${data})`), () => gen.assign(valid, false));
cxt.fail$data((0, codegen_1._)`!${valid}`);
} else {
const regExp = (0, code_1.usePattern)(cxt, schema2);
cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`);
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitProperties.js
var require_limitProperties = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var error40 = {
message({ keyword, schemaCode }) {
const comp = keyword === "maxProperties" ? "more" : "fewer";
return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} properties`;
},
params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`
};
var def = {
keyword: ["maxProperties", "minProperties"],
type: "object",
schemaType: "number",
$data: true,
error: error40,
code(cxt) {
const { keyword, data, schemaCode } = cxt;
const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT;
cxt.fail$data((0, codegen_1._)`Object.keys(${data}).length ${op} ${schemaCode}`);
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/required.js
var require_required = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var code_1 = require_code2();
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var error40 = {
message: ({ params: { missingProperty } }) => (0, codegen_1.str)`must have required property '${missingProperty}'`,
params: ({ params: { missingProperty } }) => (0, codegen_1._)`{missingProperty: ${missingProperty}}`
};
var def = {
keyword: "required",
type: "object",
schemaType: "array",
$data: true,
error: error40,
code(cxt) {
const { gen, schema: schema2, schemaCode, data, $data, it } = cxt;
const { opts } = it;
if (!$data && schema2.length === 0)
return;
const useLoop = schema2.length >= opts.loopRequired;
if (it.allErrors)
allErrorsMode();
else
exitOnErrorMode();
if (opts.strictRequired) {
const props = cxt.parentSchema.properties;
const { definedProperties } = cxt.it;
for (const requiredKey of schema2) {
if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === void 0 && !definedProperties.has(requiredKey)) {
const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
const msg = `required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`;
(0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired);
}
}
}
function allErrorsMode() {
if (useLoop || $data) {
cxt.block$data(codegen_1.nil, loopAllRequired);
} else {
for (const prop of schema2) {
(0, code_1.checkReportMissingProp)(cxt, prop);
}
}
}
function exitOnErrorMode() {
const missing = gen.let("missing");
if (useLoop || $data) {
const valid = gen.let("valid", true);
cxt.block$data(valid, () => loopUntilMissing(missing, valid));
cxt.ok(valid);
} else {
gen.if((0, code_1.checkMissingProp)(cxt, schema2, missing));
(0, code_1.reportMissingProp)(cxt, missing);
gen.else();
}
}
function loopAllRequired() {
gen.forOf("prop", schemaCode, (prop) => {
cxt.setParams({ missingProperty: prop });
gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error());
});
}
function loopUntilMissing(missing, valid) {
cxt.setParams({ missingProperty: missing });
gen.forOf(missing, schemaCode, () => {
gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties));
gen.if((0, codegen_1.not)(valid), () => {
cxt.error();
gen.break();
});
}, codegen_1.nil);
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitItems.js
var require_limitItems = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var error40 = {
message({ keyword, schemaCode }) {
const comp = keyword === "maxItems" ? "more" : "fewer";
return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} items`;
},
params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`
};
var def = {
keyword: ["maxItems", "minItems"],
type: "array",
schemaType: "number",
$data: true,
error: error40,
code(cxt) {
const { keyword, data, schemaCode } = cxt;
const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT;
cxt.fail$data((0, codegen_1._)`${data}.length ${op} ${schemaCode}`);
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/equal.js
var require_equal = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/runtime/equal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var equal = require_fast_deep_equal();
equal.code = 'require("ajv/dist/runtime/equal").default';
exports2.default = equal;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
var require_uniqueItems = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var dataType_1 = require_dataType();
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var equal_1 = require_equal();
var error40 = {
message: ({ params: { i: i3, j } }) => (0, codegen_1.str)`must NOT have duplicate items (items ## ${j} and ${i3} are identical)`,
params: ({ params: { i: i3, j } }) => (0, codegen_1._)`{i: ${i3}, j: ${j}}`
};
var def = {
keyword: "uniqueItems",
type: "array",
schemaType: "boolean",
$data: true,
error: error40,
code(cxt) {
const { gen, data, $data, schema: schema2, parentSchema, schemaCode, it } = cxt;
if (!$data && !schema2)
return;
const valid = gen.let("valid");
const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : [];
cxt.block$data(valid, validateUniqueItems, (0, codegen_1._)`${schemaCode} === false`);
cxt.ok(valid);
function validateUniqueItems() {
const i3 = gen.let("i", (0, codegen_1._)`${data}.length`);
const j = gen.let("j");
cxt.setParams({ i: i3, j });
gen.assign(valid, true);
gen.if((0, codegen_1._)`${i3} > 1`, () => (canOptimize() ? loopN : loopN2)(i3, j));
}
function canOptimize() {
return itemTypes.length > 0 && !itemTypes.some((t2) => t2 === "object" || t2 === "array");
}
function loopN(i3, j) {
const item = gen.name("item");
const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong);
const indices = gen.const("indices", (0, codegen_1._)`{}`);
gen.for((0, codegen_1._)`;${i3}--;`, () => {
gen.let(item, (0, codegen_1._)`${data}[${i3}]`);
gen.if(wrongType, (0, codegen_1._)`continue`);
if (itemTypes.length > 1)
gen.if((0, codegen_1._)`typeof ${item} == "string"`, (0, codegen_1._)`${item} += "_"`);
gen.if((0, codegen_1._)`typeof ${indices}[${item}] == "number"`, () => {
gen.assign(j, (0, codegen_1._)`${indices}[${item}]`);
cxt.error();
gen.assign(valid, false).break();
}).code((0, codegen_1._)`${indices}[${item}] = ${i3}`);
});
}
function loopN2(i3, j) {
const eql = (0, util_1.useFunc)(gen, equal_1.default);
const outer = gen.name("outer");
gen.label(outer).for((0, codegen_1._)`;${i3}--;`, () => gen.for((0, codegen_1._)`${j} = ${i3}; ${j}--;`, () => gen.if((0, codegen_1._)`${eql}(${data}[${i3}], ${data}[${j}])`, () => {
cxt.error();
gen.assign(valid, false).break(outer);
})));
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/const.js
var require_const = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var equal_1 = require_equal();
var error40 = {
message: "must be equal to constant",
params: ({ schemaCode }) => (0, codegen_1._)`{allowedValue: ${schemaCode}}`
};
var def = {
keyword: "const",
$data: true,
error: error40,
code(cxt) {
const { gen, data, $data, schemaCode, schema: schema2 } = cxt;
if ($data || schema2 && typeof schema2 == "object") {
cxt.fail$data((0, codegen_1._)`!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`);
} else {
cxt.fail((0, codegen_1._)`${schema2} !== ${data}`);
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/enum.js
var require_enum3 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var equal_1 = require_equal();
var error40 = {
message: "must be equal to one of the allowed values",
params: ({ schemaCode }) => (0, codegen_1._)`{allowedValues: ${schemaCode}}`
};
var def = {
keyword: "enum",
schemaType: "array",
$data: true,
error: error40,
code(cxt) {
const { gen, data, $data, schema: schema2, schemaCode, it } = cxt;
if (!$data && schema2.length === 0)
throw new Error("enum must have non-empty array");
const useLoop = schema2.length >= it.opts.loopEnum;
let eql;
const getEql = () => eql !== null && eql !== void 0 ? eql : eql = (0, util_1.useFunc)(gen, equal_1.default);
let valid;
if (useLoop || $data) {
valid = gen.let("valid");
cxt.block$data(valid, loopEnum);
} else {
if (!Array.isArray(schema2))
throw new Error("ajv implementation error");
const vSchema = gen.const("vSchema", schemaCode);
valid = (0, codegen_1.or)(...schema2.map((_x, i3) => equalCode(vSchema, i3)));
}
cxt.pass(valid);
function loopEnum() {
gen.assign(valid, false);
gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._)`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));
}
function equalCode(vSchema, i3) {
const sch = schema2[i3];
return typeof sch === "object" && sch !== null ? (0, codegen_1._)`${getEql()}(${data}, ${vSchema}[${i3}])` : (0, codegen_1._)`${data} === ${sch}`;
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/index.js
var require_validation2 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var limitNumber_1 = require_limitNumber();
var multipleOf_1 = require_multipleOf();
var limitLength_1 = require_limitLength();
var pattern_1 = require_pattern();
var limitProperties_1 = require_limitProperties();
var required_1 = require_required();
var limitItems_1 = require_limitItems();
var uniqueItems_1 = require_uniqueItems();
var const_1 = require_const();
var enum_1 = require_enum3();
var validation = [
// number
limitNumber_1.default,
multipleOf_1.default,
// string
limitLength_1.default,
pattern_1.default,
// object
limitProperties_1.default,
required_1.default,
// array
limitItems_1.default,
uniqueItems_1.default,
// any
{ keyword: "type", schemaType: ["string", "array"] },
{ keyword: "nullable", schemaType: "boolean" },
const_1.default,
enum_1.default
];
exports2.default = validation;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
var require_additionalItems = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateAdditionalItems = void 0;
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var error40 = {
message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`,
params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`
};
var def = {
keyword: "additionalItems",
type: "array",
schemaType: ["boolean", "object"],
before: "uniqueItems",
error: error40,
code(cxt) {
const { parentSchema, it } = cxt;
const { items } = parentSchema;
if (!Array.isArray(items)) {
(0, util_1.checkStrictMode)(it, '"additionalItems" is ignored when "items" is not an array of schemas');
return;
}
validateAdditionalItems(cxt, items);
}
};
function validateAdditionalItems(cxt, items) {
const { gen, schema: schema2, data, keyword, it } = cxt;
it.items = true;
const len = gen.const("len", (0, codegen_1._)`${data}.length`);
if (schema2 === false) {
cxt.setParams({ len: items.length });
cxt.pass((0, codegen_1._)`${len} <= ${items.length}`);
} else if (typeof schema2 == "object" && !(0, util_1.alwaysValidSchema)(it, schema2)) {
const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items.length}`);
gen.if((0, codegen_1.not)(valid), () => validateItems(valid));
cxt.ok(valid);
}
function validateItems(valid) {
gen.forRange("i", items.length, len, (i3) => {
cxt.subschema({ keyword, dataProp: i3, dataPropType: util_1.Type.Num }, valid);
if (!it.allErrors)
gen.if((0, codegen_1.not)(valid), () => gen.break());
});
}
}
exports2.validateAdditionalItems = validateAdditionalItems;
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/items.js
var require_items = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateTuple = void 0;
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var code_1 = require_code2();
var def = {
keyword: "items",
type: "array",
schemaType: ["object", "array", "boolean"],
before: "uniqueItems",
code(cxt) {
const { schema: schema2, it } = cxt;
if (Array.isArray(schema2))
return validateTuple(cxt, "additionalItems", schema2);
it.items = true;
if ((0, util_1.alwaysValidSchema)(it, schema2))
return;
cxt.ok((0, code_1.validateArray)(cxt));
}
};
function validateTuple(cxt, extraItems, schArr = cxt.schema) {
const { gen, parentSchema, data, keyword, it } = cxt;
checkStrictTuple(parentSchema);
if (it.opts.unevaluated && schArr.length && it.items !== true) {
it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items);
}
const valid = gen.name("valid");
const len = gen.const("len", (0, codegen_1._)`${data}.length`);
schArr.forEach((sch, i3) => {
if ((0, util_1.alwaysValidSchema)(it, sch))
return;
gen.if((0, codegen_1._)`${len} > ${i3}`, () => cxt.subschema({
keyword,
schemaProp: i3,
dataProp: i3
}, valid));
cxt.ok(valid);
});
function checkStrictTuple(sch) {
const { opts, errSchemaPath } = it;
const l2 = schArr.length;
const fullTuple = l2 === sch.minItems && (l2 === sch.maxItems || sch[extraItems] === false);
if (opts.strictTuples && !fullTuple) {
const msg = `"${keyword}" is ${l2}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`;
(0, util_1.checkStrictMode)(it, msg, opts.strictTuples);
}
}
}
exports2.validateTuple = validateTuple;
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
var require_prefixItems = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var items_1 = require_items();
var def = {
keyword: "prefixItems",
type: "array",
schemaType: ["array"],
before: "uniqueItems",
code: (cxt) => (0, items_1.validateTuple)(cxt, "items")
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/items2020.js
var require_items2020 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var code_1 = require_code2();
var additionalItems_1 = require_additionalItems();
var error40 = {
message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`,
params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`
};
var def = {
keyword: "items",
type: "array",
schemaType: ["object", "boolean"],
before: "uniqueItems",
error: error40,
code(cxt) {
const { schema: schema2, parentSchema, it } = cxt;
const { prefixItems } = parentSchema;
it.items = true;
if ((0, util_1.alwaysValidSchema)(it, schema2))
return;
if (prefixItems)
(0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems);
else
cxt.ok((0, code_1.validateArray)(cxt));
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/contains.js
var require_contains = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var error40 = {
message: ({ params: { min, max } }) => max === void 0 ? (0, codegen_1.str)`must contain at least ${min} valid item(s)` : (0, codegen_1.str)`must contain at least ${min} and no more than ${max} valid item(s)`,
params: ({ params: { min, max } }) => max === void 0 ? (0, codegen_1._)`{minContains: ${min}}` : (0, codegen_1._)`{minContains: ${min}, maxContains: ${max}}`
};
var def = {
keyword: "contains",
type: "array",
schemaType: ["object", "boolean"],
before: "uniqueItems",
trackErrors: true,
error: error40,
code(cxt) {
const { gen, schema: schema2, parentSchema, data, it } = cxt;
let min;
let max;
const { minContains, maxContains } = parentSchema;
if (it.opts.next) {
min = minContains === void 0 ? 1 : minContains;
max = maxContains;
} else {
min = 1;
}
const len = gen.const("len", (0, codegen_1._)`${data}.length`);
cxt.setParams({ min, max });
if (max === void 0 && min === 0) {
(0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`);
return;
}
if (max !== void 0 && min > max) {
(0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`);
cxt.fail();
return;
}
if ((0, util_1.alwaysValidSchema)(it, schema2)) {
let cond = (0, codegen_1._)`${len} >= ${min}`;
if (max !== void 0)
cond = (0, codegen_1._)`${cond} && ${len} <= ${max}`;
cxt.pass(cond);
return;
}
it.items = true;
const valid = gen.name("valid");
if (max === void 0 && min === 1) {
validateItems(valid, () => gen.if(valid, () => gen.break()));
} else if (min === 0) {
gen.let(valid, true);
if (max !== void 0)
gen.if((0, codegen_1._)`${data}.length > 0`, validateItemsWithCount);
} else {
gen.let(valid, false);
validateItemsWithCount();
}
cxt.result(valid, () => cxt.reset());
function validateItemsWithCount() {
const schValid = gen.name("_valid");
const count2 = gen.let("count", 0);
validateItems(schValid, () => gen.if(schValid, () => checkLimits(count2)));
}
function validateItems(_valid, block) {
gen.forRange("i", 0, len, (i3) => {
cxt.subschema({
keyword: "contains",
dataProp: i3,
dataPropType: util_1.Type.Num,
compositeRule: true
}, _valid);
block();
});
}
function checkLimits(count2) {
gen.code((0, codegen_1._)`${count2}++`);
if (max === void 0) {
gen.if((0, codegen_1._)`${count2} >= ${min}`, () => gen.assign(valid, true).break());
} else {
gen.if((0, codegen_1._)`${count2} > ${max}`, () => gen.assign(valid, false).break());
if (min === 1)
gen.assign(valid, true);
else
gen.if((0, codegen_1._)`${count2} >= ${min}`, () => gen.assign(valid, true));
}
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/dependencies.js
var require_dependencies = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateSchemaDeps = exports2.validatePropertyDeps = exports2.error = void 0;
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var code_1 = require_code2();
exports2.error = {
message: ({ params: { property, depsCount, deps } }) => {
const property_ies = depsCount === 1 ? "property" : "properties";
return (0, codegen_1.str)`must have ${property_ies} ${deps} when property ${property} is present`;
},
params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._)`{property: ${property},
missingProperty: ${missingProperty},
depsCount: ${depsCount},
deps: ${deps}}`
// TODO change to reference
};
var def = {
keyword: "dependencies",
type: "object",
schemaType: "object",
error: exports2.error,
code(cxt) {
const [propDeps, schDeps] = splitDependencies(cxt);
validatePropertyDeps(cxt, propDeps);
validateSchemaDeps(cxt, schDeps);
}
};
function splitDependencies({ schema: schema2 }) {
const propertyDeps = {};
const schemaDeps = {};
for (const key in schema2) {
if (key === "__proto__")
continue;
const deps = Array.isArray(schema2[key]) ? propertyDeps : schemaDeps;
deps[key] = schema2[key];
}
return [propertyDeps, schemaDeps];
}
function validatePropertyDeps(cxt, propertyDeps = cxt.schema) {
const { gen, data, it } = cxt;
if (Object.keys(propertyDeps).length === 0)
return;
const missing = gen.let("missing");
for (const prop in propertyDeps) {
const deps = propertyDeps[prop];
if (deps.length === 0)
continue;
const hasProperty2 = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties);
cxt.setParams({
property: prop,
depsCount: deps.length,
deps: deps.join(", ")
});
if (it.allErrors) {
gen.if(hasProperty2, () => {
for (const depProp of deps) {
(0, code_1.checkReportMissingProp)(cxt, depProp);
}
});
} else {
gen.if((0, codegen_1._)`${hasProperty2} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`);
(0, code_1.reportMissingProp)(cxt, missing);
gen.else();
}
}
}
exports2.validatePropertyDeps = validatePropertyDeps;
function validateSchemaDeps(cxt, schemaDeps = cxt.schema) {
const { gen, data, keyword, it } = cxt;
const valid = gen.name("valid");
for (const prop in schemaDeps) {
if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop]))
continue;
gen.if(
(0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties),
() => {
const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid);
cxt.mergeValidEvaluated(schCxt, valid);
},
() => gen.var(valid, true)
// TODO var
);
cxt.ok(valid);
}
}
exports2.validateSchemaDeps = validateSchemaDeps;
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
var require_propertyNames = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var error40 = {
message: "property name must be valid",
params: ({ params }) => (0, codegen_1._)`{propertyName: ${params.propertyName}}`
};
var def = {
keyword: "propertyNames",
type: "object",
schemaType: ["object", "boolean"],
error: error40,
code(cxt) {
const { gen, schema: schema2, data, it } = cxt;
if ((0, util_1.alwaysValidSchema)(it, schema2))
return;
const valid = gen.name("valid");
gen.forIn("key", data, (key) => {
cxt.setParams({ propertyName: key });
cxt.subschema({
keyword: "propertyNames",
data: key,
dataTypes: ["string"],
propertyName: key,
compositeRule: true
}, valid);
gen.if((0, codegen_1.not)(valid), () => {
cxt.error(true);
if (!it.allErrors)
gen.break();
});
});
cxt.ok(valid);
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
var require_additionalProperties = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var code_1 = require_code2();
var codegen_1 = require_codegen2();
var names_1 = require_names();
var util_1 = require_util12();
var error40 = {
message: "must NOT have additional properties",
params: ({ params }) => (0, codegen_1._)`{additionalProperty: ${params.additionalProperty}}`
};
var def = {
keyword: "additionalProperties",
type: ["object"],
schemaType: ["boolean", "object"],
allowUndefined: true,
trackErrors: true,
error: error40,
code(cxt) {
const { gen, schema: schema2, parentSchema, data, errsCount, it } = cxt;
if (!errsCount)
throw new Error("ajv implementation error");
const { allErrors, opts } = it;
it.props = true;
if (opts.removeAdditional !== "all" && (0, util_1.alwaysValidSchema)(it, schema2))
return;
const props = (0, code_1.allSchemaProperties)(parentSchema.properties);
const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties);
checkAdditionalProperties();
cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
function checkAdditionalProperties() {
gen.forIn("key", data, (key) => {
if (!props.length && !patProps.length)
additionalPropertyCode(key);
else
gen.if(isAdditional(key), () => additionalPropertyCode(key));
});
}
function isAdditional(key) {
let definedProp;
if (props.length > 8) {
const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, "properties");
definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key);
} else if (props.length) {
definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._)`${key} === ${p}`));
} else {
definedProp = codegen_1.nil;
}
if (patProps.length) {
definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._)`${(0, code_1.usePattern)(cxt, p)}.test(${key})`));
}
return (0, codegen_1.not)(definedProp);
}
function deleteAdditional(key) {
gen.code((0, codegen_1._)`delete ${data}[${key}]`);
}
function additionalPropertyCode(key) {
if (opts.removeAdditional === "all" || opts.removeAdditional && schema2 === false) {
deleteAdditional(key);
return;
}
if (schema2 === false) {
cxt.setParams({ additionalProperty: key });
cxt.error();
if (!allErrors)
gen.break();
return;
}
if (typeof schema2 == "object" && !(0, util_1.alwaysValidSchema)(it, schema2)) {
const valid = gen.name("valid");
if (opts.removeAdditional === "failing") {
applyAdditionalSchema(key, valid, false);
gen.if((0, codegen_1.not)(valid), () => {
cxt.reset();
deleteAdditional(key);
});
} else {
applyAdditionalSchema(key, valid);
if (!allErrors)
gen.if((0, codegen_1.not)(valid), () => gen.break());
}
}
}
function applyAdditionalSchema(key, valid, errors) {
const subschema = {
keyword: "additionalProperties",
dataProp: key,
dataPropType: util_1.Type.Str
};
if (errors === false) {
Object.assign(subschema, {
compositeRule: true,
createErrors: false,
allErrors: false
});
}
cxt.subschema(subschema, valid);
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/properties.js
var require_properties = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var validate_1 = require_validate();
var code_1 = require_code2();
var util_1 = require_util12();
var additionalProperties_1 = require_additionalProperties();
var def = {
keyword: "properties",
type: "object",
schemaType: "object",
code(cxt) {
const { gen, schema: schema2, parentSchema, data, it } = cxt;
if (it.opts.removeAdditional === "all" && parentSchema.additionalProperties === void 0) {
additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, "additionalProperties"));
}
const allProps = (0, code_1.allSchemaProperties)(schema2);
for (const prop of allProps) {
it.definedProperties.add(prop);
}
if (it.opts.unevaluated && allProps.length && it.props !== true) {
it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props);
}
const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema2[p]));
if (properties.length === 0)
return;
const valid = gen.name("valid");
for (const prop of properties) {
if (hasDefault(prop)) {
applyPropertySchema(prop);
} else {
gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties));
applyPropertySchema(prop);
if (!it.allErrors)
gen.else().var(valid, true);
gen.endIf();
}
cxt.it.definedProperties.add(prop);
cxt.ok(valid);
}
function hasDefault(prop) {
return it.opts.useDefaults && !it.compositeRule && schema2[prop].default !== void 0;
}
function applyPropertySchema(prop) {
cxt.subschema({
keyword: "properties",
schemaProp: prop,
dataProp: prop
}, valid);
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
var require_patternProperties = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var code_1 = require_code2();
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var util_2 = require_util12();
var def = {
keyword: "patternProperties",
type: "object",
schemaType: "object",
code(cxt) {
const { gen, schema: schema2, data, parentSchema, it } = cxt;
const { opts } = it;
const patterns = (0, code_1.allSchemaProperties)(schema2);
const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema2[p]));
if (patterns.length === 0 || alwaysValidPatterns.length === patterns.length && (!it.opts.unevaluated || it.props === true)) {
return;
}
const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties;
const valid = gen.name("valid");
if (it.props !== true && !(it.props instanceof codegen_1.Name)) {
it.props = (0, util_2.evaluatedPropsToName)(gen, it.props);
}
const { props } = it;
validatePatternProperties();
function validatePatternProperties() {
for (const pat of patterns) {
if (checkProperties)
checkMatchingProperties(pat);
if (it.allErrors) {
validateProperties(pat);
} else {
gen.var(valid, true);
validateProperties(pat);
gen.if(valid);
}
}
}
function checkMatchingProperties(pat) {
for (const prop in checkProperties) {
if (new RegExp(pat).test(prop)) {
(0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`);
}
}
}
function validateProperties(pat) {
gen.forIn("key", data, (key) => {
gen.if((0, codegen_1._)`${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => {
const alwaysValid = alwaysValidPatterns.includes(pat);
if (!alwaysValid) {
cxt.subschema({
keyword: "patternProperties",
schemaProp: pat,
dataProp: key,
dataPropType: util_2.Type.Str
}, valid);
}
if (it.opts.unevaluated && props !== true) {
gen.assign((0, codegen_1._)`${props}[${key}]`, true);
} else if (!alwaysValid && !it.allErrors) {
gen.if((0, codegen_1.not)(valid), () => gen.break());
}
});
});
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/not.js
var require_not = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var util_1 = require_util12();
var def = {
keyword: "not",
schemaType: ["object", "boolean"],
trackErrors: true,
code(cxt) {
const { gen, schema: schema2, it } = cxt;
if ((0, util_1.alwaysValidSchema)(it, schema2)) {
cxt.fail();
return;
}
const valid = gen.name("valid");
cxt.subschema({
keyword: "not",
compositeRule: true,
createErrors: false,
allErrors: false
}, valid);
cxt.failResult(valid, () => cxt.reset(), () => cxt.error());
},
error: { message: "must NOT be valid" }
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/anyOf.js
var require_anyOf = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var code_1 = require_code2();
var def = {
keyword: "anyOf",
schemaType: "array",
trackErrors: true,
code: code_1.validateUnion,
error: { message: "must match a schema in anyOf" }
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/oneOf.js
var require_oneOf = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var error40 = {
message: "must match exactly one schema in oneOf",
params: ({ params }) => (0, codegen_1._)`{passingSchemas: ${params.passing}}`
};
var def = {
keyword: "oneOf",
schemaType: "array",
trackErrors: true,
error: error40,
code(cxt) {
const { gen, schema: schema2, parentSchema, it } = cxt;
if (!Array.isArray(schema2))
throw new Error("ajv implementation error");
if (it.opts.discriminator && parentSchema.discriminator)
return;
const schArr = schema2;
const valid = gen.let("valid", false);
const passing = gen.let("passing", null);
const schValid = gen.name("_valid");
cxt.setParams({ passing });
gen.block(validateOneOf);
cxt.result(valid, () => cxt.reset(), () => cxt.error(true));
function validateOneOf() {
schArr.forEach((sch, i3) => {
let schCxt;
if ((0, util_1.alwaysValidSchema)(it, sch)) {
gen.var(schValid, true);
} else {
schCxt = cxt.subschema({
keyword: "oneOf",
schemaProp: i3,
compositeRule: true
}, schValid);
}
if (i3 > 0) {
gen.if((0, codegen_1._)`${schValid} && ${valid}`).assign(valid, false).assign(passing, (0, codegen_1._)`[${passing}, ${i3}]`).else();
}
gen.if(schValid, () => {
gen.assign(valid, true);
gen.assign(passing, i3);
if (schCxt)
cxt.mergeEvaluated(schCxt, codegen_1.Name);
});
});
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/allOf.js
var require_allOf = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var util_1 = require_util12();
var def = {
keyword: "allOf",
schemaType: "array",
code(cxt) {
const { gen, schema: schema2, it } = cxt;
if (!Array.isArray(schema2))
throw new Error("ajv implementation error");
const valid = gen.name("valid");
schema2.forEach((sch, i3) => {
if ((0, util_1.alwaysValidSchema)(it, sch))
return;
const schCxt = cxt.subschema({ keyword: "allOf", schemaProp: i3 }, valid);
cxt.ok(valid);
cxt.mergeEvaluated(schCxt);
});
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/if.js
var require_if = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var util_1 = require_util12();
var error40 = {
message: ({ params }) => (0, codegen_1.str)`must match "${params.ifClause}" schema`,
params: ({ params }) => (0, codegen_1._)`{failingKeyword: ${params.ifClause}}`
};
var def = {
keyword: "if",
schemaType: ["object", "boolean"],
trackErrors: true,
error: error40,
code(cxt) {
const { gen, parentSchema, it } = cxt;
if (parentSchema.then === void 0 && parentSchema.else === void 0) {
(0, util_1.checkStrictMode)(it, '"if" without "then" and "else" is ignored');
}
const hasThen = hasSchema(it, "then");
const hasElse = hasSchema(it, "else");
if (!hasThen && !hasElse)
return;
const valid = gen.let("valid", true);
const schValid = gen.name("_valid");
validateIf();
cxt.reset();
if (hasThen && hasElse) {
const ifClause = gen.let("ifClause");
cxt.setParams({ ifClause });
gen.if(schValid, validateClause("then", ifClause), validateClause("else", ifClause));
} else if (hasThen) {
gen.if(schValid, validateClause("then"));
} else {
gen.if((0, codegen_1.not)(schValid), validateClause("else"));
}
cxt.pass(valid, () => cxt.error(true));
function validateIf() {
const schCxt = cxt.subschema({
keyword: "if",
compositeRule: true,
createErrors: false,
allErrors: false
}, schValid);
cxt.mergeEvaluated(schCxt);
}
function validateClause(keyword, ifClause) {
return () => {
const schCxt = cxt.subschema({ keyword }, schValid);
gen.assign(valid, schValid);
cxt.mergeValidEvaluated(schCxt, valid);
if (ifClause)
gen.assign(ifClause, (0, codegen_1._)`${keyword}`);
else
cxt.setParams({ ifClause: keyword });
};
}
}
};
function hasSchema(it, keyword) {
const schema2 = it.schema[keyword];
return schema2 !== void 0 && !(0, util_1.alwaysValidSchema)(it, schema2);
}
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/thenElse.js
var require_thenElse = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var util_1 = require_util12();
var def = {
keyword: ["then", "else"],
schemaType: ["object", "boolean"],
code({ keyword, parentSchema, it }) {
if (parentSchema.if === void 0)
(0, util_1.checkStrictMode)(it, `"${keyword}" without "if" is ignored`);
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/index.js
var require_applicator = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var additionalItems_1 = require_additionalItems();
var prefixItems_1 = require_prefixItems();
var items_1 = require_items();
var items2020_1 = require_items2020();
var contains_1 = require_contains();
var dependencies_1 = require_dependencies();
var propertyNames_1 = require_propertyNames();
var additionalProperties_1 = require_additionalProperties();
var properties_1 = require_properties();
var patternProperties_1 = require_patternProperties();
var not_1 = require_not();
var anyOf_1 = require_anyOf();
var oneOf_1 = require_oneOf();
var allOf_1 = require_allOf();
var if_1 = require_if();
var thenElse_1 = require_thenElse();
function getApplicator(draft2020 = false) {
const applicator = [
// any
not_1.default,
anyOf_1.default,
oneOf_1.default,
allOf_1.default,
if_1.default,
thenElse_1.default,
// object
propertyNames_1.default,
additionalProperties_1.default,
dependencies_1.default,
properties_1.default,
patternProperties_1.default
];
if (draft2020)
applicator.push(prefixItems_1.default, items2020_1.default);
else
applicator.push(additionalItems_1.default, items_1.default);
applicator.push(contains_1.default);
return applicator;
}
exports2.default = getApplicator;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/format/format.js
var require_format = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/format/format.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var error40 = {
message: ({ schemaCode }) => (0, codegen_1.str)`must match format "${schemaCode}"`,
params: ({ schemaCode }) => (0, codegen_1._)`{format: ${schemaCode}}`
};
var def = {
keyword: "format",
type: ["number", "string"],
schemaType: "string",
$data: true,
error: error40,
code(cxt, ruleType) {
const { gen, data, $data, schema: schema2, schemaCode, it } = cxt;
const { opts, errSchemaPath, schemaEnv, self: self2 } = it;
if (!opts.validateFormats)
return;
if ($data)
validate$DataFormat();
else
validateFormat();
function validate$DataFormat() {
const fmts = gen.scopeValue("formats", {
ref: self2.formats,
code: opts.code.formats
});
const fDef = gen.const("fDef", (0, codegen_1._)`${fmts}[${schemaCode}]`);
const fType = gen.let("fType");
const format2 = gen.let("format");
gen.if((0, codegen_1._)`typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._)`${fDef}.type || "string"`).assign(format2, (0, codegen_1._)`${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._)`"string"`).assign(format2, fDef));
cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt()));
function unknownFmt() {
if (opts.strictSchema === false)
return codegen_1.nil;
return (0, codegen_1._)`${schemaCode} && !${format2}`;
}
function invalidFmt() {
const callFormat = schemaEnv.$async ? (0, codegen_1._)`(${fDef}.async ? await ${format2}(${data}) : ${format2}(${data}))` : (0, codegen_1._)`${format2}(${data})`;
const validData = (0, codegen_1._)`(typeof ${format2} == "function" ? ${callFormat} : ${format2}.test(${data}))`;
return (0, codegen_1._)`${format2} && ${format2} !== true && ${fType} === ${ruleType} && !${validData}`;
}
}
function validateFormat() {
const formatDef = self2.formats[schema2];
if (!formatDef) {
unknownFormat();
return;
}
if (formatDef === true)
return;
const [fmtType, format2, fmtRef] = getFormat(formatDef);
if (fmtType === ruleType)
cxt.pass(validCondition());
function unknownFormat() {
if (opts.strictSchema === false) {
self2.logger.warn(unknownMsg());
return;
}
throw new Error(unknownMsg());
function unknownMsg() {
return `unknown format "${schema2}" ignored in schema at path "${errSchemaPath}"`;
}
}
function getFormat(fmtDef) {
const code = fmtDef instanceof RegExp ? (0, codegen_1.regexpCode)(fmtDef) : opts.code.formats ? (0, codegen_1._)`${opts.code.formats}${(0, codegen_1.getProperty)(schema2)}` : void 0;
const fmt = gen.scopeValue("formats", { key: schema2, ref: fmtDef, code });
if (typeof fmtDef == "object" && !(fmtDef instanceof RegExp)) {
return [fmtDef.type || "string", fmtDef.validate, (0, codegen_1._)`${fmt}.validate`];
}
return ["string", fmtDef, fmt];
}
function validCondition() {
if (typeof formatDef == "object" && !(formatDef instanceof RegExp) && formatDef.async) {
if (!schemaEnv.$async)
throw new Error("async format in sync schema");
return (0, codegen_1._)`await ${fmtRef}(${data})`;
}
return typeof format2 == "function" ? (0, codegen_1._)`${fmtRef}(${data})` : (0, codegen_1._)`${fmtRef}.test(${data})`;
}
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/format/index.js
var require_format2 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/format/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var format_1 = require_format();
var format2 = [format_1.default];
exports2.default = format2;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/metadata.js
var require_metadata3 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/metadata.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.contentVocabulary = exports2.metadataVocabulary = void 0;
exports2.metadataVocabulary = [
"title",
"description",
"default",
"deprecated",
"readOnly",
"writeOnly",
"examples"
];
exports2.contentVocabulary = [
"contentMediaType",
"contentEncoding",
"contentSchema"
];
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/draft7.js
var require_draft7 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/draft7.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var core_1 = require_core2();
var validation_1 = require_validation2();
var applicator_1 = require_applicator();
var format_1 = require_format2();
var metadata_1 = require_metadata3();
var draft7Vocabularies = [
core_1.default,
validation_1.default,
(0, applicator_1.default)(),
format_1.default,
metadata_1.metadataVocabulary,
metadata_1.contentVocabulary
];
exports2.default = draft7Vocabularies;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/discriminator/types.js
var require_types8 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DiscrError = void 0;
var DiscrError;
(function(DiscrError2) {
DiscrError2["Tag"] = "tag";
DiscrError2["Mapping"] = "mapping";
})(DiscrError || (exports2.DiscrError = DiscrError = {}));
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/discriminator/index.js
var require_discriminator = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var codegen_1 = require_codegen2();
var types_1 = require_types8();
var compile_1 = require_compile();
var ref_error_1 = require_ref_error();
var util_1 = require_util12();
var error40 = {
message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag ? `tag "${tagName}" must be string` : `value of tag "${tagName}" must be in oneOf`,
params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._)`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`
};
var def = {
keyword: "discriminator",
type: "object",
schemaType: "object",
error: error40,
code(cxt) {
const { gen, data, schema: schema2, parentSchema, it } = cxt;
const { oneOf } = parentSchema;
if (!it.opts.discriminator) {
throw new Error("discriminator: requires discriminator option");
}
const tagName = schema2.propertyName;
if (typeof tagName != "string")
throw new Error("discriminator: requires propertyName");
if (schema2.mapping)
throw new Error("discriminator: mapping is not supported");
if (!oneOf)
throw new Error("discriminator: requires oneOf keyword");
const valid = gen.let("valid", false);
const tag = gen.const("tag", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(tagName)}`);
gen.if((0, codegen_1._)`typeof ${tag} == "string"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName }));
cxt.ok(valid);
function validateMapping() {
const mapping = getMapping();
gen.if(false);
for (const tagValue in mapping) {
gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`);
gen.assign(valid, applyTagSchema(mapping[tagValue]));
}
gen.else();
cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName });
gen.endIf();
}
function applyTagSchema(schemaProp) {
const _valid = gen.name("valid");
const schCxt = cxt.subschema({ keyword: "oneOf", schemaProp }, _valid);
cxt.mergeEvaluated(schCxt, codegen_1.Name);
return _valid;
}
function getMapping() {
var _a4;
const oneOfMapping = {};
const topRequired = hasRequired(parentSchema);
let tagRequired = true;
for (let i3 = 0; i3 < oneOf.length; i3++) {
let sch = oneOf[i3];
if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) {
const ref = sch.$ref;
sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, ref);
if (sch instanceof compile_1.SchemaEnv)
sch = sch.schema;
if (sch === void 0)
throw new ref_error_1.default(it.opts.uriResolver, it.baseId, ref);
}
const propSch = (_a4 = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a4 === void 0 ? void 0 : _a4[tagName];
if (typeof propSch != "object") {
throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`);
}
tagRequired = tagRequired && (topRequired || hasRequired(sch));
addMappings(propSch, i3);
}
if (!tagRequired)
throw new Error(`discriminator: "${tagName}" must be required`);
return oneOfMapping;
function hasRequired({ required: required2 }) {
return Array.isArray(required2) && required2.includes(tagName);
}
function addMappings(sch, i3) {
if (sch.const) {
addMapping(sch.const, i3);
} else if (sch.enum) {
for (const tagValue of sch.enum) {
addMapping(tagValue, i3);
}
} else {
throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`);
}
}
function addMapping(tagValue, i3) {
if (typeof tagValue != "string" || tagValue in oneOfMapping) {
throw new Error(`discriminator: "${tagName}" values must be unique strings`);
}
oneOfMapping[tagValue] = i3;
}
}
}
};
exports2.default = def;
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/refs/json-schema-draft-07.json
var require_json_schema_draft_07 = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports2, module2) {
module2.exports = {
$schema: "http://json-schema.org/draft-07/schema#",
$id: "http://json-schema.org/draft-07/schema#",
title: "Core schema meta-schema",
definitions: {
schemaArray: {
type: "array",
minItems: 1,
items: { $ref: "#" }
},
nonNegativeInteger: {
type: "integer",
minimum: 0
},
nonNegativeIntegerDefault0: {
allOf: [{ $ref: "#/definitions/nonNegativeInteger" }, { default: 0 }]
},
simpleTypes: {
enum: ["array", "boolean", "integer", "null", "number", "object", "string"]
},
stringArray: {
type: "array",
items: { type: "string" },
uniqueItems: true,
default: []
}
},
type: ["object", "boolean"],
properties: {
$id: {
type: "string",
format: "uri-reference"
},
$schema: {
type: "string",
format: "uri"
},
$ref: {
type: "string",
format: "uri-reference"
},
$comment: {
type: "string"
},
title: {
type: "string"
},
description: {
type: "string"
},
default: true,
readOnly: {
type: "boolean",
default: false
},
examples: {
type: "array",
items: true
},
multipleOf: {
type: "number",
exclusiveMinimum: 0
},
maximum: {
type: "number"
},
exclusiveMaximum: {
type: "number"
},
minimum: {
type: "number"
},
exclusiveMinimum: {
type: "number"
},
maxLength: { $ref: "#/definitions/nonNegativeInteger" },
minLength: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
pattern: {
type: "string",
format: "regex"
},
additionalItems: { $ref: "#" },
items: {
anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }],
default: true
},
maxItems: { $ref: "#/definitions/nonNegativeInteger" },
minItems: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
uniqueItems: {
type: "boolean",
default: false
},
contains: { $ref: "#" },
maxProperties: { $ref: "#/definitions/nonNegativeInteger" },
minProperties: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
required: { $ref: "#/definitions/stringArray" },
additionalProperties: { $ref: "#" },
definitions: {
type: "object",
additionalProperties: { $ref: "#" },
default: {}
},
properties: {
type: "object",
additionalProperties: { $ref: "#" },
default: {}
},
patternProperties: {
type: "object",
additionalProperties: { $ref: "#" },
propertyNames: { format: "regex" },
default: {}
},
dependencies: {
type: "object",
additionalProperties: {
anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }]
}
},
propertyNames: { $ref: "#" },
const: true,
enum: {
type: "array",
items: true,
minItems: 1,
uniqueItems: true
},
type: {
anyOf: [
{ $ref: "#/definitions/simpleTypes" },
{
type: "array",
items: { $ref: "#/definitions/simpleTypes" },
minItems: 1,
uniqueItems: true
}
]
},
format: { type: "string" },
contentMediaType: { type: "string" },
contentEncoding: { type: "string" },
if: { $ref: "#" },
then: { $ref: "#" },
else: { $ref: "#" },
allOf: { $ref: "#/definitions/schemaArray" },
anyOf: { $ref: "#/definitions/schemaArray" },
oneOf: { $ref: "#/definitions/schemaArray" },
not: { $ref: "#" }
},
default: true
};
}
});
// node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/ajv.js
var require_ajv = __commonJS({
"node_modules/@modelcontextprotocol/sdk/node_modules/ajv/dist/ajv.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv = void 0;
var core_1 = require_core();
var draft7_1 = require_draft7();
var discriminator_1 = require_discriminator();
var draft7MetaSchema = require_json_schema_draft_07();
var META_SUPPORT_DATA = ["/properties"];
var META_SCHEMA_ID = "http://json-schema.org/draft-07/schema";
var Ajv2 = class extends core_1.default {
_addVocabularies() {
super._addVocabularies();
draft7_1.default.forEach((v) => this.addVocabulary(v));
if (this.opts.discriminator)
this.addKeyword(discriminator_1.default);
}
_addDefaultMetaSchema() {
super._addDefaultMetaSchema();
if (!this.opts.meta)
return;
const metaSchema = this.opts.$data ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA) : draft7MetaSchema;
this.addMetaSchema(metaSchema, META_SCHEMA_ID, false);
this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID;
}
defaultMeta() {
return this.opts.defaultMeta = super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : void 0);
}
};
exports2.Ajv = Ajv2;
module2.exports = exports2 = Ajv2;
module2.exports.Ajv = Ajv2;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.default = Ajv2;
var validate_1 = require_validate();
Object.defineProperty(exports2, "KeywordCxt", { enumerable: true, get: function() {
return validate_1.KeywordCxt;
} });
var codegen_1 = require_codegen2();
Object.defineProperty(exports2, "_", { enumerable: true, get: function() {
return codegen_1._;
} });
Object.defineProperty(exports2, "str", { enumerable: true, get: function() {
return codegen_1.str;
} });
Object.defineProperty(exports2, "stringify", { enumerable: true, get: function() {
return codegen_1.stringify;
} });
Object.defineProperty(exports2, "nil", { enumerable: true, get: function() {
return codegen_1.nil;
} });
Object.defineProperty(exports2, "Name", { enumerable: true, get: function() {
return codegen_1.Name;
} });
Object.defineProperty(exports2, "CodeGen", { enumerable: true, get: function() {
return codegen_1.CodeGen;
} });
var validation_error_1 = require_validation_error();
Object.defineProperty(exports2, "ValidationError", { enumerable: true, get: function() {
return validation_error_1.default;
} });
var ref_error_1 = require_ref_error();
Object.defineProperty(exports2, "MissingRefError", { enumerable: true, get: function() {
return ref_error_1.default;
} });
}
});
// node_modules/isexe/windows.js
var require_windows = __commonJS({
"node_modules/isexe/windows.js"(exports2, module2) {
module2.exports = isexe;
isexe.sync = sync2;
var fs84 = __require("fs");
function checkPathExt(path101, options) {
var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT;
if (!pathext) {
return true;
}
pathext = pathext.split(";");
if (pathext.indexOf("") !== -1) {
return true;
}
for (var i3 = 0; i3 < pathext.length; i3++) {
var p = pathext[i3].toLowerCase();
if (p && path101.substr(-p.length).toLowerCase() === p) {
return true;
}
}
return false;
}
function checkStat(stat9, path101, options) {
if (!stat9.isSymbolicLink() && !stat9.isFile()) {
return false;
}
return checkPathExt(path101, options);
}
function isexe(path101, options, cb) {
fs84.stat(path101, function(er, stat9) {
cb(er, er ? false : checkStat(stat9, path101, options));
});
}
function sync2(path101, options) {
return checkStat(fs84.statSync(path101), path101, options);
}
}
});
// node_modules/isexe/mode.js
var require_mode = __commonJS({
"node_modules/isexe/mode.js"(exports2, module2) {
module2.exports = isexe;
isexe.sync = sync2;
var fs84 = __require("fs");
function isexe(path101, options, cb) {
fs84.stat(path101, function(er, stat9) {
cb(er, er ? false : checkStat(stat9, options));
});
}
function sync2(path101, options) {
return checkStat(fs84.statSync(path101), options);
}
function checkStat(stat9, options) {
return stat9.isFile() && checkMode(stat9, options);
}
function checkMode(stat9, options) {
var mod2 = stat9.mode;
var uid = stat9.uid;
var gid = stat9.gid;
var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid();
var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid();
var u2 = parseInt("100", 8);
var g = parseInt("010", 8);
var o3 = parseInt("001", 8);
var ug = u2 | g;
var ret = mod2 & o3 || mod2 & g && gid === myGid || mod2 & u2 && uid === myUid || mod2 & ug && myUid === 0;
return ret;
}
}
});
// node_modules/isexe/index.js
var require_isexe = __commonJS({
"node_modules/isexe/index.js"(exports2, module2) {
var fs84 = __require("fs");
var core2;
if (process.platform === "win32" || global.TESTING_WINDOWS) {
core2 = require_windows();
} else {
core2 = require_mode();
}
module2.exports = isexe;
isexe.sync = sync2;
function isexe(path101, options, cb) {
if (typeof options === "function") {
cb = options;
options = {};
}
if (!cb) {
if (typeof Promise !== "function") {
throw new TypeError("callback not provided");
}
return new Promise(function(resolve25, reject) {
isexe(path101, options || {}, function(er, is) {
if (er) {
reject(er);
} else {
resolve25(is);
}
});
});
}
core2(path101, options || {}, function(er, is) {
if (er) {
if (er.code === "EACCES" || options && options.ignoreErrors) {
er = null;
is = false;
}
}
cb(er, is);
});
}
function sync2(path101, options) {
try {
return core2.sync(path101, options || {});
} catch (er) {
if (options && options.ignoreErrors || er.code === "EACCES") {
return false;
} else {
throw er;
}
}
}
}
});
// node_modules/which/which.js
var require_which = __commonJS({
"node_modules/which/which.js"(exports2, module2) {
var isWindows3 = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
var path101 = __require("path");
var COLON = isWindows3 ? ";" : ":";
var isexe = require_isexe();
var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
var getPathInfo = (cmd, opt) => {
const colon = opt.colon || COLON;
const pathEnv = cmd.match(/\//) || isWindows3 && cmd.match(/\\/) ? [""] : [
// windows always checks the cwd first
...isWindows3 ? [process.cwd()] : [],
...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */
"").split(colon)
];
const pathExtExe = isWindows3 ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
const pathExt = isWindows3 ? pathExtExe.split(colon) : [""];
if (isWindows3) {
if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
pathExt.unshift("");
}
return {
pathEnv,
pathExt,
pathExtExe
};
};
var which = (cmd, opt, cb) => {
if (typeof opt === "function") {
cb = opt;
opt = {};
}
if (!opt)
opt = {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
const step = (i3) => new Promise((resolve25, reject) => {
if (i3 === pathEnv.length)
return opt.all && found.length ? resolve25(found) : reject(getNotFoundError(cmd));
const ppRaw = pathEnv[i3];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path101.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
resolve25(subStep(p, i3, 0));
});
const subStep = (p, i3, ii) => new Promise((resolve25, reject) => {
if (ii === pathExt.length)
return resolve25(step(i3 + 1));
const ext2 = pathExt[ii];
isexe(p + ext2, { pathExt: pathExtExe }, (er, is) => {
if (!er && is) {
if (opt.all)
found.push(p + ext2);
else
return resolve25(p + ext2);
}
return resolve25(subStep(p, i3, ii + 1));
});
});
return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
};
var whichSync = (cmd, opt) => {
opt = opt || {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
for (let i3 = 0; i3 < pathEnv.length; i3++) {
const ppRaw = pathEnv[i3];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path101.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
for (let j = 0; j < pathExt.length; j++) {
const cur = p + pathExt[j];
try {
const is = isexe.sync(cur, { pathExt: pathExtExe });
if (is) {
if (opt.all)
found.push(cur);
else
return cur;
}
} catch (ex) {
}
}
}
if (opt.all && found.length)
return found;
if (opt.nothrow)
return null;
throw getNotFoundError(cmd);
};
module2.exports = which;
which.sync = whichSync;
}
});
// node_modules/path-key/index.js
var require_path_key = __commonJS({
"node_modules/path-key/index.js"(exports2, module2) {
"use strict";
var pathKey2 = (options = {}) => {
const environment = options.env || process.env;
const platform9 = options.platform || process.platform;
if (platform9 !== "win32") {
return "PATH";
}
return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
};
module2.exports = pathKey2;
module2.exports.default = pathKey2;
}
});
// node_modules/cross-spawn/lib/util/resolveCommand.js
var require_resolveCommand = __commonJS({
"node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2, module2) {
"use strict";
var path101 = __require("path");
var which = require_which();
var getPathKey = require_path_key();
function resolveCommandAttempt(parsed, withoutPathExt) {
const env2 = parsed.options.env || process.env;
const cwd = process.cwd();
const hasCustomCwd = parsed.options.cwd != null;
const shouldSwitchCwd = hasCustomCwd && process.chdir !== void 0 && !process.chdir.disabled;
if (shouldSwitchCwd) {
try {
process.chdir(parsed.options.cwd);
} catch (err2) {
}
}
let resolved;
try {
resolved = which.sync(parsed.command, {
path: env2[getPathKey({ env: env2 })],
pathExt: withoutPathExt ? path101.delimiter : void 0
});
} catch (e2) {
} finally {
if (shouldSwitchCwd) {
process.chdir(cwd);
}
}
if (resolved) {
resolved = path101.resolve(hasCustomCwd ? parsed.options.cwd : "", resolved);
}
return resolved;
}
function resolveCommand(parsed) {
return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
}
module2.exports = resolveCommand;
}
});
// node_modules/cross-spawn/lib/util/escape.js
var require_escape = __commonJS({
"node_modules/cross-spawn/lib/util/escape.js"(exports2, module2) {
"use strict";
var metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
function escapeCommand(arg) {
arg = arg.replace(metaCharsRegExp, "^$1");
return arg;
}
function escapeArgument(arg, doubleEscapeMetaChars) {
arg = `${arg}`;
arg = arg.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"');
arg = arg.replace(/(?=(\\+?)?)\1$/, "$1$1");
arg = `"${arg}"`;
arg = arg.replace(metaCharsRegExp, "^$1");
if (doubleEscapeMetaChars) {
arg = arg.replace(metaCharsRegExp, "^$1");
}
return arg;
}
module2.exports.command = escapeCommand;
module2.exports.argument = escapeArgument;
}
});
// node_modules/shebang-regex/index.js
var require_shebang_regex = __commonJS({
"node_modules/shebang-regex/index.js"(exports2, module2) {
"use strict";
module2.exports = /^#!(.*)/;
}
});
// node_modules/shebang-command/index.js
var require_shebang_command = __commonJS({
"node_modules/shebang-command/index.js"(exports2, module2) {
"use strict";
var shebangRegex = require_shebang_regex();
module2.exports = (string4 = "") => {
const match2 = string4.match(shebangRegex);
if (!match2) {
return null;
}
const [path101, argument] = match2[0].replace(/#! ?/, "").split(" ");
const binary3 = path101.split("/").pop();
if (binary3 === "env") {
return argument;
}
return argument ? `${binary3} ${argument}` : binary3;
};
}
});
// node_modules/cross-spawn/lib/util/readShebang.js
var require_readShebang = __commonJS({
"node_modules/cross-spawn/lib/util/readShebang.js"(exports2, module2) {
"use strict";
var fs84 = __require("fs");
var shebangCommand = require_shebang_command();
function readShebang(command) {
const size = 150;
const buffer = Buffer.alloc(size);
let fd;
try {
fd = fs84.openSync(command, "r");
fs84.readSync(fd, buffer, 0, size, 0);
fs84.closeSync(fd);
} catch (e2) {
}
return shebangCommand(buffer.toString());
}
module2.exports = readShebang;
}
});
// node_modules/cross-spawn/lib/parse.js
var require_parse5 = __commonJS({
"node_modules/cross-spawn/lib/parse.js"(exports2, module2) {
"use strict";
var path101 = __require("path");
var resolveCommand = require_resolveCommand();
var escape5 = require_escape();
var readShebang = require_readShebang();
var isWin = process.platform === "win32";
var isExecutableRegExp = /\.(?:com|exe)$/i;
var isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
function detectShebang(parsed) {
parsed.file = resolveCommand(parsed);
const shebang = parsed.file && readShebang(parsed.file);
if (shebang) {
parsed.args.unshift(parsed.file);
parsed.command = shebang;
return resolveCommand(parsed);
}
return parsed.file;
}
function parseNonShell(parsed) {
if (!isWin) {
return parsed;
}
const commandFile = detectShebang(parsed);
const needsShell = !isExecutableRegExp.test(commandFile);
if (parsed.options.forceShell || needsShell) {
const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
parsed.command = path101.normalize(parsed.command);
parsed.command = escape5.command(parsed.command);
parsed.args = parsed.args.map((arg) => escape5.argument(arg, needsDoubleEscapeMetaChars));
const shellCommand = [parsed.command].concat(parsed.args).join(" ");
parsed.args = ["/d", "/s", "/c", `"${shellCommand}"`];
parsed.command = process.env.comspec || "cmd.exe";
parsed.options.windowsVerbatimArguments = true;
}
return parsed;
}
function parse8(command, args2, options) {
if (args2 && !Array.isArray(args2)) {
options = args2;
args2 = null;
}
args2 = args2 ? args2.slice(0) : [];
options = Object.assign({}, options);
const parsed = {
command,
args: args2,
options,
file: void 0,
original: {
command,
args: args2
}
};
return options.shell ? parsed : parseNonShell(parsed);
}
module2.exports = parse8;
}
});
// node_modules/cross-spawn/lib/enoent.js
var require_enoent = __commonJS({
"node_modules/cross-spawn/lib/enoent.js"(exports2, module2) {
"use strict";
var isWin = process.platform === "win32";
function notFoundError(original, syscall) {
return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
code: "ENOENT",
errno: "ENOENT",
syscall: `${syscall} ${original.command}`,
path: original.command,
spawnargs: original.args
});
}
function hookChildProcess(cp2, parsed) {
if (!isWin) {
return;
}
const originalEmit = cp2.emit;
cp2.emit = function(name3, arg1) {
if (name3 === "exit") {
const err2 = verifyENOENT(arg1, parsed);
if (err2) {
return originalEmit.call(cp2, "error", err2);
}
}
return originalEmit.apply(cp2, arguments);
};
}
function verifyENOENT(status2, parsed) {
if (isWin && status2 === 1 && !parsed.file) {
return notFoundError(parsed.original, "spawn");
}
return null;
}
function verifyENOENTSync(status2, parsed) {
if (isWin && status2 === 1 && !parsed.file) {
return notFoundError(parsed.original, "spawnSync");
}
return null;
}
module2.exports = {
hookChildProcess,
verifyENOENT,
verifyENOENTSync,
notFoundError
};
}
});
// node_modules/cross-spawn/index.js
var require_cross_spawn = __commonJS({
"node_modules/cross-spawn/index.js"(exports2, module2) {
"use strict";
var cp2 = __require("child_process");
var parse8 = require_parse5();
var enoent = require_enoent();
function spawn13(command, args2, options) {
const parsed = parse8(command, args2, options);
const spawned = cp2.spawn(parsed.command, parsed.args, parsed.options);
enoent.hookChildProcess(spawned, parsed);
return spawned;
}
function spawnSync6(command, args2, options) {
const parsed = parse8(command, args2, options);
const result2 = cp2.spawnSync(parsed.command, parsed.args, parsed.options);
result2.error = result2.error || enoent.verifyENOENTSync(result2.status, parsed);
return result2;
}
module2.exports = spawn13;
module2.exports.spawn = spawn13;
module2.exports.sync = spawnSync6;
module2.exports._parse = parse8;
module2.exports._enoent = enoent;
}
});
// node_modules/undici/lib/core/symbols.js
var require_symbols = __commonJS({
"node_modules/undici/lib/core/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kClose: Symbol("close"),
kDestroy: Symbol("destroy"),
kDispatch: Symbol("dispatch"),
kUrl: Symbol("url"),
kWriting: Symbol("writing"),
kResuming: Symbol("resuming"),
kQueue: Symbol("queue"),
kConnect: Symbol("connect"),
kConnecting: Symbol("connecting"),
kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"),
kKeepAliveMaxTimeout: Symbol("max keep alive timeout"),
kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"),
kKeepAliveTimeoutValue: Symbol("keep alive timeout"),
kKeepAlive: Symbol("keep alive"),
kHeadersTimeout: Symbol("headers timeout"),
kBodyTimeout: Symbol("body timeout"),
kServerName: Symbol("server name"),
kLocalAddress: Symbol("local address"),
kHost: Symbol("host"),
kNoRef: Symbol("no ref"),
kBodyUsed: Symbol("used"),
kBody: Symbol("abstracted request body"),
kRunning: Symbol("running"),
kBlocking: Symbol("blocking"),
kPending: Symbol("pending"),
kSize: Symbol("size"),
kBusy: Symbol("busy"),
kQueued: Symbol("queued"),
kFree: Symbol("free"),
kConnected: Symbol("connected"),
kClosed: Symbol("closed"),
kNeedDrain: Symbol("need drain"),
kReset: Symbol("reset"),
kDestroyed: Symbol.for("nodejs.stream.destroyed"),
kResume: Symbol("resume"),
kOnError: Symbol("on error"),
kMaxHeadersSize: Symbol("max headers size"),
kRunningIdx: Symbol("running index"),
kPendingIdx: Symbol("pending index"),
kError: Symbol("error"),
kClients: Symbol("clients"),
kClient: Symbol("client"),
kParser: Symbol("parser"),
kOnDestroyed: Symbol("destroy callbacks"),
kPipelining: Symbol("pipelining"),
kSocket: Symbol("socket"),
kHostHeader: Symbol("host header"),
kConnector: Symbol("connector"),
kStrictContentLength: Symbol("strict content length"),
kMaxRedirections: Symbol("maxRedirections"),
kMaxRequests: Symbol("maxRequestsPerClient"),
kProxy: Symbol("proxy agent options"),
kCounter: Symbol("socket request counter"),
kMaxResponseSize: Symbol("max response size"),
kHTTP2Session: Symbol("http2Session"),
kHTTP2SessionState: Symbol("http2Session state"),
kRetryHandlerDefaultRetry: Symbol("retry agent default retry"),
kConstruct: Symbol("constructable"),
kListeners: Symbol("listeners"),
kHTTPContext: Symbol("http context"),
kMaxConcurrentStreams: Symbol("max concurrent streams"),
kHTTP2InitialWindowSize: Symbol("http2 initial window size"),
kHTTP2ConnectionWindowSize: Symbol("http2 connection window size"),
kEnableConnectProtocol: Symbol("http2session connect protocol"),
kRemoteSettings: Symbol("http2session remote settings"),
kHTTP2Stream: Symbol("http2session client stream"),
kPingInterval: Symbol("ping interval"),
kNoProxyAgent: Symbol("no proxy agent"),
kHttpProxyAgent: Symbol("http proxy agent"),
kHttpsProxyAgent: Symbol("https proxy agent"),
kSocks5ProxyAgent: Symbol("socks5 proxy agent")
};
}
});
// node_modules/undici/lib/util/timers.js
var require_timers = __commonJS({
"node_modules/undici/lib/util/timers.js"(exports2, module2) {
"use strict";
var fastNow = 0;
var RESOLUTION_MS = 1e3;
var TICK_MS = (RESOLUTION_MS >> 1) - 1;
var fastNowTimeout;
var kFastTimer = Symbol("kFastTimer");
var fastTimers = [];
var NOT_IN_LIST = -2;
var TO_BE_CLEARED = -1;
var PENDING = 0;
var ACTIVE = 1;
function onTick() {
fastNow += TICK_MS;
let idx = 0;
let len = fastTimers.length;
while (idx < len) {
const timer = fastTimers[idx];
if (timer._state === PENDING) {
timer._idleStart = fastNow - TICK_MS;
timer._state = ACTIVE;
} else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
timer._state = TO_BE_CLEARED;
timer._idleStart = -1;
timer._onTimeout(timer._timerArg);
}
if (timer._state === TO_BE_CLEARED) {
timer._state = NOT_IN_LIST;
if (--len !== 0) {
fastTimers[idx] = fastTimers[len];
}
} else {
++idx;
}
}
fastTimers.length = len;
if (fastTimers.length !== 0) {
refreshTimeout();
}
}
function refreshTimeout() {
if (fastNowTimeout?.refresh) {
fastNowTimeout.refresh();
} else {
clearTimeout(fastNowTimeout);
fastNowTimeout = setTimeout(onTick, TICK_MS);
fastNowTimeout?.unref();
}
}
var FastTimer = class {
[kFastTimer] = true;
/**
* The state of the timer, which can be one of the following:
* - NOT_IN_LIST (-2)
* - TO_BE_CLEARED (-1)
* - PENDING (0)
* - ACTIVE (1)
*
* @type {-2|-1|0|1}
* @private
*/
_state = NOT_IN_LIST;
/**
* The number of milliseconds to wait before calling the callback.
*
* @type {number}
* @private
*/
_idleTimeout = -1;
/**
* The time in milliseconds when the timer was started. This value is used to
* calculate when the timer should expire.
*
* @type {number}
* @default -1
* @private
*/
_idleStart = -1;
/**
* The function to be executed when the timer expires.
* @type {Function}
* @private
*/
_onTimeout;
/**
* The argument to be passed to the callback when the timer expires.
*
* @type {*}
* @private
*/
_timerArg;
/**
* @constructor
* @param {Function} callback A function to be executed after the timer
* expires.
* @param {number} delay The time, in milliseconds that the timer should wait
* before the specified function or code is executed.
* @param {*} arg
*/
constructor(callback, delay3, arg) {
this._onTimeout = callback;
this._idleTimeout = delay3;
this._timerArg = arg;
this.refresh();
}
/**
* Sets the timer's start time to the current time, and reschedules the timer
* to call its callback at the previously specified duration adjusted to the
* current time.
* Using this on a timer that has already called its callback will reactivate
* the timer.
*
* @returns {void}
*/
refresh() {
if (this._state === NOT_IN_LIST) {
fastTimers.push(this);
}
if (!fastNowTimeout || fastTimers.length === 1) {
refreshTimeout();
}
this._state = PENDING;
}
/**
* The `clear` method cancels the timer, preventing it from executing.
*
* @returns {void}
* @private
*/
clear() {
this._state = TO_BE_CLEARED;
this._idleStart = -1;
}
};
module2.exports = {
/**
* The setTimeout() method sets a timer which executes a function once the
* timer expires.
* @param {Function} callback A function to be executed after the timer
* expires.
* @param {number} delay The time, in milliseconds that the timer should
* wait before the specified function or code is executed.
* @param {*} [arg] An optional argument to be passed to the callback function
* when the timer expires.
* @returns {NodeJS.Timeout|FastTimer}
*/
setTimeout(callback, delay3, arg) {
return delay3 <= RESOLUTION_MS ? setTimeout(callback, delay3, arg) : new FastTimer(callback, delay3, arg);
},
/**
* The clearTimeout method cancels an instantiated Timer previously created
* by calling setTimeout.
*
* @param {NodeJS.Timeout|FastTimer} timeout
*/
clearTimeout(timeout) {
if (timeout[kFastTimer]) {
timeout.clear();
} else {
clearTimeout(timeout);
}
},
/**
* The setFastTimeout() method sets a fastTimer which executes a function once
* the timer expires.
* @param {Function} callback A function to be executed after the timer
* expires.
* @param {number} delay The time, in milliseconds that the timer should
* wait before the specified function or code is executed.
* @param {*} [arg] An optional argument to be passed to the callback function
* when the timer expires.
* @returns {FastTimer}
*/
setFastTimeout(callback, delay3, arg) {
return new FastTimer(callback, delay3, arg);
},
/**
* The clearTimeout method cancels an instantiated FastTimer previously
* created by calling setFastTimeout.
*
* @param {FastTimer} timeout
*/
clearFastTimeout(timeout) {
timeout.clear();
},
/**
* The now method returns the value of the internal fast timer clock.
*
* @returns {number}
*/
now() {
return fastNow;
},
/**
* Trigger the onTick function to process the fastTimers array.
* Exported for testing purposes only.
* Marking as deprecated to discourage any use outside of testing.
* @deprecated
* @param {number} [delay=0] The delay in milliseconds to add to the now value.
*/
tick(delay3 = 0) {
fastNow += delay3 - RESOLUTION_MS + 1;
onTick();
onTick();
},
/**
* Reset FastTimers.
* Exported for testing purposes only.
* Marking as deprecated to discourage any use outside of testing.
* @deprecated
*/
reset() {
fastNow = 0;
fastTimers.length = 0;
clearTimeout(fastNowTimeout);
fastNowTimeout = null;
},
/**
* Exporting for testing purposes only.
* Marking as deprecated to discourage any use outside of testing.
* @deprecated
*/
kFastTimer
};
}
});
// node_modules/undici/lib/core/errors.js
var require_errors4 = __commonJS({
"node_modules/undici/lib/core/errors.js"(exports2, module2) {
"use strict";
var kUndiciError = Symbol.for("undici.error.UND_ERR");
var UndiciError = class extends Error {
constructor(message, options) {
super(message, options);
this.name = "UndiciError";
this.code = "UND_ERR";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kUndiciError] === true;
}
get [kUndiciError]() {
return true;
}
};
var kConnectTimeoutError = Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
var ConnectTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ConnectTimeoutError";
this.message = message || "Connect Timeout Error";
this.code = "UND_ERR_CONNECT_TIMEOUT";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kConnectTimeoutError] === true;
}
get [kConnectTimeoutError]() {
return true;
}
};
var kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
var HeadersTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "HeadersTimeoutError";
this.message = message || "Headers Timeout Error";
this.code = "UND_ERR_HEADERS_TIMEOUT";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kHeadersTimeoutError] === true;
}
get [kHeadersTimeoutError]() {
return true;
}
};
var kHeadersOverflowError = Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
var HeadersOverflowError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "HeadersOverflowError";
this.message = message || "Headers Overflow Error";
this.code = "UND_ERR_HEADERS_OVERFLOW";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kHeadersOverflowError] === true;
}
get [kHeadersOverflowError]() {
return true;
}
};
var kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
var BodyTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "BodyTimeoutError";
this.message = message || "Body Timeout Error";
this.code = "UND_ERR_BODY_TIMEOUT";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kBodyTimeoutError] === true;
}
get [kBodyTimeoutError]() {
return true;
}
};
var kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG");
var InvalidArgumentError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "InvalidArgumentError";
this.message = message || "Invalid Argument Error";
this.code = "UND_ERR_INVALID_ARG";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kInvalidArgumentError] === true;
}
get [kInvalidArgumentError]() {
return true;
}
};
var kInvalidReturnValueError = Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
var InvalidReturnValueError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "InvalidReturnValueError";
this.message = message || "Invalid Return Value Error";
this.code = "UND_ERR_INVALID_RETURN_VALUE";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kInvalidReturnValueError] === true;
}
get [kInvalidReturnValueError]() {
return true;
}
};
var kAbortError = Symbol.for("undici.error.UND_ERR_ABORT");
var AbortError2 = class extends UndiciError {
constructor(message) {
super(message);
this.name = "AbortError";
this.message = message || "The operation was aborted";
this.code = "UND_ERR_ABORT";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kAbortError] === true;
}
get [kAbortError]() {
return true;
}
};
var kRequestAbortedError = Symbol.for("undici.error.UND_ERR_ABORTED");
var RequestAbortedError = class extends AbortError2 {
constructor(message) {
super(message);
this.name = "AbortError";
this.message = message || "Request aborted";
this.code = "UND_ERR_ABORTED";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kRequestAbortedError] === true;
}
get [kRequestAbortedError]() {
return true;
}
};
var kInformationalError = Symbol.for("undici.error.UND_ERR_INFO");
var InformationalError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "InformationalError";
this.message = message || "Request information";
this.code = "UND_ERR_INFO";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kInformationalError] === true;
}
get [kInformationalError]() {
return true;
}
};
var kRequestContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
var RequestContentLengthMismatchError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "RequestContentLengthMismatchError";
this.message = message || "Request body length does not match content-length header";
this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kRequestContentLengthMismatchError] === true;
}
get [kRequestContentLengthMismatchError]() {
return true;
}
};
var kResponseContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
var ResponseContentLengthMismatchError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ResponseContentLengthMismatchError";
this.message = message || "Response body length does not match content-length header";
this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kResponseContentLengthMismatchError] === true;
}
get [kResponseContentLengthMismatchError]() {
return true;
}
};
var kClientDestroyedError = Symbol.for("undici.error.UND_ERR_DESTROYED");
var ClientDestroyedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ClientDestroyedError";
this.message = message || "The client is destroyed";
this.code = "UND_ERR_DESTROYED";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kClientDestroyedError] === true;
}
get [kClientDestroyedError]() {
return true;
}
};
var kClientClosedError = Symbol.for("undici.error.UND_ERR_CLOSED");
var ClientClosedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ClientClosedError";
this.message = message || "The client is closed";
this.code = "UND_ERR_CLOSED";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kClientClosedError] === true;
}
get [kClientClosedError]() {
return true;
}
};
var kSocketError = Symbol.for("undici.error.UND_ERR_SOCKET");
var SocketError = class extends UndiciError {
constructor(message, socket) {
super(message);
this.name = "SocketError";
this.message = message || "Socket error";
this.code = "UND_ERR_SOCKET";
this.socket = socket;
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kSocketError] === true;
}
get [kSocketError]() {
return true;
}
};
var kNotSupportedError = Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
var NotSupportedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "NotSupportedError";
this.message = message || "Not supported error";
this.code = "UND_ERR_NOT_SUPPORTED";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kNotSupportedError] === true;
}
get [kNotSupportedError]() {
return true;
}
};
var kBalancedPoolMissingUpstreamError = Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
var BalancedPoolMissingUpstreamError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MissingUpstreamError";
this.message = message || "No upstream has been added to the BalancedPool";
this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kBalancedPoolMissingUpstreamError] === true;
}
get [kBalancedPoolMissingUpstreamError]() {
return true;
}
};
var kHTTPParserError = Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
var HTTPParserError = class extends Error {
constructor(message, code, data) {
super(message);
this.name = "HTTPParserError";
this.code = code ? `HPE_${code}` : void 0;
this.data = data ? data.toString() : void 0;
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kHTTPParserError] === true;
}
get [kHTTPParserError]() {
return true;
}
};
var kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
var ResponseExceededMaxSizeError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "ResponseExceededMaxSizeError";
this.message = message || "Response content exceeded max size";
this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kResponseExceededMaxSizeError] === true;
}
get [kResponseExceededMaxSizeError]() {
return true;
}
};
var kRequestRetryError = Symbol.for("undici.error.UND_ERR_REQ_RETRY");
var RequestRetryError = class extends UndiciError {
constructor(message, code, { headers, data }) {
super(message);
this.name = "RequestRetryError";
this.message = message || "Request retry error";
this.code = "UND_ERR_REQ_RETRY";
this.statusCode = code;
this.data = data;
this.headers = headers;
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kRequestRetryError] === true;
}
get [kRequestRetryError]() {
return true;
}
};
var kResponseError = Symbol.for("undici.error.UND_ERR_RESPONSE");
var ResponseError = class extends UndiciError {
constructor(message, code, { headers, body: body2 }) {
super(message);
this.name = "ResponseError";
this.message = message || "Response error";
this.code = "UND_ERR_RESPONSE";
this.statusCode = code;
this.body = body2;
this.headers = headers;
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kResponseError] === true;
}
get [kResponseError]() {
return true;
}
};
var kSecureProxyConnectionError = Symbol.for("undici.error.UND_ERR_PRX_TLS");
var SecureProxyConnectionError = class extends UndiciError {
constructor(cause, message, options = {}) {
super(message, { cause, ...options });
this.name = "SecureProxyConnectionError";
this.message = message || "Secure Proxy Connection failed";
this.code = "UND_ERR_PRX_TLS";
this.cause = cause;
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kSecureProxyConnectionError] === true;
}
get [kSecureProxyConnectionError]() {
return true;
}
};
var kMaxOriginsReachedError = Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");
var MaxOriginsReachedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MaxOriginsReachedError";
this.message = message || "Maximum allowed origins reached";
this.code = "UND_ERR_MAX_ORIGINS_REACHED";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kMaxOriginsReachedError] === true;
}
get [kMaxOriginsReachedError]() {
return true;
}
};
var Socks5ProxyError = class extends UndiciError {
constructor(message, code) {
super(message);
this.name = "Socks5ProxyError";
this.message = message || "SOCKS5 proxy error";
this.code = code || "UND_ERR_SOCKS5";
}
};
var kMessageSizeExceededError = Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
var MessageSizeExceededError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MessageSizeExceededError";
this.message = message || "Max decompressed message size exceeded";
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kMessageSizeExceededError] === true;
}
get [kMessageSizeExceededError]() {
return true;
}
};
module2.exports = {
AbortError: AbortError2,
HTTPParserError,
UndiciError,
HeadersTimeoutError,
HeadersOverflowError,
BodyTimeoutError,
RequestContentLengthMismatchError,
ConnectTimeoutError,
InvalidArgumentError,
InvalidReturnValueError,
RequestAbortedError,
ClientDestroyedError,
ClientClosedError,
InformationalError,
SocketError,
NotSupportedError,
ResponseContentLengthMismatchError,
BalancedPoolMissingUpstreamError,
ResponseExceededMaxSizeError,
RequestRetryError,
ResponseError,
SecureProxyConnectionError,
MaxOriginsReachedError,
Socks5ProxyError,
MessageSizeExceededError
};
}
});
// node_modules/undici/lib/core/constants.js
var require_constants4 = __commonJS({
"node_modules/undici/lib/core/constants.js"(exports2, module2) {
"use strict";
var wellknownHeaderNames = (
/** @type {const} */
[
"Accept",
"Accept-Encoding",
"Accept-Language",
"Accept-Ranges",
"Access-Control-Allow-Credentials",
"Access-Control-Allow-Headers",
"Access-Control-Allow-Methods",
"Access-Control-Allow-Origin",
"Access-Control-Expose-Headers",
"Access-Control-Max-Age",
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Age",
"Allow",
"Alt-Svc",
"Alt-Used",
"Authorization",
"Cache-Control",
"Clear-Site-Data",
"Connection",
"Content-Disposition",
"Content-Encoding",
"Content-Language",
"Content-Length",
"Content-Location",
"Content-Range",
"Content-Security-Policy",
"Content-Security-Policy-Report-Only",
"Content-Type",
"Cookie",
"Cross-Origin-Embedder-Policy",
"Cross-Origin-Opener-Policy",
"Cross-Origin-Resource-Policy",
"Date",
"Device-Memory",
"Downlink",
"ECT",
"ETag",
"Expect",
"Expect-CT",
"Expires",
"Forwarded",
"From",
"Host",
"If-Match",
"If-Modified-Since",
"If-None-Match",
"If-Range",
"If-Unmodified-Since",
"Keep-Alive",
"Last-Modified",
"Link",
"Location",
"Max-Forwards",
"Origin",
"Permissions-Policy",
"Pragma",
"Proxy-Authenticate",
"Proxy-Authorization",
"RTT",
"Range",
"Referer",
"Referrer-Policy",
"Refresh",
"Retry-After",
"Sec-WebSocket-Accept",
"Sec-WebSocket-Extensions",
"Sec-WebSocket-Key",
"Sec-WebSocket-Protocol",
"Sec-WebSocket-Version",
"Server",
"Server-Timing",
"Service-Worker-Allowed",
"Service-Worker-Navigation-Preload",
"Set-Cookie",
"SourceMap",
"Strict-Transport-Security",
"Supports-Loading-Mode",
"TE",
"Timing-Allow-Origin",
"Trailer",
"Transfer-Encoding",
"Upgrade",
"Upgrade-Insecure-Requests",
"User-Agent",
"Vary",
"Via",
"WWW-Authenticate",
"X-Content-Type-Options",
"X-DNS-Prefetch-Control",
"X-Frame-Options",
"X-Permitted-Cross-Domain-Policies",
"X-Powered-By",
"X-Requested-With",
"X-XSS-Protection"
]
);
var headerNameLowerCasedRecord = {};
Object.setPrototypeOf(headerNameLowerCasedRecord, null);
var wellknownHeaderNameBuffers = {};
Object.setPrototypeOf(wellknownHeaderNameBuffers, null);
function getHeaderNameAsBuffer(header) {
let buffer = wellknownHeaderNameBuffers[header];
if (buffer === void 0) {
buffer = Buffer.from(header);
}
return buffer;
}
for (let i3 = 0; i3 < wellknownHeaderNames.length; ++i3) {
const key = wellknownHeaderNames[i3];
const lowerCasedKey = key.toLowerCase();
headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
}
module2.exports = {
wellknownHeaderNames,
headerNameLowerCasedRecord,
getHeaderNameAsBuffer
};
}
});
// node_modules/undici/lib/core/tree.js
var require_tree = __commonJS({
"node_modules/undici/lib/core/tree.js"(exports2, module2) {
"use strict";
var {
wellknownHeaderNames,
headerNameLowerCasedRecord
} = require_constants4();
var TstNode = class _TstNode {
/** @type {any} */
value = null;
/** @type {null | TstNode} */
left = null;
/** @type {null | TstNode} */
middle = null;
/** @type {null | TstNode} */
right = null;
/** @type {number} */
code;
/**
* @param {string} key
* @param {any} value
* @param {number} index
*/
constructor(key, value, index) {
if (index === void 0 || index >= key.length) {
throw new TypeError("Unreachable");
}
const code = this.code = key.charCodeAt(index);
if (code > 127) {
throw new TypeError("key must be ascii string");
}
if (key.length !== ++index) {
this.middle = new _TstNode(key, value, index);
} else {
this.value = value;
}
}
/**
* @param {string} key
* @param {any} value
* @returns {void}
*/
add(key, value) {
const length = key.length;
if (length === 0) {
throw new TypeError("Unreachable");
}
let index = 0;
let node = this;
while (true) {
const code = key.charCodeAt(index);
if (code > 127) {
throw new TypeError("key must be ascii string");
}
if (node.code === code) {
if (length === ++index) {
node.value = value;
break;
} else if (node.middle !== null) {
node = node.middle;
} else {
node.middle = new _TstNode(key, value, index);
break;
}
} else if (node.code < code) {
if (node.left !== null) {
node = node.left;
} else {
node.left = new _TstNode(key, value, index);
break;
}
} else if (node.right !== null) {
node = node.right;
} else {
node.right = new _TstNode(key, value, index);
break;
}
}
}
/**
* @param {Uint8Array} key
* @returns {TstNode | null}
*/
search(key) {
const keylength = key.length;
let index = 0;
let node = this;
while (node !== null && index < keylength) {
let code = key[index];
if (code <= 90 && code >= 65) {
code |= 32;
}
while (node !== null) {
if (code === node.code) {
if (keylength === ++index) {
return node;
}
node = node.middle;
break;
}
node = node.code < code ? node.left : node.right;
}
}
return null;
}
};
var TernarySearchTree = class {
/** @type {TstNode | null} */
node = null;
/**
* @param {string} key
* @param {any} value
* @returns {void}
* */
insert(key, value) {
if (this.node === null) {
this.node = new TstNode(key, value, 0);
} else {
this.node.add(key, value);
}
}
/**
* @param {Uint8Array} key
* @returns {any}
*/
lookup(key) {
return this.node?.search(key)?.value ?? null;
}
};
var tree = new TernarySearchTree();
for (let i3 = 0; i3 < wellknownHeaderNames.length; ++i3) {
const key = headerNameLowerCasedRecord[wellknownHeaderNames[i3]];
tree.insert(key, key);
}
module2.exports = {
TernarySearchTree,
tree
};
}
});
// node_modules/undici/lib/core/util.js
var require_util13 = __commonJS({
"node_modules/undici/lib/core/util.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
var { IncomingMessage } = __require("node:http");
var stream2 = __require("node:stream");
var net2 = __require("node:net");
var { stringify: stringify3 } = __require("node:querystring");
var { EventEmitter: EE } = __require("node:events");
var timers = require_timers();
var { InvalidArgumentError, ConnectTimeoutError } = require_errors4();
var { headerNameLowerCasedRecord } = require_constants4();
var { tree } = require_tree();
var [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((v) => Number(v));
var BodyAsyncIterable = class {
constructor(body2) {
this[kBody] = body2;
this[kBodyUsed] = false;
}
async *[Symbol.asyncIterator]() {
assert3(!this[kBodyUsed], "disturbed");
this[kBodyUsed] = true;
yield* this[kBody];
}
};
function noop4() {
}
function wrapRequestBody(body2) {
if (isStream4(body2)) {
if (bodyLength(body2) === 0) {
body2.on("data", function() {
assert3(false);
});
}
if (typeof body2.readableDidRead !== "boolean") {
body2[kBodyUsed] = false;
EE.prototype.on.call(body2, "data", function() {
this[kBodyUsed] = true;
});
}
return body2;
} else if (body2 && typeof body2.pipeTo === "function") {
return new BodyAsyncIterable(body2);
} else if (body2 && isFormDataLike(body2)) {
return body2;
} else if (body2 && typeof body2 !== "string" && !ArrayBuffer.isView(body2) && isIterable(body2)) {
return new BodyAsyncIterable(body2);
} else {
return body2;
}
}
function isStream4(obj) {
return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
}
function isBlobLike(object3) {
if (object3 === null) {
return false;
} else if (object3 instanceof Blob) {
return true;
} else if (typeof object3 !== "object") {
return false;
} else {
const sTag = object3[Symbol.toStringTag];
return (sTag === "Blob" || sTag === "File") && ("stream" in object3 && typeof object3.stream === "function" || "arrayBuffer" in object3 && typeof object3.arrayBuffer === "function");
}
}
function pathHasQueryOrFragment(url3) {
return url3.includes("?") || url3.includes("#");
}
function serializePathWithQuery(url3, queryParams) {
if (pathHasQueryOrFragment(url3)) {
throw new Error('Query params cannot be passed when url already contains "?" or "#".');
}
const stringified = stringify3(queryParams);
if (stringified) {
url3 += "?" + stringified;
}
return url3;
}
function isValidPort(port) {
const value = parseInt(port, 10);
return value === Number(port) && value >= 0 && value <= 65535;
}
function isHttpOrHttpsPrefixed(value) {
return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
}
function parseURL(url3) {
if (typeof url3 === "string") {
url3 = new URL(url3);
if (!isHttpOrHttpsPrefixed(url3.origin || url3.protocol)) {
throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
return url3;
}
if (!url3 || typeof url3 !== "object") {
throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
}
if (!(url3 instanceof URL)) {
if (url3.port != null && url3.port !== "" && isValidPort(url3.port) === false) {
throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
}
if (url3.path != null && typeof url3.path !== "string") {
throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
}
if (url3.pathname != null && typeof url3.pathname !== "string") {
throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
}
if (url3.hostname != null && typeof url3.hostname !== "string") {
throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
}
if (url3.origin != null && typeof url3.origin !== "string") {
throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
}
if (!isHttpOrHttpsPrefixed(url3.origin || url3.protocol)) {
throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
const port = url3.port != null ? url3.port : url3.protocol === "https:" ? 443 : 80;
let origin = url3.origin != null ? url3.origin : `${url3.protocol || ""}//${url3.hostname || ""}:${port}`;
let path101 = url3.path != null ? url3.path : `${url3.pathname || ""}${url3.search || ""}`;
if (origin[origin.length - 1] === "/") {
origin = origin.slice(0, origin.length - 1);
}
if (path101 && path101[0] !== "/") {
path101 = `/${path101}`;
}
return new URL(`${origin}${path101}`);
}
if (!isHttpOrHttpsPrefixed(url3.origin || url3.protocol)) {
throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
return url3;
}
function parseOrigin(url3) {
url3 = parseURL(url3);
if (url3.pathname !== "/" || url3.search || url3.hash) {
throw new InvalidArgumentError("invalid url");
}
return url3;
}
function getHostname(host) {
if (host[0] === "[") {
const idx2 = host.indexOf("]");
assert3(idx2 !== -1);
return host.substring(1, idx2);
}
const idx = host.indexOf(":");
if (idx === -1) return host;
return host.substring(0, idx);
}
function getServerName(host) {
if (!host) {
return null;
}
assert3(typeof host === "string");
const servername = getHostname(host);
if (net2.isIP(servername)) {
return "";
}
return servername;
}
function deepClone(obj) {
return JSON.parse(JSON.stringify(obj));
}
function isAsyncIterable2(obj) {
return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
}
function isIterable(obj) {
return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
}
function hasSafeIterator(obj) {
const prototype = Object.getPrototypeOf(obj);
const ownIterator = Object.prototype.hasOwnProperty.call(obj, Symbol.iterator);
return ownIterator || prototype != null && prototype !== Object.prototype && typeof obj[Symbol.iterator] === "function";
}
function bodyLength(body2) {
if (body2 == null) {
return 0;
} else if (isStream4(body2)) {
const state = body2._readableState;
return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
} else if (isBlobLike(body2)) {
return body2.size != null ? body2.size : null;
} else if (isBuffer(body2)) {
return body2.byteLength;
}
return null;
}
function isDestroyed(body2) {
return body2 && !!(body2.destroyed || body2[kDestroyed] || stream2.isDestroyed?.(body2));
}
function destroy(stream3, err2) {
if (stream3 == null || !isStream4(stream3) || isDestroyed(stream3)) {
return;
}
if (typeof stream3.destroy === "function") {
if (Object.getPrototypeOf(stream3).constructor === IncomingMessage) {
stream3.socket = null;
}
stream3.destroy(err2);
} else if (err2) {
queueMicrotask(() => {
stream3.emit("error", err2);
});
}
if (stream3.destroyed !== true) {
stream3[kDestroyed] = true;
}
}
var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
function parseKeepAliveTimeout(val) {
const m = val.match(KEEPALIVE_TIMEOUT_EXPR);
return m ? parseInt(m[1], 10) * 1e3 : null;
}
function headerNameToString(value) {
return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
}
function bufferToLowerCasedHeaderName(value) {
return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
}
function parseHeaders(headers, obj) {
if (obj === void 0) obj = {};
for (let i3 = 0; i3 < headers.length; i3 += 2) {
const key = headerNameToString(headers[i3]);
let val = obj[key];
if (val) {
if (typeof val === "string") {
val = [val];
obj[key] = val;
}
val.push(headers[i3 + 1].toString("latin1"));
} else {
const headersValue = headers[i3 + 1];
if (typeof headersValue === "string") {
obj[key] = headersValue;
} else {
obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("latin1")) : headersValue.toString("latin1");
}
}
}
return obj;
}
function parseRawHeaders(headers) {
const headersLength = headers.length;
const ret = new Array(headersLength);
let key;
let val;
for (let n3 = 0; n3 < headersLength; n3 += 2) {
key = headers[n3];
val = headers[n3 + 1];
typeof key !== "string" && (key = key.toString());
typeof val !== "string" && (val = val.toString("latin1"));
ret[n3] = key;
ret[n3 + 1] = val;
}
return ret;
}
function encodeRawHeaders(headers) {
if (!Array.isArray(headers)) {
throw new TypeError("expected headers to be an array");
}
return headers.map((x) => Buffer.from(x));
}
function isBuffer(buffer) {
return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
}
function assertRequestHandler(handler, method, upgrade) {
if (!handler || typeof handler !== "object") {
throw new InvalidArgumentError("handler must be an object");
}
if (typeof handler.onRequestStart === "function") {
return;
}
if (typeof handler.onConnect !== "function") {
throw new InvalidArgumentError("invalid onConnect method");
}
if (typeof handler.onError !== "function") {
throw new InvalidArgumentError("invalid onError method");
}
if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) {
throw new InvalidArgumentError("invalid onBodySent method");
}
if (upgrade || method === "CONNECT") {
if (typeof handler.onUpgrade !== "function") {
throw new InvalidArgumentError("invalid onUpgrade method");
}
} else {
if (typeof handler.onHeaders !== "function") {
throw new InvalidArgumentError("invalid onHeaders method");
}
if (typeof handler.onData !== "function") {
throw new InvalidArgumentError("invalid onData method");
}
if (typeof handler.onComplete !== "function") {
throw new InvalidArgumentError("invalid onComplete method");
}
}
}
function isDisturbed(body2) {
return !!(body2 && (stream2.isDisturbed(body2) || body2[kBodyUsed]));
}
function getSocketInfo(socket) {
return {
localAddress: socket.localAddress,
localPort: socket.localPort,
remoteAddress: socket.remoteAddress,
remotePort: socket.remotePort,
remoteFamily: socket.remoteFamily,
timeout: socket.timeout,
bytesWritten: socket.bytesWritten,
bytesRead: socket.bytesRead
};
}
function ReadableStreamFrom(iterable) {
let iterator;
return new ReadableStream(
{
start() {
iterator = iterable[Symbol.asyncIterator]();
},
pull(controller) {
return iterator.next().then(({ done, value }) => {
if (done) {
return queueMicrotask(() => {
controller.close();
controller.byobRequest?.respond(0);
});
} else {
const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
if (buf.byteLength) {
return controller.enqueue(new Uint8Array(buf));
} else {
return this.pull(controller);
}
}
});
},
cancel() {
return iterator.return();
},
type: "bytes"
}
);
}
function isFormDataLike(object3) {
return object3 && typeof object3 === "object" && typeof object3.append === "function" && typeof object3.delete === "function" && typeof object3.get === "function" && typeof object3.getAll === "function" && typeof object3.has === "function" && typeof object3.set === "function" && object3[Symbol.toStringTag] === "FormData";
}
function addAbortListener3(signal, listener) {
if ("addEventListener" in signal) {
signal.addEventListener("abort", listener, { once: true });
return () => signal.removeEventListener("abort", listener);
}
signal.once("abort", listener);
return () => signal.removeListener("abort", listener);
}
var validTokenChars = new Uint8Array([
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 0-15
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 16-31
0,
1,
0,
1,
1,
1,
1,
1,
0,
0,
1,
1,
0,
1,
1,
0,
// 32-47 (!"#$%&'()*+,-./)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
// 48-63 (0-9:;<=>?)
0,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
// 64-79 (@A-O)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
1,
1,
// 80-95 (P-Z[\]^_)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
// 96-111 (`a-o)
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
1,
0,
1,
0,
// 112-127 (p-z{|}~)
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 128-143
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 144-159
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 160-175
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 176-191
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 192-207
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 208-223
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
// 224-239
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
// 240-255
]);
function isTokenCharCode(c4) {
return validTokenChars[c4] === 1;
}
var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
function isValidHTTPToken(characters) {
if (characters.length >= 12) return tokenRegExp.test(characters);
if (characters.length === 0) return false;
for (let i3 = 0; i3 < characters.length; i3++) {
if (validTokenChars[characters.charCodeAt(i3)] !== 1) {
return false;
}
}
return true;
}
var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
function isValidHeaderValue(characters) {
return !headerCharRegex.test(characters);
}
var rangeHeaderRegex = /^bytes (\d+)-(\d+)\/(\d+)?$/;
function parseRangeHeader(range2) {
if (range2 == null || range2 === "") return { start: 0, end: null, size: null };
const m = range2 ? range2.match(rangeHeaderRegex) : null;
return m ? {
start: parseInt(m[1]),
end: m[2] ? parseInt(m[2]) : null,
size: m[3] ? parseInt(m[3]) : null
} : null;
}
function addListener(obj, name3, listener) {
const listeners = obj[kListeners] ??= [];
listeners.push([name3, listener]);
obj.on(name3, listener);
return obj;
}
function removeAllListeners(obj) {
if (obj[kListeners] != null) {
for (const [name3, listener] of obj[kListeners]) {
obj.removeListener(name3, listener);
}
obj[kListeners] = null;
}
return obj;
}
function errorRequest(client, request, err2) {
try {
request.onError(err2);
assert3(request.aborted);
} catch (err3) {
client.emit("error", err3);
}
}
var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
if (!opts.timeout) {
return noop4;
}
let s1 = null;
let s2 = null;
const fastTimer = timers.setFastTimeout(() => {
s1 = setImmediate(() => {
s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
});
}, opts.timeout);
return () => {
timers.clearFastTimeout(fastTimer);
clearImmediate(s1);
clearImmediate(s2);
};
} : (socketWeakRef, opts) => {
if (!opts.timeout) {
return noop4;
}
let s1 = null;
const fastTimer = timers.setFastTimeout(() => {
s1 = setImmediate(() => {
onConnectTimeout(socketWeakRef.deref(), opts);
});
}, opts.timeout);
return () => {
timers.clearFastTimeout(fastTimer);
clearImmediate(s1);
};
};
function onConnectTimeout(socket, opts) {
if (socket == null) {
return;
}
let message = "Connect Timeout Error";
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
} else {
message += ` (attempted address: ${opts.hostname}:${opts.port},`;
}
message += ` timeout: ${opts.timeout}ms)`;
destroy(socket, new ConnectTimeoutError(message));
}
function getProtocolFromUrlString(urlString) {
if (urlString[0] === "h" && urlString[1] === "t" && urlString[2] === "t" && urlString[3] === "p") {
switch (urlString[4]) {
case ":":
return "http:";
case "s":
if (urlString[5] === ":") {
return "https:";
}
}
}
return urlString.slice(0, urlString.indexOf(":") + 1);
}
var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
kEnumerableProperty.enumerable = true;
var normalizedMethodRecordsBase = {
delete: "DELETE",
DELETE: "DELETE",
get: "GET",
GET: "GET",
head: "HEAD",
HEAD: "HEAD",
options: "OPTIONS",
OPTIONS: "OPTIONS",
post: "POST",
POST: "POST",
put: "PUT",
PUT: "PUT"
};
var normalizedMethodRecords = {
...normalizedMethodRecordsBase,
patch: "patch",
PATCH: "PATCH"
};
Object.setPrototypeOf(normalizedMethodRecordsBase, null);
Object.setPrototypeOf(normalizedMethodRecords, null);
module2.exports = {
kEnumerableProperty,
isDisturbed,
isBlobLike,
parseOrigin,
parseURL,
getServerName,
isStream: isStream4,
isIterable,
hasSafeIterator,
isAsyncIterable: isAsyncIterable2,
isDestroyed,
headerNameToString,
bufferToLowerCasedHeaderName,
addListener,
removeAllListeners,
errorRequest,
parseRawHeaders,
encodeRawHeaders,
parseHeaders,
parseKeepAliveTimeout,
destroy,
bodyLength,
deepClone,
ReadableStreamFrom,
isBuffer,
assertRequestHandler,
getSocketInfo,
isFormDataLike,
pathHasQueryOrFragment,
serializePathWithQuery,
addAbortListener: addAbortListener3,
isValidHTTPToken,
isValidHeaderValue,
isTokenCharCode,
parseRangeHeader,
normalizedMethodRecordsBase,
normalizedMethodRecords,
isValidPort,
isHttpOrHttpsPrefixed,
nodeMajor,
nodeMinor,
safeHTTPMethods: Object.freeze(["GET", "HEAD", "OPTIONS", "TRACE"]),
wrapRequestBody,
setupConnectTimeout,
getProtocolFromUrlString
};
}
});
// node_modules/undici/lib/util/stats.js
var require_stats = __commonJS({
"node_modules/undici/lib/util/stats.js"(exports2, module2) {
"use strict";
var {
kConnected,
kPending,
kRunning,
kSize,
kFree,
kQueued
} = require_symbols();
var ClientStats = class {
constructor(client) {
this.connected = client[kConnected];
this.pending = client[kPending];
this.running = client[kRunning];
this.size = client[kSize];
}
};
var PoolStats = class {
constructor(pool) {
this.connected = pool[kConnected];
this.free = pool[kFree];
this.pending = pool[kPending];
this.queued = pool[kQueued];
this.running = pool[kRunning];
this.size = pool[kSize];
}
};
module2.exports = { ClientStats, PoolStats };
}
});
// node_modules/undici/lib/core/diagnostics.js
var require_diagnostics = __commonJS({
"node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
"use strict";
var diagnosticsChannel = __require("node:diagnostics_channel");
var util2 = __require("node:util");
var undiciDebugLog = util2.debuglog("undici");
var fetchDebuglog = util2.debuglog("fetch");
var websocketDebuglog = util2.debuglog("websocket");
var channels = {
// Client
beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
connected: diagnosticsChannel.channel("undici:client:connected"),
connectError: diagnosticsChannel.channel("undici:client:connectError"),
sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
// Request
create: diagnosticsChannel.channel("undici:request:create"),
bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
bodyChunkSent: diagnosticsChannel.channel("undici:request:bodyChunkSent"),
bodyChunkReceived: diagnosticsChannel.channel("undici:request:bodyChunkReceived"),
headers: diagnosticsChannel.channel("undici:request:headers"),
trailers: diagnosticsChannel.channel("undici:request:trailers"),
error: diagnosticsChannel.channel("undici:request:error"),
// WebSocket
open: diagnosticsChannel.channel("undici:websocket:open"),
close: diagnosticsChannel.channel("undici:websocket:close"),
socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
ping: diagnosticsChannel.channel("undici:websocket:ping"),
pong: diagnosticsChannel.channel("undici:websocket:pong"),
// ProxyAgent
proxyConnected: diagnosticsChannel.channel("undici:proxy:connected")
};
var isTrackingClientEvents = false;
function trackClientEvents(debugLog = undiciDebugLog) {
if (isTrackingClientEvents) {
return;
}
if (channels.beforeConnect.hasSubscribers || channels.connected.hasSubscribers || channels.connectError.hasSubscribers || channels.sendHeaders.hasSubscribers) {
isTrackingClientEvents = true;
return;
}
isTrackingClientEvents = true;
diagnosticsChannel.subscribe(
"undici:client:beforeConnect",
(evt) => {
const {
connectParams: { version: version4, protocol, port, host }
} = evt;
debugLog(
"connecting to %s%s using %s%s",
host,
port ? `:${port}` : "",
protocol,
version4
);
}
);
diagnosticsChannel.subscribe(
"undici:client:connected",
(evt) => {
const {
connectParams: { version: version4, protocol, port, host }
} = evt;
debugLog(
"connected to %s%s using %s%s",
host,
port ? `:${port}` : "",
protocol,
version4
);
}
);
diagnosticsChannel.subscribe(
"undici:client:connectError",
(evt) => {
const {
connectParams: { version: version4, protocol, port, host },
error: error40
} = evt;
debugLog(
"connection to %s%s using %s%s errored - %s",
host,
port ? `:${port}` : "",
protocol,
version4,
error40.message
);
}
);
diagnosticsChannel.subscribe(
"undici:client:sendHeaders",
(evt) => {
const {
request: { method, path: path101, origin }
} = evt;
debugLog("sending request to %s %s%s", method, origin, path101);
}
);
}
var isTrackingRequestEvents = false;
function trackRequestEvents(debugLog = undiciDebugLog) {
if (isTrackingRequestEvents) {
return;
}
if (channels.headers.hasSubscribers || channels.trailers.hasSubscribers || channels.error.hasSubscribers) {
isTrackingRequestEvents = true;
return;
}
isTrackingRequestEvents = true;
diagnosticsChannel.subscribe(
"undici:request:headers",
(evt) => {
const {
request: { method, path: path101, origin },
response: { statusCode }
} = evt;
debugLog(
"received response to %s %s%s - HTTP %d",
method,
origin,
path101,
statusCode
);
}
);
diagnosticsChannel.subscribe(
"undici:request:trailers",
(evt) => {
const {
request: { method, path: path101, origin }
} = evt;
debugLog("trailers received from %s %s%s", method, origin, path101);
}
);
diagnosticsChannel.subscribe(
"undici:request:error",
(evt) => {
const {
request: { method, path: path101, origin },
error: error40
} = evt;
debugLog(
"request to %s %s%s errored - %s",
method,
origin,
path101,
error40.message
);
}
);
}
var isTrackingWebSocketEvents = false;
function trackWebSocketEvents(debugLog = websocketDebuglog) {
if (isTrackingWebSocketEvents) {
return;
}
if (channels.open.hasSubscribers || channels.close.hasSubscribers || channels.socketError.hasSubscribers || channels.ping.hasSubscribers || channels.pong.hasSubscribers) {
isTrackingWebSocketEvents = true;
return;
}
isTrackingWebSocketEvents = true;
diagnosticsChannel.subscribe(
"undici:websocket:open",
(evt) => {
const {
address: { address, port }
} = evt;
debugLog("connection opened %s%s", address, port ? `:${port}` : "");
}
);
diagnosticsChannel.subscribe(
"undici:websocket:close",
(evt) => {
const { websocket, code, reason } = evt;
debugLog(
"closed connection to %s - %s %s",
websocket.url,
code,
reason
);
}
);
diagnosticsChannel.subscribe(
"undici:websocket:socket_error",
(err2) => {
debugLog("connection errored - %s", err2.message);
}
);
diagnosticsChannel.subscribe(
"undici:websocket:ping",
(evt) => {
debugLog("ping received");
}
);
diagnosticsChannel.subscribe(
"undici:websocket:pong",
(evt) => {
debugLog("pong received");
}
);
}
if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
trackClientEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
trackRequestEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
}
if (websocketDebuglog.enabled) {
trackClientEvents(undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog);
trackWebSocketEvents(websocketDebuglog);
}
module2.exports = {
channels
};
}
});
// node_modules/undici/lib/core/request.js
var require_request = __commonJS({
"node_modules/undici/lib/core/request.js"(exports2, module2) {
"use strict";
var {
InvalidArgumentError,
NotSupportedError
} = require_errors4();
var assert3 = __require("node:assert");
var {
isValidHTTPToken,
isValidHeaderValue,
isStream: isStream4,
destroy,
isBuffer,
isFormDataLike,
isIterable,
hasSafeIterator,
isBlobLike,
serializePathWithQuery,
assertRequestHandler,
getServerName,
normalizedMethodRecords,
getProtocolFromUrlString
} = require_util13();
var { channels } = require_diagnostics();
var { headerNameLowerCasedRecord } = require_constants4();
var invalidPathRegex = /[^\u0021-\u00ff]/;
var kHandler = Symbol("handler");
var Request = class {
constructor(origin, {
path: path101,
method,
body: body2,
headers,
query,
idempotent,
blocking,
upgrade,
headersTimeout,
bodyTimeout,
reset: reset2,
expectContinue,
servername,
throwOnError,
maxRedirections,
typeOfService
}, handler) {
if (typeof path101 !== "string") {
throw new InvalidArgumentError("path must be a string");
} else if (path101[0] !== "/" && !(path101.startsWith("http://") || path101.startsWith("https://")) && method !== "CONNECT") {
throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
} else if (invalidPathRegex.test(path101)) {
throw new InvalidArgumentError("invalid request path");
}
if (typeof method !== "string") {
throw new InvalidArgumentError("method must be a string");
} else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) {
throw new InvalidArgumentError("invalid request method");
}
if (upgrade && typeof upgrade !== "string") {
throw new InvalidArgumentError("upgrade must be a string");
}
if (upgrade && !isValidHeaderValue(upgrade)) {
throw new InvalidArgumentError("invalid upgrade header");
}
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
throw new InvalidArgumentError("invalid headersTimeout");
}
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
throw new InvalidArgumentError("invalid bodyTimeout");
}
if (reset2 != null && typeof reset2 !== "boolean") {
throw new InvalidArgumentError("invalid reset");
}
if (expectContinue != null && typeof expectContinue !== "boolean") {
throw new InvalidArgumentError("invalid expectContinue");
}
if (throwOnError != null) {
throw new InvalidArgumentError("invalid throwOnError");
}
if (maxRedirections != null && maxRedirections !== 0) {
throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");
}
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) {
throw new InvalidArgumentError("typeOfService must be an integer between 0 and 255");
}
this.headersTimeout = headersTimeout;
this.bodyTimeout = bodyTimeout;
this.method = method;
this.typeOfService = typeOfService ?? 0;
this.abort = null;
if (body2 == null) {
this.body = null;
} else if (isStream4(body2)) {
this.body = body2;
const rState = this.body._readableState;
if (!rState || !rState.autoDestroy) {
this.endHandler = function autoDestroy() {
destroy(this);
};
this.body.on("end", this.endHandler);
}
this.errorHandler = (err2) => {
if (this.abort) {
this.abort(err2);
} else {
this.error = err2;
}
};
this.body.on("error", this.errorHandler);
} else if (isBuffer(body2)) {
this.body = body2.byteLength ? body2 : null;
} else if (ArrayBuffer.isView(body2)) {
this.body = body2.buffer.byteLength ? Buffer.from(body2.buffer, body2.byteOffset, body2.byteLength) : null;
} else if (body2 instanceof ArrayBuffer) {
this.body = body2.byteLength ? Buffer.from(body2) : null;
} else if (typeof body2 === "string") {
this.body = body2.length ? Buffer.from(body2) : null;
} else if (isFormDataLike(body2) || isIterable(body2) || isBlobLike(body2)) {
this.body = body2;
} else {
throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
}
this.completed = false;
this.aborted = false;
this.upgrade = upgrade || null;
this.path = query ? serializePathWithQuery(path101, query) : path101;
this.origin = origin;
this.protocol = getProtocolFromUrlString(origin);
this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
this.blocking = blocking ?? this.method !== "HEAD";
this.reset = reset2 == null ? null : reset2;
this.host = null;
this.contentLength = null;
this.contentType = null;
this.headers = [];
this.expectContinue = expectContinue != null ? expectContinue : false;
if (Array.isArray(headers)) {
if (headers.length % 2 !== 0) {
throw new InvalidArgumentError("headers array must be even");
}
for (let i3 = 0; i3 < headers.length; i3 += 2) {
processHeader(this, headers[i3], headers[i3 + 1]);
}
} else if (headers && typeof headers === "object") {
if (hasSafeIterator(headers)) {
for (const header of headers) {
if (!Array.isArray(header) || header.length !== 2) {
throw new InvalidArgumentError("headers must be in key-value pair format");
}
processHeader(this, header[0], header[1]);
}
} else {
const keys = Object.keys(headers);
for (let i3 = 0; i3 < keys.length; ++i3) {
processHeader(this, keys[i3], headers[keys[i3]]);
}
}
} else if (headers != null) {
throw new InvalidArgumentError("headers must be an object or an array");
}
assertRequestHandler(handler, method, upgrade);
this.servername = servername || getServerName(this.host) || null;
this[kHandler] = handler;
if (channels.create.hasSubscribers) {
channels.create.publish({ request: this });
}
}
onBodySent(chunk) {
if (channels.bodyChunkSent.hasSubscribers) {
channels.bodyChunkSent.publish({ request: this, chunk });
}
if (this[kHandler].onBodySent) {
try {
return this[kHandler].onBodySent(chunk);
} catch (err2) {
this.abort(err2);
}
}
}
onRequestSent() {
if (channels.bodySent.hasSubscribers) {
channels.bodySent.publish({ request: this });
}
if (this[kHandler].onRequestSent) {
try {
return this[kHandler].onRequestSent();
} catch (err2) {
this.abort(err2);
}
}
}
onConnect(abort2) {
assert3(!this.aborted);
assert3(!this.completed);
if (this.error) {
abort2(this.error);
} else {
this.abort = abort2;
return this[kHandler].onConnect(abort2);
}
}
onResponseStarted() {
return this[kHandler].onResponseStarted?.();
}
onHeaders(statusCode, headers, resume, statusText) {
assert3(!this.aborted);
assert3(!this.completed);
if (channels.headers.hasSubscribers) {
channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
}
try {
return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
} catch (err2) {
this.abort(err2);
}
}
onData(chunk) {
assert3(!this.aborted);
assert3(!this.completed);
if (channels.bodyChunkReceived.hasSubscribers) {
channels.bodyChunkReceived.publish({ request: this, chunk });
}
try {
return this[kHandler].onData(chunk);
} catch (err2) {
this.abort(err2);
return false;
}
}
onUpgrade(statusCode, headers, socket) {
assert3(!this.aborted);
assert3(!this.completed);
return this[kHandler].onUpgrade(statusCode, headers, socket);
}
onComplete(trailers) {
this.onFinally();
assert3(!this.aborted);
assert3(!this.completed);
this.completed = true;
if (channels.trailers.hasSubscribers) {
channels.trailers.publish({ request: this, trailers });
}
try {
return this[kHandler].onComplete(trailers);
} catch (err2) {
this.onError(err2);
}
}
onError(error40) {
this.onFinally();
if (channels.error.hasSubscribers) {
channels.error.publish({ request: this, error: error40 });
}
if (this.aborted) {
return;
}
this.aborted = true;
return this[kHandler].onError(error40);
}
onFinally() {
if (this.errorHandler) {
this.body.off("error", this.errorHandler);
this.errorHandler = null;
}
if (this.endHandler) {
this.body.off("end", this.endHandler);
this.endHandler = null;
}
}
addHeader(key, value) {
processHeader(this, key, value);
return this;
}
};
function processHeader(request, key, val) {
if (val && (typeof val === "object" && !Array.isArray(val))) {
throw new InvalidArgumentError(`invalid ${key} header`);
} else if (val === void 0) {
return;
}
let headerName = headerNameLowerCasedRecord[key];
if (headerName === void 0) {
headerName = key.toLowerCase();
if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken(headerName)) {
throw new InvalidArgumentError("invalid header key");
}
}
if (Array.isArray(val)) {
const arr = [];
for (let i3 = 0; i3 < val.length; i3++) {
if (typeof val[i3] === "string") {
if (!isValidHeaderValue(val[i3])) {
throw new InvalidArgumentError(`invalid ${key} header`);
}
arr.push(val[i3]);
} else if (val[i3] === null) {
arr.push("");
} else if (typeof val[i3] === "object") {
throw new InvalidArgumentError(`invalid ${key} header`);
} else {
arr.push(`${val[i3]}`);
}
}
val = arr;
} else if (typeof val === "string") {
if (!isValidHeaderValue(val)) {
throw new InvalidArgumentError(`invalid ${key} header`);
}
} else if (val === null) {
val = "";
} else {
val = `${val}`;
}
if (headerName === "host") {
if (request.host !== null) {
throw new InvalidArgumentError("duplicate host header");
}
if (typeof val !== "string") {
throw new InvalidArgumentError("invalid host header");
}
request.host = val;
} else if (headerName === "content-length") {
if (request.contentLength !== null) {
throw new InvalidArgumentError("duplicate content-length header");
}
request.contentLength = parseInt(val, 10);
if (!Number.isFinite(request.contentLength)) {
throw new InvalidArgumentError("invalid content-length header");
}
} else if (request.contentType === null && headerName === "content-type") {
request.contentType = val;
request.headers.push(key, val);
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
throw new InvalidArgumentError(`invalid ${headerName} header`);
} else if (headerName === "connection") {
const value = typeof val === "string" ? val.toLowerCase() : null;
if (value !== "close" && value !== "keep-alive") {
throw new InvalidArgumentError("invalid connection header");
}
if (value === "close") {
request.reset = true;
}
} else if (headerName === "expect") {
throw new NotSupportedError("expect header not supported");
} else {
request.headers.push(key, val);
}
}
module2.exports = Request;
}
});
// node_modules/undici/lib/handler/wrap-handler.js
var require_wrap_handler = __commonJS({
"node_modules/undici/lib/handler/wrap-handler.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError } = require_errors4();
module2.exports = class WrapHandler {
#handler;
constructor(handler) {
this.#handler = handler;
}
static wrap(handler) {
return handler.onRequestStart ? handler : new WrapHandler(handler);
}
// Unwrap Interface
onConnect(abort2, context2) {
return this.#handler.onConnect?.(abort2, context2);
}
onResponseStarted() {
return this.#handler.onResponseStarted?.();
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage);
}
onUpgrade(statusCode, rawHeaders, socket) {
return this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
}
onData(data) {
return this.#handler.onData?.(data);
}
onComplete(trailers) {
return this.#handler.onComplete?.(trailers);
}
onError(err2) {
if (!this.#handler.onError) {
throw err2;
}
return this.#handler.onError?.(err2);
}
// Wrap Interface
onRequestStart(controller, context2) {
this.#handler.onConnect?.((reason) => controller.abort(reason), context2);
}
onRequestUpgrade(controller, statusCode, headers, socket) {
const rawHeaders = [];
for (const [key, val] of Object.entries(headers)) {
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
const rawHeaders = [];
for (const [key, val] of Object.entries(headers)) {
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
controller.pause();
}
}
onResponseData(controller, data) {
if (this.#handler.onData?.(data) === false) {
controller.pause();
}
}
onResponseEnd(controller, trailers) {
const rawTrailers = [];
for (const [key, val] of Object.entries(trailers)) {
rawTrailers.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
this.#handler.onComplete?.(rawTrailers);
}
onResponseError(controller, err2) {
if (!this.#handler.onError) {
throw new InvalidArgumentError("invalid onError method");
}
this.#handler.onError?.(err2);
}
};
function toRawHeaderValue(value) {
return Array.isArray(value) ? value.map((item) => Buffer.from(item, "latin1")) : Buffer.from(value, "latin1");
}
}
});
// node_modules/undici/lib/dispatcher/dispatcher.js
var require_dispatcher = __commonJS({
"node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
"use strict";
var EventEmitter14 = __require("node:events");
var WrapHandler = require_wrap_handler();
var wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler.wrap(handler));
var Dispatcher = class extends EventEmitter14 {
dispatch() {
throw new Error("not implemented");
}
close() {
throw new Error("not implemented");
}
destroy() {
throw new Error("not implemented");
}
compose(...args2) {
const interceptors = Array.isArray(args2[0]) ? args2[0] : args2;
let dispatch = this.dispatch.bind(this);
for (const interceptor of interceptors) {
if (interceptor == null) {
continue;
}
if (typeof interceptor !== "function") {
throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
}
dispatch = interceptor(dispatch);
dispatch = wrapInterceptor(dispatch);
if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
throw new TypeError("invalid interceptor");
}
}
return new Proxy(this, {
get: (target, key) => key === "dispatch" ? dispatch : target[key]
});
}
};
module2.exports = Dispatcher;
}
});
// node_modules/undici/lib/handler/unwrap-handler.js
var require_unwrap_handler = __commonJS({
"node_modules/undici/lib/handler/unwrap-handler.js"(exports2, module2) {
"use strict";
var { parseHeaders } = require_util13();
var { InvalidArgumentError } = require_errors4();
var kResume = Symbol("resume");
var UnwrapController = class {
#paused = false;
#reason = null;
#aborted = false;
#abort;
[kResume] = null;
constructor(abort2) {
this.#abort = abort2;
}
pause() {
this.#paused = true;
}
resume() {
if (this.#paused) {
this.#paused = false;
this[kResume]?.();
}
}
abort(reason) {
if (!this.#aborted) {
this.#aborted = true;
this.#reason = reason;
this.#abort(reason);
}
}
get aborted() {
return this.#aborted;
}
get reason() {
return this.#reason;
}
get paused() {
return this.#paused;
}
};
module2.exports = class UnwrapHandler {
#handler;
#controller;
constructor(handler) {
this.#handler = handler;
}
static unwrap(handler) {
return !handler.onRequestStart ? handler : new UnwrapHandler(handler);
}
onConnect(abort2, context2) {
this.#controller = new UnwrapController(abort2);
this.#handler.onRequestStart?.(this.#controller, context2);
}
onResponseStarted() {
return this.#handler.onResponseStarted?.();
}
onUpgrade(statusCode, rawHeaders, socket) {
this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
this.#controller[kResume] = resume;
this.#handler.onResponseStart?.(this.#controller, statusCode, parseHeaders(rawHeaders), statusMessage);
return !this.#controller.paused;
}
onData(data) {
this.#handler.onResponseData?.(this.#controller, data);
return !this.#controller.paused;
}
onComplete(rawTrailers) {
this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers));
}
onError(err2) {
if (!this.#handler.onResponseError) {
throw new InvalidArgumentError("invalid onError method");
}
this.#handler.onResponseError?.(this.#controller, err2);
}
};
}
});
// node_modules/undici/lib/dispatcher/dispatcher-base.js
var require_dispatcher_base = __commonJS({
"node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
"use strict";
var Dispatcher = require_dispatcher();
var UnwrapHandler = require_unwrap_handler();
var {
ClientDestroyedError,
ClientClosedError,
InvalidArgumentError
} = require_errors4();
var { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require_symbols();
var kOnDestroyed = Symbol("onDestroyed");
var kOnClosed = Symbol("onClosed");
var DispatcherBase = class extends Dispatcher {
/** @type {boolean} */
[kDestroyed] = false;
/** @type {Array<Function|null} */
[kOnDestroyed] = null;
/** @type {boolean} */
[kClosed] = false;
/** @type {Array<Function>|null} */
[kOnClosed] = null;
/** @returns {boolean} */
get destroyed() {
return this[kDestroyed];
}
/** @returns {boolean} */
get closed() {
return this[kClosed];
}
close(callback) {
if (callback === void 0) {
return new Promise((resolve25, reject) => {
this.close((err2, data) => {
return err2 ? reject(err2) : resolve25(data);
});
});
}
if (typeof callback !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (this[kDestroyed]) {
const err2 = new ClientDestroyedError();
queueMicrotask(() => callback(err2, null));
return;
}
if (this[kClosed]) {
if (this[kOnClosed]) {
this[kOnClosed].push(callback);
} else {
queueMicrotask(() => callback(null, null));
}
return;
}
this[kClosed] = true;
this[kOnClosed] ??= [];
this[kOnClosed].push(callback);
const onClosed = () => {
const callbacks = this[kOnClosed];
this[kOnClosed] = null;
for (let i3 = 0; i3 < callbacks.length; i3++) {
callbacks[i3](null, null);
}
};
this[kClose]().then(() => this.destroy()).then(() => queueMicrotask(onClosed));
}
destroy(err2, callback) {
if (typeof err2 === "function") {
callback = err2;
err2 = null;
}
if (callback === void 0) {
return new Promise((resolve25, reject) => {
this.destroy(err2, (err3, data) => {
return err3 ? reject(err3) : resolve25(data);
});
});
}
if (typeof callback !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (this[kDestroyed]) {
if (this[kOnDestroyed]) {
this[kOnDestroyed].push(callback);
} else {
queueMicrotask(() => callback(null, null));
}
return;
}
if (!err2) {
err2 = new ClientDestroyedError();
}
this[kDestroyed] = true;
this[kOnDestroyed] ??= [];
this[kOnDestroyed].push(callback);
const onDestroyed = () => {
const callbacks = this[kOnDestroyed];
this[kOnDestroyed] = null;
for (let i3 = 0; i3 < callbacks.length; i3++) {
callbacks[i3](null, null);
}
};
this[kDestroy](err2).then(() => queueMicrotask(onDestroyed));
}
dispatch(opts, handler) {
if (!handler || typeof handler !== "object") {
throw new InvalidArgumentError("handler must be an object");
}
handler = UnwrapHandler.unwrap(handler);
try {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError("opts must be an object.");
}
if (this[kDestroyed] || this[kOnDestroyed]) {
throw new ClientDestroyedError();
}
if (this[kClosed]) {
throw new ClientClosedError();
}
return this[kDispatch](opts, handler);
} catch (err2) {
if (typeof handler.onError !== "function") {
throw err2;
}
handler.onError(err2);
return false;
}
}
};
module2.exports = DispatcherBase;
}
});
// node_modules/undici/lib/core/connect.js
var require_connect = __commonJS({
"node_modules/undici/lib/core/connect.js"(exports2, module2) {
"use strict";
var net2 = __require("node:net");
var assert3 = __require("node:assert");
var util2 = require_util13();
var { InvalidArgumentError } = require_errors4();
var tls;
var SessionCache = class WeakSessionCache {
constructor(maxCachedSessions) {
this._maxCachedSessions = maxCachedSessions;
this._sessionCache = /* @__PURE__ */ new Map();
this._sessionRegistry = new FinalizationRegistry((key) => {
if (this._sessionCache.size < this._maxCachedSessions) {
return;
}
const ref = this._sessionCache.get(key);
if (ref !== void 0 && ref.deref() === void 0) {
this._sessionCache.delete(key);
}
});
}
get(sessionKey) {
const ref = this._sessionCache.get(sessionKey);
return ref ? ref.deref() : null;
}
set(sessionKey, session) {
if (this._maxCachedSessions === 0) {
return;
}
this._sessionCache.set(sessionKey, new WeakRef(session));
this._sessionRegistry.register(session, sessionKey);
}
};
function buildConnector({ allowH2, useH2c, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
}
const options = { path: socketPath, ...opts };
const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
timeout = timeout == null ? 1e4 : timeout;
allowH2 = allowH2 != null ? allowH2 : false;
return function connect({ hostname: hostname3, host, protocol, port, servername, localAddress, httpSocket }, callback) {
let socket;
if (protocol === "https:") {
if (!tls) {
tls = __require("node:tls");
}
servername = servername || options.servername || util2.getServerName(host) || null;
const sessionKey = servername || hostname3;
assert3(sessionKey);
const session = customSession || sessionCache.get(sessionKey) || null;
port = port || 443;
socket = tls.connect({
highWaterMark: 16384,
// TLS in node can't have bigger HWM anyway...
...options,
servername,
session,
localAddress,
ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
socket: httpSocket,
// upgrade socket connection
port,
host: hostname3
});
socket.on("session", function(session2) {
sessionCache.set(sessionKey, session2);
});
} else {
assert3(!httpSocket, "httpSocket can only be sent on TLS update");
port = port || 80;
socket = net2.connect({
highWaterMark: 64 * 1024,
// Same as nodejs fs streams.
...options,
localAddress,
port,
host: hostname3
});
if (useH2c === true) {
socket.alpnProtocol = "h2";
}
}
if (options.keepAlive == null || options.keepAlive) {
const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
socket.setKeepAlive(true, keepAliveInitialDelay);
}
const clearConnectTimeout = util2.setupConnectTimeout(new WeakRef(socket), { timeout, hostname: hostname3, port });
socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
queueMicrotask(clearConnectTimeout);
if (callback) {
const cb = callback;
callback = null;
cb(null, this);
}
}).on("error", function(err2) {
queueMicrotask(clearConnectTimeout);
if (callback) {
const cb = callback;
callback = null;
cb(err2);
}
});
return socket;
};
}
module2.exports = buildConnector;
}
});
// node_modules/undici/lib/llhttp/utils.js
var require_utils15 = __commonJS({
"node_modules/undici/lib/llhttp/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.enumToMap = enumToMap;
function enumToMap(obj, filter4 = [], exceptions = []) {
const emptyFilter = (filter4?.length ?? 0) === 0;
const emptyExceptions = (exceptions?.length ?? 0) === 0;
return Object.fromEntries(Object.entries(obj).filter(([, value]) => {
return typeof value === "number" && (emptyFilter || filter4.includes(value)) && (emptyExceptions || !exceptions.includes(value));
}));
}
}
});
// node_modules/undici/lib/llhttp/constants.js
var require_constants5 = __commonJS({
"node_modules/undici/lib/llhttp/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SPECIAL_HEADERS = exports2.MINOR = exports2.MAJOR = exports2.HTAB_SP_VCHAR_OBS_TEXT = exports2.QUOTED_STRING = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.STATUSES_HTTP = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.HEADER_STATE = exports2.FINISH = exports2.STATUSES = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
var utils_1 = require_utils15();
exports2.ERROR = {
OK: 0,
INTERNAL: 1,
STRICT: 2,
CR_EXPECTED: 25,
LF_EXPECTED: 3,
UNEXPECTED_CONTENT_LENGTH: 4,
UNEXPECTED_SPACE: 30,
CLOSED_CONNECTION: 5,
INVALID_METHOD: 6,
INVALID_URL: 7,
INVALID_CONSTANT: 8,
INVALID_VERSION: 9,
INVALID_HEADER_TOKEN: 10,
INVALID_CONTENT_LENGTH: 11,
INVALID_CHUNK_SIZE: 12,
INVALID_STATUS: 13,
INVALID_EOF_STATE: 14,
INVALID_TRANSFER_ENCODING: 15,
CB_MESSAGE_BEGIN: 16,
CB_HEADERS_COMPLETE: 17,
CB_MESSAGE_COMPLETE: 18,
CB_CHUNK_HEADER: 19,
CB_CHUNK_COMPLETE: 20,
PAUSED: 21,
PAUSED_UPGRADE: 22,
PAUSED_H2_UPGRADE: 23,
USER: 24,
CB_URL_COMPLETE: 26,
CB_STATUS_COMPLETE: 27,
CB_METHOD_COMPLETE: 32,
CB_VERSION_COMPLETE: 33,
CB_HEADER_FIELD_COMPLETE: 28,
CB_HEADER_VALUE_COMPLETE: 29,
CB_CHUNK_EXTENSION_NAME_COMPLETE: 34,
CB_CHUNK_EXTENSION_VALUE_COMPLETE: 35,
CB_RESET: 31,
CB_PROTOCOL_COMPLETE: 38
};
exports2.TYPE = {
BOTH: 0,
// default
REQUEST: 1,
RESPONSE: 2
};
exports2.FLAGS = {
CONNECTION_KEEP_ALIVE: 1 << 0,
CONNECTION_CLOSE: 1 << 1,
CONNECTION_UPGRADE: 1 << 2,
CHUNKED: 1 << 3,
UPGRADE: 1 << 4,
CONTENT_LENGTH: 1 << 5,
SKIPBODY: 1 << 6,
TRAILING: 1 << 7,
// 1 << 8 is unused
TRANSFER_ENCODING: 1 << 9
};
exports2.LENIENT_FLAGS = {
HEADERS: 1 << 0,
CHUNKED_LENGTH: 1 << 1,
KEEP_ALIVE: 1 << 2,
TRANSFER_ENCODING: 1 << 3,
VERSION: 1 << 4,
DATA_AFTER_CLOSE: 1 << 5,
OPTIONAL_LF_AFTER_CR: 1 << 6,
OPTIONAL_CRLF_AFTER_CHUNK: 1 << 7,
OPTIONAL_CR_BEFORE_LF: 1 << 8,
SPACES_AFTER_CHUNK_SIZE: 1 << 9
};
exports2.METHODS = {
"DELETE": 0,
"GET": 1,
"HEAD": 2,
"POST": 3,
"PUT": 4,
/* pathological */
"CONNECT": 5,
"OPTIONS": 6,
"TRACE": 7,
/* WebDAV */
"COPY": 8,
"LOCK": 9,
"MKCOL": 10,
"MOVE": 11,
"PROPFIND": 12,
"PROPPATCH": 13,
"SEARCH": 14,
"UNLOCK": 15,
"BIND": 16,
"REBIND": 17,
"UNBIND": 18,
"ACL": 19,
/* subversion */
"REPORT": 20,
"MKACTIVITY": 21,
"CHECKOUT": 22,
"MERGE": 23,
/* upnp */
"M-SEARCH": 24,
"NOTIFY": 25,
"SUBSCRIBE": 26,
"UNSUBSCRIBE": 27,
/* RFC-5789 */
"PATCH": 28,
"PURGE": 29,
/* CalDAV */
"MKCALENDAR": 30,
/* RFC-2068, section 19.6.1.2 */
"LINK": 31,
"UNLINK": 32,
/* icecast */
"SOURCE": 33,
/* RFC-7540, section 11.6 */
"PRI": 34,
/* RFC-2326 RTSP */
"DESCRIBE": 35,
"ANNOUNCE": 36,
"SETUP": 37,
"PLAY": 38,
"PAUSE": 39,
"TEARDOWN": 40,
"GET_PARAMETER": 41,
"SET_PARAMETER": 42,
"REDIRECT": 43,
"RECORD": 44,
/* RAOP */
"FLUSH": 45,
/* DRAFT https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html */
"QUERY": 46
};
exports2.STATUSES = {
CONTINUE: 100,
SWITCHING_PROTOCOLS: 101,
PROCESSING: 102,
EARLY_HINTS: 103,
RESPONSE_IS_STALE: 110,
// Unofficial
REVALIDATION_FAILED: 111,
// Unofficial
DISCONNECTED_OPERATION: 112,
// Unofficial
HEURISTIC_EXPIRATION: 113,
// Unofficial
MISCELLANEOUS_WARNING: 199,
// Unofficial
OK: 200,
CREATED: 201,
ACCEPTED: 202,
NON_AUTHORITATIVE_INFORMATION: 203,
NO_CONTENT: 204,
RESET_CONTENT: 205,
PARTIAL_CONTENT: 206,
MULTI_STATUS: 207,
ALREADY_REPORTED: 208,
TRANSFORMATION_APPLIED: 214,
// Unofficial
IM_USED: 226,
MISCELLANEOUS_PERSISTENT_WARNING: 299,
// Unofficial
MULTIPLE_CHOICES: 300,
MOVED_PERMANENTLY: 301,
FOUND: 302,
SEE_OTHER: 303,
NOT_MODIFIED: 304,
USE_PROXY: 305,
SWITCH_PROXY: 306,
// No longer used
TEMPORARY_REDIRECT: 307,
PERMANENT_REDIRECT: 308,
BAD_REQUEST: 400,
UNAUTHORIZED: 401,
PAYMENT_REQUIRED: 402,
FORBIDDEN: 403,
NOT_FOUND: 404,
METHOD_NOT_ALLOWED: 405,
NOT_ACCEPTABLE: 406,
PROXY_AUTHENTICATION_REQUIRED: 407,
REQUEST_TIMEOUT: 408,
CONFLICT: 409,
GONE: 410,
LENGTH_REQUIRED: 411,
PRECONDITION_FAILED: 412,
PAYLOAD_TOO_LARGE: 413,
URI_TOO_LONG: 414,
UNSUPPORTED_MEDIA_TYPE: 415,
RANGE_NOT_SATISFIABLE: 416,
EXPECTATION_FAILED: 417,
IM_A_TEAPOT: 418,
PAGE_EXPIRED: 419,
// Unofficial
ENHANCE_YOUR_CALM: 420,
// Unofficial
MISDIRECTED_REQUEST: 421,
UNPROCESSABLE_ENTITY: 422,
LOCKED: 423,
FAILED_DEPENDENCY: 424,
TOO_EARLY: 425,
UPGRADE_REQUIRED: 426,
PRECONDITION_REQUIRED: 428,
TOO_MANY_REQUESTS: 429,
REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL: 430,
// Unofficial
REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
LOGIN_TIMEOUT: 440,
// Unofficial
NO_RESPONSE: 444,
// Unofficial
RETRY_WITH: 449,
// Unofficial
BLOCKED_BY_PARENTAL_CONTROL: 450,
// Unofficial
UNAVAILABLE_FOR_LEGAL_REASONS: 451,
CLIENT_CLOSED_LOAD_BALANCED_REQUEST: 460,
// Unofficial
INVALID_X_FORWARDED_FOR: 463,
// Unofficial
REQUEST_HEADER_TOO_LARGE: 494,
// Unofficial
SSL_CERTIFICATE_ERROR: 495,
// Unofficial
SSL_CERTIFICATE_REQUIRED: 496,
// Unofficial
HTTP_REQUEST_SENT_TO_HTTPS_PORT: 497,
// Unofficial
INVALID_TOKEN: 498,
// Unofficial
CLIENT_CLOSED_REQUEST: 499,
// Unofficial
INTERNAL_SERVER_ERROR: 500,
NOT_IMPLEMENTED: 501,
BAD_GATEWAY: 502,
SERVICE_UNAVAILABLE: 503,
GATEWAY_TIMEOUT: 504,
HTTP_VERSION_NOT_SUPPORTED: 505,
VARIANT_ALSO_NEGOTIATES: 506,
INSUFFICIENT_STORAGE: 507,
LOOP_DETECTED: 508,
BANDWIDTH_LIMIT_EXCEEDED: 509,
NOT_EXTENDED: 510,
NETWORK_AUTHENTICATION_REQUIRED: 511,
WEB_SERVER_UNKNOWN_ERROR: 520,
// Unofficial
WEB_SERVER_IS_DOWN: 521,
// Unofficial
CONNECTION_TIMEOUT: 522,
// Unofficial
ORIGIN_IS_UNREACHABLE: 523,
// Unofficial
TIMEOUT_OCCURED: 524,
// Unofficial
SSL_HANDSHAKE_FAILED: 525,
// Unofficial
INVALID_SSL_CERTIFICATE: 526,
// Unofficial
RAILGUN_ERROR: 527,
// Unofficial
SITE_IS_OVERLOADED: 529,
// Unofficial
SITE_IS_FROZEN: 530,
// Unofficial
IDENTITY_PROVIDER_AUTHENTICATION_ERROR: 561,
// Unofficial
NETWORK_READ_TIMEOUT: 598,
// Unofficial
NETWORK_CONNECT_TIMEOUT: 599
// Unofficial
};
exports2.FINISH = {
SAFE: 0,
SAFE_WITH_CB: 1,
UNSAFE: 2
};
exports2.HEADER_STATE = {
GENERAL: 0,
CONNECTION: 1,
CONTENT_LENGTH: 2,
TRANSFER_ENCODING: 3,
UPGRADE: 4,
CONNECTION_KEEP_ALIVE: 5,
CONNECTION_CLOSE: 6,
CONNECTION_UPGRADE: 7,
TRANSFER_ENCODING_CHUNKED: 8
};
exports2.METHODS_HTTP = [
exports2.METHODS.DELETE,
exports2.METHODS.GET,
exports2.METHODS.HEAD,
exports2.METHODS.POST,
exports2.METHODS.PUT,
exports2.METHODS.CONNECT,
exports2.METHODS.OPTIONS,
exports2.METHODS.TRACE,
exports2.METHODS.COPY,
exports2.METHODS.LOCK,
exports2.METHODS.MKCOL,
exports2.METHODS.MOVE,
exports2.METHODS.PROPFIND,
exports2.METHODS.PROPPATCH,
exports2.METHODS.SEARCH,
exports2.METHODS.UNLOCK,
exports2.METHODS.BIND,
exports2.METHODS.REBIND,
exports2.METHODS.UNBIND,
exports2.METHODS.ACL,
exports2.METHODS.REPORT,
exports2.METHODS.MKACTIVITY,
exports2.METHODS.CHECKOUT,
exports2.METHODS.MERGE,
exports2.METHODS["M-SEARCH"],
exports2.METHODS.NOTIFY,
exports2.METHODS.SUBSCRIBE,
exports2.METHODS.UNSUBSCRIBE,
exports2.METHODS.PATCH,
exports2.METHODS.PURGE,
exports2.METHODS.MKCALENDAR,
exports2.METHODS.LINK,
exports2.METHODS.UNLINK,
exports2.METHODS.PRI,
// TODO(indutny): should we allow it with HTTP?
exports2.METHODS.SOURCE,
exports2.METHODS.QUERY
];
exports2.METHODS_ICE = [
exports2.METHODS.SOURCE
];
exports2.METHODS_RTSP = [
exports2.METHODS.OPTIONS,
exports2.METHODS.DESCRIBE,
exports2.METHODS.ANNOUNCE,
exports2.METHODS.SETUP,
exports2.METHODS.PLAY,
exports2.METHODS.PAUSE,
exports2.METHODS.TEARDOWN,
exports2.METHODS.GET_PARAMETER,
exports2.METHODS.SET_PARAMETER,
exports2.METHODS.REDIRECT,
exports2.METHODS.RECORD,
exports2.METHODS.FLUSH,
// For AirPlay
exports2.METHODS.GET,
exports2.METHODS.POST
];
exports2.METHOD_MAP = (0, utils_1.enumToMap)(exports2.METHODS);
exports2.H_METHOD_MAP = Object.fromEntries(Object.entries(exports2.METHODS).filter(([k]) => k.startsWith("H")));
exports2.STATUSES_HTTP = [
exports2.STATUSES.CONTINUE,
exports2.STATUSES.SWITCHING_PROTOCOLS,
exports2.STATUSES.PROCESSING,
exports2.STATUSES.EARLY_HINTS,
exports2.STATUSES.RESPONSE_IS_STALE,
exports2.STATUSES.REVALIDATION_FAILED,
exports2.STATUSES.DISCONNECTED_OPERATION,
exports2.STATUSES.HEURISTIC_EXPIRATION,
exports2.STATUSES.MISCELLANEOUS_WARNING,
exports2.STATUSES.OK,
exports2.STATUSES.CREATED,
exports2.STATUSES.ACCEPTED,
exports2.STATUSES.NON_AUTHORITATIVE_INFORMATION,
exports2.STATUSES.NO_CONTENT,
exports2.STATUSES.RESET_CONTENT,
exports2.STATUSES.PARTIAL_CONTENT,
exports2.STATUSES.MULTI_STATUS,
exports2.STATUSES.ALREADY_REPORTED,
exports2.STATUSES.TRANSFORMATION_APPLIED,
exports2.STATUSES.IM_USED,
exports2.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,
exports2.STATUSES.MULTIPLE_CHOICES,
exports2.STATUSES.MOVED_PERMANENTLY,
exports2.STATUSES.FOUND,
exports2.STATUSES.SEE_OTHER,
exports2.STATUSES.NOT_MODIFIED,
exports2.STATUSES.USE_PROXY,
exports2.STATUSES.SWITCH_PROXY,
exports2.STATUSES.TEMPORARY_REDIRECT,
exports2.STATUSES.PERMANENT_REDIRECT,
exports2.STATUSES.BAD_REQUEST,
exports2.STATUSES.UNAUTHORIZED,
exports2.STATUSES.PAYMENT_REQUIRED,
exports2.STATUSES.FORBIDDEN,
exports2.STATUSES.NOT_FOUND,
exports2.STATUSES.METHOD_NOT_ALLOWED,
exports2.STATUSES.NOT_ACCEPTABLE,
exports2.STATUSES.PROXY_AUTHENTICATION_REQUIRED,
exports2.STATUSES.REQUEST_TIMEOUT,
exports2.STATUSES.CONFLICT,
exports2.STATUSES.GONE,
exports2.STATUSES.LENGTH_REQUIRED,
exports2.STATUSES.PRECONDITION_FAILED,
exports2.STATUSES.PAYLOAD_TOO_LARGE,
exports2.STATUSES.URI_TOO_LONG,
exports2.STATUSES.UNSUPPORTED_MEDIA_TYPE,
exports2.STATUSES.RANGE_NOT_SATISFIABLE,
exports2.STATUSES.EXPECTATION_FAILED,
exports2.STATUSES.IM_A_TEAPOT,
exports2.STATUSES.PAGE_EXPIRED,
exports2.STATUSES.ENHANCE_YOUR_CALM,
exports2.STATUSES.MISDIRECTED_REQUEST,
exports2.STATUSES.UNPROCESSABLE_ENTITY,
exports2.STATUSES.LOCKED,
exports2.STATUSES.FAILED_DEPENDENCY,
exports2.STATUSES.TOO_EARLY,
exports2.STATUSES.UPGRADE_REQUIRED,
exports2.STATUSES.PRECONDITION_REQUIRED,
exports2.STATUSES.TOO_MANY_REQUESTS,
exports2.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,
exports2.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,
exports2.STATUSES.LOGIN_TIMEOUT,
exports2.STATUSES.NO_RESPONSE,
exports2.STATUSES.RETRY_WITH,
exports2.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,
exports2.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,
exports2.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,
exports2.STATUSES.INVALID_X_FORWARDED_FOR,
exports2.STATUSES.REQUEST_HEADER_TOO_LARGE,
exports2.STATUSES.SSL_CERTIFICATE_ERROR,
exports2.STATUSES.SSL_CERTIFICATE_REQUIRED,
exports2.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,
exports2.STATUSES.INVALID_TOKEN,
exports2.STATUSES.CLIENT_CLOSED_REQUEST,
exports2.STATUSES.INTERNAL_SERVER_ERROR,
exports2.STATUSES.NOT_IMPLEMENTED,
exports2.STATUSES.BAD_GATEWAY,
exports2.STATUSES.SERVICE_UNAVAILABLE,
exports2.STATUSES.GATEWAY_TIMEOUT,
exports2.STATUSES.HTTP_VERSION_NOT_SUPPORTED,
exports2.STATUSES.VARIANT_ALSO_NEGOTIATES,
exports2.STATUSES.INSUFFICIENT_STORAGE,
exports2.STATUSES.LOOP_DETECTED,
exports2.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,
exports2.STATUSES.NOT_EXTENDED,
exports2.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,
exports2.STATUSES.WEB_SERVER_UNKNOWN_ERROR,
exports2.STATUSES.WEB_SERVER_IS_DOWN,
exports2.STATUSES.CONNECTION_TIMEOUT,
exports2.STATUSES.ORIGIN_IS_UNREACHABLE,
exports2.STATUSES.TIMEOUT_OCCURED,
exports2.STATUSES.SSL_HANDSHAKE_FAILED,
exports2.STATUSES.INVALID_SSL_CERTIFICATE,
exports2.STATUSES.RAILGUN_ERROR,
exports2.STATUSES.SITE_IS_OVERLOADED,
exports2.STATUSES.SITE_IS_FROZEN,
exports2.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,
exports2.STATUSES.NETWORK_READ_TIMEOUT,
exports2.STATUSES.NETWORK_CONNECT_TIMEOUT
];
exports2.ALPHA = [];
for (let i3 = "A".charCodeAt(0); i3 <= "Z".charCodeAt(0); i3++) {
exports2.ALPHA.push(String.fromCharCode(i3));
exports2.ALPHA.push(String.fromCharCode(i3 + 32));
}
exports2.NUM_MAP = {
0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6,
7: 7,
8: 8,
9: 9
};
exports2.HEX_MAP = {
0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6,
7: 7,
8: 8,
9: 9,
A: 10,
B: 11,
C: 12,
D: 13,
E: 14,
F: 15,
a: 10,
b: 11,
c: 12,
d: 13,
e: 14,
f: 15
};
exports2.NUM = [
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9"
];
exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM);
exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
exports2.URL_CHAR = [
"!",
'"',
"$",
"%",
"&",
"'",
"(",
")",
"*",
"+",
",",
"-",
".",
"/",
":",
";",
"<",
"=",
">",
"@",
"[",
"\\",
"]",
"^",
"_",
"`",
"{",
"|",
"}",
"~"
].concat(exports2.ALPHANUM);
exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
exports2.TOKEN = [
"!",
"#",
"$",
"%",
"&",
"'",
"*",
"+",
"-",
".",
"^",
"_",
"`",
"|",
"~"
].concat(exports2.ALPHANUM);
exports2.HEADER_CHARS = [" "];
for (let i3 = 32; i3 <= 255; i3++) {
if (i3 !== 127) {
exports2.HEADER_CHARS.push(i3);
}
}
exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c4) => c4 !== 44);
exports2.QUOTED_STRING = [" ", " "];
for (let i3 = 33; i3 <= 255; i3++) {
if (i3 !== 34 && i3 !== 92) {
exports2.QUOTED_STRING.push(i3);
}
}
exports2.HTAB_SP_VCHAR_OBS_TEXT = [" ", " "];
for (let i3 = 33; i3 <= 126; i3++) {
exports2.HTAB_SP_VCHAR_OBS_TEXT.push(i3);
}
for (let i3 = 128; i3 <= 255; i3++) {
exports2.HTAB_SP_VCHAR_OBS_TEXT.push(i3);
}
exports2.MAJOR = exports2.NUM_MAP;
exports2.MINOR = exports2.MAJOR;
exports2.SPECIAL_HEADERS = {
"connection": exports2.HEADER_STATE.CONNECTION,
"content-length": exports2.HEADER_STATE.CONTENT_LENGTH,
"proxy-connection": exports2.HEADER_STATE.CONNECTION,
"transfer-encoding": exports2.HEADER_STATE.TRANSFER_ENCODING,
"upgrade": exports2.HEADER_STATE.UPGRADE
};
exports2.default = {
ERROR: exports2.ERROR,
TYPE: exports2.TYPE,
FLAGS: exports2.FLAGS,
LENIENT_FLAGS: exports2.LENIENT_FLAGS,
METHODS: exports2.METHODS,
STATUSES: exports2.STATUSES,
FINISH: exports2.FINISH,
HEADER_STATE: exports2.HEADER_STATE,
ALPHA: exports2.ALPHA,
NUM_MAP: exports2.NUM_MAP,
HEX_MAP: exports2.HEX_MAP,
NUM: exports2.NUM,
ALPHANUM: exports2.ALPHANUM,
MARK: exports2.MARK,
USERINFO_CHARS: exports2.USERINFO_CHARS,
URL_CHAR: exports2.URL_CHAR,
HEX: exports2.HEX,
TOKEN: exports2.TOKEN,
HEADER_CHARS: exports2.HEADER_CHARS,
CONNECTION_TOKEN_CHARS: exports2.CONNECTION_TOKEN_CHARS,
QUOTED_STRING: exports2.QUOTED_STRING,
HTAB_SP_VCHAR_OBS_TEXT: exports2.HTAB_SP_VCHAR_OBS_TEXT,
MAJOR: exports2.MAJOR,
MINOR: exports2.MINOR,
SPECIAL_HEADERS: exports2.SPECIAL_HEADERS,
METHODS_HTTP: exports2.METHODS_HTTP,
METHODS_ICE: exports2.METHODS_ICE,
METHODS_RTSP: exports2.METHODS_RTSP,
METHOD_MAP: exports2.METHOD_MAP,
H_METHOD_MAP: exports2.H_METHOD_MAP,
STATUSES_HTTP: exports2.STATUSES_HTTP
};
}
});
// node_modules/undici/lib/llhttp/llhttp-wasm.js
var require_llhttp_wasm = __commonJS({
"node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer6 } = __require("node:buffer");
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCq/ZAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQJrDvwBAfkBAgMEBQYHCAkKCwwNDg8QERL4ARP3ARQV9gEWF/UBGBkaGxwdHh8g/QH7ASH0ASIjJCUmJygpKivzASwtLi8wMTLyAfEBMzTwAe8BNTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5P+gFQUVJT7gHtAVTsAVXrAVZXWFla6gFbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHpAegBzwHnAdAB5gHRAdIB0wHUAeUB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMBAPwBC0EADOMBC0EODOIBC0ENDOEBC0EPDOABC0EQDN8BC0ETDN4BC0EUDN0BC0EVDNwBC0EWDNsBC0EXDNoBC0EYDNkBC0EZDNgBC0EaDNcBC0EbDNYBC0EcDNUBC0EdDNQBC0EeDNMBC0EfDNIBC0EgDNEBC0EhDNABC0EIDM8BC0EiDM4BC0EkDM0BC0EjDMwBC0EHDMsBC0ElDMoBC0EmDMkBC0EnDMgBC0EoDMcBC0ESDMYBC0ERDMUBC0EpDMQBC0EqDMMBC0ErDMIBC0EsDMEBC0HeAQzAAQtBLgy/AQtBLwy+AQtBMAy9AQtBMQy8AQtBMgy7AQtBMwy6AQtBNAy5AQtB3wEMuAELQTUMtwELQTkMtgELQQwMtQELQTYMtAELQTcMswELQTgMsgELQT4MsQELQToMsAELQeABDK8BC0ELDK4BC0E/DK0BC0E7DKwBC0EKDKsBC0E8DKoBC0E9DKkBC0HhAQyoAQtBwQAMpwELQcAADKYBC0HCAAylAQtBCQykAQtBLQyjAQtBwwAMogELQcQADKEBC0HFAAygAQtBxgAMnwELQccADJ4BC0HIAAydAQtByQAMnAELQcoADJsBC0HLAAyaAQtBzAAMmQELQc0ADJgBC0HOAAyXAQtBzwAMlgELQdAADJUBC0HRAAyUAQtB0gAMkwELQdMADJIBC0HVAAyRAQtB1AAMkAELQdYADI8BC0HXAAyOAQtB2AAMjQELQdkADIwBC0HaAAyLAQtB2wAMigELQdwADIkBC0HdAAyIAQtB3gAMhwELQd8ADIYBC0HgAAyFAQtB4QAMhAELQeIADIMBC0HjAAyCAQtB5AAMgQELQeUADIABC0HiAQx/C0HmAAx+C0HnAAx9C0EGDHwLQegADHsLQQUMegtB6QAMeQtBBAx4C0HqAAx3C0HrAAx2C0HsAAx1C0HtAAx0C0EDDHMLQe4ADHILQe8ADHELQfAADHALQfIADG8LQfEADG4LQfMADG0LQfQADGwLQfUADGsLQfYADGoLQQIMaQtB9wAMaAtB+AAMZwtB+QAMZgtB+gAMZQtB+wAMZAtB/AAMYwtB/QAMYgtB/gAMYQtB/wAMYAtBgAEMXwtBgQEMXgtBggEMXQtBgwEMXAtBhAEMWwtBhQEMWgtBhgEMWQtBhwEMWAtBiAEMVwtBiQEMVgtBigEMVQtBiwEMVAtBjAEMUwtBjQEMUgtBjgEMUQtBjwEMUAtBkAEMTwtBkQEMTgtBkgEMTQtBkwEMTAtBlAEMSwtBlQEMSgtBlgEMSQtBlwEMSAtBmAEMRwtBmQEMRgtBmgEMRQtBmwEMRAtBnAEMQwtBnQEMQgtBngEMQQtBnwEMQAtBoAEMPwtBoQEMPgtBogEMPQtBowEMPAtBpAEMOwtBpQEMOgtBpgEMOQtBpwEMOAtBqAEMNwtBqQEMNgtBqgEMNQtBqwEMNAtBrAEMMwtBrQEMMgtBrgEMMQtBrwEMMAtBsAEMLwtBsQEMLgtBsgEMLQtBswEMLAtBtAEMKwtBtQEMKgtBtgEMKQtBtwEMKAtBuAEMJwtBuQEMJgtBugEMJQtBuwEMJAtBvAEMIwtBvQEMIgtBvgEMIQtBvwEMIAtBwAEMHwtBwQEMHgtBwgEMHQtBAQwcC0HDAQwbC0HEAQwaC0HFAQwZC0HGAQwYC0HHAQwXC0HIAQwWC0HJAQwVC0HKAQwUC0HLAQwTC0HMAQwSC0HNAQwRC0HOAQwQC0HPAQwPC0HQAQwOC0HRAQwNC0HSAQwMC0HTAQwLC0HUAQwKC0HVAQwJC0HWAQwIC0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAg7jAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEjJCUnKCmeA5sDmgORA4oDgwOAA/0C+wL4AvIC8QLvAu0C6ALnAuYC5QLkAtwC2wLaAtkC2ALXAtYC1QLPAs4CzALLAsoCyQLIAscCxgLEAsMCvgK8AroCuQK4ArcCtgK1ArQCswKyArECsAKuAq0CqQKoAqcCpgKlAqQCowKiAqECoAKfApgCkAKMAosCigKBAv4B/QH8AfsB+gH5AfgB9wH1AfMB8AHrAekB6AHnAeYB5QHkAeMB4gHhAeAB3wHeAd0B3AHaAdkB2AHXAdYB1QHUAdMB0gHRAdABzwHOAc0BzAHLAcoByQHIAccBxgHFAcQBwwHCAcEBwAG/Ab4BvQG8AbsBugG5AbgBtwG2AbUBtAGzAbIBsQGwAa8BrgGtAawBqwGqAakBqAGnAaYBpQGkAaMBogGfAZ4BmQGYAZcBlgGVAZQBkwGSAZEBkAGPAY0BjAGHAYYBhQGEAYMBggF9fHt6eXZ1dFBRUlNUVQsgASAERw1yQf0BIQIMvgMLIAEgBEcNmAFB2wEhAgy9AwsgASAERw3xAUGOASECDLwDCyABIARHDfwBQYQBIQIMuwMLIAEgBEcNigJB/wAhAgy6AwsgASAERw2RAkH9ACECDLkDCyABIARHDZQCQfsAIQIMuAMLIAEgBEcNHkEeIQIMtwMLIAEgBEcNGUEYIQIMtgMLIAEgBEcNygJBzQAhAgy1AwsgASAERw3VAkHGACECDLQDCyABIARHDdYCQcMAIQIMswMLIAEgBEcN3AJBOCECDLIDCyADLQAwQQFGDa0DDIkDC0EAIQACQAJAAkAgAy0AKkUNACADLQArRQ0AIAMvATIiAkECcUUNAQwCCyADLwEyIgJBAXFFDQELQQEhACADLQAoQQFGDQAgAy8BNCIGQeQAa0HkAEkNACAGQcwBRg0AIAZBsAJGDQAgAkHAAHENAEEAIQAgAkGIBHFBgARGDQAgAkEocUEARyEACyADQQA7ATIgA0EAOgAxAkAgAEUEQCADQQA6ADEgAy0ALkEEcQ0BDLEDCyADQgA3AyALIANBADoAMSADQQE6ADYMSAtBACEAAkAgAygCOCICRQ0AIAIoAjAiAkUNACADIAIRAAAhAAsgAEUNSCAAQRVHDWIgA0EENgIcIAMgATYCFCADQdIbNgIQIANBFTYCDEEAIQIMrwMLIAEgBEYEQEEGIQIMrwMLIAEtAABBCkcNGSABQQFqIQEMGgsgA0IANwMgQRIhAgyUAwsgASAERw2KA0EjIQIMrAMLIAEgBEYEQEEHIQIMrAMLAkACQCABLQAAQQprDgQBGBgAGAsgAUEBaiEBQRAhAgyTAwsgAUEBaiEBIANBL2otAABBAXENF0EAIQIgA0EANgIcIAMgATYCFCADQZkgNgIQIANBGTYCDAyrAwsgAyADKQMgIgwgBCABa60iCn0iC0IAIAsgDFgbNwMgIAogDFoNGEEIIQIMqgMLIAEgBEcEQCADQQk2AgggAyABNgIEQRQhAgyRAwtBCSECDKkDCyADKQMgUA2uAgxDCyABIARGBEBBCyECDKgDCyABLQAAQQpHDRYgAUEBaiEBDBcLIANBL2otAABBAXFFDRkMJgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0ZDEILQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGgwkC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRsMMgsgA0Evai0AAEEBcUUNHAwiC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADRwMQgtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0dDCALIAEgBEYEQEETIQIMoAMLAkAgAS0AACIAQQprDgQfIyMAIgsgAUEBaiEBDB8LQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIgxCCyABIARGBEBBFiECDJ4DCyABLQAAQcDBAGotAABBAUcNIwyDAwsCQANAIAEtAABBsDtqLQAAIgBBAUcEQAJAIABBAmsOAgMAJwsgAUEBaiEBQSEhAgyGAwsgBCABQQFqIgFHDQALQRghAgydAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAFBAWoiARA0IgANIQxBC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADSMMKgsgASAERgRAQRwhAgybAwsgA0EKNgIIIAMgATYCBEEAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADSVBJCECDIEDCyABIARHBEADQCABLQAAQbA9ai0AACIAQQNHBEAgAEEBaw4FGBomggMlJgsgBCABQQFqIgFHDQALQRshAgyaAwtBGyECDJkDCwNAIAEtAABBsD9qLQAAIgBBA0cEQCAAQQFrDgUPEScTJicLIAQgAUEBaiIBRw0AC0EeIQIMmAMLIAEgBEcEQCADQQs2AgggAyABNgIEQQchAgz/AgtBHyECDJcDCyABIARGBEBBICECDJcDCwJAIAEtAABBDWsOFC4/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8APwtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQMlgMLIANBL2ohAgNAIAEgBEYEQEEhIQIMlwMLAkACQAJAIAEtAAAiAEEJaw4YAgApKQEpKSkpKSkpKSkpKSkpKSkpKSkCJwsgAUEBaiEBIANBL2otAABBAXFFDQoMGAsgAUEBaiEBDBcLIAFBAWohASACLQAAQQJxDQALQQAhAiADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMDJUDCyADLQAuQYABcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlwiAkUNACADIAIRAAAhAAsgAEUN5gIgAEEVRgRAIANBJDYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDJQDC0EAIQIgA0EANgIcIAMgATYCFCADQZAONgIQIANBFDYCDAyTAwtBACECIANBADYCHCADIAE2AhQgA0G+IDYCECADQQI2AgwMkgMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABIAynaiIBEDIiAEUNKyADQQc2AhwgAyABNgIUIAMgADYCDAyRAwsgAy0ALkHAAHFFDQELQQAhAAJAIAMoAjgiAkUNACACKAJYIgJFDQAgAyACEQAAIQALIABFDSsgAEEVRgRAIANBCjYCHCADIAE2AhQgA0HrGTYCECADQRU2AgxBACECDJADC0EAIQIgA0EANgIcIAMgATYCFCADQZMMNgIQIANBEzYCDAyPAwtBACECIANBADYCHCADIAE2AhQgA0GCFTYCECADQQI2AgwMjgMLQQAhAiADQQA2AhwgAyABNgIUIANB3RQ2AhAgA0EZNgIMDI0DC0EAIQIgA0EANgIcIAMgATYCFCADQeYdNgIQIANBGTYCDAyMAwsgAEEVRg09QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIsDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFDSggA0ENNgIcIAMgATYCFCADIAA2AgwMigMLIABBFUYNOkEAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAyJAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQwoCyADQQ42AhwgAyAANgIMIAMgAUEBajYCFAyIAwsgAEEVRg03QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIcDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCcLIANBDzYCHCADIAA2AgwgAyABQQFqNgIUDIYDC0EAIQIgA0EANgIcIAMgATYCFCADQeIXNgIQIANBGTYCDAyFAwsgAEEVRg0zQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIQDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFDSUgA0ERNgIcIAMgATYCFCADIAA2AgwMgwMLIABBFUYNMEEAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAyCAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwlCyADQRI2AhwgAyAANgIMIAMgAUEBajYCFAyBAwsgA0Evai0AAEEBcUUNAQtBFyECDOYCC0EAIQIgA0EANgIcIAMgATYCFCADQeIXNgIQIANBGTYCDAz+AgsgAEE7Rw0AIAFBAWohAQwMC0EAIQIgA0EANgIcIAMgATYCFCADQZIYNgIQIANBAjYCDAz8AgsgAEEVRg0oQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDPsCCyADQRQ2AhwgAyABNgIUIAMgADYCDAz6AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQz1AgsgA0EVNgIcIAMgADYCDCADIAFBAWo2AhQM+QILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEM8wILIANBFzYCHCADIAA2AgwgAyABQQFqNgIUDPgCCyAAQRVGDSNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM9wILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEMHQsgA0EZNgIcIAMgADYCDCADIAFBAWo2AhQM9gILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEM7wILIANBGjYCHCADIAA2AgwgAyABQQFqNgIUDPUCCyAAQRVGDR9BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwM9AILIAMoAgQhACADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQwbCyADQRw2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8wILIAMoAgQhACADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQzrAgsgA0EdNgIcIAMgADYCDCADIAFBAWo2AhRBACECDPICCyAAQTtHDQEgAUEBaiEBC0EmIQIM1wILQQAhAiADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMDO8CCyABIARHBEADQCABLQAAQSBHDYQCIAQgAUEBaiIBRw0AC0EsIQIM7wILQSwhAgzuAgsgASAERgRAQTQhAgzuAgsCQAJAA0ACQCABLQAAQQprDgQCAAADAAsgBCABQQFqIgFHDQALQTQhAgzvAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFDZ8CIANBMjYCHCADIAE2AhQgAyAANgIMQQAhAgzuAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDJ8CCyADQTI2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM7QILIAEgBEcEQAJAA0AgAS0AAEEwayIAQf8BcUEKTwRAQTohAgzXAgsgAykDICILQpmz5syZs+bMGVYNASADIAtCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAMgCiALfDcDICAEIAFBAWoiAUcNAAtBwAAhAgzuAgsgAygCBCEAIANBADYCBCADIAAgAUEBaiIBEDEiAA0XDOICC0HAACECDOwCCyABIARGBEBByQAhAgzsAgsCQANAAkAgAS0AAEEJaw4YAAKiAqICqQKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASECDKACCwJAAkACQCABLQAAQQprDgQBAgIAAgsgAUEBaiEBDAILIAFBAWohAQwBCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAjwiAkUNACADIAIRAAAhAAsgAEUNoAEgAEEVRgRAIANB2QA2AhwgAyABNgIUIANBtxo2AhAgA0EVNgIMQQAhAgyfAgsgA0EANgIcIAMgATYCFCADQYANNgIQIANBGzYCDEEAIQIMngILIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDJ0CCyABIARHBEAgA0EMNgIIIAMgATYCBEG/ASECDIQCC0HYASECDJwCCyABIARGBEBB1wEhAgycAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBwQBrDhUAAQIDWgQFBlpaWgcICQoLDA0ODxBaCyABQQFqIQFB+wAhAgySAgsgAUEBaiEBQfwAIQIMkQILIAFBAWohAUGBASECDJACCyABQQFqIQFBhQEhAgyPAgsgAUEBaiEBQYYBIQIMjgILIAFBAWohAUGJASECDI0CCyABQQFqIQFBigEhAgyMAgsgAUEBaiEBQY0BIQIMiwILIAFBAWohAUGWASECDIoCCyABQQFqIQFBlwEhAgyJAgsgAUEBaiEBQZgBIQIMiAILIAFBAWohAUGlASECDIcCCyABQQFqIQFBpgEhAgyGAgsgAUEBaiEBQawBIQIMhQILIAFBAWohAUG0ASECDIQCCyABQQFqIQFBtwEhAgyDAgsgAUEBaiEBQb4BIQIMggILIAEgBEYEQEHWASECDJsCCyABLQAAQc4ARw1IIAFBAWohAUG9ASECDIECCyABIARGBEBB1QEhAgyaAgsCQAJAAkAgAS0AAEHCAGsOEgBKSkpKSkpKSkoBSkpKSkpKAkoLIAFBAWohAUG4ASECDIICCyABQQFqIQFBuwEhAgyBAgsgAUEBaiEBQbwBIQIMgAILQdQBIQIgASAERg2YAiADKAIAIgAgBCABa2ohBSABIABrQQdqIQYCQANAIAEtAAAgAEGo1QBqLQAARw1FIABBB0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAgsgA0EANgIAIAZBAWohAUEbDEULIAEgBEYEQEHTASECDJgCCwJAAkAgAS0AAEHJAGsOBwBHR0dHRwFHCyABQQFqIQFBuQEhAgz/AQsgAUEBaiEBQboBIQIM/gELQdIBIQIgASAERg2WAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw1DIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyXAgsgA0EANgIAIAZBAWohAUEPDEMLQdEBIQIgASAERg2VAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw1CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyWAgsgA0EANgIAIAZBAWohAUEgDEILQdABIQIgASAERg2UAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw1BIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyVAgsgA0EANgIAIAZBAWohAUESDEELIAEgBEYEQEHPASECDJQCCwJAAkAgAS0AAEHFAGsODgBDQ0NDQ0NDQ0NDQ0MBQwsgAUEBaiEBQbUBIQIM+wELIAFBAWohAUG2ASECDPoBC0HOASECIAEgBEYNkgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBntUAai0AAEcNPyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkwILIANBADYCACAGQQFqIQFBBww/C0HNASECIAEgBEYNkQIgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBmNUAai0AAEcNPiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkgILIANBADYCACAGQQFqIQFBKAw+CyABIARGBEBBzAEhAgyRAgsCQAJAAkAgAS0AAEHFAGsOEQBBQUFBQUFBQUEBQUFBQUECQQsgAUEBaiEBQbEBIQIM+QELIAFBAWohAUGyASECDPgBCyABQQFqIQFBswEhAgz3AQtBywEhAiABIARGDY8CIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQZHVAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJACCyADQQA2AgAgBkEBaiEBQRoMPAtBygEhAiABIARGDY4CIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQY3VAGotAABHDTsgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADI8CCyADQQA2AgAgBkEBaiEBQSEMOwsgASAERgRAQckBIQIMjgILAkACQCABLQAAQcEAaw4UAD09PT09PT09PT09PT09PT09PQE9CyABQQFqIQFBrQEhAgz1AQsgAUEBaiEBQbABIQIM9AELIAEgBEYEQEHIASECDI0CCwJAAkAgAS0AAEHVAGsOCwA8PDw8PDw8PDwBPAsgAUEBaiEBQa4BIQIM9AELIAFBAWohAUGvASECDPMBC0HHASECIAEgBEYNiwIgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNOCAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjAILIANBADYCACAGQQFqIQFBKgw4CyABIARGBEBBxgEhAgyLAgsgAS0AAEHQAEcNOCABQQFqIQFBJQw3C0HFASECIAEgBEYNiQIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBgdUAai0AAEcNNiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMigILIANBADYCACAGQQFqIQFBDgw2CyABIARGBEBBxAEhAgyJAgsgAS0AAEHFAEcNNiABQQFqIQFBqwEhAgzvAQsgASAERgRAQcMBIQIMiAILAkACQAJAAkAgAS0AAEHCAGsODwABAjk5OTk5OTk5OTk5AzkLIAFBAWohAUGnASECDPEBCyABQQFqIQFBqAEhAgzwAQsgAUEBaiEBQakBIQIM7wELIAFBAWohAUGqASECDO4BC0HCASECIAEgBEYNhgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB/tQAai0AAEcNMyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhwILIANBADYCACAGQQFqIQFBFAwzC0HBASECIAEgBEYNhQIgAygCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABB+dQAai0AAEcNMiAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhgILIANBADYCACAGQQFqIQFBKwwyC0HAASECIAEgBEYNhAIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB9tQAai0AAEcNMSAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhQILIANBADYCACAGQQFqIQFBLAwxC0G/ASECIAEgBEYNgwIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNMCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhAILIANBADYCACAGQQFqIQFBEQwwC0G+ASECIAEgBEYNggIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB8tQAai0AAEcNLyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgwILIANBADYCACAGQQFqIQFBLgwvCyABIARGBEBBvQEhAgyCAgsCQAJAAkACQAJAIAEtAABBwQBrDhUANDQ0NDQ0NDQ0NAE0NAI0NAM0NAQ0CyABQQFqIQFBmwEhAgzsAQsgAUEBaiEBQZwBIQIM6wELIAFBAWohAUGdASECDOoBCyABQQFqIQFBogEhAgzpAQsgAUEBaiEBQaQBIQIM6AELIAEgBEYEQEG8ASECDIECCwJAAkAgAS0AAEHSAGsOAwAwATALIAFBAWohAUGjASECDOgBCyABQQFqIQFBBAwtC0G7ASECIAEgBEYN/wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8NQAai0AAEcNLCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgAILIANBADYCACAGQQFqIQFBHQwsCyABIARGBEBBugEhAgz/AQsCQAJAIAEtAABByQBrDgcBLi4uLi4ALgsgAUEBaiEBQaEBIQIM5gELIAFBAWohAUEiDCsLIAEgBEYEQEG5ASECDP4BCyABLQAAQdAARw0rIAFBAWohAUGgASECDOQBCyABIARGBEBBuAEhAgz9AQsCQAJAIAEtAABBxgBrDgsALCwsLCwsLCwsASwLIAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASECDMYBC0GIASECDMUBCyADQQA2AhwgAyABNgIUIANB2yA2AhAgA0EHNgIMQQAhAgzEAQsgASAERgRAQYkBIQIMxAELAkACQAJAIAEtAABBoNIAai0AAEEBaw4DRgIAAQtB8gAhAgysAQsgA0EANgIcIAMgATYCFCADQbQSNgIQIANBBzYCDEEAIQIMxAELQeoAIQIMqgELIAEgBEcEQCABQQFqIQFB7wAhAgyqAQtBhwEhAgzCAQsgBCABIgBGBEBBhgEhAgzCAQsgAC0AACIBQS9GBEAgAEEBaiEBQe4AIQIMqQELIAFBCWsiAkEXSw0BIAAhAUEBIAJ0QZuAgARxDUEMAQsgBCABIgBGBEBBhQEhAgzBAQsgAC0AAEEvRw0AIABBAWohAQwDC0EAIQIgA0EANgIcIAMgADYCFCADQdsgNgIQIANBBzYCDAy/AQsCQAJAAkACQAJAA0AgAS0AAEGgzgBqLQAAIgBBBUcEQAJAAkAgAEEBaw4IRwUGBwgABAEIC0HrACECDK0BCyABQQFqIQFB7QAhAgysAQsgBCABQQFqIgFHDQALQYQBIQIMwwELIAFBAWoMFAsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgzBAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgzAAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy/AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMvgELIAEgBEYEQEGDASECDL4BCwJAIAEtAABBoM4Aai0AAEEBaw4IPgQFBgAIAgMHCyABQQFqIQELQQMhAgyjAQsgAUEBagwNC0EAIQIgA0EANgIcIANB0RI2AhAgA0EHNgIMIAMgAUEBajYCFAy6AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgy5AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgy4AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy3AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMtgELQewAIQIMnAELIAEgBEYEQEGCASECDLUBCyABQQFqDAILIAEgBEYEQEGBASECDLQBCyABQQFqDAELIAEgBEYNASABQQFqCyEBQQQhAgyYAQtBgAEhAgywAQsDQCABLQAAQaDMAGotAAAiAEECRwRAIABBAUcEQEHpACECDJkBCwwxCyAEIAFBAWoiAUcNAAtB/wAhAgyvAQsgASAERgRAQf4AIQIMrwELAkAgAS0AAEEJaw43LwMGLwQGBgYGBgYGBgYGBgYGBgYGBgYFBgYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAAYLIAFBAWoLIQFBBSECDJQBCyABQQFqDAYLIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIANBADYCHCADIAE2AhQgA0GNFDYCECADQQc2AgxBACECDKgBCwJAAkACQAJAA0AgAS0AAEGgygBqLQAAIgBBBUcEQAJAIABBAWsOBi4DBAUGAAYLQegAIQIMlAELIAQgAUEBaiIBRw0AC0H9ACECDKsBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQdsANgIcIAMgATYCFCADIAA2AgxBACECDKoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDKkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQfoANgIcIAMgATYCFCADIAA2AgxBACECDKgBCyADQQA2AhwgAyABNgIUIANB5Ag2AhAgA0EHNgIMQQAhAgynAQsgASAERg0BIAFBAWoLIQFBBiECDIwBC0H8ACECDKQBCwJAAkACQAJAA0AgAS0AAEGgyABqLQAAIgBBBUcEQCAAQQFrDgQpAgMEBQsgBCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsgA0EANgIcIAMgATYCFCADQeULNgIQIANBETYCDEEAIQIMfQtBACEAAkAgAygCOCICRQ0AIAIoAlwiAkUNACADIAIRAAAhAAsgAEUNWSAAQRVHDQEgA0EFNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMfAtBywAhAgxiC0EAIQIgA0EANgIcIAMgATYCFCADQZAONgIQIANBFDYCDAx6CyADIAMvATJBgAFyOwEyDDsLIAEgBEcEQCADQRE2AgggAyABNgIEQcoAIQIMYAtB1wAhAgx4CyABIARGBEBB1gAhAgx4CwJAAkACQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQeMAaw4TAEBAQEBAQEBAQEBAQAFAQEACA0ALIAFBAWohAUHGACECDGELIAFBAWohAUHHACECDGALIAFBAWohAUHIACECDF8LIAFBAWohAUHJACECDF4LQdUAIQIgBCABIgBGDXYgBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUGQyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0IQQQgAUEFRg0KGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx2C0HUACECIAQgASIARg11IAQgAWsgAygCACIBaiEGIAAgAWtBD2ohBwNAIAFBgMgAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNB0EDIAFBD0YNCRogAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdQtB0wAhAiAEIAEiAEYNdCAEIAFrIAMoAgAiAWohBiAAIAFrQQ5qIQcDQCABQeLHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQYgAUEORg0HIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHQLQdIAIQIgBCABIgBGDXMgBCABayADKAIAIgFqIQUgACABa0EBaiEGA0AgAUHgxwBqLQAAIAAtAAAiB0EgciAHIAdBwQBrQf8BcUEaSRtB/wFxRw0FIAFBAUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBTYCAAxzCyABIARGBEBB0QAhAgxzCwJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB7gBrDgcAOTk5OTkBOQsgAUEBaiEBQcMAIQIMWgsgAUEBaiEBQcQAIQIMWQsgA0EANgIAIAZBAWohAUHFACECDFgLQdAAIQIgBCABIgBGDXAgBCABayADKAIAIgFqIQYgACABa0EJaiEHA0AgAUHWxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0CQQIgAUEJRg0EGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxwC0HPACECIAQgASIARg1vIAQgAWsgAygCACIBaiEGIAAgAWtBBWohBwNAIAFB0McAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQVGDQIgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMbwsgACEBIANBADYCAAwzC0EBCzoALCADQQA2AgAgB0EBaiEBC0EtIQIMUgsCQANAIAEtAABB0MUAai0AAEEBRw0BIAQgAUEBaiIBRw0AC0HNACECDGsLQcIAIQIMUQsgASAERgRAQcwAIQIMagsgAS0AAEE6RgRAIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ0zIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMagsgA0EANgIcIAMgATYCFCADQecRNgIQIANBCjYCDEEAIQIMaQsCQAJAIAMtACxBAmsOAgABJwsgA0Ezai0AAEECcUUNJiADLQAuQQJxDSYgA0EANgIcIAMgATYCFCADQaYUNgIQIANBCzYCDEEAIQIMaQsgAy0AMkEgcUUNJSADLQAuQQJxDSUgA0EANgIcIAMgATYCFCADQb0TNgIQIANBDzYCDEEAIQIMaAtBACEAAkAgAygCOCICRQ0AIAIoAkgiAkUNACADIAIRAAAhAAsgAEUEQEHBACECDE8LIABBFUcEQCADQQA2AhwgAyABNgIUIANBpg82AhAgA0EcNgIMQQAhAgxoCyADQcoANgIcIAMgATYCFCADQYUcNgIQIANBFTYCDEEAIQIMZwsgASAERwRAA0AgAS0AAEHAwQBqLQAAQQFHDRcgBCABQQFqIgFHDQALQcQAIQIMZwtBxAAhAgxmCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUE2IQIMUgsgAUEBaiEBQTchAgxRCyABQQFqIQFBOCECDFALDBULIAQgAUEBaiIBRw0AC0E8IQIMZgtBPCECDGULIAEgBEYEQEHIACECDGULIANBEjYCCCADIAE2AgQCQAJAAkACQAJAIAMtACxBAWsOBBQAAQIJCyADLQAyQSBxDQNB4AEhAgxPCwJAIAMvATIiAEEIcUUNACADLQAoQQFHDQAgAy0ALkEIcUUNAgsgAyAAQff7A3FBgARyOwEyDAsLIAMgAy8BMkEQcjsBMgwECyADQQA2AgQgAyABIAEQMSIABEAgA0HBADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxmCyABQQFqIQEMWAsgA0EANgIcIAMgATYCFCADQfQTNgIQIANBBDYCDEEAIQIMZAtBxwAhAiABIARGDWMgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCAAQcDFAGotAAAgAS0AAEEgckcNASAAQQZGDUogAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMZAsgA0EANgIADAULAkAgASAERwRAA0AgAS0AAEHAwwBqLQAAIgBBAUcEQCAAQQJHDQMgAUEBaiEBDAULIAQgAUEBaiIBRw0AC0HFACECDGQLQcUAIQIMYwsLIANBADoALAwBC0ELIQIMRwtBPyECDEYLAkACQANAIAEtAAAiAEEgRwRAAkAgAEEKaw4EAwUFAwALIABBLEYNAwwECyAEIAFBAWoiAUcNAAtBxgAhAgxgCyADQQg6ACwMDgsgAy0AKEEBRw0CIAMtAC5BCHENAiADKAIEIQAgA0EANgIEIAMgACABEDEiAARAIANBwgA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMXwsgAUEBaiEBDFALQTshAgxECwJAA0AgAS0AACIAQSBHIABBCUdxDQEgBCABQQFqIgFHDQALQcMAIQIMXQsLQTwhAgxCCwJAAkAgASAERwRAA0AgAS0AACIAQSBHBEAgAEEKaw4EAwQEAwQLIAQgAUEBaiIBRw0AC0E/IQIMXQtBPyECDFwLIAMgAy8BMkEgcjsBMgwKCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNTiADQT42AhwgAyABNgIUIAMgADYCDEEAIQIMWgsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkYNAwwMCyAEIAFBAWoiAUcNAAtBNyECDFsLQTchAgxaCyABQQFqIQEMBAtBOyECIAQgASIARg1YIAQgAWsgAygCACIBaiEGIAAgAWtBBWohBwJAA0AgAUGQyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEMPwsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMWQsgA0EANgIAIAAhAQwFC0E6IQIgBCABIgBGDVcgBCABayADKAIAIgFqIQYgACABa0EIaiEHAkADQCABQbTBAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEIRgRAQQUhAQw+CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxYCyADQQA2AgAgACEBDAQLQTkhAiAEIAEiAEYNViAEIAFrIAMoAgAiAWohBiAAIAFrQQNqIQcCQANAIAFBsMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQNGBEBBBiEBDD0LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFcLIANBADYCACAAIQEMAwsCQANAIAEtAAAiAEEgRwRAIABBCmsOBAcEBAcCCyAEIAFBAWoiAUcNAAtBOCECDFYLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCADLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIANBAToALCADIAMvATIgAXI7ATIgACEBDAELIAMgAy8BMkEIcjsBMiAAIQELQT4hAgw7CyADQQA6ACwLQTkhAgw5CyABIARGBEBBNiECDFILAkACQAJAAkACQCABLQAAQQprDgQAAgIBAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFDQIgA0EzNgIcIAMgATYCFCADIAA2AgxBACECDFULIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQRAIAFBAWohAQwGCyADQTI2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMVAsgAy0ALkEBcQRAQd8BIQIMOwsgAygCBCEAIANBADYCBCADIAAgARAxIgANAQxJC0E0IQIMOQsgA0E1NgIcIAMgATYCFCADIAA2AgxBACECDFELQTUhAgw3CyADQS9qLQAAQQFxDQAgA0EANgIcIAMgATYCFCADQesWNgIQIANBGTYCDEEAIQIMTwtBMyECDDULIAEgBEYEQEEyIQIMTgsCQCABLQAAQQpGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GSFzYCECADQQM2AgxBACECDE4LQTIhAgw0CyABIARGBEBBMSECDE0LAkAgAS0AACIAQQlGDQAgAEEgRg0AQQEhAgJAIAMtACxBBWsOBAYEBQANCyADIAMvATJBCHI7ATIMDAsgAy0ALkEBcUUNASADLQAsQQhHDQAgA0EAOgAsC0E9IQIMMgsgA0EANgIcIAMgATYCFCADQcIWNgIQIANBCjYCDEEAIQIMSgtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgwGCyABIARGBEBBMCECDEcLIAEtAABBCkYEQCABQQFqIQEMAQsgAy0ALkEBcQ0AIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDEYLQTAhAgwsCyABQQFqIQFBMSECDCsLIAEgBEYEQEEvIQIMRAsgAS0AACIAQQlHIABBIEdxRQRAIAFBAWohASADLQAuQQFxDQEgA0EANgIcIAMgATYCFCADQZcQNgIQIANBCjYCDEEAIQIMRAtBASECAkACQAJAAkACQAJAIAMtACxBAmsOBwUEBAMBAgAECyADIAMvATJBCHI7ATIMAwtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgtBLyECDCsLIANBADYCHCADIAE2AhQgA0GEEzYCECADQQs2AgxBACECDEMLQeEBIQIMKQsgASAERgRAQS4hAgxCCyADQQA2AgQgA0ESNgIIIAMgASABEDEiAA0BC0EuIQIMJwsgA0EtNgIcIAMgATYCFCADIAA2AgxBACECDD8LQQAhAAJAIAMoAjgiAkUNACACKAJMIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2AA2AhwgAyABNgIUIANBsxs2AhAgA0EVNgIMQQAhAgw+C0HMACECDCQLIANBADYCHCADIAE2AhQgA0GzDjYCECADQR02AgxBACECDDwLIAEgBEYEQEHOACECDDwLIAEtAAAiAEEgRg0CIABBOkYNAQsgA0EAOgAsQQkhAgwhCyADKAIEIQAgA0EANgIEIAMgACABEDAiAA0BDAILIAMtAC5BAXEEQEHeASECDCALIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ0CIANBKjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgw4CyADQcsANgIcIAMgADYCDCADIAFBAWo2AhRBACECDDcLIAFBAWohAUHAACECDB0LIAFBAWohAQwsCyABIARGBEBBKyECDDULAkAgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQcAAcUUNBgsgAy0AMkGAAXEEQEEAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ0SIABBFUYEQCADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgw2CyADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMQQAhAgw1CyADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyADQQE6ADALIAIgAi8BAEHAAHI7AQALQSshAgwYCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgwwCyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgwvCyADQQA2AhwgAyABNgIUIANBpQs2AhAgA0ECNgIMQQAhAgwuC0EBIQcgAy8BMiIFQQhxRQRAIAMpAyBCAFIhBwsCQCADLQAwBEBBASEAIAMtAClBBUYNASAFQcAAcUUgB3FFDQELAkAgAy0AKCICQQJGBEBBASEAIAMvATQiBkHlAEYNAkEAIQAgBUHAAHENAiAGQeQARg0CIAZB5gBrQQJJDQIgBkHMAUYNAiAGQbACRg0CDAELQQAhACAFQcAAcQ0BC0ECIQAgBUEIcQ0AIAVBgARxBEACQCACQQFHDQAgAy0ALkEKcQ0AQQUhAAwCC0EEIQAMAQsgBUEgcUUEQCADEDZBAEdBAnQhAAwBC0EAQQMgAykDIFAbIQALIABBAWsOBQIABwEDBAtBESECDBMLIANBAToAMQwpC0EAIQICQCADKAI4IgBFDQAgACgCMCIARQ0AIAMgABEAACECCyACRQ0mIAJBFUYEQCADQQM2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwrC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAwqCyADQQA2AhwgAyABNgIUIANB+SA2AhAgA0EPNgIMQQAhAgwpC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAADQELQQ4hAgwOCyAAQRVGBEAgA0ECNgIcIAMgATYCFCADQdIbNgIQIANBFTYCDEEAIQIMJwsgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDEEAIQIMJgtBKiECDAwLIAEgBEcEQCADQQk2AgggAyABNgIEQSkhAgwMC0EmIQIMJAsgAyADKQMgIgwgBCABa60iCn0iC0IAIAsgDFgbNwMgIAogDFQEQEElIQIMJAsgAygCBCEAIANBADYCBCADIAAgASAMp2oiARAyIgBFDQAgA0EFNgIcIAMgATYCFCADIAA2AgxBACECDCMLQQ8hAgwJC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FxYAAQIDBAUGBxQUFBQUFBQICQoLDA0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFA4PEBESExQLQgIhCgwWC0IDIQoMFQtCBCEKDBQLQgUhCgwTC0IGIQoMEgtCByEKDBELQgghCgwQC0IJIQoMDwtCCiEKDA4LQgshCgwNC0IMIQoMDAtCDSEKDAsLQg4hCgwKC0IPIQoMCQtCCiEKDAgLQgshCgwHC0IMIQoMBgtCDSEKDAULQg4hCgwEC0IPIQoMAwsgA0EANgIcIAMgATYCFCADQZ8VNgIQIANBDDYCDEEAIQIMIQsgASAERgRAQSIhAgwhC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsONxUUAAECAwQFBgcWFhYWFhYWCAkKCwwNFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYODxAREhMWC0ICIQoMFAtCAyEKDBMLQgQhCgwSC0IFIQoMEQtCBiEKDBALQgchCgwPC0IIIQoMDgtCCSEKDA0LQgohCgwMC0ILIQoMCwtCDCEKDAoLQg0hCgwJC0IOIQoMCAtCDyEKDAcLQgohCgwGC0ILIQoMBQtCDCEKDAQLQg0hCgwDC0IOIQoMAgtCDyEKDAELQgEhCgsgAUEBaiEBIAMpAyAiC0L//////////w9YBEAgAyALQgSGIAqENwMgDAILIANBADYCHCADIAE2AhQgA0G1CTYCECADQQw2AgxBACECDB4LQSchAgwEC0EoIQIMAwsgAyABOgAsIANBADYCACAHQQFqIQFBDCECDAILIANBADYCACAGQQFqIQFBCiECDAELIAFBAWohAUEIIQIMAAsAC0EAIQIgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDAwXC0EAIQIgA0EANgIcIAMgATYCFCADQYMRNgIQIANBCTYCDAwWC0EAIQIgA0EANgIcIAMgATYCFCADQd8KNgIQIANBCTYCDAwVC0EAIQIgA0EANgIcIAMgATYCFCADQe0QNgIQIANBCTYCDAwUC0EAIQIgA0EANgIcIAMgATYCFCADQdIRNgIQIANBCTYCDAwTC0EAIQIgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDAwSC0EAIQIgA0EANgIcIAMgATYCFCADQYMRNgIQIANBCTYCDAwRC0EAIQIgA0EANgIcIAMgATYCFCADQd8KNgIQIANBCTYCDAwQC0EAIQIgA0EANgIcIAMgATYCFCADQe0QNgIQIANBCTYCDAwPC0EAIQIgA0EANgIcIAMgATYCFCADQdIRNgIQIANBCTYCDAwOC0EAIQIgA0EANgIcIAMgATYCFCADQbkXNgIQIANBDzYCDAwNC0EAIQIgA0EANgIcIAMgATYCFCADQbkXNgIQIANBDzYCDAwMC0EAIQIgA0EANgIcIAMgATYCFCADQZkTNgIQIANBCzYCDAwLC0EAIQIgA0EANgIcIAMgATYCFCADQZ0JNgIQIANBCzYCDAwKC0EAIQIgA0EANgIcIAMgATYCFCADQZcQNgIQIANBCjYCDAwJC0EAIQIgA0EANgIcIAMgATYCFCADQbEQNgIQIANBCjYCDAwIC0EAIQIgA0EANgIcIAMgATYCFCADQbsdNgIQIANBAjYCDAwHC0EAIQIgA0EANgIcIAMgATYCFCADQZYWNgIQIANBAjYCDAwGC0EAIQIgA0EANgIcIAMgATYCFCADQfkYNgIQIANBAjYCDAwFC0EAIQIgA0EANgIcIAMgATYCFCADQcQYNgIQIANBAjYCDAwECyADQQI2AhwgAyABNgIUIANBqR42AhAgA0EWNgIMQQAhAgwDC0HeACECIAEgBEYNAiAJQQhqIQcgAygCACEFAkACQCABIARHBEAgBUGWyABqIQggBCAFaiABayEGIAVBf3NBCmoiBSABaiEAA0AgAS0AACAILQAARwRAQQIhCAwDCyAFRQRAQQAhCCAAIQEMAwsgBUEBayEFIAhBAWohCCAEIAFBAWoiAUcNAAsgBiEFIAQhAQsgB0EBNgIAIAMgBTYCAAwBCyADQQA2AgAgByAINgIACyAHIAE2AgQgCSgCDCEAAkACQCAJKAIIQQFrDgIEAQALIANBADYCHCADQcIeNgIQIANBFzYCDCADIABBAWo2AhRBACECDAMLIANBADYCHCADIAA2AhQgA0HXHjYCECADQQk2AgxBACECDAILIAEgBEYEQEEoIQIMAgsgA0EJNgIIIAMgATYCBEEnIQIMAQsgASAERgRAQQEhAgwBCwNAAkACQAJAIAEtAABBCmsOBAABAQABCyABQQFqIQEMAQsgAUEBaiEBIAMtAC5BIHENAEEAIQIgA0EANgIcIAMgATYCFCADQaEhNgIQIANBBTYCDAwCC0EBIQIgASAERw0ACwsgCUEQaiQAIAJFBEAgAygCDCEADAELIAMgAjYCHEEAIQAgAygCBCIBRQ0AIAMgASAEIAMoAggRAQAiAUUNACADIAQ2AhQgAyABNgIMIAEhAAsgAAu+AgECfyAAQQA6AAAgAEHkAGoiAUEBa0EAOgAAIABBADoAAiAAQQA6AAEgAUEDa0EAOgAAIAFBAmtBADoAACAAQQA6AAMgAUEEa0EAOgAAQQAgAGtBA3EiASAAaiIAQQA2AgBB5AAgAWtBfHEiAiAAaiIBQQRrQQA2AgACQCACQQlJDQAgAEEANgIIIABBADYCBCABQQhrQQA2AgAgAUEMa0EANgIAIAJBGUkNACAAQQA2AhggAEEANgIUIABBADYCECAAQQA2AgwgAUEQa0EANgIAIAFBFGtBADYCACABQRhrQQA2AgAgAUEca0EANgIAIAIgAEEEcUEYciICayIBQSBJDQAgACACaiEAA0AgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIABBIGohACABQSBrIgFBH0sNAAsLC1YBAX8CQCAAKAIMDQACQAJAAkACQCAALQAxDgMBAAMCCyAAKAI4IgFFDQAgASgCMCIBRQ0AIAAgAREAACIBDQMLQQAPCwALIABByhk2AhBBDiEBCyABCxoAIAAoAgxFBEAgAEHeHzYCECAAQRU2AgwLCxQAIAAoAgxBFUYEQCAAQQA2AgwLCxQAIAAoAgxBFkYEQCAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsrAAJAIABBJ08NAEL//////wkgAK2IQgGDUA0AIABBAnRB0DhqKAIADwsACxcAIABBL08EQAALIABBAnRB7DlqKAIAC78JAQF/QfQtIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQeQAaw70A2NiAAFhYWFhYWECAwQFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQYHCAkKCwwNDg9hYWFhYRBhYWFhYWFhYWFhYRFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWESExQVFhcYGRobYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1NmE3ODk6YWFhYWFhYWE7YWFhPGFhYWE9Pj9hYWFhYWFhYUBhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFCQ0RFRkdISUpLTE1OT1BRUlNhYWFhYWFhYVRVVldYWVpbYVxdYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYV9gYQtB6iwPC0GYJg8LQe0xDwtBoDcPC0HJKQ8LQbQpDwtBli0PC0HrKw8LQaI1DwtB2zQPC0HgKQ8LQeMkDwtB1SQPC0HuJA8LQeYlDwtByjQPC0HQNw8LQao1DwtB9SwPC0H2Jg8LQYIiDwtB8jMPC0G+KA8LQec3DwtBzSEPC0HAIQ8LQbglDwtByyUPC0GWJA8LQY80DwtBzTUPC0HdKg8LQe4zDwtBnDQPC0GeMQ8LQfQ1DwtB5SIPC0GvJQ8LQZkxDwtBsjYPC0H5Ng8LQcQyDwtB3SwPC0GCMQ8LQcExDwtBjTcPC0HJJA8LQew2DwtB5yoPC0HIIw8LQeIhDwtByTcPC0GlIg8LQZQiDwtB2zYPC0HeNQ8LQYYmDwtBvCsPC0GLMg8LQaAjDwtB9jAPC0GALA8LQYkrDwtBpCYPC0HyIw8LQYEoDwtBqzIPC0HrJw8LQcI2DwtBoiQPC0HPKg8LQdwjDwtBhycPC0HkNA8LQbciDwtBrTEPC0HVIg8LQa80DwtB3iYPC0HWMg8LQfQ0DwtBgTgPC0H0Nw8LQZI2DwtBnScPC0GCKQ8LQY0jDwtB1zEPC0G9NQ8LQbQ3DwtB2DAPC0G2Jw8LQZo4DwtBpyoPC0HEJw8LQa4jDwtB9SIPCwALQcomIQELIAELFwAgACAALwEuQf7/A3EgAUEAR3I7AS4LGgAgACAALwEuQf3/A3EgAUEAR0EBdHI7AS4LGgAgACAALwEuQfv/A3EgAUEAR0ECdHI7AS4LGgAgACAALwEuQff/A3EgAUEAR0EDdHI7AS4LGgAgACAALwEuQe//A3EgAUEAR0EEdHI7AS4LGgAgACAALwEuQd//A3EgAUEAR0EFdHI7AS4LGgAgACAALwEuQb//A3EgAUEAR0EGdHI7AS4LGgAgACAALwEuQf/+A3EgAUEAR0EHdHI7AS4LGgAgACAALwEuQf/9A3EgAUEAR0EIdHI7AS4LGgAgACAALwEuQf/7A3EgAUEAR0EJdHI7AS4LPgECfwJAIAAoAjgiA0UNACADKAIEIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHhEjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIIIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH8ETYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIMIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHsCjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIQIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH6HjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIUIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHLEDYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIYIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEG3HzYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIcIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEG/FTYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIsIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH+CDYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIgIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEGMHTYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIkIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHmFTYCEEEYIQQLIAQLOAAgAAJ/IAAvATJBFHFBFEYEQEEBIAAtAChBAUYNARogAC8BNEHlAEYMAQsgAC0AKUEFRgs6ADALWQECfwJAIAAtAChBAUYNACAALwE0IgFB5ABrQeQASQ0AIAFBzAFGDQAgAUGwAkYNACAALwEyIgBBwABxDQBBASECIABBiARxQYAERg0AIABBKHFFIQILIAILjAEBAn8CQAJAAkAgAC0AKkUNACAALQArRQ0AIAAvATIiAUECcUUNAQwCCyAALwEyIgFBAXFFDQELQQEhAiAALQAoQQFGDQAgAC8BNCIAQeQAa0HkAEkNACAAQcwBRg0AIABBsAJGDQAgAUHAAHENAEEAIQIgAUGIBHFBgARGDQAgAUEocUEARyECCyACC1cAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
var wasmBuffer;
Object.defineProperty(module2, "exports", {
get: () => {
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
}
});
}
});
// node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
var require_llhttp_simd_wasm = __commonJS({
"node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer6 } = __require("node:buffer");
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCuzaAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIcIgJBAmsO/AEB+QECAwQFBgcICQoLDA0ODxAREvgBE/cBFBX2ARYX9QEYGRobHB0eHyD9AfsBIfQBIiMkJSYnKCkqK/MBLC0uLzAxMvIB8QEzNPAB7wE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/6AVBRUlPuAe0BVOwBVesBVldYWVrqAVtcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAekB6AHPAecB0AHmAdEB0gHTAdQB5QHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wEA/AELQQAM4wELQQ4M4gELQQ0M4QELQQ8M4AELQRAM3wELQRMM3gELQRQM3QELQRUM3AELQRYM2wELQRcM2gELQRgM2QELQRkM2AELQRoM1wELQRsM1gELQRwM1QELQR0M1AELQR4M0wELQR8M0gELQSAM0QELQSEM0AELQQgMzwELQSIMzgELQSQMzQELQSMMzAELQQcMywELQSUMygELQSYMyQELQScMyAELQSgMxwELQRIMxgELQREMxQELQSkMxAELQSoMwwELQSsMwgELQSwMwQELQd4BDMABC0EuDL8BC0EvDL4BC0EwDL0BC0ExDLwBC0EyDLsBC0EzDLoBC0E0DLkBC0HfAQy4AQtBNQy3AQtBOQy2AQtBDAy1AQtBNgy0AQtBNwyzAQtBOAyyAQtBPgyxAQtBOgywAQtB4AEMrwELQQsMrgELQT8MrQELQTsMrAELQQoMqwELQTwMqgELQT0MqQELQeEBDKgBC0HBAAynAQtBwAAMpgELQcIADKUBC0EJDKQBC0EtDKMBC0HDAAyiAQtBxAAMoQELQcUADKABC0HGAAyfAQtBxwAMngELQcgADJ0BC0HJAAycAQtBygAMmwELQcsADJoBC0HMAAyZAQtBzQAMmAELQc4ADJcBC0HPAAyWAQtB0AAMlQELQdEADJQBC0HSAAyTAQtB0wAMkgELQdUADJEBC0HUAAyQAQtB1gAMjwELQdcADI4BC0HYAAyNAQtB2QAMjAELQdoADIsBC0HbAAyKAQtB3AAMiQELQd0ADIgBC0HeAAyHAQtB3wAMhgELQeAADIUBC0HhAAyEAQtB4gAMgwELQeMADIIBC0HkAAyBAQtB5QAMgAELQeIBDH8LQeYADH4LQecADH0LQQYMfAtB6AAMewtBBQx6C0HpAAx5C0EEDHgLQeoADHcLQesADHYLQewADHULQe0ADHQLQQMMcwtB7gAMcgtB7wAMcQtB8AAMcAtB8gAMbwtB8QAMbgtB8wAMbQtB9AAMbAtB9QAMawtB9gAMagtBAgxpC0H3AAxoC0H4AAxnC0H5AAxmC0H6AAxlC0H7AAxkC0H8AAxjC0H9AAxiC0H+AAxhC0H/AAxgC0GAAQxfC0GBAQxeC0GCAQxdC0GDAQxcC0GEAQxbC0GFAQxaC0GGAQxZC0GHAQxYC0GIAQxXC0GJAQxWC0GKAQxVC0GLAQxUC0GMAQxTC0GNAQxSC0GOAQxRC0GPAQxQC0GQAQxPC0GRAQxOC0GSAQxNC0GTAQxMC0GUAQxLC0GVAQxKC0GWAQxJC0GXAQxIC0GYAQxHC0GZAQxGC0GaAQxFC0GbAQxEC0GcAQxDC0GdAQxCC0GeAQxBC0GfAQxAC0GgAQw/C0GhAQw+C0GiAQw9C0GjAQw8C0GkAQw7C0GlAQw6C0GmAQw5C0GnAQw4C0GoAQw3C0GpAQw2C0GqAQw1C0GrAQw0C0GsAQwzC0GtAQwyC0GuAQwxC0GvAQwwC0GwAQwvC0GxAQwuC0GyAQwtC0GzAQwsC0G0AQwrC0G1AQwqC0G2AQwpC0G3AQwoC0G4AQwnC0G5AQwmC0G6AQwlC0G7AQwkC0G8AQwjC0G9AQwiC0G+AQwhC0G/AQwgC0HAAQwfC0HBAQweC0HCAQwdC0EBDBwLQcMBDBsLQcQBDBoLQcUBDBkLQcYBDBgLQccBDBcLQcgBDBYLQckBDBULQcoBDBQLQcsBDBMLQcwBDBILQc0BDBELQc4BDBALQc8BDA8LQdABDA4LQdEBDA0LQdIBDAwLQdMBDAsLQdQBDAoLQdUBDAkLQdYBDAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDuMBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISMkJScoKZ4DmwOaA5EDigODA4AD/QL7AvgC8gLxAu8C7QLoAucC5gLlAuQC3ALbAtoC2QLYAtcC1gLVAs8CzgLMAssCygLJAsgCxwLGAsQCwwK+ArwCugK5ArgCtwK2ArUCtAKzArICsQKwAq4CrQKpAqgCpwKmAqUCpAKjAqICoQKgAp8CmAKQAowCiwKKAoEC/gH9AfwB+wH6AfkB+AH3AfUB8wHwAesB6QHoAecB5gHlAeQB4wHiAeEB4AHfAd4B3QHcAdoB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygHJAcgBxwHGAcUBxAHDAcIBwQHAAb8BvgG9AbwBuwG6AbkBuAG3AbYBtQG0AbMBsgGxAbABrwGuAa0BrAGrAaoBqQGoAacBpgGlAaQBowGiAZ8BngGZAZgBlwGWAZUBlAGTAZIBkQGQAY8BjQGMAYcBhgGFAYQBgwGCAX18e3p5dnV0UFFSU1RVCyABIARHDXJB/QEhAgy+AwsgASAERw2YAUHbASECDL0DCyABIARHDfEBQY4BIQIMvAMLIAEgBEcN/AFBhAEhAgy7AwsgASAERw2KAkH/ACECDLoDCyABIARHDZECQf0AIQIMuQMLIAEgBEcNlAJB+wAhAgy4AwsgASAERw0eQR4hAgy3AwsgASAERw0ZQRghAgy2AwsgASAERw3KAkHNACECDLUDCyABIARHDdUCQcYAIQIMtAMLIAEgBEcN1gJBwwAhAgyzAwsgASAERw3cAkE4IQIMsgMLIAMtADBBAUYNrQMMiQMLQQAhAAJAAkACQCADLQAqRQ0AIAMtACtFDQAgAy8BMiICQQJxRQ0BDAILIAMvATIiAkEBcUUNAQtBASEAIAMtAChBAUYNACADLwE0IgZB5ABrQeQASQ0AIAZBzAFGDQAgBkGwAkYNACACQcAAcQ0AQQAhACACQYgEcUGABEYNACACQShxQQBHIQALIANBADsBMiADQQA6ADECQCAARQRAIANBADoAMSADLQAuQQRxDQEMsQMLIANCADcDIAsgA0EAOgAxIANBAToANgxIC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAARQ1IIABBFUcNYiADQQQ2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgyvAwsgASAERgRAQQYhAgyvAwsgAS0AAEEKRw0ZIAFBAWohAQwaCyADQgA3AyBBEiECDJQDCyABIARHDYoDQSMhAgysAwsgASAERgRAQQchAgysAwsCQAJAIAEtAABBCmsOBAEYGAAYCyABQQFqIQFBECECDJMDCyABQQFqIQEgA0Evai0AAEEBcQ0XQQAhAiADQQA2AhwgAyABNgIUIANBmSA2AhAgA0EZNgIMDKsDCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMWg0YQQghAgyqAwsgASAERwRAIANBCTYCCCADIAE2AgRBFCECDJEDC0EJIQIMqQMLIAMpAyBQDa4CDEMLIAEgBEYEQEELIQIMqAMLIAEtAABBCkcNFiABQQFqIQEMFwsgA0Evai0AAEEBcUUNGQwmC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRkMQgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0aDCQLQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGwwyCyADQS9qLQAAQQFxRQ0cDCILQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANHAxCC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADR0MIAsgASAERgRAQRMhAgygAwsCQCABLQAAIgBBCmsOBB8jIwAiCyABQQFqIQEMHwtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0iDEILIAEgBEYEQEEWIQIMngMLIAEtAABBwMEAai0AAEEBRw0jDIMDCwJAA0AgAS0AAEGwO2otAAAiAEEBRwRAAkAgAEECaw4CAwAnCyABQQFqIQFBISECDIYDCyAEIAFBAWoiAUcNAAtBGCECDJ0DCyADKAIEIQBBACECIANBADYCBCADIAAgAUEBaiIBEDQiAA0hDEELQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIwwqCyABIARGBEBBHCECDJsDCyADQQo2AgggAyABNgIEQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANJUEkIQIMgQMLIAEgBEcEQANAIAEtAABBsD1qLQAAIgBBA0cEQCAAQQFrDgUYGiaCAyUmCyAEIAFBAWoiAUcNAAtBGyECDJoDC0EbIQIMmQMLA0AgAS0AAEGwP2otAAAiAEEDRwRAIABBAWsOBQ8RJxMmJwsgBCABQQFqIgFHDQALQR4hAgyYAwsgASAERwRAIANBCzYCCCADIAE2AgRBByECDP8CC0EfIQIMlwMLIAEgBEYEQEEgIQIMlwMLAkAgAS0AAEENaw4ULj8/Pz8/Pz8/Pz8/Pz8/Pz8/PwA/C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAyWAwsgA0EvaiECA0AgASAERgRAQSEhAgyXAwsCQAJAAkAgAS0AACIAQQlrDhgCACkpASkpKSkpKSkpKSkpKSkpKSkpKQInCyABQQFqIQEgA0Evai0AAEEBcUUNCgwYCyABQQFqIQEMFwsgAUEBaiEBIAItAABBAnENAAtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwMlQMLIAMtAC5BgAFxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ3mAiAAQRVGBEAgA0EkNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMlAMLQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDJMDC0EAIQIgA0EANgIcIAMgATYCFCADQb4gNgIQIANBAjYCDAySAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEgDKdqIgEQMiIARQ0rIANBBzYCHCADIAE2AhQgAyAANgIMDJEDCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlgiAkUNACADIAIRAAAhAAsgAEUNKyAAQRVGBEAgA0EKNgIcIAMgATYCFCADQesZNgIQIANBFTYCDEEAIQIMkAMLQQAhAiADQQA2AhwgAyABNgIUIANBkww2AhAgA0ETNgIMDI8DC0EAIQIgA0EANgIcIAMgATYCFCADQYIVNgIQIANBAjYCDAyOAwtBACECIANBADYCHCADIAE2AhQgA0HdFDYCECADQRk2AgwMjQMLQQAhAiADQQA2AhwgAyABNgIUIANB5h02AhAgA0EZNgIMDIwDCyAAQRVGDT1BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMiwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUNKCADQQ02AhwgAyABNgIUIAMgADYCDAyKAwsgAEEVRg06QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIkDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCgLIANBDjYCHCADIAA2AgwgAyABQQFqNgIUDIgDCyAAQRVGDTdBACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMhwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEMJwsgA0EPNgIcIAMgADYCDCADIAFBAWo2AhQMhgMLQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDIUDCyAAQRVGDTNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwMhAMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUNJSADQRE2AhwgAyABNgIUIAMgADYCDAyDAwsgAEEVRg0wQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIIDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDCULIANBEjYCHCADIAA2AgwgAyABQQFqNgIUDIEDCyADQS9qLQAAQQFxRQ0BC0EXIQIM5gILQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDP4CCyAAQTtHDQAgAUEBaiEBDAwLQQAhAiADQQA2AhwgAyABNgIUIANBkhg2AhAgA0ECNgIMDPwCCyAAQRVGDShBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM+wILIANBFDYCHCADIAE2AhQgAyAANgIMDPoCCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDPUCCyADQRU2AhwgAyAANgIMIAMgAUEBajYCFAz5AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzzAgsgA0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkBIQIMoAILAkACQAJAIAEtAABBCmsOBAECAgACCyABQQFqIQEMAgsgAUEBaiEBDAELIAMtAC5BwABxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCPCICRQ0AIAMgAhEAACEACyAARQ2gASAAQRVGBEAgA0HZADYCHCADIAE2AhQgA0G3GjYCECADQRU2AgxBACECDJ8CCyADQQA2AhwgAyABNgIUIANBgA02AhAgA0EbNgIMQQAhAgyeAgsgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMnQILIAEgBEcEQCADQQw2AgggAyABNgIEQb8BIQIMhAILQdgBIQIMnAILIAEgBEYEQEHXASECDJwCCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEHBAGsOFQABAgNaBAUGWlpaBwgJCgsMDQ4PEFoLIAFBAWohAUH7ACECDJICCyABQQFqIQFB/AAhAgyRAgsgAUEBaiEBQYEBIQIMkAILIAFBAWohAUGFASECDI8CCyABQQFqIQFBhgEhAgyOAgsgAUEBaiEBQYkBIQIMjQILIAFBAWohAUGKASECDIwCCyABQQFqIQFBjQEhAgyLAgsgAUEBaiEBQZYBIQIMigILIAFBAWohAUGXASECDIkCCyABQQFqIQFBmAEhAgyIAgsgAUEBaiEBQaUBIQIMhwILIAFBAWohAUGmASECDIYCCyABQQFqIQFBrAEhAgyFAgsgAUEBaiEBQbQBIQIMhAILIAFBAWohAUG3ASECDIMCCyABQQFqIQFBvgEhAgyCAgsgASAERgRAQdYBIQIMmwILIAEtAABBzgBHDUggAUEBaiEBQb0BIQIMgQILIAEgBEYEQEHVASECDJoCCwJAAkACQCABLQAAQcIAaw4SAEpKSkpKSkpKSgFKSkpKSkoCSgsgAUEBaiEBQbgBIQIMggILIAFBAWohAUG7ASECDIECCyABQQFqIQFBvAEhAgyAAgtB1AEhAiABIARGDZgCIAMoAgAiACAEIAFraiEFIAEgAGtBB2ohBgJAA0AgAS0AACAAQajVAGotAABHDUUgAEEHRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJkCCyADQQA2AgAgBkEBaiEBQRsMRQsgASAERgRAQdMBIQIMmAILAkACQCABLQAAQckAaw4HAEdHR0dHAUcLIAFBAWohAUG5ASECDP8BCyABQQFqIQFBugEhAgz+AQtB0gEhAiABIARGDZYCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQabVAGotAABHDUMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJcCCyADQQA2AgAgBkEBaiEBQQ8MQwtB0QEhAiABIARGDZUCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQaTVAGotAABHDUIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYCCyADQQA2AgAgBkEBaiEBQSAMQgtB0AEhAiABIARGDZQCIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDUEgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJUCCyADQQA2AgAgBkEBaiEBQRIMQQsgASAERgRAQc8BIQIMlAILAkACQCABLQAAQcUAaw4OAENDQ0NDQ0NDQ0NDQwFDCyABQQFqIQFBtQEhAgz7AQsgAUEBaiEBQbYBIQIM+gELQc4BIQIgASAERg2SAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGe1QBqLQAARw0/IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyTAgsgA0EANgIAIAZBAWohAUEHDD8LQc0BIQIgASAERg2RAiADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGY1QBqLQAARw0+IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAySAgsgA0EANgIAIAZBAWohAUEoDD4LIAEgBEYEQEHMASECDJECCwJAAkACQCABLQAAQcUAaw4RAEFBQUFBQUFBQQFBQUFBQQJBCyABQQFqIQFBsQEhAgz5AQsgAUEBaiEBQbIBIQIM+AELIAFBAWohAUGzASECDPcBC0HLASECIAEgBEYNjwIgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBkdUAai0AAEcNPCAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEH51ABqLQAARw0yIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyGAgsgA0EANgIAIAZBAWohAUErDDILQcABIQIgASAERg2EAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH21ABqLQAARw0xIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyFAgsgA0EANgIAIAZBAWohAUEsDDELQb8BIQIgASAERg2DAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0wIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyEAgsgA0EANgIAIAZBAWohAUERDDALQb4BIQIgASAERg2CAiADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHy1ABqLQAARw0vIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyDAgsgA0EANgIAIAZBAWohAUEuDC8LIAEgBEYEQEG9ASECDIICCwJAAkACQAJAAkAgAS0AAEHBAGsOFQA0NDQ0NDQ0NDQ0ATQ0AjQ0AzQ0BDQLIAFBAWohAUGbASECDOwBCyABQQFqIQFBnAEhAgzrAQsgAUEBaiEBQZ0BIQIM6gELIAFBAWohAUGiASECDOkBCyABQQFqIQFBpAEhAgzoAQsgASAERgRAQbwBIQIMgQILAkACQCABLQAAQdIAaw4DADABMAsgAUEBaiEBQaMBIQIM6AELIAFBAWohAUEEDC0LQbsBIQIgASAERg3/ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHw1ABqLQAARw0sIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyAAgsgA0EANgIAIAZBAWohAUEdDCwLIAEgBEYEQEG6ASECDP8BCwJAAkAgAS0AAEHJAGsOBwEuLi4uLgAuCyABQQFqIQFBoQEhAgzmAQsgAUEBaiEBQSIMKwsgASAERgRAQbkBIQIM/gELIAEtAABB0ABHDSsgAUEBaiEBQaABIQIM5AELIAEgBEYEQEG4ASECDP0BCwJAAkAgAS0AAEHGAGsOCwAsLCwsLCwsLCwBLAsgAUEBaiEBQZ4BIQIM5AELIAFBAWohAUGfASECDOMBC0G3ASECIAEgBEYN+wEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB7NQAai0AAEcNKCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/AELIANBADYCACAGQQFqIQFBDQwoC0G2ASECIAEgBEYN+gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNJyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+wELIANBADYCACAGQQFqIQFBDAwnC0G1ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6tQAai0AAEcNJiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBAwwmC0G0ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6NQAai0AAEcNJSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBJgwlCyABIARGBEBBswEhAgz4AQsCQAJAIAEtAABB1ABrDgIAAScLIAFBAWohAUGZASECDN8BCyABQQFqIQFBmgEhAgzeAQtBsgEhAiABIARGDfYBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQebUAGotAABHDSMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPcBCyADQQA2AgAgBkEBaiEBQScMIwtBsQEhAiABIARGDfUBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQeTUAGotAABHDSIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPYBCyADQQA2AgAgBkEBaiEBQRwMIgtBsAEhAiABIARGDfQBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQd7UAGotAABHDSEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPUBCyADQQA2AgAgBkEBaiEBQQYMIQtBrwEhAiABIARGDfMBIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQdnUAGotAABHDSAgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPQBCyADQQA2AgAgBkEBaiEBQRkMIAsgASAERgRAQa4BIQIM8wELAkACQAJAAkAgAS0AAEEtaw4jACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkASQkJCQkAiQkJAMkCyABQQFqIQFBjgEhAgzcAQsgAUEBaiEBQY8BIQIM2wELIAFBAWohAUGUASECDNoBCyABQQFqIQFBlQEhAgzZAQtBrQEhAiABIARGDfEBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQdfUAGotAABHDR4gAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPIBCyADQQA2AgAgBkEBaiEBQQsMHgsgASAERgRAQawBIQIM8QELAkACQCABLQAAQcEAaw4DACABIAsgAUEBaiEBQZABIQIM2AELIAFBAWohAUGTASECDNcBCyABIARGBEBBqwEhAgzwAQsCQAJAIAEtAABBwQBrDg8AHx8fHx8fHx8fHx8fHwEfCyABQQFqIQFBkQEhAgzXAQsgAUEBaiEBQZIBIQIM1gELIAEgBEYEQEGqASECDO8BCyABLQAAQcwARw0cIAFBAWohAUEKDBsLQakBIQIgASAERg3tASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHR1ABqLQAARw0aIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzuAQsgA0EANgIAIAZBAWohAUEeDBoLQagBIQIgASAERg3sASADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEHK1ABqLQAARw0ZIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAztAQsgA0EANgIAIAZBAWohAUEVDBkLQacBIQIgASAERg3rASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHH1ABqLQAARw0YIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
var wasmBuffer;
Object.defineProperty(module2, "exports", {
get: () => {
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer6.from(wasmBase64, "base64");
}
});
}
});
// node_modules/undici/lib/web/fetch/constants.js
var require_constants6 = __commonJS({
"node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
"use strict";
var corsSafeListedMethods = (
/** @type {const} */
["GET", "HEAD", "POST"]
);
var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
var nullBodyStatus = (
/** @type {const} */
[101, 204, 205, 304]
);
var redirectStatus = (
/** @type {const} */
[301, 302, 303, 307, 308]
);
var redirectStatusSet = new Set(redirectStatus);
var badPorts = (
/** @type {const} */
[
"1",
"7",
"9",
"11",
"13",
"15",
"17",
"19",
"20",
"21",
"22",
"23",
"25",
"37",
"42",
"43",
"53",
"69",
"77",
"79",
"87",
"95",
"101",
"102",
"103",
"104",
"109",
"110",
"111",
"113",
"115",
"117",
"119",
"123",
"135",
"137",
"139",
"143",
"161",
"179",
"389",
"427",
"465",
"512",
"513",
"514",
"515",
"526",
"530",
"531",
"532",
"540",
"548",
"554",
"556",
"563",
"587",
"601",
"636",
"989",
"990",
"993",
"995",
"1719",
"1720",
"1723",
"2049",
"3659",
"4045",
"4190",
"5060",
"5061",
"6000",
"6566",
"6665",
"6666",
"6667",
"6668",
"6669",
"6679",
"6697",
"10080"
]
);
var badPortsSet = new Set(badPorts);
var referrerPolicyTokens = (
/** @type {const} */
[
"no-referrer",
"no-referrer-when-downgrade",
"same-origin",
"origin",
"strict-origin",
"origin-when-cross-origin",
"strict-origin-when-cross-origin",
"unsafe-url"
]
);
var referrerPolicy = (
/** @type {const} */
[
"",
...referrerPolicyTokens
]
);
var referrerPolicyTokensSet = new Set(referrerPolicyTokens);
var requestRedirect = (
/** @type {const} */
["follow", "manual", "error"]
);
var safeMethods = (
/** @type {const} */
["GET", "HEAD", "OPTIONS", "TRACE"]
);
var safeMethodsSet = new Set(safeMethods);
var requestMode = (
/** @type {const} */
["navigate", "same-origin", "no-cors", "cors"]
);
var requestCredentials = (
/** @type {const} */
["omit", "same-origin", "include"]
);
var requestCache = (
/** @type {const} */
[
"default",
"no-store",
"reload",
"no-cache",
"force-cache",
"only-if-cached"
]
);
var requestBodyHeader = (
/** @type {const} */
[
"content-encoding",
"content-language",
"content-location",
"content-type",
// See https://github.com/nodejs/undici/issues/2021
// 'Content-Length' is a forbidden header name, which is typically
// removed in the Headers implementation. However, undici doesn't
// filter out headers, so we add it here.
"content-length"
]
);
var requestDuplex = (
/** @type {const} */
[
"half"
]
);
var forbiddenMethods = (
/** @type {const} */
["CONNECT", "TRACE", "TRACK"]
);
var forbiddenMethodsSet = new Set(forbiddenMethods);
var subresource = (
/** @type {const} */
[
"audio",
"audioworklet",
"font",
"image",
"manifest",
"paintworklet",
"script",
"style",
"track",
"video",
"xslt",
""
]
);
var subresourceSet = new Set(subresource);
module2.exports = {
subresource,
forbiddenMethods,
requestBodyHeader,
referrerPolicy,
requestRedirect,
requestMode,
requestCredentials,
requestCache,
redirectStatus,
corsSafeListedMethods,
nullBodyStatus,
safeMethods,
badPorts,
requestDuplex,
subresourceSet,
badPortsSet,
redirectStatusSet,
corsSafeListedMethodsSet,
safeMethodsSet,
forbiddenMethodsSet,
referrerPolicyTokens: referrerPolicyTokensSet
};
}
});
// node_modules/undici/lib/web/fetch/global.js
var require_global = __commonJS({
"node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
"use strict";
var globalOrigin = Symbol.for("undici.globalOrigin.1");
function getGlobalOrigin() {
return globalThis[globalOrigin];
}
function setGlobalOrigin(newOrigin) {
if (newOrigin === void 0) {
Object.defineProperty(globalThis, globalOrigin, {
value: void 0,
writable: true,
enumerable: false,
configurable: false
});
return;
}
const parsedURL = new URL(newOrigin);
if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
}
Object.defineProperty(globalThis, globalOrigin, {
value: parsedURL,
writable: true,
enumerable: false,
configurable: false
});
}
module2.exports = {
getGlobalOrigin,
setGlobalOrigin
};
}
});
// node_modules/undici/lib/encoding/index.js
var require_encoding = __commonJS({
"node_modules/undici/lib/encoding/index.js"(exports2, module2) {
"use strict";
var textDecoder2 = new TextDecoder();
function utf8DecodeBytes(buffer) {
if (buffer.length === 0) {
return "";
}
if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
buffer = buffer.subarray(3);
}
const output = textDecoder2.decode(buffer);
return output;
}
module2.exports = {
utf8DecodeBytes
};
}
});
// node_modules/undici/lib/web/infra/index.js
var require_infra = __commonJS({
"node_modules/undici/lib/web/infra/index.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { utf8DecodeBytes } = require_encoding();
function collectASequenceOfCodePoints(condition, input, position) {
let result2 = "";
while (position.position < input.length && condition(input[position.position])) {
result2 += input[position.position];
position.position++;
}
return result2;
}
function collectASequenceOfCodePointsFast(char, input, position) {
const idx = input.indexOf(char, position.position);
const start2 = position.position;
if (idx === -1) {
position.position = input.length;
return input.slice(start2);
}
position.position = idx;
return input.slice(start2, position.position);
}
var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
function forgivingBase64(data) {
data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
let dataLength = data.length;
if (dataLength % 4 === 0) {
if (data.charCodeAt(dataLength - 1) === 61) {
--dataLength;
if (data.charCodeAt(dataLength - 1) === 61) {
--dataLength;
}
}
}
if (dataLength % 4 === 1) {
return "failure";
}
if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
return "failure";
}
const buffer = Buffer.from(data, "base64");
return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
}
function isASCIIWhitespace(char) {
return char === 9 || // \t
char === 10 || // \n
char === 12 || // \f
char === 13 || // \r
char === 32;
}
function isomorphicDecode(input) {
const length = input.length;
if ((2 << 15) - 1 > length) {
return String.fromCharCode.apply(null, input);
}
let result2 = "";
let i3 = 0;
let addition = (2 << 15) - 1;
while (i3 < length) {
if (i3 + addition > length) {
addition = length - i3;
}
result2 += String.fromCharCode.apply(null, input.subarray(i3, i3 += addition));
}
return result2;
}
var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
function isomorphicEncode(input) {
assert3(!invalidIsomorphicEncodeValueRegex.test(input));
return input;
}
function parseJSONFromBytes(bytes) {
return JSON.parse(utf8DecodeBytes(bytes));
}
function removeASCIIWhitespace(str2, leading = true, trailing = true) {
return removeChars(str2, leading, trailing, isASCIIWhitespace);
}
function removeChars(str2, leading, trailing, predicate) {
let lead = 0;
let trail = str2.length - 1;
if (leading) {
while (lead < str2.length && predicate(str2.charCodeAt(lead))) lead++;
}
if (trailing) {
while (trail > 0 && predicate(str2.charCodeAt(trail))) trail--;
}
return lead === 0 && trail === str2.length - 1 ? str2 : str2.slice(lead, trail + 1);
}
function serializeJavascriptValueToJSONString(value) {
const result2 = JSON.stringify(value);
if (result2 === void 0) {
throw new TypeError("Value is not JSON serializable");
}
assert3(typeof result2 === "string");
return result2;
}
module2.exports = {
collectASequenceOfCodePoints,
collectASequenceOfCodePointsFast,
forgivingBase64,
isASCIIWhitespace,
isomorphicDecode,
isomorphicEncode,
parseJSONFromBytes,
removeASCIIWhitespace,
removeChars,
serializeJavascriptValueToJSONString
};
}
});
// node_modules/undici/lib/web/fetch/data-url.js
var require_data_url = __commonJS({
"node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
var encoder = new TextEncoder();
var HTTP_TOKEN_CODEPOINTS = /^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u;
var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/u;
var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;
function dataURLProcessor(dataURL) {
assert3(dataURL.protocol === "data:");
let input = URLSerializer(dataURL, true);
input = input.slice(5);
const position = { position: 0 };
let mimeType = collectASequenceOfCodePointsFast(
",",
input,
position
);
const mimeTypeLength = mimeType.length;
mimeType = removeASCIIWhitespace(mimeType, true, true);
if (position.position >= input.length) {
return "failure";
}
position.position++;
const encodedBody = input.slice(mimeTypeLength + 1);
let body2 = stringPercentDecode(encodedBody);
if (/;(?:\u0020*)base64$/ui.test(mimeType)) {
const stringBody = isomorphicDecode(body2);
body2 = forgivingBase64(stringBody);
if (body2 === "failure") {
return "failure";
}
mimeType = mimeType.slice(0, -6);
mimeType = mimeType.replace(/(\u0020+)$/u, "");
mimeType = mimeType.slice(0, -1);
}
if (mimeType.startsWith(";")) {
mimeType = "text/plain" + mimeType;
}
let mimeTypeRecord = parseMIMEType(mimeType);
if (mimeTypeRecord === "failure") {
mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
}
return { mimeType: mimeTypeRecord, body: body2 };
}
function URLSerializer(url3, excludeFragment = false) {
if (!excludeFragment) {
return url3.href;
}
const href = url3.href;
const hashLength = url3.hash.length;
const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
if (!hashLength && href.endsWith("#")) {
return serialized.slice(0, -1);
}
return serialized;
}
function stringPercentDecode(input) {
const bytes = encoder.encode(input);
return percentDecode(bytes);
}
function isHexCharByte(byte) {
return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
}
function hexByteToNumber(byte) {
return (
// 0-9
byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
);
}
function percentDecode(input) {
const length = input.length;
const output = new Uint8Array(length);
let j = 0;
let i3 = 0;
while (i3 < length) {
const byte = input[i3];
if (byte !== 37) {
output[j++] = byte;
} else if (byte === 37 && !(isHexCharByte(input[i3 + 1]) && isHexCharByte(input[i3 + 2]))) {
output[j++] = 37;
} else {
output[j++] = hexByteToNumber(input[i3 + 1]) << 4 | hexByteToNumber(input[i3 + 2]);
i3 += 2;
}
++i3;
}
return length === j ? output : output.subarray(0, j);
}
function parseMIMEType(input) {
input = removeHTTPWhitespace(input, true, true);
const position = { position: 0 };
const type2 = collectASequenceOfCodePointsFast(
"/",
input,
position
);
if (type2.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type2)) {
return "failure";
}
if (position.position >= input.length) {
return "failure";
}
position.position++;
let subtype = collectASequenceOfCodePointsFast(
";",
input,
position
);
subtype = removeHTTPWhitespace(subtype, false, true);
if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
return "failure";
}
const typeLowercase = type2.toLowerCase();
const subtypeLowercase = subtype.toLowerCase();
const mimeType = {
type: typeLowercase,
subtype: subtypeLowercase,
/** @type {Map<string, string>} */
parameters: /* @__PURE__ */ new Map(),
// https://mimesniff.spec.whatwg.org/#mime-type-essence
essence: `${typeLowercase}/${subtypeLowercase}`
};
while (position.position < input.length) {
position.position++;
collectASequenceOfCodePoints(
// https://fetch.spec.whatwg.org/#http-whitespace
(char) => HTTP_WHITESPACE_REGEX.test(char),
input,
position
);
let parameterName = collectASequenceOfCodePoints(
(char) => char !== ";" && char !== "=",
input,
position
);
parameterName = parameterName.toLowerCase();
if (position.position < input.length) {
if (input[position.position] === ";") {
continue;
}
position.position++;
}
if (position.position >= input.length) {
break;
}
let parameterValue = null;
if (input[position.position] === '"') {
parameterValue = collectAnHTTPQuotedString(input, position, true);
collectASequenceOfCodePointsFast(
";",
input,
position
);
} else {
parameterValue = collectASequenceOfCodePointsFast(
";",
input,
position
);
parameterValue = removeHTTPWhitespace(parameterValue, false, true);
if (parameterValue.length === 0) {
continue;
}
}
if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
mimeType.parameters.set(parameterName, parameterValue);
}
}
return mimeType;
}
function collectAnHTTPQuotedString(input, position, extractValue = false) {
const positionStart = position.position;
let value = "";
assert3(input[position.position] === '"');
position.position++;
while (true) {
value += collectASequenceOfCodePoints(
(char) => char !== '"' && char !== "\\",
input,
position
);
if (position.position >= input.length) {
break;
}
const quoteOrBackslash = input[position.position];
position.position++;
if (quoteOrBackslash === "\\") {
if (position.position >= input.length) {
value += "\\";
break;
}
value += input[position.position];
position.position++;
} else {
assert3(quoteOrBackslash === '"');
break;
}
}
if (extractValue) {
return value;
}
return input.slice(positionStart, position.position);
}
function serializeAMimeType(mimeType) {
assert3(mimeType !== "failure");
const { parameters, essence } = mimeType;
let serialization = essence;
for (let [name3, value] of parameters.entries()) {
serialization += ";";
serialization += name3;
serialization += "=";
if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
value = value.replace(/[\\"]/ug, "\\$&");
value = '"' + value;
value += '"';
}
serialization += value;
}
return serialization;
}
function isHTTPWhiteSpace(char) {
return char === 13 || char === 10 || char === 9 || char === 32;
}
function removeHTTPWhitespace(str2, leading = true, trailing = true) {
return removeChars(str2, leading, trailing, isHTTPWhiteSpace);
}
function minimizeSupportedMimeType(mimeType) {
switch (mimeType.essence) {
case "application/ecmascript":
case "application/javascript":
case "application/x-ecmascript":
case "application/x-javascript":
case "text/ecmascript":
case "text/javascript":
case "text/javascript1.0":
case "text/javascript1.1":
case "text/javascript1.2":
case "text/javascript1.3":
case "text/javascript1.4":
case "text/javascript1.5":
case "text/jscript":
case "text/livescript":
case "text/x-ecmascript":
case "text/x-javascript":
return "text/javascript";
case "application/json":
case "text/json":
return "application/json";
case "image/svg+xml":
return "image/svg+xml";
case "text/xml":
case "application/xml":
return "application/xml";
}
if (mimeType.subtype.endsWith("+json")) {
return "application/json";
}
if (mimeType.subtype.endsWith("+xml")) {
return "application/xml";
}
return "";
}
module2.exports = {
dataURLProcessor,
URLSerializer,
stringPercentDecode,
parseMIMEType,
collectAnHTTPQuotedString,
serializeAMimeType,
removeHTTPWhitespace,
minimizeSupportedMimeType,
HTTP_TOKEN_CODEPOINTS
};
}
});
// node_modules/undici/lib/util/runtime-features.js
var require_runtime_features = __commonJS({
"node_modules/undici/lib/util/runtime-features.js"(exports2, module2) {
"use strict";
var lazyLoaders = {
__proto__: null,
"node:crypto": () => __require("node:crypto"),
"node:sqlite": () => __require("node:sqlite"),
"node:worker_threads": () => __require("node:worker_threads"),
"node:zlib": () => __require("node:zlib")
};
function detectRuntimeFeatureByNodeModule(moduleName2) {
try {
lazyLoaders[moduleName2]();
return true;
} catch (err2) {
if (err2.code !== "ERR_UNKNOWN_BUILTIN_MODULE" && err2.code !== "ERR_NO_CRYPTO") {
throw err2;
}
return false;
}
}
function detectRuntimeFeatureByExportedProperty(moduleName2, property) {
const module3 = lazyLoaders[moduleName2]();
return typeof module3[property] !== "undefined";
}
var runtimeFeaturesByExportedProperty = (
/** @type {const} */
["markAsUncloneable", "zstd"]
);
var exportedPropertyLookup = {
markAsUncloneable: ["node:worker_threads", "markAsUncloneable"],
zstd: ["node:zlib", "createZstdDecompress"]
};
var runtimeFeaturesAsNodeModule = (
/** @type {const} */
["crypto", "sqlite"]
);
var features = (
/** @type {const} */
[
...runtimeFeaturesAsNodeModule,
...runtimeFeaturesByExportedProperty
]
);
function detectRuntimeFeature(feature) {
if (runtimeFeaturesAsNodeModule.includes(
/** @type {RuntimeFeatureByNodeModule} */
feature
)) {
return detectRuntimeFeatureByNodeModule(`node:${feature}`);
} else if (runtimeFeaturesByExportedProperty.includes(
/** @type {RuntimeFeatureByExportedProperty} */
feature
)) {
const [moduleName2, property] = exportedPropertyLookup[feature];
return detectRuntimeFeatureByExportedProperty(moduleName2, property);
}
throw new TypeError(`unknown feature: ${feature}`);
}
var RuntimeFeatures = class {
/** @type {Map<Feature, boolean>} */
#map = /* @__PURE__ */ new Map();
/**
* Clears all cached feature detections.
*/
clear() {
this.#map.clear();
}
/**
* @param {Feature} feature
* @returns {boolean}
*/
has(feature) {
return this.#map.get(feature) ?? this.#detectRuntimeFeature(feature);
}
/**
* @param {Feature} feature
* @param {boolean} value
*/
set(feature, value) {
if (features.includes(feature) === false) {
throw new TypeError(`unknown feature: ${feature}`);
}
this.#map.set(feature, value);
}
/**
* @param {Feature} feature
* @returns {boolean}
*/
#detectRuntimeFeature(feature) {
const result2 = detectRuntimeFeature(feature);
this.#map.set(feature, result2);
return result2;
}
};
var instance2 = new RuntimeFeatures();
module2.exports.runtimeFeatures = instance2;
module2.exports.default = instance2;
}
});
// node_modules/undici/lib/web/webidl/index.js
var require_webidl = __commonJS({
"node_modules/undici/lib/web/webidl/index.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { types: types3, inspect: inspect4 } = __require("node:util");
var { runtimeFeatures } = require_runtime_features();
var UNDEFINED = 1;
var BOOLEAN = 2;
var STRING = 3;
var SYMBOL = 4;
var NUMBER = 5;
var BIGINT = 6;
var NULL2 = 7;
var OBJECT = 8;
var FunctionPrototypeSymbolHasInstance = Function.call.bind(Function.prototype[Symbol.hasInstance]);
var webidl = {
converters: {},
util: {},
errors: {},
is: {}
};
webidl.errors.exception = function(message) {
return new TypeError(`${message.header}: ${message.message}`);
};
webidl.errors.conversionFailed = function(opts) {
const plural = opts.types.length === 1 ? "" : " one of";
const message = `${opts.argument} could not be converted to${plural}: ${opts.types.join(", ")}.`;
return webidl.errors.exception({
header: opts.prefix,
message
});
};
webidl.errors.invalidArgument = function(context2) {
return webidl.errors.exception({
header: context2.prefix,
message: `"${context2.value}" is an invalid ${context2.type}.`
});
};
webidl.brandCheck = function(V2, I2) {
if (!FunctionPrototypeSymbolHasInstance(I2, V2)) {
const err2 = new TypeError("Illegal invocation");
err2.code = "ERR_INVALID_THIS";
throw err2;
}
};
webidl.brandCheckMultiple = function(List2) {
const prototypes = List2.map((c4) => webidl.util.MakeTypeAssertion(c4));
return (V2) => {
if (prototypes.every((typeCheck) => !typeCheck(V2))) {
const err2 = new TypeError("Illegal invocation");
err2.code = "ERR_INVALID_THIS";
throw err2;
}
};
};
webidl.argumentLengthCheck = function({ length }, min, ctx) {
if (length < min) {
throw webidl.errors.exception({
message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
header: ctx
});
}
};
webidl.illegalConstructor = function() {
throw webidl.errors.exception({
header: "TypeError",
message: "Illegal constructor"
});
};
webidl.util.MakeTypeAssertion = function(I2) {
return (O) => FunctionPrototypeSymbolHasInstance(I2, O);
};
webidl.util.Type = function(V2) {
switch (typeof V2) {
case "undefined":
return UNDEFINED;
case "boolean":
return BOOLEAN;
case "string":
return STRING;
case "symbol":
return SYMBOL;
case "number":
return NUMBER;
case "bigint":
return BIGINT;
case "function":
case "object": {
if (V2 === null) {
return NULL2;
}
return OBJECT;
}
}
};
webidl.util.Types = {
UNDEFINED,
BOOLEAN,
STRING,
SYMBOL,
NUMBER,
BIGINT,
NULL: NULL2,
OBJECT
};
webidl.util.TypeValueToString = function(o3) {
switch (webidl.util.Type(o3)) {
case UNDEFINED:
return "Undefined";
case BOOLEAN:
return "Boolean";
case STRING:
return "String";
case SYMBOL:
return "Symbol";
case NUMBER:
return "Number";
case BIGINT:
return "BigInt";
case NULL2:
return "Null";
case OBJECT:
return "Object";
}
};
webidl.util.markAsUncloneable = runtimeFeatures.has("markAsUncloneable") ? __require("node:worker_threads").markAsUncloneable : () => {
};
webidl.util.ConvertToInt = function(V2, bitLength, signedness, flags2) {
let upperBound;
let lowerBound;
if (bitLength === 64) {
upperBound = Math.pow(2, 53) - 1;
if (signedness === "unsigned") {
lowerBound = 0;
} else {
lowerBound = Math.pow(-2, 53) + 1;
}
} else if (signedness === "unsigned") {
lowerBound = 0;
upperBound = Math.pow(2, bitLength) - 1;
} else {
lowerBound = Math.pow(-2, bitLength) - 1;
upperBound = Math.pow(2, bitLength - 1) - 1;
}
let x = Number(V2);
if (x === 0) {
x = 0;
}
if (webidl.util.HasFlag(flags2, webidl.attributes.EnforceRange)) {
if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
throw webidl.errors.exception({
header: "Integer conversion",
message: `Could not convert ${webidl.util.Stringify(V2)} to an integer.`
});
}
x = webidl.util.IntegerPart(x);
if (x < lowerBound || x > upperBound) {
throw webidl.errors.exception({
header: "Integer conversion",
message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
});
}
return x;
}
if (!Number.isNaN(x) && webidl.util.HasFlag(flags2, webidl.attributes.Clamp)) {
x = Math.min(Math.max(x, lowerBound), upperBound);
if (Math.floor(x) % 2 === 0) {
x = Math.floor(x);
} else {
x = Math.ceil(x);
}
return x;
}
if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
return 0;
}
x = webidl.util.IntegerPart(x);
x = x % Math.pow(2, bitLength);
if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
return x - Math.pow(2, bitLength);
}
return x;
};
webidl.util.IntegerPart = function(n3) {
const r2 = Math.floor(Math.abs(n3));
if (n3 < 0) {
return -1 * r2;
}
return r2;
};
webidl.util.Stringify = function(V2) {
const type2 = webidl.util.Type(V2);
switch (type2) {
case SYMBOL:
return `Symbol(${V2.description})`;
case OBJECT:
return inspect4(V2);
case STRING:
return `"${V2}"`;
case BIGINT:
return `${V2}n`;
default:
return `${V2}`;
}
};
webidl.util.IsResizableArrayBuffer = function(V2) {
if (types3.isArrayBuffer(V2)) {
return V2.resizable;
}
if (types3.isSharedArrayBuffer(V2)) {
return V2.growable;
}
throw webidl.errors.exception({
header: "IsResizableArrayBuffer",
message: `"${webidl.util.Stringify(V2)}" is not an array buffer.`
});
};
webidl.util.HasFlag = function(flags2, attributes) {
return typeof flags2 === "number" && (flags2 & attributes) === attributes;
};
webidl.sequenceConverter = function(converter) {
return (V2, prefix, argument, Iterable) => {
if (webidl.util.Type(V2) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} (${webidl.util.Stringify(V2)}) is not iterable.`
});
}
const method = typeof Iterable === "function" ? Iterable() : V2?.[Symbol.iterator]?.();
const seq2 = [];
let index = 0;
if (method === void 0 || typeof method.next !== "function") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is not iterable.`
});
}
while (true) {
const { done, value } = method.next();
if (done) {
break;
}
seq2.push(converter(value, prefix, `${argument}[${index++}]`));
}
return seq2;
};
};
webidl.recordConverter = function(keyConverter, valueConverter) {
return (O, prefix, argument) => {
if (webidl.util.Type(O) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} ("${webidl.util.TypeValueToString(O)}") is not an Object.`
});
}
const result2 = {};
if (!types3.isProxy(O)) {
const keys2 = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
for (const key of keys2) {
const keyName = webidl.util.Stringify(key);
const typedKey = keyConverter(key, prefix, `Key ${keyName} in ${argument}`);
const typedValue = valueConverter(O[key], prefix, `${argument}[${keyName}]`);
result2[typedKey] = typedValue;
}
return result2;
}
const keys = Reflect.ownKeys(O);
for (const key of keys) {
const desc = Reflect.getOwnPropertyDescriptor(O, key);
if (desc?.enumerable) {
const typedKey = keyConverter(key, prefix, argument);
const typedValue = valueConverter(O[key], prefix, argument);
result2[typedKey] = typedValue;
}
}
return result2;
};
};
webidl.interfaceConverter = function(TypeCheck, name3) {
return (V2, prefix, argument) => {
if (!TypeCheck(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `Expected ${argument} ("${webidl.util.Stringify(V2)}") to be an instance of ${name3}.`
});
}
return V2;
};
};
webidl.dictionaryConverter = function(converters) {
converters.sort((a2, b) => (a2.key > b.key) - (a2.key < b.key));
return (dictionary, prefix, argument) => {
const dict = {};
if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
});
}
for (const options of converters) {
const { key, defaultValue, required: required2, converter } = options;
if (required2 === true) {
if (dictionary == null || !Object.hasOwn(dictionary, key)) {
throw webidl.errors.exception({
header: prefix,
message: `Missing required key "${key}".`
});
}
}
let value = dictionary?.[key];
const hasDefault = defaultValue !== void 0;
if (hasDefault && value === void 0) {
value = defaultValue();
}
if (required2 || hasDefault || value !== void 0) {
value = converter(value, prefix, `${argument}.${key}`);
if (options.allowedValues && !options.allowedValues.includes(value)) {
throw webidl.errors.exception({
header: prefix,
message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
});
}
dict[key] = value;
}
}
return dict;
};
};
webidl.nullableConverter = function(converter) {
return (V2, prefix, argument) => {
if (V2 === null) {
return V2;
}
return converter(V2, prefix, argument);
};
};
webidl.is.USVString = function(value) {
return typeof value === "string" && value.isWellFormed();
};
webidl.is.ReadableStream = webidl.util.MakeTypeAssertion(ReadableStream);
webidl.is.Blob = webidl.util.MakeTypeAssertion(Blob);
webidl.is.URLSearchParams = webidl.util.MakeTypeAssertion(URLSearchParams);
webidl.is.File = webidl.util.MakeTypeAssertion(File);
webidl.is.URL = webidl.util.MakeTypeAssertion(URL);
webidl.is.AbortSignal = webidl.util.MakeTypeAssertion(AbortSignal);
webidl.is.MessagePort = webidl.util.MakeTypeAssertion(MessagePort);
webidl.is.BufferSource = function(V2) {
return types3.isArrayBuffer(V2) || ArrayBuffer.isView(V2) && types3.isArrayBuffer(V2.buffer);
};
webidl.util.getCopyOfBytesHeldByBufferSource = function(bufferSource) {
const jsBufferSource = bufferSource;
let jsArrayBuffer = jsBufferSource;
let offset = 0;
let length = 0;
if (types3.isTypedArray(jsBufferSource) || types3.isDataView(jsBufferSource)) {
jsArrayBuffer = jsBufferSource.buffer;
offset = jsBufferSource.byteOffset;
length = jsBufferSource.byteLength;
} else {
assert3(types3.isAnyArrayBuffer(jsBufferSource));
length = jsBufferSource.byteLength;
}
if (jsArrayBuffer.detached) {
return new Uint8Array(0);
}
const bytes = new Uint8Array(length);
const view = new Uint8Array(jsArrayBuffer, offset, length);
bytes.set(view);
return bytes;
};
webidl.converters.DOMString = function(V2, prefix, argument, flags2) {
if (V2 === null && webidl.util.HasFlag(flags2, webidl.attributes.LegacyNullToEmptyString)) {
return "";
}
if (typeof V2 === "symbol") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is a symbol, which cannot be converted to a DOMString.`
});
}
return String(V2);
};
webidl.converters.ByteString = function(V2, prefix, argument) {
if (typeof V2 === "symbol") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is a symbol, which cannot be converted to a ByteString.`
});
}
const x = String(V2);
for (let index = 0; index < x.length; index++) {
if (x.charCodeAt(index) > 255) {
throw new TypeError(
`Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
);
}
}
return x;
};
webidl.converters.USVString = function(value) {
if (typeof value === "string") {
return value.toWellFormed();
}
return `${value}`.toWellFormed();
};
webidl.converters.boolean = function(V2) {
const x = Boolean(V2);
return x;
};
webidl.converters.any = function(V2) {
return V2;
};
webidl.converters["long long"] = function(V2, prefix, argument) {
const x = webidl.util.ConvertToInt(V2, 64, "signed", 0, prefix, argument);
return x;
};
webidl.converters["unsigned long long"] = function(V2, prefix, argument) {
const x = webidl.util.ConvertToInt(V2, 64, "unsigned", 0, prefix, argument);
return x;
};
webidl.converters["unsigned long"] = function(V2, prefix, argument) {
const x = webidl.util.ConvertToInt(V2, 32, "unsigned", 0, prefix, argument);
return x;
};
webidl.converters["unsigned short"] = function(V2, prefix, argument, flags2) {
const x = webidl.util.ConvertToInt(V2, 16, "unsigned", flags2, prefix, argument);
return x;
};
webidl.converters.ArrayBuffer = function(V2, prefix, argument, flags2) {
if (webidl.util.Type(V2) !== OBJECT || !types3.isArrayBuffer(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBuffer"]
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a resizable ArrayBuffer.`
});
}
return V2;
};
webidl.converters.SharedArrayBuffer = function(V2, prefix, argument, flags2) {
if (webidl.util.Type(V2) !== OBJECT || !types3.isSharedArrayBuffer(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["SharedArrayBuffer"]
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a resizable SharedArrayBuffer.`
});
}
return V2;
};
webidl.converters.TypedArray = function(V2, T, prefix, argument, flags2) {
if (webidl.util.Type(V2) !== OBJECT || !types3.isTypedArray(V2) || V2.constructor.name !== T.name) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: [T.name]
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowShared) && types3.isSharedArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V2;
};
webidl.converters.DataView = function(V2, prefix, argument, flags2) {
if (webidl.util.Type(V2) !== OBJECT || !types3.isDataView(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["DataView"]
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowShared) && types3.isSharedArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V2;
};
webidl.converters.ArrayBufferView = function(V2, prefix, argument, flags2) {
if (webidl.util.Type(V2) !== OBJECT || !types3.isArrayBufferView(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBufferView"]
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowShared) && types3.isSharedArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags2, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V2;
};
webidl.converters.BufferSource = function(V2, prefix, argument, flags2) {
if (types3.isArrayBuffer(V2)) {
return webidl.converters.ArrayBuffer(V2, prefix, argument, flags2);
}
if (types3.isArrayBufferView(V2)) {
flags2 &= ~webidl.attributes.AllowShared;
return webidl.converters.ArrayBufferView(V2, prefix, argument, flags2);
}
if (types3.isSharedArrayBuffer(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a SharedArrayBuffer.`
});
}
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBuffer", "ArrayBufferView"]
});
};
webidl.converters.AllowSharedBufferSource = function(V2, prefix, argument, flags2) {
if (types3.isArrayBuffer(V2)) {
return webidl.converters.ArrayBuffer(V2, prefix, argument, flags2);
}
if (types3.isSharedArrayBuffer(V2)) {
return webidl.converters.SharedArrayBuffer(V2, prefix, argument, flags2);
}
if (types3.isArrayBufferView(V2)) {
flags2 |= webidl.attributes.AllowShared;
return webidl.converters.ArrayBufferView(V2, prefix, argument, flags2);
}
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBuffer", "SharedArrayBuffer", "ArrayBufferView"]
});
};
webidl.converters["sequence<ByteString>"] = webidl.sequenceConverter(
webidl.converters.ByteString
);
webidl.converters["sequence<sequence<ByteString>>"] = webidl.sequenceConverter(
webidl.converters["sequence<ByteString>"]
);
webidl.converters["record<ByteString, ByteString>"] = webidl.recordConverter(
webidl.converters.ByteString,
webidl.converters.ByteString
);
webidl.converters.Blob = webidl.interfaceConverter(webidl.is.Blob, "Blob");
webidl.converters.AbortSignal = webidl.interfaceConverter(
webidl.is.AbortSignal,
"AbortSignal"
);
webidl.converters.EventHandlerNonNull = function(V2) {
if (webidl.util.Type(V2) !== OBJECT) {
return null;
}
if (typeof V2 === "function") {
return V2;
}
return () => {
};
};
webidl.attributes = {
Clamp: 1 << 0,
EnforceRange: 1 << 1,
AllowShared: 1 << 2,
AllowResizable: 1 << 3,
LegacyNullToEmptyString: 1 << 4
};
module2.exports = {
webidl
};
}
});
// node_modules/undici/lib/web/fetch/util.js
var require_util14 = __commonJS({
"node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
"use strict";
var { Transform: Transform2 } = __require("node:stream");
var zlib2 = __require("node:zlib");
var { redirectStatusSet, referrerPolicyTokens, badPortsSet } = require_constants6();
var { getGlobalOrigin } = require_global();
var { collectAnHTTPQuotedString, parseMIMEType } = require_data_url();
var { performance: performance3 } = __require("node:perf_hooks");
var { ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util13();
var assert3 = __require("node:assert");
var { isUint8Array: isUint8Array2 } = __require("node:util/types");
var { webidl } = require_webidl();
var { isomorphicEncode, collectASequenceOfCodePoints, removeChars } = require_infra();
function responseURL(response) {
const urlList = response.urlList;
const length = urlList.length;
return length === 0 ? null : urlList[length - 1].toString();
}
function responseLocationURL(response, requestFragment) {
if (!redirectStatusSet.has(response.status)) {
return null;
}
let location = response.headersList.get("location", true);
if (location !== null && isValidHeaderValue(location)) {
if (!isValidEncodedURL(location)) {
location = normalizeBinaryStringToUtf8(location);
}
location = new URL(location, responseURL(response));
}
if (location && !location.hash) {
location.hash = requestFragment;
}
return location;
}
function isValidEncodedURL(url3) {
for (let i3 = 0; i3 < url3.length; ++i3) {
const code = url3.charCodeAt(i3);
if (code > 126 || // Non-US-ASCII + DEL
code < 32) {
return false;
}
}
return true;
}
function normalizeBinaryStringToUtf8(value) {
return Buffer.from(value, "binary").toString("utf8");
}
function requestCurrentURL(request) {
return request.urlList[request.urlList.length - 1];
}
function requestBadPort(request) {
const url3 = requestCurrentURL(request);
if (urlIsHttpHttpsScheme(url3) && badPortsSet.has(url3.port)) {
return "blocked";
}
return "allowed";
}
function isErrorLike(object3) {
return object3 instanceof Error || (object3?.constructor?.name === "Error" || object3?.constructor?.name === "DOMException");
}
function isValidReasonPhrase(statusText) {
for (let i3 = 0; i3 < statusText.length; ++i3) {
const c4 = statusText.charCodeAt(i3);
if (!(c4 === 9 || // HTAB
c4 >= 32 && c4 <= 126 || // SP / VCHAR
c4 >= 128 && c4 <= 255)) {
return false;
}
}
return true;
}
var isValidHeaderName = isValidHTTPToken;
function isValidHeaderValue(potentialValue) {
return (potentialValue[0] === " " || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
}
function parseReferrerPolicy(actualResponse) {
const policyHeader = (actualResponse.headersList.get("referrer-policy", true) ?? "").split(",");
let policy = "";
if (policyHeader.length) {
for (let i3 = policyHeader.length; i3 !== 0; i3--) {
const token2 = policyHeader[i3 - 1].trim();
if (referrerPolicyTokens.has(token2)) {
policy = token2;
break;
}
}
}
return policy;
}
function setRequestReferrerPolicyOnRedirect(request, actualResponse) {
const policy = parseReferrerPolicy(actualResponse);
if (policy !== "") {
request.referrerPolicy = policy;
}
}
function crossOriginResourcePolicyCheck() {
return "allowed";
}
function corsCheck() {
return "success";
}
function TAOCheck() {
return "success";
}
function appendFetchMetadata(httpRequest) {
let header = null;
header = httpRequest.mode;
httpRequest.headersList.set("sec-fetch-mode", header, true);
}
function appendRequestOriginHeader(request) {
let serializedOrigin = request.origin;
if (serializedOrigin === "client" || serializedOrigin === void 0) {
return;
}
if (request.responseTainting === "cors" || request.mode === "websocket") {
request.headersList.append("origin", serializedOrigin, true);
} else if (request.method !== "GET" && request.method !== "HEAD") {
switch (request.referrerPolicy) {
case "no-referrer":
serializedOrigin = null;
break;
case "no-referrer-when-downgrade":
case "strict-origin":
case "strict-origin-when-cross-origin":
if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {
serializedOrigin = null;
}
break;
case "same-origin":
if (!sameOrigin(request, requestCurrentURL(request))) {
serializedOrigin = null;
}
break;
default:
}
request.headersList.append("origin", serializedOrigin, true);
}
}
function coarsenTime(timestamp2, crossOriginIsolatedCapability) {
return timestamp2;
}
function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
return {
domainLookupStartTime: defaultStartTime,
domainLookupEndTime: defaultStartTime,
connectionStartTime: defaultStartTime,
connectionEndTime: defaultStartTime,
secureConnectionStartTime: defaultStartTime,
ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
};
}
return {
domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
};
}
function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
return coarsenTime(performance3.now(), crossOriginIsolatedCapability);
}
function createOpaqueTimingInfo(timingInfo) {
return {
startTime: timingInfo.startTime ?? 0,
redirectStartTime: 0,
redirectEndTime: 0,
postRedirectStartTime: timingInfo.startTime ?? 0,
finalServiceWorkerStartTime: 0,
finalNetworkResponseStartTime: 0,
finalNetworkRequestStartTime: 0,
endTime: 0,
encodedBodySize: 0,
decodedBodySize: 0,
finalConnectionTimingInfo: null
};
}
function makePolicyContainer() {
return {
referrerPolicy: "strict-origin-when-cross-origin"
};
}
function clonePolicyContainer(policyContainer) {
return {
referrerPolicy: policyContainer.referrerPolicy
};
}
function determineRequestsReferrer(request) {
const policy = request.referrerPolicy;
assert3(policy);
let referrerSource = null;
if (request.referrer === "client") {
const globalOrigin = getGlobalOrigin();
if (!globalOrigin || globalOrigin.origin === "null") {
return "no-referrer";
}
referrerSource = new URL(globalOrigin);
} else if (webidl.is.URL(request.referrer)) {
referrerSource = request.referrer;
}
let referrerURL = stripURLForReferrer(referrerSource);
const referrerOrigin = stripURLForReferrer(referrerSource, true);
if (referrerURL.toString().length > 4096) {
referrerURL = referrerOrigin;
}
switch (policy) {
case "no-referrer":
return "no-referrer";
case "origin":
if (referrerOrigin != null) {
return referrerOrigin;
}
return stripURLForReferrer(referrerSource, true);
case "unsafe-url":
return referrerURL;
case "strict-origin": {
const currentURL = requestCurrentURL(request);
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin;
}
case "strict-origin-when-cross-origin": {
const currentURL = requestCurrentURL(request);
if (sameOrigin(referrerURL, currentURL)) {
return referrerURL;
}
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin;
}
case "same-origin":
if (sameOrigin(request, referrerURL)) {
return referrerURL;
}
return "no-referrer";
case "origin-when-cross-origin":
if (sameOrigin(request, referrerURL)) {
return referrerURL;
}
return referrerOrigin;
case "no-referrer-when-downgrade": {
const currentURL = requestCurrentURL(request);
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerURL;
}
}
}
function stripURLForReferrer(url3, originOnly = false) {
assert3(webidl.is.URL(url3));
url3 = new URL(url3);
if (urlIsLocal(url3)) {
return "no-referrer";
}
url3.username = "";
url3.password = "";
url3.hash = "";
if (originOnly === true) {
url3.pathname = "";
url3.search = "";
}
return url3;
}
var isPotentialleTrustworthyIPv4 = RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/);
var isPotentiallyTrustworthyIPv6 = RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);
function isOriginIPPotentiallyTrustworthy(origin) {
if (origin.includes(":")) {
if (origin[0] === "[" && origin[origin.length - 1] === "]") {
origin = origin.slice(1, -1);
}
return isPotentiallyTrustworthyIPv6(origin);
}
return isPotentialleTrustworthyIPv4(origin);
}
function isOriginPotentiallyTrustworthy(origin) {
if (origin == null || origin === "null") {
return false;
}
origin = new URL(origin);
if (origin.protocol === "https:" || origin.protocol === "wss:") {
return true;
}
if (isOriginIPPotentiallyTrustworthy(origin.hostname)) {
return true;
}
if (origin.hostname === "localhost" || origin.hostname === "localhost.") {
return true;
}
if (origin.hostname.endsWith(".localhost") || origin.hostname.endsWith(".localhost.")) {
return true;
}
if (origin.protocol === "file:") {
return true;
}
return false;
}
function isURLPotentiallyTrustworthy(url3) {
if (!webidl.is.URL(url3)) {
return false;
}
if (url3.href === "about:blank" || url3.href === "about:srcdoc") {
return true;
}
if (url3.protocol === "data:") return true;
if (url3.protocol === "blob:") return true;
return isOriginPotentiallyTrustworthy(url3.origin);
}
function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {
}
function sameOrigin(A, B) {
if (A.origin === B.origin && A.origin === "null") {
return true;
}
if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
return true;
}
return false;
}
function isAborted(fetchParams) {
return fetchParams.controller.state === "aborted";
}
function isCancelled(fetchParams) {
return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
}
function normalizeMethod(method) {
return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
}
var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
function createIterator(name3, kInternalIterator, keyIndex = 0, valueIndex = 1) {
class FastIterableIterator {
/** @type {any} */
#target;
/** @type {'key' | 'value' | 'key+value'} */
#kind;
/** @type {number} */
#index;
/**
* @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
* @param {unknown} target
* @param {'key' | 'value' | 'key+value'} kind
*/
constructor(target, kind) {
this.#target = target;
this.#kind = kind;
this.#index = 0;
}
next() {
if (typeof this !== "object" || this === null || !(#target in this)) {
throw new TypeError(
`'next' called on an object that does not implement interface ${name3} Iterator.`
);
}
const index = this.#index;
const values = kInternalIterator(this.#target);
const len = values.length;
if (index >= len) {
return {
value: void 0,
done: true
};
}
const { [keyIndex]: key, [valueIndex]: value } = values[index];
this.#index = index + 1;
let result2;
switch (this.#kind) {
case "key":
result2 = key;
break;
case "value":
result2 = value;
break;
case "key+value":
result2 = [key, value];
break;
}
return {
value: result2,
done: false
};
}
}
delete FastIterableIterator.prototype.constructor;
Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
Object.defineProperties(FastIterableIterator.prototype, {
[Symbol.toStringTag]: {
writable: false,
enumerable: false,
configurable: true,
value: `${name3} Iterator`
},
next: { writable: true, enumerable: true, configurable: true }
});
return function(target, kind) {
return new FastIterableIterator(target, kind);
};
}
function iteratorMixin(name3, object3, kInternalIterator, keyIndex = 0, valueIndex = 1) {
const makeIterator = createIterator(name3, kInternalIterator, keyIndex, valueIndex);
const properties = {
keys: {
writable: true,
enumerable: true,
configurable: true,
value: function keys() {
webidl.brandCheck(this, object3);
return makeIterator(this, "key");
}
},
values: {
writable: true,
enumerable: true,
configurable: true,
value: function values() {
webidl.brandCheck(this, object3);
return makeIterator(this, "value");
}
},
entries: {
writable: true,
enumerable: true,
configurable: true,
value: function entries() {
webidl.brandCheck(this, object3);
return makeIterator(this, "key+value");
}
},
forEach: {
writable: true,
enumerable: true,
configurable: true,
value: function forEach2(callbackfn, thisArg = globalThis) {
webidl.brandCheck(this, object3);
webidl.argumentLengthCheck(arguments, 1, `${name3}.forEach`);
if (typeof callbackfn !== "function") {
throw new TypeError(
`Failed to execute 'forEach' on '${name3}': parameter 1 is not of type 'Function'.`
);
}
for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
callbackfn.call(thisArg, value, key, this);
}
}
}
};
return Object.defineProperties(object3.prototype, {
...properties,
[Symbol.iterator]: {
writable: true,
enumerable: false,
configurable: true,
value: properties.entries.value
}
});
}
function fullyReadBody(body2, processBody, processBodyError) {
const successSteps = processBody;
const errorSteps = processBodyError;
try {
const reader = body2.stream.getReader();
readAllBytes(reader, successSteps, errorSteps);
} catch (e2) {
errorSteps(e2);
}
}
function readableStreamClose(controller) {
try {
controller.close();
controller.byobRequest?.respond(0);
} catch (err2) {
if (!err2.message.includes("Controller is already closed") && !err2.message.includes("ReadableStream is already closed")) {
throw err2;
}
}
}
async function readAllBytes(reader, successSteps, failureSteps) {
try {
const bytes = [];
let byteLength = 0;
do {
const { done, value: chunk } = await reader.read();
if (done) {
successSteps(Buffer.concat(bytes, byteLength));
return;
}
if (!isUint8Array2(chunk)) {
failureSteps(new TypeError("Received non-Uint8Array chunk"));
return;
}
bytes.push(chunk);
byteLength += chunk.length;
} while (true);
} catch (e2) {
failureSteps(e2);
}
}
function urlIsLocal(url3) {
assert3("protocol" in url3);
const protocol = url3.protocol;
return protocol === "about:" || protocol === "blob:" || protocol === "data:";
}
function urlHasHttpsScheme(url3) {
return typeof url3 === "string" && url3[5] === ":" && url3[0] === "h" && url3[1] === "t" && url3[2] === "t" && url3[3] === "p" && url3[4] === "s" || url3.protocol === "https:";
}
function urlIsHttpHttpsScheme(url3) {
assert3("protocol" in url3);
const protocol = url3.protocol;
return protocol === "http:" || protocol === "https:";
}
function simpleRangeHeaderValue(value, allowWhitespace) {
const data = value;
if (!data.startsWith("bytes")) {
return "failure";
}
const position = { position: 5 };
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position
);
}
if (data.charCodeAt(position.position) !== 61) {
return "failure";
}
position.position++;
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position
);
}
const rangeStart = collectASequenceOfCodePoints(
(char) => {
const code = char.charCodeAt(0);
return code >= 48 && code <= 57;
},
data,
position
);
const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position
);
}
if (data.charCodeAt(position.position) !== 45) {
return "failure";
}
position.position++;
if (allowWhitespace) {
collectASequenceOfCodePoints(
(char) => char === " " || char === " ",
data,
position
);
}
const rangeEnd = collectASequenceOfCodePoints(
(char) => {
const code = char.charCodeAt(0);
return code >= 48 && code <= 57;
},
data,
position
);
const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
if (position.position < data.length) {
return "failure";
}
if (rangeEndValue === null && rangeStartValue === null) {
return "failure";
}
if (rangeStartValue > rangeEndValue) {
return "failure";
}
return { rangeStartValue, rangeEndValue };
}
function buildContentRange(rangeStart, rangeEnd, fullLength) {
let contentRange = "bytes ";
contentRange += isomorphicEncode(`${rangeStart}`);
contentRange += "-";
contentRange += isomorphicEncode(`${rangeEnd}`);
contentRange += "/";
contentRange += isomorphicEncode(`${fullLength}`);
return contentRange;
}
var InflateStream = class extends Transform2 {
#zlibOptions;
/** @param {zlib.ZlibOptions} [zlibOptions] */
constructor(zlibOptions) {
super();
this.#zlibOptions = zlibOptions;
}
_transform(chunk, encoding, callback) {
if (!this._inflateStream) {
if (chunk.length === 0) {
callback();
return;
}
this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
this._inflateStream.on("data", this.push.bind(this));
this._inflateStream.on("end", () => this.push(null));
this._inflateStream.on("error", (err2) => this.destroy(err2));
}
this._inflateStream.write(chunk, encoding, callback);
}
_final(callback) {
if (this._inflateStream) {
this._inflateStream.end();
this._inflateStream = null;
}
callback();
}
};
function createInflate(zlibOptions) {
return new InflateStream(zlibOptions);
}
function extractMimeType(headers) {
let charset = null;
let essence = null;
let mimeType = null;
const values = getDecodeSplit("content-type", headers);
if (values === null) {
return "failure";
}
for (const value of values) {
const temporaryMimeType = parseMIMEType(value);
if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
continue;
}
mimeType = temporaryMimeType;
if (mimeType.essence !== essence) {
charset = null;
if (mimeType.parameters.has("charset")) {
charset = mimeType.parameters.get("charset");
}
essence = mimeType.essence;
} else if (!mimeType.parameters.has("charset") && charset !== null) {
mimeType.parameters.set("charset", charset);
}
}
if (mimeType == null) {
return "failure";
}
return mimeType;
}
function gettingDecodingSplitting(value) {
const input = value;
const position = { position: 0 };
const values = [];
let temporaryValue = "";
while (position.position < input.length) {
temporaryValue += collectASequenceOfCodePoints(
(char) => char !== '"' && char !== ",",
input,
position
);
if (position.position < input.length) {
if (input.charCodeAt(position.position) === 34) {
temporaryValue += collectAnHTTPQuotedString(
input,
position
);
if (position.position < input.length) {
continue;
}
} else {
assert3(input.charCodeAt(position.position) === 44);
position.position++;
}
}
temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
values.push(temporaryValue);
temporaryValue = "";
}
return values;
}
function getDecodeSplit(name3, list) {
const value = list.get(name3, true);
if (value === null) {
return null;
}
return gettingDecodingSplitting(value);
}
function hasAuthenticationEntry(request) {
return false;
}
function includesCredentials(url3) {
return !!(url3.username || url3.password);
}
function isTraversableNavigable(navigable) {
return true;
}
var EnvironmentSettingsObjectBase = class {
get baseUrl() {
return getGlobalOrigin();
}
get origin() {
return this.baseUrl?.origin;
}
policyContainer = makePolicyContainer();
};
var EnvironmentSettingsObject = class {
settingsObject = new EnvironmentSettingsObjectBase();
};
var environmentSettingsObject = new EnvironmentSettingsObject();
module2.exports = {
isAborted,
isCancelled,
isValidEncodedURL,
ReadableStreamFrom,
tryUpgradeRequestToAPotentiallyTrustworthyURL,
clampAndCoarsenConnectionTimingInfo,
coarsenedSharedCurrentTime,
determineRequestsReferrer,
makePolicyContainer,
clonePolicyContainer,
appendFetchMetadata,
appendRequestOriginHeader,
TAOCheck,
corsCheck,
crossOriginResourcePolicyCheck,
createOpaqueTimingInfo,
setRequestReferrerPolicyOnRedirect,
isValidHTTPToken,
requestBadPort,
requestCurrentURL,
responseURL,
responseLocationURL,
isURLPotentiallyTrustworthy,
isValidReasonPhrase,
sameOrigin,
normalizeMethod,
iteratorMixin,
createIterator,
isValidHeaderName,
isValidHeaderValue,
isErrorLike,
fullyReadBody,
readableStreamClose,
urlIsLocal,
urlHasHttpsScheme,
urlIsHttpHttpsScheme,
readAllBytes,
simpleRangeHeaderValue,
buildContentRange,
createInflate,
extractMimeType,
getDecodeSplit,
environmentSettingsObject,
isOriginIPPotentiallyTrustworthy,
hasAuthenticationEntry,
includesCredentials,
isTraversableNavigable
};
}
});
// node_modules/undici/lib/web/fetch/formdata.js
var require_formdata = __commonJS({
"node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
"use strict";
var { iteratorMixin } = require_util14();
var { kEnumerableProperty } = require_util13();
var { webidl } = require_webidl();
var nodeUtil = __require("node:util");
var FormData2 = class _FormData {
#state = [];
constructor(form = void 0) {
webidl.util.markAsUncloneable(this);
if (form !== void 0) {
throw webidl.errors.conversionFailed({
prefix: "FormData constructor",
argument: "Argument 1",
types: ["undefined"]
});
}
}
append(name3, value, filename = void 0) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.append";
webidl.argumentLengthCheck(arguments, 2, prefix);
name3 = webidl.converters.USVString(name3);
if (arguments.length === 3 || webidl.is.Blob(value)) {
value = webidl.converters.Blob(value, prefix, "value");
if (filename !== void 0) {
filename = webidl.converters.USVString(filename);
}
} else {
value = webidl.converters.USVString(value);
}
const entry = makeEntry(name3, value, filename);
this.#state.push(entry);
}
delete(name3) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
name3 = webidl.converters.USVString(name3);
this.#state = this.#state.filter((entry) => entry.name !== name3);
}
get(name3) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.get";
webidl.argumentLengthCheck(arguments, 1, prefix);
name3 = webidl.converters.USVString(name3);
const idx = this.#state.findIndex((entry) => entry.name === name3);
if (idx === -1) {
return null;
}
return this.#state[idx].value;
}
getAll(name3) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.getAll";
webidl.argumentLengthCheck(arguments, 1, prefix);
name3 = webidl.converters.USVString(name3);
return this.#state.filter((entry) => entry.name === name3).map((entry) => entry.value);
}
has(name3) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.has";
webidl.argumentLengthCheck(arguments, 1, prefix);
name3 = webidl.converters.USVString(name3);
return this.#state.findIndex((entry) => entry.name === name3) !== -1;
}
set(name3, value, filename = void 0) {
webidl.brandCheck(this, _FormData);
const prefix = "FormData.set";
webidl.argumentLengthCheck(arguments, 2, prefix);
name3 = webidl.converters.USVString(name3);
if (arguments.length === 3 || webidl.is.Blob(value)) {
value = webidl.converters.Blob(value, prefix, "value");
if (filename !== void 0) {
filename = webidl.converters.USVString(filename);
}
} else {
value = webidl.converters.USVString(value);
}
const entry = makeEntry(name3, value, filename);
const idx = this.#state.findIndex((entry2) => entry2.name === name3);
if (idx !== -1) {
this.#state = [
...this.#state.slice(0, idx),
entry,
...this.#state.slice(idx + 1).filter((entry2) => entry2.name !== name3)
];
} else {
this.#state.push(entry);
}
}
[nodeUtil.inspect.custom](depth, options) {
const state = this.#state.reduce((a2, b) => {
if (a2[b.name]) {
if (Array.isArray(a2[b.name])) {
a2[b.name].push(b.value);
} else {
a2[b.name] = [a2[b.name], b.value];
}
} else {
a2[b.name] = b.value;
}
return a2;
}, { __proto__: null });
options.depth ??= depth;
options.colors ??= true;
const output = nodeUtil.formatWithOptions(options, state);
return `FormData ${output.slice(output.indexOf("]") + 2)}`;
}
/**
* @param {FormData} formData
*/
static getFormDataState(formData) {
return formData.#state;
}
/**
* @param {FormData} formData
* @param {any[]} newState
*/
static setFormDataState(formData, newState) {
formData.#state = newState;
}
};
var { getFormDataState, setFormDataState } = FormData2;
Reflect.deleteProperty(FormData2, "getFormDataState");
Reflect.deleteProperty(FormData2, "setFormDataState");
iteratorMixin("FormData", FormData2, getFormDataState, "name", "value");
Object.defineProperties(FormData2.prototype, {
append: kEnumerableProperty,
delete: kEnumerableProperty,
get: kEnumerableProperty,
getAll: kEnumerableProperty,
has: kEnumerableProperty,
set: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "FormData",
configurable: true
}
});
function makeEntry(name3, value, filename) {
if (typeof value === "string") {
} else {
if (!webidl.is.File(value)) {
value = new File([value], "blob", { type: value.type });
}
if (filename !== void 0) {
const options = {
type: value.type,
lastModified: value.lastModified
};
value = new File([value], filename, options);
}
}
return { name: name3, value };
}
webidl.is.FormData = webidl.util.MakeTypeAssertion(FormData2);
module2.exports = { FormData: FormData2, makeEntry, setFormDataState };
}
});
// node_modules/undici/lib/web/fetch/formdata-parser.js
var require_formdata_parser = __commonJS({
"node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
"use strict";
var { bufferToLowerCasedHeaderName } = require_util13();
var { HTTP_TOKEN_CODEPOINTS } = require_data_url();
var { makeEntry } = require_formdata();
var { webidl } = require_webidl();
var assert3 = __require("node:assert");
var { isomorphicDecode } = require_infra();
var dd = Buffer.from("--");
var decoder = new TextDecoder();
var decoderIgnoreBOM = new TextDecoder("utf-8", { ignoreBOM: true });
function isAsciiString(chars) {
for (let i3 = 0; i3 < chars.length; ++i3) {
if ((chars.charCodeAt(i3) & ~127) !== 0) {
return false;
}
}
return true;
}
function validateBoundary(boundary) {
const length = boundary.length;
if (length < 27 || length > 70) {
return false;
}
for (let i3 = 0; i3 < length; ++i3) {
const cp2 = boundary.charCodeAt(i3);
if (!(cp2 >= 48 && cp2 <= 57 || cp2 >= 65 && cp2 <= 90 || cp2 >= 97 && cp2 <= 122 || cp2 === 39 || cp2 === 45 || cp2 === 95)) {
return false;
}
}
return true;
}
function multipartFormDataParser(input, mimeType) {
assert3(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
const boundaryString = mimeType.parameters.get("boundary");
if (boundaryString === void 0) {
throw parsingError("missing boundary in content-type header");
}
const boundary = Buffer.from(`--${boundaryString}`, "utf8");
const entryList = [];
const position = { position: 0 };
const firstBoundaryIndex = input.indexOf(boundary);
if (firstBoundaryIndex === -1) {
throw parsingError("no boundary found in multipart body");
}
position.position = firstBoundaryIndex;
while (true) {
if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
position.position += boundary.length;
} else {
throw parsingError("expected a value starting with -- and the boundary");
}
if (bufferStartsWith(input, dd, position)) {
return entryList;
}
if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
throw parsingError("expected CRLF");
}
position.position += 2;
const result2 = parseMultipartFormDataHeaders(input, position);
let { name: name3, filename, contentType, encoding } = result2;
position.position += 2;
let body2;
{
const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
if (boundaryIndex === -1) {
throw parsingError("expected boundary after body");
}
body2 = input.subarray(position.position, boundaryIndex - 4);
position.position += body2.length;
if (encoding === "base64") {
body2 = Buffer.from(body2.toString(), "base64");
}
}
if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
throw parsingError("expected CRLF");
} else {
position.position += 2;
}
let value;
if (filename !== null) {
contentType ??= "text/plain";
if (!isAsciiString(contentType)) {
contentType = "";
}
value = new File([body2], filename, { type: contentType });
} else {
value = decoderIgnoreBOM.decode(Buffer.from(body2));
}
assert3(webidl.is.USVString(name3));
assert3(typeof value === "string" && webidl.is.USVString(value) || webidl.is.File(value));
entryList.push(makeEntry(name3, value, filename));
}
}
function parseContentDispositionAttribute(input, position) {
if (input[position.position] === 59) {
position.position++;
}
collectASequenceOfBytes(
(char) => char === 32 || char === 9,
input,
position
);
const attributeName = collectASequenceOfBytes(
(char) => isToken(char) && char !== 61 && char !== 42,
// not = or *
input,
position
);
if (attributeName.length === 0) {
return null;
}
const attrNameStr = attributeName.toString("ascii").toLowerCase();
const isExtended = input[position.position] === 42;
if (isExtended) {
position.position++;
}
if (input[position.position] !== 61) {
return null;
}
position.position++;
collectASequenceOfBytes(
(char) => char === 32 || char === 9,
input,
position
);
let value;
if (isExtended) {
const headerValue = collectASequenceOfBytes(
(char) => char !== 32 && char !== 13 && char !== 10 && char !== 59,
// not space, CRLF, or ;
input,
position
);
if (headerValue[0] !== 117 && headerValue[0] !== 85 || // u or U
headerValue[1] !== 116 && headerValue[1] !== 84 || // t or T
headerValue[2] !== 102 && headerValue[2] !== 70 || // f or F
headerValue[3] !== 45 || // -
headerValue[4] !== 56) {
throw parsingError("unknown encoding, expected utf-8''");
}
value = decodeURIComponent(decoder.decode(headerValue.subarray(7)));
} else if (input[position.position] === 34) {
position.position++;
const quotedValue = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13 && char !== 34,
// not LF, CR, or "
input,
position
);
if (input[position.position] !== 34) {
throw parsingError("Closing quote not found");
}
position.position++;
value = decoder.decode(quotedValue).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"');
} else {
const tokenValue = collectASequenceOfBytes(
(char) => isToken(char) && char !== 59,
// not ;
input,
position
);
value = decoder.decode(tokenValue);
}
return { name: attrNameStr, value };
}
function parseMultipartFormDataHeaders(input, position) {
let name3 = null;
let filename = null;
let contentType = null;
let encoding = null;
while (true) {
if (input[position.position] === 13 && input[position.position + 1] === 10) {
if (name3 === null) {
throw parsingError("header name is null");
}
return { name: name3, filename, contentType, encoding };
}
let headerName = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13 && char !== 58,
input,
position
);
headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
throw parsingError("header name does not match the field-name token production");
}
if (input[position.position] !== 58) {
throw parsingError("expected :");
}
position.position++;
collectASequenceOfBytes(
(char) => char === 32 || char === 9,
input,
position
);
switch (bufferToLowerCasedHeaderName(headerName)) {
case "content-disposition": {
name3 = filename = null;
const dispositionType = collectASequenceOfBytes(
(char) => isToken(char),
input,
position
);
if (dispositionType.toString("ascii").toLowerCase() !== "form-data") {
throw parsingError("expected form-data for content-disposition header");
}
while (position.position < input.length && input[position.position] !== 13 && input[position.position + 1] !== 10) {
const attribute = parseContentDispositionAttribute(input, position);
if (!attribute) {
break;
}
if (attribute.name === "name") {
name3 = attribute.value;
} else if (attribute.name === "filename") {
filename = attribute.value;
}
}
if (name3 === null) {
throw parsingError("name attribute is required in content-disposition header");
}
break;
}
case "content-type": {
let headerValue = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13,
input,
position
);
headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
contentType = isomorphicDecode(headerValue);
break;
}
case "content-transfer-encoding": {
let headerValue = collectASequenceOfBytes(
(char) => char !== 10 && char !== 13,
input,
position
);
headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
encoding = isomorphicDecode(headerValue);
break;
}
default: {
collectASequenceOfBytes(
(char) => char !== 10 && char !== 13,
input,
position
);
}
}
if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
throw parsingError("expected CRLF");
} else {
position.position += 2;
}
}
}
function collectASequenceOfBytes(condition, input, position) {
let start2 = position.position;
while (start2 < input.length && condition(input[start2])) {
++start2;
}
return input.subarray(position.position, position.position = start2);
}
function removeChars(buf, leading, trailing, predicate) {
let lead = 0;
let trail = buf.length - 1;
if (leading) {
while (lead < buf.length && predicate(buf[lead])) lead++;
}
if (trailing) {
while (trail > 0 && predicate(buf[trail])) trail--;
}
return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
}
function bufferStartsWith(buffer, start2, position) {
if (buffer.length < start2.length) {
return false;
}
for (let i3 = 0; i3 < start2.length; i3++) {
if (start2[i3] !== buffer[position.position + i3]) {
return false;
}
}
return true;
}
function parsingError(cause) {
return new TypeError("Failed to parse body as FormData.", { cause: new TypeError(cause) });
}
function isCTL(char) {
return char <= 31 || char === 127;
}
function isTSpecial(char) {
return char === 40 || // (
char === 41 || // )
char === 60 || // <
char === 62 || // >
char === 64 || // @
char === 44 || // ,
char === 59 || // ;
char === 58 || // :
char === 92 || // \
char === 34 || // "
char === 47 || // /
char === 91 || // [
char === 93 || // ]
char === 63 || // ?
char === 61;
}
function isToken(char) {
return char <= 127 && // ascii
char !== 32 && // space
char !== 9 && !isCTL(char) && !isTSpecial(char);
}
module2.exports = {
multipartFormDataParser,
validateBoundary
};
}
});
// node_modules/undici/lib/util/promise.js
var require_promise2 = __commonJS({
"node_modules/undici/lib/util/promise.js"(exports2, module2) {
"use strict";
function createDeferredPromise() {
let res;
let rej;
const promise2 = new Promise((resolve25, reject) => {
res = resolve25;
rej = reject;
});
return { promise: promise2, resolve: res, reject: rej };
}
module2.exports = {
createDeferredPromise
};
}
});
// node_modules/undici/lib/web/fetch/body.js
var require_body = __commonJS({
"node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
"use strict";
var util2 = require_util13();
var {
ReadableStreamFrom,
readableStreamClose,
fullyReadBody,
extractMimeType
} = require_util14();
var { FormData: FormData2, setFormDataState } = require_formdata();
var { webidl } = require_webidl();
var assert3 = __require("node:assert");
var { isErrored, isDisturbed } = __require("node:stream");
var { isUint8Array: isUint8Array2 } = __require("node:util/types");
var { serializeAMimeType } = require_data_url();
var { multipartFormDataParser } = require_formdata_parser();
var { createDeferredPromise } = require_promise2();
var { parseJSONFromBytes } = require_infra();
var { utf8DecodeBytes } = require_encoding();
var { runtimeFeatures } = require_runtime_features();
var random2 = runtimeFeatures.has("crypto") ? __require("node:crypto").randomInt : (max) => Math.floor(Math.random() * max);
var textEncoder3 = new TextEncoder();
function noop4() {
}
var streamRegistry = new FinalizationRegistry((weakRef) => {
const stream2 = weakRef.deref();
if (stream2 && !stream2.locked && !isDisturbed(stream2) && !isErrored(stream2)) {
stream2.cancel("Response object has been garbage collected").catch(noop4);
}
});
function extractBody(object3, keepalive = false) {
let stream2 = null;
let controller = null;
if (webidl.is.ReadableStream(object3)) {
stream2 = object3;
} else if (webidl.is.Blob(object3)) {
stream2 = object3.stream();
} else {
stream2 = new ReadableStream({
pull() {
},
start(c4) {
controller = c4;
},
cancel() {
},
type: "bytes"
});
}
assert3(webidl.is.ReadableStream(stream2));
let action = null;
let source = null;
let length = null;
let type2 = null;
if (typeof object3 === "string") {
source = object3;
type2 = "text/plain;charset=UTF-8";
} else if (webidl.is.URLSearchParams(object3)) {
source = object3.toString();
type2 = "application/x-www-form-urlencoded;charset=UTF-8";
} else if (webidl.is.BufferSource(object3)) {
source = webidl.util.getCopyOfBytesHeldByBufferSource(object3);
} else if (webidl.is.FormData(object3)) {
const boundary = `----formdata-undici-0${`${random2(1e11)}`.padStart(11, "0")}`;
const prefix = `--${boundary}\r
Content-Disposition: form-data`;
const formdataEscape = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
const blobParts = [];
const rn = new Uint8Array([13, 10]);
length = 0;
let hasUnknownSizeValue = false;
for (const [name3, value] of object3) {
if (typeof value === "string") {
const chunk2 = textEncoder3.encode(prefix + `; name="${formdataEscape(normalizeLinefeeds(name3))}"\r
\r
${normalizeLinefeeds(value)}\r
`);
blobParts.push(chunk2);
length += chunk2.byteLength;
} else {
const chunk2 = textEncoder3.encode(`${prefix}; name="${formdataEscape(normalizeLinefeeds(name3))}"` + (value.name ? `; filename="${formdataEscape(value.name)}"` : "") + `\r
Content-Type: ${value.type || "application/octet-stream"}\r
\r
`);
blobParts.push(chunk2, value, rn);
if (typeof value.size === "number") {
length += chunk2.byteLength + value.size + rn.byteLength;
} else {
hasUnknownSizeValue = true;
}
}
}
const chunk = textEncoder3.encode(`--${boundary}--\r
`);
blobParts.push(chunk);
length += chunk.byteLength;
if (hasUnknownSizeValue) {
length = null;
}
source = object3;
action = async function* () {
for (const part of blobParts) {
if (part.stream) {
yield* part.stream();
} else {
yield part;
}
}
};
type2 = `multipart/form-data; boundary=${boundary}`;
} else if (webidl.is.Blob(object3)) {
source = object3;
length = object3.size;
if (object3.type) {
type2 = object3.type;
}
} else if (typeof object3[Symbol.asyncIterator] === "function") {
if (keepalive) {
throw new TypeError("keepalive");
}
if (util2.isDisturbed(object3) || object3.locked) {
throw new TypeError(
"Response body object should not be disturbed or locked"
);
}
stream2 = webidl.is.ReadableStream(object3) ? object3 : ReadableStreamFrom(object3);
}
if (typeof source === "string" || isUint8Array2(source)) {
action = () => {
length = typeof source === "string" ? Buffer.byteLength(source) : source.length;
return source;
};
}
if (action != null) {
;
(async () => {
const result2 = action();
const iterator = result2?.[Symbol.asyncIterator]?.();
if (iterator) {
for await (const bytes of iterator) {
if (isErrored(stream2)) break;
if (bytes.length) {
controller.enqueue(new Uint8Array(bytes));
}
}
} else if (result2?.length && !isErrored(stream2)) {
controller.enqueue(typeof result2 === "string" ? textEncoder3.encode(result2) : new Uint8Array(result2));
}
queueMicrotask(() => readableStreamClose(controller));
})();
}
const body2 = { stream: stream2, source, length };
return [body2, type2];
}
function safelyExtractBody(object3, keepalive = false) {
if (webidl.is.ReadableStream(object3)) {
assert3(!util2.isDisturbed(object3), "The body has already been consumed.");
assert3(!object3.locked, "The stream is locked.");
}
return extractBody(object3, keepalive);
}
function cloneBody(body2) {
const { 0: out1, 1: out2 } = body2.stream.tee();
body2.stream = out1;
return {
stream: out2,
length: body2.length,
source: body2.source
};
}
function bodyMixinMethods(instance2, getInternalState) {
const methods = {
blob() {
return consumeBody(this, (bytes) => {
let mimeType = bodyMimeType(getInternalState(this));
if (mimeType === null) {
mimeType = "";
} else if (mimeType) {
mimeType = serializeAMimeType(mimeType);
}
return new Blob([bytes], { type: mimeType });
}, instance2, getInternalState);
},
arrayBuffer() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes).buffer;
}, instance2, getInternalState);
},
text() {
return consumeBody(this, utf8DecodeBytes, instance2, getInternalState);
},
json() {
return consumeBody(this, parseJSONFromBytes, instance2, getInternalState);
},
formData() {
return consumeBody(this, (value) => {
const mimeType = bodyMimeType(getInternalState(this));
if (mimeType !== null) {
switch (mimeType.essence) {
case "multipart/form-data": {
const parsed = multipartFormDataParser(value, mimeType);
const fd = new FormData2();
setFormDataState(fd, parsed);
return fd;
}
case "application/x-www-form-urlencoded": {
const entries = new URLSearchParams(value.toString());
const fd = new FormData2();
for (const [name3, value2] of entries) {
fd.append(name3, value2);
}
return fd;
}
}
}
throw new TypeError(
'Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".'
);
}, instance2, getInternalState);
},
bytes() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes);
}, instance2, getInternalState);
}
};
return methods;
}
function mixinBody(prototype, getInternalState) {
Object.assign(prototype.prototype, bodyMixinMethods(prototype, getInternalState));
}
function consumeBody(object3, convertBytesToJSValue, instance2, getInternalState) {
try {
webidl.brandCheck(object3, instance2);
} catch (e2) {
return Promise.reject(e2);
}
object3 = getInternalState(object3);
if (bodyUnusable(object3)) {
return Promise.reject(new TypeError("Body is unusable: Body has already been read"));
}
const promise2 = createDeferredPromise();
const errorSteps = promise2.reject;
const successSteps = (data) => {
try {
promise2.resolve(convertBytesToJSValue(data));
} catch (e2) {
errorSteps(e2);
}
};
if (object3.body == null) {
successSteps(Buffer.allocUnsafe(0));
return promise2.promise;
}
fullyReadBody(object3.body, successSteps, errorSteps);
return promise2.promise;
}
function bodyUnusable(object3) {
const body2 = object3.body;
return body2 != null && (body2.stream.locked || util2.isDisturbed(body2.stream));
}
function bodyMimeType(requestOrResponse) {
const headers = requestOrResponse.headersList;
const mimeType = extractMimeType(headers);
if (mimeType === "failure") {
return null;
}
return mimeType;
}
module2.exports = {
extractBody,
safelyExtractBody,
cloneBody,
mixinBody,
streamRegistry,
bodyUnusable
};
}
});
// node_modules/undici/lib/dispatcher/client-h1.js
var require_client_h1 = __commonJS({
"node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var util2 = require_util13();
var { channels } = require_diagnostics();
var timers = require_timers();
var {
RequestContentLengthMismatchError,
ResponseContentLengthMismatchError,
RequestAbortedError,
HeadersTimeoutError,
HeadersOverflowError,
SocketError,
InformationalError,
BodyTimeoutError,
HTTPParserError,
ResponseExceededMaxSizeError
} = require_errors4();
var {
kUrl,
kReset,
kClient,
kParser,
kBlocking,
kRunning,
kPending,
kSize,
kWriting,
kQueue,
kNoRef,
kKeepAliveDefaultTimeout,
kHostHeader,
kPendingIdx,
kRunningIdx,
kError,
kPipelining,
kSocket,
kKeepAliveTimeoutValue,
kMaxHeadersSize,
kKeepAliveMaxTimeout,
kKeepAliveTimeoutThreshold,
kHeadersTimeout,
kBodyTimeout,
kStrictContentLength,
kMaxRequests,
kCounter,
kMaxResponseSize,
kOnError,
kResume,
kHTTPContext,
kClosed
} = require_symbols();
var constants5 = require_constants5();
var EMPTY_BUF = Buffer.alloc(0);
var FastBuffer = Buffer[Symbol.species];
var removeAllListeners = util2.removeAllListeners;
var extractBody;
function lazyllhttp() {
const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;
let mod2;
let useWasmSIMD = process.arch !== "ppc64";
if (process.env.UNDICI_NO_WASM_SIMD === "1") {
useWasmSIMD = true;
} else if (process.env.UNDICI_NO_WASM_SIMD === "0") {
useWasmSIMD = false;
}
if (useWasmSIMD) {
try {
mod2 = new WebAssembly.Module(require_llhttp_simd_wasm());
} catch {
}
}
if (!mod2) {
mod2 = new WebAssembly.Module(llhttpWasmData || require_llhttp_wasm());
}
return new WebAssembly.Instance(mod2, {
env: {
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_url: (p, at, len) => {
return 0;
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_status: (p, at, len) => {
assert3(currentParser.ptr === p);
const start2 = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start2, len));
},
/**
* @param {number} p
* @returns {number}
*/
wasm_on_message_begin: (p) => {
assert3(currentParser.ptr === p);
return currentParser.onMessageBegin();
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_header_field: (p, at, len) => {
assert3(currentParser.ptr === p);
const start2 = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start2, len));
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_header_value: (p, at, len) => {
assert3(currentParser.ptr === p);
const start2 = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start2, len));
},
/**
* @param {number} p
* @param {number} statusCode
* @param {0|1} upgrade
* @param {0|1} shouldKeepAlive
* @returns {number}
*/
wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
assert3(currentParser.ptr === p);
return currentParser.onHeadersComplete(statusCode, upgrade === 1, shouldKeepAlive === 1);
},
/**
* @param {number} p
* @param {number} at
* @param {number} len
* @returns {number}
*/
wasm_on_body: (p, at, len) => {
assert3(currentParser.ptr === p);
const start2 = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start2, len));
},
/**
* @param {number} p
* @returns {number}
*/
wasm_on_message_complete: (p) => {
assert3(currentParser.ptr === p);
return currentParser.onMessageComplete();
}
}
});
}
var llhttpInstance = null;
var currentParser = null;
var currentBufferRef = null;
var currentBufferSize = 0;
var currentBufferPtr = null;
var USE_NATIVE_TIMER = 0;
var USE_FAST_TIMER = 1;
var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
var Parser3 = class {
/**
* @param {import('./client.js')} client
* @param {import('net').Socket} socket
* @param {*} llhttp
*/
constructor(client, socket, { exports: exports3 }) {
this.llhttp = exports3;
this.ptr = this.llhttp.llhttp_alloc(constants5.TYPE.RESPONSE);
this.client = client;
this.socket = socket;
this.timeout = null;
this.timeoutValue = null;
this.timeoutType = null;
this.statusCode = 0;
this.statusText = "";
this.upgrade = false;
this.headers = [];
this.headersSize = 0;
this.headersMaxSize = client[kMaxHeadersSize];
this.shouldKeepAlive = false;
this.paused = false;
this.resume = this.resume.bind(this);
this.bytesRead = 0;
this.keepAlive = "";
this.contentLength = "";
this.connection = "";
this.maxResponseSize = client[kMaxResponseSize];
}
setTimeout(delay3, type2) {
if (delay3 !== this.timeoutValue || type2 & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
if (this.timeout) {
timers.clearTimeout(this.timeout);
this.timeout = null;
}
if (delay3) {
if (type2 & USE_FAST_TIMER) {
this.timeout = timers.setFastTimeout(onParserTimeout, delay3, new WeakRef(this));
} else {
this.timeout = setTimeout(onParserTimeout, delay3, new WeakRef(this));
this.timeout?.unref();
}
}
this.timeoutValue = delay3;
} else if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
this.timeoutType = type2;
}
resume() {
if (this.socket.destroyed || !this.paused) {
return;
}
assert3(this.ptr != null);
assert3(currentParser === null);
this.llhttp.llhttp_resume(this.ptr);
assert3(this.timeoutType === TIMEOUT_BODY);
if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
this.paused = false;
this.execute(this.socket.read() || EMPTY_BUF);
this.readMore();
}
readMore() {
while (!this.paused && this.ptr) {
const chunk = this.socket.read();
if (chunk === null) {
break;
}
this.execute(chunk);
}
}
/**
* @param {Buffer} chunk
*/
execute(chunk) {
assert3(currentParser === null);
assert3(this.ptr != null);
assert3(!this.paused);
const { socket, llhttp } = this;
if (chunk.length > currentBufferSize) {
if (currentBufferPtr) {
llhttp.free(currentBufferPtr);
}
currentBufferSize = Math.ceil(chunk.length / 4096) * 4096;
currentBufferPtr = llhttp.malloc(currentBufferSize);
}
new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(chunk);
try {
let ret;
try {
currentBufferRef = chunk;
currentParser = this;
ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, chunk.length);
} finally {
currentParser = null;
currentBufferRef = null;
}
if (ret !== constants5.ERROR.OK) {
const data = chunk.subarray(llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr);
if (ret === constants5.ERROR.PAUSED_UPGRADE) {
this.onUpgrade(data);
} else if (ret === constants5.ERROR.PAUSED) {
this.paused = true;
socket.unshift(data);
} else {
const ptr = llhttp.llhttp_get_error_reason(this.ptr);
let message = "";
if (ptr) {
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
}
throw new HTTPParserError(message, constants5.ERROR[ret], data);
}
}
} catch (err2) {
util2.destroy(socket, err2);
}
}
destroy() {
assert3(currentParser === null);
assert3(this.ptr != null);
this.llhttp.llhttp_free(this.ptr);
this.ptr = null;
this.timeout && timers.clearTimeout(this.timeout);
this.timeout = null;
this.timeoutValue = null;
this.timeoutType = null;
this.paused = false;
}
/**
* @param {Buffer} buf
* @returns {0}
*/
onStatus(buf) {
this.statusText = buf.toString();
return 0;
}
/**
* @returns {0|-1}
*/
onMessageBegin() {
const { socket, client } = this;
if (socket.destroyed) {
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
if (!request) {
return -1;
}
request.onResponseStarted();
return 0;
}
/**
* @param {Buffer} buf
* @returns {number}
*/
onHeaderField(buf) {
const len = this.headers.length;
if ((len & 1) === 0) {
this.headers.push(buf);
} else {
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
}
this.trackHeader(buf.length);
return 0;
}
/**
* @param {Buffer} buf
* @returns {number}
*/
onHeaderValue(buf) {
let len = this.headers.length;
if ((len & 1) === 1) {
this.headers.push(buf);
len += 1;
} else {
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
}
const key = this.headers[len - 2];
if (key.length === 10) {
const headerName = util2.bufferToLowerCasedHeaderName(key);
if (headerName === "keep-alive") {
this.keepAlive += buf.toString();
} else if (headerName === "connection") {
this.connection += buf.toString();
}
} else if (key.length === 14 && util2.bufferToLowerCasedHeaderName(key) === "content-length") {
this.contentLength += buf.toString();
}
this.trackHeader(buf.length);
return 0;
}
/**
* @param {number} len
*/
trackHeader(len) {
this.headersSize += len;
if (this.headersSize >= this.headersMaxSize) {
util2.destroy(this.socket, new HeadersOverflowError());
}
}
/**
* @param {Buffer} head
*/
onUpgrade(head) {
const { upgrade, client, socket, headers, statusCode } = this;
assert3(upgrade);
assert3(client[kSocket] === socket);
assert3(!socket.destroyed);
assert3(!this.paused);
assert3((headers.length & 1) === 0);
const request = client[kQueue][client[kRunningIdx]];
assert3(request);
assert3(request.upgrade || request.method === "CONNECT");
this.statusCode = 0;
this.statusText = "";
this.shouldKeepAlive = false;
this.headers = [];
this.headersSize = 0;
socket.unshift(head);
socket[kParser].destroy();
socket[kParser] = null;
socket[kClient] = null;
socket[kError] = null;
removeAllListeners(socket);
client[kSocket] = null;
client[kHTTPContext] = null;
client[kQueue][client[kRunningIdx]++] = null;
client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
try {
request.onUpgrade(statusCode, headers, socket);
} catch (err2) {
util2.destroy(socket, err2);
}
client[kResume]();
}
/**
* @param {number} statusCode
* @param {boolean} upgrade
* @param {boolean} shouldKeepAlive
* @returns {number}
*/
onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
const { client, socket, headers, statusText } = this;
if (socket.destroyed) {
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
if (!request) {
return -1;
}
assert3(!this.upgrade);
assert3(this.statusCode < 200);
if (statusCode === 100) {
util2.destroy(socket, new SocketError("bad response", util2.getSocketInfo(socket)));
return -1;
}
if (upgrade && !request.upgrade) {
util2.destroy(socket, new SocketError("bad upgrade", util2.getSocketInfo(socket)));
return -1;
}
assert3(this.timeoutType === TIMEOUT_HEADERS);
this.statusCode = statusCode;
this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
if (this.statusCode >= 200) {
const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout];
this.setTimeout(bodyTimeout, TIMEOUT_BODY);
} else if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
if (request.method === "CONNECT") {
assert3(client[kRunning] === 1);
this.upgrade = true;
return 2;
}
if (upgrade) {
assert3(client[kRunning] === 1);
this.upgrade = true;
return 2;
}
assert3((this.headers.length & 1) === 0);
this.headers = [];
this.headersSize = 0;
if (this.shouldKeepAlive && client[kPipelining]) {
const keepAliveTimeout = this.keepAlive ? util2.parseKeepAliveTimeout(this.keepAlive) : null;
if (keepAliveTimeout != null) {
const timeout = Math.min(
keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
client[kKeepAliveMaxTimeout]
);
if (timeout <= 0) {
socket[kReset] = true;
} else {
client[kKeepAliveTimeoutValue] = timeout;
}
} else {
client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
}
} else {
socket[kReset] = true;
}
const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false;
if (request.aborted) {
return -1;
}
if (request.method === "HEAD") {
return 1;
}
if (statusCode < 200) {
return 1;
}
if (socket[kBlocking]) {
socket[kBlocking] = false;
client[kResume]();
}
return pause ? constants5.ERROR.PAUSED : 0;
}
/**
* @param {Buffer} buf
* @returns {number}
*/
onBody(buf) {
const { client, socket, statusCode, maxResponseSize } = this;
if (socket.destroyed) {
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
assert3(request);
assert3(this.timeoutType === TIMEOUT_BODY);
if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
assert3(statusCode >= 200);
if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
util2.destroy(socket, new ResponseExceededMaxSizeError());
return -1;
}
this.bytesRead += buf.length;
if (request.onData(buf) === false) {
return constants5.ERROR.PAUSED;
}
return 0;
}
/**
* @returns {number}
*/
onMessageComplete() {
const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
return -1;
}
if (upgrade) {
return 0;
}
assert3(statusCode >= 100);
assert3((this.headers.length & 1) === 0);
const request = client[kQueue][client[kRunningIdx]];
assert3(request);
this.statusCode = 0;
this.statusText = "";
this.bytesRead = 0;
this.contentLength = "";
this.keepAlive = "";
this.connection = "";
this.headers = [];
this.headersSize = 0;
if (statusCode < 200) {
return 0;
}
if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
util2.destroy(socket, new ResponseContentLengthMismatchError());
return -1;
}
request.onComplete(headers);
client[kQueue][client[kRunningIdx]++] = null;
if (socket[kWriting]) {
assert3(client[kRunning] === 0);
util2.destroy(socket, new InformationalError("reset"));
return constants5.ERROR.PAUSED;
} else if (!shouldKeepAlive) {
util2.destroy(socket, new InformationalError("reset"));
return constants5.ERROR.PAUSED;
} else if (socket[kReset] && client[kRunning] === 0) {
util2.destroy(socket, new InformationalError("reset"));
return constants5.ERROR.PAUSED;
} else if (client[kPipelining] == null || client[kPipelining] === 1) {
setImmediate(client[kResume]);
} else {
client[kResume]();
}
return 0;
}
};
function onParserTimeout(parserWeakRef) {
const parser4 = parserWeakRef.deref();
if (!parser4) {
return;
}
const { socket, timeoutType, client, paused } = parser4;
if (timeoutType === TIMEOUT_HEADERS) {
if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
assert3(!paused, "cannot be paused while waiting for headers");
util2.destroy(socket, new HeadersTimeoutError());
}
} else if (timeoutType === TIMEOUT_BODY) {
if (!paused) {
util2.destroy(socket, new BodyTimeoutError());
}
} else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
assert3(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
util2.destroy(socket, new InformationalError("socket idle timeout"));
}
}
function connectH1(client, socket) {
client[kSocket] = socket;
if (!llhttpInstance) {
llhttpInstance = lazyllhttp();
}
if (socket.errored) {
throw socket.errored;
}
if (socket.destroyed) {
throw new SocketError("destroyed");
}
socket[kNoRef] = false;
socket[kWriting] = false;
socket[kReset] = false;
socket[kBlocking] = false;
socket[kParser] = new Parser3(client, socket, llhttpInstance);
util2.addListener(socket, "error", onHttpSocketError);
util2.addListener(socket, "readable", onHttpSocketReadable);
util2.addListener(socket, "end", onHttpSocketEnd);
util2.addListener(socket, "close", onHttpSocketClose);
socket[kClosed] = false;
socket.on("close", onSocketClose);
return {
version: "h1",
defaultPipelining: 1,
write(request) {
return writeH1(client, request);
},
resume() {
resumeH1(client);
},
/**
* @param {Error|undefined} err
* @param {() => void} callback
*/
destroy(err2, callback) {
if (socket[kClosed]) {
queueMicrotask(callback);
} else {
socket.on("close", callback);
socket.destroy(err2);
}
},
/**
* @returns {boolean}
*/
get destroyed() {
return socket.destroyed;
},
/**
* @param {import('../core/request.js')} request
* @returns {boolean}
*/
busy(request) {
if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
return true;
}
if (request) {
if (client[kRunning] > 0 && !request.idempotent) {
return true;
}
if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) {
return true;
}
if (client[kRunning] > 0 && util2.bodyLength(request.body) !== 0 && (util2.isStream(request.body) || util2.isAsyncIterable(request.body) || util2.isFormDataLike(request.body))) {
return true;
}
}
return false;
}
};
}
function onHttpSocketError(err2) {
assert3(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
const parser4 = this[kParser];
if (err2.code === "ECONNRESET" && parser4.statusCode && !parser4.shouldKeepAlive) {
parser4.onMessageComplete();
return;
}
this[kError] = err2;
this[kClient][kOnError](err2);
}
function onHttpSocketReadable() {
this[kParser]?.readMore();
}
function onHttpSocketEnd() {
const parser4 = this[kParser];
if (parser4.statusCode && !parser4.shouldKeepAlive) {
parser4.onMessageComplete();
return;
}
util2.destroy(this, new SocketError("other side closed", util2.getSocketInfo(this)));
}
function onHttpSocketClose() {
const parser4 = this[kParser];
if (parser4) {
if (!this[kError] && parser4.statusCode && !parser4.shouldKeepAlive) {
parser4.onMessageComplete();
}
this[kParser].destroy();
this[kParser] = null;
}
const err2 = this[kError] || new SocketError("closed", util2.getSocketInfo(this));
const client = this[kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
if (client.destroyed) {
assert3(client[kPending] === 0);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i3 = 0; i3 < requests.length; i3++) {
const request = requests[i3];
util2.errorRequest(client, request, err2);
}
} else if (client[kRunning] > 0 && err2.code !== "UND_ERR_INFO") {
const request = client[kQueue][client[kRunningIdx]];
client[kQueue][client[kRunningIdx]++] = null;
util2.errorRequest(client, request, err2);
}
client[kPendingIdx] = client[kRunningIdx];
assert3(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err2);
client[kResume]();
}
function onSocketClose() {
this[kClosed] = true;
}
function resumeH1(client) {
const socket = client[kSocket];
if (socket && !socket.destroyed) {
if (client[kSize] === 0) {
if (!socket[kNoRef] && socket.unref) {
socket.unref();
socket[kNoRef] = true;
}
} else if (socket[kNoRef] && socket.ref) {
socket.ref();
socket[kNoRef] = false;
}
if (client[kSize] === 0) {
if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
}
} else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
const request = client[kQueue][client[kRunningIdx]];
const headersTimeout = request.headersTimeout != null ? request.headersTimeout : client[kHeadersTimeout];
socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
}
}
}
}
function shouldSendContentLength(method) {
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
}
function writeH1(client, request) {
const { method, path: path101, host, upgrade, blocking, reset: reset2 } = request;
let { body: body2, headers, contentLength } = request;
const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
if (util2.isFormDataLike(body2)) {
if (!extractBody) {
extractBody = require_body().extractBody;
}
const [bodyStream, contentType] = extractBody(body2);
if (request.contentType == null) {
headers.push("content-type", contentType);
}
body2 = bodyStream.stream;
contentLength = bodyStream.length;
} else if (util2.isBlobLike(body2) && request.contentType == null && body2.type) {
headers.push("content-type", body2.type);
}
if (body2 && typeof body2.read === "function") {
body2.read(0);
}
const bodyLength = util2.bodyLength(body2);
contentLength = bodyLength ?? contentLength;
if (contentLength === null) {
contentLength = request.contentLength;
}
if (contentLength === 0 && !expectsPayload) {
contentLength = null;
}
if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {
if (client[kStrictContentLength]) {
util2.errorRequest(client, request, new RequestContentLengthMismatchError());
return false;
}
process.emitWarning(new RequestContentLengthMismatchError());
}
const socket = client[kSocket];
const abort2 = (err2) => {
if (request.aborted || request.completed) {
return;
}
util2.errorRequest(client, request, err2 || new RequestAbortedError());
util2.destroy(body2);
util2.destroy(socket, new InformationalError("aborted"));
};
try {
request.onConnect(abort2);
} catch (err2) {
util2.errorRequest(client, request, err2);
}
if (request.aborted) {
return false;
}
if (method === "HEAD") {
socket[kReset] = true;
}
if (upgrade || method === "CONNECT") {
socket[kReset] = true;
}
if (reset2 != null) {
socket[kReset] = reset2;
}
if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
socket[kReset] = true;
}
if (blocking) {
socket[kBlocking] = true;
}
if (socket.setTypeOfService) {
socket.setTypeOfService(request.typeOfService);
}
let header = `${method} ${path101} HTTP/1.1\r
`;
if (typeof host === "string") {
header += `host: ${host}\r
`;
} else {
header += client[kHostHeader];
}
if (upgrade) {
header += `connection: upgrade\r
upgrade: ${upgrade}\r
`;
} else if (client[kPipelining] && !socket[kReset]) {
header += "connection: keep-alive\r\n";
} else {
header += "connection: close\r\n";
}
if (Array.isArray(headers)) {
for (let n3 = 0; n3 < headers.length; n3 += 2) {
const key = headers[n3 + 0];
const val = headers[n3 + 1];
if (Array.isArray(val)) {
for (let i3 = 0; i3 < val.length; i3++) {
header += `${key}: ${val[i3]}\r
`;
}
} else {
header += `${key}: ${val}\r
`;
}
}
}
if (channels.sendHeaders.hasSubscribers) {
channels.sendHeaders.publish({ request, headers: header, socket });
}
if (!body2 || bodyLength === 0) {
writeBuffer(abort2, null, client, request, socket, contentLength, header, expectsPayload);
} else if (util2.isBuffer(body2)) {
writeBuffer(abort2, body2, client, request, socket, contentLength, header, expectsPayload);
} else if (util2.isBlobLike(body2)) {
if (typeof body2.stream === "function") {
writeIterable(abort2, body2.stream(), client, request, socket, contentLength, header, expectsPayload);
} else {
writeBlob(abort2, body2, client, request, socket, contentLength, header, expectsPayload);
}
} else if (util2.isStream(body2)) {
writeStream(abort2, body2, client, request, socket, contentLength, header, expectsPayload);
} else if (util2.isIterable(body2)) {
writeIterable(abort2, body2, client, request, socket, contentLength, header, expectsPayload);
} else {
assert3(false);
}
return true;
}
function writeStream(abort2, body2, client, request, socket, contentLength, header, expectsPayload) {
assert3(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
let finished7 = false;
const writer = new AsyncWriter({ abort: abort2, socket, request, contentLength, client, expectsPayload, header });
const onData = function(chunk) {
if (finished7) {
return;
}
try {
if (!writer.write(chunk) && this.pause) {
this.pause();
}
} catch (err2) {
util2.destroy(this, err2);
}
};
const onDrain = function() {
if (finished7) {
return;
}
if (body2.resume) {
body2.resume();
}
};
const onClose = function() {
queueMicrotask(() => {
body2.removeListener("error", onFinished);
});
if (!finished7) {
const err2 = new RequestAbortedError();
queueMicrotask(() => onFinished(err2));
}
};
const onFinished = function(err2) {
if (finished7) {
return;
}
finished7 = true;
assert3(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
socket.off("drain", onDrain).off("error", onFinished);
body2.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
if (!err2) {
try {
writer.end();
} catch (er) {
err2 = er;
}
}
writer.destroy(err2);
if (err2 && (err2.code !== "UND_ERR_INFO" || err2.message !== "reset")) {
util2.destroy(body2, err2);
} else {
util2.destroy(body2);
}
};
body2.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
if (body2.resume) {
body2.resume();
}
socket.on("drain", onDrain).on("error", onFinished);
if (body2.errorEmitted ?? body2.errored) {
setImmediate(onFinished, body2.errored);
} else if (body2.endEmitted ?? body2.readableEnded) {
setImmediate(onFinished, null);
}
if (body2.closeEmitted ?? body2.closed) {
setImmediate(onClose);
}
}
function writeBuffer(abort2, body2, client, request, socket, contentLength, header, expectsPayload) {
try {
if (!body2) {
if (contentLength === 0) {
socket.write(`${header}content-length: 0\r
\r
`, "latin1");
} else {
assert3(contentLength === null, "no body must not have content length");
socket.write(`${header}\r
`, "latin1");
}
} else if (util2.isBuffer(body2)) {
assert3(contentLength === body2.byteLength, "buffer body must have content length");
socket.cork();
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
socket.write(body2);
socket.uncork();
request.onBodySent(body2);
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
}
request.onRequestSent();
client[kResume]();
} catch (err2) {
abort2(err2);
}
}
async function writeBlob(abort2, body2, client, request, socket, contentLength, header, expectsPayload) {
assert3(contentLength === body2.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body2.size) {
throw new RequestContentLengthMismatchError();
}
const buffer = Buffer.from(await body2.arrayBuffer());
socket.cork();
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
socket.write(buffer);
socket.uncork();
request.onBodySent(buffer);
request.onRequestSent();
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
client[kResume]();
} catch (err2) {
abort2(err2);
}
}
async function writeIterable(abort2, body2, client, request, socket, contentLength, header, expectsPayload) {
assert3(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
if (callback) {
const cb = callback;
callback = null;
cb();
}
}
const waitForDrain = () => new Promise((resolve25, reject) => {
assert3(callback === null);
if (socket[kError]) {
reject(socket[kError]);
} else {
callback = resolve25;
}
});
socket.on("close", onDrain).on("drain", onDrain);
const writer = new AsyncWriter({ abort: abort2, socket, request, contentLength, client, expectsPayload, header });
try {
for await (const chunk of body2) {
if (socket[kError]) {
throw socket[kError];
}
if (!writer.write(chunk)) {
await waitForDrain();
}
}
writer.end();
} catch (err2) {
writer.destroy(err2);
} finally {
socket.off("close", onDrain).off("drain", onDrain);
}
}
var AsyncWriter = class {
/**
*
* @param {object} arg
* @param {AbortCallback} arg.abort
* @param {import('net').Socket} arg.socket
* @param {import('../core/request.js')} arg.request
* @param {number} arg.contentLength
* @param {import('./client.js')} arg.client
* @param {boolean} arg.expectsPayload
* @param {string} arg.header
*/
constructor({ abort: abort2, socket, request, contentLength, client, expectsPayload, header }) {
this.socket = socket;
this.request = request;
this.contentLength = contentLength;
this.client = client;
this.bytesWritten = 0;
this.expectsPayload = expectsPayload;
this.header = header;
this.abort = abort2;
socket[kWriting] = true;
}
/**
* @param {Buffer} chunk
* @returns
*/
write(chunk) {
const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this;
if (socket[kError]) {
throw socket[kError];
}
if (socket.destroyed) {
return false;
}
const len = Buffer.byteLength(chunk);
if (!len) {
return true;
}
if (contentLength !== null && bytesWritten + len > contentLength) {
if (client[kStrictContentLength]) {
throw new RequestContentLengthMismatchError();
}
process.emitWarning(new RequestContentLengthMismatchError());
}
socket.cork();
if (bytesWritten === 0) {
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
if (contentLength === null) {
socket.write(`${header}transfer-encoding: chunked\r
`, "latin1");
} else {
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
}
}
if (contentLength === null) {
socket.write(`\r
${len.toString(16)}\r
`, "latin1");
}
this.bytesWritten += len;
const ret = socket.write(chunk);
socket.uncork();
request.onBodySent(chunk);
if (!ret) {
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
if (socket[kParser].timeout.refresh) {
socket[kParser].timeout.refresh();
}
}
}
return ret;
}
/**
* @returns {void}
*/
end() {
const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this;
request.onRequestSent();
socket[kWriting] = false;
if (socket[kError]) {
throw socket[kError];
}
if (socket.destroyed) {
return;
}
if (bytesWritten === 0) {
if (expectsPayload) {
socket.write(`${header}content-length: 0\r
\r
`, "latin1");
} else {
socket.write(`${header}\r
`, "latin1");
}
} else if (contentLength === null) {
socket.write("\r\n0\r\n\r\n", "latin1");
}
if (contentLength !== null && bytesWritten !== contentLength) {
if (client[kStrictContentLength]) {
throw new RequestContentLengthMismatchError();
} else {
process.emitWarning(new RequestContentLengthMismatchError());
}
}
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
if (socket[kParser].timeout.refresh) {
socket[kParser].timeout.refresh();
}
}
client[kResume]();
}
/**
* @param {Error} [err]
* @returns {void}
*/
destroy(err2) {
const { socket, client, abort: abort2 } = this;
socket[kWriting] = false;
if (err2) {
assert3(client[kRunning] <= 1, "pipeline should only contain this request");
abort2(err2);
}
}
};
module2.exports = connectH1;
}
});
// node_modules/undici/lib/dispatcher/client-h2.js
var require_client_h2 = __commonJS({
"node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { pipeline } = __require("node:stream");
var util2 = require_util13();
var {
RequestContentLengthMismatchError,
RequestAbortedError,
SocketError,
InformationalError,
InvalidArgumentError
} = require_errors4();
var {
kUrl,
kReset,
kClient,
kRunning,
kPending,
kQueue,
kPendingIdx,
kRunningIdx,
kError,
kSocket,
kStrictContentLength,
kOnError,
kMaxConcurrentStreams,
kPingInterval,
kHTTP2Session,
kHTTP2InitialWindowSize,
kHTTP2ConnectionWindowSize,
kResume,
kSize,
kHTTPContext,
kClosed,
kBodyTimeout,
kEnableConnectProtocol,
kRemoteSettings,
kHTTP2Stream,
kHTTP2SessionState
} = require_symbols();
var { channels } = require_diagnostics();
var kOpenStreams = Symbol("open streams");
var extractBody;
var http22;
try {
http22 = __require("node:http2");
} catch {
http22 = { constants: {} };
}
var {
constants: {
HTTP2_HEADER_AUTHORITY,
HTTP2_HEADER_METHOD,
HTTP2_HEADER_PATH,
HTTP2_HEADER_SCHEME,
HTTP2_HEADER_CONTENT_LENGTH,
HTTP2_HEADER_EXPECT,
HTTP2_HEADER_STATUS,
HTTP2_HEADER_PROTOCOL,
NGHTTP2_REFUSED_STREAM,
NGHTTP2_CANCEL
}
} = http22;
function parseH2Headers(headers) {
const result2 = [];
for (const [name3, value] of Object.entries(headers)) {
if (Array.isArray(value)) {
for (const subvalue of value) {
result2.push(Buffer.from(name3), Buffer.from(subvalue));
}
} else {
result2.push(Buffer.from(name3), Buffer.from(value));
}
}
return result2;
}
function connectH2(client, socket) {
client[kSocket] = socket;
const http2InitialWindowSize = client[kHTTP2InitialWindowSize];
const http2ConnectionWindowSize = client[kHTTP2ConnectionWindowSize];
const session = http22.connect(client[kUrl], {
createConnection: () => socket,
peerMaxConcurrentStreams: client[kMaxConcurrentStreams],
settings: {
// TODO(metcoder95): add support for PUSH
enablePush: false,
...http2InitialWindowSize != null ? { initialWindowSize: http2InitialWindowSize } : null
}
});
client[kSocket] = socket;
session[kOpenStreams] = 0;
session[kClient] = client;
session[kSocket] = socket;
session[kHTTP2SessionState] = {
ping: {
interval: client[kPingInterval] === 0 ? null : setInterval(onHttp2SendPing, client[kPingInterval], session).unref()
}
};
session[kEnableConnectProtocol] = false;
session[kRemoteSettings] = false;
if (http2ConnectionWindowSize) {
util2.addListener(session, "connect", applyConnectionWindowSize.bind(session, http2ConnectionWindowSize));
}
util2.addListener(session, "error", onHttp2SessionError);
util2.addListener(session, "frameError", onHttp2FrameError);
util2.addListener(session, "end", onHttp2SessionEnd);
util2.addListener(session, "goaway", onHttp2SessionGoAway);
util2.addListener(session, "close", onHttp2SessionClose);
util2.addListener(session, "remoteSettings", onHttp2RemoteSettings);
session.unref();
client[kHTTP2Session] = session;
socket[kHTTP2Session] = session;
util2.addListener(socket, "error", onHttp2SocketError);
util2.addListener(socket, "end", onHttp2SocketEnd);
util2.addListener(socket, "close", onHttp2SocketClose);
socket[kClosed] = false;
socket.on("close", onSocketClose);
return {
version: "h2",
defaultPipelining: Infinity,
/**
* @param {import('../core/request.js')} request
* @returns {boolean}
*/
write(request) {
return writeH2(client, request);
},
/**
* @returns {void}
*/
resume() {
resumeH2(client);
},
/**
* @param {Error | null} err
* @param {() => void} callback
*/
destroy(err2, callback) {
if (socket[kClosed]) {
queueMicrotask(callback);
} else {
socket.destroy(err2).on("close", callback);
}
},
/**
* @type {boolean}
*/
get destroyed() {
return socket.destroyed;
},
/**
* @param {import('../core/request.js')} request
* @returns {boolean}
*/
busy(request) {
if (request != null) {
if (client[kRunning] > 0) {
if (request.idempotent === false) return true;
if ((request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false) return true;
if (util2.bodyLength(request.body) !== 0 && (util2.isStream(request.body) || util2.isAsyncIterable(request.body) || util2.isFormDataLike(request.body))) return true;
} else {
return (request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false;
}
}
return false;
}
};
}
function resumeH2(client) {
const socket = client[kSocket];
if (socket?.destroyed === false) {
if (client[kSize] === 0 || client[kMaxConcurrentStreams] === 0) {
socket.unref();
client[kHTTP2Session].unref();
} else {
socket.ref();
client[kHTTP2Session].ref();
}
}
}
function applyConnectionWindowSize(connectionWindowSize) {
try {
if (typeof this.setLocalWindowSize === "function") {
this.setLocalWindowSize(connectionWindowSize);
}
} catch {
}
}
function onHttp2RemoteSettings(settings) {
this[kClient][kMaxConcurrentStreams] = settings.maxConcurrentStreams ?? this[kClient][kMaxConcurrentStreams];
if (this[kRemoteSettings] === true && this[kEnableConnectProtocol] === true && settings.enableConnectProtocol === false) {
const err2 = new InformationalError("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");
this[kSocket][kError] = err2;
this[kClient][kOnError](err2);
return;
}
this[kEnableConnectProtocol] = settings.enableConnectProtocol ?? this[kEnableConnectProtocol];
this[kRemoteSettings] = true;
this[kClient][kResume]();
}
function onHttp2SendPing(session) {
const state = session[kHTTP2SessionState];
if ((session.closed || session.destroyed) && state.ping.interval != null) {
clearInterval(state.ping.interval);
state.ping.interval = null;
return;
}
session.ping(onPing.bind(session));
function onPing(err2, duration3) {
const client = this[kClient];
const socket = this[kClient];
if (err2 != null) {
const error40 = new InformationalError(`HTTP/2: "PING" errored - type ${err2.message}`);
socket[kError] = error40;
client[kOnError](error40);
} else {
client.emit("ping", duration3);
}
}
}
function onHttp2SessionError(err2) {
assert3(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
this[kSocket][kError] = err2;
this[kClient][kOnError](err2);
}
function onHttp2FrameError(type2, code, id) {
if (id === 0) {
const err2 = new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`);
this[kSocket][kError] = err2;
this[kClient][kOnError](err2);
}
}
function onHttp2SessionEnd() {
const err2 = new SocketError("other side closed", util2.getSocketInfo(this[kSocket]));
this.destroy(err2);
util2.destroy(this[kSocket], err2);
}
function onHttp2SessionGoAway(errorCode) {
const err2 = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`, util2.getSocketInfo(this[kSocket]));
const client = this[kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
this.close();
this[kHTTP2Session] = null;
util2.destroy(this[kSocket], err2);
if (client[kRunningIdx] < client[kQueue].length) {
const request = client[kQueue][client[kRunningIdx]];
client[kQueue][client[kRunningIdx]++] = null;
util2.errorRequest(client, request, err2);
client[kPendingIdx] = client[kRunningIdx];
}
assert3(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err2);
client.emit("connectionError", client[kUrl], [client], err2);
client[kResume]();
}
function onHttp2SessionClose() {
const { [kClient]: client, [kHTTP2SessionState]: state } = this;
const { [kSocket]: socket } = client;
const err2 = this[kSocket][kError] || this[kError] || new SocketError("closed", util2.getSocketInfo(socket));
client[kSocket] = null;
client[kHTTPContext] = null;
if (state.ping.interval != null) {
clearInterval(state.ping.interval);
state.ping.interval = null;
}
if (client.destroyed) {
assert3(client[kPending] === 0);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i3 = 0; i3 < requests.length; i3++) {
const request = requests[i3];
util2.errorRequest(client, request, err2);
}
}
}
function onHttp2SocketClose() {
const err2 = this[kError] || new SocketError("closed", util2.getSocketInfo(this));
const client = this[kHTTP2Session][kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
if (this[kHTTP2Session] !== null) {
this[kHTTP2Session].destroy(err2);
}
client[kPendingIdx] = client[kRunningIdx];
assert3(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err2);
client[kResume]();
}
function onHttp2SocketError(err2) {
assert3(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
this[kError] = err2;
this[kClient][kOnError](err2);
}
function onHttp2SocketEnd() {
util2.destroy(this, new SocketError("other side closed", util2.getSocketInfo(this)));
}
function onSocketClose() {
this[kClosed] = true;
}
function shouldSendContentLength(method) {
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
}
function writeH2(client, request) {
const requestTimeout = request.bodyTimeout ?? client[kBodyTimeout];
const session = client[kHTTP2Session];
const { method, path: path101, host, upgrade, expectContinue, signal, protocol, headers: reqHeaders } = request;
let { body: body2 } = request;
if (upgrade != null && upgrade !== "websocket") {
util2.errorRequest(client, request, new InvalidArgumentError(`Custom upgrade "${upgrade}" not supported over HTTP/2`));
return false;
}
const headers = {};
for (let n3 = 0; n3 < reqHeaders.length; n3 += 2) {
const key = reqHeaders[n3 + 0];
const val = reqHeaders[n3 + 1];
if (key === "cookie") {
if (headers[key] != null) {
headers[key] = Array.isArray(headers[key]) ? (headers[key].push(val), headers[key]) : [headers[key], val];
} else {
headers[key] = val;
}
continue;
}
if (Array.isArray(val)) {
for (let i3 = 0; i3 < val.length; i3++) {
if (headers[key]) {
headers[key] += `, ${val[i3]}`;
} else {
headers[key] = val[i3];
}
}
} else if (headers[key]) {
headers[key] += `, ${val}`;
} else {
headers[key] = val;
}
}
let stream2 = null;
const { hostname: hostname3, port } = client[kUrl];
headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname3}${port ? `:${port}` : ""}`;
headers[HTTP2_HEADER_METHOD] = method;
const abort2 = (err2) => {
if (request.aborted || request.completed) {
return;
}
err2 = err2 || new RequestAbortedError();
util2.errorRequest(client, request, err2);
if (stream2 != null) {
stream2.removeAllListeners("data");
stream2.close();
client[kOnError](err2);
client[kResume]();
}
util2.destroy(body2, err2);
};
try {
request.onConnect(abort2);
} catch (err2) {
util2.errorRequest(client, request, err2);
}
if (request.aborted) {
return false;
}
if (upgrade || method === "CONNECT") {
session.ref();
if (upgrade === "websocket") {
if (session[kEnableConnectProtocol] === false) {
util2.errorRequest(client, request, new InformationalError("HTTP/2: Extended CONNECT protocol not supported by server"));
session.unref();
return false;
}
headers[HTTP2_HEADER_METHOD] = "CONNECT";
headers[HTTP2_HEADER_PROTOCOL] = "websocket";
headers[HTTP2_HEADER_PATH] = path101;
if (protocol === "ws:" || protocol === "wss:") {
headers[HTTP2_HEADER_SCHEME] = protocol === "ws:" ? "http" : "https";
} else {
headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
}
stream2 = session.request(headers, { endStream: false, signal });
stream2[kHTTP2Stream] = true;
stream2.once("response", (headers2, _flags) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream2);
++session[kOpenStreams];
client[kQueue][client[kRunningIdx]++] = null;
});
stream2.on("error", () => {
if (stream2.rstCode === NGHTTP2_REFUSED_STREAM || stream2.rstCode === NGHTTP2_CANCEL) {
abort2(new InformationalError(`HTTP/2: "stream error" received - code ${stream2.rstCode}`));
}
});
stream2.once("close", () => {
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) session.unref();
});
stream2.setTimeout(requestTimeout);
return true;
}
stream2 = session.request(headers, { endStream: false, signal });
stream2[kHTTP2Stream] = true;
stream2.on("response", (headers2) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream2);
++session[kOpenStreams];
client[kQueue][client[kRunningIdx]++] = null;
});
stream2.once("close", () => {
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) session.unref();
});
stream2.setTimeout(requestTimeout);
return true;
}
headers[HTTP2_HEADER_PATH] = path101;
headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
if (body2 && typeof body2.read === "function") {
body2.read(0);
}
let contentLength = util2.bodyLength(body2);
if (util2.isFormDataLike(body2)) {
extractBody ??= require_body().extractBody;
const [bodyStream, contentType] = extractBody(body2);
headers["content-type"] = contentType;
body2 = bodyStream.stream;
contentLength = bodyStream.length;
}
if (contentLength == null) {
contentLength = request.contentLength;
}
if (!expectsPayload) {
contentLength = null;
}
if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {
if (client[kStrictContentLength]) {
util2.errorRequest(client, request, new RequestContentLengthMismatchError());
return false;
}
process.emitWarning(new RequestContentLengthMismatchError());
}
if (contentLength != null) {
assert3(body2 || contentLength === 0, "no body must not have content length");
headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
}
session.ref();
if (channels.sendHeaders.hasSubscribers) {
let header = "";
for (const key in headers) {
header += `${key}: ${headers[key]}\r
`;
}
channels.sendHeaders.publish({ request, headers: header, socket: session[kSocket] });
}
const shouldEndStream = method === "GET" || method === "HEAD" || body2 === null;
if (expectContinue) {
headers[HTTP2_HEADER_EXPECT] = "100-continue";
stream2 = session.request(headers, { endStream: shouldEndStream, signal });
stream2[kHTTP2Stream] = true;
stream2.once("continue", writeBodyH2);
} else {
stream2 = session.request(headers, {
endStream: shouldEndStream,
signal
});
stream2[kHTTP2Stream] = true;
writeBodyH2();
}
++session[kOpenStreams];
stream2.setTimeout(requestTimeout);
let responseReceived = false;
stream2.once("response", (headers2) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onResponseStarted();
responseReceived = true;
if (request.aborted) {
stream2.removeAllListeners("data");
return;
}
if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) {
stream2.pause();
}
stream2.on("data", (chunk) => {
if (request.aborted || request.completed) {
return;
}
if (request.onData(chunk) === false) {
stream2.pause();
}
});
});
stream2.once("end", () => {
stream2.removeAllListeners("data");
if (responseReceived) {
if (!request.aborted && !request.completed) {
request.onComplete({});
}
client[kQueue][client[kRunningIdx]++] = null;
client[kResume]();
} else {
abort2(new InformationalError("HTTP/2: stream half-closed (remote)"));
client[kQueue][client[kRunningIdx]++] = null;
client[kPendingIdx] = client[kRunningIdx];
client[kResume]();
}
});
stream2.once("close", () => {
stream2.removeAllListeners("data");
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) {
session.unref();
}
});
stream2.once("error", function(err2) {
stream2.removeAllListeners("data");
abort2(err2);
});
stream2.once("frameError", (type2, code) => {
stream2.removeAllListeners("data");
abort2(new InformationalError(`HTTP/2: "frameError" received - type ${type2}, code ${code}`));
});
stream2.on("aborted", () => {
stream2.removeAllListeners("data");
});
stream2.on("timeout", () => {
const err2 = new InformationalError(`HTTP/2: "stream timeout after ${requestTimeout}"`);
stream2.removeAllListeners("data");
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) {
session.unref();
}
abort2(err2);
});
stream2.once("trailers", (trailers) => {
if (request.aborted || request.completed) {
return;
}
stream2.removeAllListeners("data");
request.onComplete(trailers);
});
return true;
function writeBodyH2() {
if (!body2 || contentLength === 0) {
writeBuffer(
abort2,
stream2,
null,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else if (util2.isBuffer(body2)) {
writeBuffer(
abort2,
stream2,
body2,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else if (util2.isBlobLike(body2)) {
if (typeof body2.stream === "function") {
writeIterable(
abort2,
stream2,
body2.stream(),
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else {
writeBlob(
abort2,
stream2,
body2,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
}
} else if (util2.isStream(body2)) {
writeStream(
abort2,
client[kSocket],
expectsPayload,
stream2,
body2,
client,
request,
contentLength
);
} else if (util2.isIterable(body2)) {
writeIterable(
abort2,
stream2,
body2,
client,
request,
client[kSocket],
contentLength,
expectsPayload
);
} else {
assert3(false);
}
}
}
function writeBuffer(abort2, h2stream, body2, client, request, socket, contentLength, expectsPayload) {
try {
if (body2 != null && util2.isBuffer(body2)) {
assert3(contentLength === body2.byteLength, "buffer body must have content length");
h2stream.cork();
h2stream.write(body2);
h2stream.uncork();
h2stream.end();
request.onBodySent(body2);
}
if (!expectsPayload) {
socket[kReset] = true;
}
request.onRequestSent();
client[kResume]();
} catch (error40) {
abort2(error40);
}
}
function writeStream(abort2, socket, expectsPayload, h2stream, body2, client, request, contentLength) {
assert3(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
const pipe2 = pipeline(
body2,
h2stream,
(err2) => {
if (err2) {
util2.destroy(pipe2, err2);
abort2(err2);
} else {
util2.removeAllListeners(pipe2);
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
}
}
);
util2.addListener(pipe2, "data", onPipeData);
function onPipeData(chunk) {
request.onBodySent(chunk);
}
}
async function writeBlob(abort2, h2stream, body2, client, request, socket, contentLength, expectsPayload) {
assert3(contentLength === body2.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body2.size) {
throw new RequestContentLengthMismatchError();
}
const buffer = Buffer.from(await body2.arrayBuffer());
h2stream.cork();
h2stream.write(buffer);
h2stream.uncork();
h2stream.end();
request.onBodySent(buffer);
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
} catch (err2) {
abort2(err2);
}
}
async function writeIterable(abort2, h2stream, body2, client, request, socket, contentLength, expectsPayload) {
assert3(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
if (callback) {
const cb = callback;
callback = null;
cb();
}
}
const waitForDrain = () => new Promise((resolve25, reject) => {
assert3(callback === null);
if (socket[kError]) {
reject(socket[kError]);
} else {
callback = resolve25;
}
});
h2stream.on("close", onDrain).on("drain", onDrain);
try {
for await (const chunk of body2) {
if (socket[kError]) {
throw socket[kError];
}
const res = h2stream.write(chunk);
request.onBodySent(chunk);
if (!res) {
await waitForDrain();
}
}
h2stream.end();
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
} catch (err2) {
abort2(err2);
} finally {
h2stream.off("close", onDrain).off("drain", onDrain);
}
}
module2.exports = connectH2;
}
});
// node_modules/undici/lib/dispatcher/client.js
var require_client2 = __commonJS({
"node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var net2 = __require("node:net");
var http3 = __require("node:http");
var util2 = require_util13();
var { ClientStats } = require_stats();
var { channels } = require_diagnostics();
var Request = require_request();
var DispatcherBase = require_dispatcher_base();
var {
InvalidArgumentError,
InformationalError,
ClientDestroyedError
} = require_errors4();
var buildConnector = require_connect();
var {
kUrl,
kServerName,
kClient,
kBusy,
kConnect,
kResuming,
kRunning,
kPending,
kSize,
kQueue,
kConnected,
kConnecting,
kNeedDrain,
kKeepAliveDefaultTimeout,
kHostHeader,
kPendingIdx,
kRunningIdx,
kError,
kPipelining,
kKeepAliveTimeoutValue,
kMaxHeadersSize,
kKeepAliveMaxTimeout,
kKeepAliveTimeoutThreshold,
kHeadersTimeout,
kBodyTimeout,
kStrictContentLength,
kConnector,
kMaxRequests,
kCounter,
kClose,
kDestroy,
kDispatch,
kLocalAddress,
kMaxResponseSize,
kOnError,
kHTTPContext,
kMaxConcurrentStreams,
kHTTP2InitialWindowSize,
kHTTP2ConnectionWindowSize,
kResume,
kPingInterval
} = require_symbols();
var connectH1 = require_client_h1();
var connectH2 = require_client_h2();
var kClosedResolve = Symbol("kClosedResolve");
var getDefaultNodeMaxHeaderSize = http3 && http3.maxHeaderSize && Number.isInteger(http3.maxHeaderSize) && http3.maxHeaderSize > 0 ? () => http3.maxHeaderSize : () => {
throw new InvalidArgumentError("http module not available or http.maxHeaderSize invalid");
};
var noop4 = () => {
};
function getPipelining(client) {
return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
}
var Client3 = class extends DispatcherBase {
/**
*
* @param {string|URL} url
* @param {import('../../types/client.js').Client.Options} options
*/
constructor(url3, {
maxHeaderSize,
headersTimeout,
socketTimeout,
requestTimeout,
connectTimeout,
bodyTimeout,
idleTimeout,
keepAlive,
keepAliveTimeout,
maxKeepAliveTimeout,
keepAliveMaxTimeout,
keepAliveTimeoutThreshold,
socketPath,
pipelining,
tls,
strictContentLength,
maxCachedSessions,
connect: connect2,
maxRequestsPerClient,
localAddress,
maxResponseSize,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
// h2
maxConcurrentStreams,
allowH2,
useH2c,
initialWindowSize,
connectionWindowSize,
pingInterval
} = {}) {
if (keepAlive !== void 0) {
throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
}
if (socketTimeout !== void 0) {
throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
}
if (requestTimeout !== void 0) {
throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
}
if (idleTimeout !== void 0) {
throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
}
if (maxKeepAliveTimeout !== void 0) {
throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
}
if (maxHeaderSize != null) {
if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) {
throw new InvalidArgumentError("invalid maxHeaderSize");
}
} else {
maxHeaderSize = getDefaultNodeMaxHeaderSize();
}
if (socketPath != null && typeof socketPath !== "string") {
throw new InvalidArgumentError("invalid socketPath");
}
if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
throw new InvalidArgumentError("invalid connectTimeout");
}
if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
throw new InvalidArgumentError("invalid keepAliveTimeout");
}
if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
}
if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
}
if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
}
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
}
if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
}
if (localAddress != null && (typeof localAddress !== "string" || net2.isIP(localAddress) === 0)) {
throw new InvalidArgumentError("localAddress must be valid string IP address");
}
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
throw new InvalidArgumentError("maxResponseSize must be a positive number");
}
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
}
if (allowH2 != null && typeof allowH2 !== "boolean") {
throw new InvalidArgumentError("allowH2 must be a valid boolean value");
}
if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
}
if (useH2c != null && typeof useH2c !== "boolean") {
throw new InvalidArgumentError("useH2c must be a valid boolean value");
}
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) {
throw new InvalidArgumentError("initialWindowSize must be a positive integer, greater than 0");
}
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) {
throw new InvalidArgumentError("connectionWindowSize must be a positive integer, greater than 0");
}
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) {
throw new InvalidArgumentError("pingInterval must be a positive integer, greater or equal to 0");
}
super();
if (typeof connect2 !== "function") {
connect2 = buildConnector({
...tls,
maxCachedSessions,
allowH2,
useH2c,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
...connect2
});
} else if (socketPath != null) {
const customConnect = connect2;
connect2 = (opts, callback) => customConnect({ ...opts, socketPath }, callback);
}
this[kUrl] = util2.parseOrigin(url3);
this[kConnector] = connect2;
this[kPipelining] = pipelining != null ? pipelining : 1;
this[kMaxHeadersSize] = maxHeaderSize;
this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
this[kServerName] = null;
this[kLocalAddress] = localAddress != null ? localAddress : null;
this[kResuming] = 0;
this[kNeedDrain] = 0;
this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
`;
this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
this[kMaxRequests] = maxRequestsPerClient;
this[kClosedResolve] = null;
this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
this[kHTTPContext] = null;
this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
this[kHTTP2InitialWindowSize] = initialWindowSize != null ? initialWindowSize : 262144;
this[kHTTP2ConnectionWindowSize] = connectionWindowSize != null ? connectionWindowSize : 524288;
this[kPingInterval] = pingInterval != null ? pingInterval : 6e4;
this[kQueue] = [];
this[kRunningIdx] = 0;
this[kPendingIdx] = 0;
this[kResume] = (sync2) => resume(this, sync2);
this[kOnError] = (err2) => onError2(this, err2);
}
get pipelining() {
return this[kPipelining];
}
set pipelining(value) {
this[kPipelining] = value;
this[kResume](true);
}
get stats() {
return new ClientStats(this);
}
get [kPending]() {
return this[kQueue].length - this[kPendingIdx];
}
get [kRunning]() {
return this[kPendingIdx] - this[kRunningIdx];
}
get [kSize]() {
return this[kQueue].length - this[kRunningIdx];
}
get [kConnected]() {
return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
}
get [kBusy]() {
return Boolean(
this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0
);
}
[kConnect](cb) {
connect(this);
this.once("connect", cb);
}
[kDispatch](opts, handler) {
const request = new Request(this[kUrl].origin, opts, handler);
this[kQueue].push(request);
if (this[kResuming]) {
} else if (util2.bodyLength(request.body) == null && util2.isIterable(request.body)) {
this[kResuming] = 1;
queueMicrotask(() => resume(this));
} else {
this[kResume](true);
}
if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
this[kNeedDrain] = 2;
}
return this[kNeedDrain] < 2;
}
[kClose]() {
return new Promise((resolve25) => {
if (this[kSize]) {
this[kClosedResolve] = resolve25;
} else {
resolve25(null);
}
});
}
[kDestroy](err2) {
return new Promise((resolve25) => {
const requests = this[kQueue].splice(this[kPendingIdx]);
for (let i3 = 0; i3 < requests.length; i3++) {
const request = requests[i3];
util2.errorRequest(this, request, err2);
}
const callback = () => {
if (this[kClosedResolve]) {
this[kClosedResolve]();
this[kClosedResolve] = null;
}
resolve25(null);
};
if (this[kHTTPContext]) {
this[kHTTPContext].destroy(err2, callback);
this[kHTTPContext] = null;
} else {
queueMicrotask(callback);
}
this[kResume]();
});
}
};
function onError2(client, err2) {
if (client[kRunning] === 0 && err2.code !== "UND_ERR_INFO" && err2.code !== "UND_ERR_SOCKET") {
assert3(client[kPendingIdx] === client[kRunningIdx]);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i3 = 0; i3 < requests.length; i3++) {
const request = requests[i3];
util2.errorRequest(client, request, err2);
}
assert3(client[kSize] === 0);
}
}
function connect(client) {
assert3(!client[kConnecting]);
assert3(!client[kHTTPContext]);
let { host, hostname: hostname3, protocol, port } = client[kUrl];
if (hostname3[0] === "[") {
const idx = hostname3.indexOf("]");
assert3(idx !== -1);
const ip = hostname3.substring(1, idx);
assert3(net2.isIPv6(ip));
hostname3 = ip;
}
client[kConnecting] = true;
if (channels.beforeConnect.hasSubscribers) {
channels.beforeConnect.publish({
connectParams: {
host,
hostname: hostname3,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector]
});
}
client[kConnector]({
host,
hostname: hostname3,
protocol,
port,
servername: client[kServerName],
localAddress: client[kLocalAddress]
}, (err2, socket) => {
if (err2) {
handleConnectError(client, err2, { host, hostname: hostname3, protocol, port });
client[kResume]();
return;
}
if (client.destroyed) {
util2.destroy(socket.on("error", noop4), new ClientDestroyedError());
client[kResume]();
return;
}
assert3(socket);
try {
client[kHTTPContext] = socket.alpnProtocol === "h2" ? connectH2(client, socket) : connectH1(client, socket);
} catch (err3) {
socket.destroy().on("error", noop4);
handleConnectError(client, err3, { host, hostname: hostname3, protocol, port });
client[kResume]();
return;
}
client[kConnecting] = false;
socket[kCounter] = 0;
socket[kMaxRequests] = client[kMaxRequests];
socket[kClient] = client;
socket[kError] = null;
if (channels.connected.hasSubscribers) {
channels.connected.publish({
connectParams: {
host,
hostname: hostname3,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector],
socket
});
}
client.emit("connect", client[kUrl], [client]);
client[kResume]();
});
}
function handleConnectError(client, err2, { host, hostname: hostname3, protocol, port }) {
if (client.destroyed) {
return;
}
client[kConnecting] = false;
if (channels.connectError.hasSubscribers) {
channels.connectError.publish({
connectParams: {
host,
hostname: hostname3,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector],
error: err2
});
}
if (err2.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
assert3(client[kRunning] === 0);
while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
const request = client[kQueue][client[kPendingIdx]++];
util2.errorRequest(client, request, err2);
}
} else {
onError2(client, err2);
}
client.emit("connectionError", client[kUrl], [client], err2);
}
function emitDrain(client) {
client[kNeedDrain] = 0;
client.emit("drain", client[kUrl], [client]);
}
function resume(client, sync2) {
if (client[kResuming] === 2) {
return;
}
client[kResuming] = 2;
_resume(client, sync2);
client[kResuming] = 0;
if (client[kRunningIdx] > 256) {
client[kQueue].splice(0, client[kRunningIdx]);
client[kPendingIdx] -= client[kRunningIdx];
client[kRunningIdx] = 0;
}
}
function _resume(client, sync2) {
while (true) {
if (client.destroyed) {
assert3(client[kPending] === 0);
return;
}
if (client[kClosedResolve] && !client[kSize]) {
client[kClosedResolve]();
client[kClosedResolve] = null;
return;
}
if (client[kHTTPContext]) {
client[kHTTPContext].resume();
}
if (client[kBusy]) {
client[kNeedDrain] = 2;
} else if (client[kNeedDrain] === 2) {
if (sync2) {
client[kNeedDrain] = 1;
queueMicrotask(() => emitDrain(client));
} else {
emitDrain(client);
}
continue;
}
if (client[kPending] === 0) {
return;
}
if (client[kRunning] >= (getPipelining(client) || 1)) {
return;
}
const request = client[kQueue][client[kPendingIdx]];
if (request === null) {
return;
}
if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
if (client[kRunning] > 0) {
return;
}
client[kServerName] = request.servername;
client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
client[kHTTPContext] = null;
resume(client);
});
}
if (client[kConnecting]) {
return;
}
if (!client[kHTTPContext]) {
connect(client);
return;
}
if (client[kHTTPContext].destroyed) {
return;
}
if (client[kHTTPContext].busy(request)) {
return;
}
if (!request.aborted && client[kHTTPContext].write(request)) {
client[kPendingIdx]++;
} else {
client[kQueue].splice(client[kPendingIdx], 1);
}
}
}
module2.exports = Client3;
}
});
// node_modules/undici/lib/dispatcher/fixed-queue.js
var require_fixed_queue = __commonJS({
"node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
"use strict";
var kSize = 2048;
var kMask = kSize - 1;
var FixedCircularBuffer = class {
/** @type {number} */
bottom = 0;
/** @type {number} */
top = 0;
/** @type {Array<T|undefined>} */
list = new Array(kSize).fill(void 0);
/** @type {T|null} */
next = null;
/** @returns {boolean} */
isEmpty() {
return this.top === this.bottom;
}
/** @returns {boolean} */
isFull() {
return (this.top + 1 & kMask) === this.bottom;
}
/**
* @param {T} data
* @returns {void}
*/
push(data) {
this.list[this.top] = data;
this.top = this.top + 1 & kMask;
}
/** @returns {T|null} */
shift() {
const nextItem = this.list[this.bottom];
if (nextItem === void 0) {
return null;
}
this.list[this.bottom] = void 0;
this.bottom = this.bottom + 1 & kMask;
return nextItem;
}
};
module2.exports = class FixedQueue {
constructor() {
this.head = this.tail = new FixedCircularBuffer();
}
/** @returns {boolean} */
isEmpty() {
return this.head.isEmpty();
}
/** @param {T} data */
push(data) {
if (this.head.isFull()) {
this.head = this.head.next = new FixedCircularBuffer();
}
this.head.push(data);
}
/** @returns {T|null} */
shift() {
const tail = this.tail;
const next = tail.shift();
if (tail.isEmpty() && tail.next !== null) {
this.tail = tail.next;
tail.next = null;
}
return next;
}
};
}
});
// node_modules/undici/lib/dispatcher/pool-base.js
var require_pool_base = __commonJS({
"node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
"use strict";
var { PoolStats } = require_stats();
var DispatcherBase = require_dispatcher_base();
var FixedQueue = require_fixed_queue();
var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols();
var kClients = Symbol("clients");
var kNeedDrain = Symbol("needDrain");
var kQueue = Symbol("queue");
var kClosedResolve = Symbol("closed resolve");
var kOnDrain = Symbol("onDrain");
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kGetDispatcher = Symbol("get dispatcher");
var kAddClient = Symbol("add client");
var kRemoveClient = Symbol("remove client");
var PoolBase = class extends DispatcherBase {
[kQueue] = new FixedQueue();
[kQueued] = 0;
[kClients] = [];
[kNeedDrain] = false;
[kOnDrain](client, origin, targets) {
const queue = this[kQueue];
let needDrain = false;
while (!needDrain) {
const item = queue.shift();
if (!item) {
break;
}
this[kQueued]--;
needDrain = !client.dispatch(item.opts, item.handler);
}
client[kNeedDrain] = needDrain;
if (!needDrain && this[kNeedDrain]) {
this[kNeedDrain] = false;
this.emit("drain", origin, [this, ...targets]);
}
if (this[kClosedResolve] && queue.isEmpty()) {
const closeAll = [];
for (let i3 = 0; i3 < this[kClients].length; i3++) {
const client2 = this[kClients][i3];
if (!client2.destroyed) {
closeAll.push(client2.close());
}
}
return Promise.all(closeAll).then(this[kClosedResolve]);
}
}
[kOnConnect] = (origin, targets) => {
this.emit("connect", origin, [this, ...targets]);
};
[kOnDisconnect] = (origin, targets, err2) => {
this.emit("disconnect", origin, [this, ...targets], err2);
};
[kOnConnectionError] = (origin, targets, err2) => {
this.emit("connectionError", origin, [this, ...targets], err2);
};
get [kBusy]() {
return this[kNeedDrain];
}
get [kConnected]() {
let ret = 0;
for (const { [kConnected]: connected } of this[kClients]) {
ret += connected;
}
return ret;
}
get [kFree]() {
let ret = 0;
for (const { [kConnected]: connected, [kNeedDrain]: needDrain } of this[kClients]) {
ret += connected && !needDrain;
}
return ret;
}
get [kPending]() {
let ret = this[kQueued];
for (const { [kPending]: pending } of this[kClients]) {
ret += pending;
}
return ret;
}
get [kRunning]() {
let ret = 0;
for (const { [kRunning]: running } of this[kClients]) {
ret += running;
}
return ret;
}
get [kSize]() {
let ret = this[kQueued];
for (const { [kSize]: size } of this[kClients]) {
ret += size;
}
return ret;
}
get stats() {
return new PoolStats(this);
}
[kClose]() {
if (this[kQueue].isEmpty()) {
const closeAll = [];
for (let i3 = 0; i3 < this[kClients].length; i3++) {
const client = this[kClients][i3];
if (!client.destroyed) {
closeAll.push(client.close());
}
}
return Promise.all(closeAll);
} else {
return new Promise((resolve25) => {
this[kClosedResolve] = resolve25;
});
}
}
[kDestroy](err2) {
while (true) {
const item = this[kQueue].shift();
if (!item) {
break;
}
item.handler.onError(err2);
}
const destroyAll = new Array(this[kClients].length);
for (let i3 = 0; i3 < this[kClients].length; i3++) {
destroyAll[i3] = this[kClients][i3].destroy(err2);
}
return Promise.all(destroyAll);
}
[kDispatch](opts, handler) {
const dispatcher = this[kGetDispatcher]();
if (!dispatcher) {
this[kNeedDrain] = true;
this[kQueue].push({ opts, handler });
this[kQueued]++;
} else if (!dispatcher.dispatch(opts, handler)) {
dispatcher[kNeedDrain] = true;
this[kNeedDrain] = !this[kGetDispatcher]();
}
return !this[kNeedDrain];
}
[kAddClient](client) {
client.on("drain", this[kOnDrain].bind(this, client)).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
this[kClients].push(client);
if (this[kNeedDrain]) {
queueMicrotask(() => {
if (this[kNeedDrain]) {
this[kOnDrain](client, client[kUrl], [client, this]);
}
});
}
return this;
}
[kRemoveClient](client) {
client.close(() => {
const idx = this[kClients].indexOf(client);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
});
this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
}
};
module2.exports = {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kRemoveClient,
kGetDispatcher
};
}
});
// node_modules/undici/lib/dispatcher/pool.js
var require_pool2 = __commonJS({
"node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
"use strict";
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kGetDispatcher,
kRemoveClient
} = require_pool_base();
var Client3 = require_client2();
var {
InvalidArgumentError
} = require_errors4();
var util2 = require_util13();
var { kUrl } = require_symbols();
var buildConnector = require_connect();
var kOptions = Symbol("options");
var kConnections = Symbol("connections");
var kFactory = Symbol("factory");
function defaultFactory(origin, opts) {
return new Client3(origin, opts);
}
var Pool = class extends PoolBase {
constructor(origin, {
connections,
factory = defaultFactory,
connect,
connectTimeout,
tls,
maxCachedSessions,
socketPath,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
allowH2,
clientTtl,
...options
} = {}) {
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
throw new InvalidArgumentError("invalid connections");
}
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (typeof connect !== "function") {
connect = buildConnector({
...tls,
maxCachedSessions,
allowH2,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
...connect
});
}
super();
this[kConnections] = connections || null;
this[kUrl] = util2.parseOrigin(origin);
this[kOptions] = { ...util2.deepClone(options), connect, allowH2, clientTtl, socketPath };
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
this[kFactory] = factory;
this.on("connect", (origin2, targets) => {
if (clientTtl != null && clientTtl > 0) {
for (const target of targets) {
Object.assign(target, { ttl: Date.now() });
}
}
});
this.on("connectionError", (origin2, targets, error40) => {
for (const target of targets) {
const idx = this[kClients].indexOf(target);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
}
});
}
[kGetDispatcher]() {
const clientTtlOption = this[kOptions].clientTtl;
for (const client of this[kClients]) {
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
this[kRemoveClient](client);
} else if (!client[kNeedDrain]) {
return client;
}
}
if (!this[kConnections] || this[kClients].length < this[kConnections]) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
}
};
module2.exports = Pool;
}
});
// node_modules/undici/lib/dispatcher/balanced-pool.js
var require_balanced_pool = __commonJS({
"node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module2) {
"use strict";
var {
BalancedPoolMissingUpstreamError,
InvalidArgumentError
} = require_errors4();
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kRemoveClient,
kGetDispatcher
} = require_pool_base();
var Pool = require_pool2();
var { kUrl } = require_symbols();
var util2 = require_util13();
var kFactory = Symbol("factory");
var kOptions = Symbol("options");
var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor");
var kCurrentWeight = Symbol("kCurrentWeight");
var kIndex = Symbol("kIndex");
var kWeight = Symbol("kWeight");
var kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
var kErrorPenalty = Symbol("kErrorPenalty");
function getGreatestCommonDivisor(a2, b) {
if (a2 === 0) return b;
while (b !== 0) {
const t2 = b;
b = a2 % b;
a2 = t2;
}
return a2;
}
function defaultFactory(origin, opts) {
return new Pool(origin, opts);
}
var BalancedPool = class extends PoolBase {
constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
super();
this[kOptions] = { ...util2.deepClone(opts) };
this[kOptions].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
this[kIndex] = -1;
this[kCurrentWeight] = 0;
this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
if (!Array.isArray(upstreams)) {
upstreams = [upstreams];
}
this[kFactory] = factory;
for (const upstream of upstreams) {
this.addUpstream(upstream);
}
this._updateBalancedPoolStats();
}
addUpstream(upstream) {
const upstreamOrigin = util2.parseOrigin(upstream).origin;
if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
return this;
}
const pool = this[kFactory](upstreamOrigin, this[kOptions]);
this[kAddClient](pool);
pool.on("connect", () => {
pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
});
pool.on("connectionError", () => {
pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
this._updateBalancedPoolStats();
});
pool.on("disconnect", (...args2) => {
const err2 = args2[2];
if (err2 && err2.code === "UND_ERR_SOCKET") {
pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
this._updateBalancedPoolStats();
}
});
for (const client of this[kClients]) {
client[kWeight] = this[kMaxWeightPerServer];
}
this._updateBalancedPoolStats();
return this;
}
_updateBalancedPoolStats() {
let result2 = 0;
for (let i3 = 0; i3 < this[kClients].length; i3++) {
result2 = getGreatestCommonDivisor(this[kClients][i3][kWeight], result2);
}
this[kGreatestCommonDivisor] = result2;
}
removeUpstream(upstream) {
const upstreamOrigin = util2.parseOrigin(upstream).origin;
const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
if (pool) {
this[kRemoveClient](pool);
}
return this;
}
getUpstream(upstream) {
const upstreamOrigin = util2.parseOrigin(upstream).origin;
return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
}
get upstreams() {
return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
}
[kGetDispatcher]() {
if (this[kClients].length === 0) {
throw new BalancedPoolMissingUpstreamError();
}
const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
if (!dispatcher) {
return;
}
const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a2, b) => a2 && b, true);
if (allClientsBusy) {
return;
}
let counter = 0;
let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
while (counter++ < this[kClients].length) {
this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
const pool = this[kClients][this[kIndex]];
if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
maxWeightIndex = this[kIndex];
}
if (this[kIndex] === 0) {
this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
if (this[kCurrentWeight] <= 0) {
this[kCurrentWeight] = this[kMaxWeightPerServer];
}
}
if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
return pool;
}
}
this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
this[kIndex] = maxWeightIndex;
return this[kClients][maxWeightIndex];
}
};
module2.exports = BalancedPool;
}
});
// node_modules/undici/lib/dispatcher/round-robin-pool.js
var require_round_robin_pool = __commonJS({
"node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports2, module2) {
"use strict";
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kGetDispatcher,
kRemoveClient
} = require_pool_base();
var Client3 = require_client2();
var {
InvalidArgumentError
} = require_errors4();
var util2 = require_util13();
var { kUrl } = require_symbols();
var buildConnector = require_connect();
var kOptions = Symbol("options");
var kConnections = Symbol("connections");
var kFactory = Symbol("factory");
var kIndex = Symbol("index");
function defaultFactory(origin, opts) {
return new Client3(origin, opts);
}
var RoundRobinPool = class extends PoolBase {
constructor(origin, {
connections,
factory = defaultFactory,
connect,
connectTimeout,
tls,
maxCachedSessions,
socketPath,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
allowH2,
clientTtl,
...options
} = {}) {
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
throw new InvalidArgumentError("invalid connections");
}
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (typeof connect !== "function") {
connect = buildConnector({
...tls,
maxCachedSessions,
allowH2,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
...connect
});
}
super();
this[kConnections] = connections || null;
this[kUrl] = util2.parseOrigin(origin);
this[kOptions] = { ...util2.deepClone(options), connect, allowH2, clientTtl, socketPath };
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
this[kFactory] = factory;
this[kIndex] = -1;
this.on("connect", (origin2, targets) => {
if (clientTtl != null && clientTtl > 0) {
for (const target of targets) {
Object.assign(target, { ttl: Date.now() });
}
}
});
this.on("connectionError", (origin2, targets, error40) => {
for (const target of targets) {
const idx = this[kClients].indexOf(target);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
}
});
}
[kGetDispatcher]() {
const clientTtlOption = this[kOptions].clientTtl;
const clientsLength = this[kClients].length;
if (clientsLength === 0) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
let checked = 0;
while (checked < clientsLength) {
this[kIndex] = (this[kIndex] + 1) % clientsLength;
const client = this[kClients][this[kIndex]];
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
this[kRemoveClient](client);
checked++;
continue;
}
if (!client[kNeedDrain]) {
return client;
}
checked++;
}
if (!this[kConnections] || clientsLength < this[kConnections]) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
}
};
module2.exports = RoundRobinPool;
}
});
// node_modules/undici/lib/dispatcher/agent.js
var require_agent3 = __commonJS({
"node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError, MaxOriginsReachedError } = require_errors4();
var { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
var DispatcherBase = require_dispatcher_base();
var Pool = require_pool2();
var Client3 = require_client2();
var util2 = require_util13();
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kOnDrain = Symbol("onDrain");
var kFactory = Symbol("factory");
var kOptions = Symbol("options");
var kOrigins = Symbol("origins");
function defaultFactory(origin, opts) {
return opts && opts.connections === 1 ? new Client3(origin, opts) : new Pool(origin, opts);
}
var Agent2 = class extends DispatcherBase {
constructor({ factory = defaultFactory, maxOrigins = Infinity, connect, ...options } = {}) {
if (typeof factory !== "function") {
throw new InvalidArgumentError("factory must be a function.");
}
if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
throw new InvalidArgumentError("connect must be a function or an object");
}
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) {
throw new InvalidArgumentError("maxOrigins must be a number greater than 0");
}
super();
if (connect && typeof connect !== "function") {
connect = { ...connect };
}
this[kOptions] = { ...util2.deepClone(options), maxOrigins, connect };
this[kFactory] = factory;
this[kClients] = /* @__PURE__ */ new Map();
this[kOrigins] = /* @__PURE__ */ new Set();
this[kOnDrain] = (origin, targets) => {
this.emit("drain", origin, [this, ...targets]);
};
this[kOnConnect] = (origin, targets) => {
this.emit("connect", origin, [this, ...targets]);
};
this[kOnDisconnect] = (origin, targets, err2) => {
this.emit("disconnect", origin, [this, ...targets], err2);
};
this[kOnConnectionError] = (origin, targets, err2) => {
this.emit("connectionError", origin, [this, ...targets], err2);
};
}
get [kRunning]() {
let ret = 0;
for (const { dispatcher } of this[kClients].values()) {
ret += dispatcher[kRunning];
}
return ret;
}
[kDispatch](opts, handler) {
let key;
if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
key = String(opts.origin);
} else {
throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
}
if (this[kOrigins].size >= this[kOptions].maxOrigins && !this[kOrigins].has(key)) {
throw new MaxOriginsReachedError();
}
const result2 = this[kClients].get(key);
let dispatcher = result2 && result2.dispatcher;
if (!dispatcher) {
const closeClientIfUnused = (connected) => {
const result3 = this[kClients].get(key);
if (result3) {
if (connected) result3.count -= 1;
if (result3.count <= 0) {
this[kClients].delete(key);
if (!result3.dispatcher.destroyed) {
result3.dispatcher.close();
}
}
this[kOrigins].delete(key);
}
};
dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", (origin, targets) => {
const result3 = this[kClients].get(key);
if (result3) {
result3.count += 1;
}
this[kOnConnect](origin, targets);
}).on("disconnect", (origin, targets, err2) => {
closeClientIfUnused(true);
this[kOnDisconnect](origin, targets, err2);
}).on("connectionError", (origin, targets, err2) => {
closeClientIfUnused(false);
this[kOnConnectionError](origin, targets, err2);
});
this[kClients].set(key, { count: 0, dispatcher });
this[kOrigins].add(key);
}
return dispatcher.dispatch(opts, handler);
}
[kClose]() {
const closePromises = [];
for (const { dispatcher } of this[kClients].values()) {
closePromises.push(dispatcher.close());
}
this[kClients].clear();
return Promise.all(closePromises);
}
[kDestroy](err2) {
const destroyPromises = [];
for (const { dispatcher } of this[kClients].values()) {
destroyPromises.push(dispatcher.destroy(err2));
}
this[kClients].clear();
return Promise.all(destroyPromises);
}
get stats() {
const allClientStats = {};
for (const { dispatcher } of this[kClients].values()) {
if (dispatcher.stats) {
allClientStats[dispatcher[kUrl].origin] = dispatcher.stats;
}
}
return allClientStats;
}
};
module2.exports = Agent2;
}
});
// node_modules/undici/lib/core/socks5-utils.js
var require_socks5_utils = __commonJS({
"node_modules/undici/lib/core/socks5-utils.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer6 } = __require("node:buffer");
var net2 = __require("node:net");
var { InvalidArgumentError } = require_errors4();
function parseAddress(address) {
if (net2.isIPv4(address)) {
const parts2 = address.split(".").map(Number);
return {
type: 1,
// IPv4
buffer: Buffer6.from(parts2)
};
}
if (net2.isIPv6(address)) {
return {
type: 4,
// IPv6
buffer: parseIPv6(address)
};
}
const domainBuffer = Buffer6.from(address, "utf8");
if (domainBuffer.length > 255) {
throw new InvalidArgumentError("Domain name too long (max 255 bytes)");
}
return {
type: 3,
// Domain
buffer: Buffer6.concat([Buffer6.from([domainBuffer.length]), domainBuffer])
};
}
function parseIPv6(address) {
const buffer = Buffer6.alloc(16);
const parts2 = address.split(":");
let partIndex = 0;
let bufferIndex = 0;
const doubleColonIndex = address.indexOf("::");
if (doubleColonIndex !== -1) {
const nonEmptyParts = parts2.filter((p) => p.length > 0).length;
const skipParts = 8 - nonEmptyParts;
for (let i3 = 0; i3 < parts2.length; i3++) {
if (parts2[i3] === "" && i3 === doubleColonIndex / 3) {
bufferIndex += skipParts * 2;
} else if (parts2[i3] !== "") {
const value = parseInt(parts2[i3], 16);
buffer.writeUInt16BE(value, bufferIndex);
bufferIndex += 2;
}
}
} else {
for (const part of parts2) {
if (part === "") continue;
const value = parseInt(part, 16);
buffer.writeUInt16BE(value, partIndex * 2);
partIndex++;
}
}
return buffer;
}
function buildAddressBuffer(type2, addressBuffer, port) {
const portBuffer = Buffer6.allocUnsafe(2);
portBuffer.writeUInt16BE(port, 0);
return Buffer6.concat([
Buffer6.from([type2]),
addressBuffer,
portBuffer
]);
}
function parseResponseAddress(buffer, offset = 0) {
if (buffer.length < offset + 1) {
throw new InvalidArgumentError("Buffer too small to contain address type");
}
const addressType = buffer[offset];
let address;
let currentOffset = offset + 1;
switch (addressType) {
case 1: {
if (buffer.length < currentOffset + 6) {
throw new InvalidArgumentError("Buffer too small for IPv4 address");
}
address = Array.from(buffer.subarray(currentOffset, currentOffset + 4)).join(".");
currentOffset += 4;
break;
}
case 3: {
if (buffer.length < currentOffset + 1) {
throw new InvalidArgumentError("Buffer too small for domain length");
}
const domainLength = buffer[currentOffset];
currentOffset += 1;
if (buffer.length < currentOffset + domainLength + 2) {
throw new InvalidArgumentError("Buffer too small for domain address");
}
address = buffer.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
currentOffset += domainLength;
break;
}
case 4: {
if (buffer.length < currentOffset + 18) {
throw new InvalidArgumentError("Buffer too small for IPv6 address");
}
const parts2 = [];
for (let i3 = 0; i3 < 8; i3++) {
const value = buffer.readUInt16BE(currentOffset + i3 * 2);
parts2.push(value.toString(16));
}
address = parts2.join(":");
currentOffset += 16;
break;
}
default:
throw new InvalidArgumentError(`Invalid address type: ${addressType}`);
}
if (buffer.length < currentOffset + 2) {
throw new InvalidArgumentError("Buffer too small for port");
}
const port = buffer.readUInt16BE(currentOffset);
currentOffset += 2;
return {
address,
port,
bytesRead: currentOffset - offset
};
}
function createReplyError(replyCode) {
const messages = {
1: "General SOCKS server failure",
2: "Connection not allowed by ruleset",
3: "Network unreachable",
4: "Host unreachable",
5: "Connection refused",
6: "TTL expired",
7: "Command not supported",
8: "Address type not supported"
};
const message = messages[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`;
const error40 = new Error(message);
error40.code = `SOCKS5_${replyCode}`;
return error40;
}
module2.exports = {
parseAddress,
parseIPv6,
buildAddressBuffer,
parseResponseAddress,
createReplyError
};
}
});
// node_modules/undici/lib/core/socks5-client.js
var require_socks5_client = __commonJS({
"node_modules/undici/lib/core/socks5-client.js"(exports2, module2) {
"use strict";
var { EventEmitter: EventEmitter14 } = __require("node:events");
var { Buffer: Buffer6 } = __require("node:buffer");
var { InvalidArgumentError, Socks5ProxyError } = require_errors4();
var { debuglog: debuglog2 } = __require("node:util");
var { parseAddress } = require_socks5_utils();
var debug2 = debuglog2("undici:socks5");
var SOCKS_VERSION = 5;
var AUTH_METHODS = {
NO_AUTH: 0,
GSSAPI: 1,
USERNAME_PASSWORD: 2,
NO_ACCEPTABLE: 255
};
var COMMANDS = {
CONNECT: 1,
BIND: 2,
UDP_ASSOCIATE: 3
};
var ADDRESS_TYPES = {
IPV4: 1,
DOMAIN: 3,
IPV6: 4
};
var REPLY_CODES = {
SUCCEEDED: 0,
GENERAL_FAILURE: 1,
CONNECTION_NOT_ALLOWED: 2,
NETWORK_UNREACHABLE: 3,
HOST_UNREACHABLE: 4,
CONNECTION_REFUSED: 5,
TTL_EXPIRED: 6,
COMMAND_NOT_SUPPORTED: 7,
ADDRESS_TYPE_NOT_SUPPORTED: 8
};
var STATES = {
INITIAL: "initial",
HANDSHAKING: "handshaking",
AUTHENTICATING: "authenticating",
CONNECTING: "connecting",
CONNECTED: "connected",
ERROR: "error",
CLOSED: "closed"
};
var Socks5Client = class extends EventEmitter14 {
constructor(socket, options = {}) {
super();
if (!socket) {
throw new InvalidArgumentError("socket is required");
}
this.socket = socket;
this.options = options;
this.state = STATES.INITIAL;
this.buffer = Buffer6.alloc(0);
this.authMethods = [];
if (options.username && options.password) {
this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
}
this.authMethods.push(AUTH_METHODS.NO_AUTH);
this.socket.on("data", this.onData.bind(this));
this.socket.on("error", this.onError.bind(this));
this.socket.on("close", this.onClose.bind(this));
}
/**
* Handle incoming data from the socket
*/
onData(data) {
debug2("received data", data.length, "bytes in state", this.state);
this.buffer = Buffer6.concat([this.buffer, data]);
try {
switch (this.state) {
case STATES.HANDSHAKING:
this.handleHandshakeResponse();
break;
case STATES.AUTHENTICATING:
this.handleAuthResponse();
break;
case STATES.CONNECTING:
this.handleConnectResponse();
break;
}
} catch (err2) {
this.onError(err2);
}
}
/**
* Handle socket errors
*/
onError(err2) {
debug2("socket error", err2);
this.state = STATES.ERROR;
this.emit("error", err2);
this.destroy();
}
/**
* Handle socket close
*/
onClose() {
debug2("socket closed");
this.state = STATES.CLOSED;
this.emit("close");
}
/**
* Destroy the client and underlying socket
*/
destroy() {
if (this.socket && !this.socket.destroyed) {
this.socket.destroy();
}
}
/**
* Start the SOCKS5 handshake
*/
handshake() {
if (this.state !== STATES.INITIAL) {
throw new InvalidArgumentError("Handshake already started");
}
debug2("starting handshake with", this.authMethods.length, "auth methods");
this.state = STATES.HANDSHAKING;
const request = Buffer6.alloc(2 + this.authMethods.length);
request[0] = SOCKS_VERSION;
request[1] = this.authMethods.length;
this.authMethods.forEach((method, i3) => {
request[2 + i3] = method;
});
this.socket.write(request);
}
/**
* Handle handshake response from server
*/
handleHandshakeResponse() {
if (this.buffer.length < 2) {
return;
}
const version4 = this.buffer[0];
const method = this.buffer[1];
if (version4 !== SOCKS_VERSION) {
throw new Socks5ProxyError(`Invalid SOCKS version: ${version4}`, "UND_ERR_SOCKS5_VERSION");
}
if (method === AUTH_METHODS.NO_ACCEPTABLE) {
throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
}
this.buffer = this.buffer.subarray(2);
debug2("server selected auth method", method);
if (method === AUTH_METHODS.NO_AUTH) {
this.emit("authenticated");
} else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
this.state = STATES.AUTHENTICATING;
this.sendAuthRequest();
} else {
throw new Socks5ProxyError(`Unsupported authentication method: ${method}`, "UND_ERR_SOCKS5_AUTH_METHOD");
}
}
/**
* Send username/password authentication request
*/
sendAuthRequest() {
const { username, password } = this.options;
if (!username || !password) {
throw new InvalidArgumentError("Username and password required for authentication");
}
debug2("sending username/password auth");
const usernameBuffer = Buffer6.from(username);
const passwordBuffer = Buffer6.from(password);
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) {
throw new InvalidArgumentError("Username or password too long");
}
const request = Buffer6.alloc(3 + usernameBuffer.length + passwordBuffer.length);
request[0] = 1;
request[1] = usernameBuffer.length;
usernameBuffer.copy(request, 2);
request[2 + usernameBuffer.length] = passwordBuffer.length;
passwordBuffer.copy(request, 3 + usernameBuffer.length);
this.socket.write(request);
}
/**
* Handle authentication response
*/
handleAuthResponse() {
if (this.buffer.length < 2) {
return;
}
const version4 = this.buffer[0];
const status2 = this.buffer[1];
if (version4 !== 1) {
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version4}`, "UND_ERR_SOCKS5_AUTH_VERSION");
}
if (status2 !== 0) {
throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
}
this.buffer = this.buffer.subarray(2);
debug2("authentication successful");
this.emit("authenticated");
}
/**
* Send CONNECT command
* @param {string} address - Target address (IP or domain)
* @param {number} port - Target port
*/
connect(address, port) {
if (this.state === STATES.CONNECTED) {
throw new InvalidArgumentError("Already connected");
}
debug2("connecting to", address, port);
this.state = STATES.CONNECTING;
const request = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
this.socket.write(request);
}
/**
* Build a SOCKS5 request
*/
buildConnectRequest(command, address, port) {
const { type: addressType, buffer: addressBuffer } = parseAddress(address);
const request = Buffer6.alloc(4 + addressBuffer.length + 2);
request[0] = SOCKS_VERSION;
request[1] = command;
request[2] = 0;
request[3] = addressType;
addressBuffer.copy(request, 4);
request.writeUInt16BE(port, 4 + addressBuffer.length);
return request;
}
/**
* Handle CONNECT response
*/
handleConnectResponse() {
if (this.buffer.length < 4) {
return;
}
const version4 = this.buffer[0];
const reply = this.buffer[1];
const addressType = this.buffer[3];
if (version4 !== SOCKS_VERSION) {
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version4}`, "UND_ERR_SOCKS5_REPLY_VERSION");
}
let responseLength = 4;
if (addressType === ADDRESS_TYPES.IPV4) {
responseLength += 4 + 2;
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
if (this.buffer.length < 5) {
return;
}
responseLength += 1 + this.buffer[4] + 2;
} else if (addressType === ADDRESS_TYPES.IPV6) {
responseLength += 16 + 2;
} else {
throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, "UND_ERR_SOCKS5_ADDR_TYPE");
}
if (this.buffer.length < responseLength) {
return;
}
if (reply !== REPLY_CODES.SUCCEEDED) {
const errorMessage = this.getReplyErrorMessage(reply);
throw new Socks5ProxyError(`SOCKS5 connection failed: ${errorMessage}`, `UND_ERR_SOCKS5_REPLY_${reply}`);
}
let boundAddress;
let offset = 4;
if (addressType === ADDRESS_TYPES.IPV4) {
boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join(".");
offset += 4;
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
const domainLength = this.buffer[offset];
offset += 1;
boundAddress = this.buffer.subarray(offset, offset + domainLength).toString();
offset += domainLength;
} else if (addressType === ADDRESS_TYPES.IPV6) {
const parts2 = [];
for (let i3 = 0; i3 < 8; i3++) {
const value = this.buffer.readUInt16BE(offset + i3 * 2);
parts2.push(value.toString(16));
}
boundAddress = parts2.join(":");
offset += 16;
}
const boundPort = this.buffer.readUInt16BE(offset);
this.buffer = this.buffer.subarray(responseLength);
this.state = STATES.CONNECTED;
debug2("connected, bound address:", boundAddress, "port:", boundPort);
this.emit("connected", { address: boundAddress, port: boundPort });
}
/**
* Get human-readable error message for reply code
*/
getReplyErrorMessage(reply) {
switch (reply) {
case REPLY_CODES.GENERAL_FAILURE:
return "General SOCKS server failure";
case REPLY_CODES.CONNECTION_NOT_ALLOWED:
return "Connection not allowed by ruleset";
case REPLY_CODES.NETWORK_UNREACHABLE:
return "Network unreachable";
case REPLY_CODES.HOST_UNREACHABLE:
return "Host unreachable";
case REPLY_CODES.CONNECTION_REFUSED:
return "Connection refused";
case REPLY_CODES.TTL_EXPIRED:
return "TTL expired";
case REPLY_CODES.COMMAND_NOT_SUPPORTED:
return "Command not supported";
case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED:
return "Address type not supported";
default:
return `Unknown error code: ${reply}`;
}
}
};
module2.exports = {
Socks5Client,
AUTH_METHODS,
COMMANDS,
ADDRESS_TYPES,
REPLY_CODES,
STATES
};
}
});
// node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
var require_socks5_proxy_agent = __commonJS({
"node_modules/undici/lib/dispatcher/socks5-proxy-agent.js"(exports2, module2) {
"use strict";
var net2 = __require("node:net");
var { URL: URL8 } = __require("node:url");
var tls;
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError } = require_errors4();
var { Socks5Client } = require_socks5_client();
var { kDispatch, kClose, kDestroy } = require_symbols();
var Pool = require_pool2();
var buildConnector = require_connect();
var { debuglog: debuglog2 } = __require("node:util");
var debug2 = debuglog2("undici:socks5-proxy");
var kProxyUrl = Symbol("proxy url");
var kProxyHeaders = Symbol("proxy headers");
var kProxyAuth = Symbol("proxy auth");
var kPool = Symbol("pool");
var kConnector = Symbol("connector");
var experimentalWarningEmitted = false;
var Socks5ProxyAgent = class extends DispatcherBase {
constructor(proxyUrl, options = {}) {
super();
if (!experimentalWarningEmitted) {
process.emitWarning(
"SOCKS5 proxy support is experimental and subject to change",
"ExperimentalWarning"
);
experimentalWarningEmitted = true;
}
if (!proxyUrl) {
throw new InvalidArgumentError("Proxy URL is mandatory");
}
const url3 = typeof proxyUrl === "string" ? new URL8(proxyUrl) : proxyUrl;
if (url3.protocol !== "socks5:" && url3.protocol !== "socks:") {
throw new InvalidArgumentError("Proxy URL must use socks5:// or socks:// protocol");
}
this[kProxyUrl] = url3;
this[kProxyHeaders] = options.headers || {};
this[kProxyAuth] = {
username: options.username || (url3.username ? decodeURIComponent(url3.username) : null),
password: options.password || (url3.password ? decodeURIComponent(url3.password) : null)
};
this[kConnector] = options.connect || buildConnector({
...options.proxyTls,
servername: options.proxyTls?.servername || url3.hostname
});
this[kPool] = null;
}
/**
* Create a SOCKS5 connection to the proxy
*/
async createSocks5Connection(targetHost, targetPort) {
const proxyHost = this[kProxyUrl].hostname;
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
debug2("creating SOCKS5 connection to", proxyHost, proxyPort);
const socket = await new Promise((resolve25, reject) => {
const onConnect = () => {
socket2.removeListener("error", onError2);
resolve25(socket2);
};
const onError2 = (err2) => {
socket2.removeListener("connect", onConnect);
reject(err2);
};
const socket2 = net2.connect({
host: proxyHost,
port: proxyPort
});
socket2.once("connect", onConnect);
socket2.once("error", onError2);
});
const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
socks5Client.on("error", (err2) => {
debug2("SOCKS5 error:", err2);
socket.destroy();
});
await socks5Client.handshake();
await new Promise((resolve25, reject) => {
const timeout = setTimeout(() => {
reject(new Error("SOCKS5 authentication timeout"));
}, 5e3);
const onAuthenticated = () => {
clearTimeout(timeout);
socks5Client.removeListener("error", onError2);
resolve25();
};
const onError2 = (err2) => {
clearTimeout(timeout);
socks5Client.removeListener("authenticated", onAuthenticated);
reject(err2);
};
if (socks5Client.state === "authenticated") {
clearTimeout(timeout);
resolve25();
} else {
socks5Client.once("authenticated", onAuthenticated);
socks5Client.once("error", onError2);
}
});
await socks5Client.connect(targetHost, targetPort);
await new Promise((resolve25, reject) => {
const timeout = setTimeout(() => {
reject(new Error("SOCKS5 connection timeout"));
}, 5e3);
const onConnected = (info2) => {
debug2("SOCKS5 tunnel established to", targetHost, targetPort, "via", info2);
clearTimeout(timeout);
socks5Client.removeListener("error", onError2);
resolve25();
};
const onError2 = (err2) => {
clearTimeout(timeout);
socks5Client.removeListener("connected", onConnected);
reject(err2);
};
socks5Client.once("connected", onConnected);
socks5Client.once("error", onError2);
});
return socket;
}
/**
* Dispatch a request through the SOCKS5 proxy
*/
async [kDispatch](opts, handler) {
const { origin } = opts;
debug2("dispatching request to", origin, "via SOCKS5");
try {
if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) {
this[kPool] = new Pool(origin, {
pipelining: opts.pipelining,
connections: opts.connections,
connect: async (connectOpts, callback) => {
try {
const url3 = new URL8(origin);
const targetHost = url3.hostname;
const targetPort = parseInt(url3.port) || (url3.protocol === "https:" ? 443 : 80);
debug2("establishing SOCKS5 connection to", targetHost, targetPort);
const socket = await this.createSocks5Connection(targetHost, targetPort);
let finalSocket = socket;
if (url3.protocol === "https:") {
if (!tls) {
tls = __require("node:tls");
}
debug2("upgrading to TLS");
finalSocket = tls.connect({
socket,
servername: targetHost,
...connectOpts.tls || {}
});
await new Promise((resolve25, reject) => {
finalSocket.once("secureConnect", resolve25);
finalSocket.once("error", reject);
});
}
callback(null, finalSocket);
} catch (err2) {
debug2("SOCKS5 connection error:", err2);
callback(err2);
}
}
});
}
return this[kPool][kDispatch](opts, handler);
} catch (err2) {
debug2("dispatch error:", err2);
if (typeof handler.onError === "function") {
handler.onError(err2);
} else {
throw err2;
}
}
}
async [kClose]() {
if (this[kPool]) {
await this[kPool].close();
}
}
async [kDestroy](err2) {
if (this[kPool]) {
await this[kPool].destroy(err2);
}
}
};
module2.exports = Socks5ProxyAgent;
}
});
// node_modules/undici/lib/dispatcher/proxy-agent.js
var require_proxy_agent = __commonJS({
"node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
"use strict";
var { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
var Agent2 = require_agent3();
var Pool = require_pool2();
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors4();
var buildConnector = require_connect();
var Client3 = require_client2();
var { channels } = require_diagnostics();
var Socks5ProxyAgent = require_socks5_proxy_agent();
var kAgent = Symbol("proxy agent");
var kClient = Symbol("proxy client");
var kProxyHeaders = Symbol("proxy headers");
var kRequestTls = Symbol("request tls settings");
var kProxyTls = Symbol("proxy tls settings");
var kConnectEndpoint = Symbol("connect endpoint function");
var kTunnelProxy = Symbol("tunnel proxy");
function defaultProtocolPort(protocol) {
return protocol === "https:" ? 443 : 80;
}
function defaultFactory(origin, opts) {
return new Pool(origin, opts);
}
var noop4 = () => {
};
function defaultAgentFactory(origin, opts) {
if (opts.connections === 1) {
return new Client3(origin, opts);
}
return new Pool(origin, opts);
}
var Http1ProxyWrapper = class extends DispatcherBase {
#client;
constructor(proxyUrl, { headers = {}, connect, factory }) {
if (!proxyUrl) {
throw new InvalidArgumentError("Proxy URL is mandatory");
}
super();
this[kProxyHeaders] = headers;
if (factory) {
this.#client = factory(proxyUrl, { connect });
} else {
this.#client = new Client3(proxyUrl, { connect });
}
}
[kDispatch](opts, handler) {
const onHeaders = handler.onHeaders;
handler.onHeaders = function(statusCode, data, resume) {
if (statusCode === 407) {
if (typeof handler.onError === "function") {
handler.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
}
return;
}
if (onHeaders) onHeaders.call(this, statusCode, data, resume);
};
const {
origin,
path: path101 = "/",
headers = {}
} = opts;
opts.path = origin + path101;
if (!("host" in headers) && !("Host" in headers)) {
const { host } = new URL(origin);
headers.host = host;
}
opts.headers = { ...this[kProxyHeaders], ...headers };
return this.#client[kDispatch](opts, handler);
}
[kClose]() {
return this.#client.close();
}
[kDestroy](err2) {
return this.#client.destroy(err2);
}
};
var ProxyAgent3 = class extends DispatcherBase {
constructor(opts) {
if (!opts || typeof opts === "object" && !(opts instanceof URL) && !opts.uri) {
throw new InvalidArgumentError("Proxy uri is mandatory");
}
const { clientFactory = defaultFactory } = opts;
if (typeof clientFactory !== "function") {
throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
}
const { proxyTunnel = true } = opts;
super();
const url3 = this.#getUrl(opts);
const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url3;
this[kProxy] = { uri: href, protocol };
this[kRequestTls] = opts.requestTls;
this[kProxyTls] = opts.proxyTls;
this[kProxyHeaders] = opts.headers || {};
this[kTunnelProxy] = proxyTunnel;
if (opts.auth && opts.token) {
throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
} else if (opts.auth) {
this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
} else if (opts.token) {
this[kProxyHeaders]["proxy-authorization"] = opts.token;
} else if (username && password) {
this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
}
const connect = buildConnector({ ...opts.proxyTls });
this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
const agentFactory = opts.factory || defaultAgentFactory;
const factory = (origin2, options) => {
const { protocol: protocol2 } = new URL(origin2);
if (this[kProxy].protocol === "socks5:" || this[kProxy].protocol === "socks:") {
return new Socks5ProxyAgent(this[kProxy].uri, {
headers: this[kProxyHeaders],
connect,
factory: agentFactory,
username: opts.username || username,
password: opts.password || password,
proxyTls: opts.proxyTls
});
}
if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
return new Http1ProxyWrapper(this[kProxy].uri, {
headers: this[kProxyHeaders],
connect,
factory: agentFactory
});
}
return agentFactory(origin2, options);
};
if (protocol === "socks5:" || protocol === "socks:") {
this[kClient] = null;
} else {
this[kClient] = clientFactory(url3, { connect });
}
this[kAgent] = new Agent2({
...opts,
factory,
connect: async (opts2, callback) => {
if (!this[kClient]) {
callback(new InvalidArgumentError("Cannot establish tunnel connection without a proxy client"));
return;
}
let requestedPath = opts2.host;
if (!opts2.port) {
requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
}
try {
const connectParams = {
origin,
port,
path: requestedPath,
signal: opts2.signal,
headers: {
...this[kProxyHeaders],
host: opts2.host,
...opts2.connections == null || opts2.connections > 0 ? { "proxy-connection": "keep-alive" } : {}
},
servername: this[kProxyTls]?.servername || proxyHostname
};
const { socket, statusCode } = await this[kClient].connect(connectParams);
if (statusCode !== 200) {
socket.on("error", noop4).destroy();
callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
return;
}
if (channels.proxyConnected.hasSubscribers) {
channels.proxyConnected.publish({
socket,
connectParams
});
}
if (opts2.protocol !== "https:") {
callback(null, socket);
return;
}
let servername;
if (this[kRequestTls]) {
servername = this[kRequestTls].servername;
} else {
servername = opts2.servername;
}
this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
} catch (err2) {
if (err2.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
callback(new SecureProxyConnectionError(err2));
} else {
callback(err2);
}
}
}
});
}
dispatch(opts, handler) {
const headers = buildHeaders(opts.headers);
throwIfProxyAuthIsSent(headers);
if (headers && !("host" in headers) && !("Host" in headers)) {
const { host } = new URL(opts.origin);
headers.host = host;
}
return this[kAgent].dispatch(
{
...opts,
headers
},
handler
);
}
/**
* @param {import('../../types/proxy-agent').ProxyAgent.Options | string | URL} opts
* @returns {URL}
*/
#getUrl(opts) {
if (typeof opts === "string") {
return new URL(opts);
} else if (opts instanceof URL) {
return opts;
} else {
return new URL(opts.uri);
}
}
[kClose]() {
const promises8 = [this[kAgent].close()];
if (this[kClient]) {
promises8.push(this[kClient].close());
}
return Promise.all(promises8);
}
[kDestroy]() {
const promises8 = [this[kAgent].destroy()];
if (this[kClient]) {
promises8.push(this[kClient].destroy());
}
return Promise.all(promises8);
}
};
function buildHeaders(headers) {
if (Array.isArray(headers)) {
const headersPair = {};
for (let i3 = 0; i3 < headers.length; i3 += 2) {
headersPair[headers[i3]] = headers[i3 + 1];
}
return headersPair;
}
return headers;
}
function throwIfProxyAuthIsSent(headers) {
const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
if (existProxyAuth) {
throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
}
}
module2.exports = ProxyAgent3;
}
});
// node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
var require_env_http_proxy_agent = __commonJS({
"node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module2) {
"use strict";
var DispatcherBase = require_dispatcher_base();
var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
var ProxyAgent3 = require_proxy_agent();
var Agent2 = require_agent3();
var DEFAULT_PORTS = {
"http:": 80,
"https:": 443
};
var EnvHttpProxyAgent2 = class extends DispatcherBase {
#noProxyValue = null;
#noProxyEntries = null;
#opts = null;
constructor(opts = {}) {
super();
this.#opts = opts;
const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
this[kNoProxyAgent] = new Agent2(agentOpts);
const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
if (HTTP_PROXY) {
this[kHttpProxyAgent] = new ProxyAgent3({ ...agentOpts, uri: HTTP_PROXY });
} else {
this[kHttpProxyAgent] = this[kNoProxyAgent];
}
const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
if (HTTPS_PROXY) {
this[kHttpsProxyAgent] = new ProxyAgent3({ ...agentOpts, uri: HTTPS_PROXY });
} else {
this[kHttpsProxyAgent] = this[kHttpProxyAgent];
}
this.#parseNoProxy();
}
[kDispatch](opts, handler) {
const url3 = new URL(opts.origin);
const agent = this.#getProxyAgentForUrl(url3);
return agent.dispatch(opts, handler);
}
[kClose]() {
return Promise.all([
this[kNoProxyAgent].close(),
!this[kHttpProxyAgent][kClosed] && this[kHttpProxyAgent].close(),
!this[kHttpsProxyAgent][kClosed] && this[kHttpsProxyAgent].close()
]);
}
[kDestroy](err2) {
return Promise.all([
this[kNoProxyAgent].destroy(err2),
!this[kHttpProxyAgent][kDestroyed] && this[kHttpProxyAgent].destroy(err2),
!this[kHttpsProxyAgent][kDestroyed] && this[kHttpsProxyAgent].destroy(err2)
]);
}
#getProxyAgentForUrl(url3) {
let { protocol, host: hostname3, port } = url3;
hostname3 = hostname3.replace(/:\d*$/, "").toLowerCase();
port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
if (!this.#shouldProxy(hostname3, port)) {
return this[kNoProxyAgent];
}
if (protocol === "https:") {
return this[kHttpsProxyAgent];
}
return this[kHttpProxyAgent];
}
#shouldProxy(hostname3, port) {
if (this.#noProxyChanged) {
this.#parseNoProxy();
}
if (this.#noProxyEntries.length === 0) {
return true;
}
if (this.#noProxyValue === "*") {
return false;
}
for (let i3 = 0; i3 < this.#noProxyEntries.length; i3++) {
const entry = this.#noProxyEntries[i3];
if (entry.port && entry.port !== port) {
continue;
}
if (hostname3 === entry.hostname) {
return false;
}
if (hostname3.slice(-(entry.hostname.length + 1)) === `.${entry.hostname}`) {
return false;
}
}
return true;
}
#parseNoProxy() {
const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
const noProxySplit = noProxyValue.split(/[,\s]/);
const noProxyEntries = [];
for (let i3 = 0; i3 < noProxySplit.length; i3++) {
const entry = noProxySplit[i3];
if (!entry) {
continue;
}
const parsed = entry.match(/^(.+):(\d+)$/);
noProxyEntries.push({
// strip leading dot or asterisk with dot
hostname: (parsed ? parsed[1] : entry).replace(/^\*?\./, "").toLowerCase(),
port: parsed ? Number.parseInt(parsed[2], 10) : 0
});
}
this.#noProxyValue = noProxyValue;
this.#noProxyEntries = noProxyEntries;
}
get #noProxyChanged() {
if (this.#opts.noProxy !== void 0) {
return false;
}
return this.#noProxyValue !== this.#noProxyEnv;
}
get #noProxyEnv() {
return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
}
};
module2.exports = EnvHttpProxyAgent2;
}
});
// node_modules/undici/lib/handler/retry-handler.js
var require_retry_handler = __commonJS({
"node_modules/undici/lib/handler/retry-handler.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { kRetryHandlerDefaultRetry } = require_symbols();
var { RequestRetryError } = require_errors4();
var WrapHandler = require_wrap_handler();
var {
isDisturbed,
parseRangeHeader,
wrapRequestBody
} = require_util13();
function calculateRetryAfterHeader(retryAfter) {
const retryTime = new Date(retryAfter).getTime();
return isNaN(retryTime) ? 0 : retryTime - Date.now();
}
var RetryHandler = class _RetryHandler {
constructor(opts, { dispatch, handler }) {
const { retryOptions, ...dispatchOpts } = opts;
const {
// Retry scoped
retry: retryFn,
maxRetries,
maxTimeout,
minTimeout,
timeoutFactor,
// Response scoped
methods,
errorCodes,
retryAfter,
statusCodes,
throwOnError
} = retryOptions ?? {};
this.error = null;
this.dispatch = dispatch;
this.handler = WrapHandler.wrap(handler);
this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
this.retryOpts = {
throwOnError: throwOnError ?? true,
retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry],
retryAfter: retryAfter ?? true,
maxTimeout: maxTimeout ?? 30 * 1e3,
// 30s,
minTimeout: minTimeout ?? 500,
// .5s
timeoutFactor: timeoutFactor ?? 2,
maxRetries: maxRetries ?? 5,
// What errors we should retry
methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
// Indicates which errors to retry
statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
// List of errors to retry
errorCodes: errorCodes ?? [
"ECONNRESET",
"ECONNREFUSED",
"ENOTFOUND",
"ENETDOWN",
"ENETUNREACH",
"EHOSTDOWN",
"EHOSTUNREACH",
"EPIPE",
"UND_ERR_SOCKET"
]
};
this.retryCount = 0;
this.retryCountCheckpoint = 0;
this.headersSent = false;
this.start = 0;
this.end = null;
this.etag = null;
}
onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err2) {
if (this.retryOpts.throwOnError) {
if (this.retryOpts.statusCodes.includes(statusCode) === false) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
} else {
this.error = err2;
}
return;
}
if (isDisturbed(this.opts.body)) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
return;
}
function shouldRetry(passedErr) {
if (passedErr) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
controller.resume();
return;
}
this.error = err2;
controller.resume();
}
controller.pause();
this.retryOpts.retry(
err2,
{
state: { counter: this.retryCount },
opts: { retryOptions: this.retryOpts, ...this.opts }
},
shouldRetry.bind(this)
);
}
onRequestStart(controller, context2) {
if (!this.headersSent) {
this.handler.onRequestStart?.(controller, context2);
}
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
static [kRetryHandlerDefaultRetry](err2, { state, opts }, cb) {
const { statusCode, code, headers } = err2;
const { method, retryOptions } = opts;
const {
maxRetries,
minTimeout,
maxTimeout,
timeoutFactor,
statusCodes,
errorCodes,
methods
} = retryOptions;
const { counter } = state;
if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
cb(err2);
return;
}
if (Array.isArray(methods) && !methods.includes(method)) {
cb(err2);
return;
}
if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
cb(err2);
return;
}
if (counter > maxRetries) {
cb(err2);
return;
}
let retryAfterHeader = headers?.["retry-after"];
if (retryAfterHeader) {
retryAfterHeader = Number(retryAfterHeader);
retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(headers["retry-after"]) : retryAfterHeader * 1e3;
}
const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
setTimeout(() => cb(null), retryTimeout);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
this.error = null;
this.retryCount += 1;
if (statusCode >= 300) {
const err2 = new RequestRetryError("Request failed", statusCode, {
headers,
data: {
count: this.retryCount
}
});
this.onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err2);
return;
}
if (this.headersSent) {
if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
throw new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
headers,
data: { count: this.retryCount }
});
}
const contentRange = parseRangeHeader(headers["content-range"]);
if (!contentRange) {
throw new RequestRetryError("Content-Range mismatch", statusCode, {
headers,
data: { count: this.retryCount }
});
}
if (this.etag != null && this.etag !== headers.etag) {
throw new RequestRetryError("ETag mismatch", statusCode, {
headers,
data: { count: this.retryCount }
});
}
const { start: start2, size, end = size ? size - 1 : null } = contentRange;
assert3(this.start === start2, "content-range mismatch");
assert3(this.end == null || this.end === end, "content-range mismatch");
return;
}
if (this.end == null) {
if (statusCode === 206) {
const range2 = parseRangeHeader(headers["content-range"]);
if (range2 == null) {
this.headersSent = true;
this.handler.onResponseStart?.(
controller,
statusCode,
headers,
statusMessage
);
return;
}
const { start: start2, size, end = size ? size - 1 : null } = range2;
assert3(
start2 != null && Number.isFinite(start2),
"content-range mismatch"
);
assert3(end != null && Number.isFinite(end), "invalid content-length");
this.start = start2;
this.end = end;
}
if (this.end == null) {
const contentLength = headers["content-length"];
this.end = contentLength != null ? Number(contentLength) - 1 : null;
}
assert3(Number.isFinite(this.start));
assert3(
this.end == null || Number.isFinite(this.end),
"invalid content-length"
);
this.resume = true;
this.etag = headers.etag != null ? headers.etag : null;
if (this.etag != null && this.etag[0] === "W" && this.etag[1] === "/") {
this.etag = null;
}
this.headersSent = true;
this.handler.onResponseStart?.(
controller,
statusCode,
headers,
statusMessage
);
} else {
throw new RequestRetryError("Request failed", statusCode, {
headers,
data: { count: this.retryCount }
});
}
}
onResponseData(controller, chunk) {
if (this.error) {
return;
}
this.start += chunk.length;
this.handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
if (this.error && this.retryOpts.throwOnError) {
throw this.error;
}
if (!this.error) {
this.retryCount = 0;
return this.handler.onResponseEnd?.(controller, trailers);
}
this.retry(controller);
}
retry(controller) {
if (this.start !== 0) {
const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
if (this.etag != null) {
headers["if-match"] = this.etag;
}
this.opts = {
...this.opts,
headers: {
...this.opts.headers,
...headers
}
};
}
try {
this.retryCountCheckpoint = this.retryCount;
this.dispatch(this.opts, this);
} catch (err2) {
this.handler.onResponseError?.(controller, err2);
}
}
onResponseError(controller, err2) {
if (controller?.aborted || isDisturbed(this.opts.body)) {
this.handler.onResponseError?.(controller, err2);
return;
}
function shouldRetry(returnedErr) {
if (!returnedErr) {
this.retry(controller);
return;
}
this.handler?.onResponseError?.(controller, returnedErr);
}
if (this.retryCount - this.retryCountCheckpoint > 0) {
this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
} else {
this.retryCount += 1;
}
this.retryOpts.retry(
err2,
{
state: { counter: this.retryCount },
opts: { retryOptions: this.retryOpts, ...this.opts }
},
shouldRetry.bind(this)
);
}
};
module2.exports = RetryHandler;
}
});
// node_modules/undici/lib/dispatcher/retry-agent.js
var require_retry_agent = __commonJS({
"node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module2) {
"use strict";
var Dispatcher = require_dispatcher();
var RetryHandler = require_retry_handler();
var RetryAgent = class extends Dispatcher {
#agent = null;
#options = null;
constructor(agent, options = {}) {
super(options);
this.#agent = agent;
this.#options = options;
}
dispatch(opts, handler) {
const retry = new RetryHandler({
...opts,
retryOptions: this.#options
}, {
dispatch: this.#agent.dispatch.bind(this.#agent),
handler
});
return this.#agent.dispatch(opts, retry);
}
close() {
return this.#agent.close();
}
destroy() {
return this.#agent.destroy();
}
};
module2.exports = RetryAgent;
}
});
// node_modules/undici/lib/dispatcher/h2c-client.js
var require_h2c_client = __commonJS({
"node_modules/undici/lib/dispatcher/h2c-client.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError } = require_errors4();
var Client3 = require_client2();
var H2CClient = class extends Client3 {
constructor(origin, clientOpts) {
if (typeof origin === "string") {
origin = new URL(origin);
}
if (origin.protocol !== "http:") {
throw new InvalidArgumentError(
"h2c-client: Only h2c protocol is supported"
);
}
const { connect, maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {};
let defaultMaxConcurrentStreams = 100;
let defaultPipelining = 100;
if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) {
defaultMaxConcurrentStreams = maxConcurrentStreams;
}
if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) {
defaultPipelining = pipelining;
}
if (defaultPipelining > defaultMaxConcurrentStreams) {
throw new InvalidArgumentError(
"h2c-client: pipelining cannot be greater than maxConcurrentStreams"
);
}
super(origin, {
...opts,
maxConcurrentStreams: defaultMaxConcurrentStreams,
pipelining: defaultPipelining,
allowH2: true,
useH2c: true
});
}
};
module2.exports = H2CClient;
}
});
// node_modules/undici/lib/api/readable.js
var require_readable2 = __commonJS({
"node_modules/undici/lib/api/readable.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { Readable: Readable7 } = __require("node:stream");
var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError: AbortError2 } = require_errors4();
var util2 = require_util13();
var { ReadableStreamFrom } = require_util13();
var kConsume = Symbol("kConsume");
var kReading = Symbol("kReading");
var kBody = Symbol("kBody");
var kAbort = Symbol("kAbort");
var kContentType = Symbol("kContentType");
var kContentLength = Symbol("kContentLength");
var kUsed = Symbol("kUsed");
var kBytesRead = Symbol("kBytesRead");
var noop4 = () => {
};
var BodyReadable = class extends Readable7 {
/**
* @param {object} opts
* @param {(this: Readable, size: number) => void} opts.resume
* @param {() => (void | null)} opts.abort
* @param {string} [opts.contentType = '']
* @param {number} [opts.contentLength]
* @param {number} [opts.highWaterMark = 64 * 1024]
*/
constructor({
resume,
abort: abort2,
contentType = "",
contentLength,
highWaterMark = 64 * 1024
// Same as nodejs fs streams.
}) {
super({
autoDestroy: true,
read: resume,
highWaterMark
});
this._readableState.dataEmitted = false;
this[kAbort] = abort2;
this[kConsume] = null;
this[kBytesRead] = 0;
this[kBody] = null;
this[kUsed] = false;
this[kContentType] = contentType;
this[kContentLength] = Number.isFinite(contentLength) ? contentLength : null;
this[kReading] = false;
}
/**
* @param {Error|null} err
* @param {(error:(Error|null)) => void} callback
* @returns {void}
*/
_destroy(err2, callback) {
if (!err2 && !this._readableState.endEmitted) {
err2 = new RequestAbortedError();
}
if (err2) {
this[kAbort]();
}
if (!this[kUsed]) {
setImmediate(callback, err2);
} else {
callback(err2);
}
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
on(event, listener) {
if (event === "data" || event === "readable") {
this[kReading] = true;
this[kUsed] = true;
}
return super.on(event, listener);
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
addListener(event, listener) {
return this.on(event, listener);
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
off(event, listener) {
const ret = super.off(event, listener);
if (event === "data" || event === "readable") {
this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
}
return ret;
}
/**
* @param {string|symbol} event
* @param {(...args: any[]) => void} listener
* @returns {this}
*/
removeListener(event, listener) {
return this.off(event, listener);
}
/**
* @param {Buffer|null} chunk
* @returns {boolean}
*/
push(chunk) {
if (chunk) {
this[kBytesRead] += chunk.length;
if (this[kConsume]) {
consumePush(this[kConsume], chunk);
return this[kReading] ? super.push(chunk) : true;
}
}
return super.push(chunk);
}
/**
* Consumes and returns the body as a string.
*
* @see https://fetch.spec.whatwg.org/#dom-body-text
* @returns {Promise<string>}
*/
text() {
return consume(this, "text");
}
/**
* Consumes and returns the body as a JavaScript Object.
*
* @see https://fetch.spec.whatwg.org/#dom-body-json
* @returns {Promise<unknown>}
*/
json() {
return consume(this, "json");
}
/**
* Consumes and returns the body as a Blob
*
* @see https://fetch.spec.whatwg.org/#dom-body-blob
* @returns {Promise<Blob>}
*/
blob() {
return consume(this, "blob");
}
/**
* Consumes and returns the body as an Uint8Array.
*
* @see https://fetch.spec.whatwg.org/#dom-body-bytes
* @returns {Promise<Uint8Array>}
*/
bytes() {
return consume(this, "bytes");
}
/**
* Consumes and returns the body as an ArrayBuffer.
*
* @see https://fetch.spec.whatwg.org/#dom-body-arraybuffer
* @returns {Promise<ArrayBuffer>}
*/
arrayBuffer() {
return consume(this, "arrayBuffer");
}
/**
* Not implemented
*
* @see https://fetch.spec.whatwg.org/#dom-body-formdata
* @throws {NotSupportedError}
*/
async formData() {
throw new NotSupportedError();
}
/**
* Returns true if the body is not null and the body has been consumed.
* Otherwise, returns false.
*
* @see https://fetch.spec.whatwg.org/#dom-body-bodyused
* @readonly
* @returns {boolean}
*/
get bodyUsed() {
return util2.isDisturbed(this);
}
/**
* @see https://fetch.spec.whatwg.org/#dom-body-body
* @readonly
* @returns {ReadableStream}
*/
get body() {
if (!this[kBody]) {
this[kBody] = ReadableStreamFrom(this);
if (this[kConsume]) {
this[kBody].getReader();
assert3(this[kBody].locked);
}
}
return this[kBody];
}
/**
* Dumps the response body by reading `limit` number of bytes.
* @param {object} opts
* @param {number} [opts.limit = 131072] Number of bytes to read.
* @param {AbortSignal} [opts.signal] An AbortSignal to cancel the dump.
* @returns {Promise<null>}
*/
dump(opts) {
const signal = opts?.signal;
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
return Promise.reject(new InvalidArgumentError("signal must be an AbortSignal"));
}
const limit = opts?.limit && Number.isFinite(opts.limit) ? opts.limit : 128 * 1024;
if (signal?.aborted) {
return Promise.reject(signal.reason ?? new AbortError2());
}
if (this._readableState.closeEmitted) {
return Promise.resolve(null);
}
return new Promise((resolve25, reject) => {
if (this[kContentLength] && this[kContentLength] > limit || this[kBytesRead] > limit) {
this.destroy(new AbortError2());
}
if (signal) {
const onAbort = () => {
this.destroy(signal.reason ?? new AbortError2());
};
signal.addEventListener("abort", onAbort);
this.on("close", function() {
signal.removeEventListener("abort", onAbort);
if (signal.aborted) {
reject(signal.reason ?? new AbortError2());
} else {
resolve25(null);
}
});
} else {
this.on("close", resolve25);
}
this.on("error", noop4).on("data", () => {
if (this[kBytesRead] > limit) {
this.destroy();
}
}).resume();
});
}
/**
* @param {BufferEncoding} encoding
* @returns {this}
*/
setEncoding(encoding) {
if (Buffer.isEncoding(encoding)) {
this._readableState.encoding = encoding;
}
return this;
}
};
function isLocked(bodyReadable) {
return bodyReadable[kBody]?.locked === true || bodyReadable[kConsume] !== null;
}
function isUnusable(bodyReadable) {
return util2.isDisturbed(bodyReadable) || isLocked(bodyReadable);
}
function consume(stream2, type2) {
assert3(!stream2[kConsume]);
return new Promise((resolve25, reject) => {
if (isUnusable(stream2)) {
const rState = stream2._readableState;
if (rState.destroyed && rState.closeEmitted === false) {
stream2.on("error", reject).on("close", () => {
reject(new TypeError("unusable"));
});
} else {
reject(rState.errored ?? new TypeError("unusable"));
}
} else {
queueMicrotask(() => {
stream2[kConsume] = {
type: type2,
stream: stream2,
resolve: resolve25,
reject,
length: 0,
body: []
};
stream2.on("error", function(err2) {
consumeFinish(this[kConsume], err2);
}).on("close", function() {
if (this[kConsume].body !== null) {
consumeFinish(this[kConsume], new RequestAbortedError());
}
});
consumeStart(stream2[kConsume]);
});
}
});
}
function consumeStart(consume2) {
if (consume2.body === null) {
return;
}
const { _readableState: state } = consume2.stream;
if (state.bufferIndex) {
const start2 = state.bufferIndex;
const end = state.buffer.length;
for (let n3 = start2; n3 < end; n3++) {
consumePush(consume2, state.buffer[n3]);
}
} else {
for (const chunk of state.buffer) {
consumePush(consume2, chunk);
}
}
if (state.endEmitted) {
consumeEnd(this[kConsume], this._readableState.encoding);
} else {
consume2.stream.on("end", function() {
consumeEnd(this[kConsume], this._readableState.encoding);
});
}
consume2.stream.resume();
while (consume2.stream.read() != null) {
}
}
function chunksDecode(chunks, length, encoding) {
if (chunks.length === 0 || length === 0) {
return "";
}
const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
const bufferLength = buffer.length;
const start2 = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
if (!encoding || encoding === "utf8" || encoding === "utf-8") {
return buffer.utf8Slice(start2, bufferLength);
} else {
return buffer.subarray(start2, bufferLength).toString(encoding);
}
}
function chunksConcat(chunks, length) {
if (chunks.length === 0 || length === 0) {
return new Uint8Array(0);
}
if (chunks.length === 1) {
return new Uint8Array(chunks[0]);
}
const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
let offset = 0;
for (let i3 = 0; i3 < chunks.length; ++i3) {
const chunk = chunks[i3];
buffer.set(chunk, offset);
offset += chunk.length;
}
return buffer;
}
function consumeEnd(consume2, encoding) {
const { type: type2, body: body2, resolve: resolve25, stream: stream2, length } = consume2;
try {
if (type2 === "text") {
resolve25(chunksDecode(body2, length, encoding));
} else if (type2 === "json") {
resolve25(JSON.parse(chunksDecode(body2, length, encoding)));
} else if (type2 === "arrayBuffer") {
resolve25(chunksConcat(body2, length).buffer);
} else if (type2 === "blob") {
resolve25(new Blob(body2, { type: stream2[kContentType] }));
} else if (type2 === "bytes") {
resolve25(chunksConcat(body2, length));
}
consumeFinish(consume2);
} catch (err2) {
stream2.destroy(err2);
}
}
function consumePush(consume2, chunk) {
consume2.length += chunk.length;
consume2.body.push(chunk);
}
function consumeFinish(consume2, err2) {
if (consume2.body === null) {
return;
}
if (err2) {
consume2.reject(err2);
} else {
consume2.resolve();
}
consume2.type = null;
consume2.stream = null;
consume2.resolve = null;
consume2.reject = null;
consume2.length = 0;
consume2.body = null;
}
module2.exports = {
Readable: BodyReadable,
chunksDecode
};
}
});
// node_modules/undici/lib/api/api-request.js
var require_api_request = __commonJS({
"node_modules/undici/lib/api/api-request.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { AsyncResource } = __require("node:async_hooks");
var { Readable: Readable7 } = require_readable2();
var { InvalidArgumentError, RequestAbortedError } = require_errors4();
var util2 = require_util13();
function noop4() {
}
var RequestHandler = class extends AsyncResource {
constructor(opts, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError("invalid opts");
}
const { signal, method, opaque, body: body2, onInfo, responseHeaders, highWaterMark } = opts;
try {
if (typeof callback !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
throw new InvalidArgumentError("invalid highWaterMark");
}
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
if (method === "CONNECT") {
throw new InvalidArgumentError("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError("invalid onInfo callback");
}
super("UNDICI_REQUEST");
} catch (err2) {
if (util2.isStream(body2)) {
util2.destroy(body2.on("error", noop4), err2);
}
throw err2;
}
this.method = method;
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.callback = callback;
this.res = null;
this.abort = null;
this.body = body2;
this.trailers = {};
this.context = null;
this.onInfo = onInfo || null;
this.highWaterMark = highWaterMark;
this.reason = null;
this.removeAbortListener = null;
if (signal?.aborted) {
this.reason = signal.reason ?? new RequestAbortedError();
} else if (signal) {
this.removeAbortListener = util2.addAbortListener(signal, () => {
this.reason = signal.reason ?? new RequestAbortedError();
if (this.res) {
util2.destroy(this.res.on("error", noop4), this.reason);
} else if (this.abort) {
this.abort(this.reason);
}
});
}
}
onConnect(abort2, context2) {
if (this.reason) {
abort2(this.reason);
return;
}
assert3(this.callback);
this.abort = abort2;
this.context = context2;
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
const { callback, opaque, abort: abort2, context: context2, responseHeaders, highWaterMark } = this;
const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders);
if (statusCode < 200) {
if (this.onInfo) {
this.onInfo({ statusCode, headers });
}
return;
}
const parsedHeaders = responseHeaders === "raw" ? util2.parseHeaders(rawHeaders) : headers;
const contentType = parsedHeaders["content-type"];
const contentLength = parsedHeaders["content-length"];
const res = new Readable7({
resume,
abort: abort2,
contentType,
contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
highWaterMark
});
if (this.removeAbortListener) {
res.on("close", this.removeAbortListener);
this.removeAbortListener = null;
}
this.callback = null;
this.res = res;
if (callback !== null) {
try {
this.runInAsyncScope(callback, null, null, {
statusCode,
statusText: statusMessage,
headers,
trailers: this.trailers,
opaque,
body: res,
context: context2
});
} catch (err2) {
this.res = null;
util2.destroy(res.on("error", noop4), err2);
queueMicrotask(() => {
throw err2;
});
}
}
}
onData(chunk) {
return this.res.push(chunk);
}
onComplete(trailers) {
util2.parseHeaders(trailers, this.trailers);
this.res.push(null);
}
onError(err2) {
const { res, callback, body: body2, opaque } = this;
if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err2, { opaque });
});
}
if (res) {
this.res = null;
queueMicrotask(() => {
util2.destroy(res.on("error", noop4), err2);
});
}
if (body2) {
this.body = null;
if (util2.isStream(body2)) {
body2.on("error", noop4);
util2.destroy(body2, err2);
}
}
if (this.removeAbortListener) {
this.removeAbortListener();
this.removeAbortListener = null;
}
}
};
function request(opts, callback) {
if (callback === void 0) {
return new Promise((resolve25, reject) => {
request.call(this, opts, (err2, data) => {
return err2 ? reject(err2) : resolve25(data);
});
});
}
try {
const handler = new RequestHandler(opts, callback);
this.dispatch(opts, handler);
} catch (err2) {
if (typeof callback !== "function") {
throw err2;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err2, { opaque }));
}
}
module2.exports = request;
module2.exports.RequestHandler = RequestHandler;
}
});
// node_modules/undici/lib/api/abort-signal.js
var require_abort_signal = __commonJS({
"node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
"use strict";
var { addAbortListener: addAbortListener3 } = require_util13();
var { RequestAbortedError } = require_errors4();
var kListener = Symbol("kListener");
var kSignal = Symbol("kSignal");
function abort2(self2) {
if (self2.abort) {
self2.abort(self2[kSignal]?.reason);
} else {
self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError();
}
removeSignal(self2);
}
function addSignal(self2, signal) {
self2.reason = null;
self2[kSignal] = null;
self2[kListener] = null;
if (!signal) {
return;
}
if (signal.aborted) {
abort2(self2);
return;
}
self2[kSignal] = signal;
self2[kListener] = () => {
abort2(self2);
};
addAbortListener3(self2[kSignal], self2[kListener]);
}
function removeSignal(self2) {
if (!self2[kSignal]) {
return;
}
if ("removeEventListener" in self2[kSignal]) {
self2[kSignal].removeEventListener("abort", self2[kListener]);
} else {
self2[kSignal].removeListener("abort", self2[kListener]);
}
self2[kSignal] = null;
self2[kListener] = null;
}
module2.exports = {
addSignal,
removeSignal
};
}
});
// node_modules/undici/lib/api/api-stream.js
var require_api_stream = __commonJS({
"node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { finished: finished7 } = __require("node:stream");
var { AsyncResource } = __require("node:async_hooks");
var { InvalidArgumentError, InvalidReturnValueError } = require_errors4();
var util2 = require_util13();
var { addSignal, removeSignal } = require_abort_signal();
function noop4() {
}
var StreamHandler = class extends AsyncResource {
constructor(opts, factory, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError("invalid opts");
}
const { signal, method, opaque, body: body2, onInfo, responseHeaders } = opts;
try {
if (typeof callback !== "function") {
throw new InvalidArgumentError("invalid callback");
}
if (typeof factory !== "function") {
throw new InvalidArgumentError("invalid factory");
}
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
if (method === "CONNECT") {
throw new InvalidArgumentError("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError("invalid onInfo callback");
}
super("UNDICI_STREAM");
} catch (err2) {
if (util2.isStream(body2)) {
util2.destroy(body2.on("error", noop4), err2);
}
throw err2;
}
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.factory = factory;
this.callback = callback;
this.res = null;
this.abort = null;
this.context = null;
this.trailers = null;
this.body = body2;
this.onInfo = onInfo || null;
if (util2.isStream(body2)) {
body2.on("error", (err2) => {
this.onError(err2);
});
}
addSignal(this, signal);
}
onConnect(abort2, context2) {
if (this.reason) {
abort2(this.reason);
return;
}
assert3(this.callback);
this.abort = abort2;
this.context = context2;
}
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
const { factory, opaque, context: context2, responseHeaders } = this;
const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders);
if (statusCode < 200) {
if (this.onInfo) {
this.onInfo({ statusCode, headers });
}
return;
}
this.factory = null;
if (factory === null) {
return;
}
const res = this.runInAsyncScope(factory, null, {
statusCode,
headers,
opaque,
context: context2
});
if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
throw new InvalidReturnValueError("expected Writable");
}
finished7(res, { readable: false }, (err2) => {
const { callback, res: res2, opaque: opaque2, trailers, abort: abort2 } = this;
this.res = null;
if (err2 || !res2?.readable) {
util2.destroy(res2, err2);
}
this.callback = null;
this.runInAsyncScope(callback, null, err2 || null, { opaque: opaque2, trailers });
if (err2) {
abort2();
}
});
res.on("drain", resume);
this.res = res;
const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState?.needDrain;
return needDrain !== true;
}
onData(chunk) {
const { res } = this;
return res ? res.write(chunk) : true;
}
onComplete(trailers) {
const { res } = this;
removeSignal(this);
if (!res) {
return;
}
this.trailers = util2.parseHeaders(trailers);
res.end();
}
onError(err2) {
const { res, callback, opaque, body: body2 } = this;
removeSignal(this);
this.factory = null;
if (res) {
this.res = null;
util2.destroy(res, err2);
} else if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err2, { opaque });
});
}
if (body2) {
this.body = null;
util2.destroy(body2, err2);
}
}
};
function stream2(opts, factory, callback) {
if (callback === void 0) {
return new Promise((resolve25, reject) => {
stream2.call(this, opts, factory, (err2, data) => {
return err2 ? reject(err2) : resolve25(data);
});
});
}
try {
const handler = new StreamHandler(opts, factory, callback);
this.dispatch(opts, handler);
} catch (err2) {
if (typeof callback !== "function") {
throw err2;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err2, { opaque }));
}
}
module2.exports = stream2;
}
});
// node_modules/undici/lib/api/api-pipeline.js
var require_api_pipeline = __commonJS({
"node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
"use strict";
var {
Readable: Readable7,
Duplex: Duplex4,
PassThrough: PassThrough3
} = __require("node:stream");
var assert3 = __require("node:assert");
var { AsyncResource } = __require("node:async_hooks");
var {
InvalidArgumentError,
InvalidReturnValueError,
RequestAbortedError
} = require_errors4();
var util2 = require_util13();
var { addSignal, removeSignal } = require_abort_signal();
function noop4() {
}
var kResume = Symbol("resume");
var PipelineRequest = class extends Readable7 {
constructor() {
super({ autoDestroy: true });
this[kResume] = null;
}
_read() {
const { [kResume]: resume } = this;
if (resume) {
this[kResume] = null;
resume();
}
}
_destroy(err2, callback) {
this._read();
callback(err2);
}
};
var PipelineResponse = class extends Readable7 {
constructor(resume) {
super({ autoDestroy: true });
this[kResume] = resume;
}
_read() {
this[kResume]();
}
_destroy(err2, callback) {
if (!err2 && !this._readableState.endEmitted) {
err2 = new RequestAbortedError();
}
callback(err2);
}
};
var PipelineHandler = class extends AsyncResource {
constructor(opts, handler) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (typeof handler !== "function") {
throw new InvalidArgumentError("invalid handler");
}
const { signal, method, opaque, onInfo, responseHeaders } = opts;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
if (method === "CONNECT") {
throw new InvalidArgumentError("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError("invalid onInfo callback");
}
super("UNDICI_PIPELINE");
this.opaque = opaque || null;
this.responseHeaders = responseHeaders || null;
this.handler = handler;
this.abort = null;
this.context = null;
this.onInfo = onInfo || null;
this.req = new PipelineRequest().on("error", noop4);
this.ret = new Duplex4({
readableObjectMode: opts.objectMode,
autoDestroy: true,
read: () => {
const { body: body2 } = this;
if (body2?.resume) {
body2.resume();
}
},
write: (chunk, encoding, callback) => {
const { req } = this;
if (req.push(chunk, encoding) || req._readableState.destroyed) {
callback();
} else {
req[kResume] = callback;
}
},
destroy: (err2, callback) => {
const { body: body2, req, res, ret, abort: abort2 } = this;
if (!err2 && !ret._readableState.endEmitted) {
err2 = new RequestAbortedError();
}
if (abort2 && err2) {
abort2();
}
util2.destroy(body2, err2);
util2.destroy(req, err2);
util2.destroy(res, err2);
removeSignal(this);
callback(err2);
}
}).on("prefinish", () => {
const { req } = this;
req.push(null);
});
this.res = null;
addSignal(this, signal);
}
onConnect(abort2, context2) {
const { res } = this;
if (this.reason) {
abort2(this.reason);
return;
}
assert3(!res, "pipeline cannot be retried");
this.abort = abort2;
this.context = context2;
}
onHeaders(statusCode, rawHeaders, resume) {
const { opaque, handler, context: context2 } = this;
if (statusCode < 200) {
if (this.onInfo) {
const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders);
this.onInfo({ statusCode, headers });
}
return;
}
this.res = new PipelineResponse(resume);
let body2;
try {
this.handler = null;
const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders);
body2 = this.runInAsyncScope(handler, null, {
statusCode,
headers,
opaque,
body: this.res,
context: context2
});
} catch (err2) {
this.res.on("error", noop4);
throw err2;
}
if (!body2 || typeof body2.on !== "function") {
throw new InvalidReturnValueError("expected Readable");
}
body2.on("data", (chunk) => {
const { ret, body: body3 } = this;
if (!ret.push(chunk) && body3.pause) {
body3.pause();
}
}).on("error", (err2) => {
const { ret } = this;
util2.destroy(ret, err2);
}).on("end", () => {
const { ret } = this;
ret.push(null);
}).on("close", () => {
const { ret } = this;
if (!ret._readableState.ended) {
util2.destroy(ret, new RequestAbortedError());
}
});
this.body = body2;
}
onData(chunk) {
const { res } = this;
return res.push(chunk);
}
onComplete(trailers) {
const { res } = this;
res.push(null);
}
onError(err2) {
const { ret } = this;
this.handler = null;
util2.destroy(ret, err2);
}
};
function pipeline(opts, handler) {
try {
const pipelineHandler = new PipelineHandler(opts, handler);
this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
return pipelineHandler.ret;
} catch (err2) {
return new PassThrough3().destroy(err2);
}
}
module2.exports = pipeline;
}
});
// node_modules/undici/lib/api/api-upgrade.js
var require_api_upgrade = __commonJS({
"node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError, SocketError } = require_errors4();
var { AsyncResource } = __require("node:async_hooks");
var assert3 = __require("node:assert");
var util2 = require_util13();
var { kHTTP2Stream } = require_symbols();
var { addSignal, removeSignal } = require_abort_signal();
var UpgradeHandler = class extends AsyncResource {
constructor(opts, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (typeof callback !== "function") {
throw new InvalidArgumentError("invalid callback");
}
const { signal, opaque, responseHeaders } = opts;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
super("UNDICI_UPGRADE");
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.callback = callback;
this.abort = null;
this.context = null;
addSignal(this, signal);
}
onConnect(abort2, context2) {
if (this.reason) {
abort2(this.reason);
return;
}
assert3(this.callback);
this.abort = abort2;
this.context = null;
}
onHeaders() {
throw new SocketError("bad upgrade", null);
}
onUpgrade(statusCode, rawHeaders, socket) {
assert3(socket[kHTTP2Stream] === true ? statusCode === 200 : statusCode === 101);
const { callback, opaque, context: context2 } = this;
removeSignal(this);
this.callback = null;
const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders);
this.runInAsyncScope(callback, null, null, {
headers,
socket,
opaque,
context: context2
});
}
onError(err2) {
const { callback, opaque } = this;
removeSignal(this);
if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err2, { opaque });
});
}
}
};
function upgrade(opts, callback) {
if (callback === void 0) {
return new Promise((resolve25, reject) => {
upgrade.call(this, opts, (err2, data) => {
return err2 ? reject(err2) : resolve25(data);
});
});
}
try {
const upgradeHandler = new UpgradeHandler(opts, callback);
const upgradeOpts = {
...opts,
method: opts.method || "GET",
upgrade: opts.protocol || "Websocket"
};
this.dispatch(upgradeOpts, upgradeHandler);
} catch (err2) {
if (typeof callback !== "function") {
throw err2;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err2, { opaque }));
}
}
module2.exports = upgrade;
}
});
// node_modules/undici/lib/api/api-connect.js
var require_api_connect = __commonJS({
"node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { AsyncResource } = __require("node:async_hooks");
var { InvalidArgumentError, SocketError } = require_errors4();
var util2 = require_util13();
var { addSignal, removeSignal } = require_abort_signal();
var ConnectHandler = class extends AsyncResource {
constructor(opts, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (typeof callback !== "function") {
throw new InvalidArgumentError("invalid callback");
}
const { signal, opaque, responseHeaders } = opts;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
}
super("UNDICI_CONNECT");
this.opaque = opaque || null;
this.responseHeaders = responseHeaders || null;
this.callback = callback;
this.abort = null;
addSignal(this, signal);
}
onConnect(abort2, context2) {
if (this.reason) {
abort2(this.reason);
return;
}
assert3(this.callback);
this.abort = abort2;
this.context = context2;
}
onHeaders() {
throw new SocketError("bad connect", null);
}
onUpgrade(statusCode, rawHeaders, socket) {
const { callback, opaque, context: context2 } = this;
removeSignal(this);
this.callback = null;
let headers = rawHeaders;
if (headers != null) {
headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders);
}
this.runInAsyncScope(callback, null, null, {
statusCode,
headers,
socket,
opaque,
context: context2
});
}
onError(err2) {
const { callback, opaque } = this;
removeSignal(this);
if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err2, { opaque });
});
}
}
};
function connect(opts, callback) {
if (callback === void 0) {
return new Promise((resolve25, reject) => {
connect.call(this, opts, (err2, data) => {
return err2 ? reject(err2) : resolve25(data);
});
});
}
try {
const connectHandler = new ConnectHandler(opts, callback);
const connectOptions = { ...opts, method: "CONNECT" };
this.dispatch(connectOptions, connectHandler);
} catch (err2) {
if (typeof callback !== "function") {
throw err2;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err2, { opaque }));
}
}
module2.exports = connect;
}
});
// node_modules/undici/lib/api/index.js
var require_api2 = __commonJS({
"node_modules/undici/lib/api/index.js"(exports2, module2) {
"use strict";
module2.exports.request = require_api_request();
module2.exports.stream = require_api_stream();
module2.exports.pipeline = require_api_pipeline();
module2.exports.upgrade = require_api_upgrade();
module2.exports.connect = require_api_connect();
}
});
// node_modules/undici/lib/mock/mock-errors.js
var require_mock_errors = __commonJS({
"node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) {
"use strict";
var { UndiciError } = require_errors4();
var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
var MockNotMatchedError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "MockNotMatchedError";
this.message = message || "The request does not match any registered mock dispatches";
this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
}
static [Symbol.hasInstance](instance2) {
return instance2 && instance2[kMockNotMatchedError] === true;
}
get [kMockNotMatchedError]() {
return true;
}
};
module2.exports = {
MockNotMatchedError
};
}
});
// node_modules/undici/lib/mock/mock-symbols.js
var require_mock_symbols = __commonJS({
"node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kAgent: Symbol("agent"),
kOptions: Symbol("options"),
kFactory: Symbol("factory"),
kDispatches: Symbol("dispatches"),
kDispatchKey: Symbol("dispatch key"),
kDefaultHeaders: Symbol("default headers"),
kDefaultTrailers: Symbol("default trailers"),
kContentLength: Symbol("content length"),
kMockAgent: Symbol("mock agent"),
kMockAgentSet: Symbol("mock agent set"),
kMockAgentGet: Symbol("mock agent get"),
kMockDispatch: Symbol("mock dispatch"),
kClose: Symbol("close"),
kOriginalClose: Symbol("original agent close"),
kOriginalDispatch: Symbol("original dispatch"),
kOrigin: Symbol("origin"),
kIsMockActive: Symbol("is mock active"),
kNetConnect: Symbol("net connect"),
kGetNetConnect: Symbol("get net connect"),
kConnected: Symbol("connected"),
kIgnoreTrailingSlash: Symbol("ignore trailing slash"),
kMockAgentMockCallHistoryInstance: Symbol("mock agent mock call history name"),
kMockAgentRegisterCallHistory: Symbol("mock agent register mock call history"),
kMockAgentAddCallHistoryLog: Symbol("mock agent add call history log"),
kMockAgentIsCallHistoryEnabled: Symbol("mock agent is call history enabled"),
kMockAgentAcceptsNonStandardSearchParameters: Symbol("mock agent accepts non standard search parameters"),
kMockCallHistoryAddLog: Symbol("mock call history add log")
};
}
});
// node_modules/undici/lib/mock/mock-utils.js
var require_mock_utils = __commonJS({
"node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) {
"use strict";
var { MockNotMatchedError } = require_mock_errors();
var {
kDispatches,
kMockAgent,
kOriginalDispatch,
kOrigin,
kGetNetConnect
} = require_mock_symbols();
var { serializePathWithQuery } = require_util13();
var { STATUS_CODES } = __require("node:http");
var {
types: {
isPromise
}
} = __require("node:util");
var { InvalidArgumentError } = require_errors4();
function matchValue(match2, value) {
if (typeof match2 === "string") {
return match2 === value;
}
if (match2 instanceof RegExp) {
return match2.test(value);
}
if (typeof match2 === "function") {
return match2(value) === true;
}
return false;
}
function lowerCaseEntries(headers) {
return Object.fromEntries(
Object.entries(headers).map(([headerName, headerValue]) => {
return [headerName.toLocaleLowerCase(), headerValue];
})
);
}
function getHeaderByName(headers, key) {
if (Array.isArray(headers)) {
for (let i3 = 0; i3 < headers.length; i3 += 2) {
if (headers[i3].toLocaleLowerCase() === key.toLocaleLowerCase()) {
return headers[i3 + 1];
}
}
return void 0;
} else if (typeof headers.get === "function") {
return headers.get(key);
} else {
return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
}
}
function buildHeadersFromArray(headers) {
const clone2 = headers.slice();
const entries = [];
for (let index = 0; index < clone2.length; index += 2) {
entries.push([clone2[index], clone2[index + 1]]);
}
return Object.fromEntries(entries);
}
function matchHeaders(mockDispatch2, headers) {
if (typeof mockDispatch2.headers === "function") {
if (Array.isArray(headers)) {
headers = buildHeadersFromArray(headers);
}
return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
}
if (typeof mockDispatch2.headers === "undefined") {
return true;
}
if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
return false;
}
for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) {
const headerValue = getHeaderByName(headers, matchHeaderName);
if (!matchValue(matchHeaderValue, headerValue)) {
return false;
}
}
return true;
}
function normalizeSearchParams(query) {
if (typeof query !== "string") {
return query;
}
const originalQp = new URLSearchParams(query);
const normalizedQp = new URLSearchParams();
for (let [key, value] of originalQp.entries()) {
key = key.replace("[]", "");
const valueRepresentsString = /^(['"]).*\1$/.test(value);
if (valueRepresentsString) {
normalizedQp.append(key, value);
continue;
}
if (value.includes(",")) {
const values = value.split(",");
for (const v of values) {
normalizedQp.append(key, v);
}
continue;
}
normalizedQp.append(key, value);
}
return normalizedQp;
}
function safeUrl(path101) {
if (typeof path101 !== "string") {
return path101;
}
const pathSegments = path101.split("?", 3);
if (pathSegments.length !== 2) {
return path101;
}
const qp = new URLSearchParams(pathSegments.pop());
qp.sort();
return [...pathSegments, qp.toString()].join("?");
}
function matchKey(mockDispatch2, { path: path101, method, body: body2, headers }) {
const pathMatch = matchValue(mockDispatch2.path, path101);
const methodMatch = matchValue(mockDispatch2.method, method);
const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body2) : true;
const headersMatch = matchHeaders(mockDispatch2, headers);
return pathMatch && methodMatch && bodyMatch && headersMatch;
}
function getResponseData(data) {
if (Buffer.isBuffer(data)) {
return data;
} else if (data instanceof Uint8Array) {
return data;
} else if (data instanceof ArrayBuffer) {
return data;
} else if (typeof data === "object") {
return JSON.stringify(data);
} else if (data) {
return data.toString();
} else {
return "";
}
}
function getMockDispatch(mockDispatches, key) {
const basePath = key.query ? serializePathWithQuery(key.path, key.query) : key.path;
const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
const resolvedPathWithoutTrailingSlash = removeTrailingSlash(resolvedPath);
let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path101, ignoreTrailingSlash }) => {
return ignoreTrailingSlash ? matchValue(removeTrailingSlash(safeUrl(path101)), resolvedPathWithoutTrailingSlash) : matchValue(safeUrl(path101), resolvedPath);
});
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter(({ body: body2 }) => typeof body2 !== "undefined" ? matchValue(body2, key.body) : true);
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
if (matchedMockDispatches.length === 0) {
const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
}
return matchedMockDispatches[0];
}
function addMockDispatch(mockDispatches, key, data, opts) {
const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false, ...opts };
const replyData = typeof data === "function" ? { callback: data } : { ...data };
const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
mockDispatches.push(newMockDispatch);
return newMockDispatch;
}
function deleteMockDispatch(mockDispatches, key) {
const index = mockDispatches.findIndex((dispatch) => {
if (!dispatch.consumed) {
return false;
}
return matchKey(dispatch, key);
});
if (index !== -1) {
mockDispatches.splice(index, 1);
}
}
function removeTrailingSlash(path101) {
while (path101.endsWith("/")) {
path101 = path101.slice(0, -1);
}
if (path101.length === 0) {
path101 = "/";
}
return path101;
}
function buildKey(opts) {
const { path: path101, method, body: body2, headers, query } = opts;
return {
path: path101,
method,
body: body2,
headers,
query
};
}
function generateKeyValues(data) {
const keys = Object.keys(data);
const result2 = [];
for (let i3 = 0; i3 < keys.length; ++i3) {
const key = keys[i3];
const value = data[key];
const name3 = Buffer.from(`${key}`);
if (Array.isArray(value)) {
for (let j = 0; j < value.length; ++j) {
result2.push(name3, Buffer.from(`${value[j]}`));
}
} else {
result2.push(name3, Buffer.from(`${value}`));
}
}
return result2;
}
function getStatusText(statusCode) {
return STATUS_CODES[statusCode] || "unknown";
}
async function getResponse(body2) {
const buffers = [];
for await (const data of body2) {
buffers.push(data);
}
return Buffer.concat(buffers).toString("utf8");
}
function mockDispatch(opts, handler) {
const key = buildKey(opts);
const mockDispatch2 = getMockDispatch(this[kDispatches], key);
mockDispatch2.timesInvoked++;
if (mockDispatch2.data.callback) {
mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
}
const { data: { statusCode, data, headers, trailers, error: error40 }, delay: delay3, persist } = mockDispatch2;
const { timesInvoked, times } = mockDispatch2;
mockDispatch2.consumed = !persist && timesInvoked >= times;
mockDispatch2.pending = timesInvoked < times;
if (error40 !== null) {
deleteMockDispatch(this[kDispatches], key);
handler.onError(error40);
return true;
}
let aborted3 = false;
let timer = null;
function abort2(err2) {
if (aborted3) {
return;
}
aborted3 = true;
if (timer !== null) {
clearTimeout(timer);
timer = null;
}
handler.onError(err2);
}
handler.onConnect?.(abort2, null);
if (typeof delay3 === "number" && delay3 > 0) {
timer = setTimeout(() => {
timer = null;
handleReply(this[kDispatches]);
}, delay3);
} else {
handleReply(this[kDispatches]);
}
function handleReply(mockDispatches, _data = data) {
if (aborted3) {
return;
}
const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
const body2 = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
if (isPromise(body2)) {
return body2.then((newData) => handleReply(mockDispatches, newData));
}
if (aborted3) {
return;
}
const responseData = getResponseData(body2);
const responseHeaders = generateKeyValues(headers);
const responseTrailers = generateKeyValues(trailers);
handler.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
handler.onData?.(Buffer.from(responseData));
handler.onComplete?.(responseTrailers);
deleteMockDispatch(mockDispatches, key);
}
function resume() {
}
return true;
}
function buildMockDispatch() {
const agent = this[kMockAgent];
const origin = this[kOrigin];
const originalDispatch = this[kOriginalDispatch];
return function dispatch(opts, handler) {
if (agent.isMockActive) {
try {
mockDispatch.call(this, opts, handler);
} catch (error40) {
if (error40.code === "UND_MOCK_ERR_MOCK_NOT_MATCHED") {
const netConnect = agent[kGetNetConnect]();
if (netConnect === false) {
throw new MockNotMatchedError(`${error40.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
}
if (checkNetConnect(netConnect, origin)) {
originalDispatch.call(this, opts, handler);
} else {
throw new MockNotMatchedError(`${error40.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
}
} else {
throw error40;
}
}
} else {
originalDispatch.call(this, opts, handler);
}
};
}
function checkNetConnect(netConnect, origin) {
const url3 = new URL(origin);
if (netConnect === true) {
return true;
} else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url3.host))) {
return true;
}
return false;
}
function normalizeOrigin(origin) {
if (typeof origin !== "string" && !(origin instanceof URL)) {
return origin;
}
if (origin instanceof URL) {
return origin.origin;
}
return origin.toLowerCase();
}
function buildAndValidateMockOptions(opts) {
const { agent, ...mockOptions } = opts;
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") {
throw new InvalidArgumentError("options.enableCallHistory must to be a boolean");
}
if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") {
throw new InvalidArgumentError("options.acceptNonStandardSearchParameters must to be a boolean");
}
if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") {
throw new InvalidArgumentError("options.ignoreTrailingSlash must to be a boolean");
}
return mockOptions;
}
module2.exports = {
getResponseData,
getMockDispatch,
addMockDispatch,
deleteMockDispatch,
buildKey,
generateKeyValues,
matchValue,
getResponse,
getStatusText,
mockDispatch,
buildMockDispatch,
checkNetConnect,
buildAndValidateMockOptions,
getHeaderByName,
buildHeadersFromArray,
normalizeSearchParams,
normalizeOrigin
};
}
});
// node_modules/undici/lib/mock/mock-interceptor.js
var require_mock_interceptor = __commonJS({
"node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) {
"use strict";
var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
var {
kDispatches,
kDispatchKey,
kDefaultHeaders,
kDefaultTrailers,
kContentLength,
kMockDispatch,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { InvalidArgumentError } = require_errors4();
var { serializePathWithQuery } = require_util13();
var MockScope = class {
constructor(mockDispatch) {
this[kMockDispatch] = mockDispatch;
}
/**
* Delay a reply by a set amount in ms.
*/
delay(waitInMs) {
if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
}
this[kMockDispatch].delay = waitInMs;
return this;
}
/**
* For a defined reply, never mark as consumed.
*/
persist() {
this[kMockDispatch].persist = true;
return this;
}
/**
* Allow one to define a reply for a set amount of matching requests.
*/
times(repeatTimes) {
if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
}
this[kMockDispatch].times = repeatTimes;
return this;
}
};
var MockInterceptor = class {
constructor(opts, mockDispatches) {
if (typeof opts !== "object") {
throw new InvalidArgumentError("opts must be an object");
}
if (typeof opts.path === "undefined") {
throw new InvalidArgumentError("opts.path must be defined");
}
if (typeof opts.method === "undefined") {
opts.method = "GET";
}
if (typeof opts.path === "string") {
if (opts.query) {
opts.path = serializePathWithQuery(opts.path, opts.query);
} else {
const parsedURL = new URL(opts.path, "data://");
opts.path = parsedURL.pathname + parsedURL.search;
}
}
if (typeof opts.method === "string") {
opts.method = opts.method.toUpperCase();
}
this[kDispatchKey] = buildKey(opts);
this[kDispatches] = mockDispatches;
this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
this[kDefaultHeaders] = {};
this[kDefaultTrailers] = {};
this[kContentLength] = false;
}
createMockScopeDispatchData({ statusCode, data, responseOptions }) {
const responseData = getResponseData(data);
const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
return { statusCode, data, headers, trailers };
}
validateReplyParameters(replyParameters) {
if (typeof replyParameters.statusCode === "undefined") {
throw new InvalidArgumentError("statusCode must be defined");
}
if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
throw new InvalidArgumentError("responseOptions must be an object");
}
}
/**
* Mock an undici request with a defined reply.
*/
reply(replyOptionsCallbackOrStatusCode) {
if (typeof replyOptionsCallbackOrStatusCode === "function") {
const wrappedDefaultsCallback = (opts) => {
const resolvedData = replyOptionsCallbackOrStatusCode(opts);
if (typeof resolvedData !== "object" || resolvedData === null) {
throw new InvalidArgumentError("reply options callback must return an object");
}
const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
this.validateReplyParameters(replyParameters2);
return {
...this.createMockScopeDispatchData(replyParameters2)
};
};
const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch2);
}
const replyParameters = {
statusCode: replyOptionsCallbackOrStatusCode,
data: arguments[1] === void 0 ? "" : arguments[1],
responseOptions: arguments[2] === void 0 ? {} : arguments[2]
};
this.validateReplyParameters(replyParameters);
const dispatchData = this.createMockScopeDispatchData(replyParameters);
const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch);
}
/**
* Mock an undici request with a defined error.
*/
replyWithError(error40) {
if (typeof error40 === "undefined") {
throw new InvalidArgumentError("error must be defined");
}
const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error40 }, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch);
}
/**
* Set default reply headers on the interceptor for subsequent replies
*/
defaultReplyHeaders(headers) {
if (typeof headers === "undefined") {
throw new InvalidArgumentError("headers must be defined");
}
this[kDefaultHeaders] = headers;
return this;
}
/**
* Set default reply trailers on the interceptor for subsequent replies
*/
defaultReplyTrailers(trailers) {
if (typeof trailers === "undefined") {
throw new InvalidArgumentError("trailers must be defined");
}
this[kDefaultTrailers] = trailers;
return this;
}
/**
* Set reply content length header for replies on the interceptor
*/
replyContentLength() {
this[kContentLength] = true;
return this;
}
};
module2.exports.MockInterceptor = MockInterceptor;
module2.exports.MockScope = MockScope;
}
});
// node_modules/undici/lib/mock/mock-client.js
var require_mock_client = __commonJS({
"node_modules/undici/lib/mock/mock-client.js"(exports2, module2) {
"use strict";
var { promisify: promisify10 } = __require("node:util");
var Client3 = require_client2();
var { buildMockDispatch } = require_mock_utils();
var {
kDispatches,
kMockAgent,
kClose,
kOriginalClose,
kOrigin,
kOriginalDispatch,
kConnected,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { MockInterceptor } = require_mock_interceptor();
var Symbols = require_symbols();
var { InvalidArgumentError } = require_errors4();
var MockClient = class extends Client3 {
constructor(origin, opts) {
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument opts.agent must implement Agent");
}
super(origin, opts);
this[kMockAgent] = opts.agent;
this[kOrigin] = origin;
this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
this[kDispatches] = [];
this[kConnected] = 1;
this[kOriginalDispatch] = this.dispatch;
this[kOriginalClose] = this.close.bind(this);
this.dispatch = buildMockDispatch.call(this);
this.close = this[kClose];
}
get [Symbols.kConnected]() {
return this[kConnected];
}
/**
* Sets up the base interceptor for mocking replies from undici.
*/
intercept(opts) {
return new MockInterceptor(
opts && { ignoreTrailingSlash: this[kIgnoreTrailingSlash], ...opts },
this[kDispatches]
);
}
cleanMocks() {
this[kDispatches] = [];
}
async [kClose]() {
await promisify10(this[kOriginalClose])();
this[kConnected] = 0;
this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
}
};
module2.exports = MockClient;
}
});
// node_modules/undici/lib/mock/mock-call-history.js
var require_mock_call_history = __commonJS({
"node_modules/undici/lib/mock/mock-call-history.js"(exports2, module2) {
"use strict";
var { kMockCallHistoryAddLog } = require_mock_symbols();
var { InvalidArgumentError } = require_errors4();
function handleFilterCallsWithOptions(criteria, options, handler, store) {
switch (options.operator) {
case "OR":
store.push(...handler(criteria));
return store;
case "AND":
return handler.call({ logs: store }, criteria);
default:
throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
}
}
function buildAndValidateFilterCallsOptions(options = {}) {
const finalOptions = {};
if ("operator" in options) {
if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") {
throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
}
return {
...finalOptions,
operator: options.operator.toUpperCase()
};
}
return finalOptions;
}
function makeFilterCalls(parameterName) {
return (parameterValue) => {
if (typeof parameterValue === "string" || parameterValue == null) {
return this.logs.filter((log) => {
return log[parameterName] === parameterValue;
});
}
if (parameterValue instanceof RegExp) {
return this.logs.filter((log) => {
return parameterValue.test(log[parameterName]);
});
}
throw new InvalidArgumentError(`${parameterName} parameter should be one of string, regexp, undefined or null`);
};
}
function computeUrlWithMaybeSearchParameters(requestInit) {
try {
const url3 = new URL(requestInit.path, requestInit.origin);
if (url3.search.length !== 0) {
return url3;
}
url3.search = new URLSearchParams(requestInit.query).toString();
return url3;
} catch (error40) {
throw new InvalidArgumentError("An error occurred when computing MockCallHistoryLog.url", { cause: error40 });
}
}
var MockCallHistoryLog = class {
constructor(requestInit = {}) {
this.body = requestInit.body;
this.headers = requestInit.headers;
this.method = requestInit.method;
const url3 = computeUrlWithMaybeSearchParameters(requestInit);
this.fullUrl = url3.toString();
this.origin = url3.origin;
this.path = url3.pathname;
this.searchParams = Object.fromEntries(url3.searchParams);
this.protocol = url3.protocol;
this.host = url3.host;
this.port = url3.port;
this.hash = url3.hash;
}
toMap() {
return /* @__PURE__ */ new Map(
[
["protocol", this.protocol],
["host", this.host],
["port", this.port],
["origin", this.origin],
["path", this.path],
["hash", this.hash],
["searchParams", this.searchParams],
["fullUrl", this.fullUrl],
["method", this.method],
["body", this.body],
["headers", this.headers]
]
);
}
toString() {
const options = { betweenKeyValueSeparator: "->", betweenPairSeparator: "|" };
let result2 = "";
this.toMap().forEach((value, key) => {
if (typeof value === "string" || value === void 0 || value === null) {
result2 = `${result2}${key}${options.betweenKeyValueSeparator}${value}${options.betweenPairSeparator}`;
}
if (typeof value === "object" && value !== null || Array.isArray(value)) {
result2 = `${result2}${key}${options.betweenKeyValueSeparator}${JSON.stringify(value)}${options.betweenPairSeparator}`;
}
});
return result2.slice(0, -1);
}
};
var MockCallHistory = class {
logs = [];
calls() {
return this.logs;
}
firstCall() {
return this.logs.at(0);
}
lastCall() {
return this.logs.at(-1);
}
nthCall(number4) {
if (typeof number4 !== "number") {
throw new InvalidArgumentError("nthCall must be called with a number");
}
if (!Number.isInteger(number4)) {
throw new InvalidArgumentError("nthCall must be called with an integer");
}
if (Math.sign(number4) !== 1) {
throw new InvalidArgumentError("nthCall must be called with a positive value. use firstCall or lastCall instead");
}
return this.logs.at(number4 - 1);
}
filterCalls(criteria, options) {
if (this.logs.length === 0) {
return this.logs;
}
if (typeof criteria === "function") {
return this.logs.filter(criteria);
}
if (criteria instanceof RegExp) {
return this.logs.filter((log) => {
return criteria.test(log.toString());
});
}
if (typeof criteria === "object" && criteria !== null) {
if (Object.keys(criteria).length === 0) {
return this.logs;
}
const finalOptions = { operator: "OR", ...buildAndValidateFilterCallsOptions(options) };
let maybeDuplicatedLogsFiltered = [];
if ("protocol" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered);
}
if ("host" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered);
}
if ("port" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered);
}
if ("origin" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered);
}
if ("path" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered);
}
if ("hash" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered);
}
if ("fullUrl" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered);
}
if ("method" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered);
}
const uniqLogsFiltered = [...new Set(maybeDuplicatedLogsFiltered)];
return uniqLogsFiltered;
}
throw new InvalidArgumentError("criteria parameter should be one of function, regexp, or object");
}
filterCallsByProtocol = makeFilterCalls.call(this, "protocol");
filterCallsByHost = makeFilterCalls.call(this, "host");
filterCallsByPort = makeFilterCalls.call(this, "port");
filterCallsByOrigin = makeFilterCalls.call(this, "origin");
filterCallsByPath = makeFilterCalls.call(this, "path");
filterCallsByHash = makeFilterCalls.call(this, "hash");
filterCallsByFullUrl = makeFilterCalls.call(this, "fullUrl");
filterCallsByMethod = makeFilterCalls.call(this, "method");
clear() {
this.logs = [];
}
[kMockCallHistoryAddLog](requestInit) {
const log = new MockCallHistoryLog(requestInit);
this.logs.push(log);
return log;
}
*[Symbol.iterator]() {
for (const log of this.calls()) {
yield log;
}
}
};
module2.exports.MockCallHistory = MockCallHistory;
module2.exports.MockCallHistoryLog = MockCallHistoryLog;
}
});
// node_modules/undici/lib/mock/mock-pool.js
var require_mock_pool = __commonJS({
"node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) {
"use strict";
var { promisify: promisify10 } = __require("node:util");
var Pool = require_pool2();
var { buildMockDispatch } = require_mock_utils();
var {
kDispatches,
kMockAgent,
kClose,
kOriginalClose,
kOrigin,
kOriginalDispatch,
kConnected,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { MockInterceptor } = require_mock_interceptor();
var Symbols = require_symbols();
var { InvalidArgumentError } = require_errors4();
var MockPool = class extends Pool {
constructor(origin, opts) {
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument opts.agent must implement Agent");
}
super(origin, opts);
this[kMockAgent] = opts.agent;
this[kOrigin] = origin;
this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
this[kDispatches] = [];
this[kConnected] = 1;
this[kOriginalDispatch] = this.dispatch;
this[kOriginalClose] = this.close.bind(this);
this.dispatch = buildMockDispatch.call(this);
this.close = this[kClose];
}
get [Symbols.kConnected]() {
return this[kConnected];
}
/**
* Sets up the base interceptor for mocking replies from undici.
*/
intercept(opts) {
return new MockInterceptor(
opts && { ignoreTrailingSlash: this[kIgnoreTrailingSlash], ...opts },
this[kDispatches]
);
}
cleanMocks() {
this[kDispatches] = [];
}
async [kClose]() {
await promisify10(this[kOriginalClose])();
this[kConnected] = 0;
this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
}
};
module2.exports = MockPool;
}
});
// node_modules/undici/lib/mock/pending-interceptors-formatter.js
var require_pending_interceptors_formatter = __commonJS({
"node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) {
"use strict";
var { Transform: Transform2 } = __require("node:stream");
var { Console } = __require("node:console");
var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
module2.exports = class PendingInterceptorsFormatter {
constructor({ disableColors } = {}) {
this.transform = new Transform2({
transform(chunk, _enc, cb) {
cb(null, chunk);
}
});
this.logger = new Console({
stdout: this.transform,
inspectOptions: {
colors: !disableColors && !process.env.CI
}
});
}
format(pendingInterceptors) {
const withPrettyHeaders = pendingInterceptors.map(
({ method, path: path101, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
Method: method,
Origin: origin,
Path: path101,
"Status code": statusCode,
Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
Invocations: timesInvoked,
Remaining: persist ? Infinity : times - timesInvoked
})
);
this.logger.table(withPrettyHeaders);
return this.transform.read().toString();
}
};
}
});
// node_modules/undici/lib/mock/mock-agent.js
var require_mock_agent = __commonJS({
"node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) {
"use strict";
var { kClients } = require_symbols();
var Agent2 = require_agent3();
var {
kAgent,
kMockAgentSet,
kMockAgentGet,
kDispatches,
kIsMockActive,
kNetConnect,
kGetNetConnect,
kOptions,
kFactory,
kMockAgentRegisterCallHistory,
kMockAgentIsCallHistoryEnabled,
kMockAgentAddCallHistoryLog,
kMockAgentMockCallHistoryInstance,
kMockAgentAcceptsNonStandardSearchParameters,
kMockCallHistoryAddLog,
kIgnoreTrailingSlash
} = require_mock_symbols();
var MockClient = require_mock_client();
var MockPool = require_mock_pool();
var { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils();
var { InvalidArgumentError, UndiciError } = require_errors4();
var Dispatcher = require_dispatcher();
var PendingInterceptorsFormatter = require_pending_interceptors_formatter();
var { MockCallHistory } = require_mock_call_history();
var MockAgent = class extends Dispatcher {
constructor(opts = {}) {
super(opts);
const mockOptions = buildAndValidateMockOptions(opts);
this[kNetConnect] = true;
this[kIsMockActive] = true;
this[kMockAgentIsCallHistoryEnabled] = mockOptions.enableCallHistory ?? false;
this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions.acceptNonStandardSearchParameters ?? false;
this[kIgnoreTrailingSlash] = mockOptions.ignoreTrailingSlash ?? false;
if (opts?.agent && typeof opts.agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument opts.agent must implement Agent");
}
const agent = opts?.agent ? opts.agent : new Agent2(opts);
this[kAgent] = agent;
this[kClients] = agent[kClients];
this[kOptions] = mockOptions;
if (this[kMockAgentIsCallHistoryEnabled]) {
this[kMockAgentRegisterCallHistory]();
}
}
get(origin) {
const normalizedOrigin = normalizeOrigin(origin);
const originKey = this[kIgnoreTrailingSlash] ? normalizedOrigin.replace(/\/$/, "") : normalizedOrigin;
let dispatcher = this[kMockAgentGet](originKey);
if (!dispatcher) {
dispatcher = this[kFactory](originKey);
this[kMockAgentSet](originKey, dispatcher);
}
return dispatcher;
}
dispatch(opts, handler) {
opts.origin = normalizeOrigin(opts.origin);
this.get(opts.origin);
this[kMockAgentAddCallHistoryLog](opts);
const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters];
const dispatchOpts = { ...opts };
if (acceptNonStandardSearchParameters && dispatchOpts.path) {
const [path101, searchParams] = dispatchOpts.path.split("?");
const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters);
dispatchOpts.path = `${path101}?${normalizedSearchParams}`;
}
return this[kAgent].dispatch(dispatchOpts, handler);
}
async close() {
this.clearCallHistory();
await this[kAgent].close();
this[kClients].clear();
}
deactivate() {
this[kIsMockActive] = false;
}
activate() {
this[kIsMockActive] = true;
}
enableNetConnect(matcher) {
if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
if (Array.isArray(this[kNetConnect])) {
this[kNetConnect].push(matcher);
} else {
this[kNetConnect] = [matcher];
}
} else if (typeof matcher === "undefined") {
this[kNetConnect] = true;
} else {
throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
}
}
disableNetConnect() {
this[kNetConnect] = false;
}
enableCallHistory() {
this[kMockAgentIsCallHistoryEnabled] = true;
return this;
}
disableCallHistory() {
this[kMockAgentIsCallHistoryEnabled] = false;
return this;
}
getCallHistory() {
return this[kMockAgentMockCallHistoryInstance];
}
clearCallHistory() {
if (this[kMockAgentMockCallHistoryInstance] !== void 0) {
this[kMockAgentMockCallHistoryInstance].clear();
}
}
// This is required to bypass issues caused by using global symbols - see:
// https://github.com/nodejs/undici/issues/1447
get isMockActive() {
return this[kIsMockActive];
}
[kMockAgentRegisterCallHistory]() {
if (this[kMockAgentMockCallHistoryInstance] === void 0) {
this[kMockAgentMockCallHistoryInstance] = new MockCallHistory();
}
}
[kMockAgentAddCallHistoryLog](opts) {
if (this[kMockAgentIsCallHistoryEnabled]) {
this[kMockAgentRegisterCallHistory]();
this[kMockAgentMockCallHistoryInstance][kMockCallHistoryAddLog](opts);
}
}
[kMockAgentSet](origin, dispatcher) {
this[kClients].set(origin, { count: 0, dispatcher });
}
[kFactory](origin) {
const mockOptions = Object.assign({ agent: this }, this[kOptions]);
return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
}
[kMockAgentGet](origin) {
const result2 = this[kClients].get(origin);
if (result2?.dispatcher) {
return result2.dispatcher;
}
if (typeof origin !== "string") {
const dispatcher = this[kFactory]("http://localhost:9999");
this[kMockAgentSet](origin, dispatcher);
return dispatcher;
}
for (const [keyMatcher, result3] of Array.from(this[kClients])) {
if (result3 && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
const dispatcher = this[kFactory](origin);
this[kMockAgentSet](origin, dispatcher);
dispatcher[kDispatches] = result3.dispatcher[kDispatches];
return dispatcher;
}
}
}
[kGetNetConnect]() {
return this[kNetConnect];
}
pendingInterceptors() {
const mockAgentClients = this[kClients];
return Array.from(mockAgentClients.entries()).flatMap(([origin, result2]) => result2.dispatcher[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending);
}
assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
const pending = this.pendingInterceptors();
if (pending.length === 0) {
return;
}
throw new UndiciError(
pending.length === 1 ? `1 interceptor is pending:
${pendingInterceptorsFormatter.format(pending)}`.trim() : `${pending.length} interceptors are pending:
${pendingInterceptorsFormatter.format(pending)}`.trim()
);
}
};
module2.exports = MockAgent;
}
});
// node_modules/undici/lib/mock/snapshot-utils.js
var require_snapshot_utils = __commonJS({
"node_modules/undici/lib/mock/snapshot-utils.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError } = require_errors4();
var { runtimeFeatures } = require_runtime_features();
function createHeaderFilters(matchOptions = {}) {
const { ignoreHeaders = [], excludeHeaders = [], matchHeaders = [], caseSensitive = false } = matchOptions;
return {
ignore: new Set(ignoreHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
exclude: new Set(excludeHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
match: new Set(matchHeaders.map((header) => caseSensitive ? header : header.toLowerCase()))
};
}
var crypto22 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
var hashId = crypto22?.hash ? (value) => crypto22.hash("sha256", value, "base64url") : (value) => Buffer.from(value).toString("base64url");
function isUndiciHeaders(headers) {
return Array.isArray(headers) && (headers.length & 1) === 0;
}
function isUrlExcludedFactory(excludePatterns = []) {
if (excludePatterns.length === 0) {
return () => false;
}
return function isUrlExcluded(url3) {
let urlLowerCased;
for (const pattern of excludePatterns) {
if (typeof pattern === "string") {
if (!urlLowerCased) {
urlLowerCased = url3.toLowerCase();
}
if (urlLowerCased.includes(pattern.toLowerCase())) {
return true;
}
} else if (pattern instanceof RegExp) {
if (pattern.test(url3)) {
return true;
}
}
}
return false;
};
}
function normalizeHeaders2(headers) {
const normalizedHeaders = {};
if (!headers) return normalizedHeaders;
if (isUndiciHeaders(headers)) {
for (let i3 = 0; i3 < headers.length; i3 += 2) {
const key = headers[i3];
const value = headers[i3 + 1];
if (key && value !== void 0) {
const keyStr = Buffer.isBuffer(key) ? key.toString() : key;
const valueStr = Buffer.isBuffer(value) ? value.toString() : value;
normalizedHeaders[keyStr.toLowerCase()] = valueStr;
}
}
return normalizedHeaders;
}
if (headers && typeof headers === "object") {
for (const [key, value] of Object.entries(headers)) {
if (key && typeof key === "string") {
normalizedHeaders[key.toLowerCase()] = Array.isArray(value) ? value.join(", ") : String(value);
}
}
}
return normalizedHeaders;
}
var validSnapshotModes = (
/** @type {const} */
["record", "playback", "update"]
);
function validateSnapshotMode(mode) {
if (!validSnapshotModes.includes(mode)) {
throw new InvalidArgumentError(`Invalid snapshot mode: ${mode}. Must be one of: ${validSnapshotModes.join(", ")}`);
}
}
module2.exports = {
createHeaderFilters,
hashId,
isUndiciHeaders,
normalizeHeaders: normalizeHeaders2,
isUrlExcludedFactory,
validateSnapshotMode
};
}
});
// node_modules/undici/lib/mock/snapshot-recorder.js
var require_snapshot_recorder = __commonJS({
"node_modules/undici/lib/mock/snapshot-recorder.js"(exports2, module2) {
"use strict";
var { writeFile: writeFile9, readFile: readFile12, mkdir: mkdir12 } = __require("node:fs/promises");
var { dirname: dirname26, resolve: resolve25 } = __require("node:path");
var { setTimeout: setTimeout4, clearTimeout: clearTimeout2 } = __require("node:timers");
var { InvalidArgumentError, UndiciError } = require_errors4();
var { hashId, isUrlExcludedFactory, normalizeHeaders: normalizeHeaders2, createHeaderFilters } = require_snapshot_utils();
function formatRequestKey(opts, headerFilters, matchOptions = {}) {
const url3 = new URL(opts.path, opts.origin);
const normalized2 = opts._normalizedHeaders || normalizeHeaders2(opts.headers);
if (!opts._normalizedHeaders) {
opts._normalizedHeaders = normalized2;
}
return {
method: opts.method || "GET",
url: matchOptions.matchQuery !== false ? url3.toString() : `${url3.origin}${url3.pathname}`,
headers: filterHeadersForMatching(normalized2, headerFilters, matchOptions),
body: matchOptions.matchBody !== false && opts.body ? String(opts.body) : ""
};
}
function filterHeadersForMatching(headers, headerFilters, matchOptions = {}) {
if (!headers || typeof headers !== "object") return {};
const {
caseSensitive = false
} = matchOptions;
const filtered = {};
const { ignore: ignore4, exclude, match: match2 } = headerFilters;
for (const [key, value] of Object.entries(headers)) {
const headerKey = caseSensitive ? key : key.toLowerCase();
if (exclude.has(headerKey)) continue;
if (ignore4.has(headerKey)) continue;
if (match2.size !== 0) {
if (!match2.has(headerKey)) continue;
}
filtered[headerKey] = value;
}
return filtered;
}
function filterHeadersForStorage(headers, headerFilters, matchOptions = {}) {
if (!headers || typeof headers !== "object") return {};
const {
caseSensitive = false
} = matchOptions;
const filtered = {};
const { exclude: excludeSet } = headerFilters;
for (const [key, value] of Object.entries(headers)) {
const headerKey = caseSensitive ? key : key.toLowerCase();
if (excludeSet.has(headerKey)) continue;
filtered[headerKey] = value;
}
return filtered;
}
function createRequestHash(formattedRequest) {
const parts2 = [
formattedRequest.method,
formattedRequest.url
];
if (formattedRequest.headers && typeof formattedRequest.headers === "object") {
const headerKeys = Object.keys(formattedRequest.headers).sort();
for (const key of headerKeys) {
const values = Array.isArray(formattedRequest.headers[key]) ? formattedRequest.headers[key] : [formattedRequest.headers[key]];
parts2.push(key);
for (const value of values.sort()) {
parts2.push(String(value));
}
}
}
parts2.push(formattedRequest.body);
const content = parts2.join("|");
return hashId(content);
}
var SnapshotRecorder = class {
/** @type {NodeJS.Timeout | null} */
#flushTimeout;
/** @type {import('./snapshot-utils').IsUrlExcluded} */
#isUrlExcluded;
/** @type {Map<string, SnapshotEntry>} */
#snapshots = /* @__PURE__ */ new Map();
/** @type {string|undefined} */
#snapshotPath;
/** @type {number} */
#maxSnapshots = Infinity;
/** @type {boolean} */
#autoFlush = false;
/** @type {import('./snapshot-utils').HeaderFilters} */
#headerFilters;
/**
* Creates a new SnapshotRecorder instance
* @param {SnapshotRecorderOptions&SnapshotRecorderMatchOptions} [options={}] - Configuration options for the recorder
*/
constructor(options = {}) {
this.#snapshotPath = options.snapshotPath;
this.#maxSnapshots = options.maxSnapshots || Infinity;
this.#autoFlush = options.autoFlush || false;
this.flushInterval = options.flushInterval || 3e4;
this._flushTimer = null;
this.matchOptions = {
matchHeaders: options.matchHeaders || [],
// empty means match all headers
ignoreHeaders: options.ignoreHeaders || [],
excludeHeaders: options.excludeHeaders || [],
matchBody: options.matchBody !== false,
// default: true
matchQuery: options.matchQuery !== false,
// default: true
caseSensitive: options.caseSensitive || false
};
this.#headerFilters = createHeaderFilters(this.matchOptions);
this.shouldRecord = options.shouldRecord || (() => true);
this.shouldPlayback = options.shouldPlayback || (() => true);
this.#isUrlExcluded = isUrlExcludedFactory(options.excludeUrls);
if (this.#autoFlush && this.#snapshotPath) {
this.#startAutoFlush();
}
}
/**
* Records a request-response interaction
* @param {SnapshotRequestOptions} requestOpts - Request options
* @param {SnapshotEntryResponse} response - Response data to record
* @return {Promise<void>} - Resolves when the recording is complete
*/
async record(requestOpts, response) {
if (!this.shouldRecord(requestOpts)) {
return;
}
if (this.isUrlExcluded(requestOpts)) {
return;
}
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash = createRequestHash(request);
const normalizedHeaders = normalizeHeaders2(response.headers);
const responseData = {
statusCode: response.statusCode,
headers: filterHeadersForStorage(normalizedHeaders, this.#headerFilters, this.matchOptions),
body: Buffer.isBuffer(response.body) ? response.body.toString("base64") : Buffer.from(String(response.body || "")).toString("base64"),
trailers: response.trailers
};
if (this.#snapshots.size >= this.#maxSnapshots && !this.#snapshots.has(hash)) {
const oldestKey = this.#snapshots.keys().next().value;
this.#snapshots.delete(oldestKey);
}
const existingSnapshot = this.#snapshots.get(hash);
if (existingSnapshot && existingSnapshot.responses) {
existingSnapshot.responses.push(responseData);
existingSnapshot.timestamp = (/* @__PURE__ */ new Date()).toISOString();
} else {
this.#snapshots.set(hash, {
request,
responses: [responseData],
// Always store as array for consistency
callCount: 0,
timestamp: (/* @__PURE__ */ new Date()).toISOString()
});
}
if (this.#autoFlush && this.#snapshotPath) {
this.#scheduleFlush();
}
}
/**
* Checks if a URL should be excluded from recording/playback
* @param {SnapshotRequestOptions} requestOpts - Request options to check
* @returns {boolean} - True if URL is excluded
*/
isUrlExcluded(requestOpts) {
const url3 = new URL(requestOpts.path, requestOpts.origin).toString();
return this.#isUrlExcluded(url3);
}
/**
* Finds a matching snapshot for the given request
* Returns the appropriate response based on call count for sequential responses
*
* @param {SnapshotRequestOptions} requestOpts - Request options to match
* @returns {SnapshotEntry&Record<'response', SnapshotEntryResponse>|undefined} - Matching snapshot response or undefined if not found
*/
findSnapshot(requestOpts) {
if (!this.shouldPlayback(requestOpts)) {
return void 0;
}
if (this.isUrlExcluded(requestOpts)) {
return void 0;
}
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash = createRequestHash(request);
const snapshot = this.#snapshots.get(hash);
if (!snapshot) return void 0;
const currentCallCount = snapshot.callCount || 0;
const responseIndex = Math.min(currentCallCount, snapshot.responses.length - 1);
snapshot.callCount = currentCallCount + 1;
return {
...snapshot,
response: snapshot.responses[responseIndex]
};
}
/**
* Loads snapshots from file
* @param {string} [filePath] - Optional file path to load snapshots from
* @return {Promise<void>} - Resolves when snapshots are loaded
*/
async loadSnapshots(filePath) {
const path101 = filePath || this.#snapshotPath;
if (!path101) {
throw new InvalidArgumentError("Snapshot path is required");
}
try {
const data = await readFile12(resolve25(path101), "utf8");
const parsed = JSON.parse(data);
if (Array.isArray(parsed)) {
this.#snapshots.clear();
for (const { hash, snapshot } of parsed) {
this.#snapshots.set(hash, snapshot);
}
} else {
this.#snapshots = new Map(Object.entries(parsed));
}
} catch (error40) {
if (error40.code === "ENOENT") {
this.#snapshots.clear();
} else {
throw new UndiciError(`Failed to load snapshots from ${path101}`, { cause: error40 });
}
}
}
/**
* Saves snapshots to file
*
* @param {string} [filePath] - Optional file path to save snapshots
* @returns {Promise<void>} - Resolves when snapshots are saved
*/
async saveSnapshots(filePath) {
const path101 = filePath || this.#snapshotPath;
if (!path101) {
throw new InvalidArgumentError("Snapshot path is required");
}
const resolvedPath = resolve25(path101);
await mkdir12(dirname26(resolvedPath), { recursive: true });
const data = Array.from(this.#snapshots.entries()).map(([hash, snapshot]) => ({
hash,
snapshot
}));
await writeFile9(resolvedPath, JSON.stringify(data, null, 2), { flush: true });
}
/**
* Clears all recorded snapshots
* @returns {void}
*/
clear() {
this.#snapshots.clear();
}
/**
* Gets all recorded snapshots
* @return {Array<SnapshotEntry>} - Array of all recorded snapshots
*/
getSnapshots() {
return Array.from(this.#snapshots.values());
}
/**
* Gets snapshot count
* @return {number} - Number of recorded snapshots
*/
size() {
return this.#snapshots.size;
}
/**
* Resets call counts for all snapshots (useful for test cleanup)
* @returns {void}
*/
resetCallCounts() {
for (const snapshot of this.#snapshots.values()) {
snapshot.callCount = 0;
}
}
/**
* Deletes a specific snapshot by request options
* @param {SnapshotRequestOptions} requestOpts - Request options to match
* @returns {boolean} - True if snapshot was deleted, false if not found
*/
deleteSnapshot(requestOpts) {
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash = createRequestHash(request);
return this.#snapshots.delete(hash);
}
/**
* Gets information about a specific snapshot
* @param {SnapshotRequestOptions} requestOpts - Request options to match
* @returns {SnapshotInfo|null} - Snapshot information or null if not found
*/
getSnapshotInfo(requestOpts) {
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash = createRequestHash(request);
const snapshot = this.#snapshots.get(hash);
if (!snapshot) return null;
return {
hash,
request: snapshot.request,
responseCount: snapshot.responses ? snapshot.responses.length : snapshot.response ? 1 : 0,
// .response for legacy snapshots
callCount: snapshot.callCount || 0,
timestamp: snapshot.timestamp
};
}
/**
* Replaces all snapshots with new data (full replacement)
* @param {Array<{hash: string; snapshot: SnapshotEntry}>|Record<string, SnapshotEntry>} snapshotData - New snapshot data to replace existing ones
* @returns {void}
*/
replaceSnapshots(snapshotData) {
this.#snapshots.clear();
if (Array.isArray(snapshotData)) {
for (const { hash, snapshot } of snapshotData) {
this.#snapshots.set(hash, snapshot);
}
} else if (snapshotData && typeof snapshotData === "object") {
this.#snapshots = new Map(Object.entries(snapshotData));
}
}
/**
* Starts the auto-flush timer
* @returns {void}
*/
#startAutoFlush() {
return this.#scheduleFlush();
}
/**
* Stops the auto-flush timer
* @returns {void}
*/
#stopAutoFlush() {
if (this.#flushTimeout) {
clearTimeout2(this.#flushTimeout);
this.saveSnapshots().catch(() => {
});
this.#flushTimeout = null;
}
}
/**
* Schedules a flush (debounced to avoid excessive writes)
*/
#scheduleFlush() {
this.#flushTimeout = setTimeout4(() => {
this.saveSnapshots().catch(() => {
});
if (this.#autoFlush) {
this.#flushTimeout?.refresh();
} else {
this.#flushTimeout = null;
}
}, 1e3);
}
/**
* Cleanup method to stop timers
* @returns {void}
*/
destroy() {
this.#stopAutoFlush();
if (this.#flushTimeout) {
clearTimeout2(this.#flushTimeout);
this.#flushTimeout = null;
}
}
/**
* Async close method that saves all recordings and performs cleanup
* @returns {Promise<void>}
*/
async close() {
if (this.#snapshotPath && this.#snapshots.size !== 0) {
await this.saveSnapshots();
}
this.destroy();
}
};
module2.exports = { SnapshotRecorder, formatRequestKey, createRequestHash, filterHeadersForMatching, filterHeadersForStorage, createHeaderFilters };
}
});
// node_modules/undici/lib/mock/snapshot-agent.js
var require_snapshot_agent = __commonJS({
"node_modules/undici/lib/mock/snapshot-agent.js"(exports2, module2) {
"use strict";
var Agent2 = require_agent3();
var MockAgent = require_mock_agent();
var { SnapshotRecorder } = require_snapshot_recorder();
var WrapHandler = require_wrap_handler();
var { InvalidArgumentError, UndiciError } = require_errors4();
var { validateSnapshotMode } = require_snapshot_utils();
var kSnapshotRecorder = Symbol("kSnapshotRecorder");
var kSnapshotMode = Symbol("kSnapshotMode");
var kSnapshotPath = Symbol("kSnapshotPath");
var kSnapshotLoaded = Symbol("kSnapshotLoaded");
var kRealAgent = Symbol("kRealAgent");
var warningEmitted = false;
var SnapshotAgent = class extends MockAgent {
constructor(opts = {}) {
if (!warningEmitted) {
process.emitWarning(
"SnapshotAgent is experimental and subject to change",
"ExperimentalWarning"
);
warningEmitted = true;
}
const {
mode = "record",
snapshotPath = null,
...mockAgentOpts
} = opts;
super(mockAgentOpts);
validateSnapshotMode(mode);
if ((mode === "playback" || mode === "update") && !snapshotPath) {
throw new InvalidArgumentError(`snapshotPath is required when mode is '${mode}'`);
}
this[kSnapshotMode] = mode;
this[kSnapshotPath] = snapshotPath;
this[kSnapshotRecorder] = new SnapshotRecorder({
snapshotPath: this[kSnapshotPath],
mode: this[kSnapshotMode],
maxSnapshots: opts.maxSnapshots,
autoFlush: opts.autoFlush,
flushInterval: opts.flushInterval,
matchHeaders: opts.matchHeaders,
ignoreHeaders: opts.ignoreHeaders,
excludeHeaders: opts.excludeHeaders,
matchBody: opts.matchBody,
matchQuery: opts.matchQuery,
caseSensitive: opts.caseSensitive,
shouldRecord: opts.shouldRecord,
shouldPlayback: opts.shouldPlayback,
excludeUrls: opts.excludeUrls
});
this[kSnapshotLoaded] = false;
if (this[kSnapshotMode] === "record" || this[kSnapshotMode] === "update" || this[kSnapshotMode] === "playback" && opts.excludeUrls && opts.excludeUrls.length > 0) {
this[kRealAgent] = new Agent2(opts);
}
if ((this[kSnapshotMode] === "playback" || this[kSnapshotMode] === "update") && this[kSnapshotPath]) {
this.loadSnapshots().catch(() => {
});
}
}
dispatch(opts, handler) {
handler = WrapHandler.wrap(handler);
const mode = this[kSnapshotMode];
if (this[kSnapshotRecorder].isUrlExcluded(opts)) {
return this[kRealAgent].dispatch(opts, handler);
}
if (mode === "playback" || mode === "update") {
if (!this[kSnapshotLoaded]) {
return this.#asyncDispatch(opts, handler);
}
const snapshot = this[kSnapshotRecorder].findSnapshot(opts);
if (snapshot) {
return this.#replaySnapshot(snapshot, handler);
} else if (mode === "update") {
return this.#recordAndReplay(opts, handler);
} else {
const error40 = new UndiciError(`No snapshot found for ${opts.method || "GET"} ${opts.path}`);
if (handler.onError) {
handler.onError(error40);
return;
}
throw error40;
}
} else if (mode === "record") {
return this.#recordAndReplay(opts, handler);
}
}
/**
* Async version of dispatch for when we need to load snapshots first
*/
async #asyncDispatch(opts, handler) {
await this.loadSnapshots();
return this.dispatch(opts, handler);
}
/**
* Records a real request and replays the response
*/
#recordAndReplay(opts, handler) {
const responseData = {
statusCode: null,
headers: {},
trailers: {},
body: []
};
const self2 = this;
const recordingHandler = {
onRequestStart(controller, context2) {
return handler.onRequestStart(controller, { ...context2, history: this.history });
},
onRequestUpgrade(controller, statusCode, headers, socket) {
return handler.onRequestUpgrade(controller, statusCode, headers, socket);
},
onResponseStart(controller, statusCode, headers, statusMessage) {
responseData.statusCode = statusCode;
responseData.headers = headers;
return handler.onResponseStart(controller, statusCode, headers, statusMessage);
},
onResponseData(controller, chunk) {
responseData.body.push(chunk);
return handler.onResponseData(controller, chunk);
},
onResponseEnd(controller, trailers) {
responseData.trailers = trailers;
const responseBody = Buffer.concat(responseData.body);
self2[kSnapshotRecorder].record(opts, {
statusCode: responseData.statusCode,
headers: responseData.headers,
body: responseBody,
trailers: responseData.trailers
}).then(() => handler.onResponseEnd(controller, trailers)).catch((error40) => handler.onResponseError(controller, error40));
}
};
const agent = this[kRealAgent];
return agent.dispatch(opts, recordingHandler);
}
/**
* Replays a recorded response
*
* @param {Object} snapshot - The recorded snapshot to replay.
* @param {Object} handler - The handler to call with the response data.
* @returns {void}
*/
#replaySnapshot(snapshot, handler) {
try {
const { response } = snapshot;
const controller = {
pause() {
},
resume() {
},
abort(reason) {
this.aborted = true;
this.reason = reason;
},
aborted: false,
paused: false
};
handler.onRequestStart(controller);
handler.onResponseStart(controller, response.statusCode, response.headers);
const body2 = Buffer.from(response.body, "base64");
handler.onResponseData(controller, body2);
handler.onResponseEnd(controller, response.trailers);
} catch (error40) {
handler.onError?.(error40);
}
}
/**
* Loads snapshots from file
*
* @param {string} [filePath] - Optional file path to load snapshots from.
* @returns {Promise<void>} - Resolves when snapshots are loaded.
*/
async loadSnapshots(filePath) {
await this[kSnapshotRecorder].loadSnapshots(filePath || this[kSnapshotPath]);
this[kSnapshotLoaded] = true;
if (this[kSnapshotMode] === "playback") {
this.#setupMockInterceptors();
}
}
/**
* Saves snapshots to file
*
* @param {string} [filePath] - Optional file path to save snapshots to.
* @returns {Promise<void>} - Resolves when snapshots are saved.
*/
async saveSnapshots(filePath) {
return this[kSnapshotRecorder].saveSnapshots(filePath || this[kSnapshotPath]);
}
/**
* Sets up MockAgent interceptors based on recorded snapshots.
*
* This method creates MockAgent interceptors for each recorded snapshot,
* allowing the SnapshotAgent to fall back to MockAgent's standard intercept
* mechanism in playback mode. Each interceptor is configured to persist
* (remain active for multiple requests) and responds with the recorded
* response data.
*
* Called automatically when loading snapshots in playback mode.
*
* @returns {void}
*/
#setupMockInterceptors() {
for (const snapshot of this[kSnapshotRecorder].getSnapshots()) {
const { request, responses, response } = snapshot;
const url3 = new URL(request.url);
const mockPool = this.get(url3.origin);
const responseData = responses ? responses[0] : response;
if (!responseData) continue;
mockPool.intercept({
path: url3.pathname + url3.search,
method: request.method,
headers: request.headers,
body: request.body
}).reply(responseData.statusCode, responseData.body, {
headers: responseData.headers,
trailers: responseData.trailers
}).persist();
}
}
/**
* Gets the snapshot recorder
* @return {SnapshotRecorder} - The snapshot recorder instance
*/
getRecorder() {
return this[kSnapshotRecorder];
}
/**
* Gets the current mode
* @return {import('./snapshot-utils').SnapshotMode} - The current snapshot mode
*/
getMode() {
return this[kSnapshotMode];
}
/**
* Clears all snapshots
* @returns {void}
*/
clearSnapshots() {
this[kSnapshotRecorder].clear();
}
/**
* Resets call counts for all snapshots (useful for test cleanup)
* @returns {void}
*/
resetCallCounts() {
this[kSnapshotRecorder].resetCallCounts();
}
/**
* Deletes a specific snapshot by request options
* @param {import('./snapshot-recorder').SnapshotRequestOptions} requestOpts - Request options to identify the snapshot
* @return {Promise<boolean>} - Returns true if the snapshot was deleted, false if not found
*/
deleteSnapshot(requestOpts) {
return this[kSnapshotRecorder].deleteSnapshot(requestOpts);
}
/**
* Gets information about a specific snapshot
* @returns {import('./snapshot-recorder').SnapshotInfo|null} - Snapshot information or null if not found
*/
getSnapshotInfo(requestOpts) {
return this[kSnapshotRecorder].getSnapshotInfo(requestOpts);
}
/**
* Replaces all snapshots with new data (full replacement)
* @param {Array<{hash: string; snapshot: import('./snapshot-recorder').SnapshotEntryshotEntry}>|Record<string, import('./snapshot-recorder').SnapshotEntry>} snapshotData - New snapshot data to replace existing snapshots
* @returns {void}
*/
replaceSnapshots(snapshotData) {
this[kSnapshotRecorder].replaceSnapshots(snapshotData);
}
/**
* Closes the agent, saving snapshots and cleaning up resources.
*
* @returns {Promise<void>}
*/
async close() {
await this[kSnapshotRecorder].close();
await this[kRealAgent]?.close();
await super.close();
}
};
module2.exports = SnapshotAgent;
}
});
// node_modules/undici/lib/global.js
var require_global2 = __commonJS({
"node_modules/undici/lib/global.js"(exports2, module2) {
"use strict";
var globalDispatcher = Symbol.for("undici.globalDispatcher.1");
var { InvalidArgumentError } = require_errors4();
var Agent2 = require_agent3();
if (getGlobalDispatcher() === void 0) {
setGlobalDispatcher2(new Agent2());
}
function setGlobalDispatcher2(agent) {
if (!agent || typeof agent.dispatch !== "function") {
throw new InvalidArgumentError("Argument agent must implement Agent");
}
Object.defineProperty(globalThis, globalDispatcher, {
value: agent,
writable: true,
enumerable: false,
configurable: false
});
}
function getGlobalDispatcher() {
return globalThis[globalDispatcher];
}
var installedExports = (
/** @type {const} */
[
"fetch",
"Headers",
"Response",
"Request",
"FormData",
"WebSocket",
"CloseEvent",
"ErrorEvent",
"MessageEvent",
"EventSource"
]
);
module2.exports = {
setGlobalDispatcher: setGlobalDispatcher2,
getGlobalDispatcher,
installedExports
};
}
});
// node_modules/undici/lib/handler/decorator-handler.js
var require_decorator_handler = __commonJS({
"node_modules/undici/lib/handler/decorator-handler.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var WrapHandler = require_wrap_handler();
module2.exports = class DecoratorHandler {
#handler;
#onCompleteCalled = false;
#onErrorCalled = false;
#onResponseStartCalled = false;
constructor(handler) {
if (typeof handler !== "object" || handler === null) {
throw new TypeError("handler must be an object");
}
this.#handler = WrapHandler.wrap(handler);
}
onRequestStart(...args2) {
this.#handler.onRequestStart?.(...args2);
}
onRequestUpgrade(...args2) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
return this.#handler.onRequestUpgrade?.(...args2);
}
onResponseStart(...args2) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
assert3(!this.#onResponseStartCalled);
this.#onResponseStartCalled = true;
return this.#handler.onResponseStart?.(...args2);
}
onResponseData(...args2) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
return this.#handler.onResponseData?.(...args2);
}
onResponseEnd(...args2) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
this.#onCompleteCalled = true;
return this.#handler.onResponseEnd?.(...args2);
}
onResponseError(...args2) {
this.#onErrorCalled = true;
return this.#handler.onResponseError?.(...args2);
}
/**
* @deprecated
*/
onBodySent() {
}
};
}
});
// node_modules/undici/lib/handler/redirect-handler.js
var require_redirect_handler = __commonJS({
"node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
"use strict";
var util2 = require_util13();
var { kBodyUsed } = require_symbols();
var assert3 = __require("node:assert");
var { InvalidArgumentError } = require_errors4();
var EE = __require("node:events");
var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
var kBody = Symbol("body");
var noop4 = () => {
};
var BodyAsyncIterable = class {
constructor(body2) {
this[kBody] = body2;
this[kBodyUsed] = false;
}
async *[Symbol.asyncIterator]() {
assert3(!this[kBodyUsed], "disturbed");
this[kBodyUsed] = true;
yield* this[kBody];
}
};
var RedirectHandler = class _RedirectHandler {
static buildDispatch(dispatcher, maxRedirections) {
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
throw new InvalidArgumentError("maxRedirections must be a positive number");
}
const dispatch = dispatcher.dispatch.bind(dispatcher);
return (opts, originalHandler) => dispatch(opts, new _RedirectHandler(dispatch, maxRedirections, opts, originalHandler));
}
constructor(dispatch, maxRedirections, opts, handler) {
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
throw new InvalidArgumentError("maxRedirections must be a positive number");
}
this.dispatch = dispatch;
this.location = null;
const { maxRedirections: _, ...cleanOpts } = opts;
this.opts = cleanOpts;
this.maxRedirections = maxRedirections;
this.handler = handler;
this.history = [];
if (util2.isStream(this.opts.body)) {
if (util2.bodyLength(this.opts.body) === 0) {
this.opts.body.on("data", function() {
assert3(false);
});
}
if (typeof this.opts.body.readableDidRead !== "boolean") {
this.opts.body[kBodyUsed] = false;
EE.prototype.on.call(this.opts.body, "data", function() {
this[kBodyUsed] = true;
});
}
} else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
this.opts.body = new BodyAsyncIterable(this.opts.body);
} else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util2.isIterable(this.opts.body) && !util2.isFormDataLike(this.opts.body)) {
this.opts.body = new BodyAsyncIterable(this.opts.body);
}
}
onRequestStart(controller, context2) {
this.handler.onRequestStart?.(controller, { ...context2, history: this.history });
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
throw new Error("max redirects");
}
if ((statusCode === 301 || statusCode === 302) && this.opts.method === "POST") {
this.opts.method = "GET";
if (util2.isStream(this.opts.body)) {
util2.destroy(this.opts.body.on("error", noop4));
}
this.opts.body = null;
}
if (statusCode === 303 && this.opts.method !== "HEAD") {
this.opts.method = "GET";
if (util2.isStream(this.opts.body)) {
util2.destroy(this.opts.body.on("error", noop4));
}
this.opts.body = null;
}
this.location = this.history.length >= this.maxRedirections || util2.isDisturbed(this.opts.body) || redirectableStatusCodes.indexOf(statusCode) === -1 ? null : headers.location;
if (this.opts.origin) {
this.history.push(new URL(this.opts.path, this.opts.origin));
}
if (!this.location) {
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
return;
}
const { origin, pathname, search } = util2.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
const path101 = search ? `${pathname}${search}` : pathname;
const redirectUrlString = `${origin}${path101}`;
for (const historyUrl of this.history) {
if (historyUrl.toString() === redirectUrlString) {
throw new InvalidArgumentError(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);
}
}
this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
this.opts.path = path101;
this.opts.origin = origin;
this.opts.query = null;
}
onResponseData(controller, chunk) {
if (this.location) {
} else {
this.handler.onResponseData?.(controller, chunk);
}
}
onResponseEnd(controller, trailers) {
if (this.location) {
this.dispatch(this.opts, this);
} else {
this.handler.onResponseEnd(controller, trailers);
}
}
onResponseError(controller, error40) {
this.handler.onResponseError?.(controller, error40);
}
};
function shouldRemoveHeader(header, removeContent, unknownOrigin) {
if (header.length === 4) {
return util2.headerNameToString(header) === "host";
}
if (removeContent && util2.headerNameToString(header).startsWith("content-")) {
return true;
}
if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
const name3 = util2.headerNameToString(header);
return name3 === "authorization" || name3 === "cookie" || name3 === "proxy-authorization";
}
return false;
}
function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
const ret = [];
if (Array.isArray(headers)) {
for (let i3 = 0; i3 < headers.length; i3 += 2) {
if (!shouldRemoveHeader(headers[i3], removeContent, unknownOrigin)) {
ret.push(headers[i3], headers[i3 + 1]);
}
}
} else if (headers && typeof headers === "object") {
const entries = util2.hasSafeIterator(headers) ? headers : Object.entries(headers);
for (const [key, value] of entries) {
if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
ret.push(key, value);
}
}
} else {
assert3(headers == null, "headers must be an object or an array");
}
return ret;
}
module2.exports = RedirectHandler;
}
});
// node_modules/undici/lib/interceptor/redirect.js
var require_redirect = __commonJS({
"node_modules/undici/lib/interceptor/redirect.js"(exports2, module2) {
"use strict";
var RedirectHandler = require_redirect_handler();
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
return (dispatch) => {
return function Intercept(opts, handler) {
const { maxRedirections = defaultMaxRedirections, ...rest } = opts;
if (maxRedirections == null || maxRedirections === 0) {
return dispatch(opts, handler);
}
const dispatchOpts = { ...rest };
const redirectHandler = new RedirectHandler(dispatch, maxRedirections, dispatchOpts, handler);
return dispatch(dispatchOpts, redirectHandler);
};
};
}
module2.exports = createRedirectInterceptor;
}
});
// node_modules/undici/lib/interceptor/response-error.js
var require_response_error = __commonJS({
"node_modules/undici/lib/interceptor/response-error.js"(exports2, module2) {
"use strict";
var DecoratorHandler = require_decorator_handler();
var { ResponseError } = require_errors4();
var ResponseErrorHandler = class extends DecoratorHandler {
#statusCode;
#contentType;
#decoder;
#headers;
#body;
constructor(_opts, { handler }) {
super(handler);
}
#checkContentType(contentType) {
return (this.#contentType ?? "").indexOf(contentType) === 0;
}
onRequestStart(controller, context2) {
this.#statusCode = 0;
this.#contentType = null;
this.#decoder = null;
this.#headers = null;
this.#body = "";
return super.onRequestStart(controller, context2);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
this.#statusCode = statusCode;
this.#headers = headers;
this.#contentType = headers["content-type"];
if (this.#statusCode < 400) {
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
if (this.#checkContentType("application/json") || this.#checkContentType("text/plain")) {
this.#decoder = new TextDecoder("utf-8");
}
}
onResponseData(controller, chunk) {
if (this.#statusCode < 400) {
return super.onResponseData(controller, chunk);
}
this.#body += this.#decoder?.decode(chunk, { stream: true }) ?? "";
}
onResponseEnd(controller, trailers) {
if (this.#statusCode >= 400) {
this.#body += this.#decoder?.decode(void 0, { stream: false }) ?? "";
if (this.#checkContentType("application/json")) {
try {
this.#body = JSON.parse(this.#body);
} catch {
}
}
let err2;
const stackTraceLimit = Error.stackTraceLimit;
Error.stackTraceLimit = 0;
try {
err2 = new ResponseError("Response Error", this.#statusCode, {
body: this.#body,
headers: this.#headers
});
} finally {
Error.stackTraceLimit = stackTraceLimit;
}
super.onResponseError(controller, err2);
} else {
super.onResponseEnd(controller, trailers);
}
}
onResponseError(controller, err2) {
super.onResponseError(controller, err2);
}
};
module2.exports = () => {
return (dispatch) => {
return function Intercept(opts, handler) {
return dispatch(opts, new ResponseErrorHandler(opts, { handler }));
};
};
};
}
});
// node_modules/undici/lib/interceptor/retry.js
var require_retry2 = __commonJS({
"node_modules/undici/lib/interceptor/retry.js"(exports2, module2) {
"use strict";
var RetryHandler = require_retry_handler();
module2.exports = (globalOpts) => {
return (dispatch) => {
return function retryInterceptor(opts, handler) {
return dispatch(
opts,
new RetryHandler(
{ ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
{
handler,
dispatch
}
)
);
};
};
};
}
});
// node_modules/undici/lib/interceptor/dump.js
var require_dump = __commonJS({
"node_modules/undici/lib/interceptor/dump.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError, RequestAbortedError } = require_errors4();
var DecoratorHandler = require_decorator_handler();
var DumpHandler = class extends DecoratorHandler {
#maxSize = 1024 * 1024;
#dumped = false;
#size = 0;
#controller = null;
aborted = false;
reason = false;
constructor({ maxSize, signal }, handler) {
if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
throw new InvalidArgumentError("maxSize must be a number greater than 0");
}
super(handler);
this.#maxSize = maxSize ?? this.#maxSize;
}
#abort(reason) {
this.aborted = true;
this.reason = reason;
}
onRequestStart(controller, context2) {
controller.abort = this.#abort.bind(this);
this.#controller = controller;
return super.onRequestStart(controller, context2);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
const contentLength = headers["content-length"];
if (contentLength != null && contentLength > this.#maxSize) {
throw new RequestAbortedError(
`Response size (${contentLength}) larger than maxSize (${this.#maxSize})`
);
}
if (this.aborted === true) {
return true;
}
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
onResponseError(controller, err2) {
if (this.#dumped) {
return;
}
err2 = this.#controller?.reason ?? err2;
super.onResponseError(controller, err2);
}
onResponseData(controller, chunk) {
this.#size = this.#size + chunk.length;
if (this.#size >= this.#maxSize) {
this.#dumped = true;
if (this.aborted === true) {
super.onResponseError(controller, this.reason);
} else {
super.onResponseEnd(controller, {});
}
}
return true;
}
onResponseEnd(controller, trailers) {
if (this.#dumped) {
return;
}
if (this.#controller.aborted === true) {
super.onResponseError(controller, this.reason);
return;
}
super.onResponseEnd(controller, trailers);
}
};
function createDumpInterceptor({ maxSize: defaultMaxSize } = {
maxSize: 1024 * 1024
}) {
return (dispatch) => {
return function Intercept(opts, handler) {
const { dumpMaxSize = defaultMaxSize } = opts;
const dumpHandler = new DumpHandler({ maxSize: dumpMaxSize, signal: opts.signal }, handler);
return dispatch(opts, dumpHandler);
};
};
}
module2.exports = createDumpInterceptor;
}
});
// node_modules/undici/lib/interceptor/dns.js
var require_dns = __commonJS({
"node_modules/undici/lib/interceptor/dns.js"(exports2, module2) {
"use strict";
var { isIP } = __require("node:net");
var { lookup: lookup2 } = __require("node:dns");
var DecoratorHandler = require_decorator_handler();
var { InvalidArgumentError, InformationalError } = require_errors4();
var maxInt = Math.pow(2, 31) - 1;
function hasSafeIterator(headers) {
const prototype = Object.getPrototypeOf(headers);
const ownIterator = Object.prototype.hasOwnProperty.call(headers, Symbol.iterator);
return ownIterator || prototype != null && prototype !== Object.prototype && typeof headers[Symbol.iterator] === "function";
}
function isHostHeader(key) {
return typeof key === "string" && key.toLowerCase() === "host";
}
function normalizeHeaders2(headers) {
if (headers == null) {
return null;
}
if (Array.isArray(headers)) {
if (headers.length === 0 || !Array.isArray(headers[0])) {
return headers;
}
const normalized2 = [];
for (const header of headers) {
if (Array.isArray(header) && header.length === 2) {
normalized2.push(header[0], header[1]);
} else {
normalized2.push(header);
}
}
return normalized2;
}
if (typeof headers === "object" && hasSafeIterator(headers)) {
const normalized2 = [];
for (const header of headers) {
if (Array.isArray(header) && header.length === 2) {
normalized2.push(header[0], header[1]);
} else {
normalized2.push(header);
}
}
return normalized2;
}
return headers;
}
function hasHostHeader(headers) {
if (headers == null) {
return false;
}
if (Array.isArray(headers)) {
if (headers.length === 0) {
return false;
}
for (let i3 = 0; i3 < headers.length; i3 += 2) {
if (isHostHeader(headers[i3])) {
return true;
}
}
return false;
}
if (typeof headers === "object") {
for (const key in headers) {
if (isHostHeader(key)) {
return true;
}
}
}
return false;
}
function withHostHeader(host, headers) {
const normalizedHeaders = normalizeHeaders2(headers);
if (hasHostHeader(normalizedHeaders)) {
return normalizedHeaders;
}
if (Array.isArray(normalizedHeaders)) {
return ["host", host, ...normalizedHeaders];
}
if (normalizedHeaders && typeof normalizedHeaders === "object") {
return {
host,
...normalizedHeaders
};
}
return { host };
}
var DNSStorage = class {
#maxItems = 0;
#records = /* @__PURE__ */ new Map();
constructor(opts) {
this.#maxItems = opts.maxItems;
}
get size() {
return this.#records.size;
}
get(hostname3) {
return this.#records.get(hostname3) ?? null;
}
set(hostname3, records) {
this.#records.set(hostname3, records);
}
delete(hostname3) {
this.#records.delete(hostname3);
}
// Delegate to storage decide can we do more lookups or not
full() {
return this.size >= this.#maxItems;
}
};
var DNSInstance = class {
#maxTTL = 0;
#maxItems = 0;
dualStack = true;
affinity = null;
lookup = null;
pick = null;
storage = null;
constructor(opts) {
this.#maxTTL = opts.maxTTL;
this.#maxItems = opts.maxItems;
this.dualStack = opts.dualStack;
this.affinity = opts.affinity;
this.lookup = opts.lookup ?? this.#defaultLookup;
this.pick = opts.pick ?? this.#defaultPick;
this.storage = opts.storage ?? new DNSStorage(opts);
}
runLookup(origin, opts, cb) {
const ips = this.storage.get(origin.hostname);
if (ips == null && this.storage.full()) {
cb(null, origin);
return;
}
const newOpts = {
affinity: this.affinity,
dualStack: this.dualStack,
lookup: this.lookup,
pick: this.pick,
...opts.dns,
maxTTL: this.#maxTTL,
maxItems: this.#maxItems
};
if (ips == null) {
this.lookup(origin, newOpts, (err2, addresses) => {
if (err2 || addresses == null || addresses.length === 0) {
cb(err2 ?? new InformationalError("No DNS entries found"));
return;
}
this.setRecords(origin, addresses);
const records = this.storage.get(origin.hostname);
const ip = this.pick(
origin,
records,
newOpts.affinity
);
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (origin.port !== "") {
port = `:${origin.port}`;
} else {
port = "";
}
cb(
null,
new URL(`${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`)
);
});
} else {
const ip = this.pick(
origin,
ips,
newOpts.affinity
);
if (ip == null) {
this.storage.delete(origin.hostname);
this.runLookup(origin, opts, cb);
return;
}
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (origin.port !== "") {
port = `:${origin.port}`;
} else {
port = "";
}
cb(
null,
new URL(`${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`)
);
}
}
#defaultLookup(origin, opts, cb) {
lookup2(
origin.hostname,
{
all: true,
family: this.dualStack === false ? this.affinity : 0,
order: "ipv4first"
},
(err2, addresses) => {
if (err2) {
return cb(err2);
}
const results = /* @__PURE__ */ new Map();
for (const addr2 of addresses) {
results.set(`${addr2.address}:${addr2.family}`, addr2);
}
cb(null, results.values());
}
);
}
#defaultPick(origin, hostnameRecords, affinity) {
let ip = null;
const { records, offset } = hostnameRecords;
let family;
if (this.dualStack) {
if (affinity == null) {
if (offset == null || offset === maxInt) {
hostnameRecords.offset = 0;
affinity = 4;
} else {
hostnameRecords.offset++;
affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
}
}
if (records[affinity] != null && records[affinity].ips.length > 0) {
family = records[affinity];
} else {
family = records[affinity === 4 ? 6 : 4];
}
} else {
family = records[affinity];
}
if (family == null || family.ips.length === 0) {
return ip;
}
if (family.offset == null || family.offset === maxInt) {
family.offset = 0;
} else {
family.offset++;
}
const position = family.offset % family.ips.length;
ip = family.ips[position] ?? null;
if (ip == null) {
return ip;
}
if (Date.now() - ip.timestamp > ip.ttl) {
family.ips.splice(position, 1);
return this.pick(origin, hostnameRecords, affinity);
}
return ip;
}
pickFamily(origin, ipFamily) {
const records = this.storage.get(origin.hostname)?.records;
if (!records) {
return null;
}
const family = records[ipFamily];
if (!family) {
return null;
}
if (family.offset == null || family.offset === maxInt) {
family.offset = 0;
} else {
family.offset++;
}
const position = family.offset % family.ips.length;
const ip = family.ips[position] ?? null;
if (ip == null) {
return ip;
}
if (Date.now() - ip.timestamp > ip.ttl) {
family.ips.splice(position, 1);
}
return ip;
}
setRecords(origin, addresses) {
const timestamp2 = Date.now();
const records = { records: { 4: null, 6: null } };
let minTTL = this.#maxTTL;
for (const record2 of addresses) {
record2.timestamp = timestamp2;
if (typeof record2.ttl === "number") {
record2.ttl = Math.min(record2.ttl, this.#maxTTL);
minTTL = Math.min(minTTL, record2.ttl);
} else {
record2.ttl = this.#maxTTL;
}
const familyRecords = records.records[record2.family] ?? { ips: [] };
familyRecords.ips.push(record2);
records.records[record2.family] = familyRecords;
}
this.storage.set(origin.hostname, records, { ttl: minTTL });
}
deleteRecords(origin) {
this.storage.delete(origin.hostname);
}
getHandler(meta, opts) {
return new DNSDispatchHandler(this, meta, opts);
}
};
var DNSDispatchHandler = class extends DecoratorHandler {
#state = null;
#opts = null;
#dispatch = null;
#origin = null;
#controller = null;
#newOrigin = null;
#firstTry = true;
constructor(state, { origin, handler, dispatch, newOrigin }, opts) {
super(handler);
this.#origin = origin;
this.#newOrigin = newOrigin;
this.#opts = { ...opts };
this.#state = state;
this.#dispatch = dispatch;
}
onResponseError(controller, err2) {
switch (err2.code) {
case "ETIMEDOUT":
case "ECONNREFUSED": {
if (this.#state.dualStack) {
if (!this.#firstTry) {
super.onResponseError(controller, err2);
return;
}
this.#firstTry = false;
const otherFamily = this.#newOrigin.hostname[0] === "[" ? 4 : 6;
const ip = this.#state.pickFamily(this.#origin, otherFamily);
if (ip == null) {
super.onResponseError(controller, err2);
return;
}
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (this.#origin.port !== "") {
port = `:${this.#origin.port}`;
} else {
port = "";
}
const dispatchOpts = {
...this.#opts,
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`,
headers: withHostHeader(this.#origin.host, this.#opts.headers)
};
this.#dispatch(dispatchOpts, this);
return;
}
super.onResponseError(controller, err2);
break;
}
case "ENOTFOUND":
this.#state.deleteRecords(this.#origin);
super.onResponseError(controller, err2);
break;
default:
super.onResponseError(controller, err2);
break;
}
}
};
module2.exports = (interceptorOpts) => {
if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
}
if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
throw new InvalidArgumentError(
"Invalid maxItems. Must be a positive number and greater than zero"
);
}
if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
}
if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
}
if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
throw new InvalidArgumentError("Invalid lookup. Must be a function");
}
if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
throw new InvalidArgumentError("Invalid pick. Must be a function");
}
if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) {
throw new InvalidArgumentError("Invalid storage. Must be a object with methods: { get, set, full, delete }");
}
const dualStack = interceptorOpts?.dualStack ?? true;
let affinity;
if (dualStack) {
affinity = interceptorOpts?.affinity ?? null;
} else {
affinity = interceptorOpts?.affinity ?? 4;
}
const opts = {
maxTTL: interceptorOpts?.maxTTL ?? 1e4,
// Expressed in ms
lookup: interceptorOpts?.lookup ?? null,
pick: interceptorOpts?.pick ?? null,
dualStack,
affinity,
maxItems: interceptorOpts?.maxItems ?? Infinity,
storage: interceptorOpts?.storage
};
const instance2 = new DNSInstance(opts);
return (dispatch) => {
return function dnsInterceptor(origDispatchOpts, handler) {
const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
if (isIP(origin.hostname) !== 0) {
return dispatch(origDispatchOpts, handler);
}
instance2.runLookup(origin, origDispatchOpts, (err2, newOrigin) => {
if (err2) {
return handler.onResponseError(null, err2);
}
const dispatchOpts = {
...origDispatchOpts,
servername: origin.hostname,
// For SNI on TLS
origin: newOrigin.origin,
headers: withHostHeader(origin.host, origDispatchOpts.headers)
};
dispatch(
dispatchOpts,
instance2.getHandler(
{ origin, dispatch, handler, newOrigin },
origDispatchOpts
)
);
});
return true;
};
};
};
}
});
// node_modules/undici/lib/util/cache.js
var require_cache = __commonJS({
"node_modules/undici/lib/util/cache.js"(exports2, module2) {
"use strict";
var {
safeHTTPMethods,
pathHasQueryOrFragment,
hasSafeIterator
} = require_util13();
var { serializePathWithQuery } = require_util13();
function makeCacheKey(opts) {
if (!opts.origin) {
throw new Error("opts.origin is undefined");
}
let fullPath = opts.path || "/";
if (opts.query && !pathHasQueryOrFragment(opts.path)) {
fullPath = serializePathWithQuery(fullPath, opts.query);
}
return {
origin: opts.origin.toString(),
method: opts.method,
path: fullPath,
headers: opts.headers
};
}
function normalizeHeaders2(opts) {
let headers;
if (opts.headers == null) {
headers = {};
} else if (typeof opts.headers === "object") {
headers = {};
if (hasSafeIterator(opts.headers)) {
for (const x of opts.headers) {
if (!Array.isArray(x)) {
throw new Error("opts.headers is not a valid header map");
}
const [key, val] = x;
if (typeof key !== "string" || typeof val !== "string") {
throw new Error("opts.headers is not a valid header map");
}
headers[key.toLowerCase()] = val;
}
} else {
for (const key of Object.keys(opts.headers)) {
headers[key.toLowerCase()] = opts.headers[key];
}
}
} else {
throw new Error("opts.headers is not an object");
}
return headers;
}
function assertCacheKey(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
for (const property of ["origin", "method", "path"]) {
if (typeof key[property] !== "string") {
throw new TypeError(`expected key.${property} to be string, got ${typeof key[property]}`);
}
}
if (key.headers !== void 0 && typeof key.headers !== "object") {
throw new TypeError(`expected headers to be object, got ${typeof key}`);
}
}
function assertCacheValue(value) {
if (typeof value !== "object") {
throw new TypeError(`expected value to be object, got ${typeof value}`);
}
for (const property of ["statusCode", "cachedAt", "staleAt", "deleteAt"]) {
if (typeof value[property] !== "number") {
throw new TypeError(`expected value.${property} to be number, got ${typeof value[property]}`);
}
}
if (typeof value.statusMessage !== "string") {
throw new TypeError(`expected value.statusMessage to be string, got ${typeof value.statusMessage}`);
}
if (value.headers != null && typeof value.headers !== "object") {
throw new TypeError(`expected value.rawHeaders to be object, got ${typeof value.headers}`);
}
if (value.vary !== void 0 && typeof value.vary !== "object") {
throw new TypeError(`expected value.vary to be object, got ${typeof value.vary}`);
}
if (value.etag !== void 0 && typeof value.etag !== "string") {
throw new TypeError(`expected value.etag to be string, got ${typeof value.etag}`);
}
}
function parseCacheControlHeader(header) {
const output = {};
let directives;
if (Array.isArray(header)) {
directives = [];
for (const directive of header) {
directives.push(...directive.split(","));
}
} else {
directives = header.split(",");
}
for (let i3 = 0; i3 < directives.length; i3++) {
const directive = directives[i3].toLowerCase();
const keyValueDelimiter = directive.indexOf("=");
let key;
let value;
if (keyValueDelimiter !== -1) {
key = directive.substring(0, keyValueDelimiter).trimStart();
value = directive.substring(keyValueDelimiter + 1);
} else {
key = directive.trim();
}
switch (key) {
case "min-fresh":
case "max-stale":
case "max-age":
case "s-maxage":
case "stale-while-revalidate":
case "stale-if-error": {
if (value === void 0 || value[0] === " ") {
continue;
}
if (value.length >= 2 && value[0] === '"' && value[value.length - 1] === '"') {
value = value.substring(1, value.length - 1);
}
const parsedValue = parseInt(value, 10);
if (parsedValue !== parsedValue) {
continue;
}
if (key === "max-age" && key in output && output[key] >= parsedValue) {
continue;
}
output[key] = parsedValue;
break;
}
case "private":
case "no-cache": {
if (value) {
if (value[0] === '"') {
const headers = [value.substring(1)];
let foundEndingQuote = value[value.length - 1] === '"';
if (!foundEndingQuote) {
for (let j = i3 + 1; j < directives.length; j++) {
const nextPart = directives[j];
const nextPartLength = nextPart.length;
headers.push(nextPart.trim());
if (nextPartLength !== 0 && nextPart[nextPartLength - 1] === '"') {
foundEndingQuote = true;
break;
}
}
}
if (foundEndingQuote) {
let lastHeader = headers[headers.length - 1];
if (lastHeader[lastHeader.length - 1] === '"') {
lastHeader = lastHeader.substring(0, lastHeader.length - 1);
headers[headers.length - 1] = lastHeader;
}
if (key in output) {
output[key] = output[key].concat(headers);
} else {
output[key] = headers;
}
}
} else {
if (key in output) {
output[key] = output[key].concat(value);
} else {
output[key] = [value];
}
}
break;
}
}
// eslint-disable-next-line no-fallthrough
case "public":
case "no-store":
case "must-revalidate":
case "proxy-revalidate":
case "immutable":
case "no-transform":
case "must-understand":
case "only-if-cached":
if (value) {
continue;
}
output[key] = true;
break;
default:
continue;
}
}
return output;
}
function parseVaryHeader(varyHeader, headers) {
if (typeof varyHeader === "string" && varyHeader.includes("*")) {
return headers;
}
const output = (
/** @type {Record<string, string | string[] | null>} */
{}
);
const varyingHeaders = typeof varyHeader === "string" ? varyHeader.split(",") : varyHeader;
for (const header of varyingHeaders) {
const trimmedHeader = header.trim().toLowerCase();
output[trimmedHeader] = headers[trimmedHeader] ?? null;
}
return output;
}
function isEtagUsable(etag) {
if (etag.length <= 2) {
return false;
}
if (etag[0] === '"' && etag[etag.length - 1] === '"') {
return !(etag[1] === '"' || etag.startsWith('"W/'));
}
if (etag.startsWith('W/"') && etag[etag.length - 1] === '"') {
return etag.length !== 4;
}
return false;
}
function assertCacheStore(store, name3 = "CacheStore") {
if (typeof store !== "object" || store === null) {
throw new TypeError(`expected type of ${name3} to be a CacheStore, got ${store === null ? "null" : typeof store}`);
}
for (const fn of ["get", "createWriteStream", "delete"]) {
if (typeof store[fn] !== "function") {
throw new TypeError(`${name3} needs to have a \`${fn}()\` function`);
}
}
}
function assertCacheMethods(methods, name3 = "CacheMethods") {
if (!Array.isArray(methods)) {
throw new TypeError(`expected type of ${name3} needs to be an array, got ${methods === null ? "null" : typeof methods}`);
}
if (methods.length === 0) {
throw new TypeError(`${name3} needs to have at least one method`);
}
for (const method of methods) {
if (!safeHTTPMethods.includes(method)) {
throw new TypeError(`element of ${name3}-array needs to be one of following values: ${safeHTTPMethods.join(", ")}, got ${method}`);
}
}
}
function makeDeduplicationKey(cacheKey, excludeHeaders) {
let key = `${cacheKey.origin}:${cacheKey.method}:${cacheKey.path}`;
if (cacheKey.headers) {
const sortedHeaders = Object.keys(cacheKey.headers).sort();
for (const header of sortedHeaders) {
if (excludeHeaders?.has(header.toLowerCase())) {
continue;
}
const value = cacheKey.headers[header];
key += `:${header}=${Array.isArray(value) ? value.join(",") : value}`;
}
}
return key;
}
module2.exports = {
makeCacheKey,
normalizeHeaders: normalizeHeaders2,
assertCacheKey,
assertCacheValue,
parseCacheControlHeader,
parseVaryHeader,
isEtagUsable,
assertCacheMethods,
assertCacheStore,
makeDeduplicationKey
};
}
});
// node_modules/undici/lib/util/date.js
var require_date = __commonJS({
"node_modules/undici/lib/util/date.js"(exports2, module2) {
"use strict";
function parseHttpDate(date5) {
switch (date5[3]) {
case ",":
return parseImfDate(date5);
case " ":
return parseAscTimeDate(date5);
default:
return parseRfc850Date(date5);
}
}
function parseImfDate(date5) {
if (date5.length !== 29 || date5[4] !== " " || date5[7] !== " " || date5[11] !== " " || date5[16] !== " " || date5[19] !== ":" || date5[22] !== ":" || date5[25] !== " " || date5[26] !== "G" || date5[27] !== "M" || date5[28] !== "T") {
return void 0;
}
let weekday = -1;
if (date5[0] === "S" && date5[1] === "u" && date5[2] === "n") {
weekday = 0;
} else if (date5[0] === "M" && date5[1] === "o" && date5[2] === "n") {
weekday = 1;
} else if (date5[0] === "T" && date5[1] === "u" && date5[2] === "e") {
weekday = 2;
} else if (date5[0] === "W" && date5[1] === "e" && date5[2] === "d") {
weekday = 3;
} else if (date5[0] === "T" && date5[1] === "h" && date5[2] === "u") {
weekday = 4;
} else if (date5[0] === "F" && date5[1] === "r" && date5[2] === "i") {
weekday = 5;
} else if (date5[0] === "S" && date5[1] === "a" && date5[2] === "t") {
weekday = 6;
} else {
return void 0;
}
let day = 0;
if (date5[5] === "0") {
const code = date5.charCodeAt(6);
if (code < 49 || code > 57) {
return void 0;
}
day = code - 48;
} else {
const code1 = date5.charCodeAt(5);
if (code1 < 49 || code1 > 51) {
return void 0;
}
const code2 = date5.charCodeAt(6);
if (code2 < 48 || code2 > 57) {
return void 0;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let monthIdx = -1;
if (date5[8] === "J" && date5[9] === "a" && date5[10] === "n") {
monthIdx = 0;
} else if (date5[8] === "F" && date5[9] === "e" && date5[10] === "b") {
monthIdx = 1;
} else if (date5[8] === "M" && date5[9] === "a") {
if (date5[10] === "r") {
monthIdx = 2;
} else if (date5[10] === "y") {
monthIdx = 4;
} else {
return void 0;
}
} else if (date5[8] === "J") {
if (date5[9] === "a" && date5[10] === "n") {
monthIdx = 0;
} else if (date5[9] === "u") {
if (date5[10] === "n") {
monthIdx = 5;
} else if (date5[10] === "l") {
monthIdx = 6;
} else {
return void 0;
}
} else {
return void 0;
}
} else if (date5[8] === "A") {
if (date5[9] === "p" && date5[10] === "r") {
monthIdx = 3;
} else if (date5[9] === "u" && date5[10] === "g") {
monthIdx = 7;
} else {
return void 0;
}
} else if (date5[8] === "S" && date5[9] === "e" && date5[10] === "p") {
monthIdx = 8;
} else if (date5[8] === "O" && date5[9] === "c" && date5[10] === "t") {
monthIdx = 9;
} else if (date5[8] === "N" && date5[9] === "o" && date5[10] === "v") {
monthIdx = 10;
} else if (date5[8] === "D" && date5[9] === "e" && date5[10] === "c") {
monthIdx = 11;
} else {
return void 0;
}
const yearDigit1 = date5.charCodeAt(12);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return void 0;
}
const yearDigit2 = date5.charCodeAt(13);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return void 0;
}
const yearDigit3 = date5.charCodeAt(14);
if (yearDigit3 < 48 || yearDigit3 > 57) {
return void 0;
}
const yearDigit4 = date5.charCodeAt(15);
if (yearDigit4 < 48 || yearDigit4 > 57) {
return void 0;
}
const year = (yearDigit1 - 48) * 1e3 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
let hour = 0;
if (date5[17] === "0") {
const code = date5.charCodeAt(18);
if (code < 48 || code > 57) {
return void 0;
}
hour = code - 48;
} else {
const code1 = date5.charCodeAt(17);
if (code1 < 48 || code1 > 50) {
return void 0;
}
const code2 = date5.charCodeAt(18);
if (code2 < 48 || code2 > 57) {
return void 0;
}
if (code1 === 50 && code2 > 51) {
return void 0;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date5[20] === "0") {
const code = date5.charCodeAt(21);
if (code < 48 || code > 57) {
return void 0;
}
minute = code - 48;
} else {
const code1 = date5.charCodeAt(20);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date5.charCodeAt(21);
if (code2 < 48 || code2 > 57) {
return void 0;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date5[23] === "0") {
const code = date5.charCodeAt(24);
if (code < 48 || code > 57) {
return void 0;
}
second = code - 48;
} else {
const code1 = date5.charCodeAt(23);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date5.charCodeAt(24);
if (code2 < 48 || code2 > 57) {
return void 0;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const result2 = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result2.getUTCDay() === weekday ? result2 : void 0;
}
function parseAscTimeDate(date5) {
if (date5.length !== 24 || date5[7] !== " " || date5[10] !== " " || date5[19] !== " ") {
return void 0;
}
let weekday = -1;
if (date5[0] === "S" && date5[1] === "u" && date5[2] === "n") {
weekday = 0;
} else if (date5[0] === "M" && date5[1] === "o" && date5[2] === "n") {
weekday = 1;
} else if (date5[0] === "T" && date5[1] === "u" && date5[2] === "e") {
weekday = 2;
} else if (date5[0] === "W" && date5[1] === "e" && date5[2] === "d") {
weekday = 3;
} else if (date5[0] === "T" && date5[1] === "h" && date5[2] === "u") {
weekday = 4;
} else if (date5[0] === "F" && date5[1] === "r" && date5[2] === "i") {
weekday = 5;
} else if (date5[0] === "S" && date5[1] === "a" && date5[2] === "t") {
weekday = 6;
} else {
return void 0;
}
let monthIdx = -1;
if (date5[4] === "J" && date5[5] === "a" && date5[6] === "n") {
monthIdx = 0;
} else if (date5[4] === "F" && date5[5] === "e" && date5[6] === "b") {
monthIdx = 1;
} else if (date5[4] === "M" && date5[5] === "a") {
if (date5[6] === "r") {
monthIdx = 2;
} else if (date5[6] === "y") {
monthIdx = 4;
} else {
return void 0;
}
} else if (date5[4] === "J") {
if (date5[5] === "a" && date5[6] === "n") {
monthIdx = 0;
} else if (date5[5] === "u") {
if (date5[6] === "n") {
monthIdx = 5;
} else if (date5[6] === "l") {
monthIdx = 6;
} else {
return void 0;
}
} else {
return void 0;
}
} else if (date5[4] === "A") {
if (date5[5] === "p" && date5[6] === "r") {
monthIdx = 3;
} else if (date5[5] === "u" && date5[6] === "g") {
monthIdx = 7;
} else {
return void 0;
}
} else if (date5[4] === "S" && date5[5] === "e" && date5[6] === "p") {
monthIdx = 8;
} else if (date5[4] === "O" && date5[5] === "c" && date5[6] === "t") {
monthIdx = 9;
} else if (date5[4] === "N" && date5[5] === "o" && date5[6] === "v") {
monthIdx = 10;
} else if (date5[4] === "D" && date5[5] === "e" && date5[6] === "c") {
monthIdx = 11;
} else {
return void 0;
}
let day = 0;
if (date5[8] === " ") {
const code = date5.charCodeAt(9);
if (code < 49 || code > 57) {
return void 0;
}
day = code - 48;
} else {
const code1 = date5.charCodeAt(8);
if (code1 < 49 || code1 > 51) {
return void 0;
}
const code2 = date5.charCodeAt(9);
if (code2 < 48 || code2 > 57) {
return void 0;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let hour = 0;
if (date5[11] === "0") {
const code = date5.charCodeAt(12);
if (code < 48 || code > 57) {
return void 0;
}
hour = code - 48;
} else {
const code1 = date5.charCodeAt(11);
if (code1 < 48 || code1 > 50) {
return void 0;
}
const code2 = date5.charCodeAt(12);
if (code2 < 48 || code2 > 57) {
return void 0;
}
if (code1 === 50 && code2 > 51) {
return void 0;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date5[14] === "0") {
const code = date5.charCodeAt(15);
if (code < 48 || code > 57) {
return void 0;
}
minute = code - 48;
} else {
const code1 = date5.charCodeAt(14);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date5.charCodeAt(15);
if (code2 < 48 || code2 > 57) {
return void 0;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date5[17] === "0") {
const code = date5.charCodeAt(18);
if (code < 48 || code > 57) {
return void 0;
}
second = code - 48;
} else {
const code1 = date5.charCodeAt(17);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date5.charCodeAt(18);
if (code2 < 48 || code2 > 57) {
return void 0;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const yearDigit1 = date5.charCodeAt(20);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return void 0;
}
const yearDigit2 = date5.charCodeAt(21);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return void 0;
}
const yearDigit3 = date5.charCodeAt(22);
if (yearDigit3 < 48 || yearDigit3 > 57) {
return void 0;
}
const yearDigit4 = date5.charCodeAt(23);
if (yearDigit4 < 48 || yearDigit4 > 57) {
return void 0;
}
const year = (yearDigit1 - 48) * 1e3 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
const result2 = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result2.getUTCDay() === weekday ? result2 : void 0;
}
function parseRfc850Date(date5) {
let commaIndex = -1;
let weekday = -1;
if (date5[0] === "S") {
if (date5[1] === "u" && date5[2] === "n" && date5[3] === "d" && date5[4] === "a" && date5[5] === "y") {
weekday = 0;
commaIndex = 6;
} else if (date5[1] === "a" && date5[2] === "t" && date5[3] === "u" && date5[4] === "r" && date5[5] === "d" && date5[6] === "a" && date5[7] === "y") {
weekday = 6;
commaIndex = 8;
}
} else if (date5[0] === "M" && date5[1] === "o" && date5[2] === "n" && date5[3] === "d" && date5[4] === "a" && date5[5] === "y") {
weekday = 1;
commaIndex = 6;
} else if (date5[0] === "T") {
if (date5[1] === "u" && date5[2] === "e" && date5[3] === "s" && date5[4] === "d" && date5[5] === "a" && date5[6] === "y") {
weekday = 2;
commaIndex = 7;
} else if (date5[1] === "h" && date5[2] === "u" && date5[3] === "r" && date5[4] === "s" && date5[5] === "d" && date5[6] === "a" && date5[7] === "y") {
weekday = 4;
commaIndex = 8;
}
} else if (date5[0] === "W" && date5[1] === "e" && date5[2] === "d" && date5[3] === "n" && date5[4] === "e" && date5[5] === "s" && date5[6] === "d" && date5[7] === "a" && date5[8] === "y") {
weekday = 3;
commaIndex = 9;
} else if (date5[0] === "F" && date5[1] === "r" && date5[2] === "i" && date5[3] === "d" && date5[4] === "a" && date5[5] === "y") {
weekday = 5;
commaIndex = 6;
} else {
return void 0;
}
if (date5[commaIndex] !== "," || date5.length - commaIndex - 1 !== 23 || date5[commaIndex + 1] !== " " || date5[commaIndex + 4] !== "-" || date5[commaIndex + 8] !== "-" || date5[commaIndex + 11] !== " " || date5[commaIndex + 14] !== ":" || date5[commaIndex + 17] !== ":" || date5[commaIndex + 20] !== " " || date5[commaIndex + 21] !== "G" || date5[commaIndex + 22] !== "M" || date5[commaIndex + 23] !== "T") {
return void 0;
}
let day = 0;
if (date5[commaIndex + 2] === "0") {
const code = date5.charCodeAt(commaIndex + 3);
if (code < 49 || code > 57) {
return void 0;
}
day = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 2);
if (code1 < 49 || code1 > 51) {
return void 0;
}
const code2 = date5.charCodeAt(commaIndex + 3);
if (code2 < 48 || code2 > 57) {
return void 0;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let monthIdx = -1;
if (date5[commaIndex + 5] === "J" && date5[commaIndex + 6] === "a" && date5[commaIndex + 7] === "n") {
monthIdx = 0;
} else if (date5[commaIndex + 5] === "F" && date5[commaIndex + 6] === "e" && date5[commaIndex + 7] === "b") {
monthIdx = 1;
} else if (date5[commaIndex + 5] === "M" && date5[commaIndex + 6] === "a" && date5[commaIndex + 7] === "r") {
monthIdx = 2;
} else if (date5[commaIndex + 5] === "A" && date5[commaIndex + 6] === "p" && date5[commaIndex + 7] === "r") {
monthIdx = 3;
} else if (date5[commaIndex + 5] === "M" && date5[commaIndex + 6] === "a" && date5[commaIndex + 7] === "y") {
monthIdx = 4;
} else if (date5[commaIndex + 5] === "J" && date5[commaIndex + 6] === "u" && date5[commaIndex + 7] === "n") {
monthIdx = 5;
} else if (date5[commaIndex + 5] === "J" && date5[commaIndex + 6] === "u" && date5[commaIndex + 7] === "l") {
monthIdx = 6;
} else if (date5[commaIndex + 5] === "A" && date5[commaIndex + 6] === "u" && date5[commaIndex + 7] === "g") {
monthIdx = 7;
} else if (date5[commaIndex + 5] === "S" && date5[commaIndex + 6] === "e" && date5[commaIndex + 7] === "p") {
monthIdx = 8;
} else if (date5[commaIndex + 5] === "O" && date5[commaIndex + 6] === "c" && date5[commaIndex + 7] === "t") {
monthIdx = 9;
} else if (date5[commaIndex + 5] === "N" && date5[commaIndex + 6] === "o" && date5[commaIndex + 7] === "v") {
monthIdx = 10;
} else if (date5[commaIndex + 5] === "D" && date5[commaIndex + 6] === "e" && date5[commaIndex + 7] === "c") {
monthIdx = 11;
} else {
return void 0;
}
const yearDigit1 = date5.charCodeAt(commaIndex + 9);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return void 0;
}
const yearDigit2 = date5.charCodeAt(commaIndex + 10);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return void 0;
}
let year = (yearDigit1 - 48) * 10 + (yearDigit2 - 48);
year += year < 70 ? 2e3 : 1900;
let hour = 0;
if (date5[commaIndex + 12] === "0") {
const code = date5.charCodeAt(commaIndex + 13);
if (code < 48 || code > 57) {
return void 0;
}
hour = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 12);
if (code1 < 48 || code1 > 50) {
return void 0;
}
const code2 = date5.charCodeAt(commaIndex + 13);
if (code2 < 48 || code2 > 57) {
return void 0;
}
if (code1 === 50 && code2 > 51) {
return void 0;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date5[commaIndex + 15] === "0") {
const code = date5.charCodeAt(commaIndex + 16);
if (code < 48 || code > 57) {
return void 0;
}
minute = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 15);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date5.charCodeAt(commaIndex + 16);
if (code2 < 48 || code2 > 57) {
return void 0;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date5[commaIndex + 18] === "0") {
const code = date5.charCodeAt(commaIndex + 19);
if (code < 48 || code > 57) {
return void 0;
}
second = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 18);
if (code1 < 48 || code1 > 53) {
return void 0;
}
const code2 = date5.charCodeAt(commaIndex + 19);
if (code2 < 48 || code2 > 57) {
return void 0;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const result2 = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result2.getUTCDay() === weekday ? result2 : void 0;
}
module2.exports = {
parseHttpDate
};
}
});
// node_modules/undici/lib/handler/cache-handler.js
var require_cache_handler = __commonJS({
"node_modules/undici/lib/handler/cache-handler.js"(exports2, module2) {
"use strict";
var util2 = require_util13();
var {
parseCacheControlHeader,
parseVaryHeader,
isEtagUsable
} = require_cache();
var { parseHttpDate } = require_date();
function noop4() {
}
var HEURISTICALLY_CACHEABLE_STATUS_CODES = [
200,
203,
204,
206,
300,
301,
308,
404,
405,
410,
414,
501
];
var NOT_UNDERSTOOD_STATUS_CODES = [
206
];
var MAX_RESPONSE_AGE = 2147483647e3;
var CacheHandler = class {
/**
* @type {import('../../types/cache-interceptor.d.ts').default.CacheKey}
*/
#cacheKey;
/**
* @type {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions['type']}
*/
#cacheType;
/**
* @type {number | undefined}
*/
#cacheByDefault;
/**
* @type {import('../../types/cache-interceptor.d.ts').default.CacheStore}
*/
#store;
/**
* @type {import('../../types/dispatcher.d.ts').default.DispatchHandler}
*/
#handler;
/**
* @type {import('node:stream').Writable | undefined}
*/
#writeStream;
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions} opts
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} cacheKey
* @param {import('../../types/dispatcher.d.ts').default.DispatchHandler} handler
*/
constructor({ store, type: type2, cacheByDefault }, cacheKey, handler) {
this.#store = store;
this.#cacheType = type2;
this.#cacheByDefault = cacheByDefault;
this.#cacheKey = cacheKey;
this.#handler = handler;
}
onRequestStart(controller, context2) {
this.#writeStream?.destroy();
this.#writeStream = void 0;
this.#handler.onRequestStart?.(controller, context2);
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {number} statusCode
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
* @param {string} statusMessage
*/
onResponseStart(controller, statusCode, resHeaders, statusMessage) {
const downstreamOnHeaders = () => this.#handler.onResponseStart?.(
controller,
statusCode,
resHeaders,
statusMessage
);
const handler = this;
if (!util2.safeHTTPMethods.includes(this.#cacheKey.method) && statusCode >= 200 && statusCode <= 399) {
try {
this.#store.delete(this.#cacheKey)?.catch?.(noop4);
} catch {
}
return downstreamOnHeaders();
}
const cacheControlHeader = resHeaders["cache-control"];
const heuristicallyCacheable = resHeaders["last-modified"] && HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode);
if (!cacheControlHeader && !resHeaders["expires"] && !heuristicallyCacheable && !this.#cacheByDefault) {
return downstreamOnHeaders();
}
const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader(cacheControlHeader) : {};
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives)) {
return downstreamOnHeaders();
}
const now = Date.now();
const resAge = resHeaders.age ? getAge(resHeaders.age) : void 0;
if (resAge && resAge >= MAX_RESPONSE_AGE) {
return downstreamOnHeaders();
}
const resDate = typeof resHeaders.date === "string" ? parseHttpDate(resHeaders.date) : void 0;
const staleAt = determineStaleAt(this.#cacheType, now, resAge, resHeaders, resDate, cacheControlDirectives) ?? this.#cacheByDefault;
if (staleAt === void 0 || resAge && resAge > staleAt) {
return downstreamOnHeaders();
}
const baseTime = resDate ? resDate.getTime() : now;
const absoluteStaleAt = staleAt + baseTime;
if (now >= absoluteStaleAt) {
return downstreamOnHeaders();
}
let varyDirectives;
if (this.#cacheKey.headers && resHeaders.vary) {
varyDirectives = parseVaryHeader(resHeaders.vary, this.#cacheKey.headers);
if (!varyDirectives) {
return downstreamOnHeaders();
}
}
const deleteAt = determineDeleteAt(baseTime, cacheControlDirectives, absoluteStaleAt);
const strippedHeaders = stripNecessaryHeaders(resHeaders, cacheControlDirectives);
const value = {
statusCode,
statusMessage,
headers: strippedHeaders,
vary: varyDirectives,
cacheControlDirectives,
cachedAt: resAge ? now - resAge : now,
staleAt: absoluteStaleAt,
deleteAt
};
if (statusCode === 304) {
const handle304 = (cachedValue) => {
if (!cachedValue) {
return downstreamOnHeaders();
}
value.statusCode = cachedValue.statusCode;
value.statusMessage = cachedValue.statusMessage;
value.etag = cachedValue.etag;
value.headers = { ...cachedValue.headers, ...strippedHeaders };
downstreamOnHeaders();
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
if (!this.#writeStream || !cachedValue?.body) {
return;
}
if (typeof cachedValue.body.values === "function") {
const bodyIterator = cachedValue.body.values();
const streamCachedBody = () => {
for (const chunk of bodyIterator) {
const full = this.#writeStream.write(chunk) === false;
this.#handler.onResponseData?.(controller, chunk);
if (full) {
break;
}
}
};
this.#writeStream.on("error", function() {
handler.#writeStream = void 0;
handler.#store.delete(handler.#cacheKey);
}).on("drain", () => {
streamCachedBody();
}).on("close", function() {
if (handler.#writeStream === this) {
handler.#writeStream = void 0;
}
});
streamCachedBody();
} else if (typeof cachedValue.body.on === "function") {
cachedValue.body.on("data", (chunk) => {
this.#writeStream.write(chunk);
this.#handler.onResponseData?.(controller, chunk);
}).on("end", () => {
this.#writeStream.end();
}).on("error", () => {
this.#writeStream = void 0;
this.#store.delete(this.#cacheKey);
});
this.#writeStream.on("error", function() {
handler.#writeStream = void 0;
handler.#store.delete(handler.#cacheKey);
}).on("close", function() {
if (handler.#writeStream === this) {
handler.#writeStream = void 0;
}
});
}
};
const result2 = this.#store.get(this.#cacheKey);
if (result2 && typeof result2.then === "function") {
result2.then(handle304);
} else {
handle304(result2);
}
} else {
if (typeof resHeaders.etag === "string" && isEtagUsable(resHeaders.etag)) {
value.etag = resHeaders.etag;
}
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
if (!this.#writeStream) {
return downstreamOnHeaders();
}
this.#writeStream.on("drain", () => controller.resume()).on("error", function() {
handler.#writeStream = void 0;
handler.#store.delete(handler.#cacheKey);
}).on("close", function() {
if (handler.#writeStream === this) {
handler.#writeStream = void 0;
}
controller.resume();
});
downstreamOnHeaders();
}
}
onResponseData(controller, chunk) {
if (this.#writeStream?.write(chunk) === false) {
controller.pause();
}
this.#handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
this.#writeStream?.end();
this.#handler.onResponseEnd?.(controller, trailers);
}
onResponseError(controller, err2) {
this.#writeStream?.destroy(err2);
this.#writeStream = void 0;
this.#handler.onResponseError?.(controller, err2);
}
};
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives) {
if (statusCode < 200 || NOT_UNDERSTOOD_STATUS_CODES.includes(statusCode)) {
return false;
}
if (!HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode) && !resHeaders["expires"] && !cacheControlDirectives.public && cacheControlDirectives["max-age"] === void 0 && // RFC 9111: a private response directive, if the cache is not shared
!(cacheControlDirectives.private && cacheType === "private") && !(cacheControlDirectives["s-maxage"] !== void 0 && cacheType === "shared")) {
return false;
}
if (cacheControlDirectives["no-store"]) {
return false;
}
if (cacheType === "shared" && cacheControlDirectives.private === true) {
return false;
}
if (resHeaders.vary?.includes("*")) {
return false;
}
if (resHeaders.authorization) {
if (!cacheControlDirectives.public || typeof resHeaders.authorization !== "string") {
return false;
}
if (Array.isArray(cacheControlDirectives["no-cache"]) && cacheControlDirectives["no-cache"].includes("authorization")) {
return false;
}
if (Array.isArray(cacheControlDirectives["private"]) && cacheControlDirectives["private"].includes("authorization")) {
return false;
}
}
return true;
}
function getAge(ageHeader) {
const age = parseInt(Array.isArray(ageHeader) ? ageHeader[0] : ageHeader);
return isNaN(age) ? void 0 : age * 1e3;
}
function determineStaleAt(cacheType, now, age, resHeaders, responseDate, cacheControlDirectives) {
if (cacheType === "shared") {
const sMaxAge = cacheControlDirectives["s-maxage"];
if (sMaxAge !== void 0) {
return sMaxAge > 0 ? sMaxAge * 1e3 : void 0;
}
}
const maxAge = cacheControlDirectives["max-age"];
if (maxAge !== void 0) {
return maxAge > 0 ? maxAge * 1e3 : void 0;
}
if (typeof resHeaders.expires === "string") {
const expiresDate = parseHttpDate(resHeaders.expires);
if (expiresDate) {
if (now >= expiresDate.getTime()) {
return void 0;
}
if (responseDate) {
if (responseDate >= expiresDate) {
return void 0;
}
if (age !== void 0 && age > expiresDate - responseDate) {
return void 0;
}
}
return expiresDate.getTime() - now;
}
}
if (typeof resHeaders["last-modified"] === "string") {
const lastModified = new Date(resHeaders["last-modified"]);
if (isValidDate(lastModified)) {
if (lastModified.getTime() >= now) {
return void 0;
}
const responseAge = now - lastModified.getTime();
return responseAge * 0.1;
}
}
if (cacheControlDirectives.immutable) {
return 31536e3;
}
return void 0;
}
function determineDeleteAt(now, cacheControlDirectives, staleAt) {
let staleWhileRevalidate = -Infinity;
let staleIfError = -Infinity;
let immutable = -Infinity;
if (cacheControlDirectives["stale-while-revalidate"]) {
staleWhileRevalidate = staleAt + cacheControlDirectives["stale-while-revalidate"] * 1e3;
}
if (cacheControlDirectives["stale-if-error"]) {
staleIfError = staleAt + cacheControlDirectives["stale-if-error"] * 1e3;
}
if (cacheControlDirectives.immutable && staleWhileRevalidate === -Infinity && staleIfError === -Infinity) {
immutable = now + 31536e6;
}
if (staleWhileRevalidate === -Infinity && staleIfError === -Infinity && immutable === -Infinity) {
const freshnessLifetime = staleAt - now;
return staleAt + freshnessLifetime;
}
return Math.max(staleAt, staleWhileRevalidate, staleIfError, immutable);
}
function stripNecessaryHeaders(resHeaders, cacheControlDirectives) {
const headersToRemove = [
"connection",
"proxy-authenticate",
"proxy-authentication-info",
"proxy-authorization",
"proxy-connection",
"te",
"transfer-encoding",
"upgrade",
// We'll add age back when serving it
"age"
];
if (resHeaders["connection"]) {
if (Array.isArray(resHeaders["connection"])) {
headersToRemove.push(...resHeaders["connection"].map((header) => header.trim()));
} else {
headersToRemove.push(...resHeaders["connection"].split(",").map((header) => header.trim()));
}
}
if (Array.isArray(cacheControlDirectives["no-cache"])) {
headersToRemove.push(...cacheControlDirectives["no-cache"]);
}
if (Array.isArray(cacheControlDirectives["private"])) {
headersToRemove.push(...cacheControlDirectives["private"]);
}
let strippedHeaders;
for (const headerName of headersToRemove) {
if (resHeaders[headerName]) {
strippedHeaders ??= { ...resHeaders };
delete strippedHeaders[headerName];
}
}
return strippedHeaders ?? resHeaders;
}
function isValidDate(date5) {
return date5 instanceof Date && Number.isFinite(date5.valueOf());
}
module2.exports = CacheHandler;
}
});
// node_modules/undici/lib/cache/memory-cache-store.js
var require_memory_cache_store = __commonJS({
"node_modules/undici/lib/cache/memory-cache-store.js"(exports2, module2) {
"use strict";
var { Writable: Writable4 } = __require("node:stream");
var { EventEmitter: EventEmitter14 } = __require("node:events");
var { assertCacheKey, assertCacheValue } = require_cache();
var MemoryCacheStore = class extends EventEmitter14 {
#maxCount = 1024;
#maxSize = 104857600;
// 100MB
#maxEntrySize = 5242880;
// 5MB
#size = 0;
#count = 0;
#entries = /* @__PURE__ */ new Map();
#hasEmittedMaxSizeEvent = false;
/**
* @param {import('../../types/cache-interceptor.d.ts').default.MemoryCacheStoreOpts | undefined} [opts]
*/
constructor(opts) {
super();
if (opts) {
if (typeof opts !== "object") {
throw new TypeError("MemoryCacheStore options must be an object");
}
if (opts.maxCount !== void 0) {
if (typeof opts.maxCount !== "number" || !Number.isInteger(opts.maxCount) || opts.maxCount < 0) {
throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");
}
this.#maxCount = opts.maxCount;
}
if (opts.maxSize !== void 0) {
if (typeof opts.maxSize !== "number" || !Number.isInteger(opts.maxSize) || opts.maxSize < 0) {
throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");
}
this.#maxSize = opts.maxSize;
}
if (opts.maxEntrySize !== void 0) {
if (typeof opts.maxEntrySize !== "number" || !Number.isInteger(opts.maxEntrySize) || opts.maxEntrySize < 0) {
throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");
}
this.#maxEntrySize = opts.maxEntrySize;
}
}
}
/**
* Get the current size of the cache in bytes
* @returns {number} The current size of the cache in bytes
*/
get size() {
return this.#size;
}
/**
* Check if the cache is full (either max size or max count reached)
* @returns {boolean} True if the cache is full, false otherwise
*/
isFull() {
return this.#size >= this.#maxSize || this.#count >= this.#maxCount;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} req
* @returns {import('../../types/cache-interceptor.d.ts').default.GetResult | undefined}
*/
get(key) {
assertCacheKey(key);
const topLevelKey = `${key.origin}:${key.path}`;
const now = Date.now();
const entries = this.#entries.get(topLevelKey);
const entry = entries ? findEntry(key, entries, now) : null;
return entry == null ? void 0 : {
statusMessage: entry.statusMessage,
statusCode: entry.statusCode,
headers: entry.headers,
body: entry.body,
vary: entry.vary ? entry.vary : void 0,
etag: entry.etag,
cacheControlDirectives: entry.cacheControlDirectives,
cachedAt: entry.cachedAt,
staleAt: entry.staleAt,
deleteAt: entry.deleteAt
};
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue} val
* @returns {Writable | undefined}
*/
createWriteStream(key, val) {
assertCacheKey(key);
assertCacheValue(val);
const topLevelKey = `${key.origin}:${key.path}`;
const store = this;
const entry = { ...key, ...val, body: [], size: 0 };
return new Writable4({
write(chunk, encoding, callback) {
if (typeof chunk === "string") {
chunk = Buffer.from(chunk, encoding);
}
entry.size += chunk.byteLength;
if (entry.size >= store.#maxEntrySize) {
this.destroy();
} else {
entry.body.push(chunk);
}
callback(null);
},
final(callback) {
let entries = store.#entries.get(topLevelKey);
if (!entries) {
entries = [];
store.#entries.set(topLevelKey, entries);
}
const previousEntry = findEntry(key, entries, Date.now());
if (previousEntry) {
const index = entries.indexOf(previousEntry);
entries.splice(index, 1, entry);
store.#size -= previousEntry.size;
} else {
entries.push(entry);
store.#count += 1;
}
store.#size += entry.size;
if (store.#size > store.#maxSize || store.#count > store.#maxCount) {
if (!store.#hasEmittedMaxSizeEvent) {
store.emit("maxSizeExceeded", {
size: store.#size,
maxSize: store.#maxSize,
count: store.#count,
maxCount: store.#maxCount
});
store.#hasEmittedMaxSizeEvent = true;
}
for (const [key2, entries2] of store.#entries) {
for (const entry2 of entries2.splice(0, entries2.length / 2)) {
store.#size -= entry2.size;
store.#count -= 1;
}
if (entries2.length === 0) {
store.#entries.delete(key2);
}
}
if (store.#size < store.#maxSize && store.#count < store.#maxCount) {
store.#hasEmittedMaxSizeEvent = false;
}
}
callback(null);
}
});
}
/**
* @param {CacheKey} key
*/
delete(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
const topLevelKey = `${key.origin}:${key.path}`;
for (const entry of this.#entries.get(topLevelKey) ?? []) {
this.#size -= entry.size;
this.#count -= 1;
}
this.#entries.delete(topLevelKey);
}
};
function findEntry(key, entries, now) {
return entries.find((entry) => entry.deleteAt > now && entry.method === key.method && (entry.vary == null || Object.keys(entry.vary).every((headerName) => {
if (entry.vary[headerName] === null) {
return key.headers[headerName] === void 0;
}
return entry.vary[headerName] === key.headers[headerName];
})));
}
module2.exports = MemoryCacheStore;
}
});
// node_modules/undici/lib/handler/cache-revalidation-handler.js
var require_cache_revalidation_handler = __commonJS({
"node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var CacheRevalidationHandler = class {
#successful = false;
/**
* @type {((boolean, any) => void) | null}
*/
#callback;
/**
* @type {(import('../../types/dispatcher.d.ts').default.DispatchHandler)}
*/
#handler;
#context;
/**
* @type {boolean}
*/
#allowErrorStatusCodes;
/**
* @param {(boolean) => void} callback Function to call if the cached value is valid
* @param {import('../../types/dispatcher.d.ts').default.DispatchHandlers} handler
* @param {boolean} allowErrorStatusCodes
*/
constructor(callback, handler, allowErrorStatusCodes) {
if (typeof callback !== "function") {
throw new TypeError("callback must be a function");
}
this.#callback = callback;
this.#handler = handler;
this.#allowErrorStatusCodes = allowErrorStatusCodes;
}
onRequestStart(_, context2) {
this.#successful = false;
this.#context = context2;
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
assert3(this.#callback != null);
this.#successful = statusCode === 304 || this.#allowErrorStatusCodes && statusCode >= 500 && statusCode <= 504;
this.#callback(this.#successful, this.#context);
this.#callback = null;
if (this.#successful) {
return true;
}
this.#handler.onRequestStart?.(controller, this.#context);
this.#handler.onResponseStart?.(
controller,
statusCode,
headers,
statusMessage
);
}
onResponseData(controller, chunk) {
if (this.#successful) {
return;
}
return this.#handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
if (this.#successful) {
return;
}
this.#handler.onResponseEnd?.(controller, trailers);
}
onResponseError(controller, err2) {
if (this.#successful) {
return;
}
if (this.#callback) {
this.#callback(false);
this.#callback = null;
}
if (typeof this.#handler.onResponseError === "function") {
this.#handler.onResponseError(controller, err2);
} else {
throw err2;
}
}
};
module2.exports = CacheRevalidationHandler;
}
});
// node_modules/undici/lib/interceptor/cache.js
var require_cache2 = __commonJS({
"node_modules/undici/lib/interceptor/cache.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { Readable: Readable7 } = __require("node:stream");
var util2 = require_util13();
var CacheHandler = require_cache_handler();
var MemoryCacheStore = require_memory_cache_store();
var CacheRevalidationHandler = require_cache_revalidation_handler();
var { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders: normalizeHeaders2, parseCacheControlHeader } = require_cache();
var { AbortError: AbortError2 } = require_errors4();
function assertCacheOrigins(origins, name3) {
if (origins === void 0) return;
if (!Array.isArray(origins)) {
throw new TypeError(`expected ${name3} to be an array or undefined, got ${typeof origins}`);
}
for (let i3 = 0; i3 < origins.length; i3++) {
const origin = origins[i3];
if (typeof origin !== "string" && !(origin instanceof RegExp)) {
throw new TypeError(`expected ${name3}[${i3}] to be a string or RegExp, got ${typeof origin}`);
}
}
}
var nop = () => {
};
function needsRevalidation(result2, cacheControlDirectives, { headers = {} }) {
if (cacheControlDirectives?.["no-cache"]) {
return true;
}
if (result2.cacheControlDirectives?.["no-cache"] && !Array.isArray(result2.cacheControlDirectives["no-cache"])) {
return true;
}
if (headers["if-modified-since"] || headers["if-none-match"]) {
return true;
}
return false;
}
function isStale(result2, cacheControlDirectives) {
const now = Date.now();
if (now > result2.staleAt) {
if (cacheControlDirectives?.["max-stale"]) {
const gracePeriod = result2.staleAt + cacheControlDirectives["max-stale"] * 1e3;
return now > gracePeriod;
}
return true;
}
if (cacheControlDirectives?.["min-fresh"]) {
const timeLeftTillStale = result2.staleAt - now;
const threshold = cacheControlDirectives["min-fresh"] * 1e3;
return timeLeftTillStale <= threshold;
}
return false;
}
function withinStaleWhileRevalidateWindow(result2) {
const staleWhileRevalidate = result2.cacheControlDirectives?.["stale-while-revalidate"];
if (!staleWhileRevalidate) {
return false;
}
const now = Date.now();
const staleWhileRevalidateExpiry = result2.staleAt + staleWhileRevalidate * 1e3;
return now <= staleWhileRevalidateExpiry;
}
function handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl) {
if (reqCacheControl?.["only-if-cached"]) {
let aborted3 = false;
try {
if (typeof handler.onConnect === "function") {
handler.onConnect(() => {
aborted3 = true;
});
if (aborted3) {
return;
}
}
if (typeof handler.onHeaders === "function") {
handler.onHeaders(504, [], nop, "Gateway Timeout");
if (aborted3) {
return;
}
}
if (typeof handler.onComplete === "function") {
handler.onComplete([]);
}
} catch (err2) {
if (typeof handler.onError === "function") {
handler.onError(err2);
}
}
return true;
}
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
}
function sendCachedValue(handler, opts, result2, age, context2, isStale2) {
const stream2 = util2.isStream(result2.body) ? result2.body : Readable7.from(result2.body ?? []);
assert3(!stream2.destroyed, "stream should not be destroyed");
assert3(!stream2.readableDidRead, "stream should not be readableDidRead");
const controller = {
resume() {
stream2.resume();
},
pause() {
stream2.pause();
},
get paused() {
return stream2.isPaused();
},
get aborted() {
return stream2.destroyed;
},
get reason() {
return stream2.errored;
},
abort(reason) {
stream2.destroy(reason ?? new AbortError2());
}
};
stream2.on("error", function(err2) {
if (!this.readableEnded) {
if (typeof handler.onResponseError === "function") {
handler.onResponseError(controller, err2);
} else {
throw err2;
}
}
}).on("close", function() {
if (!this.errored) {
handler.onResponseEnd?.(controller, {});
}
});
handler.onRequestStart?.(controller, context2);
if (stream2.destroyed) {
return;
}
const headers = { ...result2.headers, age: String(age) };
if (isStale2) {
headers.warning = '110 - "response is stale"';
}
handler.onResponseStart?.(controller, result2.statusCode, headers, result2.statusMessage);
if (opts.method === "HEAD") {
stream2.destroy();
} else {
stream2.on("data", function(chunk) {
handler.onResponseData?.(controller, chunk);
});
}
}
function handleResult2(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl, result2) {
if (!result2) {
return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl);
}
const now = Date.now();
if (now > result2.deleteAt) {
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
}
const age = Math.round((now - result2.cachedAt) / 1e3);
if (reqCacheControl?.["max-age"] && age >= reqCacheControl["max-age"]) {
return dispatch(opts, handler);
}
const stale = isStale(result2, reqCacheControl);
const revalidate = needsRevalidation(result2, reqCacheControl, opts);
if (stale || revalidate) {
if (util2.isStream(opts.body) && util2.bodyLength(opts.body) !== 0) {
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
}
if (!revalidate && withinStaleWhileRevalidateWindow(result2)) {
sendCachedValue(handler, opts, result2, age, null, true);
queueMicrotask(() => {
const headers2 = {
...opts.headers,
"if-modified-since": new Date(result2.cachedAt).toUTCString()
};
if (result2.etag) {
headers2["if-none-match"] = result2.etag;
}
if (result2.vary) {
for (const key in result2.vary) {
if (result2.vary[key] != null) {
headers2[key] = result2.vary[key];
}
}
}
dispatch(
{
...opts,
headers: headers2
},
new CacheHandler(globalOpts, cacheKey, {
// Silent handler that just updates the cache
onRequestStart() {
},
onRequestUpgrade() {
},
onResponseStart() {
},
onResponseData() {
},
onResponseEnd() {
},
onResponseError() {
}
})
);
});
return true;
}
let withinStaleIfErrorThreshold = false;
const staleIfErrorExpiry = result2.cacheControlDirectives["stale-if-error"] ?? reqCacheControl?.["stale-if-error"];
if (staleIfErrorExpiry) {
withinStaleIfErrorThreshold = now < result2.staleAt + staleIfErrorExpiry * 1e3;
}
const headers = {
...opts.headers,
"if-modified-since": new Date(result2.cachedAt).toUTCString()
};
if (result2.etag) {
headers["if-none-match"] = result2.etag;
}
if (result2.vary) {
for (const key in result2.vary) {
if (result2.vary[key] != null) {
headers[key] = result2.vary[key];
}
}
}
return dispatch(
{
...opts,
headers
},
new CacheRevalidationHandler(
(success2, context2) => {
if (success2) {
sendCachedValue(handler, opts, result2, age, context2, stale);
} else if (util2.isStream(result2.body)) {
result2.body.on("error", nop).destroy();
}
},
new CacheHandler(globalOpts, cacheKey, handler),
withinStaleIfErrorThreshold
)
);
}
if (util2.isStream(opts.body)) {
opts.body.on("error", nop).destroy();
}
sendCachedValue(handler, opts, result2, age, null, false);
}
module2.exports = (opts = {}) => {
const {
store = new MemoryCacheStore(),
methods = ["GET"],
cacheByDefault = void 0,
type: type2 = "shared",
origins = void 0
} = opts;
if (typeof opts !== "object" || opts === null) {
throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
}
assertCacheStore(store, "opts.store");
assertCacheMethods(methods, "opts.methods");
assertCacheOrigins(origins, "opts.origins");
if (typeof cacheByDefault !== "undefined" && typeof cacheByDefault !== "number") {
throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof cacheByDefault}`);
}
if (typeof type2 !== "undefined" && type2 !== "shared" && type2 !== "private") {
throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof type2}`);
}
const globalOpts = {
store,
methods,
cacheByDefault,
type: type2
};
const safeMethodsToNotCache = util2.safeHTTPMethods.filter((method) => methods.includes(method) === false);
return (dispatch) => {
return (opts2, handler) => {
if (!opts2.origin || safeMethodsToNotCache.includes(opts2.method)) {
return dispatch(opts2, handler);
}
if (origins !== void 0) {
const requestOrigin = opts2.origin.toString().toLowerCase();
let isAllowed = false;
for (let i3 = 0; i3 < origins.length; i3++) {
const allowed = origins[i3];
if (typeof allowed === "string") {
if (allowed.toLowerCase() === requestOrigin) {
isAllowed = true;
break;
}
} else if (allowed.test(requestOrigin)) {
isAllowed = true;
break;
}
}
if (!isAllowed) {
return dispatch(opts2, handler);
}
}
opts2 = {
...opts2,
headers: normalizeHeaders2(opts2)
};
const reqCacheControl = opts2.headers?.["cache-control"] ? parseCacheControlHeader(opts2.headers["cache-control"]) : void 0;
if (reqCacheControl?.["no-store"]) {
return dispatch(opts2, handler);
}
const cacheKey = makeCacheKey(opts2);
const result2 = store.get(cacheKey);
if (result2 && typeof result2.then === "function") {
return result2.then((result3) => handleResult2(
dispatch,
globalOpts,
cacheKey,
handler,
opts2,
reqCacheControl,
result3
));
} else {
return handleResult2(
dispatch,
globalOpts,
cacheKey,
handler,
opts2,
reqCacheControl,
result2
);
}
};
};
};
}
});
// node_modules/undici/lib/interceptor/decompress.js
var require_decompress = __commonJS({
"node_modules/undici/lib/interceptor/decompress.js"(exports2, module2) {
"use strict";
var { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = __require("node:zlib");
var { pipeline } = __require("node:stream");
var DecoratorHandler = require_decorator_handler();
var { runtimeFeatures } = require_runtime_features();
var supportedEncodings = {
gzip: createGunzip,
"x-gzip": createGunzip,
br: createBrotliDecompress,
deflate: createInflate,
compress: createInflate,
"x-compress": createInflate,
...runtimeFeatures.has("zstd") ? { zstd: createZstdDecompress } : {}
};
var defaultSkipStatusCodes = (
/** @type {const} */
[204, 304]
);
var warningEmitted = (
/** @type {boolean} */
false
);
var DecompressHandler = class extends DecoratorHandler {
/** @type {Transform[]} */
#decompressors = [];
/** @type {Readonly<number[]>} */
#skipStatusCodes;
/** @type {boolean} */
#skipErrorResponses;
constructor(handler, { skipStatusCodes = defaultSkipStatusCodes, skipErrorResponses = true } = {}) {
super(handler);
this.#skipStatusCodes = skipStatusCodes;
this.#skipErrorResponses = skipErrorResponses;
}
/**
* Determines if decompression should be skipped based on encoding and status code
* @param {string} contentEncoding - Content-Encoding header value
* @param {number} statusCode - HTTP status code of the response
* @returns {boolean} - True if decompression should be skipped
*/
#shouldSkipDecompression(contentEncoding, statusCode) {
if (!contentEncoding || statusCode < 200) return true;
if (this.#skipStatusCodes.includes(statusCode)) return true;
if (this.#skipErrorResponses && statusCode >= 400) return true;
return false;
}
/**
* Creates a chain of decompressors for multiple content encodings
*
* @param {string} encodings - Comma-separated list of content encodings
* @returns {Array<DecompressorStream>} - Array of decompressor streams
* @throws {Error} - If the number of content-encodings exceeds the maximum allowed
*/
#createDecompressionChain(encodings) {
const parts2 = encodings.split(",");
const maxContentEncodings = 5;
if (parts2.length > maxContentEncodings) {
throw new Error(`too many content-encodings in response: ${parts2.length}, maximum allowed is ${maxContentEncodings}`);
}
const decompressors = [];
for (let i3 = parts2.length - 1; i3 >= 0; i3--) {
const encoding = parts2[i3].trim();
if (!encoding) continue;
if (!supportedEncodings[encoding]) {
decompressors.length = 0;
return decompressors;
}
decompressors.push(supportedEncodings[encoding]());
}
return decompressors;
}
/**
* Sets up event handlers for a decompressor stream using readable events
* @param {DecompressorStream} decompressor - The decompressor stream
* @param {Controller} controller - The controller to coordinate with
* @returns {void}
*/
#setupDecompressorEvents(decompressor, controller) {
decompressor.on("readable", () => {
let chunk;
while ((chunk = decompressor.read()) !== null) {
const result2 = super.onResponseData(controller, chunk);
if (result2 === false) {
break;
}
}
});
decompressor.on("error", (error40) => {
super.onResponseError(controller, error40);
});
}
/**
* Sets up event handling for a single decompressor
* @param {Controller} controller - The controller to handle events
* @returns {void}
*/
#setupSingleDecompressor(controller) {
const decompressor = this.#decompressors[0];
this.#setupDecompressorEvents(decompressor, controller);
decompressor.on("end", () => {
super.onResponseEnd(controller, {});
});
}
/**
* Sets up event handling for multiple chained decompressors using pipeline
* @param {Controller} controller - The controller to handle events
* @returns {void}
*/
#setupMultipleDecompressors(controller) {
const lastDecompressor = this.#decompressors[this.#decompressors.length - 1];
this.#setupDecompressorEvents(lastDecompressor, controller);
pipeline(this.#decompressors, (err2) => {
if (err2) {
super.onResponseError(controller, err2);
return;
}
super.onResponseEnd(controller, {});
});
}
/**
* Cleans up decompressor references to prevent memory leaks
* @returns {void}
*/
#cleanupDecompressors() {
this.#decompressors.length = 0;
}
/**
* @param {Controller} controller
* @param {number} statusCode
* @param {Record<string, string | string[] | undefined>} headers
* @param {string} statusMessage
* @returns {void}
*/
onResponseStart(controller, statusCode, headers, statusMessage) {
const contentEncoding = headers["content-encoding"];
if (this.#shouldSkipDecompression(contentEncoding, statusCode)) {
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
const decompressors = this.#createDecompressionChain(contentEncoding.toLowerCase());
if (decompressors.length === 0) {
this.#cleanupDecompressors();
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
this.#decompressors = decompressors;
const { "content-encoding": _, "content-length": __, ...newHeaders } = headers;
if (this.#decompressors.length === 1) {
this.#setupSingleDecompressor(controller);
} else {
this.#setupMultipleDecompressors(controller);
}
return super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
}
/**
* @param {Controller} controller
* @param {Buffer} chunk
* @returns {void}
*/
onResponseData(controller, chunk) {
if (this.#decompressors.length > 0) {
this.#decompressors[0].write(chunk);
return;
}
super.onResponseData(controller, chunk);
}
/**
* @param {Controller} controller
* @param {Record<string, string | string[]> | undefined} trailers
* @returns {void}
*/
onResponseEnd(controller, trailers) {
if (this.#decompressors.length > 0) {
this.#decompressors[0].end();
this.#cleanupDecompressors();
return;
}
super.onResponseEnd(controller, trailers);
}
/**
* @param {Controller} controller
* @param {Error} err
* @returns {void}
*/
onResponseError(controller, err2) {
if (this.#decompressors.length > 0) {
for (const decompressor of this.#decompressors) {
decompressor.destroy(err2);
}
this.#cleanupDecompressors();
}
super.onResponseError(controller, err2);
}
};
function createDecompressInterceptor(options = {}) {
if (!warningEmitted) {
process.emitWarning(
"DecompressInterceptor is experimental and subject to change",
"ExperimentalWarning"
);
warningEmitted = true;
}
return (dispatch) => {
return (opts, handler) => {
const decompressHandler = new DecompressHandler(handler, options);
return dispatch(opts, decompressHandler);
};
};
}
module2.exports = createDecompressInterceptor;
}
});
// node_modules/undici/lib/handler/deduplication-handler.js
var require_deduplication_handler = __commonJS({
"node_modules/undici/lib/handler/deduplication-handler.js"(exports2, module2) {
"use strict";
var { RequestAbortedError } = require_errors4();
var DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
var DeduplicationHandler = class {
/**
* @type {DispatchHandler}
*/
#primaryHandler;
/**
* @type {WaitingHandler[]}
*/
#waitingHandlers = [];
/**
* @type {number}
*/
#maxBufferSize = DEFAULT_MAX_BUFFER_SIZE;
/**
* @type {number}
*/
#statusCode = 0;
/**
* @type {Record<string, string | string[]>}
*/
#headers = {};
/**
* @type {string}
*/
#statusMessage = "";
/**
* @type {boolean}
*/
#aborted = false;
/**
* @type {boolean}
*/
#responseStarted = false;
/**
* @type {boolean}
*/
#responseDataStarted = false;
/**
* @type {boolean}
*/
#completed = false;
/**
* @type {import('../../types/dispatcher.d.ts').default.DispatchController | null}
*/
#controller = null;
/**
* @type {(() => void) | null}
*/
#onComplete = null;
/**
* @param {DispatchHandler} primaryHandler The primary handler
* @param {() => void} onComplete Callback when request completes
* @param {number} [maxBufferSize] Maximum paused buffer size per waiting handler
*/
constructor(primaryHandler, onComplete, maxBufferSize = DEFAULT_MAX_BUFFER_SIZE) {
this.#primaryHandler = primaryHandler;
this.#onComplete = onComplete;
this.#maxBufferSize = maxBufferSize;
}
/**
* Add a waiting handler that will receive response events.
* Returns false if deduplication can no longer safely attach this handler.
*
* @param {DispatchHandler} handler
* @returns {boolean}
*/
addWaitingHandler(handler) {
if (this.#completed || this.#responseDataStarted) {
return false;
}
const waitingHandler = this.#createWaitingHandler(handler);
const waitingController = waitingHandler.controller;
try {
handler.onRequestStart?.(waitingController, null);
if (waitingController.aborted) {
waitingHandler.done = true;
return true;
}
if (this.#responseStarted) {
handler.onResponseStart?.(
waitingController,
this.#statusCode,
this.#headers,
this.#statusMessage
);
}
} catch {
waitingHandler.done = true;
return true;
}
if (!waitingController.aborted) {
this.#waitingHandlers.push(waitingHandler);
}
return true;
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {any} context
*/
onRequestStart(controller, context2) {
this.#controller = controller;
this.#primaryHandler.onRequestStart?.(controller, context2);
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {number} statusCode
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} headers
* @param {Socket} socket
*/
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#primaryHandler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {number} statusCode
* @param {Record<string, string | string[]>} headers
* @param {string} statusMessage
*/
onResponseStart(controller, statusCode, headers, statusMessage) {
this.#responseStarted = true;
this.#statusCode = statusCode;
this.#headers = headers;
this.#statusMessage = statusMessage;
this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
for (const waitingHandler of this.#waitingHandlers) {
const { handler, controller: waitingController } = waitingHandler;
if (waitingHandler.done || waitingController.aborted) {
waitingHandler.done = true;
continue;
}
try {
handler.onResponseStart?.(
waitingController,
statusCode,
headers,
statusMessage
);
} catch {
}
if (waitingController.aborted) {
waitingHandler.done = true;
}
}
this.#pruneDoneWaitingHandlers();
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {Buffer} chunk
*/
onResponseData(controller, chunk) {
if (this.#aborted || this.#completed) {
return;
}
this.#responseDataStarted = true;
this.#primaryHandler.onResponseData?.(controller, chunk);
for (const waitingHandler of this.#waitingHandlers) {
const { handler, controller: waitingController } = waitingHandler;
if (waitingHandler.done || waitingController.aborted) {
waitingHandler.done = true;
continue;
}
if (waitingController.paused) {
this.#bufferWaitingChunk(waitingHandler, chunk);
continue;
}
try {
handler.onResponseData?.(waitingController, chunk);
} catch {
}
if (waitingController.aborted) {
waitingHandler.done = true;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
}
}
this.#pruneDoneWaitingHandlers();
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {object} trailers
*/
onResponseEnd(controller, trailers) {
if (this.#aborted || this.#completed) {
return;
}
this.#completed = true;
this.#primaryHandler.onResponseEnd?.(controller, trailers);
for (const waitingHandler of this.#waitingHandlers) {
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
continue;
}
this.#flushWaitingHandler(waitingHandler);
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
continue;
}
if (waitingHandler.controller.paused && waitingHandler.bufferedChunks.length > 0) {
waitingHandler.pendingTrailers = trailers;
continue;
}
try {
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, trailers);
} catch {
}
waitingHandler.done = true;
}
this.#pruneDoneWaitingHandlers();
this.#onComplete?.();
}
/**
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
* @param {Error} err
*/
onResponseError(controller, err2) {
if (this.#completed) {
return;
}
this.#aborted = true;
this.#completed = true;
this.#primaryHandler.onResponseError?.(controller, err2);
for (const waitingHandler of this.#waitingHandlers) {
this.#errorWaitingHandler(waitingHandler, err2);
}
this.#waitingHandlers = [];
this.#onComplete?.();
}
/**
* @param {DispatchHandler} handler
* @returns {WaitingHandler}
*/
#createWaitingHandler(handler) {
const waitingHandler = {
handler,
controller: null,
bufferedChunks: [],
bufferedBytes: 0,
pendingTrailers: null,
done: false
};
const state = {
aborted: false,
paused: false,
reason: null
};
waitingHandler.controller = {
resume: () => {
if (state.aborted) {
return;
}
state.paused = false;
this.#flushWaitingHandler(waitingHandler);
if (this.#completed && waitingHandler.pendingTrailers && waitingHandler.bufferedChunks.length === 0 && !state.paused && !state.aborted) {
try {
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, waitingHandler.pendingTrailers);
} catch {
}
waitingHandler.pendingTrailers = null;
waitingHandler.done = true;
}
this.#pruneDoneWaitingHandlers();
},
pause: () => {
if (!state.aborted) {
state.paused = true;
}
},
get paused() {
return state.paused;
},
get aborted() {
return state.aborted;
},
get reason() {
return state.reason;
},
abort: (reason) => {
state.aborted = true;
state.reason = reason ?? null;
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
}
};
return waitingHandler;
}
/**
* @param {WaitingHandler} waitingHandler
* @param {Buffer} chunk
*/
#bufferWaitingChunk(waitingHandler, chunk) {
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
return;
}
const bufferedChunk = Buffer.from(chunk);
waitingHandler.bufferedChunks.push(bufferedChunk);
waitingHandler.bufferedBytes += bufferedChunk.length;
if (waitingHandler.bufferedBytes > this.#maxBufferSize) {
const err2 = new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);
this.#errorWaitingHandler(waitingHandler, err2);
}
}
/**
* @param {WaitingHandler} waitingHandler
*/
#flushWaitingHandler(waitingHandler) {
const { handler, controller } = waitingHandler;
while (!waitingHandler.done && !controller.aborted && !controller.paused && waitingHandler.bufferedChunks.length > 0) {
const bufferedChunk = waitingHandler.bufferedChunks.shift();
waitingHandler.bufferedBytes -= bufferedChunk.length;
try {
handler.onResponseData?.(controller, bufferedChunk);
} catch {
}
if (controller.aborted) {
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
break;
}
}
}
/**
* @param {WaitingHandler} waitingHandler
* @param {Error} err
*/
#errorWaitingHandler(waitingHandler, err2) {
if (waitingHandler.done) {
return;
}
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
try {
waitingHandler.controller.abort(err2);
waitingHandler.handler.onResponseError?.(waitingHandler.controller, err2);
} catch {
}
}
#pruneDoneWaitingHandlers() {
this.#waitingHandlers = this.#waitingHandlers.filter((waitingHandler) => waitingHandler.done === false);
}
};
module2.exports = DeduplicationHandler;
}
});
// node_modules/undici/lib/interceptor/deduplicate.js
var require_deduplicate = __commonJS({
"node_modules/undici/lib/interceptor/deduplicate.js"(exports2, module2) {
"use strict";
var diagnosticsChannel = __require("node:diagnostics_channel");
var util2 = require_util13();
var DeduplicationHandler = require_deduplication_handler();
var { normalizeHeaders: normalizeHeaders2, makeCacheKey, makeDeduplicationKey } = require_cache();
var pendingRequestsChannel = diagnosticsChannel.channel("undici:request:pending-requests");
module2.exports = (opts = {}) => {
const {
methods = ["GET"],
skipHeaderNames = [],
excludeHeaderNames = [],
maxBufferSize = 5 * 1024 * 1024
} = opts;
if (typeof opts !== "object" || opts === null) {
throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
}
if (!Array.isArray(methods)) {
throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`);
}
for (const method of methods) {
if (!util2.safeHTTPMethods.includes(method)) {
throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method}`);
}
}
if (!Array.isArray(skipHeaderNames)) {
throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof skipHeaderNames}`);
}
if (!Array.isArray(excludeHeaderNames)) {
throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
}
if (!Number.isFinite(maxBufferSize) || maxBufferSize <= 0) {
throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);
}
const skipHeaderNamesSet = new Set(skipHeaderNames.map((name3) => name3.toLowerCase()));
const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name3) => name3.toLowerCase()));
const pendingRequests = /* @__PURE__ */ new Map();
return (dispatch) => {
return (opts2, handler) => {
if (!opts2.origin || methods.includes(opts2.method) === false) {
return dispatch(opts2, handler);
}
opts2 = {
...opts2,
headers: normalizeHeaders2(opts2)
};
if (skipHeaderNamesSet.size > 0) {
for (const headerName of Object.keys(opts2.headers)) {
if (skipHeaderNamesSet.has(headerName.toLowerCase())) {
return dispatch(opts2, handler);
}
}
}
const cacheKey = makeCacheKey(opts2);
const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet);
const pendingHandler = pendingRequests.get(dedupeKey);
if (pendingHandler) {
if (pendingHandler.addWaitingHandler(handler)) {
return true;
}
return dispatch(opts2, handler);
}
const deduplicationHandler = new DeduplicationHandler(
handler,
() => {
pendingRequests.delete(dedupeKey);
if (pendingRequestsChannel.hasSubscribers) {
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "removed" });
}
},
maxBufferSize
);
pendingRequests.set(dedupeKey, deduplicationHandler);
if (pendingRequestsChannel.hasSubscribers) {
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "added" });
}
return dispatch(opts2, deduplicationHandler);
};
};
};
}
});
// node_modules/undici/lib/cache/sqlite-cache-store.js
var require_sqlite_cache_store = __commonJS({
"node_modules/undici/lib/cache/sqlite-cache-store.js"(exports2, module2) {
"use strict";
var { Writable: Writable4 } = __require("node:stream");
var { assertCacheKey, assertCacheValue } = require_cache();
var DatabaseSync;
var VERSION2 = 3;
var MAX_ENTRY_SIZE = 2 * 1e3 * 1e3 * 1e3;
module2.exports = class SqliteCacheStore {
#maxEntrySize = MAX_ENTRY_SIZE;
#maxCount = Infinity;
/**
* @type {import('node:sqlite').DatabaseSync}
*/
#db;
/**
* @type {import('node:sqlite').StatementSync}
*/
#getValuesQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#updateValueQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#insertValueQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#deleteExpiredValuesQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#deleteByUrlQuery;
/**
* @type {import('node:sqlite').StatementSync}
*/
#countEntriesQuery;
/**
* @type {import('node:sqlite').StatementSync | null}
*/
#deleteOldValuesQuery;
/**
* @param {import('../../types/cache-interceptor.d.ts').default.SqliteCacheStoreOpts | undefined} opts
*/
constructor(opts) {
if (opts) {
if (typeof opts !== "object") {
throw new TypeError("SqliteCacheStore options must be an object");
}
if (opts.maxEntrySize !== void 0) {
if (typeof opts.maxEntrySize !== "number" || !Number.isInteger(opts.maxEntrySize) || opts.maxEntrySize < 0) {
throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");
}
if (opts.maxEntrySize > MAX_ENTRY_SIZE) {
throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");
}
this.#maxEntrySize = opts.maxEntrySize;
}
if (opts.maxCount !== void 0) {
if (typeof opts.maxCount !== "number" || !Number.isInteger(opts.maxCount) || opts.maxCount < 0) {
throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");
}
this.#maxCount = opts.maxCount;
}
}
if (!DatabaseSync) {
DatabaseSync = __require("node:sqlite").DatabaseSync;
}
this.#db = new DatabaseSync(opts?.location ?? ":memory:");
this.#db.exec(`
PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;
PRAGMA temp_store = memory;
PRAGMA optimize;
CREATE TABLE IF NOT EXISTS cacheInterceptorV${VERSION2} (
-- Data specific to us
id INTEGER PRIMARY KEY AUTOINCREMENT,
url TEXT NOT NULL,
method TEXT NOT NULL,
-- Data returned to the interceptor
body BUF NULL,
deleteAt INTEGER NOT NULL,
statusCode INTEGER NOT NULL,
statusMessage TEXT NOT NULL,
headers TEXT NULL,
cacheControlDirectives TEXT NULL,
etag TEXT NULL,
vary TEXT NULL,
cachedAt INTEGER NOT NULL,
staleAt INTEGER NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION2}_getValuesQuery ON cacheInterceptorV${VERSION2}(url, method, deleteAt);
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION2}_deleteByUrlQuery ON cacheInterceptorV${VERSION2}(deleteAt);
`);
this.#getValuesQuery = this.#db.prepare(`
SELECT
id,
body,
deleteAt,
statusCode,
statusMessage,
headers,
etag,
cacheControlDirectives,
vary,
cachedAt,
staleAt
FROM cacheInterceptorV${VERSION2}
WHERE
url = ?
AND method = ?
ORDER BY
deleteAt ASC
`);
this.#updateValueQuery = this.#db.prepare(`
UPDATE cacheInterceptorV${VERSION2} SET
body = ?,
deleteAt = ?,
statusCode = ?,
statusMessage = ?,
headers = ?,
etag = ?,
cacheControlDirectives = ?,
cachedAt = ?,
staleAt = ?
WHERE
id = ?
`);
this.#insertValueQuery = this.#db.prepare(`
INSERT INTO cacheInterceptorV${VERSION2} (
url,
method,
body,
deleteAt,
statusCode,
statusMessage,
headers,
etag,
cacheControlDirectives,
vary,
cachedAt,
staleAt
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`);
this.#deleteByUrlQuery = this.#db.prepare(
`DELETE FROM cacheInterceptorV${VERSION2} WHERE url = ?`
);
this.#countEntriesQuery = this.#db.prepare(
`SELECT COUNT(*) AS total FROM cacheInterceptorV${VERSION2}`
);
this.#deleteExpiredValuesQuery = this.#db.prepare(
`DELETE FROM cacheInterceptorV${VERSION2} WHERE deleteAt <= ?`
);
this.#deleteOldValuesQuery = this.#maxCount === Infinity ? null : this.#db.prepare(`
DELETE FROM cacheInterceptorV${VERSION2}
WHERE id IN (
SELECT
id
FROM cacheInterceptorV${VERSION2}
ORDER BY cachedAt DESC
LIMIT ?
)
`);
}
close() {
this.#db.close();
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @returns {(import('../../types/cache-interceptor.d.ts').default.GetResult & { body?: Buffer }) | undefined}
*/
get(key) {
assertCacheKey(key);
const value = this.#findValue(key);
return value ? {
body: value.body ? Buffer.from(value.body.buffer, value.body.byteOffset, value.body.byteLength) : void 0,
statusCode: value.statusCode,
statusMessage: value.statusMessage,
headers: value.headers ? JSON.parse(value.headers) : void 0,
etag: value.etag ? value.etag : void 0,
vary: value.vary ? JSON.parse(value.vary) : void 0,
cacheControlDirectives: value.cacheControlDirectives ? JSON.parse(value.cacheControlDirectives) : void 0,
cachedAt: value.cachedAt,
staleAt: value.staleAt,
deleteAt: value.deleteAt
} : void 0;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue & { body: null | Buffer | Array<Buffer>}} value
*/
set(key, value) {
assertCacheKey(key);
const url3 = this.#makeValueUrl(key);
const body2 = Array.isArray(value.body) ? Buffer.concat(value.body) : value.body;
const size = body2?.byteLength;
if (size && size > this.#maxEntrySize) {
return;
}
const existingValue = this.#findValue(key, true);
if (existingValue) {
this.#updateValueQuery.run(
body2,
value.deleteAt,
value.statusCode,
value.statusMessage,
value.headers ? JSON.stringify(value.headers) : null,
value.etag ? value.etag : null,
value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null,
value.cachedAt,
value.staleAt,
existingValue.id
);
} else {
this.#prune();
this.#insertValueQuery.run(
url3,
key.method,
body2,
value.deleteAt,
value.statusCode,
value.statusMessage,
value.headers ? JSON.stringify(value.headers) : null,
value.etag ? value.etag : null,
value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null,
value.vary ? JSON.stringify(value.vary) : null,
value.cachedAt,
value.staleAt
);
}
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue} value
* @returns {Writable | undefined}
*/
createWriteStream(key, value) {
assertCacheKey(key);
assertCacheValue(value);
let size = 0;
const body2 = [];
const store = this;
return new Writable4({
decodeStrings: true,
write(chunk, encoding, callback) {
size += chunk.byteLength;
if (size < store.#maxEntrySize) {
body2.push(chunk);
} else {
this.destroy();
}
callback();
},
final(callback) {
store.set(key, { ...value, body: body2 });
callback();
}
});
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
*/
delete(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
this.#deleteByUrlQuery.run(this.#makeValueUrl(key));
}
#prune() {
if (Number.isFinite(this.#maxCount) && this.size <= this.#maxCount) {
return 0;
}
{
const removed = this.#deleteExpiredValuesQuery.run(Date.now()).changes;
if (removed) {
return removed;
}
}
{
const removed = this.#deleteOldValuesQuery?.run(Math.max(Math.floor(this.#maxCount * 0.1), 1)).changes;
if (removed) {
return removed;
}
}
return 0;
}
/**
* Counts the number of rows in the cache
* @returns {Number}
*/
get size() {
const { total } = this.#countEntriesQuery.get();
return total;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @returns {string}
*/
#makeValueUrl(key) {
return `${key.origin}/${key.path}`;
}
/**
* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
* @param {boolean} [canBeExpired=false]
* @returns {SqliteStoreValue | undefined}
*/
#findValue(key, canBeExpired = false) {
const url3 = this.#makeValueUrl(key);
const { headers, method } = key;
const values = this.#getValuesQuery.all(url3, method);
if (values.length === 0) {
return void 0;
}
const now = Date.now();
for (const value of values) {
if (now >= value.deleteAt && !canBeExpired) {
return void 0;
}
let matches = true;
if (value.vary) {
const vary = JSON.parse(value.vary);
for (const header in vary) {
if (!headerValueEquals(headers[header], vary[header])) {
matches = false;
break;
}
}
}
if (matches) {
return value;
}
}
return void 0;
}
};
function headerValueEquals(lhs, rhs) {
if (lhs == null && rhs == null) {
return true;
}
if (lhs == null && rhs != null || lhs != null && rhs == null) {
return false;
}
if (Array.isArray(lhs) && Array.isArray(rhs)) {
if (lhs.length !== rhs.length) {
return false;
}
return lhs.every((x, i3) => x === rhs[i3]);
}
return lhs === rhs;
}
}
});
// node_modules/undici/lib/web/fetch/headers.js
var require_headers = __commonJS({
"node_modules/undici/lib/web/fetch/headers.js"(exports2, module2) {
"use strict";
var { kConstruct } = require_symbols();
var { kEnumerableProperty } = require_util13();
var {
iteratorMixin,
isValidHeaderName,
isValidHeaderValue
} = require_util14();
var { webidl } = require_webidl();
var assert3 = __require("node:assert");
var util2 = __require("node:util");
function isHTTPWhiteSpaceCharCode(code) {
return code === 10 || code === 13 || code === 9 || code === 32;
}
function headerValueNormalize(potentialValue) {
let i3 = 0;
let j = potentialValue.length;
while (j > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
while (j > i3 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i3))) ++i3;
return i3 === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i3, j);
}
function fill(headers, object3) {
if (Array.isArray(object3)) {
for (let i3 = 0; i3 < object3.length; ++i3) {
const header = object3[i3];
if (header.length !== 2) {
throw webidl.errors.exception({
header: "Headers constructor",
message: `expected name/value pair to be length 2, found ${header.length}.`
});
}
appendHeader(headers, header[0], header[1]);
}
} else if (typeof object3 === "object" && object3 !== null) {
const keys = Object.keys(object3);
for (let i3 = 0; i3 < keys.length; ++i3) {
appendHeader(headers, keys[i3], object3[keys[i3]]);
}
} else {
throw webidl.errors.conversionFailed({
prefix: "Headers constructor",
argument: "Argument 1",
types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"]
});
}
}
function appendHeader(headers, name3, value) {
value = headerValueNormalize(value);
if (!isValidHeaderName(name3)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.append",
value: name3,
type: "header name"
});
} else if (!isValidHeaderValue(value)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.append",
value,
type: "header value"
});
}
if (getHeadersGuard(headers) === "immutable") {
throw new TypeError("immutable");
}
return getHeadersList(headers).append(name3, value, false);
}
function headersListSortAndCombine(target) {
const headersList = getHeadersList(target);
if (!headersList) {
return [];
}
if (headersList.sortedMap) {
return headersList.sortedMap;
}
const headers = [];
const names = headersList.toSortedArray();
const cookies = headersList.cookies;
if (cookies === null || cookies.length === 1) {
return headersList.sortedMap = names;
}
for (let i3 = 0; i3 < names.length; ++i3) {
const { 0: name3, 1: value } = names[i3];
if (name3 === "set-cookie") {
for (let j = 0; j < cookies.length; ++j) {
headers.push([name3, cookies[j]]);
}
} else {
headers.push([name3, value]);
}
}
return headersList.sortedMap = headers;
}
function compareHeaderName(a2, b) {
return a2[0] < b[0] ? -1 : 1;
}
var HeadersList = class _HeadersList {
/** @type {[string, string][]|null} */
cookies = null;
sortedMap;
headersMap;
constructor(init2) {
if (init2 instanceof _HeadersList) {
this.headersMap = new Map(init2.headersMap);
this.sortedMap = init2.sortedMap;
this.cookies = init2.cookies === null ? null : [...init2.cookies];
} else {
this.headersMap = new Map(init2);
this.sortedMap = null;
}
}
/**
* @see https://fetch.spec.whatwg.org/#header-list-contains
* @param {string} name
* @param {boolean} isLowerCase
*/
contains(name3, isLowerCase) {
return this.headersMap.has(isLowerCase ? name3 : name3.toLowerCase());
}
clear() {
this.headersMap.clear();
this.sortedMap = null;
this.cookies = null;
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-append
* @param {string} name
* @param {string} value
* @param {boolean} isLowerCase
*/
append(name3, value, isLowerCase) {
this.sortedMap = null;
const lowercaseName = isLowerCase ? name3 : name3.toLowerCase();
const exists2 = this.headersMap.get(lowercaseName);
if (exists2) {
const delimiter2 = lowercaseName === "cookie" ? "; " : ", ";
this.headersMap.set(lowercaseName, {
name: exists2.name,
value: `${exists2.value}${delimiter2}${value}`
});
} else {
this.headersMap.set(lowercaseName, { name: name3, value });
}
if (lowercaseName === "set-cookie") {
(this.cookies ??= []).push(value);
}
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-set
* @param {string} name
* @param {string} value
* @param {boolean} isLowerCase
*/
set(name3, value, isLowerCase) {
this.sortedMap = null;
const lowercaseName = isLowerCase ? name3 : name3.toLowerCase();
if (lowercaseName === "set-cookie") {
this.cookies = [value];
}
this.headersMap.set(lowercaseName, { name: name3, value });
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-delete
* @param {string} name
* @param {boolean} isLowerCase
*/
delete(name3, isLowerCase) {
this.sortedMap = null;
if (!isLowerCase) name3 = name3.toLowerCase();
if (name3 === "set-cookie") {
this.cookies = null;
}
this.headersMap.delete(name3);
}
/**
* @see https://fetch.spec.whatwg.org/#concept-header-list-get
* @param {string} name
* @param {boolean} isLowerCase
* @returns {string | null}
*/
get(name3, isLowerCase) {
return this.headersMap.get(isLowerCase ? name3 : name3.toLowerCase())?.value ?? null;
}
*[Symbol.iterator]() {
for (const { 0: name3, 1: { value } } of this.headersMap) {
yield [name3, value];
}
}
get entries() {
const headers = {};
if (this.headersMap.size !== 0) {
for (const { name: name3, value } of this.headersMap.values()) {
headers[name3] = value;
}
}
return headers;
}
rawValues() {
return this.headersMap.values();
}
get entriesList() {
const headers = [];
if (this.headersMap.size !== 0) {
for (const { 0: lowerName, 1: { name: name3, value } } of this.headersMap) {
if (lowerName === "set-cookie") {
for (const cookie of this.cookies) {
headers.push([name3, cookie]);
}
} else {
headers.push([name3, value]);
}
}
}
return headers;
}
// https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set
toSortedArray() {
const size = this.headersMap.size;
const array2 = new Array(size);
if (size <= 32) {
if (size === 0) {
return array2;
}
const iterator = this.headersMap[Symbol.iterator]();
const firstValue = iterator.next().value;
array2[0] = [firstValue[0], firstValue[1].value];
assert3(firstValue[1].value !== null);
for (let i3 = 1, j = 0, right2 = 0, left2 = 0, pivot = 0, x, value; i3 < size; ++i3) {
value = iterator.next().value;
x = array2[i3] = [value[0], value[1].value];
assert3(x[1] !== null);
left2 = 0;
right2 = i3;
while (left2 < right2) {
pivot = left2 + (right2 - left2 >> 1);
if (array2[pivot][0] <= x[0]) {
left2 = pivot + 1;
} else {
right2 = pivot;
}
}
if (i3 !== pivot) {
j = i3;
while (j > left2) {
array2[j] = array2[--j];
}
array2[left2] = x;
}
}
if (!iterator.next().done) {
throw new TypeError("Unreachable");
}
return array2;
} else {
let i3 = 0;
for (const { 0: name3, 1: { value } } of this.headersMap) {
array2[i3++] = [name3, value];
assert3(value !== null);
}
return array2.sort(compareHeaderName);
}
}
};
var Headers2 = class _Headers {
#guard;
/**
* @type {HeadersList}
*/
#headersList;
/**
* @param {HeadersInit|Symbol} [init]
* @returns
*/
constructor(init2 = void 0) {
webidl.util.markAsUncloneable(this);
if (init2 === kConstruct) {
return;
}
this.#headersList = new HeadersList();
this.#guard = "none";
if (init2 !== void 0) {
init2 = webidl.converters.HeadersInit(init2, "Headers constructor", "init");
fill(this, init2);
}
}
// https://fetch.spec.whatwg.org/#dom-headers-append
append(name3, value) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 2, "Headers.append");
const prefix = "Headers.append";
name3 = webidl.converters.ByteString(name3, prefix, "name");
value = webidl.converters.ByteString(value, prefix, "value");
return appendHeader(this, name3, value);
}
// https://fetch.spec.whatwg.org/#dom-headers-delete
delete(name3) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
const prefix = "Headers.delete";
name3 = webidl.converters.ByteString(name3, prefix, "name");
if (!isValidHeaderName(name3)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.delete",
value: name3,
type: "header name"
});
}
if (this.#guard === "immutable") {
throw new TypeError("immutable");
}
if (!this.#headersList.contains(name3, false)) {
return;
}
this.#headersList.delete(name3, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-get
get(name3) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 1, "Headers.get");
const prefix = "Headers.get";
name3 = webidl.converters.ByteString(name3, prefix, "name");
if (!isValidHeaderName(name3)) {
throw webidl.errors.invalidArgument({
prefix,
value: name3,
type: "header name"
});
}
return this.#headersList.get(name3, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-has
has(name3) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 1, "Headers.has");
const prefix = "Headers.has";
name3 = webidl.converters.ByteString(name3, prefix, "name");
if (!isValidHeaderName(name3)) {
throw webidl.errors.invalidArgument({
prefix,
value: name3,
type: "header name"
});
}
return this.#headersList.contains(name3, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-set
set(name3, value) {
webidl.brandCheck(this, _Headers);
webidl.argumentLengthCheck(arguments, 2, "Headers.set");
const prefix = "Headers.set";
name3 = webidl.converters.ByteString(name3, prefix, "name");
value = webidl.converters.ByteString(value, prefix, "value");
value = headerValueNormalize(value);
if (!isValidHeaderName(name3)) {
throw webidl.errors.invalidArgument({
prefix,
value: name3,
type: "header name"
});
} else if (!isValidHeaderValue(value)) {
throw webidl.errors.invalidArgument({
prefix,
value,
type: "header value"
});
}
if (this.#guard === "immutable") {
throw new TypeError("immutable");
}
this.#headersList.set(name3, value, false);
}
// https://fetch.spec.whatwg.org/#dom-headers-getsetcookie
getSetCookie() {
webidl.brandCheck(this, _Headers);
const list = this.#headersList.cookies;
if (list) {
return [...list];
}
return [];
}
[util2.inspect.custom](depth, options) {
options.depth ??= depth;
return `Headers ${util2.formatWithOptions(options, this.#headersList.entries)}`;
}
static getHeadersGuard(o3) {
return o3.#guard;
}
static setHeadersGuard(o3, guard) {
o3.#guard = guard;
}
/**
* @param {Headers} o
*/
static getHeadersList(o3) {
return o3.#headersList;
}
/**
* @param {Headers} target
* @param {HeadersList} list
*/
static setHeadersList(target, list) {
target.#headersList = list;
}
};
var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers2;
Reflect.deleteProperty(Headers2, "getHeadersGuard");
Reflect.deleteProperty(Headers2, "setHeadersGuard");
Reflect.deleteProperty(Headers2, "getHeadersList");
Reflect.deleteProperty(Headers2, "setHeadersList");
iteratorMixin("Headers", Headers2, headersListSortAndCombine, 0, 1);
Object.defineProperties(Headers2.prototype, {
append: kEnumerableProperty,
delete: kEnumerableProperty,
get: kEnumerableProperty,
has: kEnumerableProperty,
set: kEnumerableProperty,
getSetCookie: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Headers",
configurable: true
},
[util2.inspect.custom]: {
enumerable: false
}
});
webidl.converters.HeadersInit = function(V2, prefix, argument) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT) {
const iterator = Reflect.get(V2, Symbol.iterator);
if (!util2.types.isProxy(V2) && iterator === Headers2.prototype.entries) {
try {
return getHeadersList(V2).entriesList;
} catch {
}
}
if (typeof iterator === "function") {
return webidl.converters["sequence<sequence<ByteString>>"](V2, prefix, argument, iterator.bind(V2));
}
return webidl.converters["record<ByteString, ByteString>"](V2, prefix, argument);
}
throw webidl.errors.conversionFailed({
prefix: "Headers constructor",
argument: "Argument 1",
types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"]
});
};
module2.exports = {
fill,
// for test.
compareHeaderName,
Headers: Headers2,
HeadersList,
getHeadersGuard,
setHeadersGuard,
setHeadersList,
getHeadersList
};
}
});
// node_modules/undici/lib/web/fetch/response.js
var require_response = __commonJS({
"node_modules/undici/lib/web/fetch/response.js"(exports2, module2) {
"use strict";
var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
var util2 = require_util13();
var nodeUtil = __require("node:util");
var { kEnumerableProperty } = util2;
var {
isValidReasonPhrase,
isCancelled,
isAborted,
isErrorLike,
environmentSettingsObject: relevantRealm
} = require_util14();
var {
redirectStatusSet,
nullBodyStatus
} = require_constants6();
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { kConstruct } = require_symbols();
var assert3 = __require("node:assert");
var { isomorphicEncode, serializeJavascriptValueToJSONString } = require_infra();
var textEncoder3 = new TextEncoder("utf-8");
var Response2 = class _Response {
/** @type {Headers} */
#headers;
#state;
// Creates network error Response.
static error() {
const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
return responseObject;
}
// https://fetch.spec.whatwg.org/#dom-response-json
static json(data, init2 = void 0) {
webidl.argumentLengthCheck(arguments, 1, "Response.json");
if (init2 !== null) {
init2 = webidl.converters.ResponseInit(init2);
}
const bytes = textEncoder3.encode(
serializeJavascriptValueToJSONString(data)
);
const body2 = extractBody(bytes);
const responseObject = fromInnerResponse(makeResponse({}), "response");
initializeResponse(responseObject, init2, { body: body2[0], type: "application/json" });
return responseObject;
}
// Creates a redirect Response that redirects to url with status status.
static redirect(url3, status2 = 302) {
webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
url3 = webidl.converters.USVString(url3);
status2 = webidl.converters["unsigned short"](status2);
let parsedURL;
try {
parsedURL = new URL(url3, relevantRealm.settingsObject.baseUrl);
} catch (err2) {
throw new TypeError(`Failed to parse URL from ${url3}`, { cause: err2 });
}
if (!redirectStatusSet.has(status2)) {
throw new RangeError(`Invalid status code ${status2}`);
}
const responseObject = fromInnerResponse(makeResponse({}), "immutable");
responseObject.#state.status = status2;
const value = isomorphicEncode(URLSerializer(parsedURL));
responseObject.#state.headersList.append("location", value, true);
return responseObject;
}
// https://fetch.spec.whatwg.org/#dom-response
constructor(body2 = null, init2 = void 0) {
webidl.util.markAsUncloneable(this);
if (body2 === kConstruct) {
return;
}
if (body2 !== null) {
body2 = webidl.converters.BodyInit(body2, "Response", "body");
}
init2 = webidl.converters.ResponseInit(init2);
this.#state = makeResponse({});
this.#headers = new Headers2(kConstruct);
setHeadersGuard(this.#headers, "response");
setHeadersList(this.#headers, this.#state.headersList);
let bodyWithType = null;
if (body2 != null) {
const [extractedBody, type2] = extractBody(body2);
bodyWithType = { body: extractedBody, type: type2 };
}
initializeResponse(this, init2, bodyWithType);
}
// Returns response’s type, e.g., "cors".
get type() {
webidl.brandCheck(this, _Response);
return this.#state.type;
}
// Returns response’s URL, if it has one; otherwise the empty string.
get url() {
webidl.brandCheck(this, _Response);
const urlList = this.#state.urlList;
const url3 = urlList[urlList.length - 1] ?? null;
if (url3 === null) {
return "";
}
return URLSerializer(url3, true);
}
// Returns whether response was obtained through a redirect.
get redirected() {
webidl.brandCheck(this, _Response);
return this.#state.urlList.length > 1;
}
// Returns response’s status.
get status() {
webidl.brandCheck(this, _Response);
return this.#state.status;
}
// Returns whether response’s status is an ok status.
get ok() {
webidl.brandCheck(this, _Response);
return this.#state.status >= 200 && this.#state.status <= 299;
}
// Returns response’s status message.
get statusText() {
webidl.brandCheck(this, _Response);
return this.#state.statusText;
}
// Returns response’s headers as Headers.
get headers() {
webidl.brandCheck(this, _Response);
return this.#headers;
}
get body() {
webidl.brandCheck(this, _Response);
return this.#state.body ? this.#state.body.stream : null;
}
get bodyUsed() {
webidl.brandCheck(this, _Response);
return !!this.#state.body && util2.isDisturbed(this.#state.body.stream);
}
// Returns a clone of response.
clone() {
webidl.brandCheck(this, _Response);
if (bodyUnusable(this.#state)) {
throw webidl.errors.exception({
header: "Response.clone",
message: "Body has already been consumed."
});
}
const clonedResponse = cloneResponse(this.#state);
if (this.#state.urlList.length !== 0 && this.#state.body?.stream) {
streamRegistry.register(this, new WeakRef(this.#state.body.stream));
}
return fromInnerResponse(clonedResponse, getHeadersGuard(this.#headers));
}
[nodeUtil.inspect.custom](depth, options) {
if (options.depth === null) {
options.depth = 2;
}
options.colors ??= true;
const properties = {
status: this.status,
statusText: this.statusText,
headers: this.headers,
body: this.body,
bodyUsed: this.bodyUsed,
ok: this.ok,
redirected: this.redirected,
type: this.type,
url: this.url
};
return `Response ${nodeUtil.formatWithOptions(options, properties)}`;
}
/**
* @param {Response} response
*/
static getResponseHeaders(response) {
return response.#headers;
}
/**
* @param {Response} response
* @param {Headers} newHeaders
*/
static setResponseHeaders(response, newHeaders) {
response.#headers = newHeaders;
}
/**
* @param {Response} response
*/
static getResponseState(response) {
return response.#state;
}
/**
* @param {Response} response
* @param {any} newState
*/
static setResponseState(response, newState) {
response.#state = newState;
}
};
var { getResponseHeaders, setResponseHeaders, getResponseState, setResponseState } = Response2;
Reflect.deleteProperty(Response2, "getResponseHeaders");
Reflect.deleteProperty(Response2, "setResponseHeaders");
Reflect.deleteProperty(Response2, "getResponseState");
Reflect.deleteProperty(Response2, "setResponseState");
mixinBody(Response2, getResponseState);
Object.defineProperties(Response2.prototype, {
type: kEnumerableProperty,
url: kEnumerableProperty,
status: kEnumerableProperty,
ok: kEnumerableProperty,
redirected: kEnumerableProperty,
statusText: kEnumerableProperty,
headers: kEnumerableProperty,
clone: kEnumerableProperty,
body: kEnumerableProperty,
bodyUsed: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Response",
configurable: true
}
});
Object.defineProperties(Response2, {
json: kEnumerableProperty,
redirect: kEnumerableProperty,
error: kEnumerableProperty
});
function cloneResponse(response) {
if (response.internalResponse) {
return filterResponse(
cloneResponse(response.internalResponse),
response.type
);
}
const newResponse = makeResponse({ ...response, body: null });
if (response.body != null) {
newResponse.body = cloneBody(response.body);
}
return newResponse;
}
function makeResponse(init2) {
return {
aborted: false,
rangeRequested: false,
timingAllowPassed: false,
requestIncludesCredentials: false,
type: "default",
status: 200,
timingInfo: null,
cacheState: "",
statusText: "",
...init2,
headersList: init2?.headersList ? new HeadersList(init2?.headersList) : new HeadersList(),
urlList: init2?.urlList ? [...init2.urlList] : []
};
}
function makeNetworkError(reason) {
const isError = isErrorLike(reason);
return makeResponse({
type: "error",
status: 0,
error: isError ? reason : new Error(reason ? String(reason) : reason),
aborted: reason && reason.name === "AbortError"
});
}
function isNetworkError(response) {
return (
// A network error is a response whose type is "error",
response.type === "error" && // status is 0
response.status === 0
);
}
function makeFilteredResponse(response, state) {
state = {
internalResponse: response,
...state
};
return new Proxy(response, {
get(target, p) {
return p in state ? state[p] : target[p];
},
set(target, p, value) {
assert3(!(p in state));
target[p] = value;
return true;
}
});
}
function filterResponse(response, type2) {
if (type2 === "basic") {
return makeFilteredResponse(response, {
type: "basic",
headersList: response.headersList
});
} else if (type2 === "cors") {
return makeFilteredResponse(response, {
type: "cors",
headersList: response.headersList
});
} else if (type2 === "opaque") {
return makeFilteredResponse(response, {
type: "opaque",
urlList: [],
status: 0,
statusText: "",
body: null
});
} else if (type2 === "opaqueredirect") {
return makeFilteredResponse(response, {
type: "opaqueredirect",
status: 0,
statusText: "",
headersList: [],
body: null
});
} else {
assert3(false);
}
}
function makeAppropriateNetworkError(fetchParams, err2 = null) {
assert3(isCancelled(fetchParams));
return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err2 })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err2 }));
}
function initializeResponse(response, init2, body2) {
if (init2.status !== null && (init2.status < 200 || init2.status > 599)) {
throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
}
if ("statusText" in init2 && init2.statusText != null) {
if (!isValidReasonPhrase(String(init2.statusText))) {
throw new TypeError("Invalid statusText");
}
}
if ("status" in init2 && init2.status != null) {
getResponseState(response).status = init2.status;
}
if ("statusText" in init2 && init2.statusText != null) {
getResponseState(response).statusText = init2.statusText;
}
if ("headers" in init2 && init2.headers != null) {
fill(getResponseHeaders(response), init2.headers);
}
if (body2) {
if (nullBodyStatus.includes(response.status)) {
throw webidl.errors.exception({
header: "Response constructor",
message: `Invalid response status code ${response.status}`
});
}
getResponseState(response).body = body2.body;
if (body2.type != null && !getResponseState(response).headersList.contains("content-type", true)) {
getResponseState(response).headersList.append("content-type", body2.type, true);
}
}
}
function fromInnerResponse(innerResponse, guard) {
const response = new Response2(kConstruct);
setResponseState(response, innerResponse);
const headers = new Headers2(kConstruct);
setResponseHeaders(response, headers);
setHeadersList(headers, innerResponse.headersList);
setHeadersGuard(headers, guard);
if (innerResponse.urlList.length !== 0 && innerResponse.body?.stream) {
streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
}
return response;
}
webidl.converters.XMLHttpRequestBodyInit = function(V2, prefix, name3) {
if (typeof V2 === "string") {
return webidl.converters.USVString(V2, prefix, name3);
}
if (webidl.is.Blob(V2)) {
return V2;
}
if (webidl.is.BufferSource(V2)) {
return V2;
}
if (webidl.is.FormData(V2)) {
return V2;
}
if (webidl.is.URLSearchParams(V2)) {
return V2;
}
return webidl.converters.DOMString(V2, prefix, name3);
};
webidl.converters.BodyInit = function(V2, prefix, argument) {
if (webidl.is.ReadableStream(V2)) {
return V2;
}
if (V2?.[Symbol.asyncIterator]) {
return V2;
}
return webidl.converters.XMLHttpRequestBodyInit(V2, prefix, argument);
};
webidl.converters.ResponseInit = webidl.dictionaryConverter([
{
key: "status",
converter: webidl.converters["unsigned short"],
defaultValue: () => 200
},
{
key: "statusText",
converter: webidl.converters.ByteString,
defaultValue: () => ""
},
{
key: "headers",
converter: webidl.converters.HeadersInit
}
]);
webidl.is.Response = webidl.util.MakeTypeAssertion(Response2);
module2.exports = {
isNetworkError,
makeNetworkError,
makeResponse,
makeAppropriateNetworkError,
filterResponse,
Response: Response2,
cloneResponse,
fromInnerResponse,
getResponseState
};
}
});
// node_modules/undici/lib/web/fetch/request.js
var require_request2 = __commonJS({
"node_modules/undici/lib/web/fetch/request.js"(exports2, module2) {
"use strict";
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
var util2 = require_util13();
var nodeUtil = __require("node:util");
var {
isValidHTTPToken,
sameOrigin,
environmentSettingsObject
} = require_util14();
var {
forbiddenMethodsSet,
corsSafeListedMethodsSet,
referrerPolicy,
requestRedirect,
requestMode,
requestCredentials,
requestCache,
requestDuplex
} = require_constants6();
var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util2;
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { kConstruct } = require_symbols();
var assert3 = __require("node:assert");
var { getMaxListeners, setMaxListeners: setMaxListeners2, defaultMaxListeners } = __require("node:events");
var kAbortController = Symbol("abortController");
var requestFinalizer = new FinalizationRegistry(({ signal, abort: abort2 }) => {
signal.removeEventListener("abort", abort2);
});
var dependentControllerMap = /* @__PURE__ */ new WeakMap();
var abortSignalHasEventHandlerLeakWarning;
try {
abortSignalHasEventHandlerLeakWarning = getMaxListeners(new AbortController().signal) > 0;
} catch {
abortSignalHasEventHandlerLeakWarning = false;
}
function buildAbort(acRef) {
return abort2;
function abort2() {
const ac = acRef.deref();
if (ac !== void 0) {
requestFinalizer.unregister(abort2);
this.removeEventListener("abort", abort2);
ac.abort(this.reason);
const controllerList = dependentControllerMap.get(ac.signal);
if (controllerList !== void 0) {
if (controllerList.size !== 0) {
for (const ref of controllerList) {
const ctrl = ref.deref();
if (ctrl !== void 0) {
ctrl.abort(this.reason);
}
}
controllerList.clear();
}
dependentControllerMap.delete(ac.signal);
}
}
}
}
var patchMethodWarning = false;
var Request = class _Request {
/** @type {AbortSignal} */
#signal;
/** @type {import('../../dispatcher/dispatcher')} */
#dispatcher;
/** @type {Headers} */
#headers;
#state;
// https://fetch.spec.whatwg.org/#dom-request
constructor(input, init2 = void 0) {
webidl.util.markAsUncloneable(this);
if (input === kConstruct) {
return;
}
const prefix = "Request constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
input = webidl.converters.RequestInfo(input);
init2 = webidl.converters.RequestInit(init2);
let request = null;
let fallbackMode = null;
const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
let signal = null;
if (typeof input === "string") {
this.#dispatcher = init2.dispatcher;
let parsedURL;
try {
parsedURL = new URL(input, baseUrl);
} catch (err2) {
throw new TypeError("Failed to parse URL from " + input, { cause: err2 });
}
if (parsedURL.username || parsedURL.password) {
throw new TypeError(
"Request cannot be constructed from a URL that includes credentials: " + input
);
}
request = makeRequest({ urlList: [parsedURL] });
fallbackMode = "cors";
} else {
assert3(webidl.is.Request(input));
request = input.#state;
signal = input.#signal;
this.#dispatcher = init2.dispatcher || input.#dispatcher;
}
const origin = environmentSettingsObject.settingsObject.origin;
let window2 = "client";
if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) {
window2 = request.window;
}
if (init2.window != null) {
throw new TypeError(`'window' option '${window2}' must be null`);
}
if ("window" in init2) {
window2 = "no-window";
}
request = makeRequest({
// URL request’s URL.
// undici implementation note: this is set as the first item in request's urlList in makeRequest
// method request’s method.
method: request.method,
// header list A copy of request’s header list.
// undici implementation note: headersList is cloned in makeRequest
headersList: request.headersList,
// unsafe-request flag Set.
unsafeRequest: request.unsafeRequest,
// client This’s relevant settings object.
client: environmentSettingsObject.settingsObject,
// window window.
window: window2,
// priority request’s priority.
priority: request.priority,
// origin request’s origin. The propagation of the origin is only significant for navigation requests
// being handled by a service worker. In this scenario a request can have an origin that is different
// from the current client.
origin: request.origin,
// referrer request’s referrer.
referrer: request.referrer,
// referrer policy request’s referrer policy.
referrerPolicy: request.referrerPolicy,
// mode request’s mode.
mode: request.mode,
// credentials mode request’s credentials mode.
credentials: request.credentials,
// cache mode request’s cache mode.
cache: request.cache,
// redirect mode request’s redirect mode.
redirect: request.redirect,
// integrity metadata request’s integrity metadata.
integrity: request.integrity,
// keepalive request’s keepalive.
keepalive: request.keepalive,
// reload-navigation flag request’s reload-navigation flag.
reloadNavigation: request.reloadNavigation,
// history-navigation flag request’s history-navigation flag.
historyNavigation: request.historyNavigation,
// URL list A clone of request’s URL list.
urlList: [...request.urlList]
});
const initHasKey = Object.keys(init2).length !== 0;
if (initHasKey) {
if (request.mode === "navigate") {
request.mode = "same-origin";
}
request.reloadNavigation = false;
request.historyNavigation = false;
request.origin = "client";
request.referrer = "client";
request.referrerPolicy = "";
request.url = request.urlList[request.urlList.length - 1];
request.urlList = [request.url];
}
if (init2.referrer !== void 0) {
const referrer = init2.referrer;
if (referrer === "") {
request.referrer = "no-referrer";
} else {
let parsedReferrer;
try {
parsedReferrer = new URL(referrer, baseUrl);
} catch (err2) {
throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err2 });
}
if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
request.referrer = "client";
} else {
request.referrer = parsedReferrer;
}
}
}
if (init2.referrerPolicy !== void 0) {
request.referrerPolicy = init2.referrerPolicy;
}
let mode;
if (init2.mode !== void 0) {
mode = init2.mode;
} else {
mode = fallbackMode;
}
if (mode === "navigate") {
throw webidl.errors.exception({
header: "Request constructor",
message: "invalid request mode navigate."
});
}
if (mode != null) {
request.mode = mode;
}
if (init2.credentials !== void 0) {
request.credentials = init2.credentials;
}
if (init2.cache !== void 0) {
request.cache = init2.cache;
}
if (request.cache === "only-if-cached" && request.mode !== "same-origin") {
throw new TypeError(
"'only-if-cached' can be set only with 'same-origin' mode"
);
}
if (init2.redirect !== void 0) {
request.redirect = init2.redirect;
}
if (init2.integrity != null) {
request.integrity = String(init2.integrity);
}
if (init2.keepalive !== void 0) {
request.keepalive = Boolean(init2.keepalive);
}
if (init2.method !== void 0) {
let method = init2.method;
const mayBeNormalized = normalizedMethodRecords[method];
if (mayBeNormalized !== void 0) {
request.method = mayBeNormalized;
} else {
if (!isValidHTTPToken(method)) {
throw new TypeError(`'${method}' is not a valid HTTP method.`);
}
const upperCase = method.toUpperCase();
if (forbiddenMethodsSet.has(upperCase)) {
throw new TypeError(`'${method}' HTTP method is unsupported.`);
}
method = normalizedMethodRecordsBase[upperCase] ?? method;
request.method = method;
}
if (!patchMethodWarning && request.method === "patch") {
process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.", {
code: "UNDICI-FETCH-patch"
});
patchMethodWarning = true;
}
}
if (init2.signal !== void 0) {
signal = init2.signal;
}
this.#state = request;
const ac = new AbortController();
this.#signal = ac.signal;
if (signal != null) {
if (signal.aborted) {
ac.abort(signal.reason);
} else {
this[kAbortController] = ac;
const acRef = new WeakRef(ac);
const abort2 = buildAbort(acRef);
if (abortSignalHasEventHandlerLeakWarning && getMaxListeners(signal) === defaultMaxListeners) {
setMaxListeners2(1500, signal);
}
util2.addAbortListener(signal, abort2);
requestFinalizer.register(ac, { signal, abort: abort2 }, abort2);
}
}
this.#headers = new Headers2(kConstruct);
setHeadersList(this.#headers, request.headersList);
setHeadersGuard(this.#headers, "request");
if (mode === "no-cors") {
if (!corsSafeListedMethodsSet.has(request.method)) {
throw new TypeError(
`'${request.method} is unsupported in no-cors mode.`
);
}
setHeadersGuard(this.#headers, "request-no-cors");
}
if (initHasKey) {
const headersList = getHeadersList(this.#headers);
const headers = init2.headers !== void 0 ? init2.headers : new HeadersList(headersList);
headersList.clear();
if (headers instanceof HeadersList) {
for (const { name: name3, value } of headers.rawValues()) {
headersList.append(name3, value, false);
}
headersList.cookies = headers.cookies;
} else {
fillHeaders(this.#headers, headers);
}
}
const inputBody = webidl.is.Request(input) ? input.#state.body : null;
if ((init2.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) {
throw new TypeError("Request with GET/HEAD method cannot have body.");
}
let initBody = null;
if (init2.body != null) {
const [extractedBody, contentType] = extractBody(
init2.body,
request.keepalive
);
initBody = extractedBody;
if (contentType && !getHeadersList(this.#headers).contains("content-type", true)) {
this.#headers.append("content-type", contentType, true);
}
}
const inputOrInitBody = initBody ?? inputBody;
if (inputOrInitBody != null && inputOrInitBody.source == null) {
if (initBody != null && init2.duplex == null) {
throw new TypeError("RequestInit: duplex option is required when sending a body.");
}
if (request.mode !== "same-origin" && request.mode !== "cors") {
throw new TypeError(
'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
);
}
request.useCORSPreflightFlag = true;
}
let finalBody = inputOrInitBody;
if (initBody == null && inputBody != null) {
if (bodyUnusable(input.#state)) {
throw new TypeError(
"Cannot construct a Request with a Request object that has already been used."
);
}
const identityTransform = new TransformStream();
inputBody.stream.pipeThrough(identityTransform);
finalBody = {
source: inputBody.source,
length: inputBody.length,
stream: identityTransform.readable
};
}
this.#state.body = finalBody;
}
// Returns request’s HTTP method, which is "GET" by default.
get method() {
webidl.brandCheck(this, _Request);
return this.#state.method;
}
// Returns the URL of request as a string.
get url() {
webidl.brandCheck(this, _Request);
return URLSerializer(this.#state.url);
}
// Returns a Headers object consisting of the headers associated with request.
// Note that headers added in the network layer by the user agent will not
// be accounted for in this object, e.g., the "Host" header.
get headers() {
webidl.brandCheck(this, _Request);
return this.#headers;
}
// Returns the kind of resource requested by request, e.g., "document"
// or "script".
get destination() {
webidl.brandCheck(this, _Request);
return this.#state.destination;
}
// Returns the referrer of request. Its value can be a same-origin URL if
// explicitly set in init, the empty string to indicate no referrer, and
// "about:client" when defaulting to the global’s default. This is used
// during fetching to determine the value of the `Referer` header of the
// request being made.
get referrer() {
webidl.brandCheck(this, _Request);
if (this.#state.referrer === "no-referrer") {
return "";
}
if (this.#state.referrer === "client") {
return "about:client";
}
return this.#state.referrer.toString();
}
// Returns the referrer policy associated with request.
// This is used during fetching to compute the value of the request’s
// referrer.
get referrerPolicy() {
webidl.brandCheck(this, _Request);
return this.#state.referrerPolicy;
}
// Returns the mode associated with request, which is a string indicating
// whether the request will use CORS, or will be restricted to same-origin
// URLs.
get mode() {
webidl.brandCheck(this, _Request);
return this.#state.mode;
}
// Returns the credentials mode associated with request,
// which is a string indicating whether credentials will be sent with the
// request always, never, or only when sent to a same-origin URL.
get credentials() {
webidl.brandCheck(this, _Request);
return this.#state.credentials;
}
// Returns the cache mode associated with request,
// which is a string indicating how the request will
// interact with the browser’s cache when fetching.
get cache() {
webidl.brandCheck(this, _Request);
return this.#state.cache;
}
// Returns the redirect mode associated with request,
// which is a string indicating how redirects for the
// request will be handled during fetching. A request
// will follow redirects by default.
get redirect() {
webidl.brandCheck(this, _Request);
return this.#state.redirect;
}
// Returns request’s subresource integrity metadata, which is a
// cryptographic hash of the resource being fetched. Its value
// consists of multiple hashes separated by whitespace. [SRI]
get integrity() {
webidl.brandCheck(this, _Request);
return this.#state.integrity;
}
// Returns a boolean indicating whether or not request can outlive the
// global in which it was created.
get keepalive() {
webidl.brandCheck(this, _Request);
return this.#state.keepalive;
}
// Returns a boolean indicating whether or not request is for a reload
// navigation.
get isReloadNavigation() {
webidl.brandCheck(this, _Request);
return this.#state.reloadNavigation;
}
// Returns a boolean indicating whether or not request is for a history
// navigation (a.k.a. back-forward navigation).
get isHistoryNavigation() {
webidl.brandCheck(this, _Request);
return this.#state.historyNavigation;
}
// Returns the signal associated with request, which is an AbortSignal
// object indicating whether or not request has been aborted, and its
// abort event handler.
get signal() {
webidl.brandCheck(this, _Request);
return this.#signal;
}
get body() {
webidl.brandCheck(this, _Request);
return this.#state.body ? this.#state.body.stream : null;
}
get bodyUsed() {
webidl.brandCheck(this, _Request);
return !!this.#state.body && util2.isDisturbed(this.#state.body.stream);
}
get duplex() {
webidl.brandCheck(this, _Request);
return "half";
}
// Returns a clone of request.
clone() {
webidl.brandCheck(this, _Request);
if (bodyUnusable(this.#state)) {
throw new TypeError("unusable");
}
const clonedRequest = cloneRequest(this.#state);
const ac = new AbortController();
if (this.signal.aborted) {
ac.abort(this.signal.reason);
} else {
let list = dependentControllerMap.get(this.signal);
if (list === void 0) {
list = /* @__PURE__ */ new Set();
dependentControllerMap.set(this.signal, list);
}
const acRef = new WeakRef(ac);
list.add(acRef);
util2.addAbortListener(
ac.signal,
buildAbort(acRef)
);
}
return fromInnerRequest(clonedRequest, this.#dispatcher, ac.signal, getHeadersGuard(this.#headers));
}
[nodeUtil.inspect.custom](depth, options) {
if (options.depth === null) {
options.depth = 2;
}
options.colors ??= true;
const properties = {
method: this.method,
url: this.url,
headers: this.headers,
destination: this.destination,
referrer: this.referrer,
referrerPolicy: this.referrerPolicy,
mode: this.mode,
credentials: this.credentials,
cache: this.cache,
redirect: this.redirect,
integrity: this.integrity,
keepalive: this.keepalive,
isReloadNavigation: this.isReloadNavigation,
isHistoryNavigation: this.isHistoryNavigation,
signal: this.signal
};
return `Request ${nodeUtil.formatWithOptions(options, properties)}`;
}
/**
* @param {Request} request
* @param {AbortSignal} newSignal
*/
static setRequestSignal(request, newSignal) {
request.#signal = newSignal;
return request;
}
/**
* @param {Request} request
*/
static getRequestDispatcher(request) {
return request.#dispatcher;
}
/**
* @param {Request} request
* @param {import('../../dispatcher/dispatcher')} newDispatcher
*/
static setRequestDispatcher(request, newDispatcher) {
request.#dispatcher = newDispatcher;
}
/**
* @param {Request} request
* @param {Headers} newHeaders
*/
static setRequestHeaders(request, newHeaders) {
request.#headers = newHeaders;
}
/**
* @param {Request} request
*/
static getRequestState(request) {
return request.#state;
}
/**
* @param {Request} request
* @param {any} newState
*/
static setRequestState(request, newState) {
request.#state = newState;
}
};
var { setRequestSignal, getRequestDispatcher, setRequestDispatcher, setRequestHeaders, getRequestState, setRequestState } = Request;
Reflect.deleteProperty(Request, "setRequestSignal");
Reflect.deleteProperty(Request, "getRequestDispatcher");
Reflect.deleteProperty(Request, "setRequestDispatcher");
Reflect.deleteProperty(Request, "setRequestHeaders");
Reflect.deleteProperty(Request, "getRequestState");
Reflect.deleteProperty(Request, "setRequestState");
mixinBody(Request, getRequestState);
function makeRequest(init2) {
return {
method: init2.method ?? "GET",
localURLsOnly: init2.localURLsOnly ?? false,
unsafeRequest: init2.unsafeRequest ?? false,
body: init2.body ?? null,
client: init2.client ?? null,
reservedClient: init2.reservedClient ?? null,
replacesClientId: init2.replacesClientId ?? "",
window: init2.window ?? "client",
keepalive: init2.keepalive ?? false,
serviceWorkers: init2.serviceWorkers ?? "all",
initiator: init2.initiator ?? "",
destination: init2.destination ?? "",
priority: init2.priority ?? null,
origin: init2.origin ?? "client",
policyContainer: init2.policyContainer ?? "client",
referrer: init2.referrer ?? "client",
referrerPolicy: init2.referrerPolicy ?? "",
mode: init2.mode ?? "no-cors",
useCORSPreflightFlag: init2.useCORSPreflightFlag ?? false,
credentials: init2.credentials ?? "same-origin",
useCredentials: init2.useCredentials ?? false,
cache: init2.cache ?? "default",
redirect: init2.redirect ?? "follow",
integrity: init2.integrity ?? "",
cryptoGraphicsNonceMetadata: init2.cryptoGraphicsNonceMetadata ?? "",
parserMetadata: init2.parserMetadata ?? "",
reloadNavigation: init2.reloadNavigation ?? false,
historyNavigation: init2.historyNavigation ?? false,
userActivation: init2.userActivation ?? false,
taintedOrigin: init2.taintedOrigin ?? false,
redirectCount: init2.redirectCount ?? 0,
responseTainting: init2.responseTainting ?? "basic",
preventNoCacheCacheControlHeaderModification: init2.preventNoCacheCacheControlHeaderModification ?? false,
done: init2.done ?? false,
timingAllowFailed: init2.timingAllowFailed ?? false,
useURLCredentials: init2.useURLCredentials ?? void 0,
traversableForUserPrompts: init2.traversableForUserPrompts ?? "client",
urlList: init2.urlList,
url: init2.urlList[0],
headersList: init2.headersList ? new HeadersList(init2.headersList) : new HeadersList()
};
}
function cloneRequest(request) {
const newRequest = makeRequest({ ...request, body: null });
if (request.body != null) {
newRequest.body = cloneBody(request.body);
}
return newRequest;
}
function fromInnerRequest(innerRequest, dispatcher, signal, guard) {
const request = new Request(kConstruct);
setRequestState(request, innerRequest);
setRequestDispatcher(request, dispatcher);
setRequestSignal(request, signal);
const headers = new Headers2(kConstruct);
setRequestHeaders(request, headers);
setHeadersList(headers, innerRequest.headersList);
setHeadersGuard(headers, guard);
return request;
}
Object.defineProperties(Request.prototype, {
method: kEnumerableProperty,
url: kEnumerableProperty,
headers: kEnumerableProperty,
redirect: kEnumerableProperty,
clone: kEnumerableProperty,
signal: kEnumerableProperty,
duplex: kEnumerableProperty,
destination: kEnumerableProperty,
body: kEnumerableProperty,
bodyUsed: kEnumerableProperty,
isHistoryNavigation: kEnumerableProperty,
isReloadNavigation: kEnumerableProperty,
keepalive: kEnumerableProperty,
integrity: kEnumerableProperty,
cache: kEnumerableProperty,
credentials: kEnumerableProperty,
attribute: kEnumerableProperty,
referrerPolicy: kEnumerableProperty,
referrer: kEnumerableProperty,
mode: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Request",
configurable: true
}
});
webidl.is.Request = webidl.util.MakeTypeAssertion(Request);
webidl.converters.RequestInfo = function(V2) {
if (typeof V2 === "string") {
return webidl.converters.USVString(V2);
}
if (webidl.is.Request(V2)) {
return V2;
}
return webidl.converters.USVString(V2);
};
webidl.converters.RequestInit = webidl.dictionaryConverter([
{
key: "method",
converter: webidl.converters.ByteString
},
{
key: "headers",
converter: webidl.converters.HeadersInit
},
{
key: "body",
converter: webidl.nullableConverter(
webidl.converters.BodyInit
)
},
{
key: "referrer",
converter: webidl.converters.USVString
},
{
key: "referrerPolicy",
converter: webidl.converters.DOMString,
// https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
allowedValues: referrerPolicy
},
{
key: "mode",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#concept-request-mode
allowedValues: requestMode
},
{
key: "credentials",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#requestcredentials
allowedValues: requestCredentials
},
{
key: "cache",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#requestcache
allowedValues: requestCache
},
{
key: "redirect",
converter: webidl.converters.DOMString,
// https://fetch.spec.whatwg.org/#requestredirect
allowedValues: requestRedirect
},
{
key: "integrity",
converter: webidl.converters.DOMString
},
{
key: "keepalive",
converter: webidl.converters.boolean
},
{
key: "signal",
converter: webidl.nullableConverter(
(signal) => webidl.converters.AbortSignal(
signal,
"RequestInit",
"signal"
)
)
},
{
key: "window",
converter: webidl.converters.any
},
{
key: "duplex",
converter: webidl.converters.DOMString,
allowedValues: requestDuplex
},
{
key: "dispatcher",
// undici specific option
converter: webidl.converters.any
},
{
key: "priority",
converter: webidl.converters.DOMString,
allowedValues: ["high", "low", "auto"],
defaultValue: () => "auto"
}
]);
module2.exports = {
Request,
makeRequest,
fromInnerRequest,
cloneRequest,
getRequestDispatcher,
getRequestState
};
}
});
// node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
var require_subresource_integrity = __commonJS({
"node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { runtimeFeatures } = require_runtime_features();
var validSRIHashAlgorithmTokenSet = /* @__PURE__ */ new Map([["sha256", 0], ["sha384", 1], ["sha512", 2]]);
var crypto22;
if (runtimeFeatures.has("crypto")) {
crypto22 = __require("node:crypto");
const cryptoHashes = crypto22.getHashes();
if (cryptoHashes.length === 0) {
validSRIHashAlgorithmTokenSet.clear();
}
for (const algorithm of validSRIHashAlgorithmTokenSet.keys()) {
if (cryptoHashes.includes(algorithm) === false) {
validSRIHashAlgorithmTokenSet.delete(algorithm);
}
}
} else {
validSRIHashAlgorithmTokenSet.clear();
}
var getSRIHashAlgorithmIndex = (
/** @type {GetSRIHashAlgorithmIndex} */
Map.prototype.get.bind(
validSRIHashAlgorithmTokenSet
)
);
var isValidSRIHashAlgorithm = (
/** @type {IsValidSRIHashAlgorithm} */
Map.prototype.has.bind(validSRIHashAlgorithmTokenSet)
);
var bytesMatch = runtimeFeatures.has("crypto") === false || validSRIHashAlgorithmTokenSet.size === 0 ? () => true : (bytes, metadataList) => {
const parsedMetadata = parseMetadata(metadataList);
if (parsedMetadata.length === 0) {
return true;
}
const metadata2 = getStrongestMetadata(parsedMetadata);
for (const item of metadata2) {
const algorithm = item.alg;
const expectedValue = item.val;
const actualValue = applyAlgorithmToBytes(algorithm, bytes);
if (caseSensitiveMatch(actualValue, expectedValue)) {
return true;
}
}
return false;
};
function getStrongestMetadata(metadataList) {
const result2 = [];
let strongest = null;
for (const item of metadataList) {
assert3(isValidSRIHashAlgorithm(item.alg), "Invalid SRI hash algorithm token");
if (result2.length === 0) {
result2.push(item);
strongest = item;
continue;
}
const currentAlgorithm = (
/** @type {Metadata} */
strongest.alg
);
const currentAlgorithmIndex = getSRIHashAlgorithmIndex(currentAlgorithm);
const newAlgorithm = item.alg;
const newAlgorithmIndex = getSRIHashAlgorithmIndex(newAlgorithm);
if (newAlgorithmIndex < currentAlgorithmIndex) {
continue;
} else if (newAlgorithmIndex > currentAlgorithmIndex) {
strongest = item;
result2[0] = item;
result2.length = 1;
} else {
result2.push(item);
}
}
return result2;
}
function parseMetadata(metadata2) {
const result2 = [];
for (const item of metadata2.split(" ")) {
const expressionAndOptions = item.split("?", 1);
const algorithmExpression = expressionAndOptions[0];
let base64Value = "";
const algorithmAndValue = [algorithmExpression.slice(0, 6), algorithmExpression.slice(7)];
const algorithm = algorithmAndValue[0];
if (!isValidSRIHashAlgorithm(algorithm)) {
continue;
}
if (algorithmAndValue[1]) {
base64Value = algorithmAndValue[1];
}
const metadata3 = {
alg: algorithm,
val: base64Value
};
result2.push(metadata3);
}
return result2;
}
var applyAlgorithmToBytes = (algorithm, bytes) => {
return crypto22.hash(algorithm, bytes, "base64");
};
function caseSensitiveMatch(actualValue, expectedValue) {
let actualValueLength = actualValue.length;
if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
actualValueLength -= 1;
}
if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
actualValueLength -= 1;
}
let expectedValueLength = expectedValue.length;
if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
expectedValueLength -= 1;
}
if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
expectedValueLength -= 1;
}
if (actualValueLength !== expectedValueLength) {
return false;
}
for (let i3 = 0; i3 < actualValueLength; ++i3) {
if (actualValue[i3] === expectedValue[i3] || actualValue[i3] === "+" && expectedValue[i3] === "-" || actualValue[i3] === "/" && expectedValue[i3] === "_") {
continue;
}
return false;
}
return true;
}
module2.exports = {
applyAlgorithmToBytes,
bytesMatch,
caseSensitiveMatch,
isValidSRIHashAlgorithm,
getStrongestMetadata,
parseMetadata
};
}
});
// node_modules/undici/lib/web/fetch/index.js
var require_fetch2 = __commonJS({
"node_modules/undici/lib/web/fetch/index.js"(exports2, module2) {
"use strict";
var {
makeNetworkError,
makeAppropriateNetworkError,
filterResponse,
makeResponse,
fromInnerResponse,
getResponseState
} = require_response();
var { HeadersList } = require_headers();
var { Request, cloneRequest, getRequestDispatcher, getRequestState } = require_request2();
var zlib2 = __require("node:zlib");
var {
makePolicyContainer,
clonePolicyContainer,
requestBadPort,
TAOCheck,
appendRequestOriginHeader,
responseLocationURL,
requestCurrentURL,
setRequestReferrerPolicyOnRedirect,
tryUpgradeRequestToAPotentiallyTrustworthyURL,
createOpaqueTimingInfo,
appendFetchMetadata,
corsCheck,
crossOriginResourcePolicyCheck,
determineRequestsReferrer,
coarsenedSharedCurrentTime,
sameOrigin,
isCancelled,
isAborted,
isErrorLike,
fullyReadBody,
readableStreamClose,
urlIsLocal,
urlIsHttpHttpsScheme,
urlHasHttpsScheme,
clampAndCoarsenConnectionTimingInfo,
simpleRangeHeaderValue,
buildContentRange,
createInflate,
extractMimeType,
hasAuthenticationEntry,
includesCredentials,
isTraversableNavigable
} = require_util14();
var assert3 = __require("node:assert");
var { safelyExtractBody, extractBody } = require_body();
var {
redirectStatusSet,
nullBodyStatus,
safeMethodsSet,
requestBodyHeader,
subresourceSet
} = require_constants6();
var EE = __require("node:events");
var { Readable: Readable7, pipeline, finished: finished7, isErrored, isReadable: isReadable2 } = __require("node:stream");
var { addAbortListener: addAbortListener3, bufferToLowerCasedHeaderName } = require_util13();
var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url();
var { getGlobalDispatcher } = require_global2();
var { webidl } = require_webidl();
var { STATUS_CODES } = __require("node:http");
var { bytesMatch } = require_subresource_integrity();
var { createDeferredPromise } = require_promise2();
var { isomorphicEncode } = require_infra();
var { runtimeFeatures } = require_runtime_features();
var hasZstd = runtimeFeatures.has("zstd");
var GET_OR_HEAD = ["GET", "HEAD"];
var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
var resolveObjectURL;
var Fetch = class extends EE {
constructor(dispatcher) {
super();
this.dispatcher = dispatcher;
this.connection = null;
this.dump = false;
this.state = "ongoing";
}
terminate(reason) {
if (this.state !== "ongoing") {
return;
}
this.state = "terminated";
this.connection?.destroy(reason);
this.emit("terminated", reason);
}
// https://fetch.spec.whatwg.org/#fetch-controller-abort
abort(error40) {
if (this.state !== "ongoing") {
return;
}
this.state = "aborted";
if (!error40) {
error40 = new DOMException("The operation was aborted.", "AbortError");
}
this.serializedAbortReason = error40;
this.connection?.destroy(error40);
this.emit("terminated", error40);
}
};
function handleFetchDone(response) {
finalizeAndReportTiming(response, "fetch");
}
function fetch2(input, init2 = void 0) {
webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
let p = createDeferredPromise();
let requestObject;
try {
requestObject = new Request(input, init2);
} catch (e2) {
p.reject(e2);
return p.promise;
}
const request = getRequestState(requestObject);
if (requestObject.signal.aborted) {
abortFetch(p, request, null, requestObject.signal.reason, null);
return p.promise;
}
const globalObject = request.client.globalObject;
if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
request.serviceWorkers = "none";
}
let responseObject = null;
let locallyAborted = false;
let controller = null;
addAbortListener3(
requestObject.signal,
() => {
locallyAborted = true;
assert3(controller != null);
controller.abort(requestObject.signal.reason);
const realResponse = responseObject?.deref();
abortFetch(p, request, realResponse, requestObject.signal.reason, controller.controller);
}
);
const processResponse = (response) => {
if (locallyAborted) {
return;
}
if (response.aborted) {
abortFetch(p, request, responseObject, controller.serializedAbortReason, controller.controller);
return;
}
if (response.type === "error") {
p.reject(new TypeError("fetch failed", { cause: response.error }));
return;
}
responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
p.resolve(responseObject.deref());
p = null;
};
controller = fetching({
request,
processResponseEndOfBody: handleFetchDone,
processResponse,
dispatcher: getRequestDispatcher(requestObject),
// undici
// Keep requestObject alive to prevent its AbortController from being GC'd
// See https://github.com/nodejs/undici/issues/4627
requestObject
});
return p.promise;
}
function finalizeAndReportTiming(response, initiatorType = "other") {
if (response.type === "error" && response.aborted) {
return;
}
if (!response.urlList?.length) {
return;
}
const originalURL = response.urlList[0];
let timingInfo = response.timingInfo;
let cacheState = response.cacheState;
if (!urlIsHttpHttpsScheme(originalURL)) {
return;
}
if (timingInfo === null) {
return;
}
if (!response.timingAllowPassed) {
timingInfo = createOpaqueTimingInfo({
startTime: timingInfo.startTime
});
cacheState = "";
}
timingInfo.endTime = coarsenedSharedCurrentTime();
response.timingInfo = timingInfo;
markResourceTiming(
timingInfo,
originalURL.href,
initiatorType,
globalThis,
cacheState,
"",
// bodyType
response.status
);
}
var markResourceTiming = performance.markResourceTiming;
function abortFetch(p, request, responseObject, error40, controller) {
if (p) {
p.reject(error40);
}
if (request.body?.stream != null && isReadable2(request.body.stream)) {
request.body.stream.cancel(error40).catch((err2) => {
if (err2.code === "ERR_INVALID_STATE") {
return;
}
throw err2;
});
}
if (responseObject == null) {
return;
}
const response = getResponseState(responseObject);
if (response.body?.stream != null && isReadable2(response.body.stream)) {
controller.error(error40);
}
}
function fetching({
request,
processRequestBodyChunkLength,
processRequestEndOfBody,
processResponse,
processResponseEndOfBody,
processResponseConsumeBody,
useParallelQueue = false,
dispatcher = getGlobalDispatcher(),
// undici
requestObject = null
// Keep alive to prevent AbortController GC, see #4627
}) {
assert3(dispatcher);
let taskDestination = null;
let crossOriginIsolatedCapability = false;
if (request.client != null) {
taskDestination = request.client.globalObject;
crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability;
}
const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
const timingInfo = createOpaqueTimingInfo({
startTime: currentTime
});
const fetchParams = {
controller: new Fetch(dispatcher),
request,
timingInfo,
processRequestBodyChunkLength,
processRequestEndOfBody,
processResponse,
processResponseConsumeBody,
processResponseEndOfBody,
taskDestination,
crossOriginIsolatedCapability,
// Keep requestObject alive to prevent its AbortController from being GC'd
requestObject
};
assert3(!request.body || request.body.stream);
if (request.window === "client") {
request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window";
}
if (request.origin === "client") {
request.origin = request.client.origin;
}
if (request.policyContainer === "client") {
if (request.client != null) {
request.policyContainer = clonePolicyContainer(
request.client.policyContainer
);
} else {
request.policyContainer = makePolicyContainer();
}
}
if (!request.headersList.contains("accept", true)) {
const value = "*/*";
request.headersList.append("accept", value, true);
}
if (!request.headersList.contains("accept-language", true)) {
request.headersList.append("accept-language", "*", true);
}
if (request.priority === null) {
}
if (subresourceSet.has(request.destination)) {
}
mainFetch(fetchParams, false);
return fetchParams.controller;
}
async function mainFetch(fetchParams, recursive) {
try {
const request = fetchParams.request;
let response = null;
if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {
response = makeNetworkError("local URLs only");
}
tryUpgradeRequestToAPotentiallyTrustworthyURL(request);
if (requestBadPort(request) === "blocked") {
response = makeNetworkError("bad port");
}
if (request.referrerPolicy === "") {
request.referrerPolicy = request.policyContainer.referrerPolicy;
}
if (request.referrer !== "no-referrer") {
request.referrer = determineRequestsReferrer(request);
}
if (response === null) {
const currentURL = requestCurrentURL(request);
if (
// - request’s current URL’s origin is same origin with request’s origin,
// and request’s response tainting is "basic"
sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data"
currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"
(request.mode === "navigate" || request.mode === "websocket")
) {
request.responseTainting = "basic";
response = await schemeFetch(fetchParams);
} else if (request.mode === "same-origin") {
response = makeNetworkError('request mode cannot be "same-origin"');
} else if (request.mode === "no-cors") {
if (request.redirect !== "follow") {
response = makeNetworkError(
'redirect mode cannot be "follow" for "no-cors" request'
);
} else {
request.responseTainting = "opaque";
response = await schemeFetch(fetchParams);
}
} else if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {
response = makeNetworkError("URL scheme must be a HTTP(S) scheme");
} else {
request.responseTainting = "cors";
response = await httpFetch(fetchParams);
}
}
if (recursive) {
return response;
}
if (response.status !== 0 && !response.internalResponse) {
if (request.responseTainting === "cors") {
}
if (request.responseTainting === "basic") {
response = filterResponse(response, "basic");
} else if (request.responseTainting === "cors") {
response = filterResponse(response, "cors");
} else if (request.responseTainting === "opaque") {
response = filterResponse(response, "opaque");
} else {
assert3(false);
}
}
let internalResponse = response.status === 0 ? response : response.internalResponse;
if (internalResponse.urlList.length === 0) {
internalResponse.urlList.push(...request.urlList);
}
if (!request.timingAllowFailed) {
response.timingAllowPassed = true;
}
if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range", true)) {
response = internalResponse = makeNetworkError();
}
if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
internalResponse.body = null;
fetchParams.controller.dump = true;
}
if (request.integrity) {
const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
if (request.responseTainting === "opaque" || response.body == null) {
processBodyError(response.error);
return;
}
const processBody = (bytes) => {
if (!bytesMatch(bytes, request.integrity)) {
processBodyError("integrity mismatch");
return;
}
response.body = safelyExtractBody(bytes)[0];
fetchFinale(fetchParams, response);
};
fullyReadBody(response.body, processBody, processBodyError);
} else {
fetchFinale(fetchParams, response);
}
} catch (err2) {
fetchParams.controller.terminate(err2);
}
}
function schemeFetch(fetchParams) {
if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
return Promise.resolve(makeAppropriateNetworkError(fetchParams));
}
const { request } = fetchParams;
const { protocol: scheme } = requestCurrentURL(request);
switch (scheme) {
case "about:": {
return Promise.resolve(makeNetworkError("about scheme is not supported"));
}
case "blob:": {
if (!resolveObjectURL) {
resolveObjectURL = __require("node:buffer").resolveObjectURL;
}
const blobURLEntry = requestCurrentURL(request);
if (blobURLEntry.search.length !== 0) {
return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
}
const blob = resolveObjectURL(blobURLEntry.toString());
if (request.method !== "GET" || !webidl.is.Blob(blob)) {
return Promise.resolve(makeNetworkError("invalid method"));
}
const response = makeResponse();
const fullLength = blob.size;
const serializedFullLength = isomorphicEncode(`${fullLength}`);
const type2 = blob.type;
if (!request.headersList.contains("range", true)) {
const bodyWithType = extractBody(blob);
response.statusText = "OK";
response.body = bodyWithType[0];
response.headersList.set("content-length", serializedFullLength, true);
response.headersList.set("content-type", type2, true);
} else {
response.rangeRequested = true;
const rangeHeader = request.headersList.get("range", true);
const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
if (rangeValue === "failure") {
return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
}
let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
if (rangeStart === null) {
rangeStart = fullLength - rangeEnd;
rangeEnd = rangeStart + rangeEnd - 1;
} else {
if (rangeStart >= fullLength) {
return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
}
if (rangeEnd === null || rangeEnd >= fullLength) {
rangeEnd = fullLength - 1;
}
}
const slicedBlob = blob.slice(rangeStart, rangeEnd + 1, type2);
const slicedBodyWithType = extractBody(slicedBlob);
response.body = slicedBodyWithType[0];
const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
response.status = 206;
response.statusText = "Partial Content";
response.headersList.set("content-length", serializedSlicedLength, true);
response.headersList.set("content-type", type2, true);
response.headersList.set("content-range", contentRange, true);
}
return Promise.resolve(response);
}
case "data:": {
const currentURL = requestCurrentURL(request);
const dataURLStruct = dataURLProcessor(currentURL);
if (dataURLStruct === "failure") {
return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
}
const mimeType = serializeAMimeType(dataURLStruct.mimeType);
return Promise.resolve(makeResponse({
statusText: "OK",
headersList: [
["content-type", { name: "Content-Type", value: mimeType }]
],
body: safelyExtractBody(dataURLStruct.body)[0]
}));
}
case "file:": {
return Promise.resolve(makeNetworkError("not implemented... yet..."));
}
case "http:":
case "https:": {
return httpFetch(fetchParams).catch((err2) => makeNetworkError(err2));
}
default: {
return Promise.resolve(makeNetworkError("unknown scheme"));
}
}
}
function finalizeResponse(fetchParams, response) {
fetchParams.request.done = true;
if (fetchParams.processResponseDone != null) {
queueMicrotask(() => fetchParams.processResponseDone(response));
}
}
function fetchFinale(fetchParams, response) {
let timingInfo = fetchParams.timingInfo;
const processResponseEndOfBody = () => {
const unsafeEndTime = Date.now();
if (fetchParams.request.destination === "document") {
fetchParams.controller.fullTimingInfo = timingInfo;
}
fetchParams.controller.reportTimingSteps = () => {
if (!urlIsHttpHttpsScheme(fetchParams.request.url)) {
return;
}
timingInfo.endTime = unsafeEndTime;
let cacheState = response.cacheState;
const bodyInfo = response.bodyInfo;
if (!response.timingAllowPassed) {
timingInfo = createOpaqueTimingInfo(timingInfo);
cacheState = "";
}
let responseStatus = 0;
if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
responseStatus = response.status;
const mimeType = extractMimeType(response.headersList);
if (mimeType !== "failure") {
bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
}
}
if (fetchParams.request.initiatorType != null) {
markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
}
};
const processResponseEndOfBodyTask = () => {
fetchParams.request.done = true;
if (fetchParams.processResponseEndOfBody != null) {
queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
}
if (fetchParams.request.initiatorType != null) {
fetchParams.controller.reportTimingSteps();
}
};
queueMicrotask(() => processResponseEndOfBodyTask());
};
if (fetchParams.processResponse != null) {
queueMicrotask(() => {
fetchParams.processResponse(response);
fetchParams.processResponse = null;
});
}
const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
if (internalResponse.body == null) {
processResponseEndOfBody();
} else {
finished7(internalResponse.body.stream, () => {
processResponseEndOfBody();
});
}
}
async function httpFetch(fetchParams) {
const request = fetchParams.request;
let response = null;
let actualResponse = null;
const timingInfo = fetchParams.timingInfo;
if (request.serviceWorkers === "all") {
}
if (response === null) {
if (request.redirect === "follow") {
request.serviceWorkers = "none";
}
actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {
return makeNetworkError("cors failure");
}
if (TAOCheck(request, response) === "failure") {
request.timingAllowFailed = true;
}
}
if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
request.origin,
request.client,
request.destination,
actualResponse
) === "blocked") {
return makeNetworkError("blocked");
}
if (redirectStatusSet.has(actualResponse.status)) {
if (request.redirect !== "manual") {
fetchParams.controller.connection.destroy(void 0, false);
}
if (request.redirect === "error") {
response = makeNetworkError("unexpected redirect");
} else if (request.redirect === "manual") {
response = actualResponse;
} else if (request.redirect === "follow") {
response = await httpRedirectFetch(fetchParams, response);
} else {
assert3(false);
}
}
response.timingInfo = timingInfo;
return response;
}
function httpRedirectFetch(fetchParams, response) {
const request = fetchParams.request;
const actualResponse = response.internalResponse ? response.internalResponse : response;
let locationURL;
try {
locationURL = responseLocationURL(
actualResponse,
requestCurrentURL(request).hash
);
if (locationURL == null) {
return response;
}
} catch (err2) {
return Promise.resolve(makeNetworkError(err2));
}
if (!urlIsHttpHttpsScheme(locationURL)) {
return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
}
if (request.redirectCount === 20) {
return Promise.resolve(makeNetworkError("redirect count exceeded"));
}
request.redirectCount += 1;
if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) {
return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
}
if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
return Promise.resolve(makeNetworkError(
'URL cannot contain credentials for request mode "cors"'
));
}
if (actualResponse.status !== 303 && request.body != null && request.body.source == null) {
return Promise.resolve(makeNetworkError());
}
if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) {
request.method = "GET";
request.body = null;
for (const headerName of requestBodyHeader) {
request.headersList.delete(headerName);
}
}
if (!sameOrigin(requestCurrentURL(request), locationURL)) {
request.headersList.delete("authorization", true);
request.headersList.delete("proxy-authorization", true);
request.headersList.delete("cookie", true);
request.headersList.delete("host", true);
}
if (request.body != null) {
assert3(request.body.source != null);
request.body = safelyExtractBody(request.body.source)[0];
}
const timingInfo = fetchParams.timingInfo;
timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
if (timingInfo.redirectStartTime === 0) {
timingInfo.redirectStartTime = timingInfo.startTime;
}
request.urlList.push(locationURL);
setRequestReferrerPolicyOnRedirect(request, actualResponse);
return mainFetch(fetchParams, true);
}
async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
const request = fetchParams.request;
let httpFetchParams = null;
let httpRequest = null;
let response = null;
const httpCache = null;
const revalidatingFlag = false;
if (request.window === "no-window" && request.redirect === "error") {
httpFetchParams = fetchParams;
httpRequest = request;
} else {
httpRequest = cloneRequest(request);
httpFetchParams = { ...fetchParams };
httpFetchParams.request = httpRequest;
}
const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic";
const contentLength = httpRequest.body ? httpRequest.body.length : null;
let contentLengthHeaderValue = null;
if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
contentLengthHeaderValue = "0";
}
if (contentLength != null) {
contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
}
if (contentLengthHeaderValue != null) {
httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
}
if (contentLength != null && httpRequest.keepalive) {
}
if (webidl.is.URL(httpRequest.referrer)) {
httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
}
appendRequestOriginHeader(httpRequest);
appendFetchMetadata(httpRequest);
if (!httpRequest.headersList.contains("user-agent", true)) {
httpRequest.headersList.append("user-agent", defaultUserAgent, true);
}
if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
httpRequest.cache = "no-store";
}
if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
httpRequest.headersList.append("cache-control", "max-age=0", true);
}
if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
if (!httpRequest.headersList.contains("pragma", true)) {
httpRequest.headersList.append("pragma", "no-cache", true);
}
if (!httpRequest.headersList.contains("cache-control", true)) {
httpRequest.headersList.append("cache-control", "no-cache", true);
}
}
if (httpRequest.headersList.contains("range", true)) {
httpRequest.headersList.append("accept-encoding", "identity", true);
}
if (!httpRequest.headersList.contains("accept-encoding", true)) {
if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
} else {
httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
}
}
httpRequest.headersList.delete("host", true);
if (includeCredentials) {
if (!httpRequest.headersList.contains("authorization", true)) {
let authorizationValue = null;
if (hasAuthenticationEntry(httpRequest) && (httpRequest.useURLCredentials === void 0 || !includesCredentials(requestCurrentURL(httpRequest)))) {
} else if (includesCredentials(requestCurrentURL(httpRequest)) && isAuthenticationFetch) {
const { username, password } = requestCurrentURL(httpRequest);
authorizationValue = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`;
}
if (authorizationValue !== null) {
httpRequest.headersList.append("Authorization", authorizationValue, false);
}
}
}
if (httpCache == null) {
httpRequest.cache = "no-store";
}
if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {
}
if (response == null) {
if (httpRequest.cache === "only-if-cached") {
return makeNetworkError("only if cached");
}
const forwardResponse = await httpNetworkFetch(
httpFetchParams,
includeCredentials,
isNewConnectionFetch
);
if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {
}
if (revalidatingFlag && forwardResponse.status === 304) {
}
if (response == null) {
response = forwardResponse;
}
}
response.urlList = [...httpRequest.urlList];
if (httpRequest.headersList.contains("range", true)) {
response.rangeRequested = true;
}
response.requestIncludesCredentials = includeCredentials;
if (response.status === 401 && httpRequest.responseTainting !== "cors" && includeCredentials && isTraversableNavigable(request.traversableForUserPrompts)) {
if (request.body != null) {
if (request.body.source == null) {
return makeNetworkError("expected non-null body source");
}
request.body = safelyExtractBody(request.body.source)[0];
}
if (request.useURLCredentials === void 0 || isAuthenticationFetch) {
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
return response;
}
fetchParams.controller.connection.destroy();
response = await httpNetworkOrCacheFetch(fetchParams, true);
}
if (response.status === 407) {
if (request.window === "no-window") {
return makeNetworkError();
}
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
return makeNetworkError("proxy authentication required");
}
if (
// response’s status is 421
response.status === 421 && // isNewConnectionFetch is false
!isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
(request.body == null || request.body.source != null)
) {
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
fetchParams.controller.connection.destroy();
response = await httpNetworkOrCacheFetch(
fetchParams,
isAuthenticationFetch,
true
);
}
if (isAuthenticationFetch) {
}
return response;
}
async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
assert3(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
fetchParams.controller.connection = {
abort: null,
destroyed: false,
destroy(err2, abort2 = true) {
if (!this.destroyed) {
this.destroyed = true;
if (abort2) {
this.abort?.(err2 ?? new DOMException("The operation was aborted.", "AbortError"));
}
}
}
};
const request = fetchParams.request;
let response = null;
const timingInfo = fetchParams.timingInfo;
const httpCache = null;
if (httpCache == null) {
request.cache = "no-store";
}
const newConnection = forceNewConnection ? "yes" : "no";
if (request.mode === "websocket") {
} else {
}
let requestBody = null;
if (request.body == null && fetchParams.processRequestEndOfBody) {
queueMicrotask(() => fetchParams.processRequestEndOfBody());
} else if (request.body != null) {
const processBodyChunk = async function* (bytes) {
if (isCancelled(fetchParams)) {
return;
}
yield bytes;
fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
};
const processEndOfBody = () => {
if (isCancelled(fetchParams)) {
return;
}
if (fetchParams.processRequestEndOfBody) {
fetchParams.processRequestEndOfBody();
}
};
const processBodyError = (e2) => {
if (isCancelled(fetchParams)) {
return;
}
if (e2.name === "AbortError") {
fetchParams.controller.abort();
} else {
fetchParams.controller.terminate(e2);
}
};
requestBody = async function* () {
try {
for await (const bytes of request.body.stream) {
yield* processBodyChunk(bytes);
}
processEndOfBody();
} catch (err2) {
processBodyError(err2);
}
}();
}
try {
const { body: body2, status: status2, statusText, headersList, socket } = await dispatch({ body: requestBody });
if (socket) {
response = makeResponse({ status: status2, statusText, headersList, socket });
} else {
const iterator = body2[Symbol.asyncIterator]();
fetchParams.controller.next = () => iterator.next();
response = makeResponse({ status: status2, statusText, headersList });
}
} catch (err2) {
if (err2.name === "AbortError") {
fetchParams.controller.connection.destroy();
return makeAppropriateNetworkError(fetchParams, err2);
}
return makeNetworkError(err2);
}
const pullAlgorithm = () => {
return fetchParams.controller.resume();
};
const cancelAlgorithm = (reason) => {
if (!isCancelled(fetchParams)) {
fetchParams.controller.abort(reason);
}
};
const stream2 = new ReadableStream(
{
start(controller) {
fetchParams.controller.controller = controller;
},
pull: pullAlgorithm,
cancel: cancelAlgorithm,
type: "bytes"
}
);
response.body = { stream: stream2, source: null, length: null };
if (!fetchParams.controller.resume) {
fetchParams.controller.on("terminated", onAborted);
}
fetchParams.controller.resume = async () => {
while (true) {
let bytes;
let isFailure;
try {
const { done, value } = await fetchParams.controller.next();
if (isAborted(fetchParams)) {
break;
}
bytes = done ? void 0 : value;
} catch (err2) {
if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
bytes = void 0;
} else {
bytes = err2;
isFailure = true;
}
}
if (bytes === void 0) {
readableStreamClose(fetchParams.controller.controller);
finalizeResponse(fetchParams, response);
return;
}
timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
if (isFailure) {
fetchParams.controller.terminate(bytes);
return;
}
const buffer = new Uint8Array(bytes);
if (buffer.byteLength) {
fetchParams.controller.controller.enqueue(buffer);
}
if (isErrored(stream2)) {
fetchParams.controller.terminate();
return;
}
if (fetchParams.controller.controller.desiredSize <= 0) {
return;
}
}
};
function onAborted(reason) {
if (isAborted(fetchParams)) {
response.aborted = true;
if (isReadable2(stream2)) {
fetchParams.controller.controller.error(
fetchParams.controller.serializedAbortReason
);
}
} else {
if (isReadable2(stream2)) {
fetchParams.controller.controller.error(new TypeError("terminated", {
cause: isErrorLike(reason) ? reason : void 0
}));
}
}
fetchParams.controller.connection.destroy();
}
return response;
function dispatch({ body: body2 }) {
const url3 = requestCurrentURL(request);
const agent = fetchParams.controller.dispatcher;
const path101 = url3.pathname + url3.search;
const hasTrailingQuestionMark = url3.search.length === 0 && url3.href[url3.href.length - url3.hash.length - 1] === "?";
return new Promise((resolve25, reject) => agent.dispatch(
{
path: hasTrailingQuestionMark ? `${path101}?` : path101,
origin: url3.origin,
method: request.method,
body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body2,
headers: request.headersList.entries,
maxRedirections: 0,
upgrade: request.mode === "websocket" ? "websocket" : void 0
},
{
body: null,
abort: null,
onConnect(abort2) {
const { connection } = fetchParams.controller;
timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(void 0, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
if (connection.destroyed) {
abort2(new DOMException("The operation was aborted.", "AbortError"));
} else {
fetchParams.controller.on("terminated", abort2);
this.abort = connection.abort = abort2;
}
timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
},
onResponseStarted() {
timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
},
onHeaders(status2, rawHeaders, resume, statusText) {
if (status2 < 200) {
return false;
}
const headersList = new HeadersList();
for (let i3 = 0; i3 < rawHeaders.length; i3 += 2) {
headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i3]), rawHeaders[i3 + 1].toString("latin1"), true);
}
const location = headersList.get("location", true);
this.body = new Readable7({ read: resume });
const willFollow = location && request.redirect === "follow" && redirectStatusSet.has(status2);
const decoders = [];
if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status2) && !willFollow) {
const contentEncoding = headersList.get("content-encoding", true);
const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
const maxContentEncodings = 5;
if (codings.length > maxContentEncodings) {
reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
return true;
}
for (let i3 = codings.length - 1; i3 >= 0; --i3) {
const coding = codings[i3].trim();
if (coding === "x-gzip" || coding === "gzip") {
decoders.push(zlib2.createGunzip({
// Be less strict when decoding compressed responses, since sometimes
// servers send slightly invalid responses that are still accepted
// by common browsers.
// Always using Z_SYNC_FLUSH is what cURL does.
flush: zlib2.constants.Z_SYNC_FLUSH,
finishFlush: zlib2.constants.Z_SYNC_FLUSH
}));
} else if (coding === "deflate") {
decoders.push(createInflate({
flush: zlib2.constants.Z_SYNC_FLUSH,
finishFlush: zlib2.constants.Z_SYNC_FLUSH
}));
} else if (coding === "br") {
decoders.push(zlib2.createBrotliDecompress({
flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
}));
} else if (coding === "zstd" && hasZstd) {
decoders.push(zlib2.createZstdDecompress({
flush: zlib2.constants.ZSTD_e_continue,
finishFlush: zlib2.constants.ZSTD_e_end
}));
} else {
decoders.length = 0;
break;
}
}
}
const onError2 = this.onError.bind(this);
resolve25({
status: status2,
statusText,
headersList,
body: decoders.length ? pipeline(this.body, ...decoders, (err2) => {
if (err2) {
this.onError(err2);
}
}).on("error", onError2) : this.body.on("error", onError2)
});
return true;
},
onData(chunk) {
if (fetchParams.controller.dump) {
return;
}
const bytes = chunk;
timingInfo.encodedBodySize += bytes.byteLength;
return this.body.push(bytes);
},
onComplete() {
if (this.abort) {
fetchParams.controller.off("terminated", this.abort);
}
fetchParams.controller.ended = true;
this.body.push(null);
},
onError(error40) {
if (this.abort) {
fetchParams.controller.off("terminated", this.abort);
}
this.body?.destroy(error40);
fetchParams.controller.terminate(error40);
reject(error40);
},
onRequestUpgrade(_controller2, status2, headers, socket) {
if (socket.session != null && status2 !== 200 || socket.session == null && status2 !== 101) {
return false;
}
const headersList = new HeadersList();
for (const [name3, value] of Object.entries(headers)) {
if (value == null) {
continue;
}
const headerName = name3.toLowerCase();
if (Array.isArray(value)) {
for (const entry of value) {
headersList.append(headerName, String(entry), true);
}
} else {
headersList.append(headerName, String(value), true);
}
}
resolve25({
status: status2,
statusText: STATUS_CODES[status2],
headersList,
socket
});
return true;
},
onUpgrade(status2, rawHeaders, socket) {
if (socket.session != null && status2 !== 200 || socket.session == null && status2 !== 101) {
return false;
}
const headersList = new HeadersList();
for (let i3 = 0; i3 < rawHeaders.length; i3 += 2) {
headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i3]), rawHeaders[i3 + 1].toString("latin1"), true);
}
resolve25({
status: status2,
statusText: STATUS_CODES[status2],
headersList,
socket
});
return true;
}
}
));
}
}
module2.exports = {
fetch: fetch2,
Fetch,
fetching,
finalizeAndReportTiming
};
}
});
// node_modules/undici/lib/web/cache/util.js
var require_util15 = __commonJS({
"node_modules/undici/lib/web/cache/util.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { URLSerializer } = require_data_url();
var { isValidHeaderName } = require_util14();
function urlEquals(A, B, excludeFragment = false) {
const serializedA = URLSerializer(A, excludeFragment);
const serializedB = URLSerializer(B, excludeFragment);
return serializedA === serializedB;
}
function getFieldValues(header) {
assert3(header !== null);
const values = [];
for (let value of header.split(",")) {
value = value.trim();
if (isValidHeaderName(value)) {
values.push(value);
}
}
return values;
}
module2.exports = {
urlEquals,
getFieldValues
};
}
});
// node_modules/undici/lib/web/cache/cache.js
var require_cache3 = __commonJS({
"node_modules/undici/lib/web/cache/cache.js"(exports2, module2) {
"use strict";
var assert3 = __require("node:assert");
var { kConstruct } = require_symbols();
var { urlEquals, getFieldValues } = require_util15();
var { kEnumerableProperty, isDisturbed } = require_util13();
var { webidl } = require_webidl();
var { cloneResponse, fromInnerResponse, getResponseState } = require_response();
var { Request, fromInnerRequest, getRequestState } = require_request2();
var { fetching } = require_fetch2();
var { urlIsHttpHttpsScheme, readAllBytes } = require_util14();
var { createDeferredPromise } = require_promise2();
var Cache = class _Cache {
/**
* @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
* @type {requestResponseList}
*/
#relevantRequestResponseList;
constructor() {
if (arguments[0] !== kConstruct) {
webidl.illegalConstructor();
}
webidl.util.markAsUncloneable(this);
this.#relevantRequestResponseList = arguments[1];
}
async match(request, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.match";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
const p = this.#internalMatchAll(request, options, 1);
if (p.length === 0) {
return;
}
return p[0];
}
async matchAll(request = void 0, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.matchAll";
if (request !== void 0) request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
return this.#internalMatchAll(request, options);
}
async add(request) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.add";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
const requests = [request];
const responseArrayPromise = this.addAll(requests);
return await responseArrayPromise;
}
async addAll(requests) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.addAll";
webidl.argumentLengthCheck(arguments, 1, prefix);
const responsePromises = [];
const requestList = [];
for (let request of requests) {
if (request === void 0) {
throw webidl.errors.conversionFailed({
prefix,
argument: "Argument 1",
types: ["undefined is not allowed"]
});
}
request = webidl.converters.RequestInfo(request);
if (typeof request === "string") {
continue;
}
const r2 = getRequestState(request);
if (!urlIsHttpHttpsScheme(r2.url) || r2.method !== "GET") {
throw webidl.errors.exception({
header: prefix,
message: "Expected http/s scheme when method is not GET."
});
}
}
const fetchControllers = [];
for (const request of requests) {
const r2 = getRequestState(new Request(request));
if (!urlIsHttpHttpsScheme(r2.url)) {
throw webidl.errors.exception({
header: prefix,
message: "Expected http/s scheme."
});
}
r2.initiator = "fetch";
r2.destination = "subresource";
requestList.push(r2);
const responsePromise = createDeferredPromise();
fetchControllers.push(fetching({
request: r2,
processResponse(response) {
if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
responsePromise.reject(webidl.errors.exception({
header: "Cache.addAll",
message: "Received an invalid status code or the request failed."
}));
} else if (response.headersList.contains("vary")) {
const fieldValues = getFieldValues(response.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
responsePromise.reject(webidl.errors.exception({
header: "Cache.addAll",
message: "invalid vary field value"
}));
for (const controller of fetchControllers) {
controller.abort();
}
return;
}
}
}
},
processResponseEndOfBody(response) {
if (response.aborted) {
responsePromise.reject(new DOMException("aborted", "AbortError"));
return;
}
responsePromise.resolve(response);
}
}));
responsePromises.push(responsePromise.promise);
}
const p = Promise.all(responsePromises);
const responses = await p;
const operations = [];
let index = 0;
for (const response of responses) {
const operation = {
type: "put",
// 7.3.2
request: requestList[index],
// 7.3.3
response
// 7.3.4
};
operations.push(operation);
index++;
}
const cacheJobPromise = createDeferredPromise();
let errorData = null;
try {
this.#batchCacheOperations(operations);
} catch (e2) {
errorData = e2;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve(void 0);
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
async put(request, response) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.put";
webidl.argumentLengthCheck(arguments, 2, prefix);
request = webidl.converters.RequestInfo(request);
response = webidl.converters.Response(response, prefix, "response");
let innerRequest = null;
if (webidl.is.Request(request)) {
innerRequest = getRequestState(request);
} else {
innerRequest = getRequestState(new Request(request));
}
if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
throw webidl.errors.exception({
header: prefix,
message: "Expected an http/s scheme when method is not GET"
});
}
const innerResponse = getResponseState(response);
if (innerResponse.status === 206) {
throw webidl.errors.exception({
header: prefix,
message: "Got 206 status"
});
}
if (innerResponse.headersList.contains("vary")) {
const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
throw webidl.errors.exception({
header: prefix,
message: "Got * vary field value"
});
}
}
}
if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
throw webidl.errors.exception({
header: prefix,
message: "Response body is locked or disturbed"
});
}
const clonedResponse = cloneResponse(innerResponse);
const bodyReadPromise = createDeferredPromise();
if (innerResponse.body != null) {
const stream2 = innerResponse.body.stream;
const reader = stream2.getReader();
readAllBytes(reader, bodyReadPromise.resolve, bodyReadPromise.reject);
} else {
bodyReadPromise.resolve(void 0);
}
const operations = [];
const operation = {
type: "put",
// 14.
request: innerRequest,
// 15.
response: clonedResponse
// 16.
};
operations.push(operation);
const bytes = await bodyReadPromise.promise;
if (clonedResponse.body != null) {
clonedResponse.body.source = bytes;
}
const cacheJobPromise = createDeferredPromise();
let errorData = null;
try {
this.#batchCacheOperations(operations);
} catch (e2) {
errorData = e2;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve();
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
async delete(request, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
let r2 = null;
if (webidl.is.Request(request)) {
r2 = getRequestState(request);
if (r2.method !== "GET" && !options.ignoreMethod) {
return false;
}
} else {
assert3(typeof request === "string");
r2 = getRequestState(new Request(request));
}
const operations = [];
const operation = {
type: "delete",
request: r2,
options
};
operations.push(operation);
const cacheJobPromise = createDeferredPromise();
let errorData = null;
let requestResponses;
try {
requestResponses = this.#batchCacheOperations(operations);
} catch (e2) {
errorData = e2;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve(!!requestResponses?.length);
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
/**
* @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
* @param {any} request
* @param {import('../../../types/cache').CacheQueryOptions} options
* @returns {Promise<readonly Request[]>}
*/
async keys(request = void 0, options = {}) {
webidl.brandCheck(this, _Cache);
const prefix = "Cache.keys";
if (request !== void 0) request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
let r2 = null;
if (request !== void 0) {
if (webidl.is.Request(request)) {
r2 = getRequestState(request);
if (r2.method !== "GET" && !options.ignoreMethod) {
return [];
}
} else if (typeof request === "string") {
r2 = getRequestState(new Request(request));
}
}
const promise2 = createDeferredPromise();
const requests = [];
if (request === void 0) {
for (const requestResponse of this.#relevantRequestResponseList) {
requests.push(requestResponse[0]);
}
} else {
const requestResponses = this.#queryCache(r2, options);
for (const requestResponse of requestResponses) {
requests.push(requestResponse[0]);
}
}
queueMicrotask(() => {
const requestList = [];
for (const request2 of requests) {
const requestObject = fromInnerRequest(
request2,
void 0,
new AbortController().signal,
"immutable"
);
requestList.push(requestObject);
}
promise2.resolve(Object.freeze(requestList));
});
return promise2.promise;
}
/**
* @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
* @param {CacheBatchOperation[]} operations
* @returns {requestResponseList}
*/
#batchCacheOperations(operations) {
const cache3 = this.#relevantRequestResponseList;
const backupCache = [...cache3];
const addedItems = [];
const resultList = [];
try {
for (const operation of operations) {
if (operation.type !== "delete" && operation.type !== "put") {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: 'operation type does not match "delete" or "put"'
});
}
if (operation.type === "delete" && operation.response != null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "delete operation should not have an associated response"
});
}
if (this.#queryCache(operation.request, operation.options, addedItems).length) {
throw new DOMException("???", "InvalidStateError");
}
let requestResponses;
if (operation.type === "delete") {
requestResponses = this.#queryCache(operation.request, operation.options);
if (requestResponses.length === 0) {
return [];
}
for (const requestResponse of requestResponses) {
const idx = cache3.indexOf(requestResponse);
assert3(idx !== -1);
cache3.splice(idx, 1);
}
} else if (operation.type === "put") {
if (operation.response == null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "put operation should have an associated response"
});
}
const r2 = operation.request;
if (!urlIsHttpHttpsScheme(r2.url)) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "expected http or https scheme"
});
}
if (r2.method !== "GET") {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "not get method"
});
}
if (operation.options != null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "options must not be defined"
});
}
requestResponses = this.#queryCache(operation.request);
for (const requestResponse of requestResponses) {
const idx = cache3.indexOf(requestResponse);
assert3(idx !== -1);
cache3.splice(idx, 1);
}
cache3.push([operation.request, operation.response]);
addedItems.push([operation.request, operation.response]);
}
resultList.push([operation.request, operation.response]);
}
return resultList;
} catch (e2) {
this.#relevantRequestResponseList.length = 0;
this.#relevantRequestResponseList = backupCache;
throw e2;
}
}
/**
* @see https://w3c.github.io/ServiceWorker/#query-cache
* @param {any} requestQuery
* @param {import('../../../types/cache').CacheQueryOptions} options
* @param {requestResponseList} targetStorage
* @returns {requestResponseList}
*/
#queryCache(requestQuery, options, targetStorage) {
const resultList = [];
const storage2 = targetStorage ?? this.#relevantRequestResponseList;
for (const requestResponse of storage2) {
const [cachedRequest, cachedResponse] = requestResponse;
if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
resultList.push(requestResponse);
}
}
return resultList;
}
/**
* @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
* @param {any} requestQuery
* @param {any} request
* @param {any | null} response
* @param {import('../../../types/cache').CacheQueryOptions | undefined} options
* @returns {boolean}
*/
#requestMatchesCachedItem(requestQuery, request, response = null, options) {
const queryURL = new URL(requestQuery.url);
const cachedURL = new URL(request.url);
if (options?.ignoreSearch) {
cachedURL.search = "";
queryURL.search = "";
}
if (!urlEquals(queryURL, cachedURL, true)) {
return false;
}
if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
return true;
}
const fieldValues = getFieldValues(response.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
return false;
}
const requestValue = request.headersList.get(fieldValue);
const queryValue = requestQuery.headersList.get(fieldValue);
if (requestValue !== queryValue) {
return false;
}
}
return true;
}
#internalMatchAll(request, options, maxResponses = Infinity) {
let r2 = null;
if (request !== void 0) {
if (webidl.is.Request(request)) {
r2 = getRequestState(request);
if (r2.method !== "GET" && !options.ignoreMethod) {
return [];
}
} else if (typeof request === "string") {
r2 = getRequestState(new Request(request));
}
}
const responses = [];
if (request === void 0) {
for (const requestResponse of this.#relevantRequestResponseList) {
responses.push(requestResponse[1]);
}
} else {
const requestResponses = this.#queryCache(r2, options);
for (const requestResponse of requestResponses) {
responses.push(requestResponse[1]);
}
}
const responseList = [];
for (const response of responses) {
const responseObject = fromInnerResponse(cloneResponse(response), "immutable");
responseList.push(responseObject);
if (responseList.length >= maxResponses) {
break;
}
}
return Object.freeze(responseList);
}
};
Object.defineProperties(Cache.prototype, {
[Symbol.toStringTag]: {
value: "Cache",
configurable: true
},
match: kEnumerableProperty,
matchAll: kEnumerableProperty,
add: kEnumerableProperty,
addAll: kEnumerableProperty,
put: kEnumerableProperty,
delete: kEnumerableProperty,
keys: kEnumerableProperty
});
var cacheQueryOptionConverters = [
{
key: "ignoreSearch",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "ignoreMethod",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "ignoreVary",
converter: webidl.converters.boolean,
defaultValue: () => false
}
];
webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
...cacheQueryOptionConverters,
{
key: "cacheName",
converter: webidl.converters.DOMString
}
]);
webidl.converters.Response = webidl.interfaceConverter(
webidl.is.Response,
"Response"
);
webidl.converters["sequence<RequestInfo>"] = webidl.sequenceConverter(
webidl.converters.RequestInfo
);
module2.exports = {
Cache
};
}
});
// node_modules/undici/lib/web/cache/cachestorage.js
var require_cachestorage = __commonJS({
"node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module2) {
"use strict";
var { Cache } = require_cache3();
var { webidl } = require_webidl();
var { kEnumerableProperty } = require_util13();
var { kConstruct } = require_symbols();
var CacheStorage = class _CacheStorage {
/**
* @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
* @type {Map<string, import('./cache').requestResponseList}
*/
#caches = /* @__PURE__ */ new Map();
constructor() {
if (arguments[0] !== kConstruct) {
webidl.illegalConstructor();
}
webidl.util.markAsUncloneable(this);
}
async match(request, options = {}) {
webidl.brandCheck(this, _CacheStorage);
webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
request = webidl.converters.RequestInfo(request);
options = webidl.converters.MultiCacheQueryOptions(options);
if (options.cacheName != null) {
if (this.#caches.has(options.cacheName)) {
const cacheList = this.#caches.get(options.cacheName);
const cache3 = new Cache(kConstruct, cacheList);
return await cache3.match(request, options);
}
} else {
for (const cacheList of this.#caches.values()) {
const cache3 = new Cache(kConstruct, cacheList);
const response = await cache3.match(request, options);
if (response !== void 0) {
return response;
}
}
}
}
/**
* @see https://w3c.github.io/ServiceWorker/#cache-storage-has
* @param {string} cacheName
* @returns {Promise<boolean>}
*/
async has(cacheName) {
webidl.brandCheck(this, _CacheStorage);
const prefix = "CacheStorage.has";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
return this.#caches.has(cacheName);
}
/**
* @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
* @param {string} cacheName
* @returns {Promise<Cache>}
*/
async open(cacheName) {
webidl.brandCheck(this, _CacheStorage);
const prefix = "CacheStorage.open";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
if (this.#caches.has(cacheName)) {
const cache4 = this.#caches.get(cacheName);
return new Cache(kConstruct, cache4);
}
const cache3 = [];
this.#caches.set(cacheName, cache3);
return new Cache(kConstruct, cache3);
}
/**
* @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
* @param {string} cacheName
* @returns {Promise<boolean>}
*/
async delete(cacheName) {
webidl.brandCheck(this, _CacheStorage);
const prefix = "CacheStorage.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
return this.#caches.delete(cacheName);
}
/**
* @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
* @returns {Promise<string[]>}
*/
async keys() {
webidl.brandCheck(this, _CacheStorage);
const keys = this.#caches.keys();
return [...keys];
}
};
Object.defineProperties(CacheStorage.prototype, {
[Symbol.toStringTag]: {
value: "CacheStorage",
configurable: true
},
match: kEnumerableProperty,
has: kEnumerableProperty,
open: kEnumerableProperty,
delete: kEnumerableProperty,
keys: kEnumerableProperty
});
module2.exports = {
CacheStorage
};
}
});
// node_modules/undici/lib/web/cookies/constants.js
var require_constants7 = __commonJS({
"node_modules/undici/lib/web/cookies/constants.js"(exports2, module2) {
"use strict";
var maxAttributeValueSize = 1024;
var maxNameValuePairSize = 4096;
module2.exports = {
maxAttributeValueSize,
maxNameValuePairSize
};
}
});
// node_modules/undici/lib/web/cookies/util.js
var require_util16 = __commonJS({
"node_modules/undici/lib/web/cookies/util.js"(exports2, module2) {
"use strict";
function isCTLExcludingHtab(value) {
for (let i3 = 0; i3 < value.length; ++i3) {
const code = value.charCodeAt(i3);
if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
return true;
}
}
return false;
}
function validateCookieName(name3) {
for (let i3 = 0; i3 < name3.length; ++i3) {
const code = name3.charCodeAt(i3);
if (code < 33 || // exclude CTLs (0-31), SP and HT
code > 126 || // exclude non-ascii and DEL
code === 34 || // "
code === 40 || // (
code === 41 || // )
code === 60 || // <
code === 62 || // >
code === 64 || // @
code === 44 || // ,
code === 59 || // ;
code === 58 || // :
code === 92 || // \
code === 47 || // /
code === 91 || // [
code === 93 || // ]
code === 63 || // ?
code === 61 || // =
code === 123 || // {
code === 125) {
throw new Error("Invalid cookie name");
}
}
}
function validateCookieValue(value) {
let len = value.length;
let i3 = 0;
if (value[0] === '"') {
if (len === 1 || value[len - 1] !== '"') {
throw new Error("Invalid cookie value");
}
--len;
++i3;
}
while (i3 < len) {
const code = value.charCodeAt(i3++);
if (code < 33 || // exclude CTLs (0-31)
code > 126 || // non-ascii and DEL (127)
code === 34 || // "
code === 44 || // ,
code === 59 || // ;
code === 92) {
throw new Error("Invalid cookie value");
}
}
}
function validateCookiePath(path101) {
for (let i3 = 0; i3 < path101.length; ++i3) {
const code = path101.charCodeAt(i3);
if (code < 32 || // exclude CTLs (0-31)
code === 127 || // DEL
code === 59) {
throw new Error("Invalid cookie path");
}
}
}
function validateCookieDomain(domain2) {
if (domain2.startsWith("-") || domain2.endsWith(".") || domain2.endsWith("-")) {
throw new Error("Invalid cookie domain");
}
}
var IMFDays = [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
];
var IMFMonths = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
];
var IMFPaddedNumbers = Array(61).fill(0).map((_, i3) => i3.toString().padStart(2, "0"));
function toIMFDate(date5) {
if (typeof date5 === "number") {
date5 = new Date(date5);
}
return `${IMFDays[date5.getUTCDay()]}, ${IMFPaddedNumbers[date5.getUTCDate()]} ${IMFMonths[date5.getUTCMonth()]} ${date5.getUTCFullYear()} ${IMFPaddedNumbers[date5.getUTCHours()]}:${IMFPaddedNumbers[date5.getUTCMinutes()]}:${IMFPaddedNumbers[date5.getUTCSeconds()]} GMT`;
}
function validateCookieMaxAge(maxAge) {
if (maxAge < 0) {
throw new Error("Invalid cookie max-age");
}
}
function stringify3(cookie) {
if (cookie.name.length === 0) {
return null;
}
validateCookieName(cookie.name);
validateCookieValue(cookie.value);
const out2 = [`${cookie.name}=${cookie.value}`];
if (cookie.name.startsWith("__Secure-")) {
cookie.secure = true;
}
if (cookie.name.startsWith("__Host-")) {
cookie.secure = true;
cookie.domain = null;
cookie.path = "/";
}
if (cookie.secure) {
out2.push("Secure");
}
if (cookie.httpOnly) {
out2.push("HttpOnly");
}
if (typeof cookie.maxAge === "number") {
validateCookieMaxAge(cookie.maxAge);
out2.push(`Max-Age=${cookie.maxAge}`);
}
if (cookie.domain) {
validateCookieDomain(cookie.domain);
out2.push(`Domain=${cookie.domain}`);
}
if (cookie.path) {
validateCookiePath(cookie.path);
out2.push(`Path=${cookie.path}`);
}
if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
out2.push(`Expires=${toIMFDate(cookie.expires)}`);
}
if (cookie.sameSite) {
out2.push(`SameSite=${cookie.sameSite}`);
}
for (const part of cookie.unparsed) {
if (!part.includes("=")) {
throw new Error("Invalid unparsed");
}
const [key, ...value] = part.split("=");
out2.push(`${key.trim()}=${value.join("=")}`);
}
return out2.join("; ");
}
module2.exports = {
isCTLExcludingHtab,
validateCookieName,
validateCookiePath,
validateCookieValue,
toIMFDate,
stringify: stringify3
};
}
});
// node_modules/undici/lib/web/cookies/parse.js
var require_parse6 = __commonJS({
"node_modules/undici/lib/web/cookies/parse.js"(exports2, module2) {
"use strict";
var { collectASequenceOfCodePointsFast } = require_infra();
var { maxNameValuePairSize, maxAttributeValueSize } = require_constants7();
var { isCTLExcludingHtab } = require_util16();
var assert3 = __require("node:assert");
var { unescape: qsUnescape } = __require("node:querystring");
function parseSetCookie(header) {
if (isCTLExcludingHtab(header)) {
return null;
}
let nameValuePair = "";
let unparsedAttributes = "";
let name3 = "";
let value = "";
if (header.includes(";")) {
const position = { position: 0 };
nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
unparsedAttributes = header.slice(position.position);
} else {
nameValuePair = header;
}
if (!nameValuePair.includes("=")) {
value = nameValuePair;
} else {
const position = { position: 0 };
name3 = collectASequenceOfCodePointsFast(
"=",
nameValuePair,
position
);
value = nameValuePair.slice(position.position + 1);
}
name3 = name3.trim();
value = value.trim();
if (name3.length + value.length > maxNameValuePairSize) {
return null;
}
return {
name: name3,
value: qsUnescape(value),
...parseUnparsedAttributes(unparsedAttributes)
};
}
function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
if (unparsedAttributes.length === 0) {
return cookieAttributeList;
}
assert3(unparsedAttributes[0] === ";");
unparsedAttributes = unparsedAttributes.slice(1);
let cookieAv = "";
if (unparsedAttributes.includes(";")) {
cookieAv = collectASequenceOfCodePointsFast(
";",
unparsedAttributes,
{ position: 0 }
);
unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
} else {
cookieAv = unparsedAttributes;
unparsedAttributes = "";
}
let attributeName = "";
let attributeValue = "";
if (cookieAv.includes("=")) {
const position = { position: 0 };
attributeName = collectASequenceOfCodePointsFast(
"=",
cookieAv,
position
);
attributeValue = cookieAv.slice(position.position + 1);
} else {
attributeName = cookieAv;
}
attributeName = attributeName.trim();
attributeValue = attributeValue.trim();
if (attributeValue.length > maxAttributeValueSize) {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
const attributeNameLowercase = attributeName.toLowerCase();
if (attributeNameLowercase === "expires") {
const expiryTime = new Date(attributeValue);
cookieAttributeList.expires = expiryTime;
} else if (attributeNameLowercase === "max-age") {
const charCode = attributeValue.charCodeAt(0);
if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
if (!/^\d+$/.test(attributeValue)) {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
const deltaSeconds = Number(attributeValue);
cookieAttributeList.maxAge = deltaSeconds;
} else if (attributeNameLowercase === "domain") {
let cookieDomain = attributeValue;
if (cookieDomain[0] === ".") {
cookieDomain = cookieDomain.slice(1);
}
cookieDomain = cookieDomain.toLowerCase();
cookieAttributeList.domain = cookieDomain;
} else if (attributeNameLowercase === "path") {
let cookiePath = "";
if (attributeValue.length === 0 || attributeValue[0] !== "/") {
cookiePath = "/";
} else {
cookiePath = attributeValue;
}
cookieAttributeList.path = cookiePath;
} else if (attributeNameLowercase === "secure") {
cookieAttributeList.secure = true;
} else if (attributeNameLowercase === "httponly") {
cookieAttributeList.httpOnly = true;
} else if (attributeNameLowercase === "samesite") {
let enforcement = "Default";
const attributeValueLowercase = attributeValue.toLowerCase();
if (attributeValueLowercase.includes("none")) {
enforcement = "None";
}
if (attributeValueLowercase.includes("strict")) {
enforcement = "Strict";
}
if (attributeValueLowercase.includes("lax")) {
enforcement = "Lax";
}
cookieAttributeList.sameSite = enforcement;
} else {
cookieAttributeList.unparsed ??= [];
cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
}
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
module2.exports = {
parseSetCookie,
parseUnparsedAttributes
};
}
});
// node_modules/undici/lib/web/cookies/index.js
var require_cookies = __commonJS({
"node_modules/undici/lib/web/cookies/index.js"(exports2, module2) {
"use strict";
var { parseSetCookie } = require_parse6();
var { stringify: stringify3 } = require_util16();
var { webidl } = require_webidl();
var { Headers: Headers2 } = require_headers();
var brandChecks = webidl.brandCheckMultiple([Headers2, globalThis.Headers].filter(Boolean));
function getCookies(headers) {
webidl.argumentLengthCheck(arguments, 1, "getCookies");
brandChecks(headers);
const cookie = headers.get("cookie");
const out2 = {};
if (!cookie) {
return out2;
}
for (const piece of cookie.split(";")) {
const [name3, ...value] = piece.split("=");
out2[name3.trim()] = value.join("=");
}
return out2;
}
function deleteCookie(headers, name3, attributes) {
brandChecks(headers);
const prefix = "deleteCookie";
webidl.argumentLengthCheck(arguments, 2, prefix);
name3 = webidl.converters.DOMString(name3, prefix, "name");
attributes = webidl.converters.DeleteCookieAttributes(attributes);
setCookie(headers, {
name: name3,
value: "",
expires: /* @__PURE__ */ new Date(0),
...attributes
});
}
function getSetCookies(headers) {
webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
brandChecks(headers);
const cookies = headers.getSetCookie();
if (!cookies) {
return [];
}
return cookies.map((pair) => parseSetCookie(pair));
}
function parseCookie(cookie) {
cookie = webidl.converters.DOMString(cookie);
return parseSetCookie(cookie);
}
function setCookie(headers, cookie) {
webidl.argumentLengthCheck(arguments, 2, "setCookie");
brandChecks(headers);
cookie = webidl.converters.Cookie(cookie);
const str2 = stringify3(cookie);
if (str2) {
headers.append("set-cookie", str2, true);
}
}
webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "path",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "domain",
defaultValue: () => null
}
]);
webidl.converters.Cookie = webidl.dictionaryConverter([
{
converter: webidl.converters.DOMString,
key: "name"
},
{
converter: webidl.converters.DOMString,
key: "value"
},
{
converter: webidl.nullableConverter((value) => {
if (typeof value === "number") {
return webidl.converters["unsigned long long"](value);
}
return new Date(value);
}),
key: "expires",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters["long long"]),
key: "maxAge",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "domain",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "path",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: "secure",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: "httpOnly",
defaultValue: () => null
},
{
converter: webidl.converters.USVString,
key: "sameSite",
allowedValues: ["Strict", "Lax", "None"]
},
{
converter: webidl.sequenceConverter(webidl.converters.DOMString),
key: "unparsed",
defaultValue: () => []
}
]);
module2.exports = {
getCookies,
deleteCookie,
getSetCookies,
setCookie,
parseCookie
};
}
});
// node_modules/undici/lib/web/websocket/events.js
var require_events = __commonJS({
"node_modules/undici/lib/web/websocket/events.js"(exports2, module2) {
"use strict";
var { webidl } = require_webidl();
var { kEnumerableProperty } = require_util13();
var { kConstruct } = require_symbols();
var MessageEvent2 = class _MessageEvent extends Event {
#eventInit;
constructor(type2, eventInitDict = {}) {
if (type2 === kConstruct) {
super(arguments[1], arguments[2]);
webidl.util.markAsUncloneable(this);
return;
}
const prefix = "MessageEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
type2 = webidl.converters.DOMString(type2, prefix, "type");
eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
super(type2, eventInitDict);
this.#eventInit = eventInitDict;
webidl.util.markAsUncloneable(this);
}
get data() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.data;
}
get origin() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.origin;
}
get lastEventId() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.lastEventId;
}
get source() {
webidl.brandCheck(this, _MessageEvent);
return this.#eventInit.source;
}
get ports() {
webidl.brandCheck(this, _MessageEvent);
if (!Object.isFrozen(this.#eventInit.ports)) {
Object.freeze(this.#eventInit.ports);
}
return this.#eventInit.ports;
}
initMessageEvent(type2, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
webidl.brandCheck(this, _MessageEvent);
webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
return new _MessageEvent(type2, {
bubbles,
cancelable,
data,
origin,
lastEventId,
source,
ports
});
}
static createFastMessageEvent(type2, init2) {
const messageEvent = new _MessageEvent(kConstruct, type2, init2);
messageEvent.#eventInit = init2;
messageEvent.#eventInit.data ??= null;
messageEvent.#eventInit.origin ??= "";
messageEvent.#eventInit.lastEventId ??= "";
messageEvent.#eventInit.source ??= null;
messageEvent.#eventInit.ports ??= [];
return messageEvent;
}
};
var { createFastMessageEvent } = MessageEvent2;
delete MessageEvent2.createFastMessageEvent;
var CloseEvent = class _CloseEvent extends Event {
#eventInit;
constructor(type2, eventInitDict = {}) {
const prefix = "CloseEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
type2 = webidl.converters.DOMString(type2, prefix, "type");
eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
super(type2, eventInitDict);
this.#eventInit = eventInitDict;
webidl.util.markAsUncloneable(this);
}
get wasClean() {
webidl.brandCheck(this, _CloseEvent);
return this.#eventInit.wasClean;
}
get code() {
webidl.brandCheck(this, _CloseEvent);
return this.#eventInit.code;
}
get reason() {
webidl.brandCheck(this, _CloseEvent);
return this.#eventInit.reason;
}
};
var ErrorEvent2 = class _ErrorEvent extends Event {
#eventInit;
constructor(type2, eventInitDict) {
const prefix = "ErrorEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
super(type2, eventInitDict);
webidl.util.markAsUncloneable(this);
type2 = webidl.converters.DOMString(type2, prefix, "type");
eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
this.#eventInit = eventInitDict;
}
get message() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.message;
}
get filename() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.filename;
}
get lineno() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.lineno;
}
get colno() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.colno;
}
get error() {
webidl.brandCheck(this, _ErrorEvent);
return this.#eventInit.error;
}
};
Object.defineProperties(MessageEvent2.prototype, {
[Symbol.toStringTag]: {
value: "MessageEvent",
configurable: true
},
data: kEnumerableProperty,
origin: kEnumerableProperty,
lastEventId: kEnumerableProperty,
source: kEnumerableProperty,
ports: kEnumerableProperty,
initMessageEvent: kEnumerableProperty
});
Object.defineProperties(CloseEvent.prototype, {
[Symbol.toStringTag]: {
value: "CloseEvent",
configurable: true
},
reason: kEnumerableProperty,
code: kEnumerableProperty,
wasClean: kEnumerableProperty
});
Object.defineProperties(ErrorEvent2.prototype, {
[Symbol.toStringTag]: {
value: "ErrorEvent",
configurable: true
},
message: kEnumerableProperty,
filename: kEnumerableProperty,
lineno: kEnumerableProperty,
colno: kEnumerableProperty,
error: kEnumerableProperty
});
webidl.converters.MessagePort = webidl.interfaceConverter(
webidl.is.MessagePort,
"MessagePort"
);
webidl.converters["sequence<MessagePort>"] = webidl.sequenceConverter(
webidl.converters.MessagePort
);
var eventInit = [
{
key: "bubbles",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "cancelable",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "composed",
converter: webidl.converters.boolean,
defaultValue: () => false
}
];
webidl.converters.MessageEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "data",
converter: webidl.converters.any,
defaultValue: () => null
},
{
key: "origin",
converter: webidl.converters.USVString,
defaultValue: () => ""
},
{
key: "lastEventId",
converter: webidl.converters.DOMString,
defaultValue: () => ""
},
{
key: "source",
// Node doesn't implement WindowProxy or ServiceWorker, so the only
// valid value for source is a MessagePort.
converter: webidl.nullableConverter(webidl.converters.MessagePort),
defaultValue: () => null
},
{
key: "ports",
converter: webidl.converters["sequence<MessagePort>"],
defaultValue: () => []
}
]);
webidl.converters.CloseEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "wasClean",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "code",
converter: webidl.converters["unsigned short"],
defaultValue: () => 0
},
{
key: "reason",
converter: webidl.converters.USVString,
defaultValue: () => ""
}
]);
webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "message",
converter: webidl.converters.DOMString,
defaultValue: () => ""
},
{
key: "filename",
converter: webidl.converters.USVString,
defaultValue: () => ""
},
{
key: "lineno",
converter: webidl.converters["unsigned long"],
defaultValue: () => 0
},
{
key: "colno",
converter: webidl.converters["unsigned long"],
defaultValue: () => 0
},
{
key: "error",
converter: webidl.converters.any
}
]);
module2.exports = {
MessageEvent: MessageEvent2,
CloseEvent,
ErrorEvent: ErrorEvent2,
createFastMessageEvent
};
}
});
// node_modules/undici/lib/web/websocket/constants.js
var require_constants8 = __commonJS({
"node_modules/undici/lib/web/websocket/constants.js"(exports2, module2) {
"use strict";
var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
var staticPropertyDescriptors = {
enumerable: true,
writable: false,
configurable: false
};
var states = {
CONNECTING: 0,
OPEN: 1,
CLOSING: 2,
CLOSED: 3
};
var sentCloseFrameState = {
SENT: 1,
RECEIVED: 2
};
var opcodes = {
CONTINUATION: 0,
TEXT: 1,
BINARY: 2,
CLOSE: 8,
PING: 9,
PONG: 10
};
var maxUnsigned16Bit = 65535;
var parserStates = {
INFO: 0,
PAYLOADLENGTH_16: 2,
PAYLOADLENGTH_64: 3,
READ_DATA: 4
};
var emptyBuffer = Buffer.allocUnsafe(0);
var sendHints = {
text: 1,
typedArray: 2,
arrayBuffer: 3,
blob: 4
};
module2.exports = {
uid,
sentCloseFrameState,
staticPropertyDescriptors,
states,
opcodes,
maxUnsigned16Bit,
parserStates,
emptyBuffer,
sendHints
};
}
});
// node_modules/undici/lib/web/websocket/util.js
var require_util17 = __commonJS({
"node_modules/undici/lib/web/websocket/util.js"(exports2, module2) {
"use strict";
var { states, opcodes } = require_constants8();
var { isUtf8 } = __require("node:buffer");
var { removeHTTPWhitespace } = require_data_url();
var { collectASequenceOfCodePointsFast } = require_infra();
function isConnecting(readyState) {
return readyState === states.CONNECTING;
}
function isEstablished(readyState) {
return readyState === states.OPEN;
}
function isClosing(readyState) {
return readyState === states.CLOSING;
}
function isClosed(readyState) {
return readyState === states.CLOSED;
}
function fireEvent(e2, target, eventFactory = (type2, init2) => new Event(type2, init2), eventInitDict = {}) {
const event = eventFactory(e2, eventInitDict);
target.dispatchEvent(event);
}
function websocketMessageReceived(handler, type2, data) {
handler.onMessage(type2, data);
}
function toArrayBuffer(buffer) {
if (buffer.byteLength === buffer.buffer.byteLength) {
return buffer.buffer;
}
return new Uint8Array(buffer).buffer;
}
function isValidSubprotocol(protocol) {
if (protocol.length === 0) {
return false;
}
for (let i3 = 0; i3 < protocol.length; ++i3) {
const code = protocol.charCodeAt(i3);
if (code < 33 || // CTL, contains SP (0x20) and HT (0x09)
code > 126 || code === 34 || // "
code === 40 || // (
code === 41 || // )
code === 44 || // ,
code === 47 || // /
code === 58 || // :
code === 59 || // ;
code === 60 || // <
code === 61 || // =
code === 62 || // >
code === 63 || // ?
code === 64 || // @
code === 91 || // [
code === 92 || // \
code === 93 || // ]
code === 123 || // {
code === 125) {
return false;
}
}
return true;
}
function isValidStatusCode(code) {
if (code >= 1e3 && code < 1015) {
return code !== 1004 && // reserved
code !== 1005 && // "MUST NOT be set as a status code"
code !== 1006;
}
return code >= 3e3 && code <= 4999;
}
function isControlFrame(opcode) {
return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
}
function isContinuationFrame(opcode) {
return opcode === opcodes.CONTINUATION;
}
function isTextBinaryFrame(opcode) {
return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
}
function isValidOpcode(opcode) {
return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
}
function parseExtensions(extensions) {
const position = { position: 0 };
const extensionList = /* @__PURE__ */ new Map();
while (position.position < extensions.length) {
const pair = collectASequenceOfCodePointsFast(";", extensions, position);
const [name3, value = ""] = pair.split("=", 2);
extensionList.set(
removeHTTPWhitespace(name3, true, false),
removeHTTPWhitespace(value, false, true)
);
position.position++;
}
return extensionList;
}
function isValidClientWindowBits(value) {
if (value.length === 0) {
return false;
}
for (let i3 = 0; i3 < value.length; i3++) {
const byte = value.charCodeAt(i3);
if (byte < 48 || byte > 57) {
return false;
}
}
const num = Number.parseInt(value, 10);
return num >= 8 && num <= 15;
}
function getURLRecord(url3, baseURL) {
let urlRecord;
try {
urlRecord = new URL(url3, baseURL);
} catch (e2) {
throw new DOMException(e2, "SyntaxError");
}
if (urlRecord.protocol === "http:") {
urlRecord.protocol = "ws:";
} else if (urlRecord.protocol === "https:") {
urlRecord.protocol = "wss:";
}
if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
throw new DOMException("expected a ws: or wss: url", "SyntaxError");
}
if (urlRecord.hash.length || urlRecord.href.endsWith("#")) {
throw new DOMException("hash", "SyntaxError");
}
return urlRecord;
}
function validateCloseCodeAndReason(code, reason) {
if (code !== null) {
if (code !== 1e3 && (code < 3e3 || code > 4999)) {
throw new DOMException("invalid code", "InvalidAccessError");
}
}
if (reason !== null) {
const reasonBytesLength = Buffer.byteLength(reason);
if (reasonBytesLength > 123) {
throw new DOMException(`Reason must be less than 123 bytes; received ${reasonBytesLength}`, "SyntaxError");
}
}
}
var utf8Decode = (() => {
if (typeof process.versions.icu === "string") {
const fatalDecoder = new TextDecoder("utf-8", { fatal: true });
return fatalDecoder.decode.bind(fatalDecoder);
}
return function(buffer) {
if (isUtf8(buffer)) {
return buffer.toString("utf-8");
}
throw new TypeError("Invalid utf-8 received.");
};
})();
module2.exports = {
isConnecting,
isEstablished,
isClosing,
isClosed,
fireEvent,
isValidSubprotocol,
isValidStatusCode,
websocketMessageReceived,
utf8Decode,
isControlFrame,
isContinuationFrame,
isTextBinaryFrame,
isValidOpcode,
parseExtensions,
isValidClientWindowBits,
toArrayBuffer,
getURLRecord,
validateCloseCodeAndReason
};
}
});
// node_modules/undici/lib/web/websocket/frame.js
var require_frame = __commonJS({
"node_modules/undici/lib/web/websocket/frame.js"(exports2, module2) {
"use strict";
var { runtimeFeatures } = require_runtime_features();
var { maxUnsigned16Bit, opcodes } = require_constants8();
var BUFFER_SIZE = 8 * 1024;
var buffer = null;
var bufIdx = BUFFER_SIZE;
var randomFillSync2 = runtimeFeatures.has("crypto") ? __require("node:crypto").randomFillSync : function randomFillSync3(buffer2, _offset, _size2) {
for (let i3 = 0; i3 < buffer2.length; ++i3) {
buffer2[i3] = Math.random() * 255 | 0;
}
return buffer2;
};
function generateMask() {
if (bufIdx === BUFFER_SIZE) {
bufIdx = 0;
randomFillSync2(buffer ??= Buffer.allocUnsafeSlow(BUFFER_SIZE), 0, BUFFER_SIZE);
}
return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
}
var WebsocketFrameSend = class {
/**
* @param {Buffer|undefined} data
*/
constructor(data) {
this.frameData = data;
}
createFrame(opcode) {
const frameData = this.frameData;
const maskKey = generateMask();
const bodyLength = frameData?.byteLength ?? 0;
let payloadLength = bodyLength;
let offset = 6;
if (bodyLength > maxUnsigned16Bit) {
offset += 8;
payloadLength = 127;
} else if (bodyLength > 125) {
offset += 2;
payloadLength = 126;
}
const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
buffer2[0] = buffer2[1] = 0;
buffer2[0] |= 128;
buffer2[0] = (buffer2[0] & 240) + opcode;
buffer2[offset - 4] = maskKey[0];
buffer2[offset - 3] = maskKey[1];
buffer2[offset - 2] = maskKey[2];
buffer2[offset - 1] = maskKey[3];
buffer2[1] = payloadLength;
if (payloadLength === 126) {
buffer2.writeUInt16BE(bodyLength, 2);
} else if (payloadLength === 127) {
buffer2[2] = buffer2[3] = 0;
buffer2.writeUIntBE(bodyLength, 4, 6);
}
buffer2[1] |= 128;
for (let i3 = 0; i3 < bodyLength; ++i3) {
buffer2[offset + i3] = frameData[i3] ^ maskKey[i3 & 3];
}
return buffer2;
}
/**
* @param {Uint8Array} buffer
*/
static createFastTextFrame(buffer2) {
const maskKey = generateMask();
const bodyLength = buffer2.length;
for (let i3 = 0; i3 < bodyLength; ++i3) {
buffer2[i3] ^= maskKey[i3 & 3];
}
let payloadLength = bodyLength;
let offset = 6;
if (bodyLength > maxUnsigned16Bit) {
offset += 8;
payloadLength = 127;
} else if (bodyLength > 125) {
offset += 2;
payloadLength = 126;
}
const head = Buffer.allocUnsafeSlow(offset);
head[0] = 128 | opcodes.TEXT;
head[1] = payloadLength | 128;
head[offset - 4] = maskKey[0];
head[offset - 3] = maskKey[1];
head[offset - 2] = maskKey[2];
head[offset - 1] = maskKey[3];
if (payloadLength === 126) {
head.writeUInt16BE(bodyLength, 2);
} else if (payloadLength === 127) {
head[2] = head[3] = 0;
head.writeUIntBE(bodyLength, 4, 6);
}
return [head, buffer2];
}
};
module2.exports = {
WebsocketFrameSend,
generateMask
// for benchmark
};
}
});
// node_modules/undici/lib/web/websocket/connection.js
var require_connection = __commonJS({
"node_modules/undici/lib/web/websocket/connection.js"(exports2, module2) {
"use strict";
var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants8();
var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util17();
var { makeRequest } = require_request2();
var { fetching } = require_fetch2();
var { Headers: Headers2, getHeadersList } = require_headers();
var { getDecodeSplit } = require_util14();
var { WebsocketFrameSend } = require_frame();
var assert3 = __require("node:assert");
var { runtimeFeatures } = require_runtime_features();
var crypto22 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
var warningEmitted = false;
function establishWebSocketConnection(url3, protocols, client, handler, options) {
const requestURL = url3;
requestURL.protocol = url3.protocol === "ws:" ? "http:" : "https:";
const request = makeRequest({
urlList: [requestURL],
client,
serviceWorkers: "none",
referrer: "no-referrer",
mode: "websocket",
credentials: "include",
cache: "no-store",
redirect: "error",
useURLCredentials: true
});
if (options.headers) {
const headersList = getHeadersList(new Headers2(options.headers));
request.headersList = headersList;
}
const keyValue = crypto22.randomBytes(16).toString("base64");
request.headersList.append("sec-websocket-key", keyValue, true);
request.headersList.append("sec-websocket-version", "13", true);
for (const protocol of protocols) {
request.headersList.append("sec-websocket-protocol", protocol, true);
}
const permessageDeflate = "permessage-deflate; client_max_window_bits";
request.headersList.append("sec-websocket-extensions", permessageDeflate, true);
const controller = fetching({
request,
useParallelQueue: true,
dispatcher: options.dispatcher,
processResponse(response) {
if (response.type === "error" || response.status !== 101) {
if (response.socket?.session == null) {
failWebsocketConnection(handler, 1002, "Received network error or non-101 status code.", response.error);
return;
}
if (response.status !== 200) {
failWebsocketConnection(handler, 1002, "Received network error or non-200 status code.", response.error);
return;
}
}
if (warningEmitted === false && response.socket?.session != null) {
process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.", "ExperimentalWarning");
warningEmitted = true;
}
if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
failWebsocketConnection(handler, 1002, "Server did not respond with sent protocols.");
return;
}
if (response.socket.session == null && response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
failWebsocketConnection(handler, 1002, 'Server did not set Upgrade header to "websocket".');
return;
}
if (response.socket.session == null && response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
failWebsocketConnection(handler, 1002, 'Server did not set Connection header to "upgrade".');
return;
}
const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
const digest = crypto22.hash("sha1", keyValue + uid, "base64");
if (secWSAccept !== digest) {
failWebsocketConnection(handler, 1002, "Incorrect hash received in Sec-WebSocket-Accept header.");
return;
}
const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
let extensions;
if (secExtension !== null) {
extensions = parseExtensions(secExtension);
if (!extensions.has("permessage-deflate")) {
failWebsocketConnection(handler, 1002, "Sec-WebSocket-Extensions header does not match.");
return;
}
}
const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
if (secProtocol !== null) {
const requestProtocols = getDecodeSplit("sec-websocket-protocol", request.headersList);
if (!requestProtocols.includes(secProtocol)) {
failWebsocketConnection(handler, 1002, "Protocol was not set in the opening handshake.");
return;
}
}
response.socket.on("data", handler.onSocketData);
response.socket.on("close", handler.onSocketClose);
response.socket.on("error", handler.onSocketError);
handler.wasEverConnected = true;
handler.onConnectionEstablished(response, extensions);
}
});
return controller;
}
function closeWebSocketConnection(object3, code, reason, validate3 = false) {
code ??= null;
reason ??= "";
if (validate3) validateCloseCodeAndReason(code, reason);
if (isClosed(object3.readyState) || isClosing(object3.readyState)) {
} else if (!isEstablished(object3.readyState)) {
failWebsocketConnection(object3);
object3.readyState = states.CLOSING;
} else if (!object3.closeState.has(sentCloseFrameState.SENT) && !object3.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend();
if (reason.length !== 0 && code === null) {
code = 1e3;
}
assert3(code === null || Number.isInteger(code));
if (code === null && reason.length === 0) {
frame.frameData = emptyBuffer;
} else if (code !== null && reason === null) {
frame.frameData = Buffer.allocUnsafe(2);
frame.frameData.writeUInt16BE(code, 0);
} else if (code !== null && reason !== null) {
frame.frameData = Buffer.allocUnsafe(2 + Buffer.byteLength(reason));
frame.frameData.writeUInt16BE(code, 0);
frame.frameData.write(reason, 2, "utf-8");
} else {
frame.frameData = emptyBuffer;
}
object3.socket.write(frame.createFrame(opcodes.CLOSE));
object3.closeState.add(sentCloseFrameState.SENT);
object3.readyState = states.CLOSING;
} else {
object3.readyState = states.CLOSING;
}
}
function failWebsocketConnection(handler, code, reason, cause) {
if (isEstablished(handler.readyState)) {
closeWebSocketConnection(handler, code, reason, false);
}
handler.controller.abort();
if (isConnecting(handler.readyState)) {
handler.onSocketClose();
} else if (handler.socket?.destroyed === false) {
handler.socket.destroy();
}
}
module2.exports = {
establishWebSocketConnection,
failWebsocketConnection,
closeWebSocketConnection
};
}
});
// node_modules/undici/lib/web/websocket/permessage-deflate.js
var require_permessage_deflate = __commonJS({
"node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module2) {
"use strict";
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
var { isValidClientWindowBits } = require_util17();
var { MessageSizeExceededError } = require_errors4();
var tail = Buffer.from([0, 0, 255, 255]);
var kBuffer = Symbol("kBuffer");
var kLength = Symbol("kLength");
var kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
var PerMessageDeflate = class {
/** @type {import('node:zlib').InflateRaw} */
#inflate;
#options = {};
/** @type {boolean} */
#aborted = false;
/** @type {Function|null} */
#currentCallback = null;
/**
* @param {Map<string, string>} extensions
*/
constructor(extensions) {
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
}
decompress(chunk, fin, callback) {
if (this.#aborted) {
callback(new MessageSizeExceededError());
return;
}
if (!this.#inflate) {
let windowBits = Z_DEFAULT_WINDOWBITS;
if (this.#options.serverMaxWindowBits) {
if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
callback(new Error("Invalid server_max_window_bits"));
return;
}
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
}
try {
this.#inflate = createInflateRaw({ windowBits });
} catch (err2) {
callback(err2);
return;
}
this.#inflate[kBuffer] = [];
this.#inflate[kLength] = 0;
this.#inflate.on("data", (data) => {
if (this.#aborted) {
return;
}
this.#inflate[kLength] += data.length;
if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
this.#aborted = true;
this.#inflate.removeAllListeners();
this.#inflate.destroy();
this.#inflate = null;
if (this.#currentCallback) {
const cb = this.#currentCallback;
this.#currentCallback = null;
cb(new MessageSizeExceededError());
}
return;
}
this.#inflate[kBuffer].push(data);
});
this.#inflate.on("error", (err2) => {
this.#inflate = null;
callback(err2);
});
}
this.#currentCallback = callback;
this.#inflate.write(chunk);
if (fin) {
this.#inflate.write(tail);
}
this.#inflate.flush(() => {
if (this.#aborted || !this.#inflate) {
return;
}
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
this.#inflate[kBuffer].length = 0;
this.#inflate[kLength] = 0;
this.#currentCallback = null;
callback(null, full);
});
}
};
module2.exports = { PerMessageDeflate };
}
});
// node_modules/undici/lib/web/websocket/receiver.js
var require_receiver = __commonJS({
"node_modules/undici/lib/web/websocket/receiver.js"(exports2, module2) {
"use strict";
var { Writable: Writable4 } = __require("node:stream");
var assert3 = __require("node:assert");
var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants8();
var {
isValidStatusCode,
isValidOpcode,
websocketMessageReceived,
utf8Decode,
isControlFrame,
isTextBinaryFrame,
isContinuationFrame
} = require_util17();
var { failWebsocketConnection } = require_connection();
var { WebsocketFrameSend } = require_frame();
var { PerMessageDeflate } = require_permessage_deflate();
var { MessageSizeExceededError } = require_errors4();
var ByteParser = class extends Writable4 {
#buffers = [];
#fragmentsBytes = 0;
#byteOffset = 0;
#loop = false;
#state = parserStates.INFO;
#info = {};
#fragments = [];
/** @type {Map<string, PerMessageDeflate>} */
#extensions;
/** @type {import('./websocket').Handler} */
#handler;
/**
* @param {import('./websocket').Handler} handler
* @param {Map<string, string>|null} extensions
*/
constructor(handler, extensions) {
super();
this.#handler = handler;
this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
if (this.#extensions.has("permessage-deflate")) {
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
}
}
/**
* @param {Buffer} chunk
* @param {() => void} callback
*/
_write(chunk, _, callback) {
this.#buffers.push(chunk);
this.#byteOffset += chunk.length;
this.#loop = true;
this.run(callback);
}
/**
* Runs whenever a new chunk is received.
* Callback is called whenever there are no more chunks buffering,
* or not enough bytes are buffered to parse.
*/
run(callback) {
while (this.#loop) {
if (this.#state === parserStates.INFO) {
if (this.#byteOffset < 2) {
return callback();
}
const buffer = this.consume(2);
const fin = (buffer[0] & 128) !== 0;
const opcode = buffer[0] & 15;
const masked = (buffer[1] & 128) === 128;
const fragmented = !fin && opcode !== opcodes.CONTINUATION;
const payloadLength = buffer[1] & 127;
const rsv1 = buffer[0] & 64;
const rsv2 = buffer[0] & 32;
const rsv3 = buffer[0] & 16;
if (!isValidOpcode(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Invalid opcode received");
return callback();
}
if (masked) {
failWebsocketConnection(this.#handler, 1002, "Frame cannot be masked");
return callback();
}
if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
failWebsocketConnection(this.#handler, 1002, "Expected RSV1 to be clear.");
return;
}
if (rsv2 !== 0 || rsv3 !== 0) {
failWebsocketConnection(this.#handler, 1002, "RSV1, RSV2, RSV3 must be clear");
return;
}
if (fragmented && !isTextBinaryFrame(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Invalid frame type was fragmented.");
return;
}
if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
failWebsocketConnection(this.#handler, 1002, "Expected continuation frame");
return;
}
if (this.#info.fragmented && fragmented) {
failWebsocketConnection(this.#handler, 1002, "Fragmented frame exceeded 125 bytes.");
return;
}
if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Control frame either too large or fragmented");
return;
}
if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
failWebsocketConnection(this.#handler, 1002, "Unexpected continuation frame");
return;
}
if (payloadLength <= 125) {
this.#info.payloadLength = payloadLength;
this.#state = parserStates.READ_DATA;
} else if (payloadLength === 126) {
this.#state = parserStates.PAYLOADLENGTH_16;
} else if (payloadLength === 127) {
this.#state = parserStates.PAYLOADLENGTH_64;
}
if (isTextBinaryFrame(opcode)) {
this.#info.binaryType = opcode;
this.#info.compressed = rsv1 !== 0;
}
this.#info.opcode = opcode;
this.#info.masked = masked;
this.#info.fin = fin;
this.#info.fragmented = fragmented;
} else if (this.#state === parserStates.PAYLOADLENGTH_16) {
if (this.#byteOffset < 2) {
return callback();
}
const buffer = this.consume(2);
this.#info.payloadLength = buffer.readUInt16BE(0);
this.#state = parserStates.READ_DATA;
} else if (this.#state === parserStates.PAYLOADLENGTH_64) {
if (this.#byteOffset < 8) {
return callback();
}
const buffer = this.consume(8);
const upper = buffer.readUInt32BE(0);
const lower = buffer.readUInt32BE(4);
if (upper !== 0 || lower > 2 ** 31 - 1) {
failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
return;
}
this.#info.payloadLength = lower;
this.#state = parserStates.READ_DATA;
} else if (this.#state === parserStates.READ_DATA) {
if (this.#byteOffset < this.#info.payloadLength) {
return callback();
}
const body2 = this.consume(this.#info.payloadLength);
if (isControlFrame(this.#info.opcode)) {
this.#loop = this.parseControlFrame(body2);
this.#state = parserStates.INFO;
} else {
if (!this.#info.compressed) {
this.writeFragments(body2);
if (!this.#info.fragmented && this.#info.fin) {
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
}
this.#state = parserStates.INFO;
} else {
this.#extensions.get("permessage-deflate").decompress(body2, this.#info.fin, (error40, data) => {
if (error40) {
const code = error40 instanceof MessageSizeExceededError ? 1009 : 1007;
failWebsocketConnection(this.#handler, code, error40.message);
return;
}
this.writeFragments(data);
if (!this.#info.fin) {
this.#state = parserStates.INFO;
this.#loop = true;
this.run(callback);
return;
}
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
this.#loop = true;
this.#state = parserStates.INFO;
this.run(callback);
});
this.#loop = false;
break;
}
}
}
}
}
/**
* Take n bytes from the buffered Buffers
* @param {number} n
* @returns {Buffer}
*/
consume(n3) {
if (n3 > this.#byteOffset) {
throw new Error("Called consume() before buffers satiated.");
} else if (n3 === 0) {
return emptyBuffer;
}
this.#byteOffset -= n3;
const first2 = this.#buffers[0];
if (first2.length > n3) {
this.#buffers[0] = first2.subarray(n3, first2.length);
return first2.subarray(0, n3);
} else if (first2.length === n3) {
return this.#buffers.shift();
} else {
let offset = 0;
const buffer = Buffer.allocUnsafeSlow(n3);
while (offset !== n3) {
const next = this.#buffers[0];
const length = next.length;
if (length + offset === n3) {
buffer.set(this.#buffers.shift(), offset);
break;
} else if (length + offset > n3) {
buffer.set(next.subarray(0, n3 - offset), offset);
this.#buffers[0] = next.subarray(n3 - offset);
break;
} else {
buffer.set(this.#buffers.shift(), offset);
offset += length;
}
}
return buffer;
}
}
writeFragments(fragment) {
this.#fragmentsBytes += fragment.length;
this.#fragments.push(fragment);
}
consumeFragments() {
const fragments = this.#fragments;
if (fragments.length === 1) {
this.#fragmentsBytes = 0;
return fragments.shift();
}
let offset = 0;
const output = Buffer.allocUnsafeSlow(this.#fragmentsBytes);
for (let i3 = 0; i3 < fragments.length; ++i3) {
const buffer = fragments[i3];
output.set(buffer, offset);
offset += buffer.length;
}
this.#fragments = [];
this.#fragmentsBytes = 0;
return output;
}
parseCloseBody(data) {
assert3(data.length !== 1);
let code;
if (data.length >= 2) {
code = data.readUInt16BE(0);
}
if (code !== void 0 && !isValidStatusCode(code)) {
return { code: 1002, reason: "Invalid status code", error: true };
}
let reason = data.subarray(2);
if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
reason = reason.subarray(3);
}
try {
reason = utf8Decode(reason);
} catch {
return { code: 1007, reason: "Invalid UTF-8", error: true };
}
return { code, reason, error: false };
}
/**
* Parses control frames.
* @param {Buffer} body
*/
parseControlFrame(body2) {
const { opcode, payloadLength } = this.#info;
if (opcode === opcodes.CLOSE) {
if (payloadLength === 1) {
failWebsocketConnection(this.#handler, 1002, "Received close frame with a 1-byte body.");
return false;
}
this.#info.closeInfo = this.parseCloseBody(body2);
if (this.#info.closeInfo.error) {
const { code, reason } = this.#info.closeInfo;
failWebsocketConnection(this.#handler, code, reason);
return false;
}
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
let body3 = emptyBuffer;
if (this.#info.closeInfo.code) {
body3 = Buffer.allocUnsafe(2);
body3.writeUInt16BE(this.#info.closeInfo.code, 0);
}
const closeFrame = new WebsocketFrameSend(body3);
this.#handler.socket.write(closeFrame.createFrame(opcodes.CLOSE));
this.#handler.closeState.add(sentCloseFrameState.SENT);
}
this.#handler.readyState = states.CLOSING;
this.#handler.closeState.add(sentCloseFrameState.RECEIVED);
return false;
} else if (opcode === opcodes.PING) {
if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend(body2);
this.#handler.socket.write(frame.createFrame(opcodes.PONG));
this.#handler.onPing(body2);
}
} else if (opcode === opcodes.PONG) {
this.#handler.onPong(body2);
}
return true;
}
get closingInfo() {
return this.#info.closeInfo;
}
};
module2.exports = {
ByteParser
};
}
});
// node_modules/undici/lib/web/websocket/sender.js
var require_sender = __commonJS({
"node_modules/undici/lib/web/websocket/sender.js"(exports2, module2) {
"use strict";
var { WebsocketFrameSend } = require_frame();
var { opcodes, sendHints } = require_constants8();
var FixedQueue = require_fixed_queue();
var SendQueue = class {
/**
* @type {FixedQueue}
*/
#queue = new FixedQueue();
/**
* @type {boolean}
*/
#running = false;
/** @type {import('node:net').Socket} */
#socket;
constructor(socket) {
this.#socket = socket;
}
add(item, cb, hint) {
if (hint !== sendHints.blob) {
if (!this.#running) {
if (hint === sendHints.text) {
const { 0: head, 1: body2 } = WebsocketFrameSend.createFastTextFrame(item);
this.#socket.cork();
this.#socket.write(head);
this.#socket.write(body2, cb);
this.#socket.uncork();
} else {
this.#socket.write(createFrame(item, hint), cb);
}
} else {
const node2 = {
promise: null,
callback: cb,
frame: createFrame(item, hint)
};
this.#queue.push(node2);
}
return;
}
const node = {
promise: item.arrayBuffer().then((ab2) => {
node.promise = null;
node.frame = createFrame(ab2, hint);
}),
callback: cb,
frame: null
};
this.#queue.push(node);
if (!this.#running) {
this.#run();
}
}
async #run() {
this.#running = true;
const queue = this.#queue;
while (!queue.isEmpty()) {
const node = queue.shift();
if (node.promise !== null) {
await node.promise;
}
this.#socket.write(node.frame, node.callback);
node.callback = node.frame = null;
}
this.#running = false;
}
};
function createFrame(data, hint) {
return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.text ? opcodes.TEXT : opcodes.BINARY);
}
function toBuffer(data, hint) {
switch (hint) {
case sendHints.text:
case sendHints.typedArray:
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
case sendHints.arrayBuffer:
case sendHints.blob:
return new Uint8Array(data);
}
}
module2.exports = { SendQueue };
}
});
// node_modules/undici/lib/web/websocket/websocket.js
var require_websocket = __commonJS({
"node_modules/undici/lib/web/websocket/websocket.js"(exports2, module2) {
"use strict";
var { isArrayBuffer: isArrayBuffer2 } = __require("node:util/types");
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { environmentSettingsObject } = require_util14();
var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints, opcodes } = require_constants8();
var {
isConnecting,
isEstablished,
isClosing,
isClosed,
isValidSubprotocol,
fireEvent,
utf8Decode,
toArrayBuffer,
getURLRecord
} = require_util17();
var { establishWebSocketConnection, closeWebSocketConnection, failWebsocketConnection } = require_connection();
var { ByteParser } = require_receiver();
var { kEnumerableProperty } = require_util13();
var { getGlobalDispatcher } = require_global2();
var { ErrorEvent: ErrorEvent2, CloseEvent, createFastMessageEvent } = require_events();
var { SendQueue } = require_sender();
var { WebsocketFrameSend } = require_frame();
var { channels } = require_diagnostics();
var WebSocket = class _WebSocket extends EventTarget {
#events = {
open: null,
error: null,
close: null,
message: null
};
#bufferedAmount = 0;
#protocol = "";
#extensions = "";
/** @type {SendQueue} */
#sendQueue;
/** @type {Handler} */
#handler = {
onConnectionEstablished: (response, extensions) => this.#onConnectionEstablished(response, extensions),
onMessage: (opcode, data) => this.#onMessage(opcode, data),
onParserError: (err2) => failWebsocketConnection(this.#handler, null, err2.message),
onParserDrain: () => this.#onParserDrain(),
onSocketData: (chunk) => {
if (!this.#parser.write(chunk)) {
this.#handler.socket.pause();
}
},
onSocketError: (err2) => {
this.#handler.readyState = states.CLOSING;
if (channels.socketError.hasSubscribers) {
channels.socketError.publish(err2);
}
this.#handler.socket.destroy();
},
onSocketClose: () => this.#onSocketClose(),
onPing: (body2) => {
if (channels.ping.hasSubscribers) {
channels.ping.publish({
payload: body2,
websocket: this
});
}
},
onPong: (body2) => {
if (channels.pong.hasSubscribers) {
channels.pong.publish({
payload: body2,
websocket: this
});
}
},
readyState: states.CONNECTING,
socket: null,
closeState: /* @__PURE__ */ new Set(),
controller: null,
wasEverConnected: false
};
#url;
#binaryType;
/** @type {import('./receiver').ByteParser} */
#parser;
/**
* @param {string} url
* @param {string|string[]} protocols
*/
constructor(url3, protocols = []) {
super();
webidl.util.markAsUncloneable(this);
const prefix = "WebSocket constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols, prefix, "options");
url3 = webidl.converters.USVString(url3);
protocols = options.protocols;
const baseURL = environmentSettingsObject.settingsObject.baseUrl;
const urlRecord = getURLRecord(url3, baseURL);
if (typeof protocols === "string") {
protocols = [protocols];
}
if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
this.#url = new URL(urlRecord.href);
const client = environmentSettingsObject.settingsObject;
this.#handler.controller = establishWebSocketConnection(
urlRecord,
protocols,
client,
this.#handler,
options
);
this.#handler.readyState = _WebSocket.CONNECTING;
this.#binaryType = "blob";
}
/**
* @see https://websockets.spec.whatwg.org/#dom-websocket-close
* @param {number|undefined} code
* @param {string|undefined} reason
*/
close(code = void 0, reason = void 0) {
webidl.brandCheck(this, _WebSocket);
const prefix = "WebSocket.close";
if (code !== void 0) {
code = webidl.converters["unsigned short"](code, prefix, "code", webidl.attributes.Clamp);
}
if (reason !== void 0) {
reason = webidl.converters.USVString(reason);
}
code ??= null;
reason ??= "";
closeWebSocketConnection(this.#handler, code, reason, true);
}
/**
* @see https://websockets.spec.whatwg.org/#dom-websocket-send
* @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
*/
send(data) {
webidl.brandCheck(this, _WebSocket);
const prefix = "WebSocket.send";
webidl.argumentLengthCheck(arguments, 1, prefix);
data = webidl.converters.WebSocketSendData(data, prefix, "data");
if (isConnecting(this.#handler.readyState)) {
throw new DOMException("Sent before connected.", "InvalidStateError");
}
if (!isEstablished(this.#handler.readyState) || isClosing(this.#handler.readyState)) {
return;
}
if (typeof data === "string") {
const buffer = Buffer.from(data);
this.#bufferedAmount += buffer.byteLength;
this.#sendQueue.add(buffer, () => {
this.#bufferedAmount -= buffer.byteLength;
}, sendHints.text);
} else if (isArrayBuffer2(data)) {
this.#bufferedAmount += data.byteLength;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.byteLength;
}, sendHints.arrayBuffer);
} else if (ArrayBuffer.isView(data)) {
this.#bufferedAmount += data.byteLength;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.byteLength;
}, sendHints.typedArray);
} else if (webidl.is.Blob(data)) {
this.#bufferedAmount += data.size;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.size;
}, sendHints.blob);
}
}
get readyState() {
webidl.brandCheck(this, _WebSocket);
return this.#handler.readyState;
}
get bufferedAmount() {
webidl.brandCheck(this, _WebSocket);
return this.#bufferedAmount;
}
get url() {
webidl.brandCheck(this, _WebSocket);
return URLSerializer(this.#url);
}
get extensions() {
webidl.brandCheck(this, _WebSocket);
return this.#extensions;
}
get protocol() {
webidl.brandCheck(this, _WebSocket);
return this.#protocol;
}
get onopen() {
webidl.brandCheck(this, _WebSocket);
return this.#events.open;
}
set onopen(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.open) {
this.removeEventListener("open", this.#events.open);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("open", listener);
this.#events.open = fn;
} else {
this.#events.open = null;
}
}
get onerror() {
webidl.brandCheck(this, _WebSocket);
return this.#events.error;
}
set onerror(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.error) {
this.removeEventListener("error", this.#events.error);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("error", listener);
this.#events.error = fn;
} else {
this.#events.error = null;
}
}
get onclose() {
webidl.brandCheck(this, _WebSocket);
return this.#events.close;
}
set onclose(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.close) {
this.removeEventListener("close", this.#events.close);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("close", listener);
this.#events.close = fn;
} else {
this.#events.close = null;
}
}
get onmessage() {
webidl.brandCheck(this, _WebSocket);
return this.#events.message;
}
set onmessage(fn) {
webidl.brandCheck(this, _WebSocket);
if (this.#events.message) {
this.removeEventListener("message", this.#events.message);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("message", listener);
this.#events.message = fn;
} else {
this.#events.message = null;
}
}
get binaryType() {
webidl.brandCheck(this, _WebSocket);
return this.#binaryType;
}
set binaryType(type2) {
webidl.brandCheck(this, _WebSocket);
if (type2 !== "blob" && type2 !== "arraybuffer") {
this.#binaryType = "blob";
} else {
this.#binaryType = type2;
}
}
/**
* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
*/
#onConnectionEstablished(response, parsedExtensions) {
this.#handler.socket = response.socket;
const parser4 = new ByteParser(this.#handler, parsedExtensions);
parser4.on("drain", () => this.#handler.onParserDrain());
parser4.on("error", (err2) => this.#handler.onParserError(err2));
this.#parser = parser4;
this.#sendQueue = new SendQueue(response.socket);
this.#handler.readyState = states.OPEN;
const extensions = response.headersList.get("sec-websocket-extensions");
if (extensions !== null) {
this.#extensions = extensions;
}
const protocol = response.headersList.get("sec-websocket-protocol");
if (protocol !== null) {
this.#protocol = protocol;
}
fireEvent("open", this);
if (channels.open.hasSubscribers) {
const headers = response.headersList.entries;
channels.open.publish({
address: response.socket.address(),
protocol: this.#protocol,
extensions: this.#extensions,
websocket: this,
handshakeResponse: {
status: response.status,
statusText: response.statusText,
headers
}
});
}
}
#onMessage(type2, data) {
if (this.#handler.readyState !== states.OPEN) {
return;
}
let dataForEvent;
if (type2 === opcodes.TEXT) {
try {
dataForEvent = utf8Decode(data);
} catch {
failWebsocketConnection(this.#handler, 1007, "Received invalid UTF-8 in text frame.");
return;
}
} else if (type2 === opcodes.BINARY) {
if (this.#binaryType === "blob") {
dataForEvent = new Blob([data]);
} else {
dataForEvent = toArrayBuffer(data);
}
}
fireEvent("message", this, createFastMessageEvent, {
origin: this.#url.origin,
data: dataForEvent
});
}
#onParserDrain() {
this.#handler.socket.resume();
}
/**
* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
* @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.4
*/
#onSocketClose() {
const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
let code = 1005;
let reason = "";
const result2 = this.#parser?.closingInfo;
if (result2 && !result2.error) {
code = result2.code ?? 1005;
reason = result2.reason;
}
this.#handler.readyState = states.CLOSED;
if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
code = 1006;
fireEvent("error", this, (type2, init2) => new ErrorEvent2(type2, init2), {
error: new TypeError(reason)
});
}
fireEvent("close", this, (type2, init2) => new CloseEvent(type2, init2), {
wasClean,
code,
reason
});
if (channels.close.hasSubscribers) {
channels.close.publish({
websocket: this,
code,
reason
});
}
}
/**
* @param {WebSocket} ws
* @param {Buffer|undefined} buffer
*/
static ping(ws2, buffer) {
if (Buffer.isBuffer(buffer)) {
if (buffer.length > 125) {
throw new TypeError("A PING frame cannot have a body larger than 125 bytes.");
}
} else if (buffer !== void 0) {
throw new TypeError("Expected buffer payload");
}
const readyState = ws2.#handler.readyState;
if (isEstablished(readyState) && !isClosing(readyState) && !isClosed(readyState)) {
const frame = new WebsocketFrameSend(buffer);
ws2.#handler.socket.write(frame.createFrame(opcodes.PING));
}
}
};
var { ping } = WebSocket;
Reflect.deleteProperty(WebSocket, "ping");
WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
Object.defineProperties(WebSocket.prototype, {
CONNECTING: staticPropertyDescriptors,
OPEN: staticPropertyDescriptors,
CLOSING: staticPropertyDescriptors,
CLOSED: staticPropertyDescriptors,
url: kEnumerableProperty,
readyState: kEnumerableProperty,
bufferedAmount: kEnumerableProperty,
onopen: kEnumerableProperty,
onerror: kEnumerableProperty,
onclose: kEnumerableProperty,
close: kEnumerableProperty,
onmessage: kEnumerableProperty,
binaryType: kEnumerableProperty,
send: kEnumerableProperty,
extensions: kEnumerableProperty,
protocol: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocket",
writable: false,
enumerable: false,
configurable: true
}
});
Object.defineProperties(WebSocket, {
CONNECTING: staticPropertyDescriptors,
OPEN: staticPropertyDescriptors,
CLOSING: staticPropertyDescriptors,
CLOSED: staticPropertyDescriptors
});
webidl.converters["sequence<DOMString>"] = webidl.sequenceConverter(
webidl.converters.DOMString
);
webidl.converters["DOMString or sequence<DOMString>"] = function(V2, prefix, argument) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT && Symbol.iterator in V2) {
return webidl.converters["sequence<DOMString>"](V2);
}
return webidl.converters.DOMString(V2, prefix, argument);
};
webidl.converters.WebSocketInit = webidl.dictionaryConverter([
{
key: "protocols",
converter: webidl.converters["DOMString or sequence<DOMString>"],
defaultValue: () => []
},
{
key: "dispatcher",
converter: webidl.converters.any,
defaultValue: () => getGlobalDispatcher()
},
{
key: "headers",
converter: webidl.nullableConverter(webidl.converters.HeadersInit)
}
]);
webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"] = function(V2) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT && !(Symbol.iterator in V2)) {
return webidl.converters.WebSocketInit(V2);
}
return { protocols: webidl.converters["DOMString or sequence<DOMString>"](V2) };
};
webidl.converters.WebSocketSendData = function(V2) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT) {
if (webidl.is.Blob(V2)) {
return V2;
}
if (webidl.is.BufferSource(V2)) {
return V2;
}
}
return webidl.converters.USVString(V2);
};
module2.exports = {
WebSocket,
ping
};
}
});
// node_modules/undici/lib/web/websocket/stream/websocketerror.js
var require_websocketerror = __commonJS({
"node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports2, module2) {
"use strict";
var { webidl } = require_webidl();
var { validateCloseCodeAndReason } = require_util17();
var { kConstruct } = require_symbols();
var { kEnumerableProperty } = require_util13();
function createInheritableDOMException() {
class Test extends DOMException {
get reason() {
return "";
}
}
if (new Test().reason !== void 0) {
return DOMException;
}
return new Proxy(DOMException, {
construct(target, args2, newTarget) {
const instance2 = Reflect.construct(target, args2, target);
Object.setPrototypeOf(instance2, newTarget.prototype);
return instance2;
}
});
}
var WebSocketError = class _WebSocketError extends createInheritableDOMException() {
#closeCode;
#reason;
constructor(message = "", init2 = void 0) {
message = webidl.converters.DOMString(message, "WebSocketError", "message");
super(message, "WebSocketError");
if (init2 === kConstruct) {
return;
} else if (init2 !== null) {
init2 = webidl.converters.WebSocketCloseInfo(init2);
}
let code = init2.closeCode ?? null;
const reason = init2.reason ?? "";
validateCloseCodeAndReason(code, reason);
if (reason.length !== 0 && code === null) {
code = 1e3;
}
this.#closeCode = code;
this.#reason = reason;
}
get closeCode() {
return this.#closeCode;
}
get reason() {
return this.#reason;
}
/**
* @param {string} message
* @param {number|null} code
* @param {string} reason
*/
static createUnvalidatedWebSocketError(message, code, reason) {
const error40 = new _WebSocketError(message, kConstruct);
error40.#closeCode = code;
error40.#reason = reason;
return error40;
}
};
var { createUnvalidatedWebSocketError } = WebSocketError;
delete WebSocketError.createUnvalidatedWebSocketError;
Object.defineProperties(WebSocketError.prototype, {
closeCode: kEnumerableProperty,
reason: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocketError",
writable: false,
enumerable: false,
configurable: true
}
});
webidl.is.WebSocketError = webidl.util.MakeTypeAssertion(WebSocketError);
module2.exports = { WebSocketError, createUnvalidatedWebSocketError };
}
});
// node_modules/undici/lib/web/websocket/stream/websocketstream.js
var require_websocketstream = __commonJS({
"node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports2, module2) {
"use strict";
var { createDeferredPromise } = require_promise2();
var { environmentSettingsObject } = require_util14();
var { states, opcodes, sentCloseFrameState } = require_constants8();
var { webidl } = require_webidl();
var { getURLRecord, isValidSubprotocol, isEstablished, utf8Decode } = require_util17();
var { establishWebSocketConnection, failWebsocketConnection, closeWebSocketConnection } = require_connection();
var { channels } = require_diagnostics();
var { WebsocketFrameSend } = require_frame();
var { ByteParser } = require_receiver();
var { WebSocketError, createUnvalidatedWebSocketError } = require_websocketerror();
var { kEnumerableProperty } = require_util13();
var { utf8DecodeBytes } = require_encoding();
var emittedExperimentalWarning = false;
var WebSocketStream = class {
// Each WebSocketStream object has an associated url , which is a URL record .
/** @type {URL} */
#url;
// Each WebSocketStream object has an associated opened promise , which is a promise.
/** @type {import('../../../util/promise').DeferredPromise} */
#openedPromise;
// Each WebSocketStream object has an associated closed promise , which is a promise.
/** @type {import('../../../util/promise').DeferredPromise} */
#closedPromise;
// Each WebSocketStream object has an associated readable stream , which is a ReadableStream .
/** @type {ReadableStream} */
#readableStream;
/** @type {ReadableStreamDefaultController} */
#readableStreamController;
// Each WebSocketStream object has an associated writable stream , which is a WritableStream .
/** @type {WritableStream} */
#writableStream;
// Each WebSocketStream object has an associated boolean handshake aborted , which is initially false.
#handshakeAborted = false;
/** @type {import('../websocket').Handler} */
#handler = {
// https://whatpr.org/websockets/48/7b748d3...d5570f3.html#feedback-to-websocket-stream-from-the-protocol
onConnectionEstablished: (response, extensions) => this.#onConnectionEstablished(response, extensions),
onMessage: (opcode, data) => this.#onMessage(opcode, data),
onParserError: (err2) => failWebsocketConnection(this.#handler, null, err2.message),
onParserDrain: () => this.#handler.socket.resume(),
onSocketData: (chunk) => {
if (!this.#parser.write(chunk)) {
this.#handler.socket.pause();
}
},
onSocketError: (err2) => {
this.#handler.readyState = states.CLOSING;
if (channels.socketError.hasSubscribers) {
channels.socketError.publish(err2);
}
this.#handler.socket.destroy();
},
onSocketClose: () => this.#onSocketClose(),
onPing: () => {
},
onPong: () => {
},
readyState: states.CONNECTING,
socket: null,
closeState: /* @__PURE__ */ new Set(),
controller: null,
wasEverConnected: false
};
/** @type {import('../receiver').ByteParser} */
#parser;
constructor(url3, options = void 0) {
if (!emittedExperimentalWarning) {
process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.", {
code: "UNDICI-WSS"
});
emittedExperimentalWarning = true;
}
webidl.argumentLengthCheck(arguments, 1, "WebSocket");
url3 = webidl.converters.USVString(url3);
if (options !== null) {
options = webidl.converters.WebSocketStreamOptions(options);
}
const baseURL = environmentSettingsObject.settingsObject.baseUrl;
const urlRecord = getURLRecord(url3, baseURL);
const protocols = options.protocols;
if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
this.#url = urlRecord.toString();
this.#openedPromise = createDeferredPromise();
this.#closedPromise = createDeferredPromise();
if (options.signal != null) {
const signal = options.signal;
if (signal.aborted) {
this.#openedPromise.reject(signal.reason);
this.#closedPromise.reject(signal.reason);
return;
}
signal.addEventListener("abort", () => {
if (!isEstablished(this.#handler.readyState)) {
failWebsocketConnection(this.#handler);
this.#handler.readyState = states.CLOSING;
this.#openedPromise.reject(signal.reason);
this.#closedPromise.reject(signal.reason);
this.#handshakeAborted = true;
}
}, { once: true });
}
const client = environmentSettingsObject.settingsObject;
this.#handler.controller = establishWebSocketConnection(
urlRecord,
protocols,
client,
this.#handler,
options
);
}
// The url getter steps are to return this 's url , serialized .
get url() {
return this.#url.toString();
}
// The opened getter steps are to return this 's opened promise .
get opened() {
return this.#openedPromise.promise;
}
// The closed getter steps are to return this 's closed promise .
get closed() {
return this.#closedPromise.promise;
}
// The close( closeInfo ) method steps are:
close(closeInfo = void 0) {
if (closeInfo !== null) {
closeInfo = webidl.converters.WebSocketCloseInfo(closeInfo);
}
const code = closeInfo.closeCode ?? null;
const reason = closeInfo.reason;
closeWebSocketConnection(this.#handler, code, reason, true);
}
#write(chunk) {
chunk = webidl.converters.WebSocketStreamWrite(chunk);
const promise2 = createDeferredPromise();
let data = null;
let opcode = null;
if (webidl.is.BufferSource(chunk)) {
data = new Uint8Array(ArrayBuffer.isView(chunk) ? new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength) : chunk.slice());
opcode = opcodes.BINARY;
} else {
let string4;
try {
string4 = webidl.converters.DOMString(chunk);
} catch (e2) {
promise2.reject(e2);
return promise2.promise;
}
data = new TextEncoder().encode(string4);
opcode = opcodes.TEXT;
}
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend(data);
this.#handler.socket.write(frame.createFrame(opcode), () => {
promise2.resolve(void 0);
});
}
return promise2.promise;
}
/** @type {import('../websocket').Handler['onConnectionEstablished']} */
#onConnectionEstablished(response, parsedExtensions) {
this.#handler.socket = response.socket;
const parser4 = new ByteParser(this.#handler, parsedExtensions);
parser4.on("drain", () => this.#handler.onParserDrain());
parser4.on("error", (err2) => this.#handler.onParserError(err2));
this.#parser = parser4;
this.#handler.readyState = states.OPEN;
const extensions = parsedExtensions ?? "";
const protocol = response.headersList.get("sec-websocket-protocol") ?? "";
const readable2 = new ReadableStream({
start: (controller) => {
this.#readableStreamController = controller;
},
pull(controller) {
let chunk;
while (controller.desiredSize > 0 && (chunk = response.socket.read()) !== null) {
controller.enqueue(chunk);
}
},
cancel: (reason) => this.#cancel(reason)
});
const writable2 = new WritableStream({
write: (chunk) => this.#write(chunk),
close: () => closeWebSocketConnection(this.#handler, null, null),
abort: (reason) => this.#closeUsingReason(reason)
});
this.#readableStream = readable2;
this.#writableStream = writable2;
this.#openedPromise.resolve({
extensions,
protocol,
readable: readable2,
writable: writable2
});
}
/** @type {import('../websocket').Handler['onMessage']} */
#onMessage(type2, data) {
if (this.#handler.readyState !== states.OPEN) {
return;
}
let chunk;
if (type2 === opcodes.TEXT) {
try {
chunk = utf8Decode(data);
} catch {
failWebsocketConnection(this.#handler, "Received invalid UTF-8 in text frame.");
return;
}
} else if (type2 === opcodes.BINARY) {
chunk = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
}
this.#readableStreamController.enqueue(chunk);
}
/** @type {import('../websocket').Handler['onSocketClose']} */
#onSocketClose() {
const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
this.#handler.readyState = states.CLOSED;
if (this.#handshakeAborted) {
return;
}
if (!this.#handler.wasEverConnected) {
this.#openedPromise.reject(new WebSocketError("Socket never opened"));
}
const result2 = this.#parser?.closingInfo;
let code = result2?.code ?? 1005;
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
code = 1006;
}
const reason = result2?.reason == null ? "" : utf8DecodeBytes(Buffer.from(result2.reason));
if (wasClean) {
this.#readableStreamController.close();
if (!this.#writableStream.locked) {
this.#writableStream.abort(new DOMException("A closed WebSocketStream cannot be written to", "InvalidStateError"));
}
this.#closedPromise.resolve({
closeCode: code,
reason
});
} else {
const error40 = createUnvalidatedWebSocketError("unclean close", code, reason);
this.#readableStreamController?.error(error40);
this.#writableStream?.abort(error40);
this.#closedPromise.reject(error40);
}
}
#closeUsingReason(reason) {
let code = null;
let reasonString = "";
if (webidl.is.WebSocketError(reason)) {
code = reason.closeCode;
reasonString = reason.reason;
}
closeWebSocketConnection(this.#handler, code, reasonString);
}
// To cancel a WebSocketStream stream given reason , close using reason giving stream and reason .
#cancel(reason) {
this.#closeUsingReason(reason);
}
};
Object.defineProperties(WebSocketStream.prototype, {
url: kEnumerableProperty,
opened: kEnumerableProperty,
closed: kEnumerableProperty,
close: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocketStream",
writable: false,
enumerable: false,
configurable: true
}
});
webidl.converters.WebSocketStreamOptions = webidl.dictionaryConverter([
{
key: "protocols",
converter: webidl.sequenceConverter(webidl.converters.USVString),
defaultValue: () => []
},
{
key: "signal",
converter: webidl.nullableConverter(webidl.converters.AbortSignal),
defaultValue: () => null
}
]);
webidl.converters.WebSocketCloseInfo = webidl.dictionaryConverter([
{
key: "closeCode",
converter: (V2) => webidl.converters["unsigned short"](V2, webidl.attributes.EnforceRange)
},
{
key: "reason",
converter: webidl.converters.USVString,
defaultValue: () => ""
}
]);
webidl.converters.WebSocketStreamWrite = function(V2) {
if (typeof V2 === "string") {
return webidl.converters.USVString(V2);
}
return webidl.converters.BufferSource(V2);
};
module2.exports = { WebSocketStream };
}
});
// node_modules/undici/lib/web/eventsource/util.js
var require_util18 = __commonJS({
"node_modules/undici/lib/web/eventsource/util.js"(exports2, module2) {
"use strict";
function isValidLastEventId(value) {
return value.indexOf("\0") === -1;
}
function isASCIINumber(value) {
if (value.length === 0) return false;
for (let i3 = 0; i3 < value.length; i3++) {
if (value.charCodeAt(i3) < 48 || value.charCodeAt(i3) > 57) return false;
}
return true;
}
module2.exports = {
isValidLastEventId,
isASCIINumber
};
}
});
// node_modules/undici/lib/web/eventsource/eventsource-stream.js
var require_eventsource_stream = __commonJS({
"node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) {
"use strict";
var { Transform: Transform2 } = __require("node:stream");
var { isASCIINumber, isValidLastEventId } = require_util18();
var BOM = [239, 187, 191];
var LF2 = 10;
var CR2 = 13;
var COLON = 58;
var SPACE = 32;
var EventSourceStream = class extends Transform2 {
/**
* @type {eventSourceSettings}
*/
state;
/**
* Leading byte-order-mark check.
* @type {boolean}
*/
checkBOM = true;
/**
* @type {boolean}
*/
crlfCheck = false;
/**
* @type {boolean}
*/
eventEndCheck = false;
/**
* @type {Buffer|null}
*/
buffer = null;
pos = 0;
event = {
data: void 0,
event: void 0,
id: void 0,
retry: void 0
};
/**
* @param {object} options
* @param {boolean} [options.readableObjectMode]
* @param {eventSourceSettings} [options.eventSourceSettings]
* @param {(chunk: any, encoding?: BufferEncoding | undefined) => boolean} [options.push]
*/
constructor(options = {}) {
options.readableObjectMode = true;
super(options);
this.state = options.eventSourceSettings || {};
if (options.push) {
this.push = options.push;
}
}
/**
* @param {Buffer} chunk
* @param {string} _encoding
* @param {Function} callback
* @returns {void}
*/
_transform(chunk, _encoding, callback) {
if (chunk.length === 0) {
callback();
return;
}
if (this.buffer) {
this.buffer = Buffer.concat([this.buffer, chunk]);
} else {
this.buffer = chunk;
}
if (this.checkBOM) {
switch (this.buffer.length) {
case 1:
if (this.buffer[0] === BOM[0]) {
callback();
return;
}
this.checkBOM = false;
callback();
return;
case 2:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
callback();
return;
}
this.checkBOM = false;
break;
case 3:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
this.buffer = Buffer.alloc(0);
this.checkBOM = false;
callback();
return;
}
this.checkBOM = false;
break;
default:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
this.buffer = this.buffer.subarray(3);
}
this.checkBOM = false;
break;
}
}
while (this.pos < this.buffer.length) {
if (this.eventEndCheck) {
if (this.crlfCheck) {
if (this.buffer[this.pos] === LF2) {
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
this.crlfCheck = false;
continue;
}
this.crlfCheck = false;
}
if (this.buffer[this.pos] === LF2 || this.buffer[this.pos] === CR2) {
if (this.buffer[this.pos] === CR2) {
this.crlfCheck = true;
}
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
if (this.event.data !== void 0 || this.event.event || this.event.id !== void 0 || this.event.retry) {
this.processEvent(this.event);
}
this.clearEvent();
continue;
}
this.eventEndCheck = false;
continue;
}
if (this.buffer[this.pos] === LF2 || this.buffer[this.pos] === CR2) {
if (this.buffer[this.pos] === CR2) {
this.crlfCheck = true;
}
this.parseLine(this.buffer.subarray(0, this.pos), this.event);
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
this.eventEndCheck = true;
continue;
}
this.pos++;
}
callback();
}
/**
* @param {Buffer} line
* @param {EventSourceStreamEvent} event
*/
parseLine(line, event) {
if (line.length === 0) {
return;
}
const colonPosition = line.indexOf(COLON);
if (colonPosition === 0) {
return;
}
let field = "";
let value = "";
if (colonPosition !== -1) {
field = line.subarray(0, colonPosition).toString("utf8");
let valueStart = colonPosition + 1;
if (line[valueStart] === SPACE) {
++valueStart;
}
value = line.subarray(valueStart).toString("utf8");
} else {
field = line.toString("utf8");
value = "";
}
switch (field) {
case "data":
if (event[field] === void 0) {
event[field] = value;
} else {
event[field] += `
${value}`;
}
break;
case "retry":
if (isASCIINumber(value)) {
event[field] = value;
}
break;
case "id":
if (isValidLastEventId(value)) {
event[field] = value;
}
break;
case "event":
if (value.length > 0) {
event[field] = value;
}
break;
}
}
/**
* @param {EventSourceStreamEvent} event
*/
processEvent(event) {
if (event.retry && isASCIINumber(event.retry)) {
this.state.reconnectionTime = parseInt(event.retry, 10);
}
if (event.id !== void 0 && isValidLastEventId(event.id)) {
this.state.lastEventId = event.id;
}
if (event.data !== void 0) {
this.push({
type: event.event || "message",
options: {
data: event.data,
lastEventId: this.state.lastEventId,
origin: this.state.origin
}
});
}
}
clearEvent() {
this.event = {
data: void 0,
event: void 0,
id: void 0,
retry: void 0
};
}
};
module2.exports = {
EventSourceStream
};
}
});
// node_modules/undici/lib/web/eventsource/eventsource.js
var require_eventsource = __commonJS({
"node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module2) {
"use strict";
var { pipeline } = __require("node:stream");
var { fetching } = require_fetch2();
var { makeRequest } = require_request2();
var { webidl } = require_webidl();
var { EventSourceStream } = require_eventsource_stream();
var { parseMIMEType } = require_data_url();
var { createFastMessageEvent } = require_events();
var { isNetworkError } = require_response();
var { kEnumerableProperty } = require_util13();
var { environmentSettingsObject } = require_util14();
var experimentalWarned = false;
var defaultReconnectionTime = 3e3;
var CONNECTING = 0;
var OPEN = 1;
var CLOSED2 = 2;
var ANONYMOUS = "anonymous";
var USE_CREDENTIALS = "use-credentials";
var EventSource2 = class _EventSource extends EventTarget {
#events = {
open: null,
error: null,
message: null
};
#url;
#withCredentials = false;
/**
* @type {ReadyState}
*/
#readyState = CONNECTING;
#request = null;
#controller = null;
#dispatcher;
/**
* @type {import('./eventsource-stream').eventSourceSettings}
*/
#state;
/**
* Creates a new EventSource object.
* @param {string} url
* @param {EventSourceInit} [eventSourceInitDict={}]
* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
*/
constructor(url3, eventSourceInitDict = {}) {
super();
webidl.util.markAsUncloneable(this);
const prefix = "EventSource constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
if (!experimentalWarned) {
experimentalWarned = true;
process.emitWarning("EventSource is experimental, expect them to change at any time.", {
code: "UNDICI-ES"
});
}
url3 = webidl.converters.USVString(url3);
eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
this.#dispatcher = eventSourceInitDict.node.dispatcher || eventSourceInitDict.dispatcher;
this.#state = {
lastEventId: "",
reconnectionTime: eventSourceInitDict.node.reconnectionTime
};
const settings = environmentSettingsObject;
let urlRecord;
try {
urlRecord = new URL(url3, settings.settingsObject.baseUrl);
this.#state.origin = urlRecord.origin;
} catch (e2) {
throw new DOMException(e2, "SyntaxError");
}
this.#url = urlRecord.href;
let corsAttributeState = ANONYMOUS;
if (eventSourceInitDict.withCredentials === true) {
corsAttributeState = USE_CREDENTIALS;
this.#withCredentials = true;
}
const initRequest = {
redirect: "follow",
keepalive: true,
// @see https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
mode: "cors",
credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
referrer: "no-referrer"
};
initRequest.client = environmentSettingsObject.settingsObject;
initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
initRequest.cache = "no-store";
initRequest.initiator = "other";
initRequest.urlList = [new URL(this.#url)];
this.#request = makeRequest(initRequest);
this.#connect();
}
/**
* Returns the state of this EventSource object's connection. It can have the
* values described below.
* @returns {ReadyState}
* @readonly
*/
get readyState() {
return this.#readyState;
}
/**
* Returns the URL providing the event stream.
* @readonly
* @returns {string}
*/
get url() {
return this.#url;
}
/**
* Returns a boolean indicating whether the EventSource object was
* instantiated with CORS credentials set (true), or not (false, the default).
*/
get withCredentials() {
return this.#withCredentials;
}
#connect() {
if (this.#readyState === CLOSED2) return;
this.#readyState = CONNECTING;
const fetchParams = {
request: this.#request,
dispatcher: this.#dispatcher
};
const processEventSourceEndOfBody = (response) => {
if (!isNetworkError(response)) {
return this.#reconnect();
}
};
fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
fetchParams.processResponse = (response) => {
if (isNetworkError(response)) {
if (response.aborted) {
this.close();
this.dispatchEvent(new Event("error"));
return;
} else {
this.#reconnect();
return;
}
}
const contentType = response.headersList.get("content-type", true);
const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
if (response.status !== 200 || contentTypeValid === false) {
this.close();
this.dispatchEvent(new Event("error"));
return;
}
this.#readyState = OPEN;
this.dispatchEvent(new Event("open"));
this.#state.origin = response.urlList[response.urlList.length - 1].origin;
const eventSourceStream = new EventSourceStream({
eventSourceSettings: this.#state,
push: (event) => {
this.dispatchEvent(createFastMessageEvent(
event.type,
event.options
));
}
});
pipeline(
response.body.stream,
eventSourceStream,
(error40) => {
if (error40?.aborted === false) {
this.close();
this.dispatchEvent(new Event("error"));
}
}
);
};
this.#controller = fetching(fetchParams);
}
/**
* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
* @returns {void}
*/
#reconnect() {
if (this.#readyState === CLOSED2) return;
this.#readyState = CONNECTING;
this.dispatchEvent(new Event("error"));
setTimeout(() => {
if (this.#readyState !== CONNECTING) return;
if (this.#state.lastEventId.length) {
this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
}
this.#connect();
}, this.#state.reconnectionTime)?.unref();
}
/**
* Closes the connection, if any, and sets the readyState attribute to
* CLOSED.
*/
close() {
webidl.brandCheck(this, _EventSource);
if (this.#readyState === CLOSED2) return;
this.#readyState = CLOSED2;
this.#controller.abort();
this.#request = null;
}
get onopen() {
return this.#events.open;
}
set onopen(fn) {
if (this.#events.open) {
this.removeEventListener("open", this.#events.open);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("open", listener);
this.#events.open = fn;
} else {
this.#events.open = null;
}
}
get onmessage() {
return this.#events.message;
}
set onmessage(fn) {
if (this.#events.message) {
this.removeEventListener("message", this.#events.message);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("message", listener);
this.#events.message = fn;
} else {
this.#events.message = null;
}
}
get onerror() {
return this.#events.error;
}
set onerror(fn) {
if (this.#events.error) {
this.removeEventListener("error", this.#events.error);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("error", listener);
this.#events.error = fn;
} else {
this.#events.error = null;
}
}
};
var constantsPropertyDescriptors = {
CONNECTING: {
__proto__: null,
configurable: false,
enumerable: true,
value: CONNECTING,
writable: false
},
OPEN: {
__proto__: null,
configurable: false,
enumerable: true,
value: OPEN,
writable: false
},
CLOSED: {
__proto__: null,
configurable: false,
enumerable: true,
value: CLOSED2,
writable: false
}
};
Object.defineProperties(EventSource2, constantsPropertyDescriptors);
Object.defineProperties(EventSource2.prototype, constantsPropertyDescriptors);
Object.defineProperties(EventSource2.prototype, {
close: kEnumerableProperty,
onerror: kEnumerableProperty,
onmessage: kEnumerableProperty,
onopen: kEnumerableProperty,
readyState: kEnumerableProperty,
url: kEnumerableProperty,
withCredentials: kEnumerableProperty
});
webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
{
key: "withCredentials",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "dispatcher",
// undici only
converter: webidl.converters.any
},
{
key: "node",
// undici only
converter: webidl.dictionaryConverter([
{
key: "reconnectionTime",
converter: webidl.converters["unsigned long"],
defaultValue: () => defaultReconnectionTime
},
{
key: "dispatcher",
converter: webidl.converters.any
}
]),
defaultValue: () => ({})
}
]);
module2.exports = {
EventSource: EventSource2,
defaultReconnectionTime
};
}
});
// node_modules/undici/index.js
var require_undici = __commonJS({
"node_modules/undici/index.js"(exports2, module2) {
"use strict";
var Client3 = require_client2();
var Dispatcher = require_dispatcher();
var Pool = require_pool2();
var BalancedPool = require_balanced_pool();
var RoundRobinPool = require_round_robin_pool();
var Agent2 = require_agent3();
var ProxyAgent3 = require_proxy_agent();
var Socks5ProxyAgent = require_socks5_proxy_agent();
var EnvHttpProxyAgent2 = require_env_http_proxy_agent();
var RetryAgent = require_retry_agent();
var H2CClient = require_h2c_client();
var errors = require_errors4();
var util2 = require_util13();
var { InvalidArgumentError } = errors;
var api = require_api2();
var buildConnector = require_connect();
var MockClient = require_mock_client();
var { MockCallHistory, MockCallHistoryLog } = require_mock_call_history();
var MockAgent = require_mock_agent();
var MockPool = require_mock_pool();
var SnapshotAgent = require_snapshot_agent();
var mockErrors = require_mock_errors();
var RetryHandler = require_retry_handler();
var { getGlobalDispatcher, setGlobalDispatcher: setGlobalDispatcher2 } = require_global2();
var DecoratorHandler = require_decorator_handler();
var RedirectHandler = require_redirect_handler();
Object.assign(Dispatcher.prototype, api);
module2.exports.Dispatcher = Dispatcher;
module2.exports.Client = Client3;
module2.exports.Pool = Pool;
module2.exports.BalancedPool = BalancedPool;
module2.exports.RoundRobinPool = RoundRobinPool;
module2.exports.Agent = Agent2;
module2.exports.ProxyAgent = ProxyAgent3;
module2.exports.Socks5ProxyAgent = Socks5ProxyAgent;
module2.exports.EnvHttpProxyAgent = EnvHttpProxyAgent2;
module2.exports.RetryAgent = RetryAgent;
module2.exports.H2CClient = H2CClient;
module2.exports.RetryHandler = RetryHandler;
module2.exports.DecoratorHandler = DecoratorHandler;
module2.exports.RedirectHandler = RedirectHandler;
module2.exports.interceptors = {
redirect: require_redirect(),
responseError: require_response_error(),
retry: require_retry2(),
dump: require_dump(),
dns: require_dns(),
cache: require_cache2(),
decompress: require_decompress(),
deduplicate: require_deduplicate()
};
module2.exports.cacheStores = {
MemoryCacheStore: require_memory_cache_store()
};
var SqliteCacheStore = require_sqlite_cache_store();
module2.exports.cacheStores.SqliteCacheStore = SqliteCacheStore;
module2.exports.buildConnector = buildConnector;
module2.exports.errors = errors;
module2.exports.util = {
parseHeaders: util2.parseHeaders,
headerNameToString: util2.headerNameToString
};
function makeDispatcher(fn) {
return (url3, opts, handler) => {
if (typeof opts === "function") {
handler = opts;
opts = null;
}
if (!url3 || typeof url3 !== "string" && typeof url3 !== "object" && !(url3 instanceof URL)) {
throw new InvalidArgumentError("invalid url");
}
if (opts != null && typeof opts !== "object") {
throw new InvalidArgumentError("invalid opts");
}
if (opts && opts.path != null) {
if (typeof opts.path !== "string") {
throw new InvalidArgumentError("invalid opts.path");
}
let path101 = opts.path;
if (!opts.path.startsWith("/")) {
path101 = `/${path101}`;
}
url3 = new URL(util2.parseOrigin(url3).origin + path101);
} else {
if (!opts) {
opts = typeof url3 === "object" ? url3 : {};
}
url3 = util2.parseURL(url3);
}
const { agent, dispatcher = getGlobalDispatcher() } = opts;
if (agent) {
throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
}
return fn.call(dispatcher, {
...opts,
origin: url3.origin,
path: url3.search ? `${url3.pathname}${url3.search}` : url3.pathname,
method: opts.method || (opts.body ? "PUT" : "GET")
}, handler);
};
}
module2.exports.setGlobalDispatcher = setGlobalDispatcher2;
module2.exports.getGlobalDispatcher = getGlobalDispatcher;
var fetchImpl = require_fetch2().fetch;
var currentFilename = typeof __chunk_filename !== "undefined" ? __chunk_filename : void 0;
function appendFetchStackTrace(err2, filename) {
if (!err2 || typeof err2 !== "object") {
return;
}
const stack = typeof err2.stack === "string" ? err2.stack : "";
const normalizedFilename = filename.replace(/\\/g, "/");
if (stack && (stack.includes(filename) || stack.includes(normalizedFilename))) {
return;
}
const capture = {};
Error.captureStackTrace(capture, appendFetchStackTrace);
if (!capture.stack) {
return;
}
const captureLines = capture.stack.split("\n").slice(1).join("\n");
err2.stack = stack ? `${stack}
${captureLines}` : capture.stack;
}
module2.exports.fetch = function fetch2(init2, options = void 0) {
return fetchImpl(init2, options).catch((err2) => {
if (currentFilename) {
appendFetchStackTrace(err2, currentFilename);
} else if (err2 && typeof err2 === "object") {
Error.captureStackTrace(err2, module2.exports.fetch);
}
throw err2;
});
};
module2.exports.Headers = require_headers().Headers;
module2.exports.Response = require_response().Response;
module2.exports.Request = require_request2().Request;
module2.exports.FormData = require_formdata().FormData;
var { setGlobalOrigin, getGlobalOrigin } = require_global();
module2.exports.setGlobalOrigin = setGlobalOrigin;
module2.exports.getGlobalOrigin = getGlobalOrigin;
var { CacheStorage } = require_cachestorage();
var { kConstruct } = require_symbols();
module2.exports.caches = new CacheStorage(kConstruct);
var { deleteCookie, getCookies, getSetCookies, setCookie, parseCookie } = require_cookies();
module2.exports.deleteCookie = deleteCookie;
module2.exports.getCookies = getCookies;
module2.exports.getSetCookies = getSetCookies;
module2.exports.setCookie = setCookie;
module2.exports.parseCookie = parseCookie;
var { parseMIMEType, serializeAMimeType } = require_data_url();
module2.exports.parseMIMEType = parseMIMEType;
module2.exports.serializeAMimeType = serializeAMimeType;
var { CloseEvent, ErrorEvent: ErrorEvent2, MessageEvent: MessageEvent2 } = require_events();
var { WebSocket, ping } = require_websocket();
module2.exports.WebSocket = WebSocket;
module2.exports.CloseEvent = CloseEvent;
module2.exports.ErrorEvent = ErrorEvent2;
module2.exports.MessageEvent = MessageEvent2;
module2.exports.ping = ping;
module2.exports.WebSocketStream = require_websocketstream().WebSocketStream;
module2.exports.WebSocketError = require_websocketerror().WebSocketError;
module2.exports.request = makeDispatcher(api.request);
module2.exports.stream = makeDispatcher(api.stream);
module2.exports.pipeline = makeDispatcher(api.pipeline);
module2.exports.connect = makeDispatcher(api.connect);
module2.exports.upgrade = makeDispatcher(api.upgrade);
module2.exports.MockClient = MockClient;
module2.exports.MockCallHistory = MockCallHistory;
module2.exports.MockCallHistoryLog = MockCallHistoryLog;
module2.exports.MockPool = MockPool;
module2.exports.MockAgent = MockAgent;
module2.exports.SnapshotAgent = SnapshotAgent;
module2.exports.mockErrors = mockErrors;
var { EventSource: EventSource2 } = require_eventsource();
module2.exports.EventSource = EventSource2;
function install() {
globalThis.fetch = module2.exports.fetch;
globalThis.Headers = module2.exports.Headers;
globalThis.Response = module2.exports.Response;
globalThis.Request = module2.exports.Request;
globalThis.FormData = module2.exports.FormData;
globalThis.WebSocket = module2.exports.WebSocket;
globalThis.CloseEvent = module2.exports.CloseEvent;
globalThis.ErrorEvent = module2.exports.ErrorEvent;
globalThis.MessageEvent = module2.exports.MessageEvent;
globalThis.EventSource = module2.exports.EventSource;
}
module2.exports.install = install;
}
});
// node_modules/picocolors/picocolors.js
var require_picocolors = __commonJS({
"node_modules/picocolors/picocolors.js"(exports2, module2) {
var p = process || {};
var argv = p.argv || [];
var env2 = p.env || {};
var isColorSupported = !(!!env2.NO_COLOR || argv.includes("--no-color")) && (!!env2.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env2.TERM !== "dumb" || !!env2.CI);
var formatter = (open6, close, replace = open6) => (input) => {
let string4 = "" + input, index = string4.indexOf(close, open6.length);
return ~index ? open6 + replaceClose(string4, close, replace, index) + close : open6 + string4 + close;
};
var replaceClose = (string4, close, replace, index) => {
let result2 = "", cursor = 0;
do {
result2 += string4.substring(cursor, index) + replace;
cursor = index + close.length;
index = string4.indexOf(close, cursor);
} while (~index);
return result2 + string4.substring(cursor);
};
var createColors = (enabled = isColorSupported) => {
let f = enabled ? formatter : () => String;
return {
isColorSupported: enabled,
reset: f("\x1B[0m", "\x1B[0m"),
bold: f("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
dim: f("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
italic: f("\x1B[3m", "\x1B[23m"),
underline: f("\x1B[4m", "\x1B[24m"),
inverse: f("\x1B[7m", "\x1B[27m"),
hidden: f("\x1B[8m", "\x1B[28m"),
strikethrough: f("\x1B[9m", "\x1B[29m"),
black: f("\x1B[30m", "\x1B[39m"),
red: f("\x1B[31m", "\x1B[39m"),
green: f("\x1B[32m", "\x1B[39m"),
yellow: f("\x1B[33m", "\x1B[39m"),
blue: f("\x1B[34m", "\x1B[39m"),
magenta: f("\x1B[35m", "\x1B[39m"),
cyan: f("\x1B[36m", "\x1B[39m"),
white: f("\x1B[37m", "\x1B[39m"),
gray: f("\x1B[90m", "\x1B[39m"),
bgBlack: f("\x1B[40m", "\x1B[49m"),
bgRed: f("\x1B[41m", "\x1B[49m"),
bgGreen: f("\x1B[42m", "\x1B[49m"),
bgYellow: f("\x1B[43m", "\x1B[49m"),
bgBlue: f("\x1B[44m", "\x1B[49m"),
bgMagenta: f("\x1B[45m", "\x1B[49m"),
bgCyan: f("\x1B[46m", "\x1B[49m"),
bgWhite: f("\x1B[47m", "\x1B[49m"),
blackBright: f("\x1B[90m", "\x1B[39m"),
redBright: f("\x1B[91m", "\x1B[39m"),
greenBright: f("\x1B[92m", "\x1B[39m"),
yellowBright: f("\x1B[93m", "\x1B[39m"),
blueBright: f("\x1B[94m", "\x1B[39m"),
magentaBright: f("\x1B[95m", "\x1B[39m"),
cyanBright: f("\x1B[96m", "\x1B[39m"),
whiteBright: f("\x1B[97m", "\x1B[39m"),
bgBlackBright: f("\x1B[100m", "\x1B[49m"),
bgRedBright: f("\x1B[101m", "\x1B[49m"),
bgGreenBright: f("\x1B[102m", "\x1B[49m"),
bgYellowBright: f("\x1B[103m", "\x1B[49m"),
bgBlueBright: f("\x1B[104m", "\x1B[49m"),
bgMagentaBright: f("\x1B[105m", "\x1B[49m"),
bgCyanBright: f("\x1B[106m", "\x1B[49m"),
bgWhiteBright: f("\x1B[107m", "\x1B[49m")
};
};
module2.exports = createColors();
module2.exports.createColors = createColors;
}
});
// node_modules/@babel/code-frame/node_modules/js-tokens/index.js
var require_js_tokens = __commonJS({
"node_modules/@babel/code-frame/node_modules/js-tokens/index.js"(exports2) {
Object.defineProperty(exports2, "__esModule", {
value: true
});
exports2.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
exports2.matchToToken = function(match2) {
var token2 = { type: "invalid", value: match2[0], closed: void 0 };
if (match2[1]) token2.type = "string", token2.closed = !!(match2[3] || match2[4]);
else if (match2[5]) token2.type = "comment";
else if (match2[6]) token2.type = "comment", token2.closed = !!match2[7];
else if (match2[8]) token2.type = "regex";
else if (match2[9]) token2.type = "number";
else if (match2[10]) token2.type = "name";
else if (match2[11]) token2.type = "punctuator";
else if (match2[12]) token2.type = "whitespace";
return token2;
};
}
});
// node_modules/@babel/helper-validator-identifier/lib/identifier.js
var require_identifier = __commonJS({
"node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {
value: true
});
exports2.isIdentifierChar = isIdentifierChar;
exports2.isIdentifierName = isIdentifierName;
exports2.isIdentifierStart = isIdentifierStart;
var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
var nonASCIIidentifierChars = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
function isInAstralSet(code, set3) {
let pos = 65536;
for (let i3 = 0, length = set3.length; i3 < length; i3 += 2) {
pos += set3[i3];
if (pos > code) return false;
pos += set3[i3 + 1];
if (pos >= code) return true;
}
return false;
}
function isIdentifierStart(code) {
if (code < 65) return code === 36;
if (code <= 90) return true;
if (code < 97) return code === 95;
if (code <= 122) return true;
if (code <= 65535) {
return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code));
}
return isInAstralSet(code, astralIdentifierStartCodes);
}
function isIdentifierChar(code) {
if (code < 48) return code === 36;
if (code < 58) return true;
if (code < 65) return false;
if (code <= 90) return true;
if (code < 97) return code === 95;
if (code <= 122) return true;
if (code <= 65535) {
return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code));
}
return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
}
function isIdentifierName(name3) {
let isFirst = true;
for (let i3 = 0; i3 < name3.length; i3++) {
let cp2 = name3.charCodeAt(i3);
if ((cp2 & 64512) === 55296 && i3 + 1 < name3.length) {
const trail = name3.charCodeAt(++i3);
if ((trail & 64512) === 56320) {
cp2 = 65536 + ((cp2 & 1023) << 10) + (trail & 1023);
}
}
if (isFirst) {
isFirst = false;
if (!isIdentifierStart(cp2)) {
return false;
}
} else if (!isIdentifierChar(cp2)) {
return false;
}
}
return !isFirst;
}
}
});
// node_modules/@babel/helper-validator-identifier/lib/keyword.js
var require_keyword2 = __commonJS({
"node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {
value: true
});
exports2.isKeyword = isKeyword;
exports2.isReservedWord = isReservedWord;
exports2.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
exports2.isStrictBindReservedWord = isStrictBindReservedWord;
exports2.isStrictReservedWord = isStrictReservedWord;
var reservedWords = {
keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
strictBind: ["eval", "arguments"]
};
var keywords = new Set(reservedWords.keyword);
var reservedWordsStrictSet = new Set(reservedWords.strict);
var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
function isReservedWord(word, inModule) {
return inModule && word === "await" || word === "enum";
}
function isStrictReservedWord(word, inModule) {
return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
}
function isStrictBindOnlyReservedWord(word) {
return reservedWordsStrictBindSet.has(word);
}
function isStrictBindReservedWord(word, inModule) {
return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
}
function isKeyword(word) {
return keywords.has(word);
}
}
});
// node_modules/@babel/helper-validator-identifier/lib/index.js
var require_lib6 = __commonJS({
"node_modules/@babel/helper-validator-identifier/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {
value: true
});
Object.defineProperty(exports2, "isIdentifierChar", {
enumerable: true,
get: function() {
return _identifier.isIdentifierChar;
}
});
Object.defineProperty(exports2, "isIdentifierName", {
enumerable: true,
get: function() {
return _identifier.isIdentifierName;
}
});
Object.defineProperty(exports2, "isIdentifierStart", {
enumerable: true,
get: function() {
return _identifier.isIdentifierStart;
}
});
Object.defineProperty(exports2, "isKeyword", {
enumerable: true,
get: function() {
return _keyword.isKeyword;
}
});
Object.defineProperty(exports2, "isReservedWord", {
enumerable: true,
get: function() {
return _keyword.isReservedWord;
}
});
Object.defineProperty(exports2, "isStrictBindOnlyReservedWord", {
enumerable: true,
get: function() {
return _keyword.isStrictBindOnlyReservedWord;
}
});
Object.defineProperty(exports2, "isStrictBindReservedWord", {
enumerable: true,
get: function() {
return _keyword.isStrictBindReservedWord;
}
});
Object.defineProperty(exports2, "isStrictReservedWord", {
enumerable: true,
get: function() {
return _keyword.isStrictReservedWord;
}
});
var _identifier = require_identifier();
var _keyword = require_keyword2();
}
});
// node_modules/@babel/code-frame/lib/index.js
var require_lib7 = __commonJS({
"node_modules/@babel/code-frame/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var picocolors = require_picocolors();
var jsTokens = require_js_tokens();
var helperValidatorIdentifier = require_lib6();
function isColorSupported() {
return typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported;
}
var compose = (f, g) => (v) => f(g(v));
function buildDefs(colors) {
return {
keyword: colors.cyan,
capitalized: colors.yellow,
jsxIdentifier: colors.yellow,
punctuator: colors.yellow,
number: colors.magenta,
string: colors.green,
regex: colors.magenta,
comment: colors.gray,
invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
gutter: colors.gray,
marker: compose(colors.red, colors.bold),
message: compose(colors.red, colors.bold),
reset: colors.reset
};
}
var defsOn = buildDefs(picocolors.createColors(true));
var defsOff = buildDefs(picocolors.createColors(false));
function getDefs(enabled) {
return enabled ? defsOn : defsOff;
}
var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]);
var NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
var BRACKET = /^[()[\]{}]$/;
var tokenize;
{
const JSX_TAG = /^[a-z][\w-]*$/i;
const getTokenType = function(token2, offset, text) {
if (token2.type === "name") {
if (helperValidatorIdentifier.isKeyword(token2.value) || helperValidatorIdentifier.isStrictReservedWord(token2.value, true) || sometimesKeywords.has(token2.value)) {
return "keyword";
}
if (JSX_TAG.test(token2.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
return "jsxIdentifier";
}
if (token2.value[0] !== token2.value[0].toLowerCase()) {
return "capitalized";
}
}
if (token2.type === "punctuator" && BRACKET.test(token2.value)) {
return "bracket";
}
if (token2.type === "invalid" && (token2.value === "@" || token2.value === "#")) {
return "punctuator";
}
return token2.type;
};
tokenize = function* (text) {
let match2;
while (match2 = jsTokens.default.exec(text)) {
const token2 = jsTokens.matchToToken(match2);
yield {
type: getTokenType(token2, match2.index, text),
value: token2.value
};
}
};
}
function highlight(text) {
if (text === "") return "";
const defs = getDefs(true);
let highlighted = "";
for (const {
type: type2,
value
} of tokenize(text)) {
if (type2 in defs) {
highlighted += value.split(NEWLINE$1).map((str2) => defs[type2](str2)).join("\n");
} else {
highlighted += value;
}
}
return highlighted;
}
var deprecationWarningShown = false;
var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
function getMarkerLines(loc, source, opts) {
const startLoc = Object.assign({
column: 0,
line: -1
}, loc.start);
const endLoc = Object.assign({}, startLoc, loc.end);
const {
linesAbove = 2,
linesBelow = 3
} = opts || {};
const startLine = startLoc.line;
const startColumn = startLoc.column;
const endLine = endLoc.line;
const endColumn = endLoc.column;
let start2 = Math.max(startLine - (linesAbove + 1), 0);
let end = Math.min(source.length, endLine + linesBelow);
if (startLine === -1) {
start2 = 0;
}
if (endLine === -1) {
end = source.length;
}
const lineDiff = endLine - startLine;
const markerLines = {};
if (lineDiff) {
for (let i3 = 0; i3 <= lineDiff; i3++) {
const lineNumber = i3 + startLine;
if (!startColumn) {
markerLines[lineNumber] = true;
} else if (i3 === 0) {
const sourceLength = source[lineNumber - 1].length;
markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
} else if (i3 === lineDiff) {
markerLines[lineNumber] = [0, endColumn];
} else {
const sourceLength = source[lineNumber - i3].length;
markerLines[lineNumber] = [0, sourceLength];
}
}
} else {
if (startColumn === endColumn) {
if (startColumn) {
markerLines[startLine] = [startColumn, 0];
} else {
markerLines[startLine] = true;
}
} else {
markerLines[startLine] = [startColumn, endColumn - startColumn];
}
}
return {
start: start2,
end,
markerLines
};
}
function codeFrameColumns2(rawLines, loc, opts = {}) {
const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
const defs = getDefs(shouldHighlight);
const lines = rawLines.split(NEWLINE);
const {
start: start2,
end,
markerLines
} = getMarkerLines(loc, lines, opts);
const hasColumns = loc.start && typeof loc.start.column === "number";
const numberMaxWidth = String(end).length;
const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
let frame = highlightedLines.split(NEWLINE, end).slice(start2, end).map((line, index2) => {
const number4 = start2 + 1 + index2;
const paddedNumber = ` ${number4}`.slice(-numberMaxWidth);
const gutter = ` ${paddedNumber} |`;
const hasMarker = markerLines[number4];
const lastMarkerLine = !markerLines[number4 + 1];
if (hasMarker) {
let markerLine = "";
if (Array.isArray(hasMarker)) {
const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
const numberOfMarkers = hasMarker[1] || 1;
markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
if (lastMarkerLine && opts.message) {
markerLine += " " + defs.message(opts.message);
}
}
return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
} else {
return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
}
}).join("\n");
if (opts.message && !hasColumns) {
frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}
${frame}`;
}
if (shouldHighlight) {
return defs.reset(frame);
} else {
return frame;
}
}
function index(rawLines, lineNumber, colNumber, opts = {}) {
if (!deprecationWarningShown) {
deprecationWarningShown = true;
const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
if (process.emitWarning) {
process.emitWarning(message, "DeprecationWarning");
} else {
const deprecationError = new Error(message);
deprecationError.name = "DeprecationWarning";
console.warn(new Error(message));
}
}
colNumber = Math.max(colNumber, 0);
const location = {
start: {
column: colNumber,
line: lineNumber
}
};
return codeFrameColumns2(rawLines, location, opts);
}
exports2.codeFrameColumns = codeFrameColumns2;
exports2.default = index;
exports2.highlight = highlight;
}
});
// node_modules/semver/internal/debug.js
var require_debug = __commonJS({
"node_modules/semver/internal/debug.js"(exports2, module2) {
"use strict";
var debug2 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args2) => console.error("SEMVER", ...args2) : () => {
};
module2.exports = debug2;
}
});
// node_modules/semver/internal/constants.js
var require_constants9 = __commonJS({
"node_modules/semver/internal/constants.js"(exports2, module2) {
"use strict";
var SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
9007199254740991;
var MAX_SAFE_COMPONENT_LENGTH = 16;
var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
var RELEASE_TYPES = [
"major",
"premajor",
"minor",
"preminor",
"patch",
"prepatch",
"prerelease"
];
module2.exports = {
MAX_LENGTH,
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_SAFE_INTEGER,
RELEASE_TYPES,
SEMVER_SPEC_VERSION,
FLAG_INCLUDE_PRERELEASE: 1,
FLAG_LOOSE: 2
};
}
});
// node_modules/semver/internal/re.js
var require_re = __commonJS({
"node_modules/semver/internal/re.js"(exports2, module2) {
"use strict";
var {
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_LENGTH
} = require_constants9();
var debug2 = require_debug();
exports2 = module2.exports = {};
var re = exports2.re = [];
var safeRe = exports2.safeRe = [];
var src = exports2.src = [];
var safeSrc = exports2.safeSrc = [];
var t2 = exports2.t = {};
var R = 0;
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
var safeRegexReplacements = [
["\\s", 1],
["\\d", MAX_LENGTH],
[LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
];
var makeSafeRegex = (value) => {
for (const [token2, max] of safeRegexReplacements) {
value = value.split(`${token2}*`).join(`${token2}{0,${max}}`).split(`${token2}+`).join(`${token2}{1,${max}}`);
}
return value;
};
var createToken = (name3, value, isGlobal) => {
const safe = makeSafeRegex(value);
const index = R++;
debug2(name3, index, value);
t2[name3] = index;
src[index] = value;
safeSrc[index] = safe;
re[index] = new RegExp(value, isGlobal ? "g" : void 0);
safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
};
createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
createToken("MAINVERSION", `(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})\\.(${src[t2.NUMERICIDENTIFIER]})`);
createToken("MAINVERSIONLOOSE", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASEIDENTIFIER", `(?:${src[t2.NONNUMERICIDENTIFIER]}|${src[t2.NUMERICIDENTIFIER]})`);
createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t2.NONNUMERICIDENTIFIER]}|${src[t2.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASE", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);
createToken("PRERELEASELOOSE", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);
createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
createToken("BUILD", `(?:\\+(${src[t2.BUILDIDENTIFIER]}(?:\\.${src[t2.BUILDIDENTIFIER]})*))`);
createToken("FULLPLAIN", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);
createToken("FULL", `^${src[t2.FULLPLAIN]}$`);
createToken("LOOSEPLAIN", `[v=\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);
createToken("LOOSE", `^${src[t2.LOOSEPLAIN]}$`);
createToken("GTLT", "((?:<|>)?=?)");
createToken("XRANGEIDENTIFIERLOOSE", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
createToken("XRANGEIDENTIFIER", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\*`);
createToken("XRANGEPLAIN", `[v=\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);
createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);
createToken("XRANGE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAIN]}$`);
createToken("XRANGELOOSE", `^${src[t2.GTLT]}\\s*${src[t2.XRANGEPLAINLOOSE]}$`);
createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
createToken("COERCE", `${src[t2.COERCEPLAIN]}(?:$|[^\\d])`);
createToken("COERCEFULL", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\d])`);
createToken("COERCERTL", src[t2.COERCE], true);
createToken("COERCERTLFULL", src[t2.COERCEFULL], true);
createToken("LONETILDE", "(?:~>?)");
createToken("TILDETRIM", `(\\s*)${src[t2.LONETILDE]}\\s+`, true);
exports2.tildeTrimReplace = "$1~";
createToken("TILDE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);
createToken("TILDELOOSE", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);
createToken("LONECARET", "(?:\\^)");
createToken("CARETTRIM", `(\\s*)${src[t2.LONECARET]}\\s+`, true);
exports2.caretTrimReplace = "$1^";
createToken("CARET", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);
createToken("CARETLOOSE", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);
createToken("COMPARATORLOOSE", `^${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]})$|^$`);
createToken("COMPARATOR", `^${src[t2.GTLT]}\\s*(${src[t2.FULLPLAIN]})$|^$`);
createToken("COMPARATORTRIM", `(\\s*)${src[t2.GTLT]}\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);
exports2.comparatorTrimReplace = "$1$2$3";
createToken("HYPHENRANGE", `^\\s*(${src[t2.XRANGEPLAIN]})\\s+-\\s+(${src[t2.XRANGEPLAIN]})\\s*$`);
createToken("HYPHENRANGELOOSE", `^\\s*(${src[t2.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t2.XRANGEPLAINLOOSE]})\\s*$`);
createToken("STAR", "(<|>)?=?\\s*\\*");
createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
}
});
// node_modules/semver/internal/parse-options.js
var require_parse_options = __commonJS({
"node_modules/semver/internal/parse-options.js"(exports2, module2) {
"use strict";
var looseOption = Object.freeze({ loose: true });
var emptyOpts = Object.freeze({});
var parseOptions = (options) => {
if (!options) {
return emptyOpts;
}
if (typeof options !== "object") {
return looseOption;
}
return options;
};
module2.exports = parseOptions;
}
});
// node_modules/semver/internal/identifiers.js
var require_identifiers = __commonJS({
"node_modules/semver/internal/identifiers.js"(exports2, module2) {
"use strict";
var numeric2 = /^[0-9]+$/;
var compareIdentifiers = (a2, b) => {
if (typeof a2 === "number" && typeof b === "number") {
return a2 === b ? 0 : a2 < b ? -1 : 1;
}
const anum = numeric2.test(a2);
const bnum = numeric2.test(b);
if (anum && bnum) {
a2 = +a2;
b = +b;
}
return a2 === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b ? -1 : 1;
};
var rcompareIdentifiers = (a2, b) => compareIdentifiers(b, a2);
module2.exports = {
compareIdentifiers,
rcompareIdentifiers
};
}
});
// node_modules/semver/classes/semver.js
var require_semver2 = __commonJS({
"node_modules/semver/classes/semver.js"(exports2, module2) {
"use strict";
var debug2 = require_debug();
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants9();
var { safeRe: re, t: t2 } = require_re();
var parseOptions = require_parse_options();
var { compareIdentifiers } = require_identifiers();
var SemVer = class _SemVer {
constructor(version4, options) {
options = parseOptions(options);
if (version4 instanceof _SemVer) {
if (version4.loose === !!options.loose && version4.includePrerelease === !!options.includePrerelease) {
return version4;
} else {
version4 = version4.version;
}
} else if (typeof version4 !== "string") {
throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version4}".`);
}
if (version4.length > MAX_LENGTH) {
throw new TypeError(
`version is longer than ${MAX_LENGTH} characters`
);
}
debug2("SemVer", version4, options);
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
const m = version4.trim().match(options.loose ? re[t2.LOOSE] : re[t2.FULL]);
if (!m) {
throw new TypeError(`Invalid Version: ${version4}`);
}
this.raw = version4;
this.major = +m[1];
this.minor = +m[2];
this.patch = +m[3];
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
throw new TypeError("Invalid major version");
}
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
throw new TypeError("Invalid minor version");
}
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
throw new TypeError("Invalid patch version");
}
if (!m[4]) {
this.prerelease = [];
} else {
this.prerelease = m[4].split(".").map((id) => {
if (/^[0-9]+$/.test(id)) {
const num = +id;
if (num >= 0 && num < MAX_SAFE_INTEGER) {
return num;
}
}
return id;
});
}
this.build = m[5] ? m[5].split(".") : [];
this.format();
}
format() {
this.version = `${this.major}.${this.minor}.${this.patch}`;
if (this.prerelease.length) {
this.version += `-${this.prerelease.join(".")}`;
}
return this.version;
}
toString() {
return this.version;
}
compare(other) {
debug2("SemVer.compare", this.version, this.options, other);
if (!(other instanceof _SemVer)) {
if (typeof other === "string" && other === this.version) {
return 0;
}
other = new _SemVer(other, this.options);
}
if (other.version === this.version) {
return 0;
}
return this.compareMain(other) || this.comparePre(other);
}
compareMain(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
if (this.major < other.major) {
return -1;
}
if (this.major > other.major) {
return 1;
}
if (this.minor < other.minor) {
return -1;
}
if (this.minor > other.minor) {
return 1;
}
if (this.patch < other.patch) {
return -1;
}
if (this.patch > other.patch) {
return 1;
}
return 0;
}
comparePre(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
if (this.prerelease.length && !other.prerelease.length) {
return -1;
} else if (!this.prerelease.length && other.prerelease.length) {
return 1;
} else if (!this.prerelease.length && !other.prerelease.length) {
return 0;
}
let i3 = 0;
do {
const a2 = this.prerelease[i3];
const b = other.prerelease[i3];
debug2("prerelease compare", i3, a2, b);
if (a2 === void 0 && b === void 0) {
return 0;
} else if (b === void 0) {
return 1;
} else if (a2 === void 0) {
return -1;
} else if (a2 === b) {
continue;
} else {
return compareIdentifiers(a2, b);
}
} while (++i3);
}
compareBuild(other) {
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
let i3 = 0;
do {
const a2 = this.build[i3];
const b = other.build[i3];
debug2("build compare", i3, a2, b);
if (a2 === void 0 && b === void 0) {
return 0;
} else if (b === void 0) {
return 1;
} else if (a2 === void 0) {
return -1;
} else if (a2 === b) {
continue;
} else {
return compareIdentifiers(a2, b);
}
} while (++i3);
}
// preminor will bump the version up to the next minor release, and immediately
// down to pre-release. premajor and prepatch work the same way.
inc(release3, identifier, identifierBase) {
if (release3.startsWith("pre")) {
if (!identifier && identifierBase === false) {
throw new Error("invalid increment argument: identifier is empty");
}
if (identifier) {
const match2 = `-${identifier}`.match(this.options.loose ? re[t2.PRERELEASELOOSE] : re[t2.PRERELEASE]);
if (!match2 || match2[1] !== identifier) {
throw new Error(`invalid identifier: ${identifier}`);
}
}
}
switch (release3) {
case "premajor":
this.prerelease.length = 0;
this.patch = 0;
this.minor = 0;
this.major++;
this.inc("pre", identifier, identifierBase);
break;
case "preminor":
this.prerelease.length = 0;
this.patch = 0;
this.minor++;
this.inc("pre", identifier, identifierBase);
break;
case "prepatch":
this.prerelease.length = 0;
this.inc("patch", identifier, identifierBase);
this.inc("pre", identifier, identifierBase);
break;
// If the input is a non-prerelease version, this acts the same as
// prepatch.
case "prerelease":
if (this.prerelease.length === 0) {
this.inc("patch", identifier, identifierBase);
}
this.inc("pre", identifier, identifierBase);
break;
case "release":
if (this.prerelease.length === 0) {
throw new Error(`version ${this.raw} is not a prerelease`);
}
this.prerelease.length = 0;
break;
case "major":
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
this.major++;
}
this.minor = 0;
this.patch = 0;
this.prerelease = [];
break;
case "minor":
if (this.patch !== 0 || this.prerelease.length === 0) {
this.minor++;
}
this.patch = 0;
this.prerelease = [];
break;
case "patch":
if (this.prerelease.length === 0) {
this.patch++;
}
this.prerelease = [];
break;
// This probably shouldn't be used publicly.
// 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
case "pre": {
const base = Number(identifierBase) ? 1 : 0;
if (this.prerelease.length === 0) {
this.prerelease = [base];
} else {
let i3 = this.prerelease.length;
while (--i3 >= 0) {
if (typeof this.prerelease[i3] === "number") {
this.prerelease[i3]++;
i3 = -2;
}
}
if (i3 === -1) {
if (identifier === this.prerelease.join(".") && identifierBase === false) {
throw new Error("invalid increment argument: identifier already exists");
}
this.prerelease.push(base);
}
}
if (identifier) {
let prerelease = [identifier, base];
if (identifierBase === false) {
prerelease = [identifier];
}
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
if (isNaN(this.prerelease[1])) {
this.prerelease = prerelease;
}
} else {
this.prerelease = prerelease;
}
}
break;
}
default:
throw new Error(`invalid increment argument: ${release3}`);
}
this.raw = this.format();
if (this.build.length) {
this.raw += `+${this.build.join(".")}`;
}
return this;
}
};
module2.exports = SemVer;
}
});
// node_modules/semver/functions/parse.js
var require_parse7 = __commonJS({
"node_modules/semver/functions/parse.js"(exports2, module2) {
"use strict";
var SemVer = require_semver2();
var parse8 = (version4, options, throwErrors = false) => {
if (version4 instanceof SemVer) {
return version4;
}
try {
return new SemVer(version4, options);
} catch (er) {
if (!throwErrors) {
return null;
}
throw er;
}
};
module2.exports = parse8;
}
});
// node_modules/semver/functions/valid.js
var require_valid = __commonJS({
"node_modules/semver/functions/valid.js"(exports2, module2) {
"use strict";
var parse8 = require_parse7();
var valid = (version4, options) => {
const v = parse8(version4, options);
return v ? v.version : null;
};
module2.exports = valid;
}
});
// node_modules/semver/functions/clean.js
var require_clean = __commonJS({
"node_modules/semver/functions/clean.js"(exports2, module2) {
"use strict";
var parse8 = require_parse7();
var clean = (version4, options) => {
const s2 = parse8(version4.trim().replace(/^[=v]+/, ""), options);
return s2 ? s2.version : null;
};
module2.exports = clean;
}
});
// node_modules/spdx-license-ids/index.json
var require_spdx_license_ids = __commonJS({
"node_modules/spdx-license-ids/index.json"(exports2, module2) {
module2.exports = [
"0BSD",
"3D-Slicer-1.0",
"AAL",
"ADSL",
"AFL-1.1",
"AFL-1.2",
"AFL-2.0",
"AFL-2.1",
"AFL-3.0",
"AGPL-1.0-only",
"AGPL-1.0-or-later",
"AGPL-3.0-only",
"AGPL-3.0-or-later",
"AMD-newlib",
"AMDPLPA",
"AML",
"AML-glslang",
"AMPAS",
"ANTLR-PD",
"ANTLR-PD-fallback",
"APAFML",
"APL-1.0",
"APSL-1.0",
"APSL-1.1",
"APSL-1.2",
"APSL-2.0",
"ASWF-Digital-Assets-1.0",
"ASWF-Digital-Assets-1.1",
"Abstyles",
"AdaCore-doc",
"Adobe-2006",
"Adobe-Display-PostScript",
"Adobe-Glyph",
"Adobe-Utopia",
"Afmparse",
"Aladdin",
"Apache-1.0",
"Apache-1.1",
"Apache-2.0",
"App-s2p",
"Arphic-1999",
"Artistic-1.0",
"Artistic-1.0-Perl",
"Artistic-1.0-cl8",
"Artistic-2.0",
"BSD-1-Clause",
"BSD-2-Clause",
"BSD-2-Clause-Darwin",
"BSD-2-Clause-Patent",
"BSD-2-Clause-Views",
"BSD-2-Clause-first-lines",
"BSD-3-Clause",
"BSD-3-Clause-Attribution",
"BSD-3-Clause-Clear",
"BSD-3-Clause-HP",
"BSD-3-Clause-LBNL",
"BSD-3-Clause-Modification",
"BSD-3-Clause-No-Military-License",
"BSD-3-Clause-No-Nuclear-License",
"BSD-3-Clause-No-Nuclear-License-2014",
"BSD-3-Clause-No-Nuclear-Warranty",
"BSD-3-Clause-Open-MPI",
"BSD-3-Clause-Sun",
"BSD-3-Clause-acpica",
"BSD-3-Clause-flex",
"BSD-4-Clause",
"BSD-4-Clause-Shortened",
"BSD-4-Clause-UC",
"BSD-4.3RENO",
"BSD-4.3TAHOE",
"BSD-Advertising-Acknowledgement",
"BSD-Attribution-HPND-disclaimer",
"BSD-Inferno-Nettverk",
"BSD-Protection",
"BSD-Source-Code",
"BSD-Source-beginning-file",
"BSD-Systemics",
"BSD-Systemics-W3Works",
"BSL-1.0",
"BUSL-1.1",
"Baekmuk",
"Bahyph",
"Barr",
"Beerware",
"BitTorrent-1.0",
"BitTorrent-1.1",
"Bitstream-Charter",
"Bitstream-Vera",
"BlueOak-1.0.0",
"Boehm-GC",
"Boehm-GC-without-fee",
"Borceux",
"Brian-Gladman-2-Clause",
"Brian-Gladman-3-Clause",
"C-UDA-1.0",
"CAL-1.0",
"CAL-1.0-Combined-Work-Exception",
"CATOSL-1.1",
"CC-BY-1.0",
"CC-BY-2.0",
"CC-BY-2.5",
"CC-BY-2.5-AU",
"CC-BY-3.0",
"CC-BY-3.0-AT",
"CC-BY-3.0-AU",
"CC-BY-3.0-DE",
"CC-BY-3.0-IGO",
"CC-BY-3.0-NL",
"CC-BY-3.0-US",
"CC-BY-4.0",
"CC-BY-NC-1.0",
"CC-BY-NC-2.0",
"CC-BY-NC-2.5",
"CC-BY-NC-3.0",
"CC-BY-NC-3.0-DE",
"CC-BY-NC-4.0",
"CC-BY-NC-ND-1.0",
"CC-BY-NC-ND-2.0",
"CC-BY-NC-ND-2.5",
"CC-BY-NC-ND-3.0",
"CC-BY-NC-ND-3.0-DE",
"CC-BY-NC-ND-3.0-IGO",
"CC-BY-NC-ND-4.0",
"CC-BY-NC-SA-1.0",
"CC-BY-NC-SA-2.0",
"CC-BY-NC-SA-2.0-DE",
"CC-BY-NC-SA-2.0-FR",
"CC-BY-NC-SA-2.0-UK",
"CC-BY-NC-SA-2.5",
"CC-BY-NC-SA-3.0",
"CC-BY-NC-SA-3.0-DE",
"CC-BY-NC-SA-3.0-IGO",
"CC-BY-NC-SA-4.0",
"CC-BY-ND-1.0",
"CC-BY-ND-2.0",
"CC-BY-ND-2.5",
"CC-BY-ND-3.0",
"CC-BY-ND-3.0-DE",
"CC-BY-ND-4.0",
"CC-BY-SA-1.0",
"CC-BY-SA-2.0",
"CC-BY-SA-2.0-UK",
"CC-BY-SA-2.1-JP",
"CC-BY-SA-2.5",
"CC-BY-SA-3.0",
"CC-BY-SA-3.0-AT",
"CC-BY-SA-3.0-DE",
"CC-BY-SA-3.0-IGO",
"CC-BY-SA-4.0",
"CC-PDDC",
"CC-PDM-1.0",
"CC-SA-1.0",
"CC0-1.0",
"CDDL-1.0",
"CDDL-1.1",
"CDL-1.0",
"CDLA-Permissive-1.0",
"CDLA-Permissive-2.0",
"CDLA-Sharing-1.0",
"CECILL-1.0",
"CECILL-1.1",
"CECILL-2.0",
"CECILL-2.1",
"CECILL-B",
"CECILL-C",
"CERN-OHL-1.1",
"CERN-OHL-1.2",
"CERN-OHL-P-2.0",
"CERN-OHL-S-2.0",
"CERN-OHL-W-2.0",
"CFITSIO",
"CMU-Mach",
"CMU-Mach-nodoc",
"CNRI-Jython",
"CNRI-Python",
"CNRI-Python-GPL-Compatible",
"COIL-1.0",
"CPAL-1.0",
"CPL-1.0",
"CPOL-1.02",
"CUA-OPL-1.0",
"Caldera",
"Caldera-no-preamble",
"Catharon",
"ClArtistic",
"Clips",
"Community-Spec-1.0",
"Condor-1.1",
"Cornell-Lossless-JPEG",
"Cronyx",
"Crossword",
"CrystalStacker",
"Cube",
"D-FSL-1.0",
"DEC-3-Clause",
"DL-DE-BY-2.0",
"DL-DE-ZERO-2.0",
"DOC",
"DRL-1.0",
"DRL-1.1",
"DSDP",
"DocBook-Schema",
"DocBook-Stylesheet",
"DocBook-XML",
"Dotseqn",
"ECL-1.0",
"ECL-2.0",
"EFL-1.0",
"EFL-2.0",
"EPICS",
"EPL-1.0",
"EPL-2.0",
"EUDatagrid",
"EUPL-1.0",
"EUPL-1.1",
"EUPL-1.2",
"Elastic-2.0",
"Entessa",
"ErlPL-1.1",
"Eurosym",
"FBM",
"FDK-AAC",
"FSFAP",
"FSFAP-no-warranty-disclaimer",
"FSFUL",
"FSFULLR",
"FSFULLRWD",
"FTL",
"Fair",
"Ferguson-Twofish",
"Frameworx-1.0",
"FreeBSD-DOC",
"FreeImage",
"Furuseth",
"GCR-docs",
"GD",
"GFDL-1.1-invariants-only",
"GFDL-1.1-invariants-or-later",
"GFDL-1.1-no-invariants-only",
"GFDL-1.1-no-invariants-or-later",
"GFDL-1.1-only",
"GFDL-1.1-or-later",
"GFDL-1.2-invariants-only",
"GFDL-1.2-invariants-or-later",
"GFDL-1.2-no-invariants-only",
"GFDL-1.2-no-invariants-or-later",
"GFDL-1.2-only",
"GFDL-1.2-or-later",
"GFDL-1.3-invariants-only",
"GFDL-1.3-invariants-or-later",
"GFDL-1.3-no-invariants-only",
"GFDL-1.3-no-invariants-or-later",
"GFDL-1.3-only",
"GFDL-1.3-or-later",
"GL2PS",
"GLWTPL",
"GPL-1.0-only",
"GPL-1.0-or-later",
"GPL-2.0-only",
"GPL-2.0-or-later",
"GPL-3.0-only",
"GPL-3.0-or-later",
"Giftware",
"Glide",
"Glulxe",
"Graphics-Gems",
"Gutmann",
"HIDAPI",
"HP-1986",
"HP-1989",
"HPND",
"HPND-DEC",
"HPND-Fenneberg-Livingston",
"HPND-INRIA-IMAG",
"HPND-Intel",
"HPND-Kevlin-Henney",
"HPND-MIT-disclaimer",
"HPND-Markus-Kuhn",
"HPND-Netrek",
"HPND-Pbmplus",
"HPND-UC",
"HPND-UC-export-US",
"HPND-doc",
"HPND-doc-sell",
"HPND-export-US",
"HPND-export-US-acknowledgement",
"HPND-export-US-modify",
"HPND-export2-US",
"HPND-merchantability-variant",
"HPND-sell-MIT-disclaimer-xserver",
"HPND-sell-regexpr",
"HPND-sell-variant",
"HPND-sell-variant-MIT-disclaimer",
"HPND-sell-variant-MIT-disclaimer-rev",
"HTMLTIDY",
"HaskellReport",
"Hippocratic-2.1",
"IBM-pibs",
"ICU",
"IEC-Code-Components-EULA",
"IJG",
"IJG-short",
"IPA",
"IPL-1.0",
"ISC",
"ISC-Veillard",
"ImageMagick",
"Imlib2",
"Info-ZIP",
"Inner-Net-2.0",
"InnoSetup",
"Intel",
"Intel-ACPI",
"Interbase-1.0",
"JPL-image",
"JPNIC",
"JSON",
"Jam",
"JasPer-2.0",
"Kastrup",
"Kazlib",
"Knuth-CTAN",
"LAL-1.2",
"LAL-1.3",
"LGPL-2.0-only",
"LGPL-2.0-or-later",
"LGPL-2.1-only",
"LGPL-2.1-or-later",
"LGPL-3.0-only",
"LGPL-3.0-or-later",
"LGPLLR",
"LOOP",
"LPD-document",
"LPL-1.0",
"LPL-1.02",
"LPPL-1.0",
"LPPL-1.1",
"LPPL-1.2",
"LPPL-1.3a",
"LPPL-1.3c",
"LZMA-SDK-9.11-to-9.20",
"LZMA-SDK-9.22",
"Latex2e",
"Latex2e-translated-notice",
"Leptonica",
"LiLiQ-P-1.1",
"LiLiQ-R-1.1",
"LiLiQ-Rplus-1.1",
"Libpng",
"Linux-OpenIB",
"Linux-man-pages-1-para",
"Linux-man-pages-copyleft",
"Linux-man-pages-copyleft-2-para",
"Linux-man-pages-copyleft-var",
"Lucida-Bitmap-Fonts",
"MIPS",
"MIT",
"MIT-0",
"MIT-CMU",
"MIT-Click",
"MIT-Festival",
"MIT-Khronos-old",
"MIT-Modern-Variant",
"MIT-Wu",
"MIT-advertising",
"MIT-enna",
"MIT-feh",
"MIT-open-group",
"MIT-testregex",
"MITNFA",
"MMIXware",
"MPEG-SSG",
"MPL-1.0",
"MPL-1.1",
"MPL-2.0",
"MPL-2.0-no-copyleft-exception",
"MS-LPL",
"MS-PL",
"MS-RL",
"MTLL",
"Mackerras-3-Clause",
"Mackerras-3-Clause-acknowledgment",
"MakeIndex",
"Martin-Birgmeier",
"McPhee-slideshow",
"Minpack",
"MirOS",
"Motosoto",
"MulanPSL-1.0",
"MulanPSL-2.0",
"Multics",
"Mup",
"NAIST-2003",
"NASA-1.3",
"NBPL-1.0",
"NCBI-PD",
"NCGL-UK-2.0",
"NCL",
"NCSA",
"NGPL",
"NICTA-1.0",
"NIST-PD",
"NIST-PD-fallback",
"NIST-Software",
"NLOD-1.0",
"NLOD-2.0",
"NLPL",
"NOSL",
"NPL-1.0",
"NPL-1.1",
"NPOSL-3.0",
"NRL",
"NTP",
"NTP-0",
"Naumen",
"NetCDF",
"Newsletr",
"Nokia",
"Noweb",
"O-UDA-1.0",
"OAR",
"OCCT-PL",
"OCLC-2.0",
"ODC-By-1.0",
"ODbL-1.0",
"OFFIS",
"OFL-1.0",
"OFL-1.0-RFN",
"OFL-1.0-no-RFN",
"OFL-1.1",
"OFL-1.1-RFN",
"OFL-1.1-no-RFN",
"OGC-1.0",
"OGDL-Taiwan-1.0",
"OGL-Canada-2.0",
"OGL-UK-1.0",
"OGL-UK-2.0",
"OGL-UK-3.0",
"OGTSL",
"OLDAP-1.1",
"OLDAP-1.2",
"OLDAP-1.3",
"OLDAP-1.4",
"OLDAP-2.0",
"OLDAP-2.0.1",
"OLDAP-2.1",
"OLDAP-2.2",
"OLDAP-2.2.1",
"OLDAP-2.2.2",
"OLDAP-2.3",
"OLDAP-2.4",
"OLDAP-2.5",
"OLDAP-2.6",
"OLDAP-2.7",
"OLDAP-2.8",
"OLFL-1.3",
"OML",
"OPL-1.0",
"OPL-UK-3.0",
"OPUBL-1.0",
"OSET-PL-2.1",
"OSL-1.0",
"OSL-1.1",
"OSL-2.0",
"OSL-2.1",
"OSL-3.0",
"OpenPBS-2.3",
"OpenSSL",
"OpenSSL-standalone",
"OpenVision",
"PADL",
"PDDL-1.0",
"PHP-3.0",
"PHP-3.01",
"PPL",
"PSF-2.0",
"Parity-6.0.0",
"Parity-7.0.0",
"Pixar",
"Plexus",
"PolyForm-Noncommercial-1.0.0",
"PolyForm-Small-Business-1.0.0",
"PostgreSQL",
"Python-2.0",
"Python-2.0.1",
"QPL-1.0",
"QPL-1.0-INRIA-2004",
"Qhull",
"RHeCos-1.1",
"RPL-1.1",
"RPL-1.5",
"RPSL-1.0",
"RSA-MD",
"RSCPL",
"Rdisc",
"Ruby",
"Ruby-pty",
"SAX-PD",
"SAX-PD-2.0",
"SCEA",
"SGI-B-1.0",
"SGI-B-1.1",
"SGI-B-2.0",
"SGI-OpenGL",
"SGP4",
"SHL-0.5",
"SHL-0.51",
"SISSL",
"SISSL-1.2",
"SL",
"SMAIL-GPL",
"SMLNJ",
"SMPPL",
"SNIA",
"SPL-1.0",
"SSH-OpenSSH",
"SSH-short",
"SSLeay-standalone",
"SSPL-1.0",
"SWL",
"Saxpath",
"SchemeReport",
"Sendmail",
"Sendmail-8.23",
"Sendmail-Open-Source-1.1",
"SimPL-2.0",
"Sleepycat",
"Soundex",
"Spencer-86",
"Spencer-94",
"Spencer-99",
"SugarCRM-1.1.3",
"Sun-PPP",
"Sun-PPP-2000",
"SunPro",
"Symlinks",
"TAPR-OHL-1.0",
"TCL",
"TCP-wrappers",
"TGPPL-1.0",
"TMate",
"TORQUE-1.1",
"TOSL",
"TPDL",
"TPL-1.0",
"TTWL",
"TTYP0",
"TU-Berlin-1.0",
"TU-Berlin-2.0",
"TermReadKey",
"ThirdEye",
"TrustedQSL",
"UCAR",
"UCL-1.0",
"UMich-Merit",
"UPL-1.0",
"URT-RLE",
"Ubuntu-font-1.0",
"Unicode-3.0",
"Unicode-DFS-2015",
"Unicode-DFS-2016",
"Unicode-TOU",
"UnixCrypt",
"Unlicense",
"VOSTROM",
"VSL-1.0",
"Vim",
"W3C",
"W3C-19980720",
"W3C-20150513",
"WTFPL",
"Watcom-1.0",
"Widget-Workshop",
"Wsuipa",
"X11",
"X11-distribute-modifications-variant",
"X11-swapped",
"XFree86-1.1",
"XSkat",
"Xdebug-1.03",
"Xerox",
"Xfig",
"Xnet",
"YPL-1.0",
"YPL-1.1",
"ZPL-1.1",
"ZPL-2.0",
"ZPL-2.1",
"Zed",
"Zeeff",
"Zend-2.0",
"Zimbra-1.3",
"Zimbra-1.4",
"Zlib",
"any-OSI",
"any-OSI-perl-modules",
"bcrypt-Solar-Designer",
"blessing",
"bzip2-1.0.6",
"check-cvs",
"checkmk",
"copyleft-next-0.3.0",
"copyleft-next-0.3.1",
"curl",
"cve-tou",
"diffmark",
"dtoa",
"dvipdfm",
"eGenix",
"etalab-2.0",
"fwlw",
"gSOAP-1.3b",
"generic-xts",
"gnuplot",
"gtkbook",
"hdparm",
"iMatix",
"libpng-2.0",
"libselinux-1.0",
"libtiff",
"libutil-David-Nugent",
"lsof",
"magaz",
"mailprio",
"metamail",
"mpi-permissive",
"mpich2",
"mplus",
"pkgconf",
"pnmstitch",
"psfrag",
"psutils",
"python-ldap",
"radvd",
"snprintf",
"softSurfer",
"ssh-keyscan",
"swrule",
"threeparttable",
"ulem",
"w3m",
"wwl",
"xinetd",
"xkeyboard-config-Zinoviev",
"xlock",
"xpp",
"xzoom",
"zlib-acknowledgement"
];
}
});
// node_modules/spdx-license-ids/deprecated.json
var require_deprecated = __commonJS({
"node_modules/spdx-license-ids/deprecated.json"(exports2, module2) {
module2.exports = [
"AGPL-1.0",
"AGPL-3.0",
"BSD-2-Clause-FreeBSD",
"BSD-2-Clause-NetBSD",
"GFDL-1.1",
"GFDL-1.2",
"GFDL-1.3",
"GPL-1.0",
"GPL-2.0",
"GPL-2.0-with-GCC-exception",
"GPL-2.0-with-autoconf-exception",
"GPL-2.0-with-bison-exception",
"GPL-2.0-with-classpath-exception",
"GPL-2.0-with-font-exception",
"GPL-3.0",
"GPL-3.0-with-GCC-exception",
"GPL-3.0-with-autoconf-exception",
"LGPL-2.0",
"LGPL-2.1",
"LGPL-3.0",
"Net-SNMP",
"Nunit",
"StandardML-NJ",
"bzip2-1.0.5",
"eCos-2.0",
"wxWindows"
];
}
});
// node_modules/spdx-exceptions/index.json
var require_spdx_exceptions = __commonJS({
"node_modules/spdx-exceptions/index.json"(exports2, module2) {
module2.exports = [
"389-exception",
"Asterisk-exception",
"Autoconf-exception-2.0",
"Autoconf-exception-3.0",
"Autoconf-exception-generic",
"Autoconf-exception-generic-3.0",
"Autoconf-exception-macro",
"Bison-exception-1.24",
"Bison-exception-2.2",
"Bootloader-exception",
"Classpath-exception-2.0",
"CLISP-exception-2.0",
"cryptsetup-OpenSSL-exception",
"DigiRule-FOSS-exception",
"eCos-exception-2.0",
"Fawkes-Runtime-exception",
"FLTK-exception",
"fmt-exception",
"Font-exception-2.0",
"freertos-exception-2.0",
"GCC-exception-2.0",
"GCC-exception-2.0-note",
"GCC-exception-3.1",
"Gmsh-exception",
"GNAT-exception",
"GNOME-examples-exception",
"GNU-compiler-exception",
"gnu-javamail-exception",
"GPL-3.0-interface-exception",
"GPL-3.0-linking-exception",
"GPL-3.0-linking-source-exception",
"GPL-CC-1.0",
"GStreamer-exception-2005",
"GStreamer-exception-2008",
"i2p-gpl-java-exception",
"KiCad-libraries-exception",
"LGPL-3.0-linking-exception",
"libpri-OpenH323-exception",
"Libtool-exception",
"Linux-syscall-note",
"LLGPL",
"LLVM-exception",
"LZMA-exception",
"mif-exception",
"OCaml-LGPL-linking-exception",
"OCCT-exception-1.0",
"OpenJDK-assembly-exception-1.0",
"openvpn-openssl-exception",
"PS-or-PDF-font-exception-20170817",
"QPL-1.0-INRIA-2004-exception",
"Qt-GPL-exception-1.0",
"Qt-LGPL-exception-1.1",
"Qwt-exception-1.0",
"SANE-exception",
"SHL-2.0",
"SHL-2.1",
"stunnel-exception",
"SWI-exception",
"Swift-exception",
"Texinfo-exception",
"u-boot-exception-2.0",
"UBDL-exception",
"Universal-FOSS-exception-1.0",
"vsftpd-openssl-exception",
"WxWindows-exception-3.1",
"x11vnc-openssl-exception"
];
}
});
// node_modules/spdx-expression-parse/scan.js
var require_scan = __commonJS({
"node_modules/spdx-expression-parse/scan.js"(exports2, module2) {
"use strict";
var licenses = [].concat(require_spdx_license_ids()).concat(require_deprecated());
var exceptions = require_spdx_exceptions();
module2.exports = function(source) {
var index = 0;
function hasMore() {
return index < source.length;
}
function read2(value) {
if (value instanceof RegExp) {
var chars = source.slice(index);
var match2 = chars.match(value);
if (match2) {
index += match2[0].length;
return match2[0];
}
} else {
if (source.indexOf(value, index) === index) {
index += value.length;
return value;
}
}
}
function skipWhitespace() {
read2(/[ ]*/);
}
function operator() {
var string4;
var possibilities = ["WITH", "AND", "OR", "(", ")", ":", "+"];
for (var i3 = 0; i3 < possibilities.length; i3++) {
string4 = read2(possibilities[i3]);
if (string4) {
break;
}
}
if (string4 === "+" && index > 1 && source[index - 2] === " ") {
throw new Error("Space before `+`");
}
return string4 && {
type: "OPERATOR",
string: string4
};
}
function idstring() {
return read2(/[A-Za-z0-9-.]+/);
}
function expectIdstring() {
var string4 = idstring();
if (!string4) {
throw new Error("Expected idstring at offset " + index);
}
return string4;
}
function documentRef() {
if (read2("DocumentRef-")) {
var string4 = expectIdstring();
return { type: "DOCUMENTREF", string: string4 };
}
}
function licenseRef() {
if (read2("LicenseRef-")) {
var string4 = expectIdstring();
return { type: "LICENSEREF", string: string4 };
}
}
function identifier() {
var begin = index;
var string4 = idstring();
if (licenses.indexOf(string4) !== -1) {
return {
type: "LICENSE",
string: string4
};
} else if (exceptions.indexOf(string4) !== -1) {
return {
type: "EXCEPTION",
string: string4
};
}
index = begin;
}
function parseToken() {
return operator() || documentRef() || licenseRef() || identifier();
}
var tokens = [];
while (hasMore()) {
skipWhitespace();
if (!hasMore()) {
break;
}
var token2 = parseToken();
if (!token2) {
throw new Error("Unexpected `" + source[index] + "` at offset " + index);
}
tokens.push(token2);
}
return tokens;
};
}
});
// node_modules/spdx-expression-parse/parse.js
var require_parse8 = __commonJS({
"node_modules/spdx-expression-parse/parse.js"(exports2, module2) {
"use strict";
module2.exports = function(tokens) {
var index = 0;
function hasMore() {
return index < tokens.length;
}
function token2() {
return hasMore() ? tokens[index] : null;
}
function next() {
if (!hasMore()) {
throw new Error();
}
index++;
}
function parseOperator(operator) {
var t2 = token2();
if (t2 && t2.type === "OPERATOR" && operator === t2.string) {
next();
return t2.string;
}
}
function parseWith() {
if (parseOperator("WITH")) {
var t2 = token2();
if (t2 && t2.type === "EXCEPTION") {
next();
return t2.string;
}
throw new Error("Expected exception after `WITH`");
}
}
function parseLicenseRef() {
var begin = index;
var string4 = "";
var t2 = token2();
if (t2.type === "DOCUMENTREF") {
next();
string4 += "DocumentRef-" + t2.string + ":";
if (!parseOperator(":")) {
throw new Error("Expected `:` after `DocumentRef-...`");
}
}
t2 = token2();
if (t2.type === "LICENSEREF") {
next();
string4 += "LicenseRef-" + t2.string;
return { license: string4 };
}
index = begin;
}
function parseLicense() {
var t2 = token2();
if (t2 && t2.type === "LICENSE") {
next();
var node2 = { license: t2.string };
if (parseOperator("+")) {
node2.plus = true;
}
var exception2 = parseWith();
if (exception2) {
node2.exception = exception2;
}
return node2;
}
}
function parseParenthesizedExpression() {
var left2 = parseOperator("(");
if (!left2) {
return;
}
var expr = parseExpression2();
if (!parseOperator(")")) {
throw new Error("Expected `)`");
}
return expr;
}
function parseAtom() {
return parseParenthesizedExpression() || parseLicenseRef() || parseLicense();
}
function makeBinaryOpParser(operator, nextParser) {
return function parseBinaryOp() {
var left2 = nextParser();
if (!left2) {
return;
}
if (!parseOperator(operator)) {
return left2;
}
var right2 = parseBinaryOp();
if (!right2) {
throw new Error("Expected expression");
}
return {
left: left2,
conjunction: operator.toLowerCase(),
right: right2
};
};
}
var parseAnd = makeBinaryOpParser("AND", parseAtom);
var parseExpression2 = makeBinaryOpParser("OR", parseAnd);
var node = parseExpression2();
if (!node || hasMore()) {
throw new Error("Syntax error");
}
return node;
};
}
});
// node_modules/spdx-expression-parse/index.js
var require_spdx_expression_parse = __commonJS({
"node_modules/spdx-expression-parse/index.js"(exports2, module2) {
"use strict";
var scan = require_scan();
var parse8 = require_parse8();
module2.exports = function(source) {
return parse8(scan(source));
};
}
});
// node_modules/spdx-correct/index.js
var require_spdx_correct = __commonJS({
"node_modules/spdx-correct/index.js"(exports2, module2) {
var parse8 = require_spdx_expression_parse();
var spdxLicenseIds = require_spdx_license_ids();
function valid(string4) {
try {
parse8(string4);
return true;
} catch (error40) {
return false;
}
}
function sortTranspositions(a2, b) {
var length = b[0].length - a2[0].length;
if (length !== 0) return length;
return a2[0].toUpperCase().localeCompare(b[0].toUpperCase());
}
var transpositions = [
["APGL", "AGPL"],
["Gpl", "GPL"],
["GLP", "GPL"],
["APL", "Apache"],
["ISD", "ISC"],
["GLP", "GPL"],
["IST", "ISC"],
["Claude", "Clause"],
[" or later", "+"],
[" International", ""],
["GNU", "GPL"],
["GUN", "GPL"],
["+", ""],
["GNU GPL", "GPL"],
["GNU LGPL", "LGPL"],
["GNU/GPL", "GPL"],
["GNU GLP", "GPL"],
["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL"],
["GNU Lesser General Public License", "LGPL"],
["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"],
["GNU Lesser General Public License", "LGPL-2.1"],
["LESSER GENERAL PUBLIC LICENSE", "LGPL"],
["Lesser General Public License", "LGPL"],
["LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"],
["Lesser General Public License", "LGPL-2.1"],
["GNU General Public License", "GPL"],
["Gnu public license", "GPL"],
["GNU Public License", "GPL"],
["GNU GENERAL PUBLIC LICENSE", "GPL"],
["MTI", "MIT"],
["Mozilla Public License", "MPL"],
["Universal Permissive License", "UPL"],
["WTH", "WTF"],
["WTFGPL", "WTFPL"],
["-License", ""]
].sort(sortTranspositions);
var TRANSPOSED = 0;
var CORRECT = 1;
var transforms = [
// e.g. 'mit'
function(argument) {
return argument.toUpperCase();
},
// e.g. 'MIT '
function(argument) {
return argument.trim();
},
// e.g. 'M.I.T.'
function(argument) {
return argument.replace(/\./g, "");
},
// e.g. 'Apache- 2.0'
function(argument) {
return argument.replace(/\s+/g, "");
},
// e.g. 'CC BY 4.0''
function(argument) {
return argument.replace(/\s+/g, "-");
},
// e.g. 'LGPLv2.1'
function(argument) {
return argument.replace("v", "-");
},
// e.g. 'Apache 2.0'
function(argument) {
return argument.replace(/,?\s*(\d)/, "-$1");
},
// e.g. 'GPL 2'
function(argument) {
return argument.replace(/,?\s*(\d)/, "-$1.0");
},
// e.g. 'Apache Version 2.0'
function(argument) {
return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2");
},
// e.g. 'Apache Version 2'
function(argument) {
return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2.0");
},
// e.g. 'ZLIB'
function(argument) {
return argument[0].toUpperCase() + argument.slice(1);
},
// e.g. 'MPL/2.0'
function(argument) {
return argument.replace("/", "-");
},
// e.g. 'Apache 2'
function(argument) {
return argument.replace(/\s*V\s*(\d)/, "-$1").replace(/(\d)$/, "$1.0");
},
// e.g. 'GPL-2.0', 'GPL-3.0'
function(argument) {
if (argument.indexOf("3.0") !== -1) {
return argument + "-or-later";
} else {
return argument + "-only";
}
},
// e.g. 'GPL-2.0-'
function(argument) {
return argument + "only";
},
// e.g. 'GPL2'
function(argument) {
return argument.replace(/(\d)$/, "-$1.0");
},
// e.g. 'BSD 3'
function(argument) {
return argument.replace(/(-| )?(\d)$/, "-$2-Clause");
},
// e.g. 'BSD clause 3'
function(argument) {
return argument.replace(/(-| )clause(-| )(\d)/, "-$3-Clause");
},
// e.g. 'New BSD license'
function(argument) {
return argument.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i, "BSD-3-Clause");
},
// e.g. 'Simplified BSD license'
function(argument) {
return argument.replace(/\bSimplified(-| )?BSD((-| )License)?/i, "BSD-2-Clause");
},
// e.g. 'Free BSD license'
function(argument) {
return argument.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i, "BSD-2-Clause-$1BSD");
},
// e.g. 'Clear BSD license'
function(argument) {
return argument.replace(/\bClear(-| )?BSD((-| )License)?/i, "BSD-3-Clause-Clear");
},
// e.g. 'Old BSD License'
function(argument) {
return argument.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i, "BSD-4-Clause");
},
// e.g. 'BY-NC-4.0'
function(argument) {
return "CC-" + argument;
},
// e.g. 'BY-NC'
function(argument) {
return "CC-" + argument + "-4.0";
},
// e.g. 'Attribution-NonCommercial'
function(argument) {
return argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, "");
},
// e.g. 'Attribution-NonCommercial'
function(argument) {
return "CC-" + argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, "") + "-4.0";
}
];
var licensesWithVersions = spdxLicenseIds.map(function(id) {
var match2 = /^(.*)-\d+\.\d+$/.exec(id);
return match2 ? [match2[0], match2[1]] : [id, null];
}).reduce(function(objectMap, item) {
var key = item[1];
objectMap[key] = objectMap[key] || [];
objectMap[key].push(item[0]);
return objectMap;
}, {});
var licensesWithOneVersion = Object.keys(licensesWithVersions).map(function makeEntries(key) {
return [key, licensesWithVersions[key]];
}).filter(function identifySoleVersions(item) {
return (
// Licenses has just one valid version suffix.
item[1].length === 1 && item[0] !== null && // APL will be considered Apache, rather than APL-1.0
item[0] !== "APL"
);
}).map(function createLastResorts(item) {
return [item[0], item[1][0]];
});
licensesWithVersions = void 0;
var lastResorts = [
["UNLI", "Unlicense"],
["WTF", "WTFPL"],
["2 CLAUSE", "BSD-2-Clause"],
["2-CLAUSE", "BSD-2-Clause"],
["3 CLAUSE", "BSD-3-Clause"],
["3-CLAUSE", "BSD-3-Clause"],
["AFFERO", "AGPL-3.0-or-later"],
["AGPL", "AGPL-3.0-or-later"],
["APACHE", "Apache-2.0"],
["ARTISTIC", "Artistic-2.0"],
["Affero", "AGPL-3.0-or-later"],
["BEER", "Beerware"],
["BOOST", "BSL-1.0"],
["BSD", "BSD-2-Clause"],
["CDDL", "CDDL-1.1"],
["ECLIPSE", "EPL-1.0"],
["FUCK", "WTFPL"],
["GNU", "GPL-3.0-or-later"],
["LGPL", "LGPL-3.0-or-later"],
["GPLV1", "GPL-1.0-only"],
["GPL-1", "GPL-1.0-only"],
["GPLV2", "GPL-2.0-only"],
["GPL-2", "GPL-2.0-only"],
["GPL", "GPL-3.0-or-later"],
["MIT +NO-FALSE-ATTRIBS", "MITNFA"],
["MIT", "MIT"],
["MPL", "MPL-2.0"],
["X11", "X11"],
["ZLIB", "Zlib"]
].concat(licensesWithOneVersion).sort(sortTranspositions);
var SUBSTRING = 0;
var IDENTIFIER = 1;
var validTransformation = function(identifier) {
for (var i3 = 0; i3 < transforms.length; i3++) {
var transformed = transforms[i3](identifier).trim();
if (transformed !== identifier && valid(transformed)) {
return transformed;
}
}
return null;
};
var validLastResort = function(identifier) {
var upperCased = identifier.toUpperCase();
for (var i3 = 0; i3 < lastResorts.length; i3++) {
var lastResort = lastResorts[i3];
if (upperCased.indexOf(lastResort[SUBSTRING]) > -1) {
return lastResort[IDENTIFIER];
}
}
return null;
};
var anyCorrection = function(identifier, check2) {
for (var i3 = 0; i3 < transpositions.length; i3++) {
var transposition = transpositions[i3];
var transposed = transposition[TRANSPOSED];
if (identifier.indexOf(transposed) > -1) {
var corrected = identifier.replace(
transposed,
transposition[CORRECT]
);
var checked = check2(corrected);
if (checked !== null) {
return checked;
}
}
}
return null;
};
module2.exports = function(identifier, options) {
options = options || {};
var upgrade = options.upgrade === void 0 ? true : !!options.upgrade;
function postprocess(value) {
return upgrade ? upgradeGPLs(value) : value;
}
var validArugment = typeof identifier === "string" && identifier.trim().length !== 0;
if (!validArugment) {
throw Error("Invalid argument. Expected non-empty string.");
}
identifier = identifier.trim();
if (valid(identifier)) {
return postprocess(identifier);
}
var noPlus = identifier.replace(/\+$/, "").trim();
if (valid(noPlus)) {
return postprocess(noPlus);
}
var transformed = validTransformation(identifier);
if (transformed !== null) {
return postprocess(transformed);
}
transformed = anyCorrection(identifier, function(argument) {
if (valid(argument)) {
return argument;
}
return validTransformation(argument);
});
if (transformed !== null) {
return postprocess(transformed);
}
transformed = validLastResort(identifier);
if (transformed !== null) {
return postprocess(transformed);
}
transformed = anyCorrection(identifier, validLastResort);
if (transformed !== null) {
return postprocess(transformed);
}
return null;
};
function upgradeGPLs(value) {
if ([
"GPL-1.0",
"LGPL-1.0",
"AGPL-1.0",
"GPL-2.0",
"LGPL-2.0",
"AGPL-2.0",
"LGPL-2.1"
].indexOf(value) !== -1) {
return value + "-only";
} else if ([
"GPL-1.0+",
"GPL-2.0+",
"GPL-3.0+",
"LGPL-2.0+",
"LGPL-2.1+",
"LGPL-3.0+",
"AGPL-1.0+",
"AGPL-3.0+"
].indexOf(value) !== -1) {
return value.replace(/\+$/, "-or-later");
} else if (["GPL-3.0", "LGPL-3.0", "AGPL-3.0"].indexOf(value) !== -1) {
return value + "-or-later";
} else {
return value;
}
}
}
});
// node_modules/validate-npm-package-license/index.js
var require_validate_npm_package_license = __commonJS({
"node_modules/validate-npm-package-license/index.js"(exports2, module2) {
var parse8 = require_spdx_expression_parse();
var correct = require_spdx_correct();
var genericWarning = 'license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"';
var fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/;
function startsWith(prefix, string4) {
return string4.slice(0, prefix.length) === prefix;
}
function usesLicenseRef(ast) {
if (ast.hasOwnProperty("license")) {
var license = ast.license;
return startsWith("LicenseRef", license) || startsWith("DocumentRef", license);
} else {
return usesLicenseRef(ast.left) || usesLicenseRef(ast.right);
}
}
module2.exports = function(argument) {
var ast;
try {
ast = parse8(argument);
} catch (e2) {
var match2;
if (argument === "UNLICENSED" || argument === "UNLICENCED") {
return {
validForOldPackages: true,
validForNewPackages: true,
unlicensed: true
};
} else if (match2 = fileReferenceRE.exec(argument)) {
return {
validForOldPackages: true,
validForNewPackages: true,
inFile: match2[1]
};
} else {
var result2 = {
validForOldPackages: false,
validForNewPackages: false,
warnings: [genericWarning]
};
if (argument.trim().length !== 0) {
var corrected = correct(argument);
if (corrected) {
result2.warnings.push(
'license is similar to the valid expression "' + corrected + '"'
);
}
}
return result2;
}
}
if (usesLicenseRef(ast)) {
return {
validForNewPackages: false,
validForOldPackages: false,
spdx: true,
warnings: [genericWarning]
};
} else {
return {
validForNewPackages: true,
validForOldPackages: true,
spdx: true
};
}
};
}
});
// node_modules/lru-cache/dist/commonjs/index.js
var require_commonjs2 = __commonJS({
"node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LRUCache = void 0;
var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
var warned2 = /* @__PURE__ */ new Set();
var PROCESS2 = typeof process === "object" && !!process ? process : {};
var emitWarning2 = (msg, type2, code, fn) => {
typeof PROCESS2.emitWarning === "function" ? PROCESS2.emitWarning(msg, type2, code, fn) : console.error(`[${code}] ${type2}: ${msg}`);
};
var AC2 = globalThis.AbortController;
var AS2 = globalThis.AbortSignal;
if (typeof AC2 === "undefined") {
AS2 = class AbortSignal {
onabort;
_onabort = [];
reason;
aborted = false;
addEventListener(_, fn) {
this._onabort.push(fn);
}
};
AC2 = class AbortController {
constructor() {
warnACPolyfill();
}
signal = new AS2();
abort(reason) {
if (this.signal.aborted)
return;
this.signal.reason = reason;
this.signal.aborted = true;
for (const fn of this.signal._onabort) {
fn(reason);
}
this.signal.onabort?.(reason);
}
};
let printACPolyfillWarning = PROCESS2.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
const warnACPolyfill = () => {
if (!printACPolyfillWarning)
return;
printACPolyfillWarning = false;
emitWarning2("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
};
}
var shouldWarn2 = (code) => !warned2.has(code);
var TYPE2 = Symbol("type");
var isPosInt2 = (n3) => n3 && n3 === Math.floor(n3) && n3 > 0 && isFinite(n3);
var getUintArray2 = (max) => !isPosInt2(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray2 : null;
var ZeroArray2 = class extends Array {
constructor(size) {
super(size);
this.fill(0);
}
};
var Stack2 = class _Stack {
heap;
length;
// private constructor
static #constructing = false;
static create(max) {
const HeapCls = getUintArray2(max);
if (!HeapCls)
return [];
_Stack.#constructing = true;
const s2 = new _Stack(max, HeapCls);
_Stack.#constructing = false;
return s2;
}
constructor(max, HeapCls) {
if (!_Stack.#constructing) {
throw new TypeError("instantiate Stack using Stack.create(n)");
}
this.heap = new HeapCls(max);
this.length = 0;
}
push(n3) {
this.heap[this.length++] = n3;
}
pop() {
return this.heap[--this.length];
}
};
var LRUCache2 = class _LRUCache {
// options that cannot be changed without disaster
#max;
#maxSize;
#dispose;
#disposeAfter;
#fetchMethod;
#memoMethod;
/**
* {@link LRUCache.OptionsBase.ttl}
*/
ttl;
/**
* {@link LRUCache.OptionsBase.ttlResolution}
*/
ttlResolution;
/**
* {@link LRUCache.OptionsBase.ttlAutopurge}
*/
ttlAutopurge;
/**
* {@link LRUCache.OptionsBase.updateAgeOnGet}
*/
updateAgeOnGet;
/**
* {@link LRUCache.OptionsBase.updateAgeOnHas}
*/
updateAgeOnHas;
/**
* {@link LRUCache.OptionsBase.allowStale}
*/
allowStale;
/**
* {@link LRUCache.OptionsBase.noDisposeOnSet}
*/
noDisposeOnSet;
/**
* {@link LRUCache.OptionsBase.noUpdateTTL}
*/
noUpdateTTL;
/**
* {@link LRUCache.OptionsBase.maxEntrySize}
*/
maxEntrySize;
/**
* {@link LRUCache.OptionsBase.sizeCalculation}
*/
sizeCalculation;
/**
* {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
*/
noDeleteOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
*/
noDeleteOnStaleGet;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
*/
allowStaleOnFetchAbort;
/**
* {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
*/
allowStaleOnFetchRejection;
/**
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
*/
ignoreFetchAbort;
// computed properties
#size;
#calculatedSize;
#keyMap;
#keyList;
#valList;
#next;
#prev;
#head;
#tail;
#free;
#disposed;
#sizes;
#starts;
#ttls;
#hasDispose;
#hasFetchMethod;
#hasDisposeAfter;
/**
* Do not call this method unless you need to inspect the
* inner workings of the cache. If anything returned by this
* object is modified in any way, strange breakage may occur.
*
* These fields are private for a reason!
*
* @internal
*/
static unsafeExposeInternals(c4) {
return {
// properties
starts: c4.#starts,
ttls: c4.#ttls,
sizes: c4.#sizes,
keyMap: c4.#keyMap,
keyList: c4.#keyList,
valList: c4.#valList,
next: c4.#next,
prev: c4.#prev,
get head() {
return c4.#head;
},
get tail() {
return c4.#tail;
},
free: c4.#free,
// methods
isBackgroundFetch: (p) => c4.#isBackgroundFetch(p),
backgroundFetch: (k, index, options, context2) => c4.#backgroundFetch(k, index, options, context2),
moveToTail: (index) => c4.#moveToTail(index),
indexes: (options) => c4.#indexes(options),
rindexes: (options) => c4.#rindexes(options),
isStale: (index) => c4.#isStale(index)
};
}
// Protected read-only members
/**
* {@link LRUCache.OptionsBase.max} (read-only)
*/
get max() {
return this.#max;
}
/**
* {@link LRUCache.OptionsBase.maxSize} (read-only)
*/
get maxSize() {
return this.#maxSize;
}
/**
* The total computed size of items in the cache (read-only)
*/
get calculatedSize() {
return this.#calculatedSize;
}
/**
* The number of items stored in the cache (read-only)
*/
get size() {
return this.#size;
}
/**
* {@link LRUCache.OptionsBase.fetchMethod} (read-only)
*/
get fetchMethod() {
return this.#fetchMethod;
}
get memoMethod() {
return this.#memoMethod;
}
/**
* {@link LRUCache.OptionsBase.dispose} (read-only)
*/
get dispose() {
return this.#dispose;
}
/**
* {@link LRUCache.OptionsBase.disposeAfter} (read-only)
*/
get disposeAfter() {
return this.#disposeAfter;
}
constructor(options) {
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
if (max !== 0 && !isPosInt2(max)) {
throw new TypeError("max option must be a nonnegative integer");
}
const UintArray = max ? getUintArray2(max) : Array;
if (!UintArray) {
throw new Error("invalid max value: " + max);
}
this.#max = max;
this.#maxSize = maxSize;
this.maxEntrySize = maxEntrySize || this.#maxSize;
this.sizeCalculation = sizeCalculation;
if (this.sizeCalculation) {
if (!this.#maxSize && !this.maxEntrySize) {
throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
}
if (typeof this.sizeCalculation !== "function") {
throw new TypeError("sizeCalculation set to non-function");
}
}
if (memoMethod !== void 0 && typeof memoMethod !== "function") {
throw new TypeError("memoMethod must be a function if defined");
}
this.#memoMethod = memoMethod;
if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
throw new TypeError("fetchMethod must be a function if specified");
}
this.#fetchMethod = fetchMethod;
this.#hasFetchMethod = !!fetchMethod;
this.#keyMap = /* @__PURE__ */ new Map();
this.#keyList = new Array(max).fill(void 0);
this.#valList = new Array(max).fill(void 0);
this.#next = new UintArray(max);
this.#prev = new UintArray(max);
this.#head = 0;
this.#tail = 0;
this.#free = Stack2.create(max);
this.#size = 0;
this.#calculatedSize = 0;
if (typeof dispose === "function") {
this.#dispose = dispose;
}
if (typeof disposeAfter === "function") {
this.#disposeAfter = disposeAfter;
this.#disposed = [];
} else {
this.#disposeAfter = void 0;
this.#disposed = void 0;
}
this.#hasDispose = !!this.#dispose;
this.#hasDisposeAfter = !!this.#disposeAfter;
this.noDisposeOnSet = !!noDisposeOnSet;
this.noUpdateTTL = !!noUpdateTTL;
this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
this.ignoreFetchAbort = !!ignoreFetchAbort;
if (this.maxEntrySize !== 0) {
if (this.#maxSize !== 0) {
if (!isPosInt2(this.#maxSize)) {
throw new TypeError("maxSize must be a positive integer if specified");
}
}
if (!isPosInt2(this.maxEntrySize)) {
throw new TypeError("maxEntrySize must be a positive integer if specified");
}
this.#initializeSizeTracking();
}
this.allowStale = !!allowStale;
this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
this.updateAgeOnGet = !!updateAgeOnGet;
this.updateAgeOnHas = !!updateAgeOnHas;
this.ttlResolution = isPosInt2(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
this.ttlAutopurge = !!ttlAutopurge;
this.ttl = ttl || 0;
if (this.ttl) {
if (!isPosInt2(this.ttl)) {
throw new TypeError("ttl must be a positive integer if specified");
}
this.#initializeTTLTracking();
}
if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
throw new TypeError("At least one of max, maxSize, or ttl is required");
}
if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
const code = "LRU_CACHE_UNBOUNDED";
if (shouldWarn2(code)) {
warned2.add(code);
const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
emitWarning2(msg, "UnboundedCacheWarning", code, _LRUCache);
}
}
}
/**
* Return the number of ms left in the item's TTL. If item is not in cache,
* returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
*/
getRemainingTTL(key) {
return this.#keyMap.has(key) ? Infinity : 0;
}
#initializeTTLTracking() {
const ttls = new ZeroArray2(this.#max);
const starts = new ZeroArray2(this.#max);
this.#ttls = ttls;
this.#starts = starts;
this.#setItemTTL = (index, ttl, start2 = perf.now()) => {
starts[index] = ttl !== 0 ? start2 : 0;
ttls[index] = ttl;
if (ttl !== 0 && this.ttlAutopurge) {
const t2 = setTimeout(() => {
if (this.#isStale(index)) {
this.#delete(this.#keyList[index], "expire");
}
}, ttl + 1);
if (t2.unref) {
t2.unref();
}
}
};
this.#updateItemAge = (index) => {
starts[index] = ttls[index] !== 0 ? perf.now() : 0;
};
this.#statusTTL = (status2, index) => {
if (ttls[index]) {
const ttl = ttls[index];
const start2 = starts[index];
if (!ttl || !start2)
return;
status2.ttl = ttl;
status2.start = start2;
status2.now = cachedNow || getNow();
const age = status2.now - start2;
status2.remainingTTL = ttl - age;
}
};
let cachedNow = 0;
const getNow = () => {
const n3 = perf.now();
if (this.ttlResolution > 0) {
cachedNow = n3;
const t2 = setTimeout(() => cachedNow = 0, this.ttlResolution);
if (t2.unref) {
t2.unref();
}
}
return n3;
};
this.getRemainingTTL = (key) => {
const index = this.#keyMap.get(key);
if (index === void 0) {
return 0;
}
const ttl = ttls[index];
const start2 = starts[index];
if (!ttl || !start2) {
return Infinity;
}
const age = (cachedNow || getNow()) - start2;
return ttl - age;
};
this.#isStale = (index) => {
const s2 = starts[index];
const t2 = ttls[index];
return !!t2 && !!s2 && (cachedNow || getNow()) - s2 > t2;
};
}
// conditionally set private methods related to TTL
#updateItemAge = () => {
};
#statusTTL = () => {
};
#setItemTTL = () => {
};
/* c8 ignore stop */
#isStale = () => false;
#initializeSizeTracking() {
const sizes = new ZeroArray2(this.#max);
this.#calculatedSize = 0;
this.#sizes = sizes;
this.#removeItemSize = (index) => {
this.#calculatedSize -= sizes[index];
sizes[index] = 0;
};
this.#requireSize = (k, v, size, sizeCalculation) => {
if (this.#isBackgroundFetch(v)) {
return 0;
}
if (!isPosInt2(size)) {
if (sizeCalculation) {
if (typeof sizeCalculation !== "function") {
throw new TypeError("sizeCalculation must be a function");
}
size = sizeCalculation(v, k);
if (!isPosInt2(size)) {
throw new TypeError("sizeCalculation return invalid (expect positive integer)");
}
} else {
throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
}
}
return size;
};
this.#addItemSize = (index, size, status2) => {
sizes[index] = size;
if (this.#maxSize) {
const maxSize = this.#maxSize - sizes[index];
while (this.#calculatedSize > maxSize) {
this.#evict(true);
}
}
this.#calculatedSize += sizes[index];
if (status2) {
status2.entrySize = size;
status2.totalCalculatedSize = this.#calculatedSize;
}
};
}
#removeItemSize = (_i) => {
};
#addItemSize = (_i, _s, _st) => {
};
#requireSize = (_k, _v, size, sizeCalculation) => {
if (size || sizeCalculation) {
throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
}
return 0;
};
*#indexes({ allowStale = this.allowStale } = {}) {
if (this.#size) {
for (let i3 = this.#tail; true; ) {
if (!this.#isValidIndex(i3)) {
break;
}
if (allowStale || !this.#isStale(i3)) {
yield i3;
}
if (i3 === this.#head) {
break;
} else {
i3 = this.#prev[i3];
}
}
}
}
*#rindexes({ allowStale = this.allowStale } = {}) {
if (this.#size) {
for (let i3 = this.#head; true; ) {
if (!this.#isValidIndex(i3)) {
break;
}
if (allowStale || !this.#isStale(i3)) {
yield i3;
}
if (i3 === this.#tail) {
break;
} else {
i3 = this.#next[i3];
}
}
}
}
#isValidIndex(index) {
return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
}
/**
* Return a generator yielding `[key, value]` pairs,
* in order from most recently used to least recently used.
*/
*entries() {
for (const i3 of this.#indexes()) {
if (this.#valList[i3] !== void 0 && this.#keyList[i3] !== void 0 && !this.#isBackgroundFetch(this.#valList[i3])) {
yield [this.#keyList[i3], this.#valList[i3]];
}
}
}
/**
* Inverse order version of {@link LRUCache.entries}
*
* Return a generator yielding `[key, value]` pairs,
* in order from least recently used to most recently used.
*/
*rentries() {
for (const i3 of this.#rindexes()) {
if (this.#valList[i3] !== void 0 && this.#keyList[i3] !== void 0 && !this.#isBackgroundFetch(this.#valList[i3])) {
yield [this.#keyList[i3], this.#valList[i3]];
}
}
}
/**
* Return a generator yielding the keys in the cache,
* in order from most recently used to least recently used.
*/
*keys() {
for (const i3 of this.#indexes()) {
const k = this.#keyList[i3];
if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i3])) {
yield k;
}
}
}
/**
* Inverse order version of {@link LRUCache.keys}
*
* Return a generator yielding the keys in the cache,
* in order from least recently used to most recently used.
*/
*rkeys() {
for (const i3 of this.#rindexes()) {
const k = this.#keyList[i3];
if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i3])) {
yield k;
}
}
}
/**
* Return a generator yielding the values in the cache,
* in order from most recently used to least recently used.
*/
*values() {
for (const i3 of this.#indexes()) {
const v = this.#valList[i3];
if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i3])) {
yield this.#valList[i3];
}
}
}
/**
* Inverse order version of {@link LRUCache.values}
*
* Return a generator yielding the values in the cache,
* in order from least recently used to most recently used.
*/
*rvalues() {
for (const i3 of this.#rindexes()) {
const v = this.#valList[i3];
if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i3])) {
yield this.#valList[i3];
}
}
}
/**
* Iterating over the cache itself yields the same results as
* {@link LRUCache.entries}
*/
[Symbol.iterator]() {
return this.entries();
}
/**
* A String value that is used in the creation of the default string
* description of an object. Called by the built-in method
* `Object.prototype.toString`.
*/
[Symbol.toStringTag] = "LRUCache";
/**
* Find a value for which the supplied fn method returns a truthy value,
* similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
*/
find(fn, getOptions = {}) {
for (const i3 of this.#indexes()) {
const v = this.#valList[i3];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0)
continue;
if (fn(value, this.#keyList[i3], this)) {
return this.get(this.#keyList[i3], getOptions);
}
}
}
/**
* Call the supplied function on each item in the cache, in order from most
* recently used to least recently used.
*
* `fn` is called as `fn(value, key, cache)`.
*
* If `thisp` is provided, function will be called in the `this`-context of
* the provided object, or the cache if no `thisp` object is provided.
*
* Does not update age or recenty of use, or iterate over stale values.
*/
forEach(fn, thisp = this) {
for (const i3 of this.#indexes()) {
const v = this.#valList[i3];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0)
continue;
fn.call(thisp, value, this.#keyList[i3], this);
}
}
/**
* The same as {@link LRUCache.forEach} but items are iterated over in
* reverse order. (ie, less recently used items are iterated over first.)
*/
rforEach(fn, thisp = this) {
for (const i3 of this.#rindexes()) {
const v = this.#valList[i3];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0)
continue;
fn.call(thisp, value, this.#keyList[i3], this);
}
}
/**
* Delete any stale entries. Returns true if anything was removed,
* false otherwise.
*/
purgeStale() {
let deleted = false;
for (const i3 of this.#rindexes({ allowStale: true })) {
if (this.#isStale(i3)) {
this.#delete(this.#keyList[i3], "expire");
deleted = true;
}
}
return deleted;
}
/**
* Get the extended info about a given entry, to get its value, size, and
* TTL info simultaneously. Returns `undefined` if the key is not present.
*
* Unlike {@link LRUCache#dump}, which is designed to be portable and survive
* serialization, the `start` value is always the current timestamp, and the
* `ttl` is a calculated remaining time to live (negative if expired).
*
* Always returns stale values, if their info is found in the cache, so be
* sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
* if relevant.
*/
info(key) {
const i3 = this.#keyMap.get(key);
if (i3 === void 0)
return void 0;
const v = this.#valList[i3];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0)
return void 0;
const entry = { value };
if (this.#ttls && this.#starts) {
const ttl = this.#ttls[i3];
const start2 = this.#starts[i3];
if (ttl && start2) {
const remain = ttl - (perf.now() - start2);
entry.ttl = remain;
entry.start = Date.now();
}
}
if (this.#sizes) {
entry.size = this.#sizes[i3];
}
return entry;
}
/**
* Return an array of [key, {@link LRUCache.Entry}] tuples which can be
* passed to {@link LRLUCache#load}.
*
* The `start` fields are calculated relative to a portable `Date.now()`
* timestamp, even if `performance.now()` is available.
*
* Stale entries are always included in the `dump`, even if
* {@link LRUCache.OptionsBase.allowStale} is false.
*
* Note: this returns an actual array, not a generator, so it can be more
* easily passed around.
*/
dump() {
const arr = [];
for (const i3 of this.#indexes({ allowStale: true })) {
const key = this.#keyList[i3];
const v = this.#valList[i3];
const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
if (value === void 0 || key === void 0)
continue;
const entry = { value };
if (this.#ttls && this.#starts) {
entry.ttl = this.#ttls[i3];
const age = perf.now() - this.#starts[i3];
entry.start = Math.floor(Date.now() - age);
}
if (this.#sizes) {
entry.size = this.#sizes[i3];
}
arr.unshift([key, entry]);
}
return arr;
}
/**
* Reset the cache and load in the items in entries in the order listed.
*
* The shape of the resulting cache may be different if the same options are
* not used in both caches.
*
* The `start` fields are assumed to be calculated relative to a portable
* `Date.now()` timestamp, even if `performance.now()` is available.
*/
load(arr) {
this.clear();
for (const [key, entry] of arr) {
if (entry.start) {
const age = Date.now() - entry.start;
entry.start = perf.now() - age;
}
this.set(key, entry.value, entry);
}
}
/**
* Add a value to the cache.
*
* Note: if `undefined` is specified as a value, this is an alias for
* {@link LRUCache#delete}
*
* Fields on the {@link LRUCache.SetOptions} options param will override
* their corresponding values in the constructor options for the scope
* of this single `set()` operation.
*
* If `start` is provided, then that will set the effective start
* time for the TTL calculation. Note that this must be a previous
* value of `performance.now()` if supported, or a previous value of
* `Date.now()` if not.
*
* Options object may also include `size`, which will prevent
* calling the `sizeCalculation` function and just use the specified
* number if it is a positive integer, and `noDisposeOnSet` which
* will prevent calling a `dispose` function in the case of
* overwrites.
*
* If the `size` (or return value of `sizeCalculation`) for a given
* entry is greater than `maxEntrySize`, then the item will not be
* added to the cache.
*
* Will update the recency of the entry.
*
* If the value is `undefined`, then this is an alias for
* `cache.delete(key)`. `undefined` is never stored in the cache.
*/
set(k, v, setOptions = {}) {
if (v === void 0) {
this.delete(k);
return this;
}
const { ttl = this.ttl, start: start2, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status: status2 } = setOptions;
let { noUpdateTTL = this.noUpdateTTL } = setOptions;
const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
if (this.maxEntrySize && size > this.maxEntrySize) {
if (status2) {
status2.set = "miss";
status2.maxEntrySizeExceeded = true;
}
this.#delete(k, "set");
return this;
}
let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
if (index === void 0) {
index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
this.#keyList[index] = k;
this.#valList[index] = v;
this.#keyMap.set(k, index);
this.#next[this.#tail] = index;
this.#prev[index] = this.#tail;
this.#tail = index;
this.#size++;
this.#addItemSize(index, size, status2);
if (status2)
status2.set = "add";
noUpdateTTL = false;
} else {
this.#moveToTail(index);
const oldVal = this.#valList[index];
if (v !== oldVal) {
if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
oldVal.__abortController.abort(new Error("replaced"));
const { __staleWhileFetching: s2 } = oldVal;
if (s2 !== void 0 && !noDisposeOnSet) {
if (this.#hasDispose) {
this.#dispose?.(s2, k, "set");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([s2, k, "set"]);
}
}
} else if (!noDisposeOnSet) {
if (this.#hasDispose) {
this.#dispose?.(oldVal, k, "set");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([oldVal, k, "set"]);
}
}
this.#removeItemSize(index);
this.#addItemSize(index, size, status2);
this.#valList[index] = v;
if (status2) {
status2.set = "replace";
const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
if (oldValue !== void 0)
status2.oldValue = oldValue;
}
} else if (status2) {
status2.set = "update";
}
}
if (ttl !== 0 && !this.#ttls) {
this.#initializeTTLTracking();
}
if (this.#ttls) {
if (!noUpdateTTL) {
this.#setItemTTL(index, ttl, start2);
}
if (status2)
this.#statusTTL(status2, index);
}
if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
return this;
}
/**
* Evict the least recently used item, returning its value or
* `undefined` if cache is empty.
*/
pop() {
try {
while (this.#size) {
const val = this.#valList[this.#head];
this.#evict(true);
if (this.#isBackgroundFetch(val)) {
if (val.__staleWhileFetching) {
return val.__staleWhileFetching;
}
} else if (val !== void 0) {
return val;
}
}
} finally {
if (this.#hasDisposeAfter && this.#disposed) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
}
}
#evict(free) {
const head = this.#head;
const k = this.#keyList[head];
const v = this.#valList[head];
if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
v.__abortController.abort(new Error("evicted"));
} else if (this.#hasDispose || this.#hasDisposeAfter) {
if (this.#hasDispose) {
this.#dispose?.(v, k, "evict");
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([v, k, "evict"]);
}
}
this.#removeItemSize(head);
if (free) {
this.#keyList[head] = void 0;
this.#valList[head] = void 0;
this.#free.push(head);
}
if (this.#size === 1) {
this.#head = this.#tail = 0;
this.#free.length = 0;
} else {
this.#head = this.#next[head];
}
this.#keyMap.delete(k);
this.#size--;
return head;
}
/**
* Check if a key is in the cache, without updating the recency of use.
* Will return false if the item is stale, even though it is technically
* in the cache.
*
* Check if a key is in the cache, without updating the recency of
* use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
* to `true` in either the options or the constructor.
*
* Will return `false` if the item is stale, even though it is technically in
* the cache. The difference can be determined (if it matters) by using a
* `status` argument, and inspecting the `has` field.
*
* Will not update item age unless
* {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
*/
has(k, hasOptions = {}) {
const { updateAgeOnHas = this.updateAgeOnHas, status: status2 } = hasOptions;
const index = this.#keyMap.get(k);
if (index !== void 0) {
const v = this.#valList[index];
if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
return false;
}
if (!this.#isStale(index)) {
if (updateAgeOnHas) {
this.#updateItemAge(index);
}
if (status2) {
status2.has = "hit";
this.#statusTTL(status2, index);
}
return true;
} else if (status2) {
status2.has = "stale";
this.#statusTTL(status2, index);
}
} else if (status2) {
status2.has = "miss";
}
return false;
}
/**
* Like {@link LRUCache#get} but doesn't update recency or delete stale
* items.
*
* Returns `undefined` if the item is stale, unless
* {@link LRUCache.OptionsBase.allowStale} is set.
*/
peek(k, peekOptions = {}) {
const { allowStale = this.allowStale } = peekOptions;
const index = this.#keyMap.get(k);
if (index === void 0 || !allowStale && this.#isStale(index)) {
return;
}
const v = this.#valList[index];
return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
}
#backgroundFetch(k, index, options, context2) {
const v = index === void 0 ? void 0 : this.#valList[index];
if (this.#isBackgroundFetch(v)) {
return v;
}
const ac = new AC2();
const { signal } = options;
signal?.addEventListener("abort", () => ac.abort(signal.reason), {
signal: ac.signal
});
const fetchOpts = {
signal: ac.signal,
options,
context: context2
};
const cb = (v2, updateCache = false) => {
const { aborted: aborted3 } = ac.signal;
const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
if (options.status) {
if (aborted3 && !updateCache) {
options.status.fetchAborted = true;
options.status.fetchError = ac.signal.reason;
if (ignoreAbort)
options.status.fetchAbortIgnored = true;
} else {
options.status.fetchResolved = true;
}
}
if (aborted3 && !ignoreAbort && !updateCache) {
return fetchFail(ac.signal.reason);
}
const bf2 = p;
if (this.#valList[index] === p) {
if (v2 === void 0) {
if (bf2.__staleWhileFetching) {
this.#valList[index] = bf2.__staleWhileFetching;
} else {
this.#delete(k, "fetch");
}
} else {
if (options.status)
options.status.fetchUpdated = true;
this.set(k, v2, fetchOpts.options);
}
}
return v2;
};
const eb = (er) => {
if (options.status) {
options.status.fetchRejected = true;
options.status.fetchError = er;
}
return fetchFail(er);
};
const fetchFail = (er) => {
const { aborted: aborted3 } = ac.signal;
const allowStaleAborted = aborted3 && options.allowStaleOnFetchAbort;
const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
const noDelete = allowStale || options.noDeleteOnFetchRejection;
const bf2 = p;
if (this.#valList[index] === p) {
const del = !noDelete || bf2.__staleWhileFetching === void 0;
if (del) {
this.#delete(k, "fetch");
} else if (!allowStaleAborted) {
this.#valList[index] = bf2.__staleWhileFetching;
}
}
if (allowStale) {
if (options.status && bf2.__staleWhileFetching !== void 0) {
options.status.returnedStale = true;
}
return bf2.__staleWhileFetching;
} else if (bf2.__returned === bf2) {
throw er;
}
};
const pcall = (res, rej) => {
const fmp = this.#fetchMethod?.(k, v, fetchOpts);
if (fmp && fmp instanceof Promise) {
fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
}
ac.signal.addEventListener("abort", () => {
if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
res(void 0);
if (options.allowStaleOnFetchAbort) {
res = (v2) => cb(v2, true);
}
}
});
};
if (options.status)
options.status.fetchDispatched = true;
const p = new Promise(pcall).then(cb, eb);
const bf = Object.assign(p, {
__abortController: ac,
__staleWhileFetching: v,
__returned: void 0
});
if (index === void 0) {
this.set(k, bf, { ...fetchOpts.options, status: void 0 });
index = this.#keyMap.get(k);
} else {
this.#valList[index] = bf;
}
return bf;
}
#isBackgroundFetch(p) {
if (!this.#hasFetchMethod)
return false;
const b = p;
return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC2;
}
async fetch(k, fetchOptions = {}) {
const {
// get options
allowStale = this.allowStale,
updateAgeOnGet = this.updateAgeOnGet,
noDeleteOnStaleGet = this.noDeleteOnStaleGet,
// set options
ttl = this.ttl,
noDisposeOnSet = this.noDisposeOnSet,
size = 0,
sizeCalculation = this.sizeCalculation,
noUpdateTTL = this.noUpdateTTL,
// fetch exclusive options
noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
ignoreFetchAbort = this.ignoreFetchAbort,
allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
context: context2,
forceRefresh = false,
status: status2,
signal
} = fetchOptions;
if (!this.#hasFetchMethod) {
if (status2)
status2.fetch = "get";
return this.get(k, {
allowStale,
updateAgeOnGet,
noDeleteOnStaleGet,
status: status2
});
}
const options = {
allowStale,
updateAgeOnGet,
noDeleteOnStaleGet,
ttl,
noDisposeOnSet,
size,
sizeCalculation,
noUpdateTTL,
noDeleteOnFetchRejection,
allowStaleOnFetchRejection,
allowStaleOnFetchAbort,
ignoreFetchAbort,
status: status2,
signal
};
let index = this.#keyMap.get(k);
if (index === void 0) {
if (status2)
status2.fetch = "miss";
const p = this.#backgroundFetch(k, index, options, context2);
return p.__returned = p;
} else {
const v = this.#valList[index];
if (this.#isBackgroundFetch(v)) {
const stale = allowStale && v.__staleWhileFetching !== void 0;
if (status2) {
status2.fetch = "inflight";
if (stale)
status2.returnedStale = true;
}
return stale ? v.__staleWhileFetching : v.__returned = v;
}
const isStale = this.#isStale(index);
if (!forceRefresh && !isStale) {
if (status2)
status2.fetch = "hit";
this.#moveToTail(index);
if (updateAgeOnGet) {
this.#updateItemAge(index);
}
if (status2)
this.#statusTTL(status2, index);
return v;
}
const p = this.#backgroundFetch(k, index, options, context2);
const hasStale = p.__staleWhileFetching !== void 0;
const staleVal = hasStale && allowStale;
if (status2) {
status2.fetch = isStale ? "stale" : "refresh";
if (staleVal && isStale)
status2.returnedStale = true;
}
return staleVal ? p.__staleWhileFetching : p.__returned = p;
}
}
async forceFetch(k, fetchOptions = {}) {
const v = await this.fetch(k, fetchOptions);
if (v === void 0)
throw new Error("fetch() returned undefined");
return v;
}
memo(k, memoOptions = {}) {
const memoMethod = this.#memoMethod;
if (!memoMethod) {
throw new Error("no memoMethod provided to constructor");
}
const { context: context2, forceRefresh, ...options } = memoOptions;
const v = this.get(k, options);
if (!forceRefresh && v !== void 0)
return v;
const vv = memoMethod(k, v, {
options,
context: context2
});
this.set(k, vv, options);
return vv;
}
/**
* Return a value from the cache. Will update the recency of the cache
* entry found.
*
* If the key is not found, get() will return `undefined`.
*/
get(k, getOptions = {}) {
const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status: status2 } = getOptions;
const index = this.#keyMap.get(k);
if (index !== void 0) {
const value = this.#valList[index];
const fetching = this.#isBackgroundFetch(value);
if (status2)
this.#statusTTL(status2, index);
if (this.#isStale(index)) {
if (status2)
status2.get = "stale";
if (!fetching) {
if (!noDeleteOnStaleGet) {
this.#delete(k, "expire");
}
if (status2 && allowStale)
status2.returnedStale = true;
return allowStale ? value : void 0;
} else {
if (status2 && allowStale && value.__staleWhileFetching !== void 0) {
status2.returnedStale = true;
}
return allowStale ? value.__staleWhileFetching : void 0;
}
} else {
if (status2)
status2.get = "hit";
if (fetching) {
return value.__staleWhileFetching;
}
this.#moveToTail(index);
if (updateAgeOnGet) {
this.#updateItemAge(index);
}
return value;
}
} else if (status2) {
status2.get = "miss";
}
}
#connect(p, n3) {
this.#prev[n3] = p;
this.#next[p] = n3;
}
#moveToTail(index) {
if (index !== this.#tail) {
if (index === this.#head) {
this.#head = this.#next[index];
} else {
this.#connect(this.#prev[index], this.#next[index]);
}
this.#connect(this.#tail, index);
this.#tail = index;
}
}
/**
* Deletes a key out of the cache.
*
* Returns true if the key was deleted, false otherwise.
*/
delete(k) {
return this.#delete(k, "delete");
}
#delete(k, reason) {
let deleted = false;
if (this.#size !== 0) {
const index = this.#keyMap.get(k);
if (index !== void 0) {
deleted = true;
if (this.#size === 1) {
this.#clear(reason);
} else {
this.#removeItemSize(index);
const v = this.#valList[index];
if (this.#isBackgroundFetch(v)) {
v.__abortController.abort(new Error("deleted"));
} else if (this.#hasDispose || this.#hasDisposeAfter) {
if (this.#hasDispose) {
this.#dispose?.(v, k, reason);
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([v, k, reason]);
}
}
this.#keyMap.delete(k);
this.#keyList[index] = void 0;
this.#valList[index] = void 0;
if (index === this.#tail) {
this.#tail = this.#prev[index];
} else if (index === this.#head) {
this.#head = this.#next[index];
} else {
const pi = this.#prev[index];
this.#next[pi] = this.#next[index];
const ni = this.#next[index];
this.#prev[ni] = this.#prev[index];
}
this.#size--;
this.#free.push(index);
}
}
}
if (this.#hasDisposeAfter && this.#disposed?.length) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
return deleted;
}
/**
* Clear the cache entirely, throwing away all values.
*/
clear() {
return this.#clear("delete");
}
#clear(reason) {
for (const index of this.#rindexes({ allowStale: true })) {
const v = this.#valList[index];
if (this.#isBackgroundFetch(v)) {
v.__abortController.abort(new Error("deleted"));
} else {
const k = this.#keyList[index];
if (this.#hasDispose) {
this.#dispose?.(v, k, reason);
}
if (this.#hasDisposeAfter) {
this.#disposed?.push([v, k, reason]);
}
}
}
this.#keyMap.clear();
this.#valList.fill(void 0);
this.#keyList.fill(void 0);
if (this.#ttls && this.#starts) {
this.#ttls.fill(0);
this.#starts.fill(0);
}
if (this.#sizes) {
this.#sizes.fill(0);
}
this.#head = 0;
this.#tail = 0;
this.#free.length = 0;
this.#calculatedSize = 0;
this.#size = 0;
if (this.#hasDisposeAfter && this.#disposed) {
const dt = this.#disposed;
let task;
while (task = dt?.shift()) {
this.#disposeAfter?.(...task);
}
}
}
};
exports2.LRUCache = LRUCache2;
}
});
// node_modules/hosted-git-info/lib/hosts.js
var require_hosts = __commonJS({
"node_modules/hosted-git-info/lib/hosts.js"(exports2, module2) {
"use strict";
var maybeJoin = (...args2) => args2.every((arg) => arg) ? args2.join("") : "";
var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : "";
var formatHashFragment = (f) => f.toLowerCase().replace(/^\W+|\/|\W+$/g, "").replace(/\W+/g, "-");
var defaults2 = {
sshtemplate: ({ domain: domain2, user, project, committish }) => `git@${domain2}:${user}/${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain: domain2, user, project, committish }) => `git+ssh://git@${domain2}/${user}/${project}.git${maybeJoin("#", committish)}`,
edittemplate: ({ domain: domain2, user, project, committish, editpath, path: path101 }) => `https://${domain2}/${user}/${project}${maybeJoin("/", editpath, "/", maybeEncode(committish || "HEAD"), "/", path101)}`,
browsetemplate: ({ domain: domain2, user, project, committish, treepath }) => `https://${domain2}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`,
browsetreetemplate: ({ domain: domain2, user, project, committish, treepath, path: path101, fragment, hashformat }) => `https://${domain2}/${user}/${project}/${treepath}/${maybeEncode(committish || "HEAD")}/${path101}${maybeJoin("#", hashformat(fragment || ""))}`,
browseblobtemplate: ({ domain: domain2, user, project, committish, blobpath, path: path101, fragment, hashformat }) => `https://${domain2}/${user}/${project}/${blobpath}/${maybeEncode(committish || "HEAD")}/${path101}${maybeJoin("#", hashformat(fragment || ""))}`,
docstemplate: ({ domain: domain2, user, project, treepath, committish }) => `https://${domain2}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
httpstemplate: ({ auth: auth2, domain: domain2, user, project, committish }) => `git+https://${maybeJoin(auth2, "@")}${domain2}/${user}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ domain: domain2, user, project, committish, path: path101 }) => `https://${domain2}/${user}/${project}/raw/${maybeEncode(committish || "HEAD")}/${path101}`,
shortcuttemplate: ({ type: type2, user, project, committish }) => `${type2}:${user}/${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain: domain2, user, project }) => `https://${domain2}/${user}/${project}/issues`,
hashformat: formatHashFragment
};
var hosts = {};
hosts.github = {
// First two are insecure and generally shouldn't be used any more, but
// they are still supported.
protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "github.com",
treepath: "tree",
blobpath: "blob",
editpath: "edit",
filetemplate: ({ auth: auth2, user, project, committish, path: path101 }) => `https://${maybeJoin(auth2, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish || "HEAD")}/${path101}`,
gittemplate: ({ auth: auth2, domain: domain2, user, project, committish }) => `git://${maybeJoin(auth2, "@")}${domain2}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain: domain2, user, project, committish }) => `https://codeload.${domain2}/${user}/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`,
extract: (url3) => {
let [, user, project, type2, committish] = url3.pathname.split("/", 5);
if (type2 && type2 !== "tree") {
return;
}
if (!type2) {
committish = url3.hash.slice(1);
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish };
}
};
hosts.bitbucket = {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "bitbucket.org",
treepath: "src",
blobpath: "src",
editpath: "?mode=edit",
edittemplate: ({ domain: domain2, user, project, committish, treepath, path: path101, editpath }) => `https://${domain2}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish || "HEAD"), "/", path101, editpath)}`,
tarballtemplate: ({ domain: domain2, user, project, committish }) => `https://${domain2}/${user}/${project}/get/${maybeEncode(committish || "HEAD")}.tar.gz`,
extract: (url3) => {
let [, user, project, aux] = url3.pathname.split("/", 4);
if (["get"].includes(aux)) {
return;
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish: url3.hash.slice(1) };
}
};
hosts.gitlab = {
protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gitlab.com",
treepath: "tree",
blobpath: "tree",
editpath: "-/edit",
httpstemplate: ({ auth: auth2, domain: domain2, user, project, committish }) => `git+https://${maybeJoin(auth2, "@")}${domain2}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain: domain2, user, project, committish }) => `https://${domain2}/${user}/${project}/repository/archive.tar.gz?ref=${maybeEncode(committish || "HEAD")}`,
extract: (url3) => {
const path101 = url3.pathname.slice(1);
if (path101.includes("/-/") || path101.includes("/archive.tar.gz")) {
return;
}
const segments = path101.split("/");
let project = segments.pop();
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
const user = segments.join("/");
if (!user || !project) {
return;
}
return { user, project, committish: url3.hash.slice(1) };
}
};
hosts.gist = {
protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"],
domain: "gist.github.com",
editpath: "edit",
sshtemplate: ({ domain: domain2, project, committish }) => `git@${domain2}:${project}.git${maybeJoin("#", committish)}`,
sshurltemplate: ({ domain: domain2, project, committish }) => `git+ssh://git@${domain2}/${project}.git${maybeJoin("#", committish)}`,
edittemplate: ({ domain: domain2, user, project, committish, editpath }) => `https://${domain2}/${user}/${project}${maybeJoin("/", maybeEncode(committish))}/${editpath}`,
browsetemplate: ({ domain: domain2, project, committish }) => `https://${domain2}/${project}${maybeJoin("/", maybeEncode(committish))}`,
browsetreetemplate: ({ domain: domain2, project, committish, path: path101, hashformat }) => `https://${domain2}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path101))}`,
browseblobtemplate: ({ domain: domain2, project, committish, path: path101, hashformat }) => `https://${domain2}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path101))}`,
docstemplate: ({ domain: domain2, project, committish }) => `https://${domain2}/${project}${maybeJoin("/", maybeEncode(committish))}`,
httpstemplate: ({ domain: domain2, project, committish }) => `git+https://${domain2}/${project}.git${maybeJoin("#", committish)}`,
filetemplate: ({ user, project, committish, path: path101 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path101}`,
shortcuttemplate: ({ type: type2, project, committish }) => `${type2}:${project}${maybeJoin("#", committish)}`,
pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`,
bugstemplate: ({ domain: domain2, project }) => `https://${domain2}/${project}`,
gittemplate: ({ domain: domain2, project, committish }) => `git://${domain2}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`,
extract: (url3) => {
let [, user, project, aux] = url3.pathname.split("/", 4);
if (aux === "raw") {
return;
}
if (!project) {
if (!user) {
return;
}
project = user;
user = null;
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
return { user, project, committish: url3.hash.slice(1) };
},
hashformat: function(fragment) {
return fragment && "file-" + formatHashFragment(fragment);
}
};
hosts.sourcehut = {
protocols: ["git+ssh:", "https:"],
domain: "git.sr.ht",
treepath: "tree",
blobpath: "tree",
filetemplate: ({ domain: domain2, user, project, committish, path: path101 }) => `https://${domain2}/${user}/${project}/blob/${maybeEncode(committish) || "HEAD"}/${path101}`,
httpstemplate: ({ domain: domain2, user, project, committish }) => `https://${domain2}/${user}/${project}.git${maybeJoin("#", committish)}`,
tarballtemplate: ({ domain: domain2, user, project, committish }) => `https://${domain2}/${user}/${project}/archive/${maybeEncode(committish) || "HEAD"}.tar.gz`,
bugstemplate: () => null,
extract: (url3) => {
let [, user, project, aux] = url3.pathname.split("/", 4);
if (["archive"].includes(aux)) {
return;
}
if (project && project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (!user || !project) {
return;
}
return { user, project, committish: url3.hash.slice(1) };
}
};
for (const [name3, host] of Object.entries(hosts)) {
hosts[name3] = Object.assign({}, defaults2, host);
}
module2.exports = hosts;
}
});
// node_modules/hosted-git-info/lib/parse-url.js
var require_parse_url = __commonJS({
"node_modules/hosted-git-info/lib/parse-url.js"(exports2, module2) {
var url3 = __require("url");
var lastIndexOfBefore = (str2, char, beforeChar) => {
const startPosition = str2.indexOf(beforeChar);
return str2.lastIndexOf(char, startPosition > -1 ? startPosition : Infinity);
};
var safeUrl = (u2) => {
try {
return new url3.URL(u2);
} catch {
}
};
var correctProtocol = (arg, protocols) => {
const firstColon = arg.indexOf(":");
const proto = arg.slice(0, firstColon + 1);
if (Object.prototype.hasOwnProperty.call(protocols, proto)) {
return arg;
}
const firstAt = arg.indexOf("@");
if (firstAt > -1) {
if (firstAt > firstColon) {
return `git+ssh://${arg}`;
} else {
return arg;
}
}
const doubleSlash = arg.indexOf("//");
if (doubleSlash === firstColon + 1) {
return arg;
}
return `${arg.slice(0, firstColon + 1)}//${arg.slice(firstColon + 1)}`;
};
var correctUrl = (giturl) => {
const firstAt = lastIndexOfBefore(giturl, "@", "#");
const lastColonBeforeHash = lastIndexOfBefore(giturl, ":", "#");
if (lastColonBeforeHash > firstAt) {
giturl = giturl.slice(0, lastColonBeforeHash) + "/" + giturl.slice(lastColonBeforeHash + 1);
}
if (lastIndexOfBefore(giturl, ":", "#") === -1 && giturl.indexOf("//") === -1) {
giturl = `git+ssh://${giturl}`;
}
return giturl;
};
module2.exports = (giturl, protocols) => {
const withProtocol = protocols ? correctProtocol(giturl, protocols) : giturl;
return safeUrl(withProtocol) || safeUrl(correctUrl(withProtocol));
};
}
});
// node_modules/hosted-git-info/lib/from-url.js
var require_from_url = __commonJS({
"node_modules/hosted-git-info/lib/from-url.js"(exports2, module2) {
"use strict";
var parseUrl = require_parse_url();
var isGitHubShorthand = (arg) => {
const firstHash = arg.indexOf("#");
const firstSlash = arg.indexOf("/");
const secondSlash = arg.indexOf("/", firstSlash + 1);
const firstColon = arg.indexOf(":");
const firstSpace = /\s/.exec(arg);
const firstAt = arg.indexOf("@");
const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash;
const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash;
const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash;
const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash;
const hasSlash = firstSlash > 0;
const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/");
const doesNotStartWithDot = !arg.startsWith(".");
return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash;
};
module2.exports = (giturl, opts, { gitHosts, protocols }) => {
if (!giturl) {
return;
}
const correctedUrl = isGitHubShorthand(giturl) ? `github:${giturl}` : giturl;
const parsed = parseUrl(correctedUrl, protocols);
if (!parsed) {
return;
}
const gitHostShortcut = gitHosts.byShortcut[parsed.protocol];
const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname];
const gitHostName = gitHostShortcut || gitHostDomain;
if (!gitHostName) {
return;
}
const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain];
let auth2 = null;
if (protocols[parsed.protocol]?.auth && (parsed.username || parsed.password)) {
auth2 = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`;
}
let committish = null;
let user = null;
let project = null;
let defaultRepresentation = null;
try {
if (gitHostShortcut) {
let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname;
const firstAt = pathname.indexOf("@");
if (firstAt > -1) {
pathname = pathname.slice(firstAt + 1);
}
const lastSlash = pathname.lastIndexOf("/");
if (lastSlash > -1) {
user = decodeURIComponent(pathname.slice(0, lastSlash));
if (!user) {
user = null;
}
project = decodeURIComponent(pathname.slice(lastSlash + 1));
} else {
project = decodeURIComponent(pathname);
}
if (project.endsWith(".git")) {
project = project.slice(0, -4);
}
if (parsed.hash) {
committish = decodeURIComponent(parsed.hash.slice(1));
}
defaultRepresentation = "shortcut";
} else {
if (!gitHostInfo.protocols.includes(parsed.protocol)) {
return;
}
const segments = gitHostInfo.extract(parsed);
if (!segments) {
return;
}
user = segments.user && decodeURIComponent(segments.user);
project = decodeURIComponent(segments.project);
committish = decodeURIComponent(segments.committish);
defaultRepresentation = protocols[parsed.protocol]?.name || parsed.protocol.slice(0, -1);
}
} catch (err2) {
if (err2 instanceof URIError) {
return;
} else {
throw err2;
}
}
return [gitHostName, user, auth2, project, committish, defaultRepresentation, opts];
};
}
});
// node_modules/hosted-git-info/lib/index.js
var require_lib8 = __commonJS({
"node_modules/hosted-git-info/lib/index.js"(exports2, module2) {
"use strict";
var { LRUCache: LRUCache2 } = require_commonjs2();
var hosts = require_hosts();
var fromUrl = require_from_url();
var parseUrl = require_parse_url();
var cache3 = new LRUCache2({ max: 1e3 });
var GitHost = class _GitHost {
constructor(type2, user, auth2, project, committish, defaultRepresentation, opts = {}) {
Object.assign(this, _GitHost.#gitHosts[type2], {
type: type2,
user,
auth: auth2,
project,
committish,
default: defaultRepresentation,
opts
});
}
static #gitHosts = { byShortcut: {}, byDomain: {} };
static #protocols = {
"git+ssh:": { name: "sshurl" },
"ssh:": { name: "sshurl" },
"git+https:": { name: "https", auth: true },
"git:": { auth: true },
"http:": { auth: true },
"https:": { auth: true },
"git+http:": { auth: true }
};
static addHost(name3, host) {
_GitHost.#gitHosts[name3] = host;
_GitHost.#gitHosts.byDomain[host.domain] = name3;
_GitHost.#gitHosts.byShortcut[`${name3}:`] = name3;
_GitHost.#protocols[`${name3}:`] = { name: name3 };
}
static fromUrl(giturl, opts) {
if (typeof giturl !== "string") {
return;
}
const key = giturl + JSON.stringify(opts || {});
if (!cache3.has(key)) {
const hostArgs = fromUrl(giturl, opts, {
gitHosts: _GitHost.#gitHosts,
protocols: _GitHost.#protocols
});
cache3.set(key, hostArgs ? new _GitHost(...hostArgs) : void 0);
}
return cache3.get(key);
}
static parseUrl(url3) {
return parseUrl(url3);
}
#fill(template, opts) {
if (typeof template !== "function") {
return null;
}
const options = { ...this, ...this.opts, ...opts };
if (!options.path) {
options.path = "";
}
if (options.path.startsWith("/")) {
options.path = options.path.slice(1);
}
if (options.noCommittish) {
options.committish = null;
}
const result2 = template(options);
return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2;
}
hash() {
return this.committish ? `#${this.committish}` : "";
}
ssh(opts) {
return this.#fill(this.sshtemplate, opts);
}
sshurl(opts) {
return this.#fill(this.sshurltemplate, opts);
}
browse(path101, ...args2) {
if (typeof path101 !== "string") {
return this.#fill(this.browsetemplate, path101);
}
if (typeof args2[0] !== "string") {
return this.#fill(this.browsetreetemplate, { ...args2[0], path: path101 });
}
return this.#fill(this.browsetreetemplate, { ...args2[1], fragment: args2[0], path: path101 });
}
// If the path is known to be a file, then browseFile should be used. For some hosts
// the url is the same as browse, but for others like GitHub a file can use both `/tree/`
// and `/blob/` in the path. When using a default committish of `HEAD` then the `/tree/`
// path will redirect to a specific commit. Using the `/blob/` path avoids this and
// does not redirect to a different commit.
browseFile(path101, ...args2) {
if (typeof args2[0] !== "string") {
return this.#fill(this.browseblobtemplate, { ...args2[0], path: path101 });
}
return this.#fill(this.browseblobtemplate, { ...args2[1], fragment: args2[0], path: path101 });
}
docs(opts) {
return this.#fill(this.docstemplate, opts);
}
bugs(opts) {
return this.#fill(this.bugstemplate, opts);
}
https(opts) {
return this.#fill(this.httpstemplate, opts);
}
git(opts) {
return this.#fill(this.gittemplate, opts);
}
shortcut(opts) {
return this.#fill(this.shortcuttemplate, opts);
}
path(opts) {
return this.#fill(this.pathtemplate, opts);
}
tarball(opts) {
return this.#fill(this.tarballtemplate, { ...opts, noCommittish: false });
}
file(path101, opts) {
return this.#fill(this.filetemplate, { ...opts, path: path101 });
}
edit(path101, opts) {
return this.#fill(this.edittemplate, { ...opts, path: path101 });
}
getDefaultRepresentation() {
return this.default;
}
toString(opts) {
if (this.default && typeof this[this.default] === "function") {
return this[this.default](opts);
}
return this.sshurl(opts);
}
};
for (const [name3, host] of Object.entries(hosts)) {
GitHost.addHost(name3, host);
}
module2.exports = GitHost;
}
});
// node_modules/normalize-package-data/lib/extract_description.js
var require_extract_description = __commonJS({
"node_modules/normalize-package-data/lib/extract_description.js"(exports2, module2) {
module2.exports = extractDescription;
function extractDescription(d) {
if (!d) {
return;
}
if (d === "ERROR: No README data found!") {
return;
}
d = d.trim().split("\n");
let s2 = 0;
while (d[s2] && d[s2].trim().match(/^(#|$)/)) {
s2++;
}
const l2 = d.length;
let e2 = s2 + 1;
while (e2 < l2 && d[e2].trim()) {
e2++;
}
return d.slice(s2, e2).join(" ").trim();
}
}
});
// node_modules/normalize-package-data/lib/typos.json
var require_typos = __commonJS({
"node_modules/normalize-package-data/lib/typos.json"(exports2, module2) {
module2.exports = {
topLevel: {
dependancies: "dependencies",
dependecies: "dependencies",
depdenencies: "dependencies",
devEependencies: "devDependencies",
depends: "dependencies",
"dev-dependencies": "devDependencies",
devDependences: "devDependencies",
devDepenencies: "devDependencies",
devdependencies: "devDependencies",
repostitory: "repository",
repo: "repository",
prefereGlobal: "preferGlobal",
hompage: "homepage",
hampage: "homepage",
autohr: "author",
autor: "author",
contributers: "contributors",
publicationConfig: "publishConfig",
script: "scripts"
},
bugs: { web: "url", name: "url" },
script: { server: "start", tests: "test" }
};
}
});
// node_modules/normalize-package-data/lib/fixer.js
var require_fixer = __commonJS({
"node_modules/normalize-package-data/lib/fixer.js"(exports2, module2) {
var isValidSemver = require_valid();
var cleanSemver = require_clean();
var validateLicense = require_validate_npm_package_license();
var hostedGitInfo = require_lib8();
var moduleBuiltin = __require("node:module");
var depTypes = ["dependencies", "devDependencies", "optionalDependencies"];
var extractDescription = require_extract_description();
var url3 = __require("url");
var typos = require_typos();
var isEmail = (str2) => str2.includes("@") && str2.indexOf("@") < str2.lastIndexOf(".");
module2.exports = {
// default warning function
warn: function() {
},
fixRepositoryField: function(data) {
if (data.repositories) {
this.warn("repositories");
data.repository = data.repositories[0];
}
if (!data.repository) {
return this.warn("missingRepository");
}
if (typeof data.repository === "string") {
data.repository = {
type: "git",
url: data.repository
};
}
var r2 = data.repository.url || "";
if (r2) {
var hosted = hostedGitInfo.fromUrl(r2);
if (hosted) {
r2 = data.repository.url = hosted.getDefaultRepresentation() === "shortcut" ? hosted.https() : hosted.toString();
}
}
if (r2.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)) {
this.warn("brokenGitUrl", r2);
}
},
fixTypos: function(data) {
Object.keys(typos.topLevel).forEach(function(d) {
if (Object.prototype.hasOwnProperty.call(data, d)) {
this.warn("typo", d, typos.topLevel[d]);
}
}, this);
},
fixScriptsField: function(data) {
if (!data.scripts) {
return;
}
if (typeof data.scripts !== "object") {
this.warn("nonObjectScripts");
delete data.scripts;
return;
}
Object.keys(data.scripts).forEach(function(k) {
if (typeof data.scripts[k] !== "string") {
this.warn("nonStringScript");
delete data.scripts[k];
} else if (typos.script[k] && !data.scripts[typos.script[k]]) {
this.warn("typo", k, typos.script[k], "scripts");
}
}, this);
},
fixFilesField: function(data) {
var files = data.files;
if (files && !Array.isArray(files)) {
this.warn("nonArrayFiles");
delete data.files;
} else if (data.files) {
data.files = data.files.filter(function(file2) {
if (!file2 || typeof file2 !== "string") {
this.warn("invalidFilename", file2);
return false;
} else {
return true;
}
}, this);
}
},
fixBinField: function(data) {
if (!data.bin) {
return;
}
if (typeof data.bin === "string") {
var b = {};
var match2;
if (match2 = data.name.match(/^@[^/]+[/](.*)$/)) {
b[match2[1]] = data.bin;
} else {
b[data.name] = data.bin;
}
data.bin = b;
}
},
fixManField: function(data) {
if (!data.man) {
return;
}
if (typeof data.man === "string") {
data.man = [data.man];
}
},
fixBundleDependenciesField: function(data) {
var bdd = "bundledDependencies";
var bd = "bundleDependencies";
if (data[bdd] && !data[bd]) {
data[bd] = data[bdd];
delete data[bdd];
}
if (data[bd] && !Array.isArray(data[bd])) {
this.warn("nonArrayBundleDependencies");
delete data[bd];
} else if (data[bd]) {
data[bd] = data[bd].filter(function(filtered) {
if (!filtered || typeof filtered !== "string") {
this.warn("nonStringBundleDependency", filtered);
return false;
} else {
if (!data.dependencies) {
data.dependencies = {};
}
if (!Object.prototype.hasOwnProperty.call(data.dependencies, filtered)) {
this.warn("nonDependencyBundleDependency", filtered);
data.dependencies[filtered] = "*";
}
return true;
}
}, this);
}
},
fixDependencies: function(data) {
objectifyDeps(data, this.warn);
addOptionalDepsToDeps(data, this.warn);
this.fixBundleDependenciesField(data);
["dependencies", "devDependencies"].forEach(function(deps) {
if (!(deps in data)) {
return;
}
if (!data[deps] || typeof data[deps] !== "object") {
this.warn("nonObjectDependencies", deps);
delete data[deps];
return;
}
Object.keys(data[deps]).forEach(function(d) {
var r2 = data[deps][d];
if (typeof r2 !== "string") {
this.warn("nonStringDependency", d, JSON.stringify(r2));
delete data[deps][d];
}
var hosted = hostedGitInfo.fromUrl(data[deps][d]);
if (hosted) {
data[deps][d] = hosted.toString();
}
}, this);
}, this);
},
fixModulesField: function(data) {
if (data.modules) {
this.warn("deprecatedModules");
delete data.modules;
}
},
fixKeywordsField: function(data) {
if (typeof data.keywords === "string") {
data.keywords = data.keywords.split(/,\s+/);
}
if (data.keywords && !Array.isArray(data.keywords)) {
delete data.keywords;
this.warn("nonArrayKeywords");
} else if (data.keywords) {
data.keywords = data.keywords.filter(function(kw) {
if (typeof kw !== "string" || !kw) {
this.warn("nonStringKeyword");
return false;
} else {
return true;
}
}, this);
}
},
fixVersionField: function(data, strict) {
var loose = !strict;
if (!data.version) {
data.version = "";
return true;
}
if (!isValidSemver(data.version, loose)) {
throw new Error('Invalid version: "' + data.version + '"');
}
data.version = cleanSemver(data.version, loose);
return true;
},
fixPeople: function(data) {
modifyPeople(data, unParsePerson);
modifyPeople(data, parsePerson);
},
fixNameField: function(data, options) {
if (typeof options === "boolean") {
options = { strict: options };
} else if (typeof options === "undefined") {
options = {};
}
var strict = options.strict;
if (!data.name && !strict) {
data.name = "";
return;
}
if (typeof data.name !== "string") {
throw new Error("name field must be a string.");
}
if (!strict) {
data.name = data.name.trim();
}
ensureValidName(data.name, strict, options.allowLegacyCase);
if (moduleBuiltin.builtinModules.includes(data.name)) {
this.warn("conflictingName", data.name);
}
},
fixDescriptionField: function(data) {
if (data.description && typeof data.description !== "string") {
this.warn("nonStringDescription");
delete data.description;
}
if (data.readme && !data.description) {
data.description = extractDescription(data.readme);
}
if (data.description === void 0) {
delete data.description;
}
if (!data.description) {
this.warn("missingDescription");
}
},
fixReadmeField: function(data) {
if (!data.readme) {
this.warn("missingReadme");
data.readme = "ERROR: No README data found!";
}
},
fixBugsField: function(data) {
if (!data.bugs && data.repository && data.repository.url) {
var hosted = hostedGitInfo.fromUrl(data.repository.url);
if (hosted && hosted.bugs()) {
data.bugs = { url: hosted.bugs() };
}
} else if (data.bugs) {
if (typeof data.bugs === "string") {
if (isEmail(data.bugs)) {
data.bugs = { email: data.bugs };
} else if (url3.parse(data.bugs).protocol) {
data.bugs = { url: data.bugs };
} else {
this.warn("nonEmailUrlBugsString");
}
} else {
bugsTypos(data.bugs, this.warn);
var oldBugs = data.bugs;
data.bugs = {};
if (oldBugs.url) {
if (typeof oldBugs.url === "string" && url3.parse(oldBugs.url).protocol) {
data.bugs.url = oldBugs.url;
} else {
this.warn("nonUrlBugsUrlField");
}
}
if (oldBugs.email) {
if (typeof oldBugs.email === "string" && isEmail(oldBugs.email)) {
data.bugs.email = oldBugs.email;
} else {
this.warn("nonEmailBugsEmailField");
}
}
}
if (!data.bugs.email && !data.bugs.url) {
delete data.bugs;
this.warn("emptyNormalizedBugs");
}
}
},
fixHomepageField: function(data) {
if (!data.homepage && data.repository && data.repository.url) {
var hosted = hostedGitInfo.fromUrl(data.repository.url);
if (hosted && hosted.docs()) {
data.homepage = hosted.docs();
}
}
if (!data.homepage) {
return;
}
if (typeof data.homepage !== "string") {
this.warn("nonUrlHomepage");
return delete data.homepage;
}
if (!url3.parse(data.homepage).protocol) {
data.homepage = "http://" + data.homepage;
}
},
fixLicenseField: function(data) {
const license = data.license || data.licence;
if (!license) {
return this.warn("missingLicense");
}
if (typeof license !== "string" || license.length < 1 || license.trim() === "") {
return this.warn("invalidLicense");
}
if (!validateLicense(license).validForNewPackages) {
return this.warn("invalidLicense");
}
}
};
function isValidScopedPackageName(spec) {
if (spec.charAt(0) !== "@") {
return false;
}
var rest = spec.slice(1).split("/");
if (rest.length !== 2) {
return false;
}
return rest[0] && rest[1] && rest[0] === encodeURIComponent(rest[0]) && rest[1] === encodeURIComponent(rest[1]);
}
function isCorrectlyEncodedName(spec) {
return !spec.match(/[/@\s+%:]/) && spec === encodeURIComponent(spec);
}
function ensureValidName(name3, strict, allowLegacyCase) {
if (name3.charAt(0) === "." || !(isValidScopedPackageName(name3) || isCorrectlyEncodedName(name3)) || strict && !allowLegacyCase && name3 !== name3.toLowerCase() || name3.toLowerCase() === "node_modules" || name3.toLowerCase() === "favicon.ico") {
throw new Error("Invalid name: " + JSON.stringify(name3));
}
}
function modifyPeople(data, fn) {
if (data.author) {
data.author = fn(data.author);
}
["maintainers", "contributors"].forEach(function(set3) {
if (!Array.isArray(data[set3])) {
return;
}
data[set3] = data[set3].map(fn);
});
return data;
}
function unParsePerson(person) {
if (typeof person === "string") {
return person;
}
var name3 = person.name || "";
var u2 = person.url || person.web;
var wrappedUrl = u2 ? " (" + u2 + ")" : "";
var e2 = person.email || person.mail;
var wrappedEmail = e2 ? " <" + e2 + ">" : "";
return name3 + wrappedEmail + wrappedUrl;
}
function parsePerson(person) {
if (typeof person !== "string") {
return person;
}
var matchedName = person.match(/^([^(<]+)/);
var matchedUrl = person.match(/\(([^()]+)\)/);
var matchedEmail = person.match(/<([^<>]+)>/);
var obj = {};
if (matchedName && matchedName[0].trim()) {
obj.name = matchedName[0].trim();
}
if (matchedEmail) {
obj.email = matchedEmail[1];
}
if (matchedUrl) {
obj.url = matchedUrl[1];
}
return obj;
}
function addOptionalDepsToDeps(data) {
var o3 = data.optionalDependencies;
if (!o3) {
return;
}
var d = data.dependencies || {};
Object.keys(o3).forEach(function(k) {
d[k] = o3[k];
});
data.dependencies = d;
}
function depObjectify(deps, type2, warn) {
if (!deps) {
return {};
}
if (typeof deps === "string") {
deps = deps.trim().split(/[\n\r\s\t ,]+/);
}
if (!Array.isArray(deps)) {
return deps;
}
warn("deprecatedArrayDependencies", type2);
var o3 = {};
deps.filter(function(d) {
return typeof d === "string";
}).forEach(function(d) {
d = d.trim().split(/(:?[@\s><=])/);
var dn = d.shift();
var dv = d.join("");
dv = dv.trim();
dv = dv.replace(/^@/, "");
o3[dn] = dv;
});
return o3;
}
function objectifyDeps(data, warn) {
depTypes.forEach(function(type2) {
if (!data[type2]) {
return;
}
data[type2] = depObjectify(data[type2], type2, warn);
});
}
function bugsTypos(bugs, warn) {
if (!bugs) {
return;
}
Object.keys(bugs).forEach(function(k) {
if (typos.bugs[k]) {
warn("typo", k, typos.bugs[k], "bugs");
bugs[typos.bugs[k]] = bugs[k];
delete bugs[k];
}
});
}
}
});
// node_modules/normalize-package-data/lib/warning_messages.json
var require_warning_messages = __commonJS({
"node_modules/normalize-package-data/lib/warning_messages.json"(exports2, module2) {
module2.exports = {
repositories: "'repositories' (plural) Not supported. Please pick one as the 'repository' field",
missingRepository: "No repository field.",
brokenGitUrl: "Probably broken git url: %s",
nonObjectScripts: "scripts must be an object",
nonStringScript: "script values must be string commands",
nonArrayFiles: "Invalid 'files' member",
invalidFilename: "Invalid filename in 'files' list: %s",
nonArrayBundleDependencies: "Invalid 'bundleDependencies' list. Must be array of package names",
nonStringBundleDependency: "Invalid bundleDependencies member: %s",
nonDependencyBundleDependency: "Non-dependency in bundleDependencies: %s",
nonObjectDependencies: "%s field must be an object",
nonStringDependency: "Invalid dependency: %s %s",
deprecatedArrayDependencies: "specifying %s as array is deprecated",
deprecatedModules: "modules field is deprecated",
nonArrayKeywords: "keywords should be an array of strings",
nonStringKeyword: "keywords should be an array of strings",
conflictingName: "%s is also the name of a node core module.",
nonStringDescription: "'description' field should be a string",
missingDescription: "No description",
missingReadme: "No README data",
missingLicense: "No license field.",
nonEmailUrlBugsString: "Bug string field must be url, email, or {email,url}",
nonUrlBugsUrlField: "bugs.url field must be a string url. Deleted.",
nonEmailBugsEmailField: "bugs.email field must be a string email. Deleted.",
emptyNormalizedBugs: "Normalized value of bugs field is an empty object. Deleted.",
nonUrlHomepage: "homepage field must be a string url. Deleted.",
invalidLicense: "license should be a valid SPDX license expression",
typo: "%s should probably be %s."
};
}
});
// node_modules/normalize-package-data/lib/make_warning.js
var require_make_warning = __commonJS({
"node_modules/normalize-package-data/lib/make_warning.js"(exports2, module2) {
var util2 = __require("util");
var messages = require_warning_messages();
module2.exports = function() {
var args2 = Array.prototype.slice.call(arguments, 0);
var warningName = args2.shift();
if (warningName === "typo") {
return makeTypoWarning.apply(null, args2);
} else {
var msgTemplate = messages[warningName] ? messages[warningName] : warningName + ": '%s'";
args2.unshift(msgTemplate);
return util2.format.apply(null, args2);
}
};
function makeTypoWarning(providedName, probableName, field) {
if (field) {
providedName = field + "['" + providedName + "']";
probableName = field + "['" + probableName + "']";
}
return util2.format(messages.typo, providedName, probableName);
}
}
});
// node_modules/normalize-package-data/lib/normalize.js
var require_normalize2 = __commonJS({
"node_modules/normalize-package-data/lib/normalize.js"(exports2, module2) {
module2.exports = normalize5;
var fixer = require_fixer();
normalize5.fixer = fixer;
var makeWarning = require_make_warning();
var fieldsToFix = [
"name",
"version",
"description",
"repository",
"modules",
"scripts",
"files",
"bin",
"man",
"bugs",
"keywords",
"readme",
"homepage",
"license"
];
var otherThingsToFix = ["dependencies", "people", "typos"];
var thingsToFix = fieldsToFix.map(function(fieldName) {
return ucFirst(fieldName) + "Field";
});
thingsToFix = thingsToFix.concat(otherThingsToFix);
function normalize5(data, warn, strict) {
if (warn === true) {
warn = null;
strict = true;
}
if (!strict) {
strict = false;
}
if (!warn || data.private) {
warn = function() {
};
}
if (data.scripts && data.scripts.install === "node-gyp rebuild" && !data.scripts.preinstall) {
data.gypfile = true;
}
fixer.warn = function() {
warn(makeWarning.apply(null, arguments));
};
thingsToFix.forEach(function(thingName) {
fixer["fix" + ucFirst(thingName)](data, strict);
});
data._id = data.name + "@" + data.version;
}
function ucFirst(string4) {
return string4.charAt(0).toUpperCase() + string4.slice(1);
}
}
});
// node_modules/fast-levenshtein/levenshtein.js
var require_levenshtein = __commonJS({
"node_modules/fast-levenshtein/levenshtein.js"(exports2, module2) {
(function() {
"use strict";
var collator;
try {
collator = typeof Intl !== "undefined" && typeof Intl.Collator !== "undefined" ? Intl.Collator("generic", { sensitivity: "base" }) : null;
} catch (err2) {
console.log("Collator could not be initialized and wouldn't be used");
}
var prevRow = [], str2Char = [];
var Levenshtein = {
/**
* Calculate levenshtein distance of the two strings.
*
* @param str1 String the first string.
* @param str2 String the second string.
* @param [options] Additional options.
* @param [options.useCollator] Use `Intl.Collator` for locale-sensitive string comparison.
* @return Integer the levenshtein distance (0 and above).
*/
get: function(str1, str2, options) {
var useCollator = options && collator && options.useCollator;
var str1Len = str1.length, str2Len = str2.length;
if (str1Len === 0) return str2Len;
if (str2Len === 0) return str1Len;
var curCol, nextCol, i3, j, tmp;
for (i3 = 0; i3 < str2Len; ++i3) {
prevRow[i3] = i3;
str2Char[i3] = str2.charCodeAt(i3);
}
prevRow[str2Len] = str2Len;
var strCmp;
if (useCollator) {
for (i3 = 0; i3 < str1Len; ++i3) {
nextCol = i3 + 1;
for (j = 0; j < str2Len; ++j) {
curCol = nextCol;
strCmp = 0 === collator.compare(str1.charAt(i3), String.fromCharCode(str2Char[j]));
nextCol = prevRow[j] + (strCmp ? 0 : 1);
tmp = curCol + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
tmp = prevRow[j + 1] + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
prevRow[j] = curCol;
}
prevRow[j] = nextCol;
}
} else {
for (i3 = 0; i3 < str1Len; ++i3) {
nextCol = i3 + 1;
for (j = 0; j < str2Len; ++j) {
curCol = nextCol;
strCmp = str1.charCodeAt(i3) === str2Char[j];
nextCol = prevRow[j] + (strCmp ? 0 : 1);
tmp = curCol + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
tmp = prevRow[j + 1] + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
prevRow[j] = curCol;
}
prevRow[j] = nextCol;
}
}
return nextCol;
}
};
if (typeof define !== "undefined" && define !== null && define.amd) {
define(function() {
return Levenshtein;
});
} else if (typeof module2 !== "undefined" && module2 !== null && typeof exports2 !== "undefined" && module2.exports === exports2) {
module2.exports = Levenshtein;
} else if (typeof self !== "undefined" && typeof self.postMessage === "function" && typeof self.importScripts === "function") {
self.Levenshtein = Levenshtein;
} else if (typeof window !== "undefined" && window !== null) {
window.Levenshtein = Levenshtein;
}
})();
}
});
// packages/core/node_modules/ignore/index.js
var require_ignore = __commonJS({
"packages/core/node_modules/ignore/index.js"(exports2, module2) {
function makeArray(subject) {
return Array.isArray(subject) ? subject : [subject];
}
var UNDEFINED = void 0;
var EMPTY = "";
var SPACE = " ";
var ESCAPE = "\\";
var REGEX_TEST_BLANK_LINE = /^\s+$/;
var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
var REGEX_SPLITALL_CRLF = /\r?\n/g;
var REGEX_TEST_INVALID_PATH = /^\.{0,2}\/|^\.{1,2}$/;
var REGEX_TEST_TRAILING_SLASH = /\/$/;
var SLASH2 = "/";
var TMP_KEY_IGNORE = "node-ignore";
if (typeof Symbol !== "undefined") {
TMP_KEY_IGNORE = Symbol.for("node-ignore");
}
var KEY_IGNORE = TMP_KEY_IGNORE;
var define2 = (object3, key, value) => {
Object.defineProperty(object3, key, { value });
return value;
};
var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
var RETURN_FALSE = () => false;
var sanitizeRange = (range2) => range2.replace(
REGEX_REGEXP_RANGE,
(match2, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match2 : EMPTY
);
var cleanRangeBackSlash = (slashes) => {
const { length } = slashes;
return slashes.slice(0, length - length % 2);
};
var REPLACERS = [
[
// Remove BOM
// TODO:
// Other similar zero-width characters?
/^\uFEFF/,
() => EMPTY
],
// > Trailing spaces are ignored unless they are quoted with backslash ("\")
[
// (a\ ) -> (a )
// (a ) -> (a)
// (a ) -> (a)
// (a \ ) -> (a )
/((?:\\\\)*?)(\\?\s+)$/,
(_, m1, m2) => m1 + (m2.indexOf("\\") === 0 ? SPACE : EMPTY)
],
// Replace (\ ) with ' '
// (\ ) -> ' '
// (\\ ) -> '\\ '
// (\\\ ) -> '\\ '
[
/(\\+?)\s/g,
(_, m1) => {
const { length } = m1;
return m1.slice(0, length - length % 2) + SPACE;
}
],
// Escape metacharacters
// which is written down by users but means special for regular expressions.
// > There are 12 characters with special meanings:
// > - the backslash \,
// > - the caret ^,
// > - the dollar sign $,
// > - the period or dot .,
// > - the vertical bar or pipe symbol |,
// > - the question mark ?,
// > - the asterisk or star *,
// > - the plus sign +,
// > - the opening parenthesis (,
// > - the closing parenthesis ),
// > - and the opening square bracket [,
// > - the opening curly brace {,
// > These special characters are often called "metacharacters".
[
/[\\$.|*+(){^]/g,
(match2) => `\\${match2}`
],
[
// > a question mark (?) matches a single character
/(?!\\)\?/g,
() => "[^/]"
],
// leading slash
[
// > A leading slash matches the beginning of the pathname.
// > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
// A leading slash matches the beginning of the pathname
/^\//,
() => "^"
],
// replace special metacharacter slash after the leading slash
[
/\//g,
() => "\\/"
],
[
// > A leading "**" followed by a slash means match in all directories.
// > For example, "**/foo" matches file or directory "foo" anywhere,
// > the same as pattern "foo".
// > "**/foo/bar" matches file or directory "bar" anywhere that is directly
// > under directory "foo".
// Notice that the '*'s have been replaced as '\\*'
/^\^*\\\*\\\*\\\//,
// '**/foo' <-> 'foo'
() => "^(?:.*\\/)?"
],
// starting
[
// there will be no leading '/'
// (which has been replaced by section "leading slash")
// If starts with '**', adding a '^' to the regular expression also works
/^(?=[^^])/,
function startingReplacer() {
return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^";
}
],
// two globstars
[
// Use lookahead assertions so that we could match more than one `'/**'`
/\\\/\\\*\\\*(?=\\\/|$)/g,
// Zero, one or several directories
// should not use '*', or it will be replaced by the next replacer
// Check if it is not the last `'/**'`
(_, index, str2) => index + 6 < str2.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
],
// normal intermediate wildcards
[
// Never replace escaped '*'
// ignore rule '\*' will match the path '*'
// 'abc.*/' -> go
// 'abc.*' -> skip this rule,
// coz trailing single wildcard will be handed by [trailing wildcard]
/(^|[^\\]+)(\\\*)+(?=.+)/g,
// '*.js' matches '.js'
// '*.js' doesn't match 'abc'
(_, p1, p2) => {
const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
return p1 + unescaped;
}
],
[
// unescape, revert step 3 except for back slash
// For example, if a user escape a '\\*',
// after step 3, the result will be '\\\\\\*'
/\\\\\\(?=[$.|*+(){^])/g,
() => ESCAPE
],
[
// '\\\\' -> '\\'
/\\\\/g,
() => ESCAPE
],
[
// > The range notation, e.g. [a-zA-Z],
// > can be used to match one of the characters in a range.
// `\` is escaped by step 3
/(\\)?\[([^\]/]*?)(\\*)($|\])/g,
(match2, leadEscape, range2, endEscape, close) => leadEscape === ESCAPE ? `\\[${range2}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range2)}${endEscape}]` : "[]" : "[]"
],
// ending
[
// 'js' will not match 'js.'
// 'ab' will not match 'abc'
/(?:[^*])$/,
// WTF!
// https://git-scm.com/docs/gitignore
// changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
// which re-fixes #24, #38
// > If there is a separator at the end of the pattern then the pattern
// > will only match directories, otherwise the pattern can match both
// > files and directories.
// 'js*' will not match 'a.js'
// 'js/' will not match 'a.js'
// 'js' will match 'a.js' and 'a.js/'
(match2) => /\/$/.test(match2) ? `${match2}$` : `${match2}(?=$|\\/$)`
]
];
var REGEX_REPLACE_TRAILING_WILDCARD = /(^|\\\/)?\\\*$/;
var MODE_IGNORE = "regex";
var MODE_CHECK_IGNORE = "checkRegex";
var UNDERSCORE = "_";
var TRAILING_WILD_CARD_REPLACERS = {
[MODE_IGNORE](_, p1) {
const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
return `${prefix}(?=$|\\/$)`;
},
[MODE_CHECK_IGNORE](_, p1) {
const prefix = p1 ? `${p1}[^/]*` : "[^/]*";
return `${prefix}(?=$|\\/$)`;
}
};
var makeRegexPrefix = (pattern) => REPLACERS.reduce(
(prev, [matcher, replacer]) => prev.replace(matcher, replacer.bind(pattern)),
pattern
);
var isString2 = (subject) => typeof subject === "string";
var checkPattern = (pattern) => pattern && isString2(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0;
var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF).filter(Boolean);
var IgnoreRule = class {
constructor(pattern, mark, body2, ignoreCase, negative, prefix) {
this.pattern = pattern;
this.mark = mark;
this.negative = negative;
define2(this, "body", body2);
define2(this, "ignoreCase", ignoreCase);
define2(this, "regexPrefix", prefix);
}
get regex() {
const key = UNDERSCORE + MODE_IGNORE;
if (this[key]) {
return this[key];
}
return this._make(MODE_IGNORE, key);
}
get checkRegex() {
const key = UNDERSCORE + MODE_CHECK_IGNORE;
if (this[key]) {
return this[key];
}
return this._make(MODE_CHECK_IGNORE, key);
}
_make(mode, key) {
const str2 = this.regexPrefix.replace(
REGEX_REPLACE_TRAILING_WILDCARD,
// It does not need to bind pattern
TRAILING_WILD_CARD_REPLACERS[mode]
);
const regex2 = this.ignoreCase ? new RegExp(str2, "i") : new RegExp(str2);
return define2(this, key, regex2);
}
};
var createRule = ({
pattern,
mark
}, ignoreCase) => {
let negative = false;
let body2 = pattern;
if (body2.indexOf("!") === 0) {
negative = true;
body2 = body2.substr(1);
}
body2 = body2.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
const regexPrefix = makeRegexPrefix(body2);
return new IgnoreRule(
pattern,
mark,
body2,
ignoreCase,
negative,
regexPrefix
);
};
var RuleManager = class {
constructor(ignoreCase) {
this._ignoreCase = ignoreCase;
this._rules = [];
}
_add(pattern) {
if (pattern && pattern[KEY_IGNORE]) {
this._rules = this._rules.concat(pattern._rules._rules);
this._added = true;
return;
}
if (isString2(pattern)) {
pattern = {
pattern
};
}
if (checkPattern(pattern.pattern)) {
const rule = createRule(pattern, this._ignoreCase);
this._added = true;
this._rules.push(rule);
}
}
// @param {Array<string> | string | Ignore} pattern
add(pattern) {
this._added = false;
makeArray(
isString2(pattern) ? splitPattern(pattern) : pattern
).forEach(this._add, this);
return this._added;
}
// Test one single path without recursively checking parent directories
//
// - checkUnignored `boolean` whether should check if the path is unignored,
// setting `checkUnignored` to `false` could reduce additional
// path matching.
// - check `string` either `MODE_IGNORE` or `MODE_CHECK_IGNORE`
// @returns {TestResult} true if a file is ignored
test(path101, checkUnignored, mode) {
let ignored = false;
let unignored = false;
let matchedRule;
this._rules.forEach((rule) => {
const { negative } = rule;
if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
return;
}
const matched = rule[mode].test(path101);
if (!matched) {
return;
}
ignored = !negative;
unignored = negative;
matchedRule = negative ? UNDEFINED : rule;
});
const ret = {
ignored,
unignored
};
if (matchedRule) {
ret.rule = matchedRule;
}
return ret;
}
};
var throwError2 = (message, Ctor) => {
throw new Ctor(message);
};
var checkPath = (path101, originalPath, doThrow) => {
if (!isString2(path101)) {
return doThrow(
`path must be a string, but got \`${originalPath}\``,
TypeError
);
}
if (!path101) {
return doThrow(`path must not be empty`, TypeError);
}
if (checkPath.isNotRelative(path101)) {
const r2 = "`path.relative()`d";
return doThrow(
`path should be a ${r2} string, but got "${originalPath}"`,
RangeError
);
}
return true;
};
var isNotRelative = (path101) => REGEX_TEST_INVALID_PATH.test(path101);
checkPath.isNotRelative = isNotRelative;
checkPath.convert = (p) => p;
var Ignore3 = class {
constructor({
ignorecase = true,
ignoreCase = ignorecase,
allowRelativePaths = false
} = {}) {
define2(this, KEY_IGNORE, true);
this._rules = new RuleManager(ignoreCase);
this._strictPathCheck = !allowRelativePaths;
this._initCache();
}
_initCache() {
this._ignoreCache = /* @__PURE__ */ Object.create(null);
this._testCache = /* @__PURE__ */ Object.create(null);
}
add(pattern) {
if (this._rules.add(pattern)) {
this._initCache();
}
return this;
}
// legacy
addPattern(pattern) {
return this.add(pattern);
}
// @returns {TestResult}
_test(originalPath, cache3, checkUnignored, slices) {
const path101 = originalPath && checkPath.convert(originalPath);
checkPath(
path101,
originalPath,
this._strictPathCheck ? throwError2 : RETURN_FALSE
);
return this._t(path101, cache3, checkUnignored, slices);
}
checkIgnore(path101) {
if (!REGEX_TEST_TRAILING_SLASH.test(path101)) {
return this.test(path101);
}
const slices = path101.split(SLASH2).filter(Boolean);
slices.pop();
if (slices.length) {
const parent = this._t(
slices.join(SLASH2) + SLASH2,
this._testCache,
true,
slices
);
if (parent.ignored) {
return parent;
}
}
return this._rules.test(path101, false, MODE_CHECK_IGNORE);
}
_t(path101, cache3, checkUnignored, slices) {
if (path101 in cache3) {
return cache3[path101];
}
if (!slices) {
slices = path101.split(SLASH2).filter(Boolean);
}
slices.pop();
if (!slices.length) {
return cache3[path101] = this._rules.test(path101, checkUnignored, MODE_IGNORE);
}
const parent = this._t(
slices.join(SLASH2) + SLASH2,
cache3,
checkUnignored,
slices
);
return cache3[path101] = parent.ignored ? parent : this._rules.test(path101, checkUnignored, MODE_IGNORE);
}
ignores(path101) {
return this._test(path101, this._ignoreCache, false).ignored;
}
createFilter() {
return (path101) => !this.ignores(path101);
}
filter(paths) {
return makeArray(paths).filter(this.createFilter());
}
// @returns {TestResult}
test(path101) {
return this._test(path101, this._testCache, true);
}
};
var factory = (options) => new Ignore3(options);
var isPathValid = (path101) => checkPath(path101 && checkPath.convert(path101), path101, RETURN_FALSE);
var setupWindows = () => {
const makePosix = (str2) => /^\\\\\?\\/.test(str2) || /["<>|\u0000-\u001F]+/u.test(str2) ? str2 : str2.replace(/\\/g, "/");
checkPath.convert = makePosix;
const REGEX_TEST_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
checkPath.isNotRelative = (path101) => REGEX_TEST_WINDOWS_PATH_ABSOLUTE.test(path101) || isNotRelative(path101);
};
if (
// Detect `process` so that it can run in browsers.
typeof process !== "undefined" && process.platform === "win32"
) {
setupWindows();
}
module2.exports = factory;
factory.default = factory;
module2.exports.isPathValid = isPathValid;
define2(module2.exports, Symbol.for("setupWindows"), setupWindows);
}
});
// node_modules/chardet/lib/fs/node.js
var require_node14 = __commonJS({
"node_modules/chardet/lib/fs/node.js"(exports2, module2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var fsModule;
exports2.default = () => {
if (typeof module2 === "object" && typeof module2.exports === "object") {
fsModule = fsModule ? fsModule : __require("fs");
return fsModule;
}
throw new Error("File system is not available");
};
}
});
// node_modules/chardet/lib/match.js
var require_match = __commonJS({
"node_modules/chardet/lib/match.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.default = (ctx, rec, confidence) => ({
confidence,
name: rec.name(ctx),
lang: rec.language ? rec.language() : void 0
});
}
});
// node_modules/chardet/lib/encoding/ascii.js
var require_ascii2 = __commonJS({
"node_modules/chardet/lib/encoding/ascii.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var match_1 = __importDefault(require_match());
var Ascii = class {
name() {
return "ASCII";
}
match(det) {
const input = det.rawInput;
for (let i3 = 0; i3 < det.rawLen; i3++) {
const b = input[i3];
if (b < 32 || b > 126) {
return (0, match_1.default)(det, this, 0);
}
}
return (0, match_1.default)(det, this, 100);
}
};
exports2.default = Ascii;
}
});
// node_modules/chardet/lib/encoding/utf8.js
var require_utf82 = __commonJS({
"node_modules/chardet/lib/encoding/utf8.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var match_1 = __importDefault(require_match());
var Utf8 = class {
name() {
return "UTF-8";
}
match(det) {
let hasBOM = false, numValid = 0, numInvalid = 0, trailBytes = 0, confidence;
const input = det.rawInput;
if (det.rawLen >= 3 && (input[0] & 255) == 239 && (input[1] & 255) == 187 && (input[2] & 255) == 191) {
hasBOM = true;
}
for (let i3 = 0; i3 < det.rawLen; i3++) {
const b = input[i3];
if ((b & 128) == 0)
continue;
if ((b & 224) == 192) {
trailBytes = 1;
} else if ((b & 240) == 224) {
trailBytes = 2;
} else if ((b & 248) == 240) {
trailBytes = 3;
} else {
numInvalid++;
if (numInvalid > 5)
break;
trailBytes = 0;
}
for (; ; ) {
i3++;
if (i3 >= det.rawLen)
break;
if ((input[i3] & 192) != 128) {
numInvalid++;
break;
}
if (--trailBytes == 0) {
numValid++;
break;
}
}
}
confidence = 0;
if (hasBOM && numInvalid == 0)
confidence = 100;
else if (hasBOM && numValid > numInvalid * 10)
confidence = 80;
else if (numValid > 3 && numInvalid == 0)
confidence = 100;
else if (numValid > 0 && numInvalid == 0)
confidence = 80;
else if (numValid == 0 && numInvalid == 0)
confidence = 10;
else if (numValid > numInvalid * 10)
confidence = 25;
else
return null;
return (0, match_1.default)(det, this, confidence);
}
};
exports2.default = Utf8;
}
});
// node_modules/chardet/lib/encoding/unicode.js
var require_unicode = __commonJS({
"node_modules/chardet/lib/encoding/unicode.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.UTF_32LE = exports2.UTF_32BE = exports2.UTF_16LE = exports2.UTF_16BE = void 0;
var match_1 = __importDefault(require_match());
var UTF_16BE = class {
name() {
return "UTF-16BE";
}
match(det) {
const input = det.rawInput;
if (input.length >= 2 && (input[0] & 255) == 254 && (input[1] & 255) == 255) {
return (0, match_1.default)(det, this, 100);
}
return null;
}
};
exports2.UTF_16BE = UTF_16BE;
var UTF_16LE = class {
name() {
return "UTF-16LE";
}
match(det) {
const input = det.rawInput;
if (input.length >= 2 && (input[0] & 255) == 255 && (input[1] & 255) == 254) {
if (input.length >= 4 && input[2] == 0 && input[3] == 0) {
return null;
}
return (0, match_1.default)(det, this, 100);
}
return null;
}
};
exports2.UTF_16LE = UTF_16LE;
var UTF_32 = class {
name() {
return "UTF-32";
}
getChar(_input, _index) {
return -1;
}
match(det) {
let numValid = 0, numInvalid = 0, hasBOM = false, confidence = 0;
const limit = det.rawLen / 4 * 4;
const input = det.rawInput;
if (limit == 0) {
return null;
}
if (this.getChar(input, 0) == 65279) {
hasBOM = true;
}
for (let i3 = 0; i3 < limit; i3 += 4) {
const ch = this.getChar(input, i3);
if (ch < 0 || ch >= 1114111 || ch >= 55296 && ch <= 57343) {
numInvalid += 1;
} else {
numValid += 1;
}
}
if (hasBOM && numInvalid == 0) {
confidence = 100;
} else if (hasBOM && numValid > numInvalid * 10) {
confidence = 80;
} else if (numValid > 3 && numInvalid == 0) {
confidence = 100;
} else if (numValid > 0 && numInvalid == 0) {
confidence = 80;
} else if (numValid > numInvalid * 10) {
confidence = 25;
}
return confidence == 0 ? null : (0, match_1.default)(det, this, confidence);
}
};
var UTF_32BE = class extends UTF_32 {
name() {
return "UTF-32BE";
}
getChar(input, index) {
return (input[index + 0] & 255) << 24 | (input[index + 1] & 255) << 16 | (input[index + 2] & 255) << 8 | input[index + 3] & 255;
}
};
exports2.UTF_32BE = UTF_32BE;
var UTF_32LE = class extends UTF_32 {
name() {
return "UTF-32LE";
}
getChar(input, index) {
return (input[index + 3] & 255) << 24 | (input[index + 2] & 255) << 16 | (input[index + 1] & 255) << 8 | input[index + 0] & 255;
}
};
exports2.UTF_32LE = UTF_32LE;
}
});
// node_modules/chardet/lib/encoding/mbcs.js
var require_mbcs = __commonJS({
"node_modules/chardet/lib/encoding/mbcs.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.gb_18030 = exports2.euc_kr = exports2.euc_jp = exports2.big5 = exports2.sjis = void 0;
var match_1 = __importDefault(require_match());
function binarySearch(arr, searchValue) {
const find = (arr2, searchValue2, left2, right2) => {
if (right2 < left2)
return -1;
const mid = Math.floor(left2 + right2 >>> 1);
if (searchValue2 > arr2[mid])
return find(arr2, searchValue2, mid + 1, right2);
if (searchValue2 < arr2[mid])
return find(arr2, searchValue2, left2, mid - 1);
return mid;
};
return find(arr, searchValue, 0, arr.length - 1);
}
var IteratedChar = class {
constructor() {
this.charValue = 0;
this.index = 0;
this.nextIndex = 0;
this.error = false;
this.done = false;
}
reset() {
this.charValue = 0;
this.index = -1;
this.nextIndex = 0;
this.error = false;
this.done = false;
}
nextByte(det) {
if (this.nextIndex >= det.rawLen) {
this.done = true;
return -1;
}
const byteValue = det.rawInput[this.nextIndex++] & 255;
return byteValue;
}
};
var mbcs = class {
constructor() {
this.commonChars = [];
}
name() {
return "mbcs";
}
match(det) {
let doubleByteCharCount = 0, commonCharCount = 0, badCharCount = 0, totalCharCount = 0, confidence = 0;
const iter = new IteratedChar();
detectBlock: {
for (iter.reset(); this.nextChar(iter, det); ) {
totalCharCount++;
if (iter.error) {
badCharCount++;
} else {
const cv = iter.charValue & 4294967295;
if (cv > 255) {
doubleByteCharCount++;
if (this.commonChars != null) {
if (binarySearch(this.commonChars, cv) >= 0) {
commonCharCount++;
}
}
}
}
if (badCharCount >= 2 && badCharCount * 5 >= doubleByteCharCount) {
break detectBlock;
}
}
if (doubleByteCharCount <= 10 && badCharCount == 0) {
if (doubleByteCharCount == 0 && totalCharCount < 10) {
confidence = 0;
} else {
confidence = 10;
}
break detectBlock;
}
if (doubleByteCharCount < 20 * badCharCount) {
confidence = 0;
break detectBlock;
}
if (this.commonChars == null) {
confidence = 30 + doubleByteCharCount - 20 * badCharCount;
if (confidence > 100) {
confidence = 100;
}
} else {
const maxVal = Math.log(doubleByteCharCount / 4);
const scaleFactor = 90 / maxVal;
confidence = Math.floor(Math.log(commonCharCount + 1) * scaleFactor + 10);
confidence = Math.min(confidence, 100);
}
}
return confidence == 0 ? null : (0, match_1.default)(det, this, confidence);
}
nextChar(_iter, _det) {
return true;
}
};
var sjis = class extends mbcs {
constructor() {
super(...arguments);
this.commonChars = [
33088,
33089,
33090,
33093,
33115,
33129,
33130,
33141,
33142,
33440,
33442,
33444,
33449,
33450,
33451,
33453,
33455,
33457,
33459,
33461,
33463,
33469,
33470,
33473,
33476,
33477,
33478,
33480,
33481,
33484,
33485,
33500,
33504,
33511,
33512,
33513,
33514,
33520,
33521,
33601,
33603,
33614,
33615,
33624,
33630,
33634,
33639,
33653,
33654,
33673,
33674,
33675,
33677,
33683,
36502,
37882,
38314
];
}
name() {
return "Shift_JIS";
}
language() {
return "ja";
}
nextChar(iter, det) {
iter.index = iter.nextIndex;
iter.error = false;
const firstByte = iter.charValue = iter.nextByte(det);
if (firstByte < 0)
return false;
if (firstByte <= 127 || firstByte > 160 && firstByte <= 223)
return true;
const secondByte = iter.nextByte(det);
if (secondByte < 0)
return false;
iter.charValue = firstByte << 8 | secondByte;
if (!(secondByte >= 64 && secondByte <= 127 || secondByte >= 128 && secondByte <= 255)) {
iter.error = true;
}
return true;
}
};
exports2.sjis = sjis;
var big5 = class extends mbcs {
constructor() {
super(...arguments);
this.commonChars = [
41280,
41281,
41282,
41283,
41287,
41289,
41333,
41334,
42048,
42054,
42055,
42056,
42065,
42068,
42071,
42084,
42090,
42092,
42103,
42147,
42148,
42151,
42177,
42190,
42193,
42207,
42216,
42237,
42304,
42312,
42328,
42345,
42445,
42471,
42583,
42593,
42594,
42600,
42608,
42664,
42675,
42681,
42707,
42715,
42726,
42738,
42816,
42833,
42841,
42970,
43171,
43173,
43181,
43217,
43219,
43236,
43260,
43456,
43474,
43507,
43627,
43706,
43710,
43724,
43772,
44103,
44111,
44208,
44242,
44377,
44745,
45024,
45290,
45423,
45747,
45764,
45935,
46156,
46158,
46412,
46501,
46525,
46544,
46552,
46705,
47085,
47207,
47428,
47832,
47940,
48033,
48593,
49860,
50105,
50240,
50271
];
}
name() {
return "Big5";
}
language() {
return "zh";
}
nextChar(iter, det) {
iter.index = iter.nextIndex;
iter.error = false;
const firstByte = iter.charValue = iter.nextByte(det);
if (firstByte < 0)
return false;
if (firstByte <= 127 || firstByte == 255)
return true;
const secondByte = iter.nextByte(det);
if (secondByte < 0)
return false;
iter.charValue = iter.charValue << 8 | secondByte;
if (secondByte < 64 || secondByte == 127 || secondByte == 255)
iter.error = true;
return true;
}
};
exports2.big5 = big5;
function eucNextChar(iter, det) {
iter.index = iter.nextIndex;
iter.error = false;
let firstByte = 0;
let secondByte = 0;
let thirdByte = 0;
buildChar: {
firstByte = iter.charValue = iter.nextByte(det);
if (firstByte < 0) {
iter.done = true;
break buildChar;
}
if (firstByte <= 141) {
break buildChar;
}
secondByte = iter.nextByte(det);
iter.charValue = iter.charValue << 8 | secondByte;
if (firstByte >= 161 && firstByte <= 254) {
if (secondByte < 161) {
iter.error = true;
}
break buildChar;
}
if (firstByte == 142) {
if (secondByte < 161) {
iter.error = true;
}
break buildChar;
}
if (firstByte == 143) {
thirdByte = iter.nextByte(det);
iter.charValue = iter.charValue << 8 | thirdByte;
if (thirdByte < 161) {
iter.error = true;
}
}
}
return iter.done == false;
}
var euc_jp = class extends mbcs {
constructor() {
super(...arguments);
this.commonChars = [
41377,
41378,
41379,
41382,
41404,
41418,
41419,
41430,
41431,
42146,
42148,
42150,
42152,
42154,
42155,
42156,
42157,
42159,
42161,
42163,
42165,
42167,
42169,
42171,
42173,
42175,
42176,
42177,
42179,
42180,
42182,
42183,
42184,
42185,
42186,
42187,
42190,
42191,
42192,
42206,
42207,
42209,
42210,
42212,
42216,
42217,
42218,
42219,
42220,
42223,
42226,
42227,
42402,
42403,
42404,
42406,
42407,
42410,
42413,
42415,
42416,
42419,
42421,
42423,
42424,
42425,
42431,
42435,
42438,
42439,
42440,
42441,
42443,
42448,
42453,
42454,
42455,
42462,
42464,
42465,
42469,
42473,
42474,
42475,
42476,
42477,
42483,
47273,
47572,
47854,
48072,
48880,
49079,
50410,
50940,
51133,
51896,
51955,
52188,
52689
];
this.nextChar = eucNextChar;
}
name() {
return "EUC-JP";
}
language() {
return "ja";
}
};
exports2.euc_jp = euc_jp;
var euc_kr = class extends mbcs {
constructor() {
super(...arguments);
this.commonChars = [
45217,
45235,
45253,
45261,
45268,
45286,
45293,
45304,
45306,
45308,
45496,
45497,
45511,
45527,
45538,
45994,
46011,
46274,
46287,
46297,
46315,
46501,
46517,
46527,
46535,
46569,
46835,
47023,
47042,
47054,
47270,
47278,
47286,
47288,
47291,
47337,
47531,
47534,
47564,
47566,
47613,
47800,
47822,
47824,
47857,
48103,
48115,
48125,
48301,
48314,
48338,
48374,
48570,
48576,
48579,
48581,
48838,
48840,
48863,
48878,
48888,
48890,
49057,
49065,
49088,
49124,
49131,
49132,
49144,
49319,
49327,
49336,
49338,
49339,
49341,
49351,
49356,
49358,
49359,
49366,
49370,
49381,
49403,
49404,
49572,
49574,
49590,
49622,
49631,
49654,
49656,
50337,
50637,
50862,
51151,
51153,
51154,
51160,
51173,
51373
];
this.nextChar = eucNextChar;
}
name() {
return "EUC-KR";
}
language() {
return "ko";
}
};
exports2.euc_kr = euc_kr;
var gb_18030 = class extends mbcs {
constructor() {
super(...arguments);
this.commonChars = [
41377,
41378,
41379,
41380,
41392,
41393,
41457,
41459,
41889,
41900,
41914,
45480,
45496,
45502,
45755,
46025,
46070,
46323,
46525,
46532,
46563,
46767,
46804,
46816,
47010,
47016,
47037,
47062,
47069,
47284,
47327,
47350,
47531,
47561,
47576,
47610,
47613,
47821,
48039,
48086,
48097,
48122,
48316,
48347,
48382,
48588,
48845,
48861,
49076,
49094,
49097,
49332,
49389,
49611,
49883,
50119,
50396,
50410,
50636,
50935,
51192,
51371,
51403,
51413,
51431,
51663,
51706,
51889,
51893,
51911,
51920,
51926,
51957,
51965,
52460,
52728,
52906,
52932,
52946,
52965,
53173,
53186,
53206,
53442,
53445,
53456,
53460,
53671,
53930,
53938,
53941,
53947,
53972,
54211,
54224,
54269,
54466,
54490,
54754,
54992
];
}
name() {
return "GB18030";
}
language() {
return "zh";
}
nextChar(iter, det) {
iter.index = iter.nextIndex;
iter.error = false;
let firstByte = 0;
let secondByte = 0;
let thirdByte = 0;
let fourthByte = 0;
buildChar: {
firstByte = iter.charValue = iter.nextByte(det);
if (firstByte < 0) {
iter.done = true;
break buildChar;
}
if (firstByte <= 128) {
break buildChar;
}
secondByte = iter.nextByte(det);
iter.charValue = iter.charValue << 8 | secondByte;
if (firstByte >= 129 && firstByte <= 254) {
if (secondByte >= 64 && secondByte <= 126 || secondByte >= 80 && secondByte <= 254) {
break buildChar;
}
if (secondByte >= 48 && secondByte <= 57) {
thirdByte = iter.nextByte(det);
if (thirdByte >= 129 && thirdByte <= 254) {
fourthByte = iter.nextByte(det);
if (fourthByte >= 48 && fourthByte <= 57) {
iter.charValue = iter.charValue << 16 | thirdByte << 8 | fourthByte;
break buildChar;
}
}
}
iter.error = true;
break buildChar;
}
}
return iter.done == false;
}
};
exports2.gb_18030 = gb_18030;
}
});
// node_modules/chardet/lib/encoding/sbcs.js
var require_sbcs = __commonJS({
"node_modules/chardet/lib/encoding/sbcs.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.KOI8_R = exports2.windows_1256 = exports2.windows_1251 = exports2.ISO_8859_9 = exports2.ISO_8859_8 = exports2.ISO_8859_7 = exports2.ISO_8859_6 = exports2.ISO_8859_5 = exports2.ISO_8859_2 = exports2.ISO_8859_1 = void 0;
var match_1 = __importDefault(require_match());
var N_GRAM_MASK = 16777215;
var NGramParser = class {
constructor(theNgramList, theByteMap) {
this.byteIndex = 0;
this.ngram = 0;
this.ngramCount = 0;
this.hitCount = 0;
this.spaceChar = 32;
this.ngramList = theNgramList;
this.byteMap = theByteMap;
}
search(table, value) {
let index = 0;
if (table[index + 32] <= value)
index += 32;
if (table[index + 16] <= value)
index += 16;
if (table[index + 8] <= value)
index += 8;
if (table[index + 4] <= value)
index += 4;
if (table[index + 2] <= value)
index += 2;
if (table[index + 1] <= value)
index += 1;
if (table[index] > value)
index -= 1;
if (index < 0 || table[index] != value)
return -1;
return index;
}
lookup(thisNgram) {
this.ngramCount += 1;
if (this.search(this.ngramList, thisNgram) >= 0) {
this.hitCount += 1;
}
}
addByte(b) {
this.ngram = (this.ngram << 8) + (b & 255) & N_GRAM_MASK;
this.lookup(this.ngram);
}
nextByte(det) {
if (this.byteIndex >= det.inputLen)
return -1;
return det.inputBytes[this.byteIndex++] & 255;
}
parse(det, spaceCh) {
let b, ignoreSpace = false;
this.spaceChar = spaceCh;
while ((b = this.nextByte(det)) >= 0) {
const mb = this.byteMap[b];
if (mb != 0) {
if (!(mb == this.spaceChar && ignoreSpace)) {
this.addByte(mb);
}
ignoreSpace = mb == this.spaceChar;
}
}
this.addByte(this.spaceChar);
const rawPercent = this.hitCount / this.ngramCount;
if (rawPercent > 0.33)
return 98;
return Math.floor(rawPercent * 300);
}
};
var NGramsPlusLang = class {
constructor(la, ng) {
this.fLang = la;
this.fNGrams = ng;
}
};
var isFlatNgrams = (val) => Array.isArray(val) && isFinite(val[0]);
var sbcs = class {
constructor() {
this.spaceChar = 32;
this.nGramLang = void 0;
}
ngrams() {
return [];
}
byteMap() {
return [];
}
name(_input) {
return "sbcs";
}
language() {
return this.nGramLang;
}
match(det) {
this.nGramLang = void 0;
const ngrams = this.ngrams();
if (isFlatNgrams(ngrams)) {
const parser4 = new NGramParser(ngrams, this.byteMap());
const confidence = parser4.parse(det, this.spaceChar);
return confidence <= 0 ? null : (0, match_1.default)(det, this, confidence);
}
let bestConfidence = -1;
for (let i3 = ngrams.length - 1; i3 >= 0; i3--) {
const ngl = ngrams[i3];
const parser4 = new NGramParser(ngl.fNGrams, this.byteMap());
const confidence = parser4.parse(det, this.spaceChar);
if (confidence > bestConfidence) {
bestConfidence = confidence;
this.nGramLang = ngl.fLang;
}
}
return bestConfidence <= 0 ? null : (0, match_1.default)(det, this, bestConfidence);
}
};
var ISO_8859_1 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
170,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
181,
32,
32,
32,
32,
186,
32,
32,
32,
32,
32,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
32,
248,
249,
250,
251,
252,
253,
254,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
32,
248,
249,
250,
251,
252,
253,
254,
255
];
}
ngrams() {
return [
new NGramsPlusLang("da", [
2122086,
2122100,
2122853,
2123118,
2123122,
2123375,
2123873,
2124064,
2125157,
2125671,
2126053,
2126697,
2126708,
2126953,
2127465,
6383136,
6385184,
6385252,
6386208,
6386720,
6579488,
6579566,
6579570,
6579572,
6627443,
6644768,
6644837,
6647328,
6647396,
6648352,
6648421,
6648608,
6648864,
6713202,
6776096,
6776174,
6776178,
6907749,
6908960,
6909543,
7038240,
7039845,
7103858,
7104871,
7105637,
7169380,
7234661,
7234848,
7235360,
7235429,
7300896,
7302432,
7303712,
7398688,
7479396,
7479397,
7479411,
7496992,
7566437,
7610483,
7628064,
7628146,
7629164,
7759218
]),
new NGramsPlusLang("de", [
2122094,
2122101,
2122341,
2122849,
2122853,
2122857,
2123113,
2123621,
2123873,
2124142,
2125161,
2126691,
2126693,
2127214,
2127461,
2127471,
2127717,
2128501,
6448498,
6514720,
6514789,
6514804,
6578547,
6579566,
6579570,
6580581,
6627428,
6627443,
6646126,
6646132,
6647328,
6648352,
6648608,
6776174,
6841710,
6845472,
6906728,
6907168,
6909472,
6909541,
6911008,
7104867,
7105637,
7217249,
7217252,
7217267,
7234592,
7234661,
7234848,
7235360,
7235429,
7238757,
7479396,
7496805,
7497065,
7562088,
7566437,
7610468,
7628064,
7628142,
7628146,
7695972,
7695975,
7759218
]),
new NGramsPlusLang("en", [
2122016,
2122094,
2122341,
2122607,
2123375,
2123873,
2123877,
2124142,
2125153,
2125670,
2125938,
2126437,
2126689,
2126708,
2126952,
2126959,
2127720,
6383972,
6384672,
6385184,
6385252,
6386464,
6386720,
6386789,
6386793,
6561889,
6561908,
6627425,
6627443,
6627444,
6644768,
6647412,
6648352,
6648608,
6713202,
6840692,
6841632,
6841714,
6906912,
6909472,
6909543,
6909806,
6910752,
7217249,
7217268,
7234592,
7235360,
7238688,
7300640,
7302688,
7303712,
7496992,
7500576,
7544929,
7544948,
7561577,
7566368,
7610484,
7628146,
7628897,
7628901,
7629167,
7630624,
7631648
]),
new NGramsPlusLang("es", [
2122016,
2122593,
2122607,
2122853,
2123116,
2123118,
2123123,
2124142,
2124897,
2124911,
2125921,
2125935,
2125938,
2126197,
2126437,
2126693,
2127214,
2128160,
6365283,
6365284,
6365285,
6365292,
6365296,
6382441,
6382703,
6384672,
6386208,
6386464,
6515187,
6516590,
6579488,
6579564,
6582048,
6627428,
6627429,
6627436,
6646816,
6647328,
6647412,
6648608,
6648692,
6907246,
6943598,
7102752,
7106419,
7217253,
7238757,
7282788,
7282789,
7302688,
7303712,
7303968,
7364978,
7435621,
7495968,
7497075,
7544932,
7544933,
7544944,
7562528,
7628064,
7630624,
7693600,
15953440
]),
new NGramsPlusLang("fr", [
2122101,
2122607,
2122849,
2122853,
2122869,
2123118,
2123124,
2124897,
2124901,
2125921,
2125935,
2125938,
2126197,
2126693,
2126703,
2127214,
2154528,
6385268,
6386793,
6513952,
6516590,
6579488,
6579571,
6583584,
6627425,
6627427,
6627428,
6627429,
6627436,
6627440,
6627443,
6647328,
6647412,
6648352,
6648608,
6648864,
6649202,
6909806,
6910752,
6911008,
7102752,
7103776,
7103859,
7169390,
7217252,
7234848,
7238432,
7238688,
7302688,
7302772,
7304562,
7435621,
7479404,
7496992,
7544929,
7544932,
7544933,
7544940,
7544944,
7610468,
7628064,
7629167,
7693600,
7696928
]),
new NGramsPlusLang("it", [
2122092,
2122600,
2122607,
2122853,
2122857,
2123040,
2124140,
2124142,
2124897,
2125925,
2125938,
2127214,
6365283,
6365284,
6365296,
6365299,
6386799,
6514789,
6516590,
6579564,
6580512,
6627425,
6627427,
6627428,
6627433,
6627436,
6627440,
6627443,
6646816,
6646892,
6647412,
6648352,
6841632,
6889569,
6889571,
6889572,
6889587,
6906144,
6908960,
6909472,
6909806,
7102752,
7103776,
7104800,
7105633,
7234848,
7235872,
7237408,
7238757,
7282785,
7282788,
7282793,
7282803,
7302688,
7302757,
7366002,
7495968,
7496992,
7563552,
7627040,
7628064,
7629088,
7630624,
8022383
]),
new NGramsPlusLang("nl", [
2122092,
2122341,
2122849,
2122853,
2122857,
2123109,
2123118,
2123621,
2123877,
2124142,
2125153,
2125157,
2125680,
2126949,
2127457,
2127461,
2127471,
2127717,
2128489,
6381934,
6381938,
6385184,
6385252,
6386208,
6386720,
6514804,
6579488,
6579566,
6579570,
6627426,
6627446,
6645102,
6645106,
6647328,
6648352,
6648435,
6648864,
6776174,
6841716,
6907168,
6909472,
6909543,
6910752,
7217250,
7217252,
7217253,
7217256,
7217263,
7217270,
7234661,
7235360,
7302756,
7303026,
7303200,
7303712,
7562088,
7566437,
7610468,
7628064,
7628142,
7628146,
7758190,
7759218,
7761775
]),
new NGramsPlusLang("no", [
2122100,
2122102,
2122853,
2123118,
2123122,
2123375,
2123873,
2124064,
2125157,
2125671,
2126053,
2126693,
2126699,
2126703,
2126708,
2126953,
2127465,
2155808,
6385252,
6386208,
6386720,
6579488,
6579566,
6579572,
6627443,
6644768,
6647328,
6647397,
6648352,
6648421,
6648864,
6648948,
6713202,
6776174,
6908779,
6908960,
6909543,
7038240,
7039845,
7103776,
7105637,
7169380,
7169390,
7217267,
7234848,
7235360,
7235429,
7237221,
7300896,
7302432,
7303712,
7398688,
7479411,
7496992,
7565165,
7566437,
7610483,
7628064,
7628142,
7628146,
7629164,
7631904,
7631973,
7759218
]),
new NGramsPlusLang("pt", [
2122016,
2122607,
2122849,
2122853,
2122863,
2123040,
2123123,
2125153,
2125423,
2125600,
2125921,
2125935,
2125938,
2126197,
2126437,
2126693,
2127213,
6365281,
6365283,
6365284,
6365296,
6382693,
6382703,
6384672,
6386208,
6386273,
6386464,
6516589,
6516590,
6578464,
6579488,
6582048,
6582131,
6627425,
6627428,
6647072,
6647412,
6648608,
6648692,
6906144,
6906721,
7169390,
7238757,
7238767,
7282785,
7282787,
7282788,
7282789,
7282800,
7303968,
7364978,
7435621,
7495968,
7497075,
7544929,
7544932,
7544933,
7544944,
7566433,
7628064,
7630624,
7693600,
14905120,
15197039
]),
new NGramsPlusLang("sv", [
2122100,
2122102,
2122853,
2123118,
2123510,
2123873,
2124064,
2124142,
2124655,
2125157,
2125667,
2126053,
2126699,
2126703,
2126708,
2126953,
2127457,
2127465,
2155634,
6382693,
6385184,
6385252,
6386208,
6386804,
6514720,
6579488,
6579566,
6579570,
6579572,
6644768,
6647328,
6648352,
6648864,
6747762,
6776174,
6909036,
6909543,
7037216,
7105568,
7169380,
7217267,
7233824,
7234661,
7235360,
7235429,
7235950,
7299944,
7302432,
7302688,
7398688,
7479393,
7479411,
7495968,
7564129,
7565165,
7610483,
7627040,
7628064,
7628146,
7629164,
7631904,
7758194,
14971424,
16151072
])
];
}
name(input) {
return input && input.c1Bytes ? "windows-1252" : "ISO-8859-1";
}
};
exports2.ISO_8859_1 = ISO_8859_1;
var ISO_8859_2 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
177,
32,
179,
32,
181,
182,
32,
32,
185,
186,
187,
188,
32,
190,
191,
32,
177,
32,
179,
32,
181,
182,
183,
32,
185,
186,
187,
188,
32,
190,
191,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
32,
248,
249,
250,
251,
252,
253,
254,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
32,
248,
249,
250,
251,
252,
253,
254,
32
];
}
ngrams() {
return [
new NGramsPlusLang("cs", [
2122016,
2122361,
2122863,
2124389,
2125409,
2125413,
2125600,
2125668,
2125935,
2125938,
2126072,
2126447,
2126693,
2126703,
2126708,
2126959,
2127392,
2127481,
2128481,
6365296,
6513952,
6514720,
6627440,
6627443,
6627446,
6647072,
6647533,
6844192,
6844260,
6910836,
6972704,
7042149,
7103776,
7104800,
7233824,
7268640,
7269408,
7269664,
7282800,
7300206,
7301737,
7304052,
7304480,
7304801,
7368548,
7368554,
7369327,
7403621,
7562528,
7565173,
7566433,
7566441,
7566446,
7628146,
7630573,
7630624,
7676016,
12477728,
14773997,
15296623,
15540336,
15540339,
15559968,
16278884
]),
new NGramsPlusLang("hu", [
2122016,
2122106,
2122341,
2123111,
2123116,
2123365,
2123873,
2123887,
2124147,
2124645,
2124649,
2124790,
2124901,
2125153,
2125157,
2125161,
2125413,
2126714,
2126949,
2156915,
6365281,
6365291,
6365293,
6365299,
6384416,
6385184,
6388256,
6447470,
6448494,
6645625,
6646560,
6646816,
6646885,
6647072,
6647328,
6648421,
6648864,
6648933,
6648948,
6781216,
6844263,
6909556,
6910752,
7020641,
7075450,
7169383,
7170414,
7217249,
7233899,
7234923,
7234925,
7238688,
7300985,
7544929,
7567973,
7567988,
7568097,
7596391,
7610465,
7631904,
7659891,
8021362,
14773792,
15299360
]),
new NGramsPlusLang("pl", [
2122618,
2122863,
2124064,
2124389,
2124655,
2125153,
2125161,
2125409,
2125417,
2125668,
2125935,
2125938,
2126697,
2127648,
2127721,
2127737,
2128416,
2128481,
6365296,
6365303,
6385257,
6514720,
6519397,
6519417,
6582048,
6584937,
6627440,
6627443,
6627447,
6627450,
6645615,
6646304,
6647072,
6647401,
6778656,
6906144,
6907168,
6907242,
7037216,
7039264,
7039333,
7170405,
7233824,
7235937,
7235941,
7282800,
7305057,
7305065,
7368556,
7369313,
7369327,
7369338,
7502437,
7502457,
7563754,
7564137,
7566433,
7825765,
7955304,
7957792,
8021280,
8022373,
8026400,
15955744
]),
new NGramsPlusLang("ro", [
2122016,
2122083,
2122593,
2122597,
2122607,
2122613,
2122853,
2122857,
2124897,
2125153,
2125925,
2125938,
2126693,
2126819,
2127214,
2144873,
2158190,
6365283,
6365284,
6386277,
6386720,
6386789,
6386976,
6513010,
6516590,
6518048,
6546208,
6579488,
6627425,
6627427,
6627428,
6627440,
6627443,
6644e3,
6646048,
6646885,
6647412,
6648692,
6889569,
6889571,
6889572,
6889584,
6907168,
6908192,
6909472,
7102752,
7103776,
7106418,
7107945,
7234848,
7238770,
7303712,
7365998,
7496992,
7497057,
7501088,
7594784,
7628064,
7631477,
7660320,
7694624,
7695392,
12216608,
15625760
])
];
}
name(det) {
return det && det.c1Bytes ? "windows-1250" : "ISO-8859-2";
}
};
exports2.ISO_8859_2 = ISO_8859_2;
var ISO_8859_5 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
32,
254,
255,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
32,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
32,
254,
255
];
}
ngrams() {
return [
2150944,
2151134,
2151646,
2152400,
2152480,
2153168,
2153182,
2153936,
2153941,
2154193,
2154462,
2154464,
2154704,
2154974,
2154978,
2155230,
2156514,
2158050,
13688280,
13689580,
13884960,
14015468,
14015960,
14016994,
14017056,
14164191,
14210336,
14211104,
14216992,
14407133,
14407712,
14413021,
14536736,
14538016,
14538965,
14538991,
14540320,
14540498,
14557394,
14557407,
14557409,
14602784,
14602960,
14603230,
14604576,
14605292,
14605344,
14606818,
14671579,
14672085,
14672088,
14672094,
14733522,
14734804,
14803664,
14803666,
14803672,
14806816,
14865883,
14868e3,
14868192,
14871584,
15196894,
15459616
];
}
name() {
return "ISO-8859-5";
}
language() {
return "ru";
}
};
exports2.ISO_8859_5 = ISO_8859_5;
var ISO_8859_6 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
32,
32,
32,
32,
32,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32
];
}
ngrams() {
return [
2148324,
2148326,
2148551,
2152932,
2154986,
2155748,
2156006,
2156743,
13050055,
13091104,
13093408,
13095200,
13100064,
13100227,
13100231,
13100232,
13100234,
13100236,
13100237,
13100239,
13100243,
13100249,
13100258,
13100261,
13100264,
13100266,
13100320,
13100576,
13100746,
13115591,
13181127,
13181153,
13181156,
13181157,
13181160,
13246663,
13574343,
13617440,
13705415,
13748512,
13836487,
14229703,
14279913,
14805536,
14950599,
14993696,
15001888,
15002144,
15016135,
15058720,
15059232,
15066656,
15081671,
15147207,
15189792,
15255524,
15263264,
15278279,
15343815,
15343845,
15343848,
15386912,
15388960,
15394336
];
}
name() {
return "ISO-8859-6";
}
language() {
return "ar";
}
};
exports2.ISO_8859_6 = ISO_8859_6;
var ISO_8859_7 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
161,
162,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
220,
32,
221,
222,
223,
32,
252,
32,
253,
254,
192,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
32,
243,
244,
245,
246,
247,
248,
249,
250,
251,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
32
];
}
ngrams() {
return [
2154989,
2154992,
2155497,
2155753,
2156016,
2156320,
2157281,
2157797,
2158049,
2158368,
2158817,
2158831,
2158833,
2159604,
2159605,
2159847,
2159855,
14672160,
14754017,
14754036,
14805280,
14806304,
14807292,
14807584,
14936545,
15067424,
15069728,
15147252,
15199520,
15200800,
15278324,
15327520,
15330014,
15331872,
15393257,
15393268,
15525152,
15540449,
15540453,
15540464,
15589664,
15725088,
15725856,
15790069,
15790575,
15793184,
15868129,
15868133,
15868138,
15868144,
15868148,
15983904,
15984416,
15987951,
16048416,
16048617,
16050157,
16050162,
16050666,
16052e3,
16052213,
16054765,
16379168,
16706848
];
}
name(det) {
return det && det.c1Bytes ? "windows-1253" : "ISO-8859-7";
}
language() {
return "el";
}
};
exports2.ISO_8859_7 = ISO_8859_7;
var ISO_8859_8 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
181,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
32,
32,
32,
32,
32
];
}
ngrams() {
return [
new NGramsPlusLang("he", [
2154725,
2154727,
2154729,
2154746,
2154985,
2154990,
2155744,
2155749,
2155753,
2155758,
2155762,
2155769,
2155770,
2157792,
2157796,
2158304,
2159340,
2161132,
14744096,
14950624,
14950625,
14950628,
14950636,
14950638,
14950649,
15001056,
15065120,
15068448,
15068960,
15071264,
15071776,
15278308,
15328288,
15328762,
15329773,
15330592,
15331104,
15333408,
15333920,
15474912,
15474916,
15523872,
15524896,
15540448,
15540449,
15540452,
15540460,
15540462,
15540473,
15655968,
15671524,
15787040,
15788320,
15788525,
15920160,
16261348,
16312813,
16378912,
16392416,
16392417,
16392420,
16392428,
16392430,
16392441
]),
new NGramsPlusLang("he", [
2154725,
2154732,
2155753,
2155756,
2155758,
2155760,
2157040,
2157810,
2157817,
2158053,
2158057,
2158565,
2158569,
2160869,
2160873,
2161376,
2161381,
2161385,
14688484,
14688492,
14688493,
14688506,
14738464,
14738916,
14740512,
14741024,
14754020,
14754029,
14754042,
14950628,
14950633,
14950636,
14950637,
14950639,
14950648,
14950650,
15002656,
15065120,
15066144,
15196192,
15327264,
15327520,
15328288,
15474916,
15474925,
15474938,
15528480,
15530272,
15591913,
15591920,
15591928,
15605988,
15605997,
15606010,
15655200,
15655968,
15918112,
16326884,
16326893,
16326906,
16376864,
16441376,
16442400,
16442857
])
];
}
name(det) {
return det && det.c1Bytes ? "windows-1255" : "ISO-8859-8";
}
language() {
return "he";
}
};
exports2.ISO_8859_8 = ISO_8859_8;
var ISO_8859_9 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
170,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
181,
32,
32,
32,
32,
186,
32,
32,
32,
32,
32,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
32,
248,
249,
250,
251,
252,
105,
254,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
32,
248,
249,
250,
251,
252,
253,
254,
255
];
}
ngrams() {
return [
2122337,
2122345,
2122357,
2122849,
2122853,
2123621,
2123873,
2124140,
2124641,
2124655,
2125153,
2125676,
2126689,
2126945,
2127461,
2128225,
6365282,
6384416,
6384737,
6384993,
6385184,
6385405,
6386208,
6386273,
6386429,
6386685,
6388065,
6449522,
6578464,
6579488,
6580512,
6627426,
6627435,
6644841,
6647328,
6648352,
6648425,
6648681,
6909029,
6909472,
6909545,
6910496,
7102830,
7102834,
7103776,
7103858,
7217249,
7217250,
7217259,
7234657,
7234661,
7234848,
7235872,
7235950,
7273760,
7498094,
7535982,
7759136,
7954720,
7958386,
16608800,
16608868,
16609021,
16642301
];
}
name(det) {
return det && det.c1Bytes ? "windows-1254" : "ISO-8859-9";
}
language() {
return "tr";
}
};
exports2.ISO_8859_9 = ISO_8859_9;
var windows_1251 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
144,
131,
32,
131,
32,
32,
32,
32,
32,
32,
154,
32,
156,
157,
158,
159,
144,
32,
32,
32,
32,
32,
32,
32,
32,
32,
154,
32,
156,
157,
158,
159,
32,
162,
162,
188,
32,
180,
32,
32,
184,
32,
186,
32,
32,
32,
32,
191,
32,
32,
179,
179,
180,
181,
32,
32,
184,
32,
186,
32,
188,
190,
190,
191,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255
];
}
ngrams() {
return [
2155040,
2155246,
2155758,
2156512,
2156576,
2157280,
2157294,
2158048,
2158053,
2158305,
2158574,
2158576,
2158816,
2159086,
2159090,
2159342,
2160626,
2162162,
14740968,
14742268,
14937632,
15068156,
15068648,
15069682,
15069728,
15212783,
15263008,
15263776,
15269664,
15459821,
15460384,
15465709,
15589408,
15590688,
15591653,
15591679,
15592992,
15593186,
15605986,
15605999,
15606001,
15655456,
15655648,
15655918,
15657248,
15657980,
15658016,
15659506,
15724267,
15724773,
15724776,
15724782,
15786210,
15787492,
15856352,
15856354,
15856360,
15859488,
15918571,
15920672,
15920880,
15924256,
16249582,
16512288
];
}
name() {
return "windows-1251";
}
language() {
return "ru";
}
};
exports2.windows_1251 = windows_1251;
var windows_1256 = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
129,
32,
131,
32,
32,
32,
32,
136,
32,
138,
32,
156,
141,
142,
143,
144,
32,
32,
32,
32,
32,
32,
32,
152,
32,
154,
32,
156,
32,
32,
159,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
170,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
181,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
32,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
32,
32,
32,
32,
244,
32,
32,
32,
32,
249,
32,
251,
252,
32,
32,
255
];
}
ngrams() {
return [
2148321,
2148324,
2148551,
2153185,
2153965,
2154977,
2155492,
2156231,
13050055,
13091104,
13093408,
13095200,
13099296,
13099459,
13099463,
13099464,
13099466,
13099468,
13099469,
13099471,
13099475,
13099482,
13099486,
13099491,
13099494,
13099501,
13099808,
13100064,
13100234,
13115591,
13181127,
13181149,
13181153,
13181155,
13181158,
13246663,
13574343,
13617440,
13705415,
13748512,
13836487,
14295239,
14344684,
14544160,
14753991,
14797088,
14806048,
14806304,
14885063,
14927648,
14928160,
14935072,
14950599,
15016135,
15058720,
15124449,
15131680,
15474887,
15540423,
15540451,
15540454,
15583520,
15585568,
15590432
];
}
name() {
return "windows-1256";
}
language() {
return "ar";
}
};
exports2.windows_1256 = windows_1256;
var KOI8_R = class extends sbcs {
byteMap() {
return [
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
0,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
163,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
163,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
32,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223
];
}
ngrams() {
return [
2147535,
2148640,
2149313,
2149327,
2150081,
2150085,
2150338,
2150607,
2150610,
2151105,
2151375,
2151380,
2151631,
2152224,
2152399,
2153153,
2153684,
2154196,
12701385,
12702936,
12963032,
12963529,
12964820,
12964896,
13094688,
13181136,
13223200,
13224224,
13226272,
13419982,
13420832,
13424846,
13549856,
13550880,
13552069,
13552081,
13553440,
13553623,
13574352,
13574355,
13574359,
13617103,
13617696,
13618392,
13618464,
13620180,
13621024,
13621185,
13684684,
13685445,
13685449,
13685455,
13812183,
13813188,
13881632,
13882561,
13882569,
13882583,
13944268,
13946656,
13946834,
13948960,
14272544,
14603471
];
}
name() {
return "KOI8-R";
}
language() {
return "ru";
}
};
exports2.KOI8_R = KOI8_R;
}
});
// node_modules/chardet/lib/encoding/iso2022.js
var require_iso2022 = __commonJS({
"node_modules/chardet/lib/encoding/iso2022.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ISO_2022_CN = exports2.ISO_2022_KR = exports2.ISO_2022_JP = void 0;
var match_1 = __importDefault(require_match());
var ISO_2022 = class {
constructor() {
this.escapeSequences = [];
}
name() {
return "ISO_2022";
}
match(det) {
let i3, j;
let escN;
let hits = 0;
let misses = 0;
let shifts = 0;
let confidence;
const text = det.inputBytes;
const textLen = det.inputLen;
scanInput: for (i3 = 0; i3 < textLen; i3++) {
if (text[i3] == 27) {
checkEscapes: for (escN = 0; escN < this.escapeSequences.length; escN++) {
const seq2 = this.escapeSequences[escN];
if (textLen - i3 < seq2.length)
continue checkEscapes;
for (j = 1; j < seq2.length; j++)
if (seq2[j] != text[i3 + j])
continue checkEscapes;
hits++;
i3 += seq2.length - 1;
continue scanInput;
}
misses++;
}
if (text[i3] == 14 || text[i3] == 15)
shifts++;
}
if (hits == 0)
return null;
confidence = (100 * hits - 100 * misses) / (hits + misses);
if (hits + shifts < 5)
confidence -= (5 - (hits + shifts)) * 10;
return confidence <= 0 ? null : (0, match_1.default)(det, this, confidence);
}
};
var ISO_2022_JP = class extends ISO_2022 {
constructor() {
super(...arguments);
this.escapeSequences = [
[27, 36, 40, 67],
[27, 36, 40, 68],
[27, 36, 64],
[27, 36, 65],
[27, 36, 66],
[27, 38, 64],
[27, 40, 66],
[27, 40, 72],
[27, 40, 73],
[27, 40, 74],
[27, 46, 65],
[27, 46, 70]
];
}
name() {
return "ISO-2022-JP";
}
language() {
return "ja";
}
};
exports2.ISO_2022_JP = ISO_2022_JP;
var ISO_2022_KR = class extends ISO_2022 {
constructor() {
super(...arguments);
this.escapeSequences = [[27, 36, 41, 67]];
}
name() {
return "ISO-2022-KR";
}
language() {
return "kr";
}
};
exports2.ISO_2022_KR = ISO_2022_KR;
var ISO_2022_CN = class extends ISO_2022 {
constructor() {
super(...arguments);
this.escapeSequences = [
[27, 36, 41, 65],
[27, 36, 41, 71],
[27, 36, 42, 72],
[27, 36, 41, 69],
[27, 36, 43, 73],
[27, 36, 43, 74],
[27, 36, 43, 75],
[27, 36, 43, 76],
[27, 36, 43, 77],
[27, 78],
[27, 79]
];
}
name() {
return "ISO-2022-CN";
}
language() {
return "zh";
}
};
exports2.ISO_2022_CN = ISO_2022_CN;
}
});
// node_modules/chardet/lib/utils.js
var require_utils16 = __commonJS({
"node_modules/chardet/lib/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isByteArray = void 0;
var isByteArray = (input) => {
if (input == null || typeof input != "object")
return false;
return isFinite(input.length) && input.length >= 0;
};
exports2.isByteArray = isByteArray;
}
});
// node_modules/chardet/lib/index.js
var require_lib9 = __commonJS({
"node_modules/chardet/lib/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o3, k2, desc);
} : function(o3, m, k, k2) {
if (k2 === void 0) k2 = k;
o3[k2] = m[k];
});
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o3, v) {
Object.defineProperty(o3, "default", { enumerable: true, value: v });
} : function(o3, v) {
o3["default"] = v;
});
var __importStar = exports2 && exports2.__importStar || /* @__PURE__ */ function() {
var ownKeys = function(o3) {
ownKeys = Object.getOwnPropertyNames || function(o4) {
var ar = [];
for (var k in o4) if (Object.prototype.hasOwnProperty.call(o4, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o3);
};
return function(mod2) {
if (mod2 && mod2.__esModule) return mod2;
var result2 = {};
if (mod2 != null) {
for (var k = ownKeys(mod2), i3 = 0; i3 < k.length; i3++) if (k[i3] !== "default") __createBinding(result2, mod2, k[i3]);
}
__setModuleDefault(result2, mod2);
return result2;
};
}();
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.detectFileSync = exports2.detectFile = exports2.analyse = exports2.detect = void 0;
var node_1 = __importDefault(require_node14());
var ascii_1 = __importDefault(require_ascii2());
var utf8_1 = __importDefault(require_utf82());
var unicode2 = __importStar(require_unicode());
var mbcs = __importStar(require_mbcs());
var sbcs = __importStar(require_sbcs());
var iso2022 = __importStar(require_iso2022());
var utils_1 = require_utils16();
var recognisers = [
new utf8_1.default(),
new unicode2.UTF_16BE(),
new unicode2.UTF_16LE(),
new unicode2.UTF_32BE(),
new unicode2.UTF_32LE(),
new mbcs.sjis(),
new mbcs.big5(),
new mbcs.euc_jp(),
new mbcs.euc_kr(),
new mbcs.gb_18030(),
new iso2022.ISO_2022_JP(),
new iso2022.ISO_2022_KR(),
new iso2022.ISO_2022_CN(),
new sbcs.ISO_8859_1(),
new sbcs.ISO_8859_2(),
new sbcs.ISO_8859_5(),
new sbcs.ISO_8859_6(),
new sbcs.ISO_8859_7(),
new sbcs.ISO_8859_8(),
new sbcs.ISO_8859_9(),
new sbcs.windows_1251(),
new sbcs.windows_1256(),
new sbcs.KOI8_R(),
new ascii_1.default()
];
var detect = (buffer) => {
const matches = (0, exports2.analyse)(buffer);
return matches.length > 0 ? matches[0].name : null;
};
exports2.detect = detect;
var analyse = (buffer) => {
if (!(0, utils_1.isByteArray)(buffer)) {
throw new Error("Input must be a byte array, e.g. Buffer or Uint8Array");
}
const byteStats = [];
for (let i3 = 0; i3 < 256; i3++)
byteStats[i3] = 0;
for (let i3 = buffer.length - 1; i3 >= 0; i3--)
byteStats[buffer[i3] & 255]++;
let c1Bytes = false;
for (let i3 = 128; i3 <= 159; i3 += 1) {
if (byteStats[i3] !== 0) {
c1Bytes = true;
break;
}
}
const context2 = {
byteStats,
c1Bytes,
rawInput: buffer,
rawLen: buffer.length,
inputBytes: buffer,
inputLen: buffer.length
};
const matches = recognisers.map((rec) => {
return rec.match(context2);
}).filter((match2) => {
return !!match2;
}).sort((a2, b) => {
return b.confidence - a2.confidence;
});
return matches;
};
exports2.analyse = analyse;
var detectFile = (filepath, opts = {}) => new Promise((resolve25, reject) => {
let fd;
const fs84 = (0, node_1.default)();
const handler = (err2, buffer) => {
if (fd) {
fs84.closeSync(fd);
}
if (err2) {
reject(err2);
} else {
resolve25((0, exports2.detect)(buffer));
}
};
if (opts && opts.sampleSize) {
fd = fs84.openSync(filepath, "r");
const sample = Buffer.allocUnsafe(opts.sampleSize);
fs84.read(fd, sample, 0, opts.sampleSize, opts.offset, (err2) => {
handler(err2, sample);
});
return;
}
fs84.readFile(filepath, handler);
});
exports2.detectFile = detectFile;
var detectFileSync = (filepath, opts = {}) => {
const fs84 = (0, node_1.default)();
if (opts && opts.sampleSize) {
const fd = fs84.openSync(filepath, "r");
const sample = Buffer.allocUnsafe(opts.sampleSize);
fs84.readSync(fd, sample, 0, opts.sampleSize, opts.offset);
fs84.closeSync(fd);
return (0, exports2.detect)(sample);
}
return (0, exports2.detect)(fs84.readFileSync(filepath));
};
exports2.detectFileSync = detectFileSync;
exports2.default = {
analyse: exports2.analyse,
detect: exports2.detect,
detectFileSync: exports2.detectFileSync,
detectFile: exports2.detectFile
};
}
});
// node_modules/@xterm/headless/lib-headless/xterm-headless.js
var require_xterm_headless = __commonJS({
"node_modules/@xterm/headless/lib-headless/xterm-headless.js"(exports2) {
(() => {
"use strict";
var e2 = { 349: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.CircularList = void 0;
const s3 = i4(460), r3 = i4(844);
class n4 extends r3.Disposable {
constructor(e4) {
super(), this._maxLength = e4, this.onDeleteEmitter = this.register(new s3.EventEmitter()), this.onDelete = this.onDeleteEmitter.event, this.onInsertEmitter = this.register(new s3.EventEmitter()), this.onInsert = this.onInsertEmitter.event, this.onTrimEmitter = this.register(new s3.EventEmitter()), this.onTrim = this.onTrimEmitter.event, this._array = new Array(this._maxLength), this._startIndex = 0, this._length = 0;
}
get maxLength() {
return this._maxLength;
}
set maxLength(e4) {
if (this._maxLength === e4) return;
const t4 = new Array(e4);
for (let i5 = 0; i5 < Math.min(e4, this.length); i5++) t4[i5] = this._array[this._getCyclicIndex(i5)];
this._array = t4, this._maxLength = e4, this._startIndex = 0;
}
get length() {
return this._length;
}
set length(e4) {
if (e4 > this._length) for (let t4 = this._length; t4 < e4; t4++) this._array[t4] = void 0;
this._length = e4;
}
get(e4) {
return this._array[this._getCyclicIndex(e4)];
}
set(e4, t4) {
this._array[this._getCyclicIndex(e4)] = t4;
}
push(e4) {
this._array[this._getCyclicIndex(this._length)] = e4, this._length === this._maxLength ? (this._startIndex = ++this._startIndex % this._maxLength, this.onTrimEmitter.fire(1)) : this._length++;
}
recycle() {
if (this._length !== this._maxLength) throw new Error("Can only recycle when the buffer is full");
return this._startIndex = ++this._startIndex % this._maxLength, this.onTrimEmitter.fire(1), this._array[this._getCyclicIndex(this._length - 1)];
}
get isFull() {
return this._length === this._maxLength;
}
pop() {
return this._array[this._getCyclicIndex(this._length-- - 1)];
}
splice(e4, t4, ...i5) {
if (t4) {
for (let i6 = e4; i6 < this._length - t4; i6++) this._array[this._getCyclicIndex(i6)] = this._array[this._getCyclicIndex(i6 + t4)];
this._length -= t4, this.onDeleteEmitter.fire({ index: e4, amount: t4 });
}
for (let t5 = this._length - 1; t5 >= e4; t5--) this._array[this._getCyclicIndex(t5 + i5.length)] = this._array[this._getCyclicIndex(t5)];
for (let t5 = 0; t5 < i5.length; t5++) this._array[this._getCyclicIndex(e4 + t5)] = i5[t5];
if (i5.length && this.onInsertEmitter.fire({ index: e4, amount: i5.length }), this._length + i5.length > this._maxLength) {
const e5 = this._length + i5.length - this._maxLength;
this._startIndex += e5, this._length = this._maxLength, this.onTrimEmitter.fire(e5);
} else this._length += i5.length;
}
trimStart(e4) {
e4 > this._length && (e4 = this._length), this._startIndex += e4, this._length -= e4, this.onTrimEmitter.fire(e4);
}
shiftElements(e4, t4, i5) {
if (!(t4 <= 0)) {
if (e4 < 0 || e4 >= this._length) throw new Error("start argument out of range");
if (e4 + i5 < 0) throw new Error("Cannot shift elements in list beyond index 0");
if (i5 > 0) {
for (let s5 = t4 - 1; s5 >= 0; s5--) this.set(e4 + s5 + i5, this.get(e4 + s5));
const s4 = e4 + t4 + i5 - this._length;
if (s4 > 0) for (this._length += s4; this._length > this._maxLength; ) this._length--, this._startIndex++, this.onTrimEmitter.fire(1);
} else for (let s4 = 0; s4 < t4; s4++) this.set(e4 + s4 + i5, this.get(e4 + s4));
}
}
_getCyclicIndex(e4) {
return (this._startIndex + e4) % this._maxLength;
}
}
t3.CircularList = n4;
}, 439: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.clone = void 0, t3.clone = function e4(t4, i4 = 5) {
if ("object" != typeof t4) return t4;
const s3 = Array.isArray(t4) ? [] : {};
for (const r3 in t4) s3[r3] = i4 <= 1 ? t4[r3] : t4[r3] && e4(t4[r3], i4 - 1);
return s3;
};
}, 969: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.CoreTerminal = void 0;
const s3 = i4(844), r3 = i4(585), n4 = i4(348), a2 = i4(866), o3 = i4(744), h2 = i4(302), c4 = i4(83), l2 = i4(460), _ = i4(753), d = i4(480), f = i4(994), u2 = i4(282), p = i4(435), g = i4(981), v = i4(660);
let b = false;
class S extends s3.Disposable {
get onScroll() {
return this._onScrollApi || (this._onScrollApi = this.register(new l2.EventEmitter()), this._onScroll.event((e4) => {
this._onScrollApi?.fire(e4.position);
})), this._onScrollApi.event;
}
get cols() {
return this._bufferService.cols;
}
get rows() {
return this._bufferService.rows;
}
get buffers() {
return this._bufferService.buffers;
}
get options() {
return this.optionsService.options;
}
set options(e4) {
for (const t4 in e4) this.optionsService.options[t4] = e4[t4];
}
constructor(e4) {
super(), this._windowsWrappingHeuristics = this.register(new s3.MutableDisposable()), this._onBinary = this.register(new l2.EventEmitter()), this.onBinary = this._onBinary.event, this._onData = this.register(new l2.EventEmitter()), this.onData = this._onData.event, this._onLineFeed = this.register(new l2.EventEmitter()), this.onLineFeed = this._onLineFeed.event, this._onResize = this.register(new l2.EventEmitter()), this.onResize = this._onResize.event, this._onWriteParsed = this.register(new l2.EventEmitter()), this.onWriteParsed = this._onWriteParsed.event, this._onScroll = this.register(new l2.EventEmitter()), this._instantiationService = new n4.InstantiationService(), this.optionsService = this.register(new h2.OptionsService(e4)), this._instantiationService.setService(r3.IOptionsService, this.optionsService), this._bufferService = this.register(this._instantiationService.createInstance(o3.BufferService)), this._instantiationService.setService(r3.IBufferService, this._bufferService), this._logService = this.register(this._instantiationService.createInstance(a2.LogService)), this._instantiationService.setService(r3.ILogService, this._logService), this.coreService = this.register(this._instantiationService.createInstance(c4.CoreService)), this._instantiationService.setService(r3.ICoreService, this.coreService), this.coreMouseService = this.register(this._instantiationService.createInstance(_.CoreMouseService)), this._instantiationService.setService(r3.ICoreMouseService, this.coreMouseService), this.unicodeService = this.register(this._instantiationService.createInstance(d.UnicodeService)), this._instantiationService.setService(r3.IUnicodeService, this.unicodeService), this._charsetService = this._instantiationService.createInstance(f.CharsetService), this._instantiationService.setService(r3.ICharsetService, this._charsetService), this._oscLinkService = this._instantiationService.createInstance(v.OscLinkService), this._instantiationService.setService(r3.IOscLinkService, this._oscLinkService), this._inputHandler = this.register(new p.InputHandler(this._bufferService, this._charsetService, this.coreService, this._logService, this.optionsService, this._oscLinkService, this.coreMouseService, this.unicodeService)), this.register((0, l2.forwardEvent)(this._inputHandler.onLineFeed, this._onLineFeed)), this.register(this._inputHandler), this.register((0, l2.forwardEvent)(this._bufferService.onResize, this._onResize)), this.register((0, l2.forwardEvent)(this.coreService.onData, this._onData)), this.register((0, l2.forwardEvent)(this.coreService.onBinary, this._onBinary)), this.register(this.coreService.onRequestScrollToBottom(() => this.scrollToBottom())), this.register(this.coreService.onUserInput(() => this._writeBuffer.handleUserInput())), this.register(this.optionsService.onMultipleOptionChange(["windowsMode", "windowsPty"], () => this._handleWindowsPtyOptionChange())), this.register(this._bufferService.onScroll((e5) => {
this._onScroll.fire({ position: this._bufferService.buffer.ydisp, source: 0 }), this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop, this._bufferService.buffer.scrollBottom);
})), this.register(this._inputHandler.onScroll((e5) => {
this._onScroll.fire({ position: this._bufferService.buffer.ydisp, source: 0 }), this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop, this._bufferService.buffer.scrollBottom);
})), this._writeBuffer = this.register(new g.WriteBuffer((e5, t4) => this._inputHandler.parse(e5, t4))), this.register((0, l2.forwardEvent)(this._writeBuffer.onWriteParsed, this._onWriteParsed));
}
write(e4, t4) {
this._writeBuffer.write(e4, t4);
}
writeSync(e4, t4) {
this._logService.logLevel <= r3.LogLevelEnum.WARN && !b && (this._logService.warn("writeSync is unreliable and will be removed soon."), b = true), this._writeBuffer.writeSync(e4, t4);
}
input(e4, t4 = true) {
this.coreService.triggerDataEvent(e4, t4);
}
resize(e4, t4) {
isNaN(e4) || isNaN(t4) || (e4 = Math.max(e4, o3.MINIMUM_COLS), t4 = Math.max(t4, o3.MINIMUM_ROWS), this._bufferService.resize(e4, t4));
}
scroll(e4, t4 = false) {
this._bufferService.scroll(e4, t4);
}
scrollLines(e4, t4, i5) {
this._bufferService.scrollLines(e4, t4, i5);
}
scrollPages(e4) {
this.scrollLines(e4 * (this.rows - 1));
}
scrollToTop() {
this.scrollLines(-this._bufferService.buffer.ydisp);
}
scrollToBottom() {
this.scrollLines(this._bufferService.buffer.ybase - this._bufferService.buffer.ydisp);
}
scrollToLine(e4) {
const t4 = e4 - this._bufferService.buffer.ydisp;
0 !== t4 && this.scrollLines(t4);
}
registerEscHandler(e4, t4) {
return this._inputHandler.registerEscHandler(e4, t4);
}
registerDcsHandler(e4, t4) {
return this._inputHandler.registerDcsHandler(e4, t4);
}
registerCsiHandler(e4, t4) {
return this._inputHandler.registerCsiHandler(e4, t4);
}
registerOscHandler(e4, t4) {
return this._inputHandler.registerOscHandler(e4, t4);
}
_setup() {
this._handleWindowsPtyOptionChange();
}
reset() {
this._inputHandler.reset(), this._bufferService.reset(), this._charsetService.reset(), this.coreService.reset(), this.coreMouseService.reset();
}
_handleWindowsPtyOptionChange() {
let e4 = false;
const t4 = this.optionsService.rawOptions.windowsPty;
t4 && void 0 !== t4.buildNumber && void 0 !== t4.buildNumber ? e4 = !!("conpty" === t4.backend && t4.buildNumber < 21376) : this.optionsService.rawOptions.windowsMode && (e4 = true), e4 ? this._enableWindowsWrappingHeuristics() : this._windowsWrappingHeuristics.clear();
}
_enableWindowsWrappingHeuristics() {
if (!this._windowsWrappingHeuristics.value) {
const e4 = [];
e4.push(this.onLineFeed(u2.updateWindowsModeWrappedState.bind(null, this._bufferService))), e4.push(this.registerCsiHandler({ final: "H" }, () => ((0, u2.updateWindowsModeWrappedState)(this._bufferService), false))), this._windowsWrappingHeuristics.value = (0, s3.toDisposable)(() => {
for (const t4 of e4) t4.dispose();
});
}
}
}
t3.CoreTerminal = S;
}, 460: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.runAndSubscribe = t3.forwardEvent = t3.EventEmitter = void 0, t3.EventEmitter = class {
constructor() {
this._listeners = [], this._disposed = false;
}
get event() {
return this._event || (this._event = (e4) => {
this._listeners.push(e4);
const t4 = { dispose: () => {
if (!this._disposed) {
for (let t5 = 0; t5 < this._listeners.length; t5++) if (this._listeners[t5] === e4) return void this._listeners.splice(t5, 1);
}
} };
return t4;
}), this._event;
}
fire(e4, t4) {
const i4 = [];
for (let e5 = 0; e5 < this._listeners.length; e5++) i4.push(this._listeners[e5]);
for (let s3 = 0; s3 < i4.length; s3++) i4[s3].call(void 0, e4, t4);
}
dispose() {
this.clearListeners(), this._disposed = true;
}
clearListeners() {
this._listeners && (this._listeners.length = 0);
}
}, t3.forwardEvent = function(e4, t4) {
return e4((e5) => t4.fire(e5));
}, t3.runAndSubscribe = function(e4, t4) {
return t4(void 0), e4((e5) => t4(e5));
};
}, 435: function(e3, t3, i4) {
var s3 = this && this.__decorate || function(e4, t4, i5, s4) {
var r4, n5 = arguments.length, a3 = n5 < 3 ? t4 : null === s4 ? s4 = Object.getOwnPropertyDescriptor(t4, i5) : s4;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a3 = Reflect.decorate(e4, t4, i5, s4);
else for (var o4 = e4.length - 1; o4 >= 0; o4--) (r4 = e4[o4]) && (a3 = (n5 < 3 ? r4(a3) : n5 > 3 ? r4(t4, i5, a3) : r4(t4, i5)) || a3);
return n5 > 3 && a3 && Object.defineProperty(t4, i5, a3), a3;
}, r3 = this && this.__param || function(e4, t4) {
return function(i5, s4) {
t4(i5, s4, e4);
};
};
Object.defineProperty(t3, "__esModule", { value: true }), t3.InputHandler = t3.WindowsOptionsReportType = void 0;
const n4 = i4(584), a2 = i4(116), o3 = i4(15), h2 = i4(844), c4 = i4(482), l2 = i4(437), _ = i4(460), d = i4(643), f = i4(511), u2 = i4(734), p = i4(585), g = i4(480), v = i4(242), b = i4(351), S = i4(941), m = { "(": 0, ")": 1, "*": 2, "+": 3, "-": 1, ".": 2 }, C2 = 131072;
function y(e4, t4) {
if (e4 > 24) return t4.setWinLines || false;
switch (e4) {
case 1:
return !!t4.restoreWin;
case 2:
return !!t4.minimizeWin;
case 3:
return !!t4.setWinPosition;
case 4:
return !!t4.setWinSizePixels;
case 5:
return !!t4.raiseWin;
case 6:
return !!t4.lowerWin;
case 7:
return !!t4.refreshWin;
case 8:
return !!t4.setWinSizeChars;
case 9:
return !!t4.maximizeWin;
case 10:
return !!t4.fullscreenWin;
case 11:
return !!t4.getWinState;
case 13:
return !!t4.getWinPosition;
case 14:
return !!t4.getWinSizePixels;
case 15:
return !!t4.getScreenSizePixels;
case 16:
return !!t4.getCellSizePixels;
case 18:
return !!t4.getWinSizeChars;
case 19:
return !!t4.getScreenSizeChars;
case 20:
return !!t4.getIconTitle;
case 21:
return !!t4.getWinTitle;
case 22:
return !!t4.pushTitle;
case 23:
return !!t4.popTitle;
case 24:
return !!t4.setWinLines;
}
return false;
}
var w;
!function(e4) {
e4[e4.GET_WIN_SIZE_PIXELS = 0] = "GET_WIN_SIZE_PIXELS", e4[e4.GET_CELL_SIZE_PIXELS = 1] = "GET_CELL_SIZE_PIXELS";
}(w || (t3.WindowsOptionsReportType = w = {}));
let B = 0;
class E extends h2.Disposable {
getAttrData() {
return this._curAttrData;
}
constructor(e4, t4, i5, s4, r4, h3, d2, u3, p2 = new o3.EscapeSequenceParser()) {
super(), this._bufferService = e4, this._charsetService = t4, this._coreService = i5, this._logService = s4, this._optionsService = r4, this._oscLinkService = h3, this._coreMouseService = d2, this._unicodeService = u3, this._parser = p2, this._parseBuffer = new Uint32Array(4096), this._stringDecoder = new c4.StringToUtf32(), this._utf8Decoder = new c4.Utf8ToUtf32(), this._workCell = new f.CellData(), this._windowTitle = "", this._iconName = "", this._windowTitleStack = [], this._iconNameStack = [], this._curAttrData = l2.DEFAULT_ATTR_DATA.clone(), this._eraseAttrDataInternal = l2.DEFAULT_ATTR_DATA.clone(), this._onRequestBell = this.register(new _.EventEmitter()), this.onRequestBell = this._onRequestBell.event, this._onRequestRefreshRows = this.register(new _.EventEmitter()), this.onRequestRefreshRows = this._onRequestRefreshRows.event, this._onRequestReset = this.register(new _.EventEmitter()), this.onRequestReset = this._onRequestReset.event, this._onRequestSendFocus = this.register(new _.EventEmitter()), this.onRequestSendFocus = this._onRequestSendFocus.event, this._onRequestSyncScrollBar = this.register(new _.EventEmitter()), this.onRequestSyncScrollBar = this._onRequestSyncScrollBar.event, this._onRequestWindowsOptionsReport = this.register(new _.EventEmitter()), this.onRequestWindowsOptionsReport = this._onRequestWindowsOptionsReport.event, this._onA11yChar = this.register(new _.EventEmitter()), this.onA11yChar = this._onA11yChar.event, this._onA11yTab = this.register(new _.EventEmitter()), this.onA11yTab = this._onA11yTab.event, this._onCursorMove = this.register(new _.EventEmitter()), this.onCursorMove = this._onCursorMove.event, this._onLineFeed = this.register(new _.EventEmitter()), this.onLineFeed = this._onLineFeed.event, this._onScroll = this.register(new _.EventEmitter()), this.onScroll = this._onScroll.event, this._onTitleChange = this.register(new _.EventEmitter()), this.onTitleChange = this._onTitleChange.event, this._onColor = this.register(new _.EventEmitter()), this.onColor = this._onColor.event, this._parseStack = { paused: false, cursorStartX: 0, cursorStartY: 0, decodedLength: 0, position: 0 }, this._specialColors = [256, 257, 258], this.register(this._parser), this._dirtyRowTracker = new A(this._bufferService), this._activeBuffer = this._bufferService.buffer, this.register(this._bufferService.buffers.onBufferActivate((e5) => this._activeBuffer = e5.activeBuffer)), this._parser.setCsiHandlerFallback((e5, t5) => {
this._logService.debug("Unknown CSI code: ", { identifier: this._parser.identToString(e5), params: t5.toArray() });
}), this._parser.setEscHandlerFallback((e5) => {
this._logService.debug("Unknown ESC code: ", { identifier: this._parser.identToString(e5) });
}), this._parser.setExecuteHandlerFallback((e5) => {
this._logService.debug("Unknown EXECUTE code: ", { code: e5 });
}), this._parser.setOscHandlerFallback((e5, t5, i6) => {
this._logService.debug("Unknown OSC code: ", { identifier: e5, action: t5, data: i6 });
}), this._parser.setDcsHandlerFallback((e5, t5, i6) => {
"HOOK" === t5 && (i6 = i6.toArray()), this._logService.debug("Unknown DCS code: ", { identifier: this._parser.identToString(e5), action: t5, payload: i6 });
}), this._parser.setPrintHandler((e5, t5, i6) => this.print(e5, t5, i6)), this._parser.registerCsiHandler({ final: "@" }, (e5) => this.insertChars(e5)), this._parser.registerCsiHandler({ intermediates: " ", final: "@" }, (e5) => this.scrollLeft(e5)), this._parser.registerCsiHandler({ final: "A" }, (e5) => this.cursorUp(e5)), this._parser.registerCsiHandler({ intermediates: " ", final: "A" }, (e5) => this.scrollRight(e5)), this._parser.registerCsiHandler({ final: "B" }, (e5) => this.cursorDown(e5)), this._parser.registerCsiHandler({ final: "C" }, (e5) => this.cursorForward(e5)), this._parser.registerCsiHandler({ final: "D" }, (e5) => this.cursorBackward(e5)), this._parser.registerCsiHandler({ final: "E" }, (e5) => this.cursorNextLine(e5)), this._parser.registerCsiHandler({ final: "F" }, (e5) => this.cursorPrecedingLine(e5)), this._parser.registerCsiHandler({ final: "G" }, (e5) => this.cursorCharAbsolute(e5)), this._parser.registerCsiHandler({ final: "H" }, (e5) => this.cursorPosition(e5)), this._parser.registerCsiHandler({ final: "I" }, (e5) => this.cursorForwardTab(e5)), this._parser.registerCsiHandler({ final: "J" }, (e5) => this.eraseInDisplay(e5, false)), this._parser.registerCsiHandler({ prefix: "?", final: "J" }, (e5) => this.eraseInDisplay(e5, true)), this._parser.registerCsiHandler({ final: "K" }, (e5) => this.eraseInLine(e5, false)), this._parser.registerCsiHandler({ prefix: "?", final: "K" }, (e5) => this.eraseInLine(e5, true)), this._parser.registerCsiHandler({ final: "L" }, (e5) => this.insertLines(e5)), this._parser.registerCsiHandler({ final: "M" }, (e5) => this.deleteLines(e5)), this._parser.registerCsiHandler({ final: "P" }, (e5) => this.deleteChars(e5)), this._parser.registerCsiHandler({ final: "S" }, (e5) => this.scrollUp(e5)), this._parser.registerCsiHandler({ final: "T" }, (e5) => this.scrollDown(e5)), this._parser.registerCsiHandler({ final: "X" }, (e5) => this.eraseChars(e5)), this._parser.registerCsiHandler({ final: "Z" }, (e5) => this.cursorBackwardTab(e5)), this._parser.registerCsiHandler({ final: "`" }, (e5) => this.charPosAbsolute(e5)), this._parser.registerCsiHandler({ final: "a" }, (e5) => this.hPositionRelative(e5)), this._parser.registerCsiHandler({ final: "b" }, (e5) => this.repeatPrecedingCharacter(e5)), this._parser.registerCsiHandler({ final: "c" }, (e5) => this.sendDeviceAttributesPrimary(e5)), this._parser.registerCsiHandler({ prefix: ">", final: "c" }, (e5) => this.sendDeviceAttributesSecondary(e5)), this._parser.registerCsiHandler({ final: "d" }, (e5) => this.linePosAbsolute(e5)), this._parser.registerCsiHandler({ final: "e" }, (e5) => this.vPositionRelative(e5)), this._parser.registerCsiHandler({ final: "f" }, (e5) => this.hVPosition(e5)), this._parser.registerCsiHandler({ final: "g" }, (e5) => this.tabClear(e5)), this._parser.registerCsiHandler({ final: "h" }, (e5) => this.setMode(e5)), this._parser.registerCsiHandler({ prefix: "?", final: "h" }, (e5) => this.setModePrivate(e5)), this._parser.registerCsiHandler({ final: "l" }, (e5) => this.resetMode(e5)), this._parser.registerCsiHandler({ prefix: "?", final: "l" }, (e5) => this.resetModePrivate(e5)), this._parser.registerCsiHandler({ final: "m" }, (e5) => this.charAttributes(e5)), this._parser.registerCsiHandler({ final: "n" }, (e5) => this.deviceStatus(e5)), this._parser.registerCsiHandler({ prefix: "?", final: "n" }, (e5) => this.deviceStatusPrivate(e5)), this._parser.registerCsiHandler({ intermediates: "!", final: "p" }, (e5) => this.softReset(e5)), this._parser.registerCsiHandler({ intermediates: " ", final: "q" }, (e5) => this.setCursorStyle(e5)), this._parser.registerCsiHandler({ final: "r" }, (e5) => this.setScrollRegion(e5)), this._parser.registerCsiHandler({ final: "s" }, (e5) => this.saveCursor(e5)), this._parser.registerCsiHandler({ final: "t" }, (e5) => this.windowOptions(e5)), this._parser.registerCsiHandler({ final: "u" }, (e5) => this.restoreCursor(e5)), this._parser.registerCsiHandler({ intermediates: "'", final: "}" }, (e5) => this.insertColumns(e5)), this._parser.registerCsiHandler({ intermediates: "'", final: "~" }, (e5) => this.deleteColumns(e5)), this._parser.registerCsiHandler({ intermediates: '"', final: "q" }, (e5) => this.selectProtected(e5)), this._parser.registerCsiHandler({ intermediates: "$", final: "p" }, (e5) => this.requestMode(e5, true)), this._parser.registerCsiHandler({ prefix: "?", intermediates: "$", final: "p" }, (e5) => this.requestMode(e5, false)), this._parser.setExecuteHandler(n4.C0.BEL, () => this.bell()), this._parser.setExecuteHandler(n4.C0.LF, () => this.lineFeed()), this._parser.setExecuteHandler(n4.C0.VT, () => this.lineFeed()), this._parser.setExecuteHandler(n4.C0.FF, () => this.lineFeed()), this._parser.setExecuteHandler(n4.C0.CR, () => this.carriageReturn()), this._parser.setExecuteHandler(n4.C0.BS, () => this.backspace()), this._parser.setExecuteHandler(n4.C0.HT, () => this.tab()), this._parser.setExecuteHandler(n4.C0.SO, () => this.shiftOut()), this._parser.setExecuteHandler(n4.C0.SI, () => this.shiftIn()), this._parser.setExecuteHandler(n4.C1.IND, () => this.index()), this._parser.setExecuteHandler(n4.C1.NEL, () => this.nextLine()), this._parser.setExecuteHandler(n4.C1.HTS, () => this.tabSet()), this._parser.registerOscHandler(0, new v.OscHandler((e5) => (this.setTitle(e5), this.setIconName(e5), true))), this._parser.registerOscHandler(1, new v.OscHandler((e5) => this.setIconName(e5))), this._parser.registerOscHandler(2, new v.OscHandler((e5) => this.setTitle(e5))), this._parser.registerOscHandler(4, new v.OscHandler((e5) => this.setOrReportIndexedColor(e5))), this._parser.registerOscHandler(8, new v.OscHandler((e5) => this.setHyperlink(e5))), this._parser.registerOscHandler(10, new v.OscHandler((e5) => this.setOrReportFgColor(e5))), this._parser.registerOscHandler(11, new v.OscHandler((e5) => this.setOrReportBgColor(e5))), this._parser.registerOscHandler(12, new v.OscHandler((e5) => this.setOrReportCursorColor(e5))), this._parser.registerOscHandler(104, new v.OscHandler((e5) => this.restoreIndexedColor(e5))), this._parser.registerOscHandler(110, new v.OscHandler((e5) => this.restoreFgColor(e5))), this._parser.registerOscHandler(111, new v.OscHandler((e5) => this.restoreBgColor(e5))), this._parser.registerOscHandler(112, new v.OscHandler((e5) => this.restoreCursorColor(e5))), this._parser.registerEscHandler({ final: "7" }, () => this.saveCursor()), this._parser.registerEscHandler({ final: "8" }, () => this.restoreCursor()), this._parser.registerEscHandler({ final: "D" }, () => this.index()), this._parser.registerEscHandler({ final: "E" }, () => this.nextLine()), this._parser.registerEscHandler({ final: "H" }, () => this.tabSet()), this._parser.registerEscHandler({ final: "M" }, () => this.reverseIndex()), this._parser.registerEscHandler({ final: "=" }, () => this.keypadApplicationMode()), this._parser.registerEscHandler({ final: ">" }, () => this.keypadNumericMode()), this._parser.registerEscHandler({ final: "c" }, () => this.fullReset()), this._parser.registerEscHandler({ final: "n" }, () => this.setgLevel(2)), this._parser.registerEscHandler({ final: "o" }, () => this.setgLevel(3)), this._parser.registerEscHandler({ final: "|" }, () => this.setgLevel(3)), this._parser.registerEscHandler({ final: "}" }, () => this.setgLevel(2)), this._parser.registerEscHandler({ final: "~" }, () => this.setgLevel(1)), this._parser.registerEscHandler({ intermediates: "%", final: "@" }, () => this.selectDefaultCharset()), this._parser.registerEscHandler({ intermediates: "%", final: "G" }, () => this.selectDefaultCharset());
for (const e5 in a2.CHARSETS) this._parser.registerEscHandler({ intermediates: "(", final: e5 }, () => this.selectCharset("(" + e5)), this._parser.registerEscHandler({ intermediates: ")", final: e5 }, () => this.selectCharset(")" + e5)), this._parser.registerEscHandler({ intermediates: "*", final: e5 }, () => this.selectCharset("*" + e5)), this._parser.registerEscHandler({ intermediates: "+", final: e5 }, () => this.selectCharset("+" + e5)), this._parser.registerEscHandler({ intermediates: "-", final: e5 }, () => this.selectCharset("-" + e5)), this._parser.registerEscHandler({ intermediates: ".", final: e5 }, () => this.selectCharset("." + e5)), this._parser.registerEscHandler({ intermediates: "/", final: e5 }, () => this.selectCharset("/" + e5));
this._parser.registerEscHandler({ intermediates: "#", final: "8" }, () => this.screenAlignmentPattern()), this._parser.setErrorHandler((e5) => (this._logService.error("Parsing error: ", e5), e5)), this._parser.registerDcsHandler({ intermediates: "$", final: "q" }, new b.DcsHandler((e5, t5) => this.requestStatusString(e5, t5)));
}
_preserveStack(e4, t4, i5, s4) {
this._parseStack.paused = true, this._parseStack.cursorStartX = e4, this._parseStack.cursorStartY = t4, this._parseStack.decodedLength = i5, this._parseStack.position = s4;
}
_logSlowResolvingAsync(e4) {
this._logService.logLevel <= p.LogLevelEnum.WARN && Promise.race([e4, new Promise((e5, t4) => setTimeout(() => t4("#SLOW_TIMEOUT"), 5e3))]).catch((e5) => {
if ("#SLOW_TIMEOUT" !== e5) throw e5;
console.warn("async parser handler taking longer than 5000 ms");
});
}
_getCurrentLinkId() {
return this._curAttrData.extended.urlId;
}
parse(e4, t4) {
let i5, s4 = this._activeBuffer.x, r4 = this._activeBuffer.y, n5 = 0;
const a3 = this._parseStack.paused;
if (a3) {
if (i5 = this._parser.parse(this._parseBuffer, this._parseStack.decodedLength, t4)) return this._logSlowResolvingAsync(i5), i5;
s4 = this._parseStack.cursorStartX, r4 = this._parseStack.cursorStartY, this._parseStack.paused = false, e4.length > C2 && (n5 = this._parseStack.position + C2);
}
if (this._logService.logLevel <= p.LogLevelEnum.DEBUG && this._logService.debug("parsing data" + ("string" == typeof e4 ? ` "${e4}"` : ` "${Array.prototype.map.call(e4, (e5) => String.fromCharCode(e5)).join("")}"`), "string" == typeof e4 ? e4.split("").map((e5) => e5.charCodeAt(0)) : e4), this._parseBuffer.length < e4.length && this._parseBuffer.length < C2 && (this._parseBuffer = new Uint32Array(Math.min(e4.length, C2))), a3 || this._dirtyRowTracker.clearRange(), e4.length > C2) for (let t5 = n5; t5 < e4.length; t5 += C2) {
const n6 = t5 + C2 < e4.length ? t5 + C2 : e4.length, a4 = "string" == typeof e4 ? this._stringDecoder.decode(e4.substring(t5, n6), this._parseBuffer) : this._utf8Decoder.decode(e4.subarray(t5, n6), this._parseBuffer);
if (i5 = this._parser.parse(this._parseBuffer, a4)) return this._preserveStack(s4, r4, a4, t5), this._logSlowResolvingAsync(i5), i5;
}
else if (!a3) {
const t5 = "string" == typeof e4 ? this._stringDecoder.decode(e4, this._parseBuffer) : this._utf8Decoder.decode(e4, this._parseBuffer);
if (i5 = this._parser.parse(this._parseBuffer, t5)) return this._preserveStack(s4, r4, t5, 0), this._logSlowResolvingAsync(i5), i5;
}
this._activeBuffer.x === s4 && this._activeBuffer.y === r4 || this._onCursorMove.fire();
const o4 = this._dirtyRowTracker.end + (this._bufferService.buffer.ybase - this._bufferService.buffer.ydisp), h3 = this._dirtyRowTracker.start + (this._bufferService.buffer.ybase - this._bufferService.buffer.ydisp);
h3 < this._bufferService.rows && this._onRequestRefreshRows.fire(Math.min(h3, this._bufferService.rows - 1), Math.min(o4, this._bufferService.rows - 1));
}
print(e4, t4, i5) {
let s4, r4;
const n5 = this._charsetService.charset, a3 = this._optionsService.rawOptions.screenReaderMode, o4 = this._bufferService.cols, h3 = this._coreService.decPrivateModes.wraparound, _2 = this._coreService.modes.insertMode, f2 = this._curAttrData;
let u3 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y);
this._dirtyRowTracker.markDirty(this._activeBuffer.y), this._activeBuffer.x && i5 - t4 > 0 && 2 === u3.getWidth(this._activeBuffer.x - 1) && u3.setCellFromCodepoint(this._activeBuffer.x - 1, 0, 1, f2);
let p2 = this._parser.precedingJoinState;
for (let v2 = t4; v2 < i5; ++v2) {
if (s4 = e4[v2], s4 < 127 && n5) {
const e5 = n5[String.fromCharCode(s4)];
e5 && (s4 = e5.charCodeAt(0));
}
const t5 = this._unicodeService.charProperties(s4, p2);
r4 = g.UnicodeService.extractWidth(t5);
const i6 = g.UnicodeService.extractShouldJoin(t5), b2 = i6 ? g.UnicodeService.extractWidth(p2) : 0;
if (p2 = t5, a3 && this._onA11yChar.fire((0, c4.stringFromCodePoint)(s4)), this._getCurrentLinkId() && this._oscLinkService.addLineToLink(this._getCurrentLinkId(), this._activeBuffer.ybase + this._activeBuffer.y), this._activeBuffer.x + r4 - b2 > o4) {
if (h3) {
const e5 = u3;
let t6 = this._activeBuffer.x - b2;
for (this._activeBuffer.x = b2, this._activeBuffer.y++, this._activeBuffer.y === this._activeBuffer.scrollBottom + 1 ? (this._activeBuffer.y--, this._bufferService.scroll(this._eraseAttrData(), true)) : (this._activeBuffer.y >= this._bufferService.rows && (this._activeBuffer.y = this._bufferService.rows - 1), this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y).isWrapped = true), u3 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y), b2 > 0 && u3 instanceof l2.BufferLine && u3.copyCellsFrom(e5, t6, 0, b2, false); t6 < o4; ) e5.setCellFromCodepoint(t6++, 0, 1, f2);
} else if (this._activeBuffer.x = o4 - 1, 2 === r4) continue;
}
if (i6 && this._activeBuffer.x) {
const e5 = u3.getWidth(this._activeBuffer.x - 1) ? 1 : 2;
u3.addCodepointToCell(this._activeBuffer.x - e5, s4, r4);
for (let e6 = r4 - b2; --e6 >= 0; ) u3.setCellFromCodepoint(this._activeBuffer.x++, 0, 0, f2);
} else if (_2 && (u3.insertCells(this._activeBuffer.x, r4 - b2, this._activeBuffer.getNullCell(f2)), 2 === u3.getWidth(o4 - 1) && u3.setCellFromCodepoint(o4 - 1, d.NULL_CELL_CODE, d.NULL_CELL_WIDTH, f2)), u3.setCellFromCodepoint(this._activeBuffer.x++, s4, r4, f2), r4 > 0) for (; --r4; ) u3.setCellFromCodepoint(this._activeBuffer.x++, 0, 0, f2);
}
this._parser.precedingJoinState = p2, this._activeBuffer.x < o4 && i5 - t4 > 0 && 0 === u3.getWidth(this._activeBuffer.x) && !u3.hasContent(this._activeBuffer.x) && u3.setCellFromCodepoint(this._activeBuffer.x, 0, 1, f2), this._dirtyRowTracker.markDirty(this._activeBuffer.y);
}
registerCsiHandler(e4, t4) {
return "t" !== e4.final || e4.prefix || e4.intermediates ? this._parser.registerCsiHandler(e4, t4) : this._parser.registerCsiHandler(e4, (e5) => !y(e5.params[0], this._optionsService.rawOptions.windowOptions) || t4(e5));
}
registerDcsHandler(e4, t4) {
return this._parser.registerDcsHandler(e4, new b.DcsHandler(t4));
}
registerEscHandler(e4, t4) {
return this._parser.registerEscHandler(e4, t4);
}
registerOscHandler(e4, t4) {
return this._parser.registerOscHandler(e4, new v.OscHandler(t4));
}
bell() {
return this._onRequestBell.fire(), true;
}
lineFeed() {
return this._dirtyRowTracker.markDirty(this._activeBuffer.y), this._optionsService.rawOptions.convertEol && (this._activeBuffer.x = 0), this._activeBuffer.y++, this._activeBuffer.y === this._activeBuffer.scrollBottom + 1 ? (this._activeBuffer.y--, this._bufferService.scroll(this._eraseAttrData())) : this._activeBuffer.y >= this._bufferService.rows ? this._activeBuffer.y = this._bufferService.rows - 1 : this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y).isWrapped = false, this._activeBuffer.x >= this._bufferService.cols && this._activeBuffer.x--, this._dirtyRowTracker.markDirty(this._activeBuffer.y), this._onLineFeed.fire(), true;
}
carriageReturn() {
return this._activeBuffer.x = 0, true;
}
backspace() {
if (!this._coreService.decPrivateModes.reverseWraparound) return this._restrictCursor(), this._activeBuffer.x > 0 && this._activeBuffer.x--, true;
if (this._restrictCursor(this._bufferService.cols), this._activeBuffer.x > 0) this._activeBuffer.x--;
else if (0 === this._activeBuffer.x && this._activeBuffer.y > this._activeBuffer.scrollTop && this._activeBuffer.y <= this._activeBuffer.scrollBottom && this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y)?.isWrapped) {
this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y).isWrapped = false, this._activeBuffer.y--, this._activeBuffer.x = this._bufferService.cols - 1;
const e4 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y);
e4.hasWidth(this._activeBuffer.x) && !e4.hasContent(this._activeBuffer.x) && this._activeBuffer.x--;
}
return this._restrictCursor(), true;
}
tab() {
if (this._activeBuffer.x >= this._bufferService.cols) return true;
const e4 = this._activeBuffer.x;
return this._activeBuffer.x = this._activeBuffer.nextStop(), this._optionsService.rawOptions.screenReaderMode && this._onA11yTab.fire(this._activeBuffer.x - e4), true;
}
shiftOut() {
return this._charsetService.setgLevel(1), true;
}
shiftIn() {
return this._charsetService.setgLevel(0), true;
}
_restrictCursor(e4 = this._bufferService.cols - 1) {
this._activeBuffer.x = Math.min(e4, Math.max(0, this._activeBuffer.x)), this._activeBuffer.y = this._coreService.decPrivateModes.origin ? Math.min(this._activeBuffer.scrollBottom, Math.max(this._activeBuffer.scrollTop, this._activeBuffer.y)) : Math.min(this._bufferService.rows - 1, Math.max(0, this._activeBuffer.y)), this._dirtyRowTracker.markDirty(this._activeBuffer.y);
}
_setCursor(e4, t4) {
this._dirtyRowTracker.markDirty(this._activeBuffer.y), this._coreService.decPrivateModes.origin ? (this._activeBuffer.x = e4, this._activeBuffer.y = this._activeBuffer.scrollTop + t4) : (this._activeBuffer.x = e4, this._activeBuffer.y = t4), this._restrictCursor(), this._dirtyRowTracker.markDirty(this._activeBuffer.y);
}
_moveCursor(e4, t4) {
this._restrictCursor(), this._setCursor(this._activeBuffer.x + e4, this._activeBuffer.y + t4);
}
cursorUp(e4) {
const t4 = this._activeBuffer.y - this._activeBuffer.scrollTop;
return t4 >= 0 ? this._moveCursor(0, -Math.min(t4, e4.params[0] || 1)) : this._moveCursor(0, -(e4.params[0] || 1)), true;
}
cursorDown(e4) {
const t4 = this._activeBuffer.scrollBottom - this._activeBuffer.y;
return t4 >= 0 ? this._moveCursor(0, Math.min(t4, e4.params[0] || 1)) : this._moveCursor(0, e4.params[0] || 1), true;
}
cursorForward(e4) {
return this._moveCursor(e4.params[0] || 1, 0), true;
}
cursorBackward(e4) {
return this._moveCursor(-(e4.params[0] || 1), 0), true;
}
cursorNextLine(e4) {
return this.cursorDown(e4), this._activeBuffer.x = 0, true;
}
cursorPrecedingLine(e4) {
return this.cursorUp(e4), this._activeBuffer.x = 0, true;
}
cursorCharAbsolute(e4) {
return this._setCursor((e4.params[0] || 1) - 1, this._activeBuffer.y), true;
}
cursorPosition(e4) {
return this._setCursor(e4.length >= 2 ? (e4.params[1] || 1) - 1 : 0, (e4.params[0] || 1) - 1), true;
}
charPosAbsolute(e4) {
return this._setCursor((e4.params[0] || 1) - 1, this._activeBuffer.y), true;
}
hPositionRelative(e4) {
return this._moveCursor(e4.params[0] || 1, 0), true;
}
linePosAbsolute(e4) {
return this._setCursor(this._activeBuffer.x, (e4.params[0] || 1) - 1), true;
}
vPositionRelative(e4) {
return this._moveCursor(0, e4.params[0] || 1), true;
}
hVPosition(e4) {
return this.cursorPosition(e4), true;
}
tabClear(e4) {
const t4 = e4.params[0];
return 0 === t4 ? delete this._activeBuffer.tabs[this._activeBuffer.x] : 3 === t4 && (this._activeBuffer.tabs = {}), true;
}
cursorForwardTab(e4) {
if (this._activeBuffer.x >= this._bufferService.cols) return true;
let t4 = e4.params[0] || 1;
for (; t4--; ) this._activeBuffer.x = this._activeBuffer.nextStop();
return true;
}
cursorBackwardTab(e4) {
if (this._activeBuffer.x >= this._bufferService.cols) return true;
let t4 = e4.params[0] || 1;
for (; t4--; ) this._activeBuffer.x = this._activeBuffer.prevStop();
return true;
}
selectProtected(e4) {
const t4 = e4.params[0];
return 1 === t4 && (this._curAttrData.bg |= 536870912), 2 !== t4 && 0 !== t4 || (this._curAttrData.bg &= -536870913), true;
}
_eraseInBufferLine(e4, t4, i5, s4 = false, r4 = false) {
const n5 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e4);
n5.replaceCells(t4, i5, this._activeBuffer.getNullCell(this._eraseAttrData()), r4), s4 && (n5.isWrapped = false);
}
_resetBufferLine(e4, t4 = false) {
const i5 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e4);
i5 && (i5.fill(this._activeBuffer.getNullCell(this._eraseAttrData()), t4), this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase + e4), i5.isWrapped = false);
}
eraseInDisplay(e4, t4 = false) {
let i5;
switch (this._restrictCursor(this._bufferService.cols), e4.params[0]) {
case 0:
for (i5 = this._activeBuffer.y, this._dirtyRowTracker.markDirty(i5), this._eraseInBufferLine(i5++, this._activeBuffer.x, this._bufferService.cols, 0 === this._activeBuffer.x, t4); i5 < this._bufferService.rows; i5++) this._resetBufferLine(i5, t4);
this._dirtyRowTracker.markDirty(i5);
break;
case 1:
for (i5 = this._activeBuffer.y, this._dirtyRowTracker.markDirty(i5), this._eraseInBufferLine(i5, 0, this._activeBuffer.x + 1, true, t4), this._activeBuffer.x + 1 >= this._bufferService.cols && (this._activeBuffer.lines.get(i5 + 1).isWrapped = false); i5--; ) this._resetBufferLine(i5, t4);
this._dirtyRowTracker.markDirty(0);
break;
case 2:
for (i5 = this._bufferService.rows, this._dirtyRowTracker.markDirty(i5 - 1); i5--; ) this._resetBufferLine(i5, t4);
this._dirtyRowTracker.markDirty(0);
break;
case 3:
const e5 = this._activeBuffer.lines.length - this._bufferService.rows;
e5 > 0 && (this._activeBuffer.lines.trimStart(e5), this._activeBuffer.ybase = Math.max(this._activeBuffer.ybase - e5, 0), this._activeBuffer.ydisp = Math.max(this._activeBuffer.ydisp - e5, 0), this._onScroll.fire(0));
}
return true;
}
eraseInLine(e4, t4 = false) {
switch (this._restrictCursor(this._bufferService.cols), e4.params[0]) {
case 0:
this._eraseInBufferLine(this._activeBuffer.y, this._activeBuffer.x, this._bufferService.cols, 0 === this._activeBuffer.x, t4);
break;
case 1:
this._eraseInBufferLine(this._activeBuffer.y, 0, this._activeBuffer.x + 1, false, t4);
break;
case 2:
this._eraseInBufferLine(this._activeBuffer.y, 0, this._bufferService.cols, true, t4);
}
return this._dirtyRowTracker.markDirty(this._activeBuffer.y), true;
}
insertLines(e4) {
this._restrictCursor();
let t4 = e4.params[0] || 1;
if (this._activeBuffer.y > this._activeBuffer.scrollBottom || this._activeBuffer.y < this._activeBuffer.scrollTop) return true;
const i5 = this._activeBuffer.ybase + this._activeBuffer.y, s4 = this._bufferService.rows - 1 - this._activeBuffer.scrollBottom, r4 = this._bufferService.rows - 1 + this._activeBuffer.ybase - s4 + 1;
for (; t4--; ) this._activeBuffer.lines.splice(r4 - 1, 1), this._activeBuffer.lines.splice(i5, 0, this._activeBuffer.getBlankLine(this._eraseAttrData()));
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y, this._activeBuffer.scrollBottom), this._activeBuffer.x = 0, true;
}
deleteLines(e4) {
this._restrictCursor();
let t4 = e4.params[0] || 1;
if (this._activeBuffer.y > this._activeBuffer.scrollBottom || this._activeBuffer.y < this._activeBuffer.scrollTop) return true;
const i5 = this._activeBuffer.ybase + this._activeBuffer.y;
let s4;
for (s4 = this._bufferService.rows - 1 - this._activeBuffer.scrollBottom, s4 = this._bufferService.rows - 1 + this._activeBuffer.ybase - s4; t4--; ) this._activeBuffer.lines.splice(i5, 1), this._activeBuffer.lines.splice(s4, 0, this._activeBuffer.getBlankLine(this._eraseAttrData()));
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y, this._activeBuffer.scrollBottom), this._activeBuffer.x = 0, true;
}
insertChars(e4) {
this._restrictCursor();
const t4 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y);
return t4 && (t4.insertCells(this._activeBuffer.x, e4.params[0] || 1, this._activeBuffer.getNullCell(this._eraseAttrData())), this._dirtyRowTracker.markDirty(this._activeBuffer.y)), true;
}
deleteChars(e4) {
this._restrictCursor();
const t4 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y);
return t4 && (t4.deleteCells(this._activeBuffer.x, e4.params[0] || 1, this._activeBuffer.getNullCell(this._eraseAttrData())), this._dirtyRowTracker.markDirty(this._activeBuffer.y)), true;
}
scrollUp(e4) {
let t4 = e4.params[0] || 1;
for (; t4--; ) this._activeBuffer.lines.splice(this._activeBuffer.ybase + this._activeBuffer.scrollTop, 1), this._activeBuffer.lines.splice(this._activeBuffer.ybase + this._activeBuffer.scrollBottom, 0, this._activeBuffer.getBlankLine(this._eraseAttrData()));
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop, this._activeBuffer.scrollBottom), true;
}
scrollDown(e4) {
let t4 = e4.params[0] || 1;
for (; t4--; ) this._activeBuffer.lines.splice(this._activeBuffer.ybase + this._activeBuffer.scrollBottom, 1), this._activeBuffer.lines.splice(this._activeBuffer.ybase + this._activeBuffer.scrollTop, 0, this._activeBuffer.getBlankLine(l2.DEFAULT_ATTR_DATA));
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop, this._activeBuffer.scrollBottom), true;
}
scrollLeft(e4) {
if (this._activeBuffer.y > this._activeBuffer.scrollBottom || this._activeBuffer.y < this._activeBuffer.scrollTop) return true;
const t4 = e4.params[0] || 1;
for (let e5 = this._activeBuffer.scrollTop; e5 <= this._activeBuffer.scrollBottom; ++e5) {
const i5 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e5);
i5.deleteCells(0, t4, this._activeBuffer.getNullCell(this._eraseAttrData())), i5.isWrapped = false;
}
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop, this._activeBuffer.scrollBottom), true;
}
scrollRight(e4) {
if (this._activeBuffer.y > this._activeBuffer.scrollBottom || this._activeBuffer.y < this._activeBuffer.scrollTop) return true;
const t4 = e4.params[0] || 1;
for (let e5 = this._activeBuffer.scrollTop; e5 <= this._activeBuffer.scrollBottom; ++e5) {
const i5 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e5);
i5.insertCells(0, t4, this._activeBuffer.getNullCell(this._eraseAttrData())), i5.isWrapped = false;
}
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop, this._activeBuffer.scrollBottom), true;
}
insertColumns(e4) {
if (this._activeBuffer.y > this._activeBuffer.scrollBottom || this._activeBuffer.y < this._activeBuffer.scrollTop) return true;
const t4 = e4.params[0] || 1;
for (let e5 = this._activeBuffer.scrollTop; e5 <= this._activeBuffer.scrollBottom; ++e5) {
const i5 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e5);
i5.insertCells(this._activeBuffer.x, t4, this._activeBuffer.getNullCell(this._eraseAttrData())), i5.isWrapped = false;
}
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop, this._activeBuffer.scrollBottom), true;
}
deleteColumns(e4) {
if (this._activeBuffer.y > this._activeBuffer.scrollBottom || this._activeBuffer.y < this._activeBuffer.scrollTop) return true;
const t4 = e4.params[0] || 1;
for (let e5 = this._activeBuffer.scrollTop; e5 <= this._activeBuffer.scrollBottom; ++e5) {
const i5 = this._activeBuffer.lines.get(this._activeBuffer.ybase + e5);
i5.deleteCells(this._activeBuffer.x, t4, this._activeBuffer.getNullCell(this._eraseAttrData())), i5.isWrapped = false;
}
return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop, this._activeBuffer.scrollBottom), true;
}
eraseChars(e4) {
this._restrictCursor();
const t4 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y);
return t4 && (t4.replaceCells(this._activeBuffer.x, this._activeBuffer.x + (e4.params[0] || 1), this._activeBuffer.getNullCell(this._eraseAttrData())), this._dirtyRowTracker.markDirty(this._activeBuffer.y)), true;
}
repeatPrecedingCharacter(e4) {
const t4 = this._parser.precedingJoinState;
if (!t4) return true;
const i5 = e4.params[0] || 1, s4 = g.UnicodeService.extractWidth(t4), r4 = this._activeBuffer.x - s4, n5 = this._activeBuffer.lines.get(this._activeBuffer.ybase + this._activeBuffer.y).getString(r4), a3 = new Uint32Array(n5.length * i5);
let o4 = 0;
for (let e5 = 0; e5 < n5.length; ) {
const t5 = n5.codePointAt(e5) || 0;
a3[o4++] = t5, e5 += t5 > 65535 ? 2 : 1;
}
let h3 = o4;
for (let e5 = 1; e5 < i5; ++e5) a3.copyWithin(h3, 0, o4), h3 += o4;
return this.print(a3, 0, h3), true;
}
sendDeviceAttributesPrimary(e4) {
return e4.params[0] > 0 || (this._is("xterm") || this._is("rxvt-unicode") || this._is("screen") ? this._coreService.triggerDataEvent(n4.C0.ESC + "[?1;2c") : this._is("linux") && this._coreService.triggerDataEvent(n4.C0.ESC + "[?6c")), true;
}
sendDeviceAttributesSecondary(e4) {
return e4.params[0] > 0 || (this._is("xterm") ? this._coreService.triggerDataEvent(n4.C0.ESC + "[>0;276;0c") : this._is("rxvt-unicode") ? this._coreService.triggerDataEvent(n4.C0.ESC + "[>85;95;0c") : this._is("linux") ? this._coreService.triggerDataEvent(e4.params[0] + "c") : this._is("screen") && this._coreService.triggerDataEvent(n4.C0.ESC + "[>83;40003;0c")), true;
}
_is(e4) {
return 0 === (this._optionsService.rawOptions.termName + "").indexOf(e4);
}
setMode(e4) {
for (let t4 = 0; t4 < e4.length; t4++) switch (e4.params[t4]) {
case 4:
this._coreService.modes.insertMode = true;
break;
case 20:
this._optionsService.options.convertEol = true;
}
return true;
}
setModePrivate(e4) {
for (let t4 = 0; t4 < e4.length; t4++) switch (e4.params[t4]) {
case 1:
this._coreService.decPrivateModes.applicationCursorKeys = true;
break;
case 2:
this._charsetService.setgCharset(0, a2.DEFAULT_CHARSET), this._charsetService.setgCharset(1, a2.DEFAULT_CHARSET), this._charsetService.setgCharset(2, a2.DEFAULT_CHARSET), this._charsetService.setgCharset(3, a2.DEFAULT_CHARSET);
break;
case 3:
this._optionsService.rawOptions.windowOptions.setWinLines && (this._bufferService.resize(132, this._bufferService.rows), this._onRequestReset.fire());
break;
case 6:
this._coreService.decPrivateModes.origin = true, this._setCursor(0, 0);
break;
case 7:
this._coreService.decPrivateModes.wraparound = true;
break;
case 12:
this._optionsService.options.cursorBlink = true;
break;
case 45:
this._coreService.decPrivateModes.reverseWraparound = true;
break;
case 66:
this._logService.debug("Serial port requested application keypad."), this._coreService.decPrivateModes.applicationKeypad = true, this._onRequestSyncScrollBar.fire();
break;
case 9:
this._coreMouseService.activeProtocol = "X10";
break;
case 1e3:
this._coreMouseService.activeProtocol = "VT200";
break;
case 1002:
this._coreMouseService.activeProtocol = "DRAG";
break;
case 1003:
this._coreMouseService.activeProtocol = "ANY";
break;
case 1004:
this._coreService.decPrivateModes.sendFocus = true, this._onRequestSendFocus.fire();
break;
case 1005:
this._logService.debug("DECSET 1005 not supported (see #2507)");
break;
case 1006:
this._coreMouseService.activeEncoding = "SGR";
break;
case 1015:
this._logService.debug("DECSET 1015 not supported (see #2507)");
break;
case 1016:
this._coreMouseService.activeEncoding = "SGR_PIXELS";
break;
case 25:
this._coreService.isCursorHidden = false;
break;
case 1048:
this.saveCursor();
break;
case 1049:
this.saveCursor();
case 47:
case 1047:
this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()), this._coreService.isCursorInitialized = true, this._onRequestRefreshRows.fire(0, this._bufferService.rows - 1), this._onRequestSyncScrollBar.fire();
break;
case 2004:
this._coreService.decPrivateModes.bracketedPasteMode = true;
}
return true;
}
resetMode(e4) {
for (let t4 = 0; t4 < e4.length; t4++) switch (e4.params[t4]) {
case 4:
this._coreService.modes.insertMode = false;
break;
case 20:
this._optionsService.options.convertEol = false;
}
return true;
}
resetModePrivate(e4) {
for (let t4 = 0; t4 < e4.length; t4++) switch (e4.params[t4]) {
case 1:
this._coreService.decPrivateModes.applicationCursorKeys = false;
break;
case 3:
this._optionsService.rawOptions.windowOptions.setWinLines && (this._bufferService.resize(80, this._bufferService.rows), this._onRequestReset.fire());
break;
case 6:
this._coreService.decPrivateModes.origin = false, this._setCursor(0, 0);
break;
case 7:
this._coreService.decPrivateModes.wraparound = false;
break;
case 12:
this._optionsService.options.cursorBlink = false;
break;
case 45:
this._coreService.decPrivateModes.reverseWraparound = false;
break;
case 66:
this._logService.debug("Switching back to normal keypad."), this._coreService.decPrivateModes.applicationKeypad = false, this._onRequestSyncScrollBar.fire();
break;
case 9:
case 1e3:
case 1002:
case 1003:
this._coreMouseService.activeProtocol = "NONE";
break;
case 1004:
this._coreService.decPrivateModes.sendFocus = false;
break;
case 1005:
this._logService.debug("DECRST 1005 not supported (see #2507)");
break;
case 1006:
case 1016:
this._coreMouseService.activeEncoding = "DEFAULT";
break;
case 1015:
this._logService.debug("DECRST 1015 not supported (see #2507)");
break;
case 25:
this._coreService.isCursorHidden = true;
break;
case 1048:
this.restoreCursor();
break;
case 1049:
case 47:
case 1047:
this._bufferService.buffers.activateNormalBuffer(), 1049 === e4.params[t4] && this.restoreCursor(), this._coreService.isCursorInitialized = true, this._onRequestRefreshRows.fire(0, this._bufferService.rows - 1), this._onRequestSyncScrollBar.fire();
break;
case 2004:
this._coreService.decPrivateModes.bracketedPasteMode = false;
}
return true;
}
requestMode(e4, t4) {
const i5 = this._coreService.decPrivateModes, { activeProtocol: s4, activeEncoding: r4 } = this._coreMouseService, a3 = this._coreService, { buffers: o4, cols: h3 } = this._bufferService, { active: c5, alt: l3 } = o4, _2 = this._optionsService.rawOptions, d2 = (e5) => e5 ? 1 : 2, f2 = e4.params[0];
return u3 = f2, p2 = t4 ? 2 === f2 ? 4 : 4 === f2 ? d2(a3.modes.insertMode) : 12 === f2 ? 3 : 20 === f2 ? d2(_2.convertEol) : 0 : 1 === f2 ? d2(i5.applicationCursorKeys) : 3 === f2 ? _2.windowOptions.setWinLines ? 80 === h3 ? 2 : 132 === h3 ? 1 : 0 : 0 : 6 === f2 ? d2(i5.origin) : 7 === f2 ? d2(i5.wraparound) : 8 === f2 ? 3 : 9 === f2 ? d2("X10" === s4) : 12 === f2 ? d2(_2.cursorBlink) : 25 === f2 ? d2(!a3.isCursorHidden) : 45 === f2 ? d2(i5.reverseWraparound) : 66 === f2 ? d2(i5.applicationKeypad) : 67 === f2 ? 4 : 1e3 === f2 ? d2("VT200" === s4) : 1002 === f2 ? d2("DRAG" === s4) : 1003 === f2 ? d2("ANY" === s4) : 1004 === f2 ? d2(i5.sendFocus) : 1005 === f2 ? 4 : 1006 === f2 ? d2("SGR" === r4) : 1015 === f2 ? 4 : 1016 === f2 ? d2("SGR_PIXELS" === r4) : 1048 === f2 ? 1 : 47 === f2 || 1047 === f2 || 1049 === f2 ? d2(c5 === l3) : 2004 === f2 ? d2(i5.bracketedPasteMode) : 0, a3.triggerDataEvent(`${n4.C0.ESC}[${t4 ? "" : "?"}${u3};${p2}$y`), true;
var u3, p2;
}
_updateAttrColor(e4, t4, i5, s4, r4) {
return 2 === t4 ? (e4 |= 50331648, e4 &= -16777216, e4 |= u2.AttributeData.fromColorRGB([i5, s4, r4])) : 5 === t4 && (e4 &= -50331904, e4 |= 33554432 | 255 & i5), e4;
}
_extractColor(e4, t4, i5) {
const s4 = [0, 0, -1, 0, 0, 0];
let r4 = 0, n5 = 0;
do {
if (s4[n5 + r4] = e4.params[t4 + n5], e4.hasSubParams(t4 + n5)) {
const i6 = e4.getSubParams(t4 + n5);
let a3 = 0;
do {
5 === s4[1] && (r4 = 1), s4[n5 + a3 + 1 + r4] = i6[a3];
} while (++a3 < i6.length && a3 + n5 + 1 + r4 < s4.length);
break;
}
if (5 === s4[1] && n5 + r4 >= 2 || 2 === s4[1] && n5 + r4 >= 5) break;
s4[1] && (r4 = 1);
} while (++n5 + t4 < e4.length && n5 + r4 < s4.length);
for (let e5 = 2; e5 < s4.length; ++e5) -1 === s4[e5] && (s4[e5] = 0);
switch (s4[0]) {
case 38:
i5.fg = this._updateAttrColor(i5.fg, s4[1], s4[3], s4[4], s4[5]);
break;
case 48:
i5.bg = this._updateAttrColor(i5.bg, s4[1], s4[3], s4[4], s4[5]);
break;
case 58:
i5.extended = i5.extended.clone(), i5.extended.underlineColor = this._updateAttrColor(i5.extended.underlineColor, s4[1], s4[3], s4[4], s4[5]);
}
return n5;
}
_processUnderline(e4, t4) {
t4.extended = t4.extended.clone(), (!~e4 || e4 > 5) && (e4 = 1), t4.extended.underlineStyle = e4, t4.fg |= 268435456, 0 === e4 && (t4.fg &= -268435457), t4.updateExtended();
}
_processSGR0(e4) {
e4.fg = l2.DEFAULT_ATTR_DATA.fg, e4.bg = l2.DEFAULT_ATTR_DATA.bg, e4.extended = e4.extended.clone(), e4.extended.underlineStyle = 0, e4.extended.underlineColor &= -67108864, e4.updateExtended();
}
charAttributes(e4) {
if (1 === e4.length && 0 === e4.params[0]) return this._processSGR0(this._curAttrData), true;
const t4 = e4.length;
let i5;
const s4 = this._curAttrData;
for (let r4 = 0; r4 < t4; r4++) i5 = e4.params[r4], i5 >= 30 && i5 <= 37 ? (s4.fg &= -50331904, s4.fg |= 16777216 | i5 - 30) : i5 >= 40 && i5 <= 47 ? (s4.bg &= -50331904, s4.bg |= 16777216 | i5 - 40) : i5 >= 90 && i5 <= 97 ? (s4.fg &= -50331904, s4.fg |= 16777224 | i5 - 90) : i5 >= 100 && i5 <= 107 ? (s4.bg &= -50331904, s4.bg |= 16777224 | i5 - 100) : 0 === i5 ? this._processSGR0(s4) : 1 === i5 ? s4.fg |= 134217728 : 3 === i5 ? s4.bg |= 67108864 : 4 === i5 ? (s4.fg |= 268435456, this._processUnderline(e4.hasSubParams(r4) ? e4.getSubParams(r4)[0] : 1, s4)) : 5 === i5 ? s4.fg |= 536870912 : 7 === i5 ? s4.fg |= 67108864 : 8 === i5 ? s4.fg |= 1073741824 : 9 === i5 ? s4.fg |= 2147483648 : 2 === i5 ? s4.bg |= 134217728 : 21 === i5 ? this._processUnderline(2, s4) : 22 === i5 ? (s4.fg &= -134217729, s4.bg &= -134217729) : 23 === i5 ? s4.bg &= -67108865 : 24 === i5 ? (s4.fg &= -268435457, this._processUnderline(0, s4)) : 25 === i5 ? s4.fg &= -536870913 : 27 === i5 ? s4.fg &= -67108865 : 28 === i5 ? s4.fg &= -1073741825 : 29 === i5 ? s4.fg &= 2147483647 : 39 === i5 ? (s4.fg &= -67108864, s4.fg |= 16777215 & l2.DEFAULT_ATTR_DATA.fg) : 49 === i5 ? (s4.bg &= -67108864, s4.bg |= 16777215 & l2.DEFAULT_ATTR_DATA.bg) : 38 === i5 || 48 === i5 || 58 === i5 ? r4 += this._extractColor(e4, r4, s4) : 53 === i5 ? s4.bg |= 1073741824 : 55 === i5 ? s4.bg &= -1073741825 : 59 === i5 ? (s4.extended = s4.extended.clone(), s4.extended.underlineColor = -1, s4.updateExtended()) : 100 === i5 ? (s4.fg &= -67108864, s4.fg |= 16777215 & l2.DEFAULT_ATTR_DATA.fg, s4.bg &= -67108864, s4.bg |= 16777215 & l2.DEFAULT_ATTR_DATA.bg) : this._logService.debug("Unknown SGR attribute: %d.", i5);
return true;
}
deviceStatus(e4) {
switch (e4.params[0]) {
case 5:
this._coreService.triggerDataEvent(`${n4.C0.ESC}[0n`);
break;
case 6:
const e5 = this._activeBuffer.y + 1, t4 = this._activeBuffer.x + 1;
this._coreService.triggerDataEvent(`${n4.C0.ESC}[${e5};${t4}R`);
}
return true;
}
deviceStatusPrivate(e4) {
if (6 === e4.params[0]) {
const e5 = this._activeBuffer.y + 1, t4 = this._activeBuffer.x + 1;
this._coreService.triggerDataEvent(`${n4.C0.ESC}[?${e5};${t4}R`);
}
return true;
}
softReset(e4) {
return this._coreService.isCursorHidden = false, this._onRequestSyncScrollBar.fire(), this._activeBuffer.scrollTop = 0, this._activeBuffer.scrollBottom = this._bufferService.rows - 1, this._curAttrData = l2.DEFAULT_ATTR_DATA.clone(), this._coreService.reset(), this._charsetService.reset(), this._activeBuffer.savedX = 0, this._activeBuffer.savedY = this._activeBuffer.ybase, this._activeBuffer.savedCurAttrData.fg = this._curAttrData.fg, this._activeBuffer.savedCurAttrData.bg = this._curAttrData.bg, this._activeBuffer.savedCharset = this._charsetService.charset, this._coreService.decPrivateModes.origin = false, true;
}
setCursorStyle(e4) {
const t4 = e4.params[0] || 1;
switch (t4) {
case 1:
case 2:
this._optionsService.options.cursorStyle = "block";
break;
case 3:
case 4:
this._optionsService.options.cursorStyle = "underline";
break;
case 5:
case 6:
this._optionsService.options.cursorStyle = "bar";
}
const i5 = t4 % 2 == 1;
return this._optionsService.options.cursorBlink = i5, true;
}
setScrollRegion(e4) {
const t4 = e4.params[0] || 1;
let i5;
return (e4.length < 2 || (i5 = e4.params[1]) > this._bufferService.rows || 0 === i5) && (i5 = this._bufferService.rows), i5 > t4 && (this._activeBuffer.scrollTop = t4 - 1, this._activeBuffer.scrollBottom = i5 - 1, this._setCursor(0, 0)), true;
}
windowOptions(e4) {
if (!y(e4.params[0], this._optionsService.rawOptions.windowOptions)) return true;
const t4 = e4.length > 1 ? e4.params[1] : 0;
switch (e4.params[0]) {
case 14:
2 !== t4 && this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);
break;
case 16:
this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);
break;
case 18:
this._bufferService && this._coreService.triggerDataEvent(`${n4.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);
break;
case 22:
0 !== t4 && 2 !== t4 || (this._windowTitleStack.push(this._windowTitle), this._windowTitleStack.length > 10 && this._windowTitleStack.shift()), 0 !== t4 && 1 !== t4 || (this._iconNameStack.push(this._iconName), this._iconNameStack.length > 10 && this._iconNameStack.shift());
break;
case 23:
0 !== t4 && 2 !== t4 || this._windowTitleStack.length && this.setTitle(this._windowTitleStack.pop()), 0 !== t4 && 1 !== t4 || this._iconNameStack.length && this.setIconName(this._iconNameStack.pop());
}
return true;
}
saveCursor(e4) {
return this._activeBuffer.savedX = this._activeBuffer.x, this._activeBuffer.savedY = this._activeBuffer.ybase + this._activeBuffer.y, this._activeBuffer.savedCurAttrData.fg = this._curAttrData.fg, this._activeBuffer.savedCurAttrData.bg = this._curAttrData.bg, this._activeBuffer.savedCharset = this._charsetService.charset, true;
}
restoreCursor(e4) {
return this._activeBuffer.x = this._activeBuffer.savedX || 0, this._activeBuffer.y = Math.max(this._activeBuffer.savedY - this._activeBuffer.ybase, 0), this._curAttrData.fg = this._activeBuffer.savedCurAttrData.fg, this._curAttrData.bg = this._activeBuffer.savedCurAttrData.bg, this._charsetService.charset = this._savedCharset, this._activeBuffer.savedCharset && (this._charsetService.charset = this._activeBuffer.savedCharset), this._restrictCursor(), true;
}
setTitle(e4) {
return this._windowTitle = e4, this._onTitleChange.fire(e4), true;
}
setIconName(e4) {
return this._iconName = e4, true;
}
setOrReportIndexedColor(e4) {
const t4 = [], i5 = e4.split(";");
for (; i5.length > 1; ) {
const e5 = i5.shift(), s4 = i5.shift();
if (/^\d+$/.exec(e5)) {
const i6 = parseInt(e5);
if (L(i6)) if ("?" === s4) t4.push({ type: 0, index: i6 });
else {
const e6 = (0, S.parseColor)(s4);
e6 && t4.push({ type: 1, index: i6, color: e6 });
}
}
}
return t4.length && this._onColor.fire(t4), true;
}
setHyperlink(e4) {
const t4 = e4.split(";");
return !(t4.length < 2) && (t4[1] ? this._createHyperlink(t4[0], t4[1]) : !t4[0] && this._finishHyperlink());
}
_createHyperlink(e4, t4) {
this._getCurrentLinkId() && this._finishHyperlink();
const i5 = e4.split(":");
let s4;
const r4 = i5.findIndex((e5) => e5.startsWith("id="));
return -1 !== r4 && (s4 = i5[r4].slice(3) || void 0), this._curAttrData.extended = this._curAttrData.extended.clone(), this._curAttrData.extended.urlId = this._oscLinkService.registerLink({ id: s4, uri: t4 }), this._curAttrData.updateExtended(), true;
}
_finishHyperlink() {
return this._curAttrData.extended = this._curAttrData.extended.clone(), this._curAttrData.extended.urlId = 0, this._curAttrData.updateExtended(), true;
}
_setOrReportSpecialColor(e4, t4) {
const i5 = e4.split(";");
for (let e5 = 0; e5 < i5.length && !(t4 >= this._specialColors.length); ++e5, ++t4) if ("?" === i5[e5]) this._onColor.fire([{ type: 0, index: this._specialColors[t4] }]);
else {
const s4 = (0, S.parseColor)(i5[e5]);
s4 && this._onColor.fire([{ type: 1, index: this._specialColors[t4], color: s4 }]);
}
return true;
}
setOrReportFgColor(e4) {
return this._setOrReportSpecialColor(e4, 0);
}
setOrReportBgColor(e4) {
return this._setOrReportSpecialColor(e4, 1);
}
setOrReportCursorColor(e4) {
return this._setOrReportSpecialColor(e4, 2);
}
restoreIndexedColor(e4) {
if (!e4) return this._onColor.fire([{ type: 2 }]), true;
const t4 = [], i5 = e4.split(";");
for (let e5 = 0; e5 < i5.length; ++e5) if (/^\d+$/.exec(i5[e5])) {
const s4 = parseInt(i5[e5]);
L(s4) && t4.push({ type: 2, index: s4 });
}
return t4.length && this._onColor.fire(t4), true;
}
restoreFgColor(e4) {
return this._onColor.fire([{ type: 2, index: 256 }]), true;
}
restoreBgColor(e4) {
return this._onColor.fire([{ type: 2, index: 257 }]), true;
}
restoreCursorColor(e4) {
return this._onColor.fire([{ type: 2, index: 258 }]), true;
}
nextLine() {
return this._activeBuffer.x = 0, this.index(), true;
}
keypadApplicationMode() {
return this._logService.debug("Serial port requested application keypad."), this._coreService.decPrivateModes.applicationKeypad = true, this._onRequestSyncScrollBar.fire(), true;
}
keypadNumericMode() {
return this._logService.debug("Switching back to normal keypad."), this._coreService.decPrivateModes.applicationKeypad = false, this._onRequestSyncScrollBar.fire(), true;
}
selectDefaultCharset() {
return this._charsetService.setgLevel(0), this._charsetService.setgCharset(0, a2.DEFAULT_CHARSET), true;
}
selectCharset(e4) {
return 2 !== e4.length ? (this.selectDefaultCharset(), true) : ("/" === e4[0] || this._charsetService.setgCharset(m[e4[0]], a2.CHARSETS[e4[1]] || a2.DEFAULT_CHARSET), true);
}
index() {
return this._restrictCursor(), this._activeBuffer.y++, this._activeBuffer.y === this._activeBuffer.scrollBottom + 1 ? (this._activeBuffer.y--, this._bufferService.scroll(this._eraseAttrData())) : this._activeBuffer.y >= this._bufferService.rows && (this._activeBuffer.y = this._bufferService.rows - 1), this._restrictCursor(), true;
}
tabSet() {
return this._activeBuffer.tabs[this._activeBuffer.x] = true, true;
}
reverseIndex() {
if (this._restrictCursor(), this._activeBuffer.y === this._activeBuffer.scrollTop) {
const e4 = this._activeBuffer.scrollBottom - this._activeBuffer.scrollTop;
this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase + this._activeBuffer.y, e4, 1), this._activeBuffer.lines.set(this._activeBuffer.ybase + this._activeBuffer.y, this._activeBuffer.getBlankLine(this._eraseAttrData())), this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop, this._activeBuffer.scrollBottom);
} else this._activeBuffer.y--, this._restrictCursor();
return true;
}
fullReset() {
return this._parser.reset(), this._onRequestReset.fire(), true;
}
reset() {
this._curAttrData = l2.DEFAULT_ATTR_DATA.clone(), this._eraseAttrDataInternal = l2.DEFAULT_ATTR_DATA.clone();
}
_eraseAttrData() {
return this._eraseAttrDataInternal.bg &= -67108864, this._eraseAttrDataInternal.bg |= 67108863 & this._curAttrData.bg, this._eraseAttrDataInternal;
}
setgLevel(e4) {
return this._charsetService.setgLevel(e4), true;
}
screenAlignmentPattern() {
const e4 = new f.CellData();
e4.content = 1 << 22 | "E".charCodeAt(0), e4.fg = this._curAttrData.fg, e4.bg = this._curAttrData.bg, this._setCursor(0, 0);
for (let t4 = 0; t4 < this._bufferService.rows; ++t4) {
const i5 = this._activeBuffer.ybase + this._activeBuffer.y + t4, s4 = this._activeBuffer.lines.get(i5);
s4 && (s4.fill(e4), s4.isWrapped = false);
}
return this._dirtyRowTracker.markAllDirty(), this._setCursor(0, 0), true;
}
requestStatusString(e4, t4) {
const i5 = this._bufferService.buffer, s4 = this._optionsService.rawOptions;
return ((e5) => (this._coreService.triggerDataEvent(`${n4.C0.ESC}${e5}${n4.C0.ESC}\\`), true))('"q' === e4 ? `P1$r${this._curAttrData.isProtected() ? 1 : 0}"q` : '"p' === e4 ? 'P1$r61;1"p' : "r" === e4 ? `P1$r${i5.scrollTop + 1};${i5.scrollBottom + 1}r` : "m" === e4 ? "P1$r0m" : " q" === e4 ? `P1$r${{ block: 2, underline: 4, bar: 6 }[s4.cursorStyle] - (s4.cursorBlink ? 1 : 0)} q` : "P0$r");
}
markRangeDirty(e4, t4) {
this._dirtyRowTracker.markRangeDirty(e4, t4);
}
}
t3.InputHandler = E;
let A = class {
constructor(e4) {
this._bufferService = e4, this.clearRange();
}
clearRange() {
this.start = this._bufferService.buffer.y, this.end = this._bufferService.buffer.y;
}
markDirty(e4) {
e4 < this.start ? this.start = e4 : e4 > this.end && (this.end = e4);
}
markRangeDirty(e4, t4) {
e4 > t4 && (B = e4, e4 = t4, t4 = B), e4 < this.start && (this.start = e4), t4 > this.end && (this.end = t4);
}
markAllDirty() {
this.markRangeDirty(0, this._bufferService.rows - 1);
}
};
function L(e4) {
return 0 <= e4 && e4 < 256;
}
A = s3([r3(0, p.IBufferService)], A);
}, 844: (e3, t3) => {
function i4(e4) {
for (const t4 of e4) t4.dispose();
e4.length = 0;
}
Object.defineProperty(t3, "__esModule", { value: true }), t3.getDisposeArrayDisposable = t3.disposeArray = t3.toDisposable = t3.MutableDisposable = t3.Disposable = void 0, t3.Disposable = class {
constructor() {
this._disposables = [], this._isDisposed = false;
}
dispose() {
this._isDisposed = true;
for (const e4 of this._disposables) e4.dispose();
this._disposables.length = 0;
}
register(e4) {
return this._disposables.push(e4), e4;
}
unregister(e4) {
const t4 = this._disposables.indexOf(e4);
-1 !== t4 && this._disposables.splice(t4, 1);
}
}, t3.MutableDisposable = class {
constructor() {
this._isDisposed = false;
}
get value() {
return this._isDisposed ? void 0 : this._value;
}
set value(e4) {
this._isDisposed || e4 === this._value || (this._value?.dispose(), this._value = e4);
}
clear() {
this.value = void 0;
}
dispose() {
this._isDisposed = true, this._value?.dispose(), this._value = void 0;
}
}, t3.toDisposable = function(e4) {
return { dispose: e4 };
}, t3.disposeArray = i4, t3.getDisposeArrayDisposable = function(e4) {
return { dispose: () => i4(e4) };
};
}, 114: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.isChromeOS = t3.isLinux = t3.isWindows = t3.isIphone = t3.isIpad = t3.isMac = t3.getSafariVersion = t3.isSafari = t3.isLegacyEdge = t3.isFirefox = t3.isNode = void 0, t3.isNode = "undefined" != typeof process && "title" in process;
const i4 = t3.isNode ? "node" : navigator.userAgent, s3 = t3.isNode ? "node" : navigator.platform;
t3.isFirefox = i4.includes("Firefox"), t3.isLegacyEdge = i4.includes("Edge"), t3.isSafari = /^((?!chrome|android).)*safari/i.test(i4), t3.getSafariVersion = function() {
if (!t3.isSafari) return 0;
const e4 = i4.match(/Version\/(\d+)/);
return null === e4 || e4.length < 2 ? 0 : parseInt(e4[1]);
}, t3.isMac = ["Macintosh", "MacIntel", "MacPPC", "Mac68K"].includes(s3), t3.isIpad = "iPad" === s3, t3.isIphone = "iPhone" === s3, t3.isWindows = ["Windows", "Win16", "Win32", "WinCE"].includes(s3), t3.isLinux = s3.indexOf("Linux") >= 0, t3.isChromeOS = /\bCrOS\b/.test(i4);
}, 226: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.DebouncedIdleTask = t3.IdleTaskQueue = t3.PriorityTaskQueue = void 0;
const s3 = i4(114);
class r3 {
constructor() {
this._tasks = [], this._i = 0;
}
enqueue(e4) {
this._tasks.push(e4), this._start();
}
flush() {
for (; this._i < this._tasks.length; ) this._tasks[this._i]() || this._i++;
this.clear();
}
clear() {
this._idleCallback && (this._cancelCallback(this._idleCallback), this._idleCallback = void 0), this._i = 0, this._tasks.length = 0;
}
_start() {
this._idleCallback || (this._idleCallback = this._requestCallback(this._process.bind(this)));
}
_process(e4) {
this._idleCallback = void 0;
let t4 = 0, i5 = 0, s4 = e4.timeRemaining(), r4 = 0;
for (; this._i < this._tasks.length; ) {
if (t4 = Date.now(), this._tasks[this._i]() || this._i++, t4 = Math.max(1, Date.now() - t4), i5 = Math.max(t4, i5), r4 = e4.timeRemaining(), 1.5 * i5 > r4) return s4 - t4 < -20 && console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s4 - t4))}ms`), void this._start();
s4 = r4;
}
this.clear();
}
}
class n4 extends r3 {
_requestCallback(e4) {
return setTimeout(() => e4(this._createDeadline(16)));
}
_cancelCallback(e4) {
clearTimeout(e4);
}
_createDeadline(e4) {
const t4 = Date.now() + e4;
return { timeRemaining: () => Math.max(0, t4 - Date.now()) };
}
}
t3.PriorityTaskQueue = n4, t3.IdleTaskQueue = !s3.isNode && "requestIdleCallback" in window ? class extends r3 {
_requestCallback(e4) {
return requestIdleCallback(e4);
}
_cancelCallback(e4) {
cancelIdleCallback(e4);
}
} : n4, t3.DebouncedIdleTask = class {
constructor() {
this._queue = new t3.IdleTaskQueue();
}
set(e4) {
this._queue.clear(), this._queue.enqueue(e4);
}
flush() {
this._queue.flush();
}
};
}, 282: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.updateWindowsModeWrappedState = void 0;
const s3 = i4(643);
t3.updateWindowsModeWrappedState = function(e4) {
const t4 = e4.buffer.lines.get(e4.buffer.ybase + e4.buffer.y - 1), i5 = t4?.get(e4.cols - 1), r3 = e4.buffer.lines.get(e4.buffer.ybase + e4.buffer.y);
r3 && i5 && (r3.isWrapped = i5[s3.CHAR_DATA_CODE_INDEX] !== s3.NULL_CELL_CODE && i5[s3.CHAR_DATA_CODE_INDEX] !== s3.WHITESPACE_CELL_CODE);
};
}, 734: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.ExtendedAttrs = t3.AttributeData = void 0;
class i4 {
constructor() {
this.fg = 0, this.bg = 0, this.extended = new s3();
}
static toColorRGB(e4) {
return [e4 >>> 16 & 255, e4 >>> 8 & 255, 255 & e4];
}
static fromColorRGB(e4) {
return (255 & e4[0]) << 16 | (255 & e4[1]) << 8 | 255 & e4[2];
}
clone() {
const e4 = new i4();
return e4.fg = this.fg, e4.bg = this.bg, e4.extended = this.extended.clone(), e4;
}
isInverse() {
return 67108864 & this.fg;
}
isBold() {
return 134217728 & this.fg;
}
isUnderline() {
return this.hasExtendedAttrs() && 0 !== this.extended.underlineStyle ? 1 : 268435456 & this.fg;
}
isBlink() {
return 536870912 & this.fg;
}
isInvisible() {
return 1073741824 & this.fg;
}
isItalic() {
return 67108864 & this.bg;
}
isDim() {
return 134217728 & this.bg;
}
isStrikethrough() {
return 2147483648 & this.fg;
}
isProtected() {
return 536870912 & this.bg;
}
isOverline() {
return 1073741824 & this.bg;
}
getFgColorMode() {
return 50331648 & this.fg;
}
getBgColorMode() {
return 50331648 & this.bg;
}
isFgRGB() {
return 50331648 == (50331648 & this.fg);
}
isBgRGB() {
return 50331648 == (50331648 & this.bg);
}
isFgPalette() {
return 16777216 == (50331648 & this.fg) || 33554432 == (50331648 & this.fg);
}
isBgPalette() {
return 16777216 == (50331648 & this.bg) || 33554432 == (50331648 & this.bg);
}
isFgDefault() {
return 0 == (50331648 & this.fg);
}
isBgDefault() {
return 0 == (50331648 & this.bg);
}
isAttributeDefault() {
return 0 === this.fg && 0 === this.bg;
}
getFgColor() {
switch (50331648 & this.fg) {
case 16777216:
case 33554432:
return 255 & this.fg;
case 50331648:
return 16777215 & this.fg;
default:
return -1;
}
}
getBgColor() {
switch (50331648 & this.bg) {
case 16777216:
case 33554432:
return 255 & this.bg;
case 50331648:
return 16777215 & this.bg;
default:
return -1;
}
}
hasExtendedAttrs() {
return 268435456 & this.bg;
}
updateExtended() {
this.extended.isEmpty() ? this.bg &= -268435457 : this.bg |= 268435456;
}
getUnderlineColor() {
if (268435456 & this.bg && ~this.extended.underlineColor) switch (50331648 & this.extended.underlineColor) {
case 16777216:
case 33554432:
return 255 & this.extended.underlineColor;
case 50331648:
return 16777215 & this.extended.underlineColor;
default:
return this.getFgColor();
}
return this.getFgColor();
}
getUnderlineColorMode() {
return 268435456 & this.bg && ~this.extended.underlineColor ? 50331648 & this.extended.underlineColor : this.getFgColorMode();
}
isUnderlineColorRGB() {
return 268435456 & this.bg && ~this.extended.underlineColor ? 50331648 == (50331648 & this.extended.underlineColor) : this.isFgRGB();
}
isUnderlineColorPalette() {
return 268435456 & this.bg && ~this.extended.underlineColor ? 16777216 == (50331648 & this.extended.underlineColor) || 33554432 == (50331648 & this.extended.underlineColor) : this.isFgPalette();
}
isUnderlineColorDefault() {
return 268435456 & this.bg && ~this.extended.underlineColor ? 0 == (50331648 & this.extended.underlineColor) : this.isFgDefault();
}
getUnderlineStyle() {
return 268435456 & this.fg ? 268435456 & this.bg ? this.extended.underlineStyle : 1 : 0;
}
getUnderlineVariantOffset() {
return this.extended.underlineVariantOffset;
}
}
t3.AttributeData = i4;
class s3 {
get ext() {
return this._urlId ? -469762049 & this._ext | this.underlineStyle << 26 : this._ext;
}
set ext(e4) {
this._ext = e4;
}
get underlineStyle() {
return this._urlId ? 5 : (469762048 & this._ext) >> 26;
}
set underlineStyle(e4) {
this._ext &= -469762049, this._ext |= e4 << 26 & 469762048;
}
get underlineColor() {
return 67108863 & this._ext;
}
set underlineColor(e4) {
this._ext &= -67108864, this._ext |= 67108863 & e4;
}
get urlId() {
return this._urlId;
}
set urlId(e4) {
this._urlId = e4;
}
get underlineVariantOffset() {
const e4 = (3758096384 & this._ext) >> 29;
return e4 < 0 ? 4294967288 ^ e4 : e4;
}
set underlineVariantOffset(e4) {
this._ext &= 536870911, this._ext |= e4 << 29 & 3758096384;
}
constructor(e4 = 0, t4 = 0) {
this._ext = 0, this._urlId = 0, this._ext = e4, this._urlId = t4;
}
clone() {
return new s3(this._ext, this._urlId);
}
isEmpty() {
return 0 === this.underlineStyle && 0 === this._urlId;
}
}
t3.ExtendedAttrs = s3;
}, 92: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.Buffer = t3.MAX_BUFFER_SIZE = void 0;
const s3 = i4(349), r3 = i4(226), n4 = i4(734), a2 = i4(437), o3 = i4(634), h2 = i4(511), c4 = i4(643), l2 = i4(863), _ = i4(116);
t3.MAX_BUFFER_SIZE = 4294967295, t3.Buffer = class {
constructor(e4, t4, i5) {
this._hasScrollback = e4, this._optionsService = t4, this._bufferService = i5, this.ydisp = 0, this.ybase = 0, this.y = 0, this.x = 0, this.tabs = {}, this.savedY = 0, this.savedX = 0, this.savedCurAttrData = a2.DEFAULT_ATTR_DATA.clone(), this.savedCharset = _.DEFAULT_CHARSET, this.markers = [], this._nullCell = h2.CellData.fromCharData([0, c4.NULL_CELL_CHAR, c4.NULL_CELL_WIDTH, c4.NULL_CELL_CODE]), this._whitespaceCell = h2.CellData.fromCharData([0, c4.WHITESPACE_CELL_CHAR, c4.WHITESPACE_CELL_WIDTH, c4.WHITESPACE_CELL_CODE]), this._isClearing = false, this._memoryCleanupQueue = new r3.IdleTaskQueue(), this._memoryCleanupPosition = 0, this._cols = this._bufferService.cols, this._rows = this._bufferService.rows, this.lines = new s3.CircularList(this._getCorrectBufferLength(this._rows)), this.scrollTop = 0, this.scrollBottom = this._rows - 1, this.setupTabStops();
}
getNullCell(e4) {
return e4 ? (this._nullCell.fg = e4.fg, this._nullCell.bg = e4.bg, this._nullCell.extended = e4.extended) : (this._nullCell.fg = 0, this._nullCell.bg = 0, this._nullCell.extended = new n4.ExtendedAttrs()), this._nullCell;
}
getWhitespaceCell(e4) {
return e4 ? (this._whitespaceCell.fg = e4.fg, this._whitespaceCell.bg = e4.bg, this._whitespaceCell.extended = e4.extended) : (this._whitespaceCell.fg = 0, this._whitespaceCell.bg = 0, this._whitespaceCell.extended = new n4.ExtendedAttrs()), this._whitespaceCell;
}
getBlankLine(e4, t4) {
return new a2.BufferLine(this._bufferService.cols, this.getNullCell(e4), t4);
}
get hasScrollback() {
return this._hasScrollback && this.lines.maxLength > this._rows;
}
get isCursorInViewport() {
const e4 = this.ybase + this.y - this.ydisp;
return e4 >= 0 && e4 < this._rows;
}
_getCorrectBufferLength(e4) {
if (!this._hasScrollback) return e4;
const i5 = e4 + this._optionsService.rawOptions.scrollback;
return i5 > t3.MAX_BUFFER_SIZE ? t3.MAX_BUFFER_SIZE : i5;
}
fillViewportRows(e4) {
if (0 === this.lines.length) {
void 0 === e4 && (e4 = a2.DEFAULT_ATTR_DATA);
let t4 = this._rows;
for (; t4--; ) this.lines.push(this.getBlankLine(e4));
}
}
clear() {
this.ydisp = 0, this.ybase = 0, this.y = 0, this.x = 0, this.lines = new s3.CircularList(this._getCorrectBufferLength(this._rows)), this.scrollTop = 0, this.scrollBottom = this._rows - 1, this.setupTabStops();
}
resize(e4, t4) {
const i5 = this.getNullCell(a2.DEFAULT_ATTR_DATA);
let s4 = 0;
const r4 = this._getCorrectBufferLength(t4);
if (r4 > this.lines.maxLength && (this.lines.maxLength = r4), this.lines.length > 0) {
if (this._cols < e4) for (let t5 = 0; t5 < this.lines.length; t5++) s4 += +this.lines.get(t5).resize(e4, i5);
let n5 = 0;
if (this._rows < t4) for (let s5 = this._rows; s5 < t4; s5++) this.lines.length < t4 + this.ybase && (this._optionsService.rawOptions.windowsMode || void 0 !== this._optionsService.rawOptions.windowsPty.backend || void 0 !== this._optionsService.rawOptions.windowsPty.buildNumber ? this.lines.push(new a2.BufferLine(e4, i5)) : this.ybase > 0 && this.lines.length <= this.ybase + this.y + n5 + 1 ? (this.ybase--, n5++, this.ydisp > 0 && this.ydisp--) : this.lines.push(new a2.BufferLine(e4, i5)));
else for (let e5 = this._rows; e5 > t4; e5--) this.lines.length > t4 + this.ybase && (this.lines.length > this.ybase + this.y + 1 ? this.lines.pop() : (this.ybase++, this.ydisp++));
if (r4 < this.lines.maxLength) {
const e5 = this.lines.length - r4;
e5 > 0 && (this.lines.trimStart(e5), this.ybase = Math.max(this.ybase - e5, 0), this.ydisp = Math.max(this.ydisp - e5, 0), this.savedY = Math.max(this.savedY - e5, 0)), this.lines.maxLength = r4;
}
this.x = Math.min(this.x, e4 - 1), this.y = Math.min(this.y, t4 - 1), n5 && (this.y += n5), this.savedX = Math.min(this.savedX, e4 - 1), this.scrollTop = 0;
}
if (this.scrollBottom = t4 - 1, this._isReflowEnabled && (this._reflow(e4, t4), this._cols > e4)) for (let t5 = 0; t5 < this.lines.length; t5++) s4 += +this.lines.get(t5).resize(e4, i5);
this._cols = e4, this._rows = t4, this._memoryCleanupQueue.clear(), s4 > 0.1 * this.lines.length && (this._memoryCleanupPosition = 0, this._memoryCleanupQueue.enqueue(() => this._batchedMemoryCleanup()));
}
_batchedMemoryCleanup() {
let e4 = true;
this._memoryCleanupPosition >= this.lines.length && (this._memoryCleanupPosition = 0, e4 = false);
let t4 = 0;
for (; this._memoryCleanupPosition < this.lines.length; ) if (t4 += this.lines.get(this._memoryCleanupPosition++).cleanupMemory(), t4 > 100) return true;
return e4;
}
get _isReflowEnabled() {
const e4 = this._optionsService.rawOptions.windowsPty;
return e4 && e4.buildNumber ? this._hasScrollback && "conpty" === e4.backend && e4.buildNumber >= 21376 : this._hasScrollback && !this._optionsService.rawOptions.windowsMode;
}
_reflow(e4, t4) {
this._cols !== e4 && (e4 > this._cols ? this._reflowLarger(e4, t4) : this._reflowSmaller(e4, t4));
}
_reflowLarger(e4, t4) {
const i5 = (0, o3.reflowLargerGetLinesToRemove)(this.lines, this._cols, e4, this.ybase + this.y, this.getNullCell(a2.DEFAULT_ATTR_DATA));
if (i5.length > 0) {
const s4 = (0, o3.reflowLargerCreateNewLayout)(this.lines, i5);
(0, o3.reflowLargerApplyNewLayout)(this.lines, s4.layout), this._reflowLargerAdjustViewport(e4, t4, s4.countRemoved);
}
}
_reflowLargerAdjustViewport(e4, t4, i5) {
const s4 = this.getNullCell(a2.DEFAULT_ATTR_DATA);
let r4 = i5;
for (; r4-- > 0; ) 0 === this.ybase ? (this.y > 0 && this.y--, this.lines.length < t4 && this.lines.push(new a2.BufferLine(e4, s4))) : (this.ydisp === this.ybase && this.ydisp--, this.ybase--);
this.savedY = Math.max(this.savedY - i5, 0);
}
_reflowSmaller(e4, t4) {
const i5 = this.getNullCell(a2.DEFAULT_ATTR_DATA), s4 = [];
let r4 = 0;
for (let n5 = this.lines.length - 1; n5 >= 0; n5--) {
let h3 = this.lines.get(n5);
if (!h3 || !h3.isWrapped && h3.getTrimmedLength() <= e4) continue;
const c5 = [h3];
for (; h3.isWrapped && n5 > 0; ) h3 = this.lines.get(--n5), c5.unshift(h3);
const l3 = this.ybase + this.y;
if (l3 >= n5 && l3 < n5 + c5.length) continue;
const _2 = c5[c5.length - 1].getTrimmedLength(), d = (0, o3.reflowSmallerGetNewLineLengths)(c5, this._cols, e4), f = d.length - c5.length;
let u2;
u2 = 0 === this.ybase && this.y !== this.lines.length - 1 ? Math.max(0, this.y - this.lines.maxLength + f) : Math.max(0, this.lines.length - this.lines.maxLength + f);
const p = [];
for (let e5 = 0; e5 < f; e5++) {
const e6 = this.getBlankLine(a2.DEFAULT_ATTR_DATA, true);
p.push(e6);
}
p.length > 0 && (s4.push({ start: n5 + c5.length + r4, newLines: p }), r4 += p.length), c5.push(...p);
let g = d.length - 1, v = d[g];
0 === v && (g--, v = d[g]);
let b = c5.length - f - 1, S = _2;
for (; b >= 0; ) {
const e5 = Math.min(S, v);
if (void 0 === c5[g]) break;
if (c5[g].copyCellsFrom(c5[b], S - e5, v - e5, e5, true), v -= e5, 0 === v && (g--, v = d[g]), S -= e5, 0 === S) {
b--;
const e6 = Math.max(b, 0);
S = (0, o3.getWrappedLineTrimmedLength)(c5, e6, this._cols);
}
}
for (let t5 = 0; t5 < c5.length; t5++) d[t5] < e4 && c5[t5].setCell(d[t5], i5);
let m = f - u2;
for (; m-- > 0; ) 0 === this.ybase ? this.y < t4 - 1 ? (this.y++, this.lines.pop()) : (this.ybase++, this.ydisp++) : this.ybase < Math.min(this.lines.maxLength, this.lines.length + r4) - t4 && (this.ybase === this.ydisp && this.ydisp++, this.ybase++);
this.savedY = Math.min(this.savedY + f, this.ybase + t4 - 1);
}
if (s4.length > 0) {
const e5 = [], t5 = [];
for (let e6 = 0; e6 < this.lines.length; e6++) t5.push(this.lines.get(e6));
const i6 = this.lines.length;
let n5 = i6 - 1, a3 = 0, o4 = s4[a3];
this.lines.length = Math.min(this.lines.maxLength, this.lines.length + r4);
let h3 = 0;
for (let c6 = Math.min(this.lines.maxLength - 1, i6 + r4 - 1); c6 >= 0; c6--) if (o4 && o4.start > n5 + h3) {
for (let e6 = o4.newLines.length - 1; e6 >= 0; e6--) this.lines.set(c6--, o4.newLines[e6]);
c6++, e5.push({ index: n5 + 1, amount: o4.newLines.length }), h3 += o4.newLines.length, o4 = s4[++a3];
} else this.lines.set(c6, t5[n5--]);
let c5 = 0;
for (let t6 = e5.length - 1; t6 >= 0; t6--) e5[t6].index += c5, this.lines.onInsertEmitter.fire(e5[t6]), c5 += e5[t6].amount;
const l3 = Math.max(0, i6 + r4 - this.lines.maxLength);
l3 > 0 && this.lines.onTrimEmitter.fire(l3);
}
}
translateBufferLineToString(e4, t4, i5 = 0, s4) {
const r4 = this.lines.get(e4);
return r4 ? r4.translateToString(t4, i5, s4) : "";
}
getWrappedRangeForLine(e4) {
let t4 = e4, i5 = e4;
for (; t4 > 0 && this.lines.get(t4).isWrapped; ) t4--;
for (; i5 + 1 < this.lines.length && this.lines.get(i5 + 1).isWrapped; ) i5++;
return { first: t4, last: i5 };
}
setupTabStops(e4) {
for (null != e4 ? this.tabs[e4] || (e4 = this.prevStop(e4)) : (this.tabs = {}, e4 = 0); e4 < this._cols; e4 += this._optionsService.rawOptions.tabStopWidth) this.tabs[e4] = true;
}
prevStop(e4) {
for (null == e4 && (e4 = this.x); !this.tabs[--e4] && e4 > 0; ) ;
return e4 >= this._cols ? this._cols - 1 : e4 < 0 ? 0 : e4;
}
nextStop(e4) {
for (null == e4 && (e4 = this.x); !this.tabs[++e4] && e4 < this._cols; ) ;
return e4 >= this._cols ? this._cols - 1 : e4 < 0 ? 0 : e4;
}
clearMarkers(e4) {
this._isClearing = true;
for (let t4 = 0; t4 < this.markers.length; t4++) this.markers[t4].line === e4 && (this.markers[t4].dispose(), this.markers.splice(t4--, 1));
this._isClearing = false;
}
clearAllMarkers() {
this._isClearing = true;
for (let e4 = 0; e4 < this.markers.length; e4++) this.markers[e4].dispose(), this.markers.splice(e4--, 1);
this._isClearing = false;
}
addMarker(e4) {
const t4 = new l2.Marker(e4);
return this.markers.push(t4), t4.register(this.lines.onTrim((e5) => {
t4.line -= e5, t4.line < 0 && t4.dispose();
})), t4.register(this.lines.onInsert((e5) => {
t4.line >= e5.index && (t4.line += e5.amount);
})), t4.register(this.lines.onDelete((e5) => {
t4.line >= e5.index && t4.line < e5.index + e5.amount && t4.dispose(), t4.line > e5.index && (t4.line -= e5.amount);
})), t4.register(t4.onDispose(() => this._removeMarker(t4))), t4;
}
_removeMarker(e4) {
this._isClearing || this.markers.splice(this.markers.indexOf(e4), 1);
}
};
}, 437: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.BufferLine = t3.DEFAULT_ATTR_DATA = void 0;
const s3 = i4(734), r3 = i4(511), n4 = i4(643), a2 = i4(482);
t3.DEFAULT_ATTR_DATA = Object.freeze(new s3.AttributeData());
let o3 = 0;
class h2 {
constructor(e4, t4, i5 = false) {
this.isWrapped = i5, this._combined = {}, this._extendedAttrs = {}, this._data = new Uint32Array(3 * e4);
const s4 = t4 || r3.CellData.fromCharData([0, n4.NULL_CELL_CHAR, n4.NULL_CELL_WIDTH, n4.NULL_CELL_CODE]);
for (let t5 = 0; t5 < e4; ++t5) this.setCell(t5, s4);
this.length = e4;
}
get(e4) {
const t4 = this._data[3 * e4 + 0], i5 = 2097151 & t4;
return [this._data[3 * e4 + 1], 2097152 & t4 ? this._combined[e4] : i5 ? (0, a2.stringFromCodePoint)(i5) : "", t4 >> 22, 2097152 & t4 ? this._combined[e4].charCodeAt(this._combined[e4].length - 1) : i5];
}
set(e4, t4) {
this._data[3 * e4 + 1] = t4[n4.CHAR_DATA_ATTR_INDEX], t4[n4.CHAR_DATA_CHAR_INDEX].length > 1 ? (this._combined[e4] = t4[1], this._data[3 * e4 + 0] = 2097152 | e4 | t4[n4.CHAR_DATA_WIDTH_INDEX] << 22) : this._data[3 * e4 + 0] = t4[n4.CHAR_DATA_CHAR_INDEX].charCodeAt(0) | t4[n4.CHAR_DATA_WIDTH_INDEX] << 22;
}
getWidth(e4) {
return this._data[3 * e4 + 0] >> 22;
}
hasWidth(e4) {
return 12582912 & this._data[3 * e4 + 0];
}
getFg(e4) {
return this._data[3 * e4 + 1];
}
getBg(e4) {
return this._data[3 * e4 + 2];
}
hasContent(e4) {
return 4194303 & this._data[3 * e4 + 0];
}
getCodePoint(e4) {
const t4 = this._data[3 * e4 + 0];
return 2097152 & t4 ? this._combined[e4].charCodeAt(this._combined[e4].length - 1) : 2097151 & t4;
}
isCombined(e4) {
return 2097152 & this._data[3 * e4 + 0];
}
getString(e4) {
const t4 = this._data[3 * e4 + 0];
return 2097152 & t4 ? this._combined[e4] : 2097151 & t4 ? (0, a2.stringFromCodePoint)(2097151 & t4) : "";
}
isProtected(e4) {
return 536870912 & this._data[3 * e4 + 2];
}
loadCell(e4, t4) {
return o3 = 3 * e4, t4.content = this._data[o3 + 0], t4.fg = this._data[o3 + 1], t4.bg = this._data[o3 + 2], 2097152 & t4.content && (t4.combinedData = this._combined[e4]), 268435456 & t4.bg && (t4.extended = this._extendedAttrs[e4]), t4;
}
setCell(e4, t4) {
2097152 & t4.content && (this._combined[e4] = t4.combinedData), 268435456 & t4.bg && (this._extendedAttrs[e4] = t4.extended), this._data[3 * e4 + 0] = t4.content, this._data[3 * e4 + 1] = t4.fg, this._data[3 * e4 + 2] = t4.bg;
}
setCellFromCodepoint(e4, t4, i5, s4) {
268435456 & s4.bg && (this._extendedAttrs[e4] = s4.extended), this._data[3 * e4 + 0] = t4 | i5 << 22, this._data[3 * e4 + 1] = s4.fg, this._data[3 * e4 + 2] = s4.bg;
}
addCodepointToCell(e4, t4, i5) {
let s4 = this._data[3 * e4 + 0];
2097152 & s4 ? this._combined[e4] += (0, a2.stringFromCodePoint)(t4) : 2097151 & s4 ? (this._combined[e4] = (0, a2.stringFromCodePoint)(2097151 & s4) + (0, a2.stringFromCodePoint)(t4), s4 &= -2097152, s4 |= 2097152) : s4 = t4 | 1 << 22, i5 && (s4 &= -12582913, s4 |= i5 << 22), this._data[3 * e4 + 0] = s4;
}
insertCells(e4, t4, i5) {
if ((e4 %= this.length) && 2 === this.getWidth(e4 - 1) && this.setCellFromCodepoint(e4 - 1, 0, 1, i5), t4 < this.length - e4) {
const s4 = new r3.CellData();
for (let i6 = this.length - e4 - t4 - 1; i6 >= 0; --i6) this.setCell(e4 + t4 + i6, this.loadCell(e4 + i6, s4));
for (let s5 = 0; s5 < t4; ++s5) this.setCell(e4 + s5, i5);
} else for (let t5 = e4; t5 < this.length; ++t5) this.setCell(t5, i5);
2 === this.getWidth(this.length - 1) && this.setCellFromCodepoint(this.length - 1, 0, 1, i5);
}
deleteCells(e4, t4, i5) {
if (e4 %= this.length, t4 < this.length - e4) {
const s4 = new r3.CellData();
for (let i6 = 0; i6 < this.length - e4 - t4; ++i6) this.setCell(e4 + i6, this.loadCell(e4 + t4 + i6, s4));
for (let e5 = this.length - t4; e5 < this.length; ++e5) this.setCell(e5, i5);
} else for (let t5 = e4; t5 < this.length; ++t5) this.setCell(t5, i5);
e4 && 2 === this.getWidth(e4 - 1) && this.setCellFromCodepoint(e4 - 1, 0, 1, i5), 0 !== this.getWidth(e4) || this.hasContent(e4) || this.setCellFromCodepoint(e4, 0, 1, i5);
}
replaceCells(e4, t4, i5, s4 = false) {
if (s4) for (e4 && 2 === this.getWidth(e4 - 1) && !this.isProtected(e4 - 1) && this.setCellFromCodepoint(e4 - 1, 0, 1, i5), t4 < this.length && 2 === this.getWidth(t4 - 1) && !this.isProtected(t4) && this.setCellFromCodepoint(t4, 0, 1, i5); e4 < t4 && e4 < this.length; ) this.isProtected(e4) || this.setCell(e4, i5), e4++;
else for (e4 && 2 === this.getWidth(e4 - 1) && this.setCellFromCodepoint(e4 - 1, 0, 1, i5), t4 < this.length && 2 === this.getWidth(t4 - 1) && this.setCellFromCodepoint(t4, 0, 1, i5); e4 < t4 && e4 < this.length; ) this.setCell(e4++, i5);
}
resize(e4, t4) {
if (e4 === this.length) return 4 * this._data.length * 2 < this._data.buffer.byteLength;
const i5 = 3 * e4;
if (e4 > this.length) {
if (this._data.buffer.byteLength >= 4 * i5) this._data = new Uint32Array(this._data.buffer, 0, i5);
else {
const e5 = new Uint32Array(i5);
e5.set(this._data), this._data = e5;
}
for (let i6 = this.length; i6 < e4; ++i6) this.setCell(i6, t4);
} else {
this._data = this._data.subarray(0, i5);
const t5 = Object.keys(this._combined);
for (let i6 = 0; i6 < t5.length; i6++) {
const s5 = parseInt(t5[i6], 10);
s5 >= e4 && delete this._combined[s5];
}
const s4 = Object.keys(this._extendedAttrs);
for (let t6 = 0; t6 < s4.length; t6++) {
const i6 = parseInt(s4[t6], 10);
i6 >= e4 && delete this._extendedAttrs[i6];
}
}
return this.length = e4, 4 * i5 * 2 < this._data.buffer.byteLength;
}
cleanupMemory() {
if (4 * this._data.length * 2 < this._data.buffer.byteLength) {
const e4 = new Uint32Array(this._data.length);
return e4.set(this._data), this._data = e4, 1;
}
return 0;
}
fill(e4, t4 = false) {
if (t4) for (let t5 = 0; t5 < this.length; ++t5) this.isProtected(t5) || this.setCell(t5, e4);
else {
this._combined = {}, this._extendedAttrs = {};
for (let t5 = 0; t5 < this.length; ++t5) this.setCell(t5, e4);
}
}
copyFrom(e4) {
this.length !== e4.length ? this._data = new Uint32Array(e4._data) : this._data.set(e4._data), this.length = e4.length, this._combined = {};
for (const t4 in e4._combined) this._combined[t4] = e4._combined[t4];
this._extendedAttrs = {};
for (const t4 in e4._extendedAttrs) this._extendedAttrs[t4] = e4._extendedAttrs[t4];
this.isWrapped = e4.isWrapped;
}
clone() {
const e4 = new h2(0);
e4._data = new Uint32Array(this._data), e4.length = this.length;
for (const t4 in this._combined) e4._combined[t4] = this._combined[t4];
for (const t4 in this._extendedAttrs) e4._extendedAttrs[t4] = this._extendedAttrs[t4];
return e4.isWrapped = this.isWrapped, e4;
}
getTrimmedLength() {
for (let e4 = this.length - 1; e4 >= 0; --e4) if (4194303 & this._data[3 * e4 + 0]) return e4 + (this._data[3 * e4 + 0] >> 22);
return 0;
}
getNoBgTrimmedLength() {
for (let e4 = this.length - 1; e4 >= 0; --e4) if (4194303 & this._data[3 * e4 + 0] || 50331648 & this._data[3 * e4 + 2]) return e4 + (this._data[3 * e4 + 0] >> 22);
return 0;
}
copyCellsFrom(e4, t4, i5, s4, r4) {
const n5 = e4._data;
if (r4) for (let r5 = s4 - 1; r5 >= 0; r5--) {
for (let e5 = 0; e5 < 3; e5++) this._data[3 * (i5 + r5) + e5] = n5[3 * (t4 + r5) + e5];
268435456 & n5[3 * (t4 + r5) + 2] && (this._extendedAttrs[i5 + r5] = e4._extendedAttrs[t4 + r5]);
}
else for (let r5 = 0; r5 < s4; r5++) {
for (let e5 = 0; e5 < 3; e5++) this._data[3 * (i5 + r5) + e5] = n5[3 * (t4 + r5) + e5];
268435456 & n5[3 * (t4 + r5) + 2] && (this._extendedAttrs[i5 + r5] = e4._extendedAttrs[t4 + r5]);
}
const a3 = Object.keys(e4._combined);
for (let s5 = 0; s5 < a3.length; s5++) {
const r5 = parseInt(a3[s5], 10);
r5 >= t4 && (this._combined[r5 - t4 + i5] = e4._combined[r5]);
}
}
translateToString(e4, t4, i5, s4) {
t4 = t4 ?? 0, i5 = i5 ?? this.length, e4 && (i5 = Math.min(i5, this.getTrimmedLength())), s4 && (s4.length = 0);
let r4 = "";
for (; t4 < i5; ) {
const e5 = this._data[3 * t4 + 0], i6 = 2097151 & e5, o4 = 2097152 & e5 ? this._combined[t4] : i6 ? (0, a2.stringFromCodePoint)(i6) : n4.WHITESPACE_CELL_CHAR;
if (r4 += o4, s4) for (let e6 = 0; e6 < o4.length; ++e6) s4.push(t4);
t4 += e5 >> 22 || 1;
}
return s4 && s4.push(t4), r4;
}
}
t3.BufferLine = h2;
}, 634: (e3, t3) => {
function i4(e4, t4, i5) {
if (t4 === e4.length - 1) return e4[t4].getTrimmedLength();
const s3 = !e4[t4].hasContent(i5 - 1) && 1 === e4[t4].getWidth(i5 - 1), r3 = 2 === e4[t4 + 1].getWidth(0);
return s3 && r3 ? i5 - 1 : i5;
}
Object.defineProperty(t3, "__esModule", { value: true }), t3.getWrappedLineTrimmedLength = t3.reflowSmallerGetNewLineLengths = t3.reflowLargerApplyNewLayout = t3.reflowLargerCreateNewLayout = t3.reflowLargerGetLinesToRemove = void 0, t3.reflowLargerGetLinesToRemove = function(e4, t4, s3, r3, n4) {
const a2 = [];
for (let o3 = 0; o3 < e4.length - 1; o3++) {
let h2 = o3, c4 = e4.get(++h2);
if (!c4.isWrapped) continue;
const l2 = [e4.get(o3)];
for (; h2 < e4.length && c4.isWrapped; ) l2.push(c4), c4 = e4.get(++h2);
if (r3 >= o3 && r3 < h2) {
o3 += l2.length - 1;
continue;
}
let _ = 0, d = i4(l2, _, t4), f = 1, u2 = 0;
for (; f < l2.length; ) {
const e5 = i4(l2, f, t4), r4 = e5 - u2, a3 = s3 - d, o4 = Math.min(r4, a3);
l2[_].copyCellsFrom(l2[f], u2, d, o4, false), d += o4, d === s3 && (_++, d = 0), u2 += o4, u2 === e5 && (f++, u2 = 0), 0 === d && 0 !== _ && 2 === l2[_ - 1].getWidth(s3 - 1) && (l2[_].copyCellsFrom(l2[_ - 1], s3 - 1, d++, 1, false), l2[_ - 1].setCell(s3 - 1, n4));
}
l2[_].replaceCells(d, s3, n4);
let p = 0;
for (let e5 = l2.length - 1; e5 > 0 && (e5 > _ || 0 === l2[e5].getTrimmedLength()); e5--) p++;
p > 0 && (a2.push(o3 + l2.length - p), a2.push(p)), o3 += l2.length - 1;
}
return a2;
}, t3.reflowLargerCreateNewLayout = function(e4, t4) {
const i5 = [];
let s3 = 0, r3 = t4[s3], n4 = 0;
for (let a2 = 0; a2 < e4.length; a2++) if (r3 === a2) {
const i6 = t4[++s3];
e4.onDeleteEmitter.fire({ index: a2 - n4, amount: i6 }), a2 += i6 - 1, n4 += i6, r3 = t4[++s3];
} else i5.push(a2);
return { layout: i5, countRemoved: n4 };
}, t3.reflowLargerApplyNewLayout = function(e4, t4) {
const i5 = [];
for (let s3 = 0; s3 < t4.length; s3++) i5.push(e4.get(t4[s3]));
for (let t5 = 0; t5 < i5.length; t5++) e4.set(t5, i5[t5]);
e4.length = t4.length;
}, t3.reflowSmallerGetNewLineLengths = function(e4, t4, s3) {
const r3 = [], n4 = e4.map((s4, r4) => i4(e4, r4, t4)).reduce((e5, t5) => e5 + t5);
let a2 = 0, o3 = 0, h2 = 0;
for (; h2 < n4; ) {
if (n4 - h2 < s3) {
r3.push(n4 - h2);
break;
}
a2 += s3;
const c4 = i4(e4, o3, t4);
a2 > c4 && (a2 -= c4, o3++);
const l2 = 2 === e4[o3].getWidth(a2 - 1);
l2 && a2--;
const _ = l2 ? s3 - 1 : s3;
r3.push(_), h2 += _;
}
return r3;
}, t3.getWrappedLineTrimmedLength = i4;
}, 295: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.BufferSet = void 0;
const s3 = i4(460), r3 = i4(844), n4 = i4(92);
class a2 extends r3.Disposable {
constructor(e4, t4) {
super(), this._optionsService = e4, this._bufferService = t4, this._onBufferActivate = this.register(new s3.EventEmitter()), this.onBufferActivate = this._onBufferActivate.event, this.reset(), this.register(this._optionsService.onSpecificOptionChange("scrollback", () => this.resize(this._bufferService.cols, this._bufferService.rows))), this.register(this._optionsService.onSpecificOptionChange("tabStopWidth", () => this.setupTabStops()));
}
reset() {
this._normal = new n4.Buffer(true, this._optionsService, this._bufferService), this._normal.fillViewportRows(), this._alt = new n4.Buffer(false, this._optionsService, this._bufferService), this._activeBuffer = this._normal, this._onBufferActivate.fire({ activeBuffer: this._normal, inactiveBuffer: this._alt }), this.setupTabStops();
}
get alt() {
return this._alt;
}
get active() {
return this._activeBuffer;
}
get normal() {
return this._normal;
}
activateNormalBuffer() {
this._activeBuffer !== this._normal && (this._normal.x = this._alt.x, this._normal.y = this._alt.y, this._alt.clearAllMarkers(), this._alt.clear(), this._activeBuffer = this._normal, this._onBufferActivate.fire({ activeBuffer: this._normal, inactiveBuffer: this._alt }));
}
activateAltBuffer(e4) {
this._activeBuffer !== this._alt && (this._alt.fillViewportRows(e4), this._alt.x = this._normal.x, this._alt.y = this._normal.y, this._activeBuffer = this._alt, this._onBufferActivate.fire({ activeBuffer: this._alt, inactiveBuffer: this._normal }));
}
resize(e4, t4) {
this._normal.resize(e4, t4), this._alt.resize(e4, t4), this.setupTabStops(e4);
}
setupTabStops(e4) {
this._normal.setupTabStops(e4), this._alt.setupTabStops(e4);
}
}
t3.BufferSet = a2;
}, 511: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.CellData = void 0;
const s3 = i4(482), r3 = i4(643), n4 = i4(734);
class a2 extends n4.AttributeData {
constructor() {
super(...arguments), this.content = 0, this.fg = 0, this.bg = 0, this.extended = new n4.ExtendedAttrs(), this.combinedData = "";
}
static fromCharData(e4) {
const t4 = new a2();
return t4.setFromCharData(e4), t4;
}
isCombined() {
return 2097152 & this.content;
}
getWidth() {
return this.content >> 22;
}
getChars() {
return 2097152 & this.content ? this.combinedData : 2097151 & this.content ? (0, s3.stringFromCodePoint)(2097151 & this.content) : "";
}
getCode() {
return this.isCombined() ? this.combinedData.charCodeAt(this.combinedData.length - 1) : 2097151 & this.content;
}
setFromCharData(e4) {
this.fg = e4[r3.CHAR_DATA_ATTR_INDEX], this.bg = 0;
let t4 = false;
if (e4[r3.CHAR_DATA_CHAR_INDEX].length > 2) t4 = true;
else if (2 === e4[r3.CHAR_DATA_CHAR_INDEX].length) {
const i5 = e4[r3.CHAR_DATA_CHAR_INDEX].charCodeAt(0);
if (55296 <= i5 && i5 <= 56319) {
const s4 = e4[r3.CHAR_DATA_CHAR_INDEX].charCodeAt(1);
56320 <= s4 && s4 <= 57343 ? this.content = 1024 * (i5 - 55296) + s4 - 56320 + 65536 | e4[r3.CHAR_DATA_WIDTH_INDEX] << 22 : t4 = true;
} else t4 = true;
} else this.content = e4[r3.CHAR_DATA_CHAR_INDEX].charCodeAt(0) | e4[r3.CHAR_DATA_WIDTH_INDEX] << 22;
t4 && (this.combinedData = e4[r3.CHAR_DATA_CHAR_INDEX], this.content = 2097152 | e4[r3.CHAR_DATA_WIDTH_INDEX] << 22);
}
getAsCharData() {
return [this.fg, this.getChars(), this.getWidth(), this.getCode()];
}
}
t3.CellData = a2;
}, 643: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.WHITESPACE_CELL_CODE = t3.WHITESPACE_CELL_WIDTH = t3.WHITESPACE_CELL_CHAR = t3.NULL_CELL_CODE = t3.NULL_CELL_WIDTH = t3.NULL_CELL_CHAR = t3.CHAR_DATA_CODE_INDEX = t3.CHAR_DATA_WIDTH_INDEX = t3.CHAR_DATA_CHAR_INDEX = t3.CHAR_DATA_ATTR_INDEX = t3.DEFAULT_EXT = t3.DEFAULT_ATTR = t3.DEFAULT_COLOR = void 0, t3.DEFAULT_COLOR = 0, t3.DEFAULT_ATTR = 256 | t3.DEFAULT_COLOR << 9, t3.DEFAULT_EXT = 0, t3.CHAR_DATA_ATTR_INDEX = 0, t3.CHAR_DATA_CHAR_INDEX = 1, t3.CHAR_DATA_WIDTH_INDEX = 2, t3.CHAR_DATA_CODE_INDEX = 3, t3.NULL_CELL_CHAR = "", t3.NULL_CELL_WIDTH = 1, t3.NULL_CELL_CODE = 0, t3.WHITESPACE_CELL_CHAR = " ", t3.WHITESPACE_CELL_WIDTH = 1, t3.WHITESPACE_CELL_CODE = 32;
}, 863: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.Marker = void 0;
const s3 = i4(460), r3 = i4(844);
class n4 {
get id() {
return this._id;
}
constructor(e4) {
this.line = e4, this.isDisposed = false, this._disposables = [], this._id = n4._nextId++, this._onDispose = this.register(new s3.EventEmitter()), this.onDispose = this._onDispose.event;
}
dispose() {
this.isDisposed || (this.isDisposed = true, this.line = -1, this._onDispose.fire(), (0, r3.disposeArray)(this._disposables), this._disposables.length = 0);
}
register(e4) {
return this._disposables.push(e4), e4;
}
}
t3.Marker = n4, n4._nextId = 1;
}, 116: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.DEFAULT_CHARSET = t3.CHARSETS = void 0, t3.CHARSETS = {}, t3.DEFAULT_CHARSET = t3.CHARSETS.B, t3.CHARSETS[0] = { "`": "\u25C6", a: "\u2592", b: "\u2409", c: "\u240C", d: "\u240D", e: "\u240A", f: "\xB0", g: "\xB1", h: "\u2424", i: "\u240B", j: "\u2518", k: "\u2510", l: "\u250C", m: "\u2514", n: "\u253C", o: "\u23BA", p: "\u23BB", q: "\u2500", r: "\u23BC", s: "\u23BD", t: "\u251C", u: "\u2524", v: "\u2534", w: "\u252C", x: "\u2502", y: "\u2264", z: "\u2265", "{": "\u03C0", "|": "\u2260", "}": "\xA3", "~": "\xB7" }, t3.CHARSETS.A = { "#": "\xA3" }, t3.CHARSETS.B = void 0, t3.CHARSETS[4] = { "#": "\xA3", "@": "\xBE", "[": "ij", "\\": "\xBD", "]": "|", "{": "\xA8", "|": "f", "}": "\xBC", "~": "\xB4" }, t3.CHARSETS.C = t3.CHARSETS[5] = { "[": "\xC4", "\\": "\xD6", "]": "\xC5", "^": "\xDC", "`": "\xE9", "{": "\xE4", "|": "\xF6", "}": "\xE5", "~": "\xFC" }, t3.CHARSETS.R = { "#": "\xA3", "@": "\xE0", "[": "\xB0", "\\": "\xE7", "]": "\xA7", "{": "\xE9", "|": "\xF9", "}": "\xE8", "~": "\xA8" }, t3.CHARSETS.Q = { "@": "\xE0", "[": "\xE2", "\\": "\xE7", "]": "\xEA", "^": "\xEE", "`": "\xF4", "{": "\xE9", "|": "\xF9", "}": "\xE8", "~": "\xFB" }, t3.CHARSETS.K = { "@": "\xA7", "[": "\xC4", "\\": "\xD6", "]": "\xDC", "{": "\xE4", "|": "\xF6", "}": "\xFC", "~": "\xDF" }, t3.CHARSETS.Y = { "#": "\xA3", "@": "\xA7", "[": "\xB0", "\\": "\xE7", "]": "\xE9", "`": "\xF9", "{": "\xE0", "|": "\xF2", "}": "\xE8", "~": "\xEC" }, t3.CHARSETS.E = t3.CHARSETS[6] = { "@": "\xC4", "[": "\xC6", "\\": "\xD8", "]": "\xC5", "^": "\xDC", "`": "\xE4", "{": "\xE6", "|": "\xF8", "}": "\xE5", "~": "\xFC" }, t3.CHARSETS.Z = { "#": "\xA3", "@": "\xA7", "[": "\xA1", "\\": "\xD1", "]": "\xBF", "{": "\xB0", "|": "\xF1", "}": "\xE7" }, t3.CHARSETS.H = t3.CHARSETS[7] = { "@": "\xC9", "[": "\xC4", "\\": "\xD6", "]": "\xC5", "^": "\xDC", "`": "\xE9", "{": "\xE4", "|": "\xF6", "}": "\xE5", "~": "\xFC" }, t3.CHARSETS["="] = { "#": "\xF9", "@": "\xE0", "[": "\xE9", "\\": "\xE7", "]": "\xEA", "^": "\xEE", _: "\xE8", "`": "\xF4", "{": "\xE4", "|": "\xF6", "}": "\xFC", "~": "\xFB" };
}, 584: (e3, t3) => {
var i4, s3, r3;
Object.defineProperty(t3, "__esModule", { value: true }), t3.C1_ESCAPED = t3.C1 = t3.C0 = void 0, function(e4) {
e4.NUL = "\0", e4.SOH = "", e4.STX = "", e4.ETX = "", e4.EOT = "", e4.ENQ = "", e4.ACK = "", e4.BEL = "\x07", e4.BS = "\b", e4.HT = " ", e4.LF = "\n", e4.VT = "\v", e4.FF = "\f", e4.CR = "\r", e4.SO = "", e4.SI = "", e4.DLE = "", e4.DC1 = "", e4.DC2 = "", e4.DC3 = "", e4.DC4 = "", e4.NAK = "", e4.SYN = "", e4.ETB = "", e4.CAN = "", e4.EM = "", e4.SUB = "", e4.ESC = "\x1B", e4.FS = "", e4.GS = "", e4.RS = "", e4.US = "", e4.SP = " ", e4.DEL = "\x7F";
}(i4 || (t3.C0 = i4 = {})), function(e4) {
e4.PAD = "\x80", e4.HOP = "\x81", e4.BPH = "\x82", e4.NBH = "\x83", e4.IND = "\x84", e4.NEL = "\x85", e4.SSA = "\x86", e4.ESA = "\x87", e4.HTS = "\x88", e4.HTJ = "\x89", e4.VTS = "\x8A", e4.PLD = "\x8B", e4.PLU = "\x8C", e4.RI = "\x8D", e4.SS2 = "\x8E", e4.SS3 = "\x8F", e4.DCS = "\x90", e4.PU1 = "\x91", e4.PU2 = "\x92", e4.STS = "\x93", e4.CCH = "\x94", e4.MW = "\x95", e4.SPA = "\x96", e4.EPA = "\x97", e4.SOS = "\x98", e4.SGCI = "\x99", e4.SCI = "\x9A", e4.CSI = "\x9B", e4.ST = "\x9C", e4.OSC = "\x9D", e4.PM = "\x9E", e4.APC = "\x9F";
}(s3 || (t3.C1 = s3 = {})), function(e4) {
e4.ST = `${i4.ESC}\\`;
}(r3 || (t3.C1_ESCAPED = r3 = {}));
}, 482: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.Utf8ToUtf32 = t3.StringToUtf32 = t3.utf32ToString = t3.stringFromCodePoint = void 0, t3.stringFromCodePoint = function(e4) {
return e4 > 65535 ? (e4 -= 65536, String.fromCharCode(55296 + (e4 >> 10)) + String.fromCharCode(e4 % 1024 + 56320)) : String.fromCharCode(e4);
}, t3.utf32ToString = function(e4, t4 = 0, i4 = e4.length) {
let s3 = "";
for (let r3 = t4; r3 < i4; ++r3) {
let t5 = e4[r3];
t5 > 65535 ? (t5 -= 65536, s3 += String.fromCharCode(55296 + (t5 >> 10)) + String.fromCharCode(t5 % 1024 + 56320)) : s3 += String.fromCharCode(t5);
}
return s3;
}, t3.StringToUtf32 = class {
constructor() {
this._interim = 0;
}
clear() {
this._interim = 0;
}
decode(e4, t4) {
const i4 = e4.length;
if (!i4) return 0;
let s3 = 0, r3 = 0;
if (this._interim) {
const i5 = e4.charCodeAt(r3++);
56320 <= i5 && i5 <= 57343 ? t4[s3++] = 1024 * (this._interim - 55296) + i5 - 56320 + 65536 : (t4[s3++] = this._interim, t4[s3++] = i5), this._interim = 0;
}
for (let n4 = r3; n4 < i4; ++n4) {
const r4 = e4.charCodeAt(n4);
if (55296 <= r4 && r4 <= 56319) {
if (++n4 >= i4) return this._interim = r4, s3;
const a2 = e4.charCodeAt(n4);
56320 <= a2 && a2 <= 57343 ? t4[s3++] = 1024 * (r4 - 55296) + a2 - 56320 + 65536 : (t4[s3++] = r4, t4[s3++] = a2);
} else 65279 !== r4 && (t4[s3++] = r4);
}
return s3;
}
}, t3.Utf8ToUtf32 = class {
constructor() {
this.interim = new Uint8Array(3);
}
clear() {
this.interim.fill(0);
}
decode(e4, t4) {
const i4 = e4.length;
if (!i4) return 0;
let s3, r3, n4, a2, o3 = 0, h2 = 0, c4 = 0;
if (this.interim[0]) {
let s4 = false, r4 = this.interim[0];
r4 &= 192 == (224 & r4) ? 31 : 224 == (240 & r4) ? 15 : 7;
let n5, a3 = 0;
for (; (n5 = 63 & this.interim[++a3]) && a3 < 4; ) r4 <<= 6, r4 |= n5;
const h3 = 192 == (224 & this.interim[0]) ? 2 : 224 == (240 & this.interim[0]) ? 3 : 4, l3 = h3 - a3;
for (; c4 < l3; ) {
if (c4 >= i4) return 0;
if (n5 = e4[c4++], 128 != (192 & n5)) {
c4--, s4 = true;
break;
}
this.interim[a3++] = n5, r4 <<= 6, r4 |= 63 & n5;
}
s4 || (2 === h3 ? r4 < 128 ? c4-- : t4[o3++] = r4 : 3 === h3 ? r4 < 2048 || r4 >= 55296 && r4 <= 57343 || 65279 === r4 || (t4[o3++] = r4) : r4 < 65536 || r4 > 1114111 || (t4[o3++] = r4)), this.interim.fill(0);
}
const l2 = i4 - 4;
let _ = c4;
for (; _ < i4; ) {
for (; !(!(_ < l2) || 128 & (s3 = e4[_]) || 128 & (r3 = e4[_ + 1]) || 128 & (n4 = e4[_ + 2]) || 128 & (a2 = e4[_ + 3])); ) t4[o3++] = s3, t4[o3++] = r3, t4[o3++] = n4, t4[o3++] = a2, _ += 4;
if (s3 = e4[_++], s3 < 128) t4[o3++] = s3;
else if (192 == (224 & s3)) {
if (_ >= i4) return this.interim[0] = s3, o3;
if (r3 = e4[_++], 128 != (192 & r3)) {
_--;
continue;
}
if (h2 = (31 & s3) << 6 | 63 & r3, h2 < 128) {
_--;
continue;
}
t4[o3++] = h2;
} else if (224 == (240 & s3)) {
if (_ >= i4) return this.interim[0] = s3, o3;
if (r3 = e4[_++], 128 != (192 & r3)) {
_--;
continue;
}
if (_ >= i4) return this.interim[0] = s3, this.interim[1] = r3, o3;
if (n4 = e4[_++], 128 != (192 & n4)) {
_--;
continue;
}
if (h2 = (15 & s3) << 12 | (63 & r3) << 6 | 63 & n4, h2 < 2048 || h2 >= 55296 && h2 <= 57343 || 65279 === h2) continue;
t4[o3++] = h2;
} else if (240 == (248 & s3)) {
if (_ >= i4) return this.interim[0] = s3, o3;
if (r3 = e4[_++], 128 != (192 & r3)) {
_--;
continue;
}
if (_ >= i4) return this.interim[0] = s3, this.interim[1] = r3, o3;
if (n4 = e4[_++], 128 != (192 & n4)) {
_--;
continue;
}
if (_ >= i4) return this.interim[0] = s3, this.interim[1] = r3, this.interim[2] = n4, o3;
if (a2 = e4[_++], 128 != (192 & a2)) {
_--;
continue;
}
if (h2 = (7 & s3) << 18 | (63 & r3) << 12 | (63 & n4) << 6 | 63 & a2, h2 < 65536 || h2 > 1114111) continue;
t4[o3++] = h2;
}
}
return o3;
}
};
}, 225: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.UnicodeV6 = void 0;
const s3 = i4(480), r3 = [[768, 879], [1155, 1158], [1160, 1161], [1425, 1469], [1471, 1471], [1473, 1474], [1476, 1477], [1479, 1479], [1536, 1539], [1552, 1557], [1611, 1630], [1648, 1648], [1750, 1764], [1767, 1768], [1770, 1773], [1807, 1807], [1809, 1809], [1840, 1866], [1958, 1968], [2027, 2035], [2305, 2306], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2388], [2402, 2403], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509], [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632], [2635, 2637], [2672, 2673], [2689, 2690], [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787], [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2883], [2893, 2893], [2902, 2902], [2946, 2946], [3008, 3008], [3021, 3021], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158], [3260, 3260], [3263, 3263], [3270, 3270], [3276, 3277], [3298, 3299], [3393, 3395], [3405, 3405], [3530, 3530], [3538, 3540], [3542, 3542], [3633, 3633], [3636, 3642], [3655, 3662], [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897], [3953, 3966], [3968, 3972], [3974, 3975], [3984, 3991], [3993, 4028], [4038, 4038], [4141, 4144], [4146, 4146], [4150, 4151], [4153, 4153], [4184, 4185], [4448, 4607], [4959, 4959], [5906, 5908], [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086], [6089, 6099], [6109, 6109], [6155, 6157], [6313, 6313], [6432, 6434], [6439, 6440], [6450, 6450], [6457, 6459], [6679, 6680], [6912, 6915], [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978], [7019, 7027], [7616, 7626], [7678, 7679], [8203, 8207], [8234, 8238], [8288, 8291], [8298, 8303], [8400, 8431], [12330, 12335], [12441, 12442], [43014, 43014], [43019, 43019], [43045, 43046], [64286, 64286], [65024, 65039], [65056, 65059], [65279, 65279], [65529, 65531]], n4 = [[68097, 68099], [68101, 68102], [68108, 68111], [68152, 68154], [68159, 68159], [119143, 119145], [119155, 119170], [119173, 119179], [119210, 119213], [119362, 119364], [917505, 917505], [917536, 917631], [917760, 917999]];
let a2;
t3.UnicodeV6 = class {
constructor() {
if (this.version = "6", !a2) {
a2 = new Uint8Array(65536), a2.fill(1), a2[0] = 0, a2.fill(0, 1, 32), a2.fill(0, 127, 160), a2.fill(2, 4352, 4448), a2[9001] = 2, a2[9002] = 2, a2.fill(2, 11904, 42192), a2[12351] = 1, a2.fill(2, 44032, 55204), a2.fill(2, 63744, 64256), a2.fill(2, 65040, 65050), a2.fill(2, 65072, 65136), a2.fill(2, 65280, 65377), a2.fill(2, 65504, 65511);
for (let e4 = 0; e4 < r3.length; ++e4) a2.fill(0, r3[e4][0], r3[e4][1] + 1);
}
}
wcwidth(e4) {
return e4 < 32 ? 0 : e4 < 127 ? 1 : e4 < 65536 ? a2[e4] : function(e5, t4) {
let i5, s4 = 0, r4 = t4.length - 1;
if (e5 < t4[0][0] || e5 > t4[r4][1]) return false;
for (; r4 >= s4; ) if (i5 = s4 + r4 >> 1, e5 > t4[i5][1]) s4 = i5 + 1;
else {
if (!(e5 < t4[i5][0])) return true;
r4 = i5 - 1;
}
return false;
}(e4, n4) ? 0 : e4 >= 131072 && e4 <= 196605 || e4 >= 196608 && e4 <= 262141 ? 2 : 1;
}
charProperties(e4, t4) {
let i5 = this.wcwidth(e4), r4 = 0 === i5 && 0 !== t4;
if (r4) {
const e5 = s3.UnicodeService.extractWidth(t4);
0 === e5 ? r4 = false : e5 > i5 && (i5 = e5);
}
return s3.UnicodeService.createPropertyValue(0, i5, r4);
}
};
}, 981: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.WriteBuffer = void 0;
const s3 = i4(460), r3 = i4(844);
class n4 extends r3.Disposable {
constructor(e4) {
super(), this._action = e4, this._writeBuffer = [], this._callbacks = [], this._pendingData = 0, this._bufferOffset = 0, this._isSyncWriting = false, this._syncCalls = 0, this._didUserInput = false, this._onWriteParsed = this.register(new s3.EventEmitter()), this.onWriteParsed = this._onWriteParsed.event;
}
handleUserInput() {
this._didUserInput = true;
}
writeSync(e4, t4) {
if (void 0 !== t4 && this._syncCalls > t4) return void (this._syncCalls = 0);
if (this._pendingData += e4.length, this._writeBuffer.push(e4), this._callbacks.push(void 0), this._syncCalls++, this._isSyncWriting) return;
let i5;
for (this._isSyncWriting = true; i5 = this._writeBuffer.shift(); ) {
this._action(i5);
const e5 = this._callbacks.shift();
e5 && e5();
}
this._pendingData = 0, this._bufferOffset = 2147483647, this._isSyncWriting = false, this._syncCalls = 0;
}
write(e4, t4) {
if (this._pendingData > 5e7) throw new Error("write data discarded, use flow control to avoid losing data");
if (!this._writeBuffer.length) {
if (this._bufferOffset = 0, this._didUserInput) return this._didUserInput = false, this._pendingData += e4.length, this._writeBuffer.push(e4), this._callbacks.push(t4), void this._innerWrite();
setTimeout(() => this._innerWrite());
}
this._pendingData += e4.length, this._writeBuffer.push(e4), this._callbacks.push(t4);
}
_innerWrite(e4 = 0, t4 = true) {
const i5 = e4 || Date.now();
for (; this._writeBuffer.length > this._bufferOffset; ) {
const e5 = this._writeBuffer[this._bufferOffset], s4 = this._action(e5, t4);
if (s4) {
const e6 = (e7) => Date.now() - i5 >= 12 ? setTimeout(() => this._innerWrite(0, e7)) : this._innerWrite(i5, e7);
return void s4.catch((e7) => (queueMicrotask(() => {
throw e7;
}), Promise.resolve(false))).then(e6);
}
const r4 = this._callbacks[this._bufferOffset];
if (r4 && r4(), this._bufferOffset++, this._pendingData -= e5.length, Date.now() - i5 >= 12) break;
}
this._writeBuffer.length > this._bufferOffset ? (this._bufferOffset > 50 && (this._writeBuffer = this._writeBuffer.slice(this._bufferOffset), this._callbacks = this._callbacks.slice(this._bufferOffset), this._bufferOffset = 0), setTimeout(() => this._innerWrite())) : (this._writeBuffer.length = 0, this._callbacks.length = 0, this._pendingData = 0, this._bufferOffset = 0), this._onWriteParsed.fire();
}
}
t3.WriteBuffer = n4;
}, 941: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.toRgbString = t3.parseColor = void 0;
const i4 = /^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/, s3 = /^[\da-f]+$/;
function r3(e4, t4) {
const i5 = e4.toString(16), s4 = i5.length < 2 ? "0" + i5 : i5;
switch (t4) {
case 4:
return i5[0];
case 8:
return s4;
case 12:
return (s4 + s4).slice(0, 3);
default:
return s4 + s4;
}
}
t3.parseColor = function(e4) {
if (!e4) return;
let t4 = e4.toLowerCase();
if (0 === t4.indexOf("rgb:")) {
t4 = t4.slice(4);
const e5 = i4.exec(t4);
if (e5) {
const t5 = e5[1] ? 15 : e5[4] ? 255 : e5[7] ? 4095 : 65535;
return [Math.round(parseInt(e5[1] || e5[4] || e5[7] || e5[10], 16) / t5 * 255), Math.round(parseInt(e5[2] || e5[5] || e5[8] || e5[11], 16) / t5 * 255), Math.round(parseInt(e5[3] || e5[6] || e5[9] || e5[12], 16) / t5 * 255)];
}
} else if (0 === t4.indexOf("#") && (t4 = t4.slice(1), s3.exec(t4) && [3, 6, 9, 12].includes(t4.length))) {
const e5 = t4.length / 3, i5 = [0, 0, 0];
for (let s4 = 0; s4 < 3; ++s4) {
const r4 = parseInt(t4.slice(e5 * s4, e5 * s4 + e5), 16);
i5[s4] = 1 === e5 ? r4 << 4 : 2 === e5 ? r4 : 3 === e5 ? r4 >> 4 : r4 >> 8;
}
return i5;
}
}, t3.toRgbString = function(e4, t4 = 16) {
const [i5, s4, n4] = e4;
return `rgb:${r3(i5, t4)}/${r3(s4, t4)}/${r3(n4, t4)}`;
};
}, 770: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.PAYLOAD_LIMIT = void 0, t3.PAYLOAD_LIMIT = 1e7;
}, 351: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.DcsHandler = t3.DcsParser = void 0;
const s3 = i4(482), r3 = i4(742), n4 = i4(770), a2 = [];
t3.DcsParser = class {
constructor() {
this._handlers = /* @__PURE__ */ Object.create(null), this._active = a2, this._ident = 0, this._handlerFb = () => {
}, this._stack = { paused: false, loopPosition: 0, fallThrough: false };
}
dispose() {
this._handlers = /* @__PURE__ */ Object.create(null), this._handlerFb = () => {
}, this._active = a2;
}
registerHandler(e4, t4) {
void 0 === this._handlers[e4] && (this._handlers[e4] = []);
const i5 = this._handlers[e4];
return i5.push(t4), { dispose: () => {
const e5 = i5.indexOf(t4);
-1 !== e5 && i5.splice(e5, 1);
} };
}
clearHandler(e4) {
this._handlers[e4] && delete this._handlers[e4];
}
setHandlerFallback(e4) {
this._handlerFb = e4;
}
reset() {
if (this._active.length) for (let e4 = this._stack.paused ? this._stack.loopPosition - 1 : this._active.length - 1; e4 >= 0; --e4) this._active[e4].unhook(false);
this._stack.paused = false, this._active = a2, this._ident = 0;
}
hook(e4, t4) {
if (this.reset(), this._ident = e4, this._active = this._handlers[e4] || a2, this._active.length) for (let e5 = this._active.length - 1; e5 >= 0; e5--) this._active[e5].hook(t4);
else this._handlerFb(this._ident, "HOOK", t4);
}
put(e4, t4, i5) {
if (this._active.length) for (let s4 = this._active.length - 1; s4 >= 0; s4--) this._active[s4].put(e4, t4, i5);
else this._handlerFb(this._ident, "PUT", (0, s3.utf32ToString)(e4, t4, i5));
}
unhook(e4, t4 = true) {
if (this._active.length) {
let i5 = false, s4 = this._active.length - 1, r4 = false;
if (this._stack.paused && (s4 = this._stack.loopPosition - 1, i5 = t4, r4 = this._stack.fallThrough, this._stack.paused = false), !r4 && false === i5) {
for (; s4 >= 0 && (i5 = this._active[s4].unhook(e4), true !== i5); s4--) if (i5 instanceof Promise) return this._stack.paused = true, this._stack.loopPosition = s4, this._stack.fallThrough = false, i5;
s4--;
}
for (; s4 >= 0; s4--) if (i5 = this._active[s4].unhook(false), i5 instanceof Promise) return this._stack.paused = true, this._stack.loopPosition = s4, this._stack.fallThrough = true, i5;
} else this._handlerFb(this._ident, "UNHOOK", e4);
this._active = a2, this._ident = 0;
}
};
const o3 = new r3.Params();
o3.addParam(0), t3.DcsHandler = class {
constructor(e4) {
this._handler = e4, this._data = "", this._params = o3, this._hitLimit = false;
}
hook(e4) {
this._params = e4.length > 1 || e4.params[0] ? e4.clone() : o3, this._data = "", this._hitLimit = false;
}
put(e4, t4, i5) {
this._hitLimit || (this._data += (0, s3.utf32ToString)(e4, t4, i5), this._data.length > n4.PAYLOAD_LIMIT && (this._data = "", this._hitLimit = true));
}
unhook(e4) {
let t4 = false;
if (this._hitLimit) t4 = false;
else if (e4 && (t4 = this._handler(this._data, this._params), t4 instanceof Promise)) return t4.then((e5) => (this._params = o3, this._data = "", this._hitLimit = false, e5));
return this._params = o3, this._data = "", this._hitLimit = false, t4;
}
};
}, 15: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.EscapeSequenceParser = t3.VT500_TRANSITION_TABLE = t3.TransitionTable = void 0;
const s3 = i4(844), r3 = i4(742), n4 = i4(242), a2 = i4(351);
class o3 {
constructor(e4) {
this.table = new Uint8Array(e4);
}
setDefault(e4, t4) {
this.table.fill(e4 << 4 | t4);
}
add(e4, t4, i5, s4) {
this.table[t4 << 8 | e4] = i5 << 4 | s4;
}
addMany(e4, t4, i5, s4) {
for (let r4 = 0; r4 < e4.length; r4++) this.table[t4 << 8 | e4[r4]] = i5 << 4 | s4;
}
}
t3.TransitionTable = o3;
const h2 = 160;
t3.VT500_TRANSITION_TABLE = function() {
const e4 = new o3(4095), t4 = Array.apply(null, Array(256)).map((e5, t5) => t5), i5 = (e5, i6) => t4.slice(e5, i6), s4 = i5(32, 127), r4 = i5(0, 24);
r4.push(25), r4.push.apply(r4, i5(28, 32));
const n5 = i5(0, 14);
let a3;
for (a3 in e4.setDefault(1, 0), e4.addMany(s4, 0, 2, 0), n5) e4.addMany([24, 26, 153, 154], a3, 3, 0), e4.addMany(i5(128, 144), a3, 3, 0), e4.addMany(i5(144, 152), a3, 3, 0), e4.add(156, a3, 0, 0), e4.add(27, a3, 11, 1), e4.add(157, a3, 4, 8), e4.addMany([152, 158, 159], a3, 0, 7), e4.add(155, a3, 11, 3), e4.add(144, a3, 11, 9);
return e4.addMany(r4, 0, 3, 0), e4.addMany(r4, 1, 3, 1), e4.add(127, 1, 0, 1), e4.addMany(r4, 8, 0, 8), e4.addMany(r4, 3, 3, 3), e4.add(127, 3, 0, 3), e4.addMany(r4, 4, 3, 4), e4.add(127, 4, 0, 4), e4.addMany(r4, 6, 3, 6), e4.addMany(r4, 5, 3, 5), e4.add(127, 5, 0, 5), e4.addMany(r4, 2, 3, 2), e4.add(127, 2, 0, 2), e4.add(93, 1, 4, 8), e4.addMany(s4, 8, 5, 8), e4.add(127, 8, 5, 8), e4.addMany([156, 27, 24, 26, 7], 8, 6, 0), e4.addMany(i5(28, 32), 8, 0, 8), e4.addMany([88, 94, 95], 1, 0, 7), e4.addMany(s4, 7, 0, 7), e4.addMany(r4, 7, 0, 7), e4.add(156, 7, 0, 0), e4.add(127, 7, 0, 7), e4.add(91, 1, 11, 3), e4.addMany(i5(64, 127), 3, 7, 0), e4.addMany(i5(48, 60), 3, 8, 4), e4.addMany([60, 61, 62, 63], 3, 9, 4), e4.addMany(i5(48, 60), 4, 8, 4), e4.addMany(i5(64, 127), 4, 7, 0), e4.addMany([60, 61, 62, 63], 4, 0, 6), e4.addMany(i5(32, 64), 6, 0, 6), e4.add(127, 6, 0, 6), e4.addMany(i5(64, 127), 6, 0, 0), e4.addMany(i5(32, 48), 3, 9, 5), e4.addMany(i5(32, 48), 5, 9, 5), e4.addMany(i5(48, 64), 5, 0, 6), e4.addMany(i5(64, 127), 5, 7, 0), e4.addMany(i5(32, 48), 4, 9, 5), e4.addMany(i5(32, 48), 1, 9, 2), e4.addMany(i5(32, 48), 2, 9, 2), e4.addMany(i5(48, 127), 2, 10, 0), e4.addMany(i5(48, 80), 1, 10, 0), e4.addMany(i5(81, 88), 1, 10, 0), e4.addMany([89, 90, 92], 1, 10, 0), e4.addMany(i5(96, 127), 1, 10, 0), e4.add(80, 1, 11, 9), e4.addMany(r4, 9, 0, 9), e4.add(127, 9, 0, 9), e4.addMany(i5(28, 32), 9, 0, 9), e4.addMany(i5(32, 48), 9, 9, 12), e4.addMany(i5(48, 60), 9, 8, 10), e4.addMany([60, 61, 62, 63], 9, 9, 10), e4.addMany(r4, 11, 0, 11), e4.addMany(i5(32, 128), 11, 0, 11), e4.addMany(i5(28, 32), 11, 0, 11), e4.addMany(r4, 10, 0, 10), e4.add(127, 10, 0, 10), e4.addMany(i5(28, 32), 10, 0, 10), e4.addMany(i5(48, 60), 10, 8, 10), e4.addMany([60, 61, 62, 63], 10, 0, 11), e4.addMany(i5(32, 48), 10, 9, 12), e4.addMany(r4, 12, 0, 12), e4.add(127, 12, 0, 12), e4.addMany(i5(28, 32), 12, 0, 12), e4.addMany(i5(32, 48), 12, 9, 12), e4.addMany(i5(48, 64), 12, 0, 11), e4.addMany(i5(64, 127), 12, 12, 13), e4.addMany(i5(64, 127), 10, 12, 13), e4.addMany(i5(64, 127), 9, 12, 13), e4.addMany(r4, 13, 13, 13), e4.addMany(s4, 13, 13, 13), e4.add(127, 13, 0, 13), e4.addMany([27, 156, 24, 26], 13, 14, 0), e4.add(h2, 0, 2, 0), e4.add(h2, 8, 5, 8), e4.add(h2, 6, 0, 6), e4.add(h2, 11, 0, 11), e4.add(h2, 13, 13, 13), e4;
}();
class c4 extends s3.Disposable {
constructor(e4 = t3.VT500_TRANSITION_TABLE) {
super(), this._transitions = e4, this._parseStack = { state: 0, handlers: [], handlerPos: 0, transition: 0, chunkPos: 0 }, this.initialState = 0, this.currentState = this.initialState, this._params = new r3.Params(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0, this._printHandlerFb = (e5, t4, i5) => {
}, this._executeHandlerFb = (e5) => {
}, this._csiHandlerFb = (e5, t4) => {
}, this._escHandlerFb = (e5) => {
}, this._errorHandlerFb = (e5) => e5, this._printHandler = this._printHandlerFb, this._executeHandlers = /* @__PURE__ */ Object.create(null), this._csiHandlers = /* @__PURE__ */ Object.create(null), this._escHandlers = /* @__PURE__ */ Object.create(null), this.register((0, s3.toDisposable)(() => {
this._csiHandlers = /* @__PURE__ */ Object.create(null), this._executeHandlers = /* @__PURE__ */ Object.create(null), this._escHandlers = /* @__PURE__ */ Object.create(null);
})), this._oscParser = this.register(new n4.OscParser()), this._dcsParser = this.register(new a2.DcsParser()), this._errorHandler = this._errorHandlerFb, this.registerEscHandler({ final: "\\" }, () => true);
}
_identifier(e4, t4 = [64, 126]) {
let i5 = 0;
if (e4.prefix) {
if (e4.prefix.length > 1) throw new Error("only one byte as prefix supported");
if (i5 = e4.prefix.charCodeAt(0), i5 && 60 > i5 || i5 > 63) throw new Error("prefix must be in range 0x3c .. 0x3f");
}
if (e4.intermediates) {
if (e4.intermediates.length > 2) throw new Error("only two bytes as intermediates are supported");
for (let t5 = 0; t5 < e4.intermediates.length; ++t5) {
const s5 = e4.intermediates.charCodeAt(t5);
if (32 > s5 || s5 > 47) throw new Error("intermediate must be in range 0x20 .. 0x2f");
i5 <<= 8, i5 |= s5;
}
}
if (1 !== e4.final.length) throw new Error("final must be a single byte");
const s4 = e4.final.charCodeAt(0);
if (t4[0] > s4 || s4 > t4[1]) throw new Error(`final must be in range ${t4[0]} .. ${t4[1]}`);
return i5 <<= 8, i5 |= s4, i5;
}
identToString(e4) {
const t4 = [];
for (; e4; ) t4.push(String.fromCharCode(255 & e4)), e4 >>= 8;
return t4.reverse().join("");
}
setPrintHandler(e4) {
this._printHandler = e4;
}
clearPrintHandler() {
this._printHandler = this._printHandlerFb;
}
registerEscHandler(e4, t4) {
const i5 = this._identifier(e4, [48, 126]);
void 0 === this._escHandlers[i5] && (this._escHandlers[i5] = []);
const s4 = this._escHandlers[i5];
return s4.push(t4), { dispose: () => {
const e5 = s4.indexOf(t4);
-1 !== e5 && s4.splice(e5, 1);
} };
}
clearEscHandler(e4) {
this._escHandlers[this._identifier(e4, [48, 126])] && delete this._escHandlers[this._identifier(e4, [48, 126])];
}
setEscHandlerFallback(e4) {
this._escHandlerFb = e4;
}
setExecuteHandler(e4, t4) {
this._executeHandlers[e4.charCodeAt(0)] = t4;
}
clearExecuteHandler(e4) {
this._executeHandlers[e4.charCodeAt(0)] && delete this._executeHandlers[e4.charCodeAt(0)];
}
setExecuteHandlerFallback(e4) {
this._executeHandlerFb = e4;
}
registerCsiHandler(e4, t4) {
const i5 = this._identifier(e4);
void 0 === this._csiHandlers[i5] && (this._csiHandlers[i5] = []);
const s4 = this._csiHandlers[i5];
return s4.push(t4), { dispose: () => {
const e5 = s4.indexOf(t4);
-1 !== e5 && s4.splice(e5, 1);
} };
}
clearCsiHandler(e4) {
this._csiHandlers[this._identifier(e4)] && delete this._csiHandlers[this._identifier(e4)];
}
setCsiHandlerFallback(e4) {
this._csiHandlerFb = e4;
}
registerDcsHandler(e4, t4) {
return this._dcsParser.registerHandler(this._identifier(e4), t4);
}
clearDcsHandler(e4) {
this._dcsParser.clearHandler(this._identifier(e4));
}
setDcsHandlerFallback(e4) {
this._dcsParser.setHandlerFallback(e4);
}
registerOscHandler(e4, t4) {
return this._oscParser.registerHandler(e4, t4);
}
clearOscHandler(e4) {
this._oscParser.clearHandler(e4);
}
setOscHandlerFallback(e4) {
this._oscParser.setHandlerFallback(e4);
}
setErrorHandler(e4) {
this._errorHandler = e4;
}
clearErrorHandler() {
this._errorHandler = this._errorHandlerFb;
}
reset() {
this.currentState = this.initialState, this._oscParser.reset(), this._dcsParser.reset(), this._params.reset(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0, 0 !== this._parseStack.state && (this._parseStack.state = 2, this._parseStack.handlers = []);
}
_preserveStack(e4, t4, i5, s4, r4) {
this._parseStack.state = e4, this._parseStack.handlers = t4, this._parseStack.handlerPos = i5, this._parseStack.transition = s4, this._parseStack.chunkPos = r4;
}
parse(e4, t4, i5) {
let s4, r4 = 0, n5 = 0, a3 = 0;
if (this._parseStack.state) if (2 === this._parseStack.state) this._parseStack.state = 0, a3 = this._parseStack.chunkPos + 1;
else {
if (void 0 === i5 || 1 === this._parseStack.state) throw this._parseStack.state = 1, new Error("improper continuation due to previous async handler, giving up parsing");
const t5 = this._parseStack.handlers;
let n6 = this._parseStack.handlerPos - 1;
switch (this._parseStack.state) {
case 3:
if (false === i5 && n6 > -1) {
for (; n6 >= 0 && (s4 = t5[n6](this._params), true !== s4); n6--) if (s4 instanceof Promise) return this._parseStack.handlerPos = n6, s4;
}
this._parseStack.handlers = [];
break;
case 4:
if (false === i5 && n6 > -1) {
for (; n6 >= 0 && (s4 = t5[n6](), true !== s4); n6--) if (s4 instanceof Promise) return this._parseStack.handlerPos = n6, s4;
}
this._parseStack.handlers = [];
break;
case 6:
if (r4 = e4[this._parseStack.chunkPos], s4 = this._dcsParser.unhook(24 !== r4 && 26 !== r4, i5), s4) return s4;
27 === r4 && (this._parseStack.transition |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0;
break;
case 5:
if (r4 = e4[this._parseStack.chunkPos], s4 = this._oscParser.end(24 !== r4 && 26 !== r4, i5), s4) return s4;
27 === r4 && (this._parseStack.transition |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0;
}
this._parseStack.state = 0, a3 = this._parseStack.chunkPos + 1, this.precedingJoinState = 0, this.currentState = 15 & this._parseStack.transition;
}
for (let i6 = a3; i6 < t4; ++i6) {
switch (r4 = e4[i6], n5 = this._transitions.table[this.currentState << 8 | (r4 < 160 ? r4 : h2)], n5 >> 4) {
case 2:
for (let s5 = i6 + 1; ; ++s5) {
if (s5 >= t4 || (r4 = e4[s5]) < 32 || r4 > 126 && r4 < h2) {
this._printHandler(e4, i6, s5), i6 = s5 - 1;
break;
}
if (++s5 >= t4 || (r4 = e4[s5]) < 32 || r4 > 126 && r4 < h2) {
this._printHandler(e4, i6, s5), i6 = s5 - 1;
break;
}
if (++s5 >= t4 || (r4 = e4[s5]) < 32 || r4 > 126 && r4 < h2) {
this._printHandler(e4, i6, s5), i6 = s5 - 1;
break;
}
if (++s5 >= t4 || (r4 = e4[s5]) < 32 || r4 > 126 && r4 < h2) {
this._printHandler(e4, i6, s5), i6 = s5 - 1;
break;
}
}
break;
case 3:
this._executeHandlers[r4] ? this._executeHandlers[r4]() : this._executeHandlerFb(r4), this.precedingJoinState = 0;
break;
case 0:
break;
case 1:
if (this._errorHandler({ position: i6, code: r4, currentState: this.currentState, collect: this._collect, params: this._params, abort: false }).abort) return;
break;
case 7:
const a4 = this._csiHandlers[this._collect << 8 | r4];
let o4 = a4 ? a4.length - 1 : -1;
for (; o4 >= 0 && (s4 = a4[o4](this._params), true !== s4); o4--) if (s4 instanceof Promise) return this._preserveStack(3, a4, o4, n5, i6), s4;
o4 < 0 && this._csiHandlerFb(this._collect << 8 | r4, this._params), this.precedingJoinState = 0;
break;
case 8:
do {
switch (r4) {
case 59:
this._params.addParam(0);
break;
case 58:
this._params.addSubParam(-1);
break;
default:
this._params.addDigit(r4 - 48);
}
} while (++i6 < t4 && (r4 = e4[i6]) > 47 && r4 < 60);
i6--;
break;
case 9:
this._collect <<= 8, this._collect |= r4;
break;
case 10:
const c5 = this._escHandlers[this._collect << 8 | r4];
let l2 = c5 ? c5.length - 1 : -1;
for (; l2 >= 0 && (s4 = c5[l2](), true !== s4); l2--) if (s4 instanceof Promise) return this._preserveStack(4, c5, l2, n5, i6), s4;
l2 < 0 && this._escHandlerFb(this._collect << 8 | r4), this.precedingJoinState = 0;
break;
case 11:
this._params.reset(), this._params.addParam(0), this._collect = 0;
break;
case 12:
this._dcsParser.hook(this._collect << 8 | r4, this._params);
break;
case 13:
for (let s5 = i6 + 1; ; ++s5) if (s5 >= t4 || 24 === (r4 = e4[s5]) || 26 === r4 || 27 === r4 || r4 > 127 && r4 < h2) {
this._dcsParser.put(e4, i6, s5), i6 = s5 - 1;
break;
}
break;
case 14:
if (s4 = this._dcsParser.unhook(24 !== r4 && 26 !== r4), s4) return this._preserveStack(6, [], 0, n5, i6), s4;
27 === r4 && (n5 |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0;
break;
case 4:
this._oscParser.start();
break;
case 5:
for (let s5 = i6 + 1; ; s5++) if (s5 >= t4 || (r4 = e4[s5]) < 32 || r4 > 127 && r4 < h2) {
this._oscParser.put(e4, i6, s5), i6 = s5 - 1;
break;
}
break;
case 6:
if (s4 = this._oscParser.end(24 !== r4 && 26 !== r4), s4) return this._preserveStack(5, [], 0, n5, i6), s4;
27 === r4 && (n5 |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0;
}
this.currentState = 15 & n5;
}
}
}
t3.EscapeSequenceParser = c4;
}, 242: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.OscHandler = t3.OscParser = void 0;
const s3 = i4(770), r3 = i4(482), n4 = [];
t3.OscParser = class {
constructor() {
this._state = 0, this._active = n4, this._id = -1, this._handlers = /* @__PURE__ */ Object.create(null), this._handlerFb = () => {
}, this._stack = { paused: false, loopPosition: 0, fallThrough: false };
}
registerHandler(e4, t4) {
void 0 === this._handlers[e4] && (this._handlers[e4] = []);
const i5 = this._handlers[e4];
return i5.push(t4), { dispose: () => {
const e5 = i5.indexOf(t4);
-1 !== e5 && i5.splice(e5, 1);
} };
}
clearHandler(e4) {
this._handlers[e4] && delete this._handlers[e4];
}
setHandlerFallback(e4) {
this._handlerFb = e4;
}
dispose() {
this._handlers = /* @__PURE__ */ Object.create(null), this._handlerFb = () => {
}, this._active = n4;
}
reset() {
if (2 === this._state) for (let e4 = this._stack.paused ? this._stack.loopPosition - 1 : this._active.length - 1; e4 >= 0; --e4) this._active[e4].end(false);
this._stack.paused = false, this._active = n4, this._id = -1, this._state = 0;
}
_start() {
if (this._active = this._handlers[this._id] || n4, this._active.length) for (let e4 = this._active.length - 1; e4 >= 0; e4--) this._active[e4].start();
else this._handlerFb(this._id, "START");
}
_put(e4, t4, i5) {
if (this._active.length) for (let s4 = this._active.length - 1; s4 >= 0; s4--) this._active[s4].put(e4, t4, i5);
else this._handlerFb(this._id, "PUT", (0, r3.utf32ToString)(e4, t4, i5));
}
start() {
this.reset(), this._state = 1;
}
put(e4, t4, i5) {
if (3 !== this._state) {
if (1 === this._state) for (; t4 < i5; ) {
const i6 = e4[t4++];
if (59 === i6) {
this._state = 2, this._start();
break;
}
if (i6 < 48 || 57 < i6) return void (this._state = 3);
-1 === this._id && (this._id = 0), this._id = 10 * this._id + i6 - 48;
}
2 === this._state && i5 - t4 > 0 && this._put(e4, t4, i5);
}
}
end(e4, t4 = true) {
if (0 !== this._state) {
if (3 !== this._state) if (1 === this._state && this._start(), this._active.length) {
let i5 = false, s4 = this._active.length - 1, r4 = false;
if (this._stack.paused && (s4 = this._stack.loopPosition - 1, i5 = t4, r4 = this._stack.fallThrough, this._stack.paused = false), !r4 && false === i5) {
for (; s4 >= 0 && (i5 = this._active[s4].end(e4), true !== i5); s4--) if (i5 instanceof Promise) return this._stack.paused = true, this._stack.loopPosition = s4, this._stack.fallThrough = false, i5;
s4--;
}
for (; s4 >= 0; s4--) if (i5 = this._active[s4].end(false), i5 instanceof Promise) return this._stack.paused = true, this._stack.loopPosition = s4, this._stack.fallThrough = true, i5;
} else this._handlerFb(this._id, "END", e4);
this._active = n4, this._id = -1, this._state = 0;
}
}
}, t3.OscHandler = class {
constructor(e4) {
this._handler = e4, this._data = "", this._hitLimit = false;
}
start() {
this._data = "", this._hitLimit = false;
}
put(e4, t4, i5) {
this._hitLimit || (this._data += (0, r3.utf32ToString)(e4, t4, i5), this._data.length > s3.PAYLOAD_LIMIT && (this._data = "", this._hitLimit = true));
}
end(e4) {
let t4 = false;
if (this._hitLimit) t4 = false;
else if (e4 && (t4 = this._handler(this._data), t4 instanceof Promise)) return t4.then((e5) => (this._data = "", this._hitLimit = false, e5));
return this._data = "", this._hitLimit = false, t4;
}
};
}, 742: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.Params = void 0;
const i4 = 2147483647;
class s3 {
static fromArray(e4) {
const t4 = new s3();
if (!e4.length) return t4;
for (let i5 = Array.isArray(e4[0]) ? 1 : 0; i5 < e4.length; ++i5) {
const s4 = e4[i5];
if (Array.isArray(s4)) for (let e5 = 0; e5 < s4.length; ++e5) t4.addSubParam(s4[e5]);
else t4.addParam(s4);
}
return t4;
}
constructor(e4 = 32, t4 = 32) {
if (this.maxLength = e4, this.maxSubParamsLength = t4, t4 > 256) throw new Error("maxSubParamsLength must not be greater than 256");
this.params = new Int32Array(e4), this.length = 0, this._subParams = new Int32Array(t4), this._subParamsLength = 0, this._subParamsIdx = new Uint16Array(e4), this._rejectDigits = false, this._rejectSubDigits = false, this._digitIsSub = false;
}
clone() {
const e4 = new s3(this.maxLength, this.maxSubParamsLength);
return e4.params.set(this.params), e4.length = this.length, e4._subParams.set(this._subParams), e4._subParamsLength = this._subParamsLength, e4._subParamsIdx.set(this._subParamsIdx), e4._rejectDigits = this._rejectDigits, e4._rejectSubDigits = this._rejectSubDigits, e4._digitIsSub = this._digitIsSub, e4;
}
toArray() {
const e4 = [];
for (let t4 = 0; t4 < this.length; ++t4) {
e4.push(this.params[t4]);
const i5 = this._subParamsIdx[t4] >> 8, s4 = 255 & this._subParamsIdx[t4];
s4 - i5 > 0 && e4.push(Array.prototype.slice.call(this._subParams, i5, s4));
}
return e4;
}
reset() {
this.length = 0, this._subParamsLength = 0, this._rejectDigits = false, this._rejectSubDigits = false, this._digitIsSub = false;
}
addParam(e4) {
if (this._digitIsSub = false, this.length >= this.maxLength) this._rejectDigits = true;
else {
if (e4 < -1) throw new Error("values lesser than -1 are not allowed");
this._subParamsIdx[this.length] = this._subParamsLength << 8 | this._subParamsLength, this.params[this.length++] = e4 > i4 ? i4 : e4;
}
}
addSubParam(e4) {
if (this._digitIsSub = true, this.length) if (this._rejectDigits || this._subParamsLength >= this.maxSubParamsLength) this._rejectSubDigits = true;
else {
if (e4 < -1) throw new Error("values lesser than -1 are not allowed");
this._subParams[this._subParamsLength++] = e4 > i4 ? i4 : e4, this._subParamsIdx[this.length - 1]++;
}
}
hasSubParams(e4) {
return (255 & this._subParamsIdx[e4]) - (this._subParamsIdx[e4] >> 8) > 0;
}
getSubParams(e4) {
const t4 = this._subParamsIdx[e4] >> 8, i5 = 255 & this._subParamsIdx[e4];
return i5 - t4 > 0 ? this._subParams.subarray(t4, i5) : null;
}
getSubParamsAll() {
const e4 = {};
for (let t4 = 0; t4 < this.length; ++t4) {
const i5 = this._subParamsIdx[t4] >> 8, s4 = 255 & this._subParamsIdx[t4];
s4 - i5 > 0 && (e4[t4] = this._subParams.slice(i5, s4));
}
return e4;
}
addDigit(e4) {
let t4;
if (this._rejectDigits || !(t4 = this._digitIsSub ? this._subParamsLength : this.length) || this._digitIsSub && this._rejectSubDigits) return;
const s4 = this._digitIsSub ? this._subParams : this.params, r3 = s4[t4 - 1];
s4[t4 - 1] = ~r3 ? Math.min(10 * r3 + e4, i4) : e4;
}
}
t3.Params = s3;
}, 741: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.AddonManager = void 0, t3.AddonManager = class {
constructor() {
this._addons = [];
}
dispose() {
for (let e4 = this._addons.length - 1; e4 >= 0; e4--) this._addons[e4].instance.dispose();
}
loadAddon(e4, t4) {
const i4 = { instance: t4, dispose: t4.dispose, isDisposed: false };
this._addons.push(i4), t4.dispose = () => this._wrappedAddonDispose(i4), t4.activate(e4);
}
_wrappedAddonDispose(e4) {
if (e4.isDisposed) return;
let t4 = -1;
for (let i4 = 0; i4 < this._addons.length; i4++) if (this._addons[i4] === e4) {
t4 = i4;
break;
}
if (-1 === t4) throw new Error("Could not dispose an addon that has not been loaded");
e4.isDisposed = true, e4.dispose.apply(e4.instance), this._addons.splice(t4, 1);
}
};
}, 771: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.BufferApiView = void 0;
const s3 = i4(785), r3 = i4(511);
t3.BufferApiView = class {
constructor(e4, t4) {
this._buffer = e4, this.type = t4;
}
init(e4) {
return this._buffer = e4, this;
}
get cursorY() {
return this._buffer.y;
}
get cursorX() {
return this._buffer.x;
}
get viewportY() {
return this._buffer.ydisp;
}
get baseY() {
return this._buffer.ybase;
}
get length() {
return this._buffer.lines.length;
}
getLine(e4) {
const t4 = this._buffer.lines.get(e4);
if (t4) return new s3.BufferLineApiView(t4);
}
getNullCell() {
return new r3.CellData();
}
};
}, 785: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.BufferLineApiView = void 0;
const s3 = i4(511);
t3.BufferLineApiView = class {
constructor(e4) {
this._line = e4;
}
get isWrapped() {
return this._line.isWrapped;
}
get length() {
return this._line.length;
}
getCell(e4, t4) {
if (!(e4 < 0 || e4 >= this._line.length)) return t4 ? (this._line.loadCell(e4, t4), t4) : this._line.loadCell(e4, new s3.CellData());
}
translateToString(e4, t4, i5) {
return this._line.translateToString(e4, t4, i5);
}
};
}, 285: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.BufferNamespaceApi = void 0;
const s3 = i4(771), r3 = i4(460), n4 = i4(844);
class a2 extends n4.Disposable {
constructor(e4) {
super(), this._core = e4, this._onBufferChange = this.register(new r3.EventEmitter()), this.onBufferChange = this._onBufferChange.event, this._normal = new s3.BufferApiView(this._core.buffers.normal, "normal"), this._alternate = new s3.BufferApiView(this._core.buffers.alt, "alternate"), this._core.buffers.onBufferActivate(() => this._onBufferChange.fire(this.active));
}
get active() {
if (this._core.buffers.active === this._core.buffers.normal) return this.normal;
if (this._core.buffers.active === this._core.buffers.alt) return this.alternate;
throw new Error("Active buffer is neither normal nor alternate");
}
get normal() {
return this._normal.init(this._core.buffers.normal);
}
get alternate() {
return this._alternate.init(this._core.buffers.alt);
}
}
t3.BufferNamespaceApi = a2;
}, 975: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.ParserApi = void 0, t3.ParserApi = class {
constructor(e4) {
this._core = e4;
}
registerCsiHandler(e4, t4) {
return this._core.registerCsiHandler(e4, (e5) => t4(e5.toArray()));
}
addCsiHandler(e4, t4) {
return this.registerCsiHandler(e4, t4);
}
registerDcsHandler(e4, t4) {
return this._core.registerDcsHandler(e4, (e5, i4) => t4(e5, i4.toArray()));
}
addDcsHandler(e4, t4) {
return this.registerDcsHandler(e4, t4);
}
registerEscHandler(e4, t4) {
return this._core.registerEscHandler(e4, t4);
}
addEscHandler(e4, t4) {
return this.registerEscHandler(e4, t4);
}
registerOscHandler(e4, t4) {
return this._core.registerOscHandler(e4, t4);
}
addOscHandler(e4, t4) {
return this.registerOscHandler(e4, t4);
}
};
}, 90: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.UnicodeApi = void 0, t3.UnicodeApi = class {
constructor(e4) {
this._core = e4;
}
register(e4) {
this._core.unicodeService.register(e4);
}
get versions() {
return this._core.unicodeService.versions;
}
get activeVersion() {
return this._core.unicodeService.activeVersion;
}
set activeVersion(e4) {
this._core.unicodeService.activeVersion = e4;
}
};
}, 744: function(e3, t3, i4) {
var s3 = this && this.__decorate || function(e4, t4, i5, s4) {
var r4, n5 = arguments.length, a3 = n5 < 3 ? t4 : null === s4 ? s4 = Object.getOwnPropertyDescriptor(t4, i5) : s4;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a3 = Reflect.decorate(e4, t4, i5, s4);
else for (var o4 = e4.length - 1; o4 >= 0; o4--) (r4 = e4[o4]) && (a3 = (n5 < 3 ? r4(a3) : n5 > 3 ? r4(t4, i5, a3) : r4(t4, i5)) || a3);
return n5 > 3 && a3 && Object.defineProperty(t4, i5, a3), a3;
}, r3 = this && this.__param || function(e4, t4) {
return function(i5, s4) {
t4(i5, s4, e4);
};
};
Object.defineProperty(t3, "__esModule", { value: true }), t3.BufferService = t3.MINIMUM_ROWS = t3.MINIMUM_COLS = void 0;
const n4 = i4(460), a2 = i4(844), o3 = i4(295), h2 = i4(585);
t3.MINIMUM_COLS = 2, t3.MINIMUM_ROWS = 1;
let c4 = t3.BufferService = class extends a2.Disposable {
get buffer() {
return this.buffers.active;
}
constructor(e4) {
super(), this.isUserScrolling = false, this._onResize = this.register(new n4.EventEmitter()), this.onResize = this._onResize.event, this._onScroll = this.register(new n4.EventEmitter()), this.onScroll = this._onScroll.event, this.cols = Math.max(e4.rawOptions.cols || 0, t3.MINIMUM_COLS), this.rows = Math.max(e4.rawOptions.rows || 0, t3.MINIMUM_ROWS), this.buffers = this.register(new o3.BufferSet(e4, this));
}
resize(e4, t4) {
this.cols = e4, this.rows = t4, this.buffers.resize(e4, t4), this._onResize.fire({ cols: e4, rows: t4 });
}
reset() {
this.buffers.reset(), this.isUserScrolling = false;
}
scroll(e4, t4 = false) {
const i5 = this.buffer;
let s4;
s4 = this._cachedBlankLine, s4 && s4.length === this.cols && s4.getFg(0) === e4.fg && s4.getBg(0) === e4.bg || (s4 = i5.getBlankLine(e4, t4), this._cachedBlankLine = s4), s4.isWrapped = t4;
const r4 = i5.ybase + i5.scrollTop, n5 = i5.ybase + i5.scrollBottom;
if (0 === i5.scrollTop) {
const e5 = i5.lines.isFull;
n5 === i5.lines.length - 1 ? e5 ? i5.lines.recycle().copyFrom(s4) : i5.lines.push(s4.clone()) : i5.lines.splice(n5 + 1, 0, s4.clone()), e5 ? this.isUserScrolling && (i5.ydisp = Math.max(i5.ydisp - 1, 0)) : (i5.ybase++, this.isUserScrolling || i5.ydisp++);
} else {
const e5 = n5 - r4 + 1;
i5.lines.shiftElements(r4 + 1, e5 - 1, -1), i5.lines.set(n5, s4.clone());
}
this.isUserScrolling || (i5.ydisp = i5.ybase), this._onScroll.fire(i5.ydisp);
}
scrollLines(e4, t4, i5) {
const s4 = this.buffer;
if (e4 < 0) {
if (0 === s4.ydisp) return;
this.isUserScrolling = true;
} else e4 + s4.ydisp >= s4.ybase && (this.isUserScrolling = false);
const r4 = s4.ydisp;
s4.ydisp = Math.max(Math.min(s4.ydisp + e4, s4.ybase), 0), r4 !== s4.ydisp && (t4 || this._onScroll.fire(s4.ydisp));
}
};
t3.BufferService = c4 = s3([r3(0, h2.IOptionsService)], c4);
}, 994: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.CharsetService = void 0, t3.CharsetService = class {
constructor() {
this.glevel = 0, this._charsets = [];
}
reset() {
this.charset = void 0, this._charsets = [], this.glevel = 0;
}
setgLevel(e4) {
this.glevel = e4, this.charset = this._charsets[e4];
}
setgCharset(e4, t4) {
this._charsets[e4] = t4, this.glevel === e4 && (this.charset = t4);
}
};
}, 753: function(e3, t3, i4) {
var s3 = this && this.__decorate || function(e4, t4, i5, s4) {
var r4, n5 = arguments.length, a3 = n5 < 3 ? t4 : null === s4 ? s4 = Object.getOwnPropertyDescriptor(t4, i5) : s4;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a3 = Reflect.decorate(e4, t4, i5, s4);
else for (var o4 = e4.length - 1; o4 >= 0; o4--) (r4 = e4[o4]) && (a3 = (n5 < 3 ? r4(a3) : n5 > 3 ? r4(t4, i5, a3) : r4(t4, i5)) || a3);
return n5 > 3 && a3 && Object.defineProperty(t4, i5, a3), a3;
}, r3 = this && this.__param || function(e4, t4) {
return function(i5, s4) {
t4(i5, s4, e4);
};
};
Object.defineProperty(t3, "__esModule", { value: true }), t3.CoreMouseService = void 0;
const n4 = i4(585), a2 = i4(460), o3 = i4(844), h2 = { NONE: { events: 0, restrict: () => false }, X10: { events: 1, restrict: (e4) => 4 !== e4.button && 1 === e4.action && (e4.ctrl = false, e4.alt = false, e4.shift = false, true) }, VT200: { events: 19, restrict: (e4) => 32 !== e4.action }, DRAG: { events: 23, restrict: (e4) => 32 !== e4.action || 3 !== e4.button }, ANY: { events: 31, restrict: (e4) => true } };
function c4(e4, t4) {
let i5 = (e4.ctrl ? 16 : 0) | (e4.shift ? 4 : 0) | (e4.alt ? 8 : 0);
return 4 === e4.button ? (i5 |= 64, i5 |= e4.action) : (i5 |= 3 & e4.button, 4 & e4.button && (i5 |= 64), 8 & e4.button && (i5 |= 128), 32 === e4.action ? i5 |= 32 : 0 !== e4.action || t4 || (i5 |= 3)), i5;
}
const l2 = String.fromCharCode, _ = { DEFAULT: (e4) => {
const t4 = [c4(e4, false) + 32, e4.col + 32, e4.row + 32];
return t4[0] > 255 || t4[1] > 255 || t4[2] > 255 ? "" : `\x1B[M${l2(t4[0])}${l2(t4[1])}${l2(t4[2])}`;
}, SGR: (e4) => {
const t4 = 0 === e4.action && 4 !== e4.button ? "m" : "M";
return `\x1B[<${c4(e4, true)};${e4.col};${e4.row}${t4}`;
}, SGR_PIXELS: (e4) => {
const t4 = 0 === e4.action && 4 !== e4.button ? "m" : "M";
return `\x1B[<${c4(e4, true)};${e4.x};${e4.y}${t4}`;
} };
let d = t3.CoreMouseService = class extends o3.Disposable {
constructor(e4, t4) {
super(), this._bufferService = e4, this._coreService = t4, this._protocols = {}, this._encodings = {}, this._activeProtocol = "", this._activeEncoding = "", this._lastEvent = null, this._onProtocolChange = this.register(new a2.EventEmitter()), this.onProtocolChange = this._onProtocolChange.event;
for (const e5 of Object.keys(h2)) this.addProtocol(e5, h2[e5]);
for (const e5 of Object.keys(_)) this.addEncoding(e5, _[e5]);
this.reset();
}
addProtocol(e4, t4) {
this._protocols[e4] = t4;
}
addEncoding(e4, t4) {
this._encodings[e4] = t4;
}
get activeProtocol() {
return this._activeProtocol;
}
get areMouseEventsActive() {
return 0 !== this._protocols[this._activeProtocol].events;
}
set activeProtocol(e4) {
if (!this._protocols[e4]) throw new Error(`unknown protocol "${e4}"`);
this._activeProtocol = e4, this._onProtocolChange.fire(this._protocols[e4].events);
}
get activeEncoding() {
return this._activeEncoding;
}
set activeEncoding(e4) {
if (!this._encodings[e4]) throw new Error(`unknown encoding "${e4}"`);
this._activeEncoding = e4;
}
reset() {
this.activeProtocol = "NONE", this.activeEncoding = "DEFAULT", this._lastEvent = null;
}
triggerMouseEvent(e4) {
if (e4.col < 0 || e4.col >= this._bufferService.cols || e4.row < 0 || e4.row >= this._bufferService.rows) return false;
if (4 === e4.button && 32 === e4.action) return false;
if (3 === e4.button && 32 !== e4.action) return false;
if (4 !== e4.button && (2 === e4.action || 3 === e4.action)) return false;
if (e4.col++, e4.row++, 32 === e4.action && this._lastEvent && this._equalEvents(this._lastEvent, e4, "SGR_PIXELS" === this._activeEncoding)) return false;
if (!this._protocols[this._activeProtocol].restrict(e4)) return false;
const t4 = this._encodings[this._activeEncoding](e4);
return t4 && ("DEFAULT" === this._activeEncoding ? this._coreService.triggerBinaryEvent(t4) : this._coreService.triggerDataEvent(t4, true)), this._lastEvent = e4, true;
}
explainEvents(e4) {
return { down: !!(1 & e4), up: !!(2 & e4), drag: !!(4 & e4), move: !!(8 & e4), wheel: !!(16 & e4) };
}
_equalEvents(e4, t4, i5) {
if (i5) {
if (e4.x !== t4.x) return false;
if (e4.y !== t4.y) return false;
} else {
if (e4.col !== t4.col) return false;
if (e4.row !== t4.row) return false;
}
return e4.button === t4.button && e4.action === t4.action && e4.ctrl === t4.ctrl && e4.alt === t4.alt && e4.shift === t4.shift;
}
};
t3.CoreMouseService = d = s3([r3(0, n4.IBufferService), r3(1, n4.ICoreService)], d);
}, 83: function(e3, t3, i4) {
var s3 = this && this.__decorate || function(e4, t4, i5, s4) {
var r4, n5 = arguments.length, a3 = n5 < 3 ? t4 : null === s4 ? s4 = Object.getOwnPropertyDescriptor(t4, i5) : s4;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a3 = Reflect.decorate(e4, t4, i5, s4);
else for (var o4 = e4.length - 1; o4 >= 0; o4--) (r4 = e4[o4]) && (a3 = (n5 < 3 ? r4(a3) : n5 > 3 ? r4(t4, i5, a3) : r4(t4, i5)) || a3);
return n5 > 3 && a3 && Object.defineProperty(t4, i5, a3), a3;
}, r3 = this && this.__param || function(e4, t4) {
return function(i5, s4) {
t4(i5, s4, e4);
};
};
Object.defineProperty(t3, "__esModule", { value: true }), t3.CoreService = void 0;
const n4 = i4(439), a2 = i4(460), o3 = i4(844), h2 = i4(585), c4 = Object.freeze({ insertMode: false }), l2 = Object.freeze({ applicationCursorKeys: false, applicationKeypad: false, bracketedPasteMode: false, origin: false, reverseWraparound: false, sendFocus: false, wraparound: true });
let _ = t3.CoreService = class extends o3.Disposable {
constructor(e4, t4, i5) {
super(), this._bufferService = e4, this._logService = t4, this._optionsService = i5, this.isCursorInitialized = false, this.isCursorHidden = false, this._onData = this.register(new a2.EventEmitter()), this.onData = this._onData.event, this._onUserInput = this.register(new a2.EventEmitter()), this.onUserInput = this._onUserInput.event, this._onBinary = this.register(new a2.EventEmitter()), this.onBinary = this._onBinary.event, this._onRequestScrollToBottom = this.register(new a2.EventEmitter()), this.onRequestScrollToBottom = this._onRequestScrollToBottom.event, this.modes = (0, n4.clone)(c4), this.decPrivateModes = (0, n4.clone)(l2);
}
reset() {
this.modes = (0, n4.clone)(c4), this.decPrivateModes = (0, n4.clone)(l2);
}
triggerDataEvent(e4, t4 = false) {
if (this._optionsService.rawOptions.disableStdin) return;
const i5 = this._bufferService.buffer;
t4 && this._optionsService.rawOptions.scrollOnUserInput && i5.ybase !== i5.ydisp && this._onRequestScrollToBottom.fire(), t4 && this._onUserInput.fire(), this._logService.debug(`sending data "${e4}"`, () => e4.split("").map((e5) => e5.charCodeAt(0))), this._onData.fire(e4);
}
triggerBinaryEvent(e4) {
this._optionsService.rawOptions.disableStdin || (this._logService.debug(`sending binary "${e4}"`, () => e4.split("").map((e5) => e5.charCodeAt(0))), this._onBinary.fire(e4));
}
};
t3.CoreService = _ = s3([r3(0, h2.IBufferService), r3(1, h2.ILogService), r3(2, h2.IOptionsService)], _);
}, 348: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.InstantiationService = t3.ServiceCollection = void 0;
const s3 = i4(585), r3 = i4(343);
class n4 {
constructor(...e4) {
this._entries = /* @__PURE__ */ new Map();
for (const [t4, i5] of e4) this.set(t4, i5);
}
set(e4, t4) {
const i5 = this._entries.get(e4);
return this._entries.set(e4, t4), i5;
}
forEach(e4) {
for (const [t4, i5] of this._entries.entries()) e4(t4, i5);
}
has(e4) {
return this._entries.has(e4);
}
get(e4) {
return this._entries.get(e4);
}
}
t3.ServiceCollection = n4, t3.InstantiationService = class {
constructor() {
this._services = new n4(), this._services.set(s3.IInstantiationService, this);
}
setService(e4, t4) {
this._services.set(e4, t4);
}
getService(e4) {
return this._services.get(e4);
}
createInstance(e4, ...t4) {
const i5 = (0, r3.getServiceDependencies)(e4).sort((e5, t5) => e5.index - t5.index), s4 = [];
for (const t5 of i5) {
const i6 = this._services.get(t5.id);
if (!i6) throw new Error(`[createInstance] ${e4.name} depends on UNKNOWN service ${t5.id}.`);
s4.push(i6);
}
const n5 = i5.length > 0 ? i5[0].index : t4.length;
if (t4.length !== n5) throw new Error(`[createInstance] First service dependency of ${e4.name} at position ${n5 + 1} conflicts with ${t4.length} static arguments`);
return new e4(...[...t4, ...s4]);
}
};
}, 866: function(e3, t3, i4) {
var s3 = this && this.__decorate || function(e4, t4, i5, s4) {
var r4, n5 = arguments.length, a3 = n5 < 3 ? t4 : null === s4 ? s4 = Object.getOwnPropertyDescriptor(t4, i5) : s4;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a3 = Reflect.decorate(e4, t4, i5, s4);
else for (var o4 = e4.length - 1; o4 >= 0; o4--) (r4 = e4[o4]) && (a3 = (n5 < 3 ? r4(a3) : n5 > 3 ? r4(t4, i5, a3) : r4(t4, i5)) || a3);
return n5 > 3 && a3 && Object.defineProperty(t4, i5, a3), a3;
}, r3 = this && this.__param || function(e4, t4) {
return function(i5, s4) {
t4(i5, s4, e4);
};
};
Object.defineProperty(t3, "__esModule", { value: true }), t3.traceCall = t3.setTraceLogger = t3.LogService = void 0;
const n4 = i4(844), a2 = i4(585), o3 = { trace: a2.LogLevelEnum.TRACE, debug: a2.LogLevelEnum.DEBUG, info: a2.LogLevelEnum.INFO, warn: a2.LogLevelEnum.WARN, error: a2.LogLevelEnum.ERROR, off: a2.LogLevelEnum.OFF };
let h2, c4 = t3.LogService = class extends n4.Disposable {
get logLevel() {
return this._logLevel;
}
constructor(e4) {
super(), this._optionsService = e4, this._logLevel = a2.LogLevelEnum.OFF, this._updateLogLevel(), this.register(this._optionsService.onSpecificOptionChange("logLevel", () => this._updateLogLevel())), h2 = this;
}
_updateLogLevel() {
this._logLevel = o3[this._optionsService.rawOptions.logLevel];
}
_evalLazyOptionalParams(e4) {
for (let t4 = 0; t4 < e4.length; t4++) "function" == typeof e4[t4] && (e4[t4] = e4[t4]());
}
_log(e4, t4, i5) {
this._evalLazyOptionalParams(i5), e4.call(console, (this._optionsService.options.logger ? "" : "xterm.js: ") + t4, ...i5);
}
trace(e4, ...t4) {
this._logLevel <= a2.LogLevelEnum.TRACE && this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger) ?? console.log, e4, t4);
}
debug(e4, ...t4) {
this._logLevel <= a2.LogLevelEnum.DEBUG && this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger) ?? console.log, e4, t4);
}
info(e4, ...t4) {
this._logLevel <= a2.LogLevelEnum.INFO && this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger) ?? console.info, e4, t4);
}
warn(e4, ...t4) {
this._logLevel <= a2.LogLevelEnum.WARN && this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger) ?? console.warn, e4, t4);
}
error(e4, ...t4) {
this._logLevel <= a2.LogLevelEnum.ERROR && this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger) ?? console.error, e4, t4);
}
};
t3.LogService = c4 = s3([r3(0, a2.IOptionsService)], c4), t3.setTraceLogger = function(e4) {
h2 = e4;
}, t3.traceCall = function(e4, t4, i5) {
if ("function" != typeof i5.value) throw new Error("not supported");
const s4 = i5.value;
i5.value = function(...e5) {
if (h2.logLevel !== a2.LogLevelEnum.TRACE) return s4.apply(this, e5);
h2.trace(`GlyphRenderer#${s4.name}(${e5.map((e6) => JSON.stringify(e6)).join(", ")})`);
const t5 = s4.apply(this, e5);
return h2.trace(`GlyphRenderer#${s4.name} return`, t5), t5;
};
};
}, 302: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.OptionsService = t3.DEFAULT_OPTIONS = void 0;
const s3 = i4(460), r3 = i4(844), n4 = i4(114);
t3.DEFAULT_OPTIONS = { cols: 80, rows: 24, cursorBlink: false, cursorStyle: "block", cursorWidth: 1, cursorInactiveStyle: "outline", customGlyphs: true, drawBoldTextInBrightColors: true, documentOverride: null, fastScrollModifier: "alt", fastScrollSensitivity: 5, fontFamily: "courier-new, courier, monospace", fontSize: 15, fontWeight: "normal", fontWeightBold: "bold", ignoreBracketedPasteMode: false, lineHeight: 1, letterSpacing: 0, linkHandler: null, logLevel: "info", logger: null, scrollback: 1e3, scrollOnUserInput: true, scrollSensitivity: 1, screenReaderMode: false, smoothScrollDuration: 0, macOptionIsMeta: false, macOptionClickForcesSelection: false, minimumContrastRatio: 1, disableStdin: false, allowProposedApi: false, allowTransparency: false, tabStopWidth: 8, theme: {}, rescaleOverlappingGlyphs: false, rightClickSelectsWord: n4.isMac, windowOptions: {}, windowsMode: false, windowsPty: {}, wordSeparator: " ()[]{}',\"`", altClickMovesCursor: true, convertEol: false, termName: "xterm", cancelEvents: false, overviewRulerWidth: 0 };
const a2 = ["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900"];
class o3 extends r3.Disposable {
constructor(e4) {
super(), this._onOptionChange = this.register(new s3.EventEmitter()), this.onOptionChange = this._onOptionChange.event;
const i5 = { ...t3.DEFAULT_OPTIONS };
for (const t4 in e4) if (t4 in i5) try {
const s4 = e4[t4];
i5[t4] = this._sanitizeAndValidateOption(t4, s4);
} catch (e5) {
console.error(e5);
}
this.rawOptions = i5, this.options = { ...i5 }, this._setupOptions(), this.register((0, r3.toDisposable)(() => {
this.rawOptions.linkHandler = null, this.rawOptions.documentOverride = null;
}));
}
onSpecificOptionChange(e4, t4) {
return this.onOptionChange((i5) => {
i5 === e4 && t4(this.rawOptions[e4]);
});
}
onMultipleOptionChange(e4, t4) {
return this.onOptionChange((i5) => {
-1 !== e4.indexOf(i5) && t4();
});
}
_setupOptions() {
const e4 = (e5) => {
if (!(e5 in t3.DEFAULT_OPTIONS)) throw new Error(`No option with key "${e5}"`);
return this.rawOptions[e5];
}, i5 = (e5, i6) => {
if (!(e5 in t3.DEFAULT_OPTIONS)) throw new Error(`No option with key "${e5}"`);
i6 = this._sanitizeAndValidateOption(e5, i6), this.rawOptions[e5] !== i6 && (this.rawOptions[e5] = i6, this._onOptionChange.fire(e5));
};
for (const t4 in this.rawOptions) {
const s4 = { get: e4.bind(this, t4), set: i5.bind(this, t4) };
Object.defineProperty(this.options, t4, s4);
}
}
_sanitizeAndValidateOption(e4, i5) {
switch (e4) {
case "cursorStyle":
if (i5 || (i5 = t3.DEFAULT_OPTIONS[e4]), !/* @__PURE__ */ function(e5) {
return "block" === e5 || "underline" === e5 || "bar" === e5;
}(i5)) throw new Error(`"${i5}" is not a valid value for ${e4}`);
break;
case "wordSeparator":
i5 || (i5 = t3.DEFAULT_OPTIONS[e4]);
break;
case "fontWeight":
case "fontWeightBold":
if ("number" == typeof i5 && 1 <= i5 && i5 <= 1e3) break;
i5 = a2.includes(i5) ? i5 : t3.DEFAULT_OPTIONS[e4];
break;
case "cursorWidth":
i5 = Math.floor(i5);
case "lineHeight":
case "tabStopWidth":
if (i5 < 1) throw new Error(`${e4} cannot be less than 1, value: ${i5}`);
break;
case "minimumContrastRatio":
i5 = Math.max(1, Math.min(21, Math.round(10 * i5) / 10));
break;
case "scrollback":
if ((i5 = Math.min(i5, 4294967295)) < 0) throw new Error(`${e4} cannot be less than 0, value: ${i5}`);
break;
case "fastScrollSensitivity":
case "scrollSensitivity":
if (i5 <= 0) throw new Error(`${e4} cannot be less than or equal to 0, value: ${i5}`);
break;
case "rows":
case "cols":
if (!i5 && 0 !== i5) throw new Error(`${e4} must be numeric, value: ${i5}`);
break;
case "windowsPty":
i5 = i5 ?? {};
}
return i5;
}
}
t3.OptionsService = o3;
}, 660: function(e3, t3, i4) {
var s3 = this && this.__decorate || function(e4, t4, i5, s4) {
var r4, n5 = arguments.length, a3 = n5 < 3 ? t4 : null === s4 ? s4 = Object.getOwnPropertyDescriptor(t4, i5) : s4;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a3 = Reflect.decorate(e4, t4, i5, s4);
else for (var o3 = e4.length - 1; o3 >= 0; o3--) (r4 = e4[o3]) && (a3 = (n5 < 3 ? r4(a3) : n5 > 3 ? r4(t4, i5, a3) : r4(t4, i5)) || a3);
return n5 > 3 && a3 && Object.defineProperty(t4, i5, a3), a3;
}, r3 = this && this.__param || function(e4, t4) {
return function(i5, s4) {
t4(i5, s4, e4);
};
};
Object.defineProperty(t3, "__esModule", { value: true }), t3.OscLinkService = void 0;
const n4 = i4(585);
let a2 = t3.OscLinkService = class {
constructor(e4) {
this._bufferService = e4, this._nextId = 1, this._entriesWithId = /* @__PURE__ */ new Map(), this._dataByLinkId = /* @__PURE__ */ new Map();
}
registerLink(e4) {
const t4 = this._bufferService.buffer;
if (void 0 === e4.id) {
const i6 = t4.addMarker(t4.ybase + t4.y), s5 = { data: e4, id: this._nextId++, lines: [i6] };
return i6.onDispose(() => this._removeMarkerFromLink(s5, i6)), this._dataByLinkId.set(s5.id, s5), s5.id;
}
const i5 = e4, s4 = this._getEntryIdKey(i5), r4 = this._entriesWithId.get(s4);
if (r4) return this.addLineToLink(r4.id, t4.ybase + t4.y), r4.id;
const n5 = t4.addMarker(t4.ybase + t4.y), a3 = { id: this._nextId++, key: this._getEntryIdKey(i5), data: i5, lines: [n5] };
return n5.onDispose(() => this._removeMarkerFromLink(a3, n5)), this._entriesWithId.set(a3.key, a3), this._dataByLinkId.set(a3.id, a3), a3.id;
}
addLineToLink(e4, t4) {
const i5 = this._dataByLinkId.get(e4);
if (i5 && i5.lines.every((e5) => e5.line !== t4)) {
const e5 = this._bufferService.buffer.addMarker(t4);
i5.lines.push(e5), e5.onDispose(() => this._removeMarkerFromLink(i5, e5));
}
}
getLinkData(e4) {
return this._dataByLinkId.get(e4)?.data;
}
_getEntryIdKey(e4) {
return `${e4.id};;${e4.uri}`;
}
_removeMarkerFromLink(e4, t4) {
const i5 = e4.lines.indexOf(t4);
-1 !== i5 && (e4.lines.splice(i5, 1), 0 === e4.lines.length && (void 0 !== e4.data.id && this._entriesWithId.delete(e4.key), this._dataByLinkId.delete(e4.id)));
}
};
t3.OscLinkService = a2 = s3([r3(0, n4.IBufferService)], a2);
}, 343: (e3, t3) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.createDecorator = t3.getServiceDependencies = t3.serviceRegistry = void 0;
const i4 = "di$target", s3 = "di$dependencies";
t3.serviceRegistry = /* @__PURE__ */ new Map(), t3.getServiceDependencies = function(e4) {
return e4[s3] || [];
}, t3.createDecorator = function(e4) {
if (t3.serviceRegistry.has(e4)) return t3.serviceRegistry.get(e4);
const r3 = function(e5, t4, n4) {
if (3 !== arguments.length) throw new Error("@IServiceName-decorator can only be used to decorate a parameter");
!function(e6, t5, r4) {
t5[i4] === t5 ? t5[s3].push({ id: e6, index: r4 }) : (t5[s3] = [{ id: e6, index: r4 }], t5[i4] = t5);
}(r3, e5, n4);
};
return r3.toString = () => e4, t3.serviceRegistry.set(e4, r3), r3;
};
}, 585: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.IDecorationService = t3.IUnicodeService = t3.IOscLinkService = t3.IOptionsService = t3.ILogService = t3.LogLevelEnum = t3.IInstantiationService = t3.ICharsetService = t3.ICoreService = t3.ICoreMouseService = t3.IBufferService = void 0;
const s3 = i4(343);
var r3;
t3.IBufferService = (0, s3.createDecorator)("BufferService"), t3.ICoreMouseService = (0, s3.createDecorator)("CoreMouseService"), t3.ICoreService = (0, s3.createDecorator)("CoreService"), t3.ICharsetService = (0, s3.createDecorator)("CharsetService"), t3.IInstantiationService = (0, s3.createDecorator)("InstantiationService"), function(e4) {
e4[e4.TRACE = 0] = "TRACE", e4[e4.DEBUG = 1] = "DEBUG", e4[e4.INFO = 2] = "INFO", e4[e4.WARN = 3] = "WARN", e4[e4.ERROR = 4] = "ERROR", e4[e4.OFF = 5] = "OFF";
}(r3 || (t3.LogLevelEnum = r3 = {})), t3.ILogService = (0, s3.createDecorator)("LogService"), t3.IOptionsService = (0, s3.createDecorator)("OptionsService"), t3.IOscLinkService = (0, s3.createDecorator)("OscLinkService"), t3.IUnicodeService = (0, s3.createDecorator)("UnicodeService"), t3.IDecorationService = (0, s3.createDecorator)("DecorationService");
}, 480: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.UnicodeService = void 0;
const s3 = i4(460), r3 = i4(225);
class n4 {
static extractShouldJoin(e4) {
return 0 != (1 & e4);
}
static extractWidth(e4) {
return e4 >> 1 & 3;
}
static extractCharKind(e4) {
return e4 >> 3;
}
static createPropertyValue(e4, t4, i5 = false) {
return (16777215 & e4) << 3 | (3 & t4) << 1 | (i5 ? 1 : 0);
}
constructor() {
this._providers = /* @__PURE__ */ Object.create(null), this._active = "", this._onChange = new s3.EventEmitter(), this.onChange = this._onChange.event;
const e4 = new r3.UnicodeV6();
this.register(e4), this._active = e4.version, this._activeProvider = e4;
}
dispose() {
this._onChange.dispose();
}
get versions() {
return Object.keys(this._providers);
}
get activeVersion() {
return this._active;
}
set activeVersion(e4) {
if (!this._providers[e4]) throw new Error(`unknown Unicode version "${e4}"`);
this._active = e4, this._activeProvider = this._providers[e4], this._onChange.fire(e4);
}
register(e4) {
this._providers[e4.version] = e4;
}
wcwidth(e4) {
return this._activeProvider.wcwidth(e4);
}
getStringCellWidth(e4) {
let t4 = 0, i5 = 0;
const s4 = e4.length;
for (let r4 = 0; r4 < s4; ++r4) {
let a2 = e4.charCodeAt(r4);
if (55296 <= a2 && a2 <= 56319) {
if (++r4 >= s4) return t4 + this.wcwidth(a2);
const i6 = e4.charCodeAt(r4);
56320 <= i6 && i6 <= 57343 ? a2 = 1024 * (a2 - 55296) + i6 - 56320 + 65536 : t4 += this.wcwidth(i6);
}
const o3 = this.charProperties(a2, i5);
let h2 = n4.extractWidth(o3);
n4.extractShouldJoin(o3) && (h2 -= n4.extractWidth(i5)), t4 += h2, i5 = o3;
}
return t4;
}
charProperties(e4, t4) {
return this._activeProvider.charProperties(e4, t4);
}
}
t3.UnicodeService = n4;
}, 781: (e3, t3, i4) => {
Object.defineProperty(t3, "__esModule", { value: true }), t3.Terminal = void 0;
const s3 = i4(437), r3 = i4(969), n4 = i4(460);
class a2 extends r3.CoreTerminal {
constructor(e4 = {}) {
super(e4), this._onBell = this.register(new n4.EventEmitter()), this.onBell = this._onBell.event, this._onCursorMove = this.register(new n4.EventEmitter()), this.onCursorMove = this._onCursorMove.event, this._onTitleChange = this.register(new n4.EventEmitter()), this.onTitleChange = this._onTitleChange.event, this._onA11yCharEmitter = this.register(new n4.EventEmitter()), this.onA11yChar = this._onA11yCharEmitter.event, this._onA11yTabEmitter = this.register(new n4.EventEmitter()), this.onA11yTab = this._onA11yTabEmitter.event, this._setup(), this.register(this._inputHandler.onRequestBell(() => this.bell())), this.register(this._inputHandler.onRequestReset(() => this.reset())), this.register((0, n4.forwardEvent)(this._inputHandler.onCursorMove, this._onCursorMove)), this.register((0, n4.forwardEvent)(this._inputHandler.onTitleChange, this._onTitleChange)), this.register((0, n4.forwardEvent)(this._inputHandler.onA11yChar, this._onA11yCharEmitter)), this.register((0, n4.forwardEvent)(this._inputHandler.onA11yTab, this._onA11yTabEmitter));
}
get buffer() {
return this.buffers.active;
}
get markers() {
return this.buffer.markers;
}
addMarker(e4) {
if (this.buffer === this.buffers.normal) return this.buffer.addMarker(this.buffer.ybase + this.buffer.y + e4);
}
bell() {
this._onBell.fire();
}
input(e4, t4 = true) {
this.coreService.triggerDataEvent(e4, t4);
}
resize(e4, t4) {
e4 === this.cols && t4 === this.rows || super.resize(e4, t4);
}
clear() {
if (0 !== this.buffer.ybase || 0 !== this.buffer.y) {
this.buffer.lines.set(0, this.buffer.lines.get(this.buffer.ybase + this.buffer.y)), this.buffer.lines.length = 1, this.buffer.ydisp = 0, this.buffer.ybase = 0, this.buffer.y = 0;
for (let e4 = 1; e4 < this.rows; e4++) this.buffer.lines.push(this.buffer.getBlankLine(s3.DEFAULT_ATTR_DATA));
this._onScroll.fire({ position: this.buffer.ydisp, source: 0 });
}
}
reset() {
this.options.rows = this.rows, this.options.cols = this.cols, this._setup(), super.reset();
}
}
t3.Terminal = a2;
} }, t2 = {};
function i3(s3) {
var r3 = t2[s3];
if (void 0 !== r3) return r3.exports;
var n4 = t2[s3] = { exports: {} };
return e2[s3].call(n4.exports, n4, n4.exports, i3), n4.exports;
}
var s2 = {};
(() => {
var e3 = s2;
Object.defineProperty(e3, "__esModule", { value: true }), e3.Terminal = void 0;
const t3 = i3(285), r3 = i3(975), n4 = i3(90), a2 = i3(781), o3 = i3(741), h2 = i3(844), c4 = ["cols", "rows"];
class l2 extends h2.Disposable {
constructor(e4) {
super(), this._core = this.register(new a2.Terminal(e4)), this._addonManager = this.register(new o3.AddonManager()), this._publicOptions = { ...this._core.options };
const t4 = (e5) => this._core.options[e5], i4 = (e5, t5) => {
this._checkReadonlyOptions(e5), this._core.options[e5] = t5;
};
for (const e5 in this._core.options) {
Object.defineProperty(this._publicOptions, e5, { get: () => this._core.options[e5], set: (t5) => {
this._checkReadonlyOptions(e5), this._core.options[e5] = t5;
} });
const s3 = { get: t4.bind(this, e5), set: i4.bind(this, e5) };
Object.defineProperty(this._publicOptions, e5, s3);
}
}
_checkReadonlyOptions(e4) {
if (c4.includes(e4)) throw new Error(`Option "${e4}" can only be set in the constructor`);
}
_checkProposedApi() {
if (!this._core.optionsService.options.allowProposedApi) throw new Error("You must set the allowProposedApi option to true to use proposed API");
}
get onBell() {
return this._core.onBell;
}
get onBinary() {
return this._core.onBinary;
}
get onCursorMove() {
return this._core.onCursorMove;
}
get onData() {
return this._core.onData;
}
get onLineFeed() {
return this._core.onLineFeed;
}
get onResize() {
return this._core.onResize;
}
get onScroll() {
return this._core.onScroll;
}
get onTitleChange() {
return this._core.onTitleChange;
}
get parser() {
return this._checkProposedApi(), this._parser || (this._parser = new r3.ParserApi(this._core)), this._parser;
}
get unicode() {
return this._checkProposedApi(), new n4.UnicodeApi(this._core);
}
get rows() {
return this._core.rows;
}
get cols() {
return this._core.cols;
}
get buffer() {
return this._checkProposedApi(), this._buffer || (this._buffer = this.register(new t3.BufferNamespaceApi(this._core))), this._buffer;
}
get markers() {
return this._checkProposedApi(), this._core.markers;
}
get modes() {
const e4 = this._core.coreService.decPrivateModes;
let t4 = "none";
switch (this._core.coreMouseService.activeProtocol) {
case "X10":
t4 = "x10";
break;
case "VT200":
t4 = "vt200";
break;
case "DRAG":
t4 = "drag";
break;
case "ANY":
t4 = "any";
}
return { applicationCursorKeysMode: e4.applicationCursorKeys, applicationKeypadMode: e4.applicationKeypad, bracketedPasteMode: e4.bracketedPasteMode, insertMode: this._core.coreService.modes.insertMode, mouseTrackingMode: t4, originMode: e4.origin, reverseWraparoundMode: e4.reverseWraparound, sendFocusMode: e4.sendFocus, wraparoundMode: e4.wraparound };
}
get options() {
return this._publicOptions;
}
set options(e4) {
for (const t4 in e4) this._publicOptions[t4] = e4[t4];
}
input(e4, t4 = true) {
this._core.input(e4, t4);
}
resize(e4, t4) {
this._verifyIntegers(e4, t4), this._core.resize(e4, t4);
}
registerMarker(e4 = 0) {
return this._checkProposedApi(), this._verifyIntegers(e4), this._core.addMarker(e4);
}
addMarker(e4) {
return this.registerMarker(e4);
}
dispose() {
super.dispose();
}
scrollLines(e4) {
this._verifyIntegers(e4), this._core.scrollLines(e4);
}
scrollPages(e4) {
this._verifyIntegers(e4), this._core.scrollPages(e4);
}
scrollToTop() {
this._core.scrollToTop();
}
scrollToBottom() {
this._core.scrollToBottom();
}
scrollToLine(e4) {
this._verifyIntegers(e4), this._core.scrollToLine(e4);
}
clear() {
this._core.clear();
}
write(e4, t4) {
this._core.write(e4, t4);
}
writeln(e4, t4) {
this._core.write(e4), this._core.write("\r\n", t4);
}
reset() {
this._core.reset();
}
loadAddon(e4) {
this._addonManager.loadAddon(this, e4);
}
_verifyIntegers(...e4) {
for (const t4 of e4) if (t4 === 1 / 0 || isNaN(t4) || t4 % 1 != 0) throw new Error("This API only accepts integers");
}
}
e3.Terminal = l2;
})();
var r2 = exports2;
for (var n3 in s2) r2[n3] = s2[n3];
s2.__esModule && Object.defineProperty(r2, "__esModule", { value: true });
})();
}
});
// node_modules/ipaddr.js/lib/ipaddr.js
var require_ipaddr = __commonJS({
"node_modules/ipaddr.js/lib/ipaddr.js"(exports2, module2) {
(function() {
var expandIPv6, ipaddr2, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex;
ipaddr2 = {};
root = this;
if (typeof module2 !== "undefined" && module2 !== null && module2.exports) {
module2.exports = ipaddr2;
} else {
root["ipaddr"] = ipaddr2;
}
matchCIDR = function(first2, second, partSize, cidrBits) {
var part, shift;
if (first2.length !== second.length) {
throw new Error("ipaddr: cannot match CIDR for objects with different lengths");
}
part = 0;
while (cidrBits > 0) {
shift = partSize - cidrBits;
if (shift < 0) {
shift = 0;
}
if (first2[part] >> shift !== second[part] >> shift) {
return false;
}
cidrBits -= partSize;
part += 1;
}
return true;
};
ipaddr2.subnetMatch = function(address, rangeList, defaultName) {
var k, len, rangeName, rangeSubnets, subnet;
if (defaultName == null) {
defaultName = "unicast";
}
for (rangeName in rangeList) {
rangeSubnets = rangeList[rangeName];
if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) {
rangeSubnets = [rangeSubnets];
}
for (k = 0, len = rangeSubnets.length; k < len; k++) {
subnet = rangeSubnets[k];
if (address.kind() === subnet[0].kind()) {
if (address.match.apply(address, subnet)) {
return rangeName;
}
}
}
}
return defaultName;
};
ipaddr2.IPv4 = function() {
function IPv4(octets) {
var k, len, octet;
if (octets.length !== 4) {
throw new Error("ipaddr: ipv4 octet count should be 4");
}
for (k = 0, len = octets.length; k < len; k++) {
octet = octets[k];
if (!(0 <= octet && octet <= 255)) {
throw new Error("ipaddr: ipv4 octet should fit in 8 bits");
}
}
this.octets = octets;
}
IPv4.prototype.kind = function() {
return "ipv4";
};
IPv4.prototype.toString = function() {
return this.octets.join(".");
};
IPv4.prototype.toNormalizedString = function() {
return this.toString();
};
IPv4.prototype.toByteArray = function() {
return this.octets.slice(0);
};
IPv4.prototype.match = function(other, cidrRange) {
var ref;
if (cidrRange === void 0) {
ref = other, other = ref[0], cidrRange = ref[1];
}
if (other.kind() !== "ipv4") {
throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");
}
return matchCIDR(this.octets, other.octets, 8, cidrRange);
};
IPv4.prototype.SpecialRanges = {
unspecified: [[new IPv4([0, 0, 0, 0]), 8]],
broadcast: [[new IPv4([255, 255, 255, 255]), 32]],
multicast: [[new IPv4([224, 0, 0, 0]), 4]],
linkLocal: [[new IPv4([169, 254, 0, 0]), 16]],
loopback: [[new IPv4([127, 0, 0, 0]), 8]],
carrierGradeNat: [[new IPv4([100, 64, 0, 0]), 10]],
"private": [[new IPv4([10, 0, 0, 0]), 8], [new IPv4([172, 16, 0, 0]), 12], [new IPv4([192, 168, 0, 0]), 16]],
reserved: [[new IPv4([192, 0, 0, 0]), 24], [new IPv4([192, 0, 2, 0]), 24], [new IPv4([192, 88, 99, 0]), 24], [new IPv4([198, 51, 100, 0]), 24], [new IPv4([203, 0, 113, 0]), 24], [new IPv4([240, 0, 0, 0]), 4]]
};
IPv4.prototype.range = function() {
return ipaddr2.subnetMatch(this, this.SpecialRanges);
};
IPv4.prototype.toIPv4MappedAddress = function() {
return ipaddr2.IPv6.parse("::ffff:" + this.toString());
};
IPv4.prototype.prefixLengthFromSubnetMask = function() {
var cidr, i3, k, octet, stop2, zeros, zerotable;
zerotable = {
0: 8,
128: 7,
192: 6,
224: 5,
240: 4,
248: 3,
252: 2,
254: 1,
255: 0
};
cidr = 0;
stop2 = false;
for (i3 = k = 3; k >= 0; i3 = k += -1) {
octet = this.octets[i3];
if (octet in zerotable) {
zeros = zerotable[octet];
if (stop2 && zeros !== 0) {
return null;
}
if (zeros !== 8) {
stop2 = true;
}
cidr += zeros;
} else {
return null;
}
}
return 32 - cidr;
};
return IPv4;
}();
ipv4Part = "(0?\\d+|0x[a-f0-9]+)";
ipv4Regexes = {
fourOctet: new RegExp("^" + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "$", "i"),
longValue: new RegExp("^" + ipv4Part + "$", "i")
};
ipaddr2.IPv4.parser = function(string4) {
var match2, parseIntAuto, part, shift, value;
parseIntAuto = function(string5) {
if (string5[0] === "0" && string5[1] !== "x") {
return parseInt(string5, 8);
} else {
return parseInt(string5);
}
};
if (match2 = string4.match(ipv4Regexes.fourOctet)) {
return function() {
var k, len, ref, results;
ref = match2.slice(1, 6);
results = [];
for (k = 0, len = ref.length; k < len; k++) {
part = ref[k];
results.push(parseIntAuto(part));
}
return results;
}();
} else if (match2 = string4.match(ipv4Regexes.longValue)) {
value = parseIntAuto(match2[1]);
if (value > 4294967295 || value < 0) {
throw new Error("ipaddr: address outside defined range");
}
return function() {
var k, results;
results = [];
for (shift = k = 0; k <= 24; shift = k += 8) {
results.push(value >> shift & 255);
}
return results;
}().reverse();
} else {
return null;
}
};
ipaddr2.IPv6 = function() {
function IPv6(parts2, zoneId) {
var i3, k, l2, len, part, ref;
if (parts2.length === 16) {
this.parts = [];
for (i3 = k = 0; k <= 14; i3 = k += 2) {
this.parts.push(parts2[i3] << 8 | parts2[i3 + 1]);
}
} else if (parts2.length === 8) {
this.parts = parts2;
} else {
throw new Error("ipaddr: ipv6 part count should be 8 or 16");
}
ref = this.parts;
for (l2 = 0, len = ref.length; l2 < len; l2++) {
part = ref[l2];
if (!(0 <= part && part <= 65535)) {
throw new Error("ipaddr: ipv6 part should fit in 16 bits");
}
}
if (zoneId) {
this.zoneId = zoneId;
}
}
IPv6.prototype.kind = function() {
return "ipv6";
};
IPv6.prototype.toString = function() {
return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/, "::");
};
IPv6.prototype.toRFC5952String = function() {
var bestMatchIndex, bestMatchLength, match2, regex2, string4;
regex2 = /((^|:)(0(:|$)){2,})/g;
string4 = this.toNormalizedString();
bestMatchIndex = 0;
bestMatchLength = -1;
while (match2 = regex2.exec(string4)) {
if (match2[0].length > bestMatchLength) {
bestMatchIndex = match2.index;
bestMatchLength = match2[0].length;
}
}
if (bestMatchLength < 0) {
return string4;
}
return string4.substring(0, bestMatchIndex) + "::" + string4.substring(bestMatchIndex + bestMatchLength);
};
IPv6.prototype.toByteArray = function() {
var bytes, k, len, part, ref;
bytes = [];
ref = this.parts;
for (k = 0, len = ref.length; k < len; k++) {
part = ref[k];
bytes.push(part >> 8);
bytes.push(part & 255);
}
return bytes;
};
IPv6.prototype.toNormalizedString = function() {
var addr2, part, suffix;
addr2 = function() {
var k, len, ref, results;
ref = this.parts;
results = [];
for (k = 0, len = ref.length; k < len; k++) {
part = ref[k];
results.push(part.toString(16));
}
return results;
}.call(this).join(":");
suffix = "";
if (this.zoneId) {
suffix = "%" + this.zoneId;
}
return addr2 + suffix;
};
IPv6.prototype.toFixedLengthString = function() {
var addr2, part, suffix;
addr2 = function() {
var k, len, ref, results;
ref = this.parts;
results = [];
for (k = 0, len = ref.length; k < len; k++) {
part = ref[k];
results.push(part.toString(16).padStart(4, "0"));
}
return results;
}.call(this).join(":");
suffix = "";
if (this.zoneId) {
suffix = "%" + this.zoneId;
}
return addr2 + suffix;
};
IPv6.prototype.match = function(other, cidrRange) {
var ref;
if (cidrRange === void 0) {
ref = other, other = ref[0], cidrRange = ref[1];
}
if (other.kind() !== "ipv6") {
throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");
}
return matchCIDR(this.parts, other.parts, 16, cidrRange);
};
IPv6.prototype.SpecialRanges = {
unspecified: [new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128],
linkLocal: [new IPv6([65152, 0, 0, 0, 0, 0, 0, 0]), 10],
multicast: [new IPv6([65280, 0, 0, 0, 0, 0, 0, 0]), 8],
loopback: [new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128],
uniqueLocal: [new IPv6([64512, 0, 0, 0, 0, 0, 0, 0]), 7],
ipv4Mapped: [new IPv6([0, 0, 0, 0, 0, 65535, 0, 0]), 96],
rfc6145: [new IPv6([0, 0, 0, 0, 65535, 0, 0, 0]), 96],
rfc6052: [new IPv6([100, 65435, 0, 0, 0, 0, 0, 0]), 96],
"6to4": [new IPv6([8194, 0, 0, 0, 0, 0, 0, 0]), 16],
teredo: [new IPv6([8193, 0, 0, 0, 0, 0, 0, 0]), 32],
reserved: [[new IPv6([8193, 3512, 0, 0, 0, 0, 0, 0]), 32]]
};
IPv6.prototype.range = function() {
return ipaddr2.subnetMatch(this, this.SpecialRanges);
};
IPv6.prototype.isIPv4MappedAddress = function() {
return this.range() === "ipv4Mapped";
};
IPv6.prototype.toIPv4Address = function() {
var high, low, ref;
if (!this.isIPv4MappedAddress()) {
throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");
}
ref = this.parts.slice(-2), high = ref[0], low = ref[1];
return new ipaddr2.IPv4([high >> 8, high & 255, low >> 8, low & 255]);
};
IPv6.prototype.prefixLengthFromSubnetMask = function() {
var cidr, i3, k, part, stop2, zeros, zerotable;
zerotable = {
0: 16,
32768: 15,
49152: 14,
57344: 13,
61440: 12,
63488: 11,
64512: 10,
65024: 9,
65280: 8,
65408: 7,
65472: 6,
65504: 5,
65520: 4,
65528: 3,
65532: 2,
65534: 1,
65535: 0
};
cidr = 0;
stop2 = false;
for (i3 = k = 7; k >= 0; i3 = k += -1) {
part = this.parts[i3];
if (part in zerotable) {
zeros = zerotable[part];
if (stop2 && zeros !== 0) {
return null;
}
if (zeros !== 16) {
stop2 = true;
}
cidr += zeros;
} else {
return null;
}
}
return 128 - cidr;
};
return IPv6;
}();
ipv6Part = "(?:[0-9a-f]+::?)+";
zoneIndex = "%[0-9a-z]{1,}";
ipv6Regexes = {
zoneIndex: new RegExp(zoneIndex, "i"),
"native": new RegExp("^(::)?(" + ipv6Part + ")?([0-9a-f]+)?(::)?(" + zoneIndex + ")?$", "i"),
transitional: new RegExp("^((?:" + ipv6Part + ")|(?:::)(?:" + ipv6Part + ")?)" + (ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part) + ("(" + zoneIndex + ")?$"), "i")
};
expandIPv6 = function(string4, parts2) {
var colonCount, lastColon, part, replacement, replacementCount, zoneId;
if (string4.indexOf("::") !== string4.lastIndexOf("::")) {
return null;
}
zoneId = (string4.match(ipv6Regexes["zoneIndex"]) || [])[0];
if (zoneId) {
zoneId = zoneId.substring(1);
string4 = string4.replace(/%.+$/, "");
}
colonCount = 0;
lastColon = -1;
while ((lastColon = string4.indexOf(":", lastColon + 1)) >= 0) {
colonCount++;
}
if (string4.substr(0, 2) === "::") {
colonCount--;
}
if (string4.substr(-2, 2) === "::") {
colonCount--;
}
if (colonCount > parts2) {
return null;
}
replacementCount = parts2 - colonCount;
replacement = ":";
while (replacementCount--) {
replacement += "0:";
}
string4 = string4.replace("::", replacement);
if (string4[0] === ":") {
string4 = string4.slice(1);
}
if (string4[string4.length - 1] === ":") {
string4 = string4.slice(0, -1);
}
parts2 = function() {
var k, len, ref, results;
ref = string4.split(":");
results = [];
for (k = 0, len = ref.length; k < len; k++) {
part = ref[k];
results.push(parseInt(part, 16));
}
return results;
}();
return {
parts: parts2,
zoneId
};
};
ipaddr2.IPv6.parser = function(string4) {
var addr2, k, len, match2, octet, octets, zoneId;
if (ipv6Regexes["native"].test(string4)) {
return expandIPv6(string4, 8);
} else if (match2 = string4.match(ipv6Regexes["transitional"])) {
zoneId = match2[6] || "";
addr2 = expandIPv6(match2[1].slice(0, -1) + zoneId, 6);
if (addr2.parts) {
octets = [parseInt(match2[2]), parseInt(match2[3]), parseInt(match2[4]), parseInt(match2[5])];
for (k = 0, len = octets.length; k < len; k++) {
octet = octets[k];
if (!(0 <= octet && octet <= 255)) {
return null;
}
}
addr2.parts.push(octets[0] << 8 | octets[1]);
addr2.parts.push(octets[2] << 8 | octets[3]);
return {
parts: addr2.parts,
zoneId: addr2.zoneId
};
}
}
return null;
};
ipaddr2.IPv4.isIPv4 = ipaddr2.IPv6.isIPv6 = function(string4) {
return this.parser(string4) !== null;
};
ipaddr2.IPv4.isValid = function(string4) {
var e2;
try {
new this(this.parser(string4));
return true;
} catch (error1) {
e2 = error1;
return false;
}
};
ipaddr2.IPv4.isValidFourPartDecimal = function(string4) {
if (ipaddr2.IPv4.isValid(string4) && string4.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/)) {
return true;
} else {
return false;
}
};
ipaddr2.IPv6.isValid = function(string4) {
var addr2, e2;
if (typeof string4 === "string" && string4.indexOf(":") === -1) {
return false;
}
try {
addr2 = this.parser(string4);
new this(addr2.parts, addr2.zoneId);
return true;
} catch (error1) {
e2 = error1;
return false;
}
};
ipaddr2.IPv4.parse = function(string4) {
var parts2;
parts2 = this.parser(string4);
if (parts2 === null) {
throw new Error("ipaddr: string is not formatted like ip address");
}
return new this(parts2);
};
ipaddr2.IPv6.parse = function(string4) {
var addr2;
addr2 = this.parser(string4);
if (addr2.parts === null) {
throw new Error("ipaddr: string is not formatted like ip address");
}
return new this(addr2.parts, addr2.zoneId);
};
ipaddr2.IPv4.parseCIDR = function(string4) {
var maskLength, match2, parsed;
if (match2 = string4.match(/^(.+)\/(\d+)$/)) {
maskLength = parseInt(match2[2]);
if (maskLength >= 0 && maskLength <= 32) {
parsed = [this.parse(match2[1]), maskLength];
Object.defineProperty(parsed, "toString", {
value: function() {
return this.join("/");
}
});
return parsed;
}
}
throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range");
};
ipaddr2.IPv4.subnetMaskFromPrefixLength = function(prefix) {
var filledOctetCount, j, octets;
prefix = parseInt(prefix);
if (prefix < 0 || prefix > 32) {
throw new Error("ipaddr: invalid IPv4 prefix length");
}
octets = [0, 0, 0, 0];
j = 0;
filledOctetCount = Math.floor(prefix / 8);
while (j < filledOctetCount) {
octets[j] = 255;
j++;
}
if (filledOctetCount < 4) {
octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - prefix % 8;
}
return new this(octets);
};
ipaddr2.IPv4.broadcastAddressFromCIDR = function(string4) {
var cidr, error40, i3, ipInterfaceOctets, octets, subnetMaskOctets;
try {
cidr = this.parseCIDR(string4);
ipInterfaceOctets = cidr[0].toByteArray();
subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();
octets = [];
i3 = 0;
while (i3 < 4) {
octets.push(parseInt(ipInterfaceOctets[i3], 10) | parseInt(subnetMaskOctets[i3], 10) ^ 255);
i3++;
}
return new this(octets);
} catch (error1) {
error40 = error1;
throw new Error("ipaddr: the address does not have IPv4 CIDR format");
}
};
ipaddr2.IPv4.networkAddressFromCIDR = function(string4) {
var cidr, error40, i3, ipInterfaceOctets, octets, subnetMaskOctets;
try {
cidr = this.parseCIDR(string4);
ipInterfaceOctets = cidr[0].toByteArray();
subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();
octets = [];
i3 = 0;
while (i3 < 4) {
octets.push(parseInt(ipInterfaceOctets[i3], 10) & parseInt(subnetMaskOctets[i3], 10));
i3++;
}
return new this(octets);
} catch (error1) {
error40 = error1;
throw new Error("ipaddr: the address does not have IPv4 CIDR format");
}
};
ipaddr2.IPv6.parseCIDR = function(string4) {
var maskLength, match2, parsed;
if (match2 = string4.match(/^(.+)\/(\d+)$/)) {
maskLength = parseInt(match2[2]);
if (maskLength >= 0 && maskLength <= 128) {
parsed = [this.parse(match2[1]), maskLength];
Object.defineProperty(parsed, "toString", {
value: function() {
return this.join("/");
}
});
return parsed;
}
}
throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range");
};
ipaddr2.isValid = function(string4) {
return ipaddr2.IPv6.isValid(string4) || ipaddr2.IPv4.isValid(string4);
};
ipaddr2.parse = function(string4) {
if (ipaddr2.IPv6.isValid(string4)) {
return ipaddr2.IPv6.parse(string4);
} else if (ipaddr2.IPv4.isValid(string4)) {
return ipaddr2.IPv4.parse(string4);
} else {
throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format");
}
};
ipaddr2.parseCIDR = function(string4) {
var e2;
try {
return ipaddr2.IPv6.parseCIDR(string4);
} catch (error1) {
e2 = error1;
try {
return ipaddr2.IPv4.parseCIDR(string4);
} catch (error110) {
e2 = error110;
throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format");
}
}
};
ipaddr2.fromByteArray = function(bytes) {
var length;
length = bytes.length;
if (length === 4) {
return new ipaddr2.IPv4(bytes);
} else if (length === 16) {
return new ipaddr2.IPv6(bytes);
} else {
throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address");
}
};
ipaddr2.process = function(string4) {
var addr2;
addr2 = this.parse(string4);
if (addr2.kind() === "ipv6" && addr2.isIPv4MappedAddress()) {
return addr2.toIPv4Address();
} else {
return addr2;
}
};
}).call(exports2);
}
});
// node_modules/deepmerge/dist/cjs.js
var require_cjs2 = __commonJS({
"node_modules/deepmerge/dist/cjs.js"(exports2, module2) {
"use strict";
var isMergeableObject = function isMergeableObject2(value) {
return isNonNullObject(value) && !isSpecial(value);
};
function isNonNullObject(value) {
return !!value && typeof value === "object";
}
function isSpecial(value) {
var stringValue = Object.prototype.toString.call(value);
return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value);
}
var canUseSymbol = typeof Symbol === "function" && Symbol.for;
var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
function isReactElement(value) {
return value.$$typeof === REACT_ELEMENT_TYPE;
}
function emptyTarget(val) {
return Array.isArray(val) ? [] : {};
}
function cloneUnlessOtherwiseSpecified(value, options) {
return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value;
}
function defaultArrayMerge(target, source, options) {
return target.concat(source).map(function(element) {
return cloneUnlessOtherwiseSpecified(element, options);
});
}
function getMergeFunction(key, options) {
if (!options.customMerge) {
return deepmerge;
}
var customMerge = options.customMerge(key);
return typeof customMerge === "function" ? customMerge : deepmerge;
}
function getEnumerableOwnPropertySymbols(target) {
return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol3) {
return Object.propertyIsEnumerable.call(target, symbol3);
}) : [];
}
function getKeys(target) {
return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
}
function propertyIsOnObject(object3, property) {
try {
return property in object3;
} catch (_) {
return false;
}
}
function propertyIsUnsafe(target, key) {
return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
}
function mergeObject(target, source, options) {
var destination = {};
if (options.isMergeableObject(target)) {
getKeys(target).forEach(function(key) {
destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
});
}
getKeys(source).forEach(function(key) {
if (propertyIsUnsafe(target, key)) {
return;
}
if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
} else {
destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
}
});
return destination;
}
function deepmerge(target, source, options) {
options = options || {};
options.arrayMerge = options.arrayMerge || defaultArrayMerge;
options.isMergeableObject = options.isMergeableObject || isMergeableObject;
options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
var sourceIsArray = Array.isArray(source);
var targetIsArray = Array.isArray(target);
var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
if (!sourceAndTargetTypesMatch) {
return cloneUnlessOtherwiseSpecified(source, options);
} else if (sourceIsArray) {
return options.arrayMerge(target, source, options);
} else {
return mergeObject(target, source, options);
}
}
deepmerge.all = function deepmergeAll(array2, options) {
if (!Array.isArray(array2)) {
throw new Error("first argument should be an array");
}
return array2.reduce(function(prev, next) {
return deepmerge(prev, next, options);
}, {});
};
var deepmerge_1 = deepmerge;
module2.exports = deepmerge_1;
}
});
// node_modules/@kwsites/file-exists/dist/src/index.js
var require_src53 = __commonJS({
"node_modules/@kwsites/file-exists/dist/src/index.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var fs_1 = __require("fs");
var debug_1 = __importDefault(require_src());
var log = debug_1.default("@kwsites/file-exists");
function check2(path101, isFile, isDirectory) {
log(`checking %s`, path101);
try {
const stat9 = fs_1.statSync(path101);
if (stat9.isFile() && isFile) {
log(`[OK] path represents a file`);
return true;
}
if (stat9.isDirectory() && isDirectory) {
log(`[OK] path represents a directory`);
return true;
}
log(`[FAIL] path represents something other than a file or directory`);
return false;
} catch (e2) {
if (e2.code === "ENOENT") {
log(`[FAIL] path is not accessible: %o`, e2);
return false;
}
log(`[FATAL] %o`, e2);
throw e2;
}
}
function exists2(path101, type2 = exports2.READABLE) {
return check2(path101, (type2 & exports2.FILE) > 0, (type2 & exports2.FOLDER) > 0);
}
exports2.exists = exists2;
exports2.FILE = 1;
exports2.FOLDER = 2;
exports2.READABLE = exports2.FILE + exports2.FOLDER;
}
});
// node_modules/@kwsites/file-exists/dist/index.js
var require_dist7 = __commonJS({
"node_modules/@kwsites/file-exists/dist/index.js"(exports2) {
"use strict";
function __export3(m) {
for (var p in m) if (!exports2.hasOwnProperty(p)) exports2[p] = m[p];
}
Object.defineProperty(exports2, "__esModule", { value: true });
__export3(require_src53());
}
});
// node_modules/@kwsites/promise-deferred/dist/index.js
var require_dist8 = __commonJS({
"node_modules/@kwsites/promise-deferred/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createDeferred = exports2.deferred = void 0;
function deferred2() {
let done;
let fail;
let status2 = "pending";
const promise2 = new Promise((_done, _fail) => {
done = _done;
fail = _fail;
});
return {
promise: promise2,
done(result2) {
if (status2 === "pending") {
status2 = "resolved";
done(result2);
}
},
fail(error40) {
if (status2 === "pending") {
status2 = "rejected";
fail(error40);
}
},
get fulfilled() {
return status2 !== "pending";
},
get status() {
return status2;
}
};
}
exports2.deferred = deferred2;
exports2.createDeferred = deferred2;
exports2.default = deferred2;
}
});
// node_modules/dotenv-expand/lib/main.js
var require_main = __commonJS({
"node_modules/dotenv-expand/lib/main.js"(exports2, module2) {
"use strict";
function _resolveEscapeSequences(value) {
return value.replace(/\\\$/g, "$");
}
function expandValue(value, processEnv, runningParsed) {
const env2 = { ...runningParsed, ...processEnv };
const regex2 = /(?<!\\)\${([^{}]+)}|(?<!\\)\$([A-Za-z_][A-Za-z0-9_]*)/g;
let result2 = value;
let match2;
const seen = /* @__PURE__ */ new Set();
while ((match2 = regex2.exec(result2)) !== null) {
seen.add(result2);
const [template, bracedExpression, unbracedExpression] = match2;
const expression = bracedExpression || unbracedExpression;
const opRegex = /(:\+|\+|:-|-)/;
const opMatch = expression.match(opRegex);
const splitter = opMatch ? opMatch[0] : null;
const r2 = expression.split(splitter);
let defaultValue;
let value2;
const key = r2.shift();
if ([":+", "+"].includes(splitter)) {
defaultValue = env2[key] ? r2.join(splitter) : "";
value2 = null;
} else {
defaultValue = r2.join(splitter);
value2 = env2[key];
}
if (value2) {
if (seen.has(value2)) {
result2 = result2.replace(template, defaultValue);
} else {
result2 = result2.replace(template, value2);
}
} else {
result2 = result2.replace(template, defaultValue);
}
if (result2 === runningParsed[key]) {
break;
}
regex2.lastIndex = 0;
}
return result2;
}
function expand3(options) {
const runningParsed = {};
let processEnv = process.env;
if (options && options.processEnv != null) {
processEnv = options.processEnv;
}
for (const key in options.parsed) {
let value = options.parsed[key];
if (processEnv[key] && processEnv[key] !== value) {
value = processEnv[key];
} else {
value = expandValue(value, processEnv, runningParsed);
}
options.parsed[key] = _resolveEscapeSequences(value);
runningParsed[key] = _resolveEscapeSequences(value);
}
for (const processKey in options.parsed) {
processEnv[processKey] = options.parsed[processKey];
}
return options;
}
module2.exports.expand = expand3;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/constants.js
var require_constants10 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH = exports2.DEFAULT_MAX_SEND_MESSAGE_LENGTH = exports2.Propagate = exports2.LogVerbosity = exports2.Status = void 0;
var Status;
(function(Status2) {
Status2[Status2["OK"] = 0] = "OK";
Status2[Status2["CANCELLED"] = 1] = "CANCELLED";
Status2[Status2["UNKNOWN"] = 2] = "UNKNOWN";
Status2[Status2["INVALID_ARGUMENT"] = 3] = "INVALID_ARGUMENT";
Status2[Status2["DEADLINE_EXCEEDED"] = 4] = "DEADLINE_EXCEEDED";
Status2[Status2["NOT_FOUND"] = 5] = "NOT_FOUND";
Status2[Status2["ALREADY_EXISTS"] = 6] = "ALREADY_EXISTS";
Status2[Status2["PERMISSION_DENIED"] = 7] = "PERMISSION_DENIED";
Status2[Status2["RESOURCE_EXHAUSTED"] = 8] = "RESOURCE_EXHAUSTED";
Status2[Status2["FAILED_PRECONDITION"] = 9] = "FAILED_PRECONDITION";
Status2[Status2["ABORTED"] = 10] = "ABORTED";
Status2[Status2["OUT_OF_RANGE"] = 11] = "OUT_OF_RANGE";
Status2[Status2["UNIMPLEMENTED"] = 12] = "UNIMPLEMENTED";
Status2[Status2["INTERNAL"] = 13] = "INTERNAL";
Status2[Status2["UNAVAILABLE"] = 14] = "UNAVAILABLE";
Status2[Status2["DATA_LOSS"] = 15] = "DATA_LOSS";
Status2[Status2["UNAUTHENTICATED"] = 16] = "UNAUTHENTICATED";
})(Status || (exports2.Status = Status = {}));
var LogVerbosity;
(function(LogVerbosity2) {
LogVerbosity2[LogVerbosity2["DEBUG"] = 0] = "DEBUG";
LogVerbosity2[LogVerbosity2["INFO"] = 1] = "INFO";
LogVerbosity2[LogVerbosity2["ERROR"] = 2] = "ERROR";
LogVerbosity2[LogVerbosity2["NONE"] = 3] = "NONE";
})(LogVerbosity || (exports2.LogVerbosity = LogVerbosity = {}));
var Propagate;
(function(Propagate2) {
Propagate2[Propagate2["DEADLINE"] = 1] = "DEADLINE";
Propagate2[Propagate2["CENSUS_STATS_CONTEXT"] = 2] = "CENSUS_STATS_CONTEXT";
Propagate2[Propagate2["CENSUS_TRACING_CONTEXT"] = 4] = "CENSUS_TRACING_CONTEXT";
Propagate2[Propagate2["CANCELLATION"] = 8] = "CANCELLATION";
Propagate2[Propagate2["DEFAULTS"] = 65535] = "DEFAULTS";
})(Propagate || (exports2.Propagate = Propagate = {}));
exports2.DEFAULT_MAX_SEND_MESSAGE_LENGTH = -1;
exports2.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH = 4 * 1024 * 1024;
}
});
// packages/core/node_modules/@grpc/grpc-js/package.json
var require_package9 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/package.json"(exports2, module2) {
module2.exports = {
name: "@grpc/grpc-js",
version: "1.14.3",
description: "gRPC Library for Node - pure JS implementation",
homepage: "https://grpc.io/",
repository: "https://github.com/grpc/grpc-node/tree/master/packages/grpc-js",
main: "build/src/index.js",
engines: {
node: ">=12.10.0"
},
keywords: [],
author: {
name: "Google Inc."
},
types: "build/src/index.d.ts",
license: "Apache-2.0",
devDependencies: {
"@grpc/proto-loader": "file:../proto-loader",
"@types/gulp": "^4.0.17",
"@types/gulp-mocha": "0.0.37",
"@types/lodash": "^4.14.202",
"@types/mocha": "^10.0.6",
"@types/ncp": "^2.0.8",
"@types/node": ">=20.11.20",
"@types/pify": "^5.0.4",
"@types/semver": "^7.5.8",
"@typescript-eslint/eslint-plugin": "^7.1.0",
"@typescript-eslint/parser": "^7.1.0",
"@typescript-eslint/typescript-estree": "^7.1.0",
"clang-format": "^1.8.0",
eslint: "^8.42.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^4.2.1",
execa: "^2.0.3",
gulp: "^4.0.2",
"gulp-mocha": "^6.0.0",
lodash: "^4.17.21",
madge: "^5.0.1",
"mocha-jenkins-reporter": "^0.4.1",
ncp: "^2.0.0",
pify: "^4.0.1",
prettier: "^2.8.8",
rimraf: "^3.0.2",
semver: "^7.6.0",
"ts-node": "^10.9.2",
typescript: "^5.3.3"
},
contributors: [
{
name: "Google Inc."
}
],
scripts: {
build: "npm run compile",
clean: "rimraf ./build",
compile: "tsc -p .",
format: 'clang-format -i -style="{Language: JavaScript, BasedOnStyle: Google, ColumnLimit: 80}" src/*.ts test/*.ts',
lint: "eslint src/*.ts test/*.ts",
prepare: "npm run copy-protos && npm run generate-types && npm run generate-test-types && npm run compile",
test: "gulp test",
check: "npm run lint",
fix: "eslint --fix src/*.ts test/*.ts",
pretest: "npm run generate-types && npm run generate-test-types && npm run compile",
posttest: "npm run check && madge -c ./build/src",
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --includeDirs proto/ --include-dirs proto/ proto/xds/ proto/protoc-gen-validate/ -O src/generated/ --grpcLib ../index channelz.proto xds/service/orca/v3/orca.proto",
"generate-test-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --include-dirs test/fixtures/ -O test/generated/ --grpcLib ../../src/index test_service.proto echo_service.proto",
"copy-protos": "node ./copy-protos"
},
dependencies: {
"@grpc/proto-loader": "^0.8.0",
"@js-sdsl/ordered-map": "^4.4.2"
},
files: [
"src/**/*.ts",
"build/src/**/*.{js,d.ts,js.map}",
"proto/**/*.proto",
"proto/**/LICENSE",
"LICENSE",
"deps/envoy-api/envoy/api/v2/**/*.proto",
"deps/envoy-api/envoy/config/**/*.proto",
"deps/envoy-api/envoy/service/**/*.proto",
"deps/envoy-api/envoy/type/**/*.proto",
"deps/udpa/udpa/**/*.proto",
"deps/googleapis/google/api/*.proto",
"deps/googleapis/google/rpc/*.proto",
"deps/protoc-gen-validate/validate/**/*.proto"
]
};
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/logging.js
var require_logging2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/logging.js"(exports2) {
"use strict";
var _a4;
var _b;
var _c;
var _d;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.log = exports2.setLoggerVerbosity = exports2.setLogger = exports2.getLogger = void 0;
exports2.trace = trace2;
exports2.isTracerEnabled = isTracerEnabled;
var constants_1 = require_constants10();
var process_1 = __require("process");
var clientVersion = require_package9().version;
var DEFAULT_LOGGER = {
error: (message, ...optionalParams) => {
console.error("E " + message, ...optionalParams);
},
info: (message, ...optionalParams) => {
console.error("I " + message, ...optionalParams);
},
debug: (message, ...optionalParams) => {
console.error("D " + message, ...optionalParams);
}
};
var _logger = DEFAULT_LOGGER;
var _logVerbosity = constants_1.LogVerbosity.ERROR;
var verbosityString = (_b = (_a4 = process.env.GRPC_NODE_VERBOSITY) !== null && _a4 !== void 0 ? _a4 : process.env.GRPC_VERBOSITY) !== null && _b !== void 0 ? _b : "";
switch (verbosityString.toUpperCase()) {
case "DEBUG":
_logVerbosity = constants_1.LogVerbosity.DEBUG;
break;
case "INFO":
_logVerbosity = constants_1.LogVerbosity.INFO;
break;
case "ERROR":
_logVerbosity = constants_1.LogVerbosity.ERROR;
break;
case "NONE":
_logVerbosity = constants_1.LogVerbosity.NONE;
break;
default:
}
var getLogger = () => {
return _logger;
};
exports2.getLogger = getLogger;
var setLogger = (logger3) => {
_logger = logger3;
};
exports2.setLogger = setLogger;
var setLoggerVerbosity = (verbosity) => {
_logVerbosity = verbosity;
};
exports2.setLoggerVerbosity = setLoggerVerbosity;
var log = (severity, ...args2) => {
let logFunction;
if (severity >= _logVerbosity) {
switch (severity) {
case constants_1.LogVerbosity.DEBUG:
logFunction = _logger.debug;
break;
case constants_1.LogVerbosity.INFO:
logFunction = _logger.info;
break;
case constants_1.LogVerbosity.ERROR:
logFunction = _logger.error;
break;
}
if (!logFunction) {
logFunction = _logger.error;
}
if (logFunction) {
logFunction.bind(_logger)(...args2);
}
}
};
exports2.log = log;
var tracersString = (_d = (_c = process.env.GRPC_NODE_TRACE) !== null && _c !== void 0 ? _c : process.env.GRPC_TRACE) !== null && _d !== void 0 ? _d : "";
var enabledTracers = /* @__PURE__ */ new Set();
var disabledTracers = /* @__PURE__ */ new Set();
for (const tracerName of tracersString.split(",")) {
if (tracerName.startsWith("-")) {
disabledTracers.add(tracerName.substring(1));
} else {
enabledTracers.add(tracerName);
}
}
var allEnabled = enabledTracers.has("all");
function trace2(severity, tracer, text) {
if (isTracerEnabled(tracer)) {
(0, exports2.log)(severity, (/* @__PURE__ */ new Date()).toISOString() + " | v" + clientVersion + " " + process_1.pid + " | " + tracer + " | " + text);
}
}
function isTracerEnabled(tracer) {
return !disabledTracers.has(tracer) && (allEnabled || enabledTracers.has(tracer));
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/error.js
var require_error3 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/error.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getErrorMessage = getErrorMessage5;
exports2.getErrorCode = getErrorCode;
function getErrorMessage5(error40) {
if (error40 instanceof Error) {
return error40.message;
} else {
return String(error40);
}
}
function getErrorCode(error40) {
if (typeof error40 === "object" && error40 !== null && "code" in error40 && typeof error40.code === "number") {
return error40.code;
} else {
return null;
}
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/metadata.js
var require_metadata4 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/metadata.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Metadata = void 0;
var logging_1 = require_logging2();
var constants_1 = require_constants10();
var error_1 = require_error3();
var LEGAL_KEY_REGEX = /^[:0-9a-z_.-]+$/;
var LEGAL_NON_BINARY_VALUE_REGEX = /^[ -~]*$/;
function isLegalKey(key) {
return LEGAL_KEY_REGEX.test(key);
}
function isLegalNonBinaryValue(value) {
return LEGAL_NON_BINARY_VALUE_REGEX.test(value);
}
function isBinaryKey(key) {
return key.endsWith("-bin");
}
function isCustomMetadata(key) {
return !key.startsWith("grpc-");
}
function normalizeKey(key) {
return key.toLowerCase();
}
function validate3(key, value) {
if (!isLegalKey(key)) {
throw new Error('Metadata key "' + key + '" contains illegal characters');
}
if (value !== null && value !== void 0) {
if (isBinaryKey(key)) {
if (!Buffer.isBuffer(value)) {
throw new Error("keys that end with '-bin' must have Buffer values");
}
} else {
if (Buffer.isBuffer(value)) {
throw new Error("keys that don't end with '-bin' must have String values");
}
if (!isLegalNonBinaryValue(value)) {
throw new Error('Metadata string value "' + value + '" contains illegal characters');
}
}
}
}
var Metadata2 = class _Metadata {
constructor(options = {}) {
this.internalRepr = /* @__PURE__ */ new Map();
this.opaqueData = /* @__PURE__ */ new Map();
this.options = options;
}
/**
* Sets the given value for the given key by replacing any other values
* associated with that key. Normalizes the key.
* @param key The key to whose value should be set.
* @param value The value to set. Must be a buffer if and only
* if the normalized key ends with '-bin'.
*/
set(key, value) {
key = normalizeKey(key);
validate3(key, value);
this.internalRepr.set(key, [value]);
}
/**
* Adds the given value for the given key by appending to a list of previous
* values associated with that key. Normalizes the key.
* @param key The key for which a new value should be appended.
* @param value The value to add. Must be a buffer if and only
* if the normalized key ends with '-bin'.
*/
add(key, value) {
key = normalizeKey(key);
validate3(key, value);
const existingValue = this.internalRepr.get(key);
if (existingValue === void 0) {
this.internalRepr.set(key, [value]);
} else {
existingValue.push(value);
}
}
/**
* Removes the given key and any associated values. Normalizes the key.
* @param key The key whose values should be removed.
*/
remove(key) {
key = normalizeKey(key);
this.internalRepr.delete(key);
}
/**
* Gets a list of all values associated with the key. Normalizes the key.
* @param key The key whose value should be retrieved.
* @return A list of values associated with the given key.
*/
get(key) {
key = normalizeKey(key);
return this.internalRepr.get(key) || [];
}
/**
* Gets a plain object mapping each key to the first value associated with it.
* This reflects the most common way that people will want to see metadata.
* @return A key/value mapping of the metadata.
*/
getMap() {
const result2 = {};
for (const [key, values] of this.internalRepr) {
if (values.length > 0) {
const v = values[0];
result2[key] = Buffer.isBuffer(v) ? Buffer.from(v) : v;
}
}
return result2;
}
/**
* Clones the metadata object.
* @return The newly cloned object.
*/
clone() {
const newMetadata = new _Metadata(this.options);
const newInternalRepr = newMetadata.internalRepr;
for (const [key, value] of this.internalRepr) {
const clonedValue = value.map((v) => {
if (Buffer.isBuffer(v)) {
return Buffer.from(v);
} else {
return v;
}
});
newInternalRepr.set(key, clonedValue);
}
return newMetadata;
}
/**
* Merges all key-value pairs from a given Metadata object into this one.
* If both this object and the given object have values in the same key,
* values from the other Metadata object will be appended to this object's
* values.
* @param other A Metadata object.
*/
merge(other) {
for (const [key, values] of other.internalRepr) {
const mergedValue = (this.internalRepr.get(key) || []).concat(values);
this.internalRepr.set(key, mergedValue);
}
}
setOptions(options) {
this.options = options;
}
getOptions() {
return this.options;
}
/**
* Creates an OutgoingHttpHeaders object that can be used with the http2 API.
*/
toHttp2Headers() {
const result2 = {};
for (const [key, values] of this.internalRepr) {
if (key.startsWith(":")) {
continue;
}
result2[key] = values.map(bufToString);
}
return result2;
}
/**
* This modifies the behavior of JSON.stringify to show an object
* representation of the metadata map.
*/
toJSON() {
const result2 = {};
for (const [key, values] of this.internalRepr) {
result2[key] = values;
}
return result2;
}
/**
* Attach additional data of any type to the metadata object, which will not
* be included when sending headers. The data can later be retrieved with
* `getOpaque`. Keys with the prefix `grpc` are reserved for use by this
* library.
* @param key
* @param value
*/
setOpaque(key, value) {
this.opaqueData.set(key, value);
}
/**
* Retrieve data previously added with `setOpaque`.
* @param key
* @returns
*/
getOpaque(key) {
return this.opaqueData.get(key);
}
/**
* Returns a new Metadata object based fields in a given IncomingHttpHeaders
* object.
* @param headers An IncomingHttpHeaders object.
*/
static fromHttp2Headers(headers) {
const result2 = new _Metadata();
for (const key of Object.keys(headers)) {
if (key.charAt(0) === ":") {
continue;
}
const values = headers[key];
try {
if (isBinaryKey(key)) {
if (Array.isArray(values)) {
values.forEach((value) => {
result2.add(key, Buffer.from(value, "base64"));
});
} else if (values !== void 0) {
if (isCustomMetadata(key)) {
values.split(",").forEach((v) => {
result2.add(key, Buffer.from(v.trim(), "base64"));
});
} else {
result2.add(key, Buffer.from(values, "base64"));
}
}
} else {
if (Array.isArray(values)) {
values.forEach((value) => {
result2.add(key, value);
});
} else if (values !== void 0) {
result2.add(key, values);
}
}
} catch (error40) {
const message = `Failed to add metadata entry ${key}: ${values}. ${(0, error_1.getErrorMessage)(error40)}. For more information see https://github.com/grpc/grpc-node/issues/1173`;
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, message);
}
}
return result2;
}
};
exports2.Metadata = Metadata2;
var bufToString = (val) => {
return Buffer.isBuffer(val) ? val.toString("base64") : val;
};
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/call-credentials.js
var require_call_credentials2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/call-credentials.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CallCredentials = void 0;
var metadata_1 = require_metadata4();
function isCurrentOauth2Client(client) {
return "getRequestHeaders" in client && typeof client.getRequestHeaders === "function";
}
var CallCredentials = class _CallCredentials {
/**
* Creates a new CallCredentials object from a given function that generates
* Metadata objects.
* @param metadataGenerator A function that accepts a set of options, and
* generates a Metadata object based on these options, which is passed back
* to the caller via a supplied (err, metadata) callback.
*/
static createFromMetadataGenerator(metadataGenerator) {
return new SingleCallCredentials(metadataGenerator);
}
/**
* Create a gRPC credential from a Google credential object.
* @param googleCredentials The authentication client to use.
* @return The resulting CallCredentials object.
*/
static createFromGoogleCredential(googleCredentials) {
return _CallCredentials.createFromMetadataGenerator((options, callback) => {
let getHeaders;
if (isCurrentOauth2Client(googleCredentials)) {
getHeaders = googleCredentials.getRequestHeaders(options.service_url);
} else {
getHeaders = new Promise((resolve25, reject) => {
googleCredentials.getRequestMetadata(options.service_url, (err2, headers) => {
if (err2) {
reject(err2);
return;
}
if (!headers) {
reject(new Error("Headers not set by metadata plugin"));
return;
}
resolve25(headers);
});
});
}
getHeaders.then((headers) => {
const metadata2 = new metadata_1.Metadata();
for (const key of Object.keys(headers)) {
metadata2.add(key, headers[key]);
}
callback(null, metadata2);
}, (err2) => {
callback(err2);
});
});
}
static createEmpty() {
return new EmptyCallCredentials();
}
};
exports2.CallCredentials = CallCredentials;
var ComposedCallCredentials = class _ComposedCallCredentials extends CallCredentials {
constructor(creds) {
super();
this.creds = creds;
}
async generateMetadata(options) {
const base = new metadata_1.Metadata();
const generated = await Promise.all(this.creds.map((cred) => cred.generateMetadata(options)));
for (const gen of generated) {
base.merge(gen);
}
return base;
}
compose(other) {
return new _ComposedCallCredentials(this.creds.concat([other]));
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _ComposedCallCredentials) {
return this.creds.every((value, index) => value._equals(other.creds[index]));
} else {
return false;
}
}
};
var SingleCallCredentials = class _SingleCallCredentials extends CallCredentials {
constructor(metadataGenerator) {
super();
this.metadataGenerator = metadataGenerator;
}
generateMetadata(options) {
return new Promise((resolve25, reject) => {
this.metadataGenerator(options, (err2, metadata2) => {
if (metadata2 !== void 0) {
resolve25(metadata2);
} else {
reject(err2);
}
});
});
}
compose(other) {
return new ComposedCallCredentials([this, other]);
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _SingleCallCredentials) {
return this.metadataGenerator === other.metadataGenerator;
} else {
return false;
}
}
};
var EmptyCallCredentials = class _EmptyCallCredentials extends CallCredentials {
generateMetadata(options) {
return Promise.resolve(new metadata_1.Metadata());
}
compose(other) {
return other;
}
_equals(other) {
return other instanceof _EmptyCallCredentials;
}
};
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/tls-helpers.js
var require_tls_helpers2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/tls-helpers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CIPHER_SUITES = void 0;
exports2.getDefaultRootsData = getDefaultRootsData;
var fs84 = __require("fs");
exports2.CIPHER_SUITES = process.env.GRPC_SSL_CIPHER_SUITES;
var DEFAULT_ROOTS_FILE_PATH = process.env.GRPC_DEFAULT_SSL_ROOTS_FILE_PATH;
var defaultRootsData = null;
function getDefaultRootsData() {
if (DEFAULT_ROOTS_FILE_PATH) {
if (defaultRootsData === null) {
defaultRootsData = fs84.readFileSync(DEFAULT_ROOTS_FILE_PATH);
}
return defaultRootsData;
}
return null;
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/uri-parser.js
var require_uri_parser2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/uri-parser.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseUri = parseUri;
exports2.splitHostPort = splitHostPort;
exports2.combineHostPort = combineHostPort;
exports2.uriToString = uriToString;
var URI_REGEX = /^(?:([A-Za-z0-9+.-]+):)?(?:\/\/([^/]*)\/)?(.+)$/;
function parseUri(uriString) {
const parsedUri = URI_REGEX.exec(uriString);
if (parsedUri === null) {
return null;
}
return {
scheme: parsedUri[1],
authority: parsedUri[2],
path: parsedUri[3]
};
}
var NUMBER_REGEX = /^\d+$/;
function splitHostPort(path101) {
if (path101.startsWith("[")) {
const hostEnd = path101.indexOf("]");
if (hostEnd === -1) {
return null;
}
const host = path101.substring(1, hostEnd);
if (host.indexOf(":") === -1) {
return null;
}
if (path101.length > hostEnd + 1) {
if (path101[hostEnd + 1] === ":") {
const portString = path101.substring(hostEnd + 2);
if (NUMBER_REGEX.test(portString)) {
return {
host,
port: +portString
};
} else {
return null;
}
} else {
return null;
}
} else {
return {
host
};
}
} else {
const splitPath = path101.split(":");
if (splitPath.length === 2) {
if (NUMBER_REGEX.test(splitPath[1])) {
return {
host: splitPath[0],
port: +splitPath[1]
};
} else {
return null;
}
} else {
return {
host: path101
};
}
}
}
function combineHostPort(hostPort) {
if (hostPort.port === void 0) {
return hostPort.host;
} else {
if (hostPort.host.includes(":")) {
return `[${hostPort.host}]:${hostPort.port}`;
} else {
return `${hostPort.host}:${hostPort.port}`;
}
}
}
function uriToString(uri) {
let result2 = "";
if (uri.scheme !== void 0) {
result2 += uri.scheme + ":";
}
if (uri.authority !== void 0) {
result2 += "//" + uri.authority + "/";
}
result2 += uri.path;
return result2;
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/resolver.js
var require_resolver2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/resolver.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CHANNEL_ARGS_CONFIG_SELECTOR_KEY = void 0;
exports2.registerResolver = registerResolver;
exports2.registerDefaultScheme = registerDefaultScheme;
exports2.createResolver = createResolver;
exports2.getDefaultAuthority = getDefaultAuthority;
exports2.mapUriDefaultScheme = mapUriDefaultScheme;
var uri_parser_1 = require_uri_parser2();
exports2.CHANNEL_ARGS_CONFIG_SELECTOR_KEY = "grpc.internal.config_selector";
var registeredResolvers = {};
var defaultScheme = null;
function registerResolver(scheme, resolverClass) {
registeredResolvers[scheme] = resolverClass;
}
function registerDefaultScheme(scheme) {
defaultScheme = scheme;
}
function createResolver(target, listener, options) {
if (target.scheme !== void 0 && target.scheme in registeredResolvers) {
return new registeredResolvers[target.scheme](target, listener, options);
} else {
throw new Error(`No resolver could be created for target ${(0, uri_parser_1.uriToString)(target)}`);
}
}
function getDefaultAuthority(target) {
if (target.scheme !== void 0 && target.scheme in registeredResolvers) {
return registeredResolvers[target.scheme].getDefaultAuthority(target);
} else {
throw new Error(`Invalid target ${(0, uri_parser_1.uriToString)(target)}`);
}
}
function mapUriDefaultScheme(target) {
if (target.scheme === void 0 || !(target.scheme in registeredResolvers)) {
if (defaultScheme !== null) {
return {
scheme: defaultScheme,
authority: void 0,
path: (0, uri_parser_1.uriToString)(target)
};
} else {
return null;
}
}
return target;
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/channel-credentials.js
var require_channel_credentials2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/channel-credentials.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ChannelCredentials = void 0;
exports2.createCertificateProviderChannelCredentials = createCertificateProviderChannelCredentials;
var tls_1 = __require("tls");
var call_credentials_1 = require_call_credentials2();
var tls_helpers_1 = require_tls_helpers2();
var uri_parser_1 = require_uri_parser2();
var resolver_1 = require_resolver2();
var logging_1 = require_logging2();
var constants_1 = require_constants10();
function verifyIsBufferOrNull(obj, friendlyName) {
if (obj && !(obj instanceof Buffer)) {
throw new TypeError(`${friendlyName}, if provided, must be a Buffer.`);
}
}
var ChannelCredentials = class {
/**
* Returns a copy of this object with the included set of per-call credentials
* expanded to include callCredentials.
* @param callCredentials A CallCredentials object to associate with this
* instance.
*/
compose(callCredentials) {
return new ComposedChannelCredentialsImpl(this, callCredentials);
}
/**
* Return a new ChannelCredentials instance with a given set of credentials.
* The resulting instance can be used to construct a Channel that communicates
* over TLS.
* @param rootCerts The root certificate data.
* @param privateKey The client certificate private key, if available.
* @param certChain The client certificate key chain, if available.
* @param verifyOptions Additional options to modify certificate verification
*/
static createSsl(rootCerts, privateKey, certChain, verifyOptions) {
var _a4;
verifyIsBufferOrNull(rootCerts, "Root certificate");
verifyIsBufferOrNull(privateKey, "Private key");
verifyIsBufferOrNull(certChain, "Certificate chain");
if (privateKey && !certChain) {
throw new Error("Private key must be given with accompanying certificate chain");
}
if (!privateKey && certChain) {
throw new Error("Certificate chain must be given with accompanying private key");
}
const secureContext = (0, tls_1.createSecureContext)({
ca: (_a4 = rootCerts !== null && rootCerts !== void 0 ? rootCerts : (0, tls_helpers_1.getDefaultRootsData)()) !== null && _a4 !== void 0 ? _a4 : void 0,
key: privateKey !== null && privateKey !== void 0 ? privateKey : void 0,
cert: certChain !== null && certChain !== void 0 ? certChain : void 0,
ciphers: tls_helpers_1.CIPHER_SUITES
});
return new SecureChannelCredentialsImpl(secureContext, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
}
/**
* Return a new ChannelCredentials instance with credentials created using
* the provided secureContext. The resulting instances can be used to
* construct a Channel that communicates over TLS. gRPC will not override
* anything in the provided secureContext, so the environment variables
* GRPC_SSL_CIPHER_SUITES and GRPC_DEFAULT_SSL_ROOTS_FILE_PATH will
* not be applied.
* @param secureContext The return value of tls.createSecureContext()
* @param verifyOptions Additional options to modify certificate verification
*/
static createFromSecureContext(secureContext, verifyOptions) {
return new SecureChannelCredentialsImpl(secureContext, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
}
/**
* Return a new ChannelCredentials instance with no credentials.
*/
static createInsecure() {
return new InsecureChannelCredentialsImpl();
}
};
exports2.ChannelCredentials = ChannelCredentials;
var InsecureChannelCredentialsImpl = class _InsecureChannelCredentialsImpl extends ChannelCredentials {
constructor() {
super();
}
compose(callCredentials) {
throw new Error("Cannot compose insecure credentials");
}
_isSecure() {
return false;
}
_equals(other) {
return other instanceof _InsecureChannelCredentialsImpl;
}
_createSecureConnector(channelTarget, options, callCredentials) {
return {
connect(socket) {
return Promise.resolve({
socket,
secure: false
});
},
waitForReady: () => {
return Promise.resolve();
},
getCallCredentials: () => {
return callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty();
},
destroy() {
}
};
}
};
function getConnectionOptions(secureContext, verifyOptions, channelTarget, options) {
var _a4, _b;
const connectionOptions = {
secureContext
};
let realTarget = channelTarget;
if ("grpc.http_connect_target" in options) {
const parsedTarget = (0, uri_parser_1.parseUri)(options["grpc.http_connect_target"]);
if (parsedTarget) {
realTarget = parsedTarget;
}
}
const targetPath = (0, resolver_1.getDefaultAuthority)(realTarget);
const hostPort = (0, uri_parser_1.splitHostPort)(targetPath);
const remoteHost = (_a4 = hostPort === null || hostPort === void 0 ? void 0 : hostPort.host) !== null && _a4 !== void 0 ? _a4 : targetPath;
connectionOptions.host = remoteHost;
if (verifyOptions.checkServerIdentity) {
connectionOptions.checkServerIdentity = verifyOptions.checkServerIdentity;
}
if (verifyOptions.rejectUnauthorized !== void 0) {
connectionOptions.rejectUnauthorized = verifyOptions.rejectUnauthorized;
}
connectionOptions.ALPNProtocols = ["h2"];
if (options["grpc.ssl_target_name_override"]) {
const sslTargetNameOverride = options["grpc.ssl_target_name_override"];
const originalCheckServerIdentity = (_b = connectionOptions.checkServerIdentity) !== null && _b !== void 0 ? _b : tls_1.checkServerIdentity;
connectionOptions.checkServerIdentity = (host, cert) => {
return originalCheckServerIdentity(sslTargetNameOverride, cert);
};
connectionOptions.servername = sslTargetNameOverride;
} else {
connectionOptions.servername = remoteHost;
}
if (options["grpc-node.tls_enable_trace"]) {
connectionOptions.enableTrace = true;
}
return connectionOptions;
}
var SecureConnectorImpl = class {
constructor(connectionOptions, callCredentials) {
this.connectionOptions = connectionOptions;
this.callCredentials = callCredentials;
}
connect(socket) {
const tlsConnectOptions = Object.assign({ socket }, this.connectionOptions);
return new Promise((resolve25, reject) => {
const tlsSocket = (0, tls_1.connect)(tlsConnectOptions, () => {
var _a4;
if (((_a4 = this.connectionOptions.rejectUnauthorized) !== null && _a4 !== void 0 ? _a4 : true) && !tlsSocket.authorized) {
reject(tlsSocket.authorizationError);
return;
}
resolve25({
socket: tlsSocket,
secure: true
});
});
tlsSocket.on("error", (error40) => {
reject(error40);
});
});
}
waitForReady() {
return Promise.resolve();
}
getCallCredentials() {
return this.callCredentials;
}
destroy() {
}
};
var SecureChannelCredentialsImpl = class _SecureChannelCredentialsImpl extends ChannelCredentials {
constructor(secureContext, verifyOptions) {
super();
this.secureContext = secureContext;
this.verifyOptions = verifyOptions;
}
_isSecure() {
return true;
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _SecureChannelCredentialsImpl) {
return this.secureContext === other.secureContext && this.verifyOptions.checkServerIdentity === other.verifyOptions.checkServerIdentity;
} else {
return false;
}
}
_createSecureConnector(channelTarget, options, callCredentials) {
const connectionOptions = getConnectionOptions(this.secureContext, this.verifyOptions, channelTarget, options);
return new SecureConnectorImpl(connectionOptions, callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty());
}
};
var CertificateProviderChannelCredentialsImpl = class _CertificateProviderChannelCredentialsImpl extends ChannelCredentials {
constructor(caCertificateProvider, identityCertificateProvider, verifyOptions) {
super();
this.caCertificateProvider = caCertificateProvider;
this.identityCertificateProvider = identityCertificateProvider;
this.verifyOptions = verifyOptions;
this.refcount = 0;
this.latestCaUpdate = void 0;
this.latestIdentityUpdate = void 0;
this.caCertificateUpdateListener = this.handleCaCertificateUpdate.bind(this);
this.identityCertificateUpdateListener = this.handleIdentityCertitificateUpdate.bind(this);
this.secureContextWatchers = [];
}
_isSecure() {
return true;
}
_equals(other) {
var _a4, _b;
if (this === other) {
return true;
}
if (other instanceof _CertificateProviderChannelCredentialsImpl) {
return this.caCertificateProvider === other.caCertificateProvider && this.identityCertificateProvider === other.identityCertificateProvider && ((_a4 = this.verifyOptions) === null || _a4 === void 0 ? void 0 : _a4.checkServerIdentity) === ((_b = other.verifyOptions) === null || _b === void 0 ? void 0 : _b.checkServerIdentity);
} else {
return false;
}
}
ref() {
var _a4;
if (this.refcount === 0) {
this.caCertificateProvider.addCaCertificateListener(this.caCertificateUpdateListener);
(_a4 = this.identityCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.addIdentityCertificateListener(this.identityCertificateUpdateListener);
}
this.refcount += 1;
}
unref() {
var _a4;
this.refcount -= 1;
if (this.refcount === 0) {
this.caCertificateProvider.removeCaCertificateListener(this.caCertificateUpdateListener);
(_a4 = this.identityCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.removeIdentityCertificateListener(this.identityCertificateUpdateListener);
}
}
_createSecureConnector(channelTarget, options, callCredentials) {
this.ref();
return new _CertificateProviderChannelCredentialsImpl.SecureConnectorImpl(this, channelTarget, options, callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty());
}
maybeUpdateWatchers() {
if (this.hasReceivedUpdates()) {
for (const watcher of this.secureContextWatchers) {
watcher(this.getLatestSecureContext());
}
this.secureContextWatchers = [];
}
}
handleCaCertificateUpdate(update) {
this.latestCaUpdate = update;
this.maybeUpdateWatchers();
}
handleIdentityCertitificateUpdate(update) {
this.latestIdentityUpdate = update;
this.maybeUpdateWatchers();
}
hasReceivedUpdates() {
if (this.latestCaUpdate === void 0) {
return false;
}
if (this.identityCertificateProvider && this.latestIdentityUpdate === void 0) {
return false;
}
return true;
}
getSecureContext() {
if (this.hasReceivedUpdates()) {
return Promise.resolve(this.getLatestSecureContext());
} else {
return new Promise((resolve25) => {
this.secureContextWatchers.push(resolve25);
});
}
}
getLatestSecureContext() {
var _a4, _b;
if (!this.latestCaUpdate) {
return null;
}
if (this.identityCertificateProvider !== null && !this.latestIdentityUpdate) {
return null;
}
try {
return (0, tls_1.createSecureContext)({
ca: this.latestCaUpdate.caCertificate,
key: (_a4 = this.latestIdentityUpdate) === null || _a4 === void 0 ? void 0 : _a4.privateKey,
cert: (_b = this.latestIdentityUpdate) === null || _b === void 0 ? void 0 : _b.certificate,
ciphers: tls_helpers_1.CIPHER_SUITES
});
} catch (e2) {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, "Failed to createSecureContext with error " + e2.message);
return null;
}
}
};
CertificateProviderChannelCredentialsImpl.SecureConnectorImpl = class {
constructor(parent, channelTarget, options, callCredentials) {
this.parent = parent;
this.channelTarget = channelTarget;
this.options = options;
this.callCredentials = callCredentials;
}
connect(socket) {
return new Promise((resolve25, reject) => {
const secureContext = this.parent.getLatestSecureContext();
if (!secureContext) {
reject(new Error("Failed to load credentials"));
return;
}
if (socket.closed) {
reject(new Error("Socket closed while loading credentials"));
}
const connnectionOptions = getConnectionOptions(secureContext, this.parent.verifyOptions, this.channelTarget, this.options);
const tlsConnectOptions = Object.assign({ socket }, connnectionOptions);
const closeCallback = () => {
reject(new Error("Socket closed"));
};
const errorCallback = (error40) => {
reject(error40);
};
const tlsSocket = (0, tls_1.connect)(tlsConnectOptions, () => {
var _a4;
tlsSocket.removeListener("close", closeCallback);
tlsSocket.removeListener("error", errorCallback);
if (((_a4 = this.parent.verifyOptions.rejectUnauthorized) !== null && _a4 !== void 0 ? _a4 : true) && !tlsSocket.authorized) {
reject(tlsSocket.authorizationError);
return;
}
resolve25({
socket: tlsSocket,
secure: true
});
});
tlsSocket.once("close", closeCallback);
tlsSocket.once("error", errorCallback);
});
}
async waitForReady() {
await this.parent.getSecureContext();
}
getCallCredentials() {
return this.callCredentials;
}
destroy() {
this.parent.unref();
}
};
function createCertificateProviderChannelCredentials(caCertificateProvider, identityCertificateProvider, verifyOptions) {
return new CertificateProviderChannelCredentialsImpl(caCertificateProvider, identityCertificateProvider, verifyOptions !== null && verifyOptions !== void 0 ? verifyOptions : {});
}
var ComposedChannelCredentialsImpl = class _ComposedChannelCredentialsImpl extends ChannelCredentials {
constructor(channelCredentials, callCredentials) {
super();
this.channelCredentials = channelCredentials;
this.callCredentials = callCredentials;
if (!channelCredentials._isSecure()) {
throw new Error("Cannot compose insecure credentials");
}
}
compose(callCredentials) {
const combinedCallCredentials = this.callCredentials.compose(callCredentials);
return new _ComposedChannelCredentialsImpl(this.channelCredentials, combinedCallCredentials);
}
_isSecure() {
return true;
}
_equals(other) {
if (this === other) {
return true;
}
if (other instanceof _ComposedChannelCredentialsImpl) {
return this.channelCredentials._equals(other.channelCredentials) && this.callCredentials._equals(other.callCredentials);
} else {
return false;
}
}
_createSecureConnector(channelTarget, options, callCredentials) {
const combinedCallCredentials = this.callCredentials.compose(callCredentials !== null && callCredentials !== void 0 ? callCredentials : call_credentials_1.CallCredentials.createEmpty());
return this.channelCredentials._createSecureConnector(channelTarget, options, combinedCallCredentials);
}
};
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/load-balancer.js
var require_load_balancer2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/load-balancer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.createChildChannelControlHelper = createChildChannelControlHelper;
exports2.registerLoadBalancerType = registerLoadBalancerType;
exports2.registerDefaultLoadBalancerType = registerDefaultLoadBalancerType;
exports2.createLoadBalancer = createLoadBalancer;
exports2.isLoadBalancerNameRegistered = isLoadBalancerNameRegistered;
exports2.parseLoadBalancingConfig = parseLoadBalancingConfig;
exports2.getDefaultConfig = getDefaultConfig;
exports2.selectLbConfigFromList = selectLbConfigFromList;
var logging_1 = require_logging2();
var constants_1 = require_constants10();
function createChildChannelControlHelper(parent, overrides) {
var _a4, _b, _c, _d, _e, _f, _g, _h, _j, _k;
return {
createSubchannel: (_b = (_a4 = overrides.createSubchannel) === null || _a4 === void 0 ? void 0 : _a4.bind(overrides)) !== null && _b !== void 0 ? _b : parent.createSubchannel.bind(parent),
updateState: (_d = (_c = overrides.updateState) === null || _c === void 0 ? void 0 : _c.bind(overrides)) !== null && _d !== void 0 ? _d : parent.updateState.bind(parent),
requestReresolution: (_f = (_e = overrides.requestReresolution) === null || _e === void 0 ? void 0 : _e.bind(overrides)) !== null && _f !== void 0 ? _f : parent.requestReresolution.bind(parent),
addChannelzChild: (_h = (_g = overrides.addChannelzChild) === null || _g === void 0 ? void 0 : _g.bind(overrides)) !== null && _h !== void 0 ? _h : parent.addChannelzChild.bind(parent),
removeChannelzChild: (_k = (_j = overrides.removeChannelzChild) === null || _j === void 0 ? void 0 : _j.bind(overrides)) !== null && _k !== void 0 ? _k : parent.removeChannelzChild.bind(parent)
};
}
var registeredLoadBalancerTypes = {};
var defaultLoadBalancerType = null;
function registerLoadBalancerType(typeName, loadBalancerType, loadBalancingConfigType) {
registeredLoadBalancerTypes[typeName] = {
LoadBalancer: loadBalancerType,
LoadBalancingConfig: loadBalancingConfigType
};
}
function registerDefaultLoadBalancerType(typeName) {
defaultLoadBalancerType = typeName;
}
function createLoadBalancer(config2, channelControlHelper) {
const typeName = config2.getLoadBalancerName();
if (typeName in registeredLoadBalancerTypes) {
return new registeredLoadBalancerTypes[typeName].LoadBalancer(channelControlHelper);
} else {
return null;
}
}
function isLoadBalancerNameRegistered(typeName) {
return typeName in registeredLoadBalancerTypes;
}
function parseLoadBalancingConfig(rawConfig) {
const keys = Object.keys(rawConfig);
if (keys.length !== 1) {
throw new Error("Provided load balancing config has multiple conflicting entries");
}
const typeName = keys[0];
if (typeName in registeredLoadBalancerTypes) {
try {
return registeredLoadBalancerTypes[typeName].LoadBalancingConfig.createFromJson(rawConfig[typeName]);
} catch (e2) {
throw new Error(`${typeName}: ${e2.message}`);
}
} else {
throw new Error(`Unrecognized load balancing config name ${typeName}`);
}
}
function getDefaultConfig() {
if (!defaultLoadBalancerType) {
throw new Error("No default load balancer type registered");
}
return new registeredLoadBalancerTypes[defaultLoadBalancerType].LoadBalancingConfig();
}
function selectLbConfigFromList(configs, fallbackTodefault = false) {
for (const config2 of configs) {
try {
return parseLoadBalancingConfig(config2);
} catch (e2) {
(0, logging_1.log)(constants_1.LogVerbosity.DEBUG, "Config parsing failed with error", e2.message);
continue;
}
}
if (fallbackTodefault) {
if (defaultLoadBalancerType) {
return new registeredLoadBalancerTypes[defaultLoadBalancerType].LoadBalancingConfig();
} else {
return null;
}
} else {
return null;
}
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/service-config.js
var require_service_config2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/service-config.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.validateRetryThrottling = validateRetryThrottling;
exports2.validateServiceConfig = validateServiceConfig;
exports2.extractAndSelectServiceConfig = extractAndSelectServiceConfig;
var os30 = __require("os");
var constants_1 = require_constants10();
var DURATION_REGEX = /^\d+(\.\d{1,9})?s$/;
var CLIENT_LANGUAGE_STRING = "node";
function validateName(obj) {
if ("service" in obj && obj.service !== "") {
if (typeof obj.service !== "string") {
throw new Error(`Invalid method config name: invalid service: expected type string, got ${typeof obj.service}`);
}
if ("method" in obj && obj.method !== "") {
if (typeof obj.method !== "string") {
throw new Error(`Invalid method config name: invalid method: expected type string, got ${typeof obj.service}`);
}
return {
service: obj.service,
method: obj.method
};
} else {
return {
service: obj.service
};
}
} else {
if ("method" in obj && obj.method !== void 0) {
throw new Error(`Invalid method config name: method set with empty or unset service`);
}
return {};
}
}
function validateRetryPolicy(obj) {
if (!("maxAttempts" in obj) || !Number.isInteger(obj.maxAttempts) || obj.maxAttempts < 2) {
throw new Error("Invalid method config retry policy: maxAttempts must be an integer at least 2");
}
if (!("initialBackoff" in obj) || typeof obj.initialBackoff !== "string" || !DURATION_REGEX.test(obj.initialBackoff)) {
throw new Error("Invalid method config retry policy: initialBackoff must be a string consisting of a positive integer or decimal followed by s");
}
if (!("maxBackoff" in obj) || typeof obj.maxBackoff !== "string" || !DURATION_REGEX.test(obj.maxBackoff)) {
throw new Error("Invalid method config retry policy: maxBackoff must be a string consisting of a positive integer or decimal followed by s");
}
if (!("backoffMultiplier" in obj) || typeof obj.backoffMultiplier !== "number" || obj.backoffMultiplier <= 0) {
throw new Error("Invalid method config retry policy: backoffMultiplier must be a number greater than 0");
}
if (!("retryableStatusCodes" in obj && Array.isArray(obj.retryableStatusCodes))) {
throw new Error("Invalid method config retry policy: retryableStatusCodes is required");
}
if (obj.retryableStatusCodes.length === 0) {
throw new Error("Invalid method config retry policy: retryableStatusCodes must be non-empty");
}
for (const value of obj.retryableStatusCodes) {
if (typeof value === "number") {
if (!Object.values(constants_1.Status).includes(value)) {
throw new Error("Invalid method config retry policy: retryableStatusCodes value not in status code range");
}
} else if (typeof value === "string") {
if (!Object.values(constants_1.Status).includes(value.toUpperCase())) {
throw new Error("Invalid method config retry policy: retryableStatusCodes value not a status code name");
}
} else {
throw new Error("Invalid method config retry policy: retryableStatusCodes value must be a string or number");
}
}
return {
maxAttempts: obj.maxAttempts,
initialBackoff: obj.initialBackoff,
maxBackoff: obj.maxBackoff,
backoffMultiplier: obj.backoffMultiplier,
retryableStatusCodes: obj.retryableStatusCodes
};
}
function validateHedgingPolicy(obj) {
if (!("maxAttempts" in obj) || !Number.isInteger(obj.maxAttempts) || obj.maxAttempts < 2) {
throw new Error("Invalid method config hedging policy: maxAttempts must be an integer at least 2");
}
if ("hedgingDelay" in obj && (typeof obj.hedgingDelay !== "string" || !DURATION_REGEX.test(obj.hedgingDelay))) {
throw new Error("Invalid method config hedging policy: hedgingDelay must be a string consisting of a positive integer followed by s");
}
if ("nonFatalStatusCodes" in obj && Array.isArray(obj.nonFatalStatusCodes)) {
for (const value of obj.nonFatalStatusCodes) {
if (typeof value === "number") {
if (!Object.values(constants_1.Status).includes(value)) {
throw new Error("Invalid method config hedging policy: nonFatalStatusCodes value not in status code range");
}
} else if (typeof value === "string") {
if (!Object.values(constants_1.Status).includes(value.toUpperCase())) {
throw new Error("Invalid method config hedging policy: nonFatalStatusCodes value not a status code name");
}
} else {
throw new Error("Invalid method config hedging policy: nonFatalStatusCodes value must be a string or number");
}
}
}
const result2 = {
maxAttempts: obj.maxAttempts
};
if (obj.hedgingDelay) {
result2.hedgingDelay = obj.hedgingDelay;
}
if (obj.nonFatalStatusCodes) {
result2.nonFatalStatusCodes = obj.nonFatalStatusCodes;
}
return result2;
}
function validateMethodConfig(obj) {
var _a4;
const result2 = {
name: []
};
if (!("name" in obj) || !Array.isArray(obj.name)) {
throw new Error("Invalid method config: invalid name array");
}
for (const name3 of obj.name) {
result2.name.push(validateName(name3));
}
if ("waitForReady" in obj) {
if (typeof obj.waitForReady !== "boolean") {
throw new Error("Invalid method config: invalid waitForReady");
}
result2.waitForReady = obj.waitForReady;
}
if ("timeout" in obj) {
if (typeof obj.timeout === "object") {
if (!("seconds" in obj.timeout) || !(typeof obj.timeout.seconds === "number")) {
throw new Error("Invalid method config: invalid timeout.seconds");
}
if (!("nanos" in obj.timeout) || !(typeof obj.timeout.nanos === "number")) {
throw new Error("Invalid method config: invalid timeout.nanos");
}
result2.timeout = obj.timeout;
} else if (typeof obj.timeout === "string" && DURATION_REGEX.test(obj.timeout)) {
const timeoutParts = obj.timeout.substring(0, obj.timeout.length - 1).split(".");
result2.timeout = {
seconds: timeoutParts[0] | 0,
nanos: ((_a4 = timeoutParts[1]) !== null && _a4 !== void 0 ? _a4 : 0) | 0
};
} else {
throw new Error("Invalid method config: invalid timeout");
}
}
if ("maxRequestBytes" in obj) {
if (typeof obj.maxRequestBytes !== "number") {
throw new Error("Invalid method config: invalid maxRequestBytes");
}
result2.maxRequestBytes = obj.maxRequestBytes;
}
if ("maxResponseBytes" in obj) {
if (typeof obj.maxResponseBytes !== "number") {
throw new Error("Invalid method config: invalid maxRequestBytes");
}
result2.maxResponseBytes = obj.maxResponseBytes;
}
if ("retryPolicy" in obj) {
if ("hedgingPolicy" in obj) {
throw new Error("Invalid method config: retryPolicy and hedgingPolicy cannot both be specified");
} else {
result2.retryPolicy = validateRetryPolicy(obj.retryPolicy);
}
} else if ("hedgingPolicy" in obj) {
result2.hedgingPolicy = validateHedgingPolicy(obj.hedgingPolicy);
}
return result2;
}
function validateRetryThrottling(obj) {
if (!("maxTokens" in obj) || typeof obj.maxTokens !== "number" || obj.maxTokens <= 0 || obj.maxTokens > 1e3) {
throw new Error("Invalid retryThrottling: maxTokens must be a number in (0, 1000]");
}
if (!("tokenRatio" in obj) || typeof obj.tokenRatio !== "number" || obj.tokenRatio <= 0) {
throw new Error("Invalid retryThrottling: tokenRatio must be a number greater than 0");
}
return {
maxTokens: +obj.maxTokens.toFixed(3),
tokenRatio: +obj.tokenRatio.toFixed(3)
};
}
function validateLoadBalancingConfig(obj) {
if (!(typeof obj === "object" && obj !== null)) {
throw new Error(`Invalid loadBalancingConfig: unexpected type ${typeof obj}`);
}
const keys = Object.keys(obj);
if (keys.length > 1) {
throw new Error(`Invalid loadBalancingConfig: unexpected multiple keys ${keys}`);
}
if (keys.length === 0) {
throw new Error("Invalid loadBalancingConfig: load balancing policy name required");
}
return {
[keys[0]]: obj[keys[0]]
};
}
function validateServiceConfig(obj) {
const result2 = {
loadBalancingConfig: [],
methodConfig: []
};
if ("loadBalancingPolicy" in obj) {
if (typeof obj.loadBalancingPolicy === "string") {
result2.loadBalancingPolicy = obj.loadBalancingPolicy;
} else {
throw new Error("Invalid service config: invalid loadBalancingPolicy");
}
}
if ("loadBalancingConfig" in obj) {
if (Array.isArray(obj.loadBalancingConfig)) {
for (const config2 of obj.loadBalancingConfig) {
result2.loadBalancingConfig.push(validateLoadBalancingConfig(config2));
}
} else {
throw new Error("Invalid service config: invalid loadBalancingConfig");
}
}
if ("methodConfig" in obj) {
if (Array.isArray(obj.methodConfig)) {
for (const methodConfig of obj.methodConfig) {
result2.methodConfig.push(validateMethodConfig(methodConfig));
}
}
}
if ("retryThrottling" in obj) {
result2.retryThrottling = validateRetryThrottling(obj.retryThrottling);
}
const seenMethodNames = [];
for (const methodConfig of result2.methodConfig) {
for (const name3 of methodConfig.name) {
for (const seenName of seenMethodNames) {
if (name3.service === seenName.service && name3.method === seenName.method) {
throw new Error(`Invalid service config: duplicate name ${name3.service}/${name3.method}`);
}
}
seenMethodNames.push(name3);
}
}
return result2;
}
function validateCanaryConfig(obj) {
if (!("serviceConfig" in obj)) {
throw new Error("Invalid service config choice: missing service config");
}
const result2 = {
serviceConfig: validateServiceConfig(obj.serviceConfig)
};
if ("clientLanguage" in obj) {
if (Array.isArray(obj.clientLanguage)) {
result2.clientLanguage = [];
for (const lang of obj.clientLanguage) {
if (typeof lang === "string") {
result2.clientLanguage.push(lang);
} else {
throw new Error("Invalid service config choice: invalid clientLanguage");
}
}
} else {
throw new Error("Invalid service config choice: invalid clientLanguage");
}
}
if ("clientHostname" in obj) {
if (Array.isArray(obj.clientHostname)) {
result2.clientHostname = [];
for (const lang of obj.clientHostname) {
if (typeof lang === "string") {
result2.clientHostname.push(lang);
} else {
throw new Error("Invalid service config choice: invalid clientHostname");
}
}
} else {
throw new Error("Invalid service config choice: invalid clientHostname");
}
}
if ("percentage" in obj) {
if (typeof obj.percentage === "number" && 0 <= obj.percentage && obj.percentage <= 100) {
result2.percentage = obj.percentage;
} else {
throw new Error("Invalid service config choice: invalid percentage");
}
}
const allowedFields = [
"clientLanguage",
"percentage",
"clientHostname",
"serviceConfig"
];
for (const field in obj) {
if (!allowedFields.includes(field)) {
throw new Error(`Invalid service config choice: unexpected field ${field}`);
}
}
return result2;
}
function validateAndSelectCanaryConfig(obj, percentage) {
if (!Array.isArray(obj)) {
throw new Error("Invalid service config list");
}
for (const config2 of obj) {
const validatedConfig = validateCanaryConfig(config2);
if (typeof validatedConfig.percentage === "number" && percentage > validatedConfig.percentage) {
continue;
}
if (Array.isArray(validatedConfig.clientHostname)) {
let hostnameMatched = false;
for (const hostname3 of validatedConfig.clientHostname) {
if (hostname3 === os30.hostname()) {
hostnameMatched = true;
}
}
if (!hostnameMatched) {
continue;
}
}
if (Array.isArray(validatedConfig.clientLanguage)) {
let languageMatched = false;
for (const language of validatedConfig.clientLanguage) {
if (language === CLIENT_LANGUAGE_STRING) {
languageMatched = true;
}
}
if (!languageMatched) {
continue;
}
}
return validatedConfig.serviceConfig;
}
throw new Error("No matching service config found");
}
function extractAndSelectServiceConfig(txtRecord, percentage) {
for (const record2 of txtRecord) {
if (record2.length > 0 && record2[0].startsWith("grpc_config=")) {
const recordString = record2.join("").substring("grpc_config=".length);
const recordJson = JSON.parse(recordString);
return validateAndSelectCanaryConfig(recordJson, percentage);
}
}
return null;
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/connectivity-state.js
var require_connectivity_state2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/connectivity-state.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ConnectivityState = void 0;
var ConnectivityState;
(function(ConnectivityState2) {
ConnectivityState2[ConnectivityState2["IDLE"] = 0] = "IDLE";
ConnectivityState2[ConnectivityState2["CONNECTING"] = 1] = "CONNECTING";
ConnectivityState2[ConnectivityState2["READY"] = 2] = "READY";
ConnectivityState2[ConnectivityState2["TRANSIENT_FAILURE"] = 3] = "TRANSIENT_FAILURE";
ConnectivityState2[ConnectivityState2["SHUTDOWN"] = 4] = "SHUTDOWN";
})(ConnectivityState || (exports2.ConnectivityState = ConnectivityState = {}));
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/picker.js
var require_picker2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/picker.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.QueuePicker = exports2.UnavailablePicker = exports2.PickResultType = void 0;
var metadata_1 = require_metadata4();
var constants_1 = require_constants10();
var PickResultType;
(function(PickResultType2) {
PickResultType2[PickResultType2["COMPLETE"] = 0] = "COMPLETE";
PickResultType2[PickResultType2["QUEUE"] = 1] = "QUEUE";
PickResultType2[PickResultType2["TRANSIENT_FAILURE"] = 2] = "TRANSIENT_FAILURE";
PickResultType2[PickResultType2["DROP"] = 3] = "DROP";
})(PickResultType || (exports2.PickResultType = PickResultType = {}));
var UnavailablePicker = class {
constructor(status2) {
this.status = Object.assign({ code: constants_1.Status.UNAVAILABLE, details: "No connection established", metadata: new metadata_1.Metadata() }, status2);
}
pick(pickArgs) {
return {
pickResultType: PickResultType.TRANSIENT_FAILURE,
subchannel: null,
status: this.status,
onCallStarted: null,
onCallEnded: null
};
}
};
exports2.UnavailablePicker = UnavailablePicker;
var QueuePicker = class {
// Constructed with a load balancer. Calls exitIdle on it the first time pick is called
constructor(loadBalancer, childPicker) {
this.loadBalancer = loadBalancer;
this.childPicker = childPicker;
this.calledExitIdle = false;
}
pick(pickArgs) {
if (!this.calledExitIdle) {
process.nextTick(() => {
this.loadBalancer.exitIdle();
});
this.calledExitIdle = true;
}
if (this.childPicker) {
return this.childPicker.pick(pickArgs);
} else {
return {
pickResultType: PickResultType.QUEUE,
subchannel: null,
status: null,
onCallStarted: null,
onCallEnded: null
};
}
}
};
exports2.QueuePicker = QueuePicker;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js
var require_backoff_timeout2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/backoff-timeout.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BackoffTimeout = void 0;
var constants_1 = require_constants10();
var logging = require_logging2();
var TRACER_NAME2 = "backoff";
var INITIAL_BACKOFF_MS = 1e3;
var BACKOFF_MULTIPLIER2 = 1.6;
var MAX_BACKOFF_MS = 12e4;
var BACKOFF_JITTER = 0.2;
function uniformRandom(min, max) {
return Math.random() * (max - min) + min;
}
var BackoffTimeout = class _BackoffTimeout {
constructor(callback, options) {
this.callback = callback;
this.initialDelay = INITIAL_BACKOFF_MS;
this.multiplier = BACKOFF_MULTIPLIER2;
this.maxDelay = MAX_BACKOFF_MS;
this.jitter = BACKOFF_JITTER;
this.running = false;
this.hasRef = true;
this.startTime = /* @__PURE__ */ new Date();
this.endTime = /* @__PURE__ */ new Date();
this.id = _BackoffTimeout.getNextId();
if (options) {
if (options.initialDelay) {
this.initialDelay = options.initialDelay;
}
if (options.multiplier) {
this.multiplier = options.multiplier;
}
if (options.jitter) {
this.jitter = options.jitter;
}
if (options.maxDelay) {
this.maxDelay = options.maxDelay;
}
}
this.trace("constructed initialDelay=" + this.initialDelay + " multiplier=" + this.multiplier + " jitter=" + this.jitter + " maxDelay=" + this.maxDelay);
this.nextDelay = this.initialDelay;
this.timerId = setTimeout(() => {
}, 0);
clearTimeout(this.timerId);
}
static getNextId() {
return this.nextId++;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "{" + this.id + "} " + text);
}
runTimer(delay3) {
var _a4, _b;
this.trace("runTimer(delay=" + delay3 + ")");
this.endTime = this.startTime;
this.endTime.setMilliseconds(this.endTime.getMilliseconds() + delay3);
clearTimeout(this.timerId);
this.timerId = setTimeout(() => {
this.trace("timer fired");
this.running = false;
this.callback();
}, delay3);
if (!this.hasRef) {
(_b = (_a4 = this.timerId).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
}
/**
* Call the callback after the current amount of delay time
*/
runOnce() {
this.trace("runOnce()");
this.running = true;
this.startTime = /* @__PURE__ */ new Date();
this.runTimer(this.nextDelay);
const nextBackoff = Math.min(this.nextDelay * this.multiplier, this.maxDelay);
const jitterMagnitude = nextBackoff * this.jitter;
this.nextDelay = nextBackoff + uniformRandom(-jitterMagnitude, jitterMagnitude);
}
/**
* Stop the timer. The callback will not be called until `runOnce` is called
* again.
*/
stop() {
this.trace("stop()");
clearTimeout(this.timerId);
this.running = false;
}
/**
* Reset the delay time to its initial value. If the timer is still running,
* retroactively apply that reset to the current timer.
*/
reset() {
this.trace("reset() running=" + this.running);
this.nextDelay = this.initialDelay;
if (this.running) {
const now = /* @__PURE__ */ new Date();
const newEndTime = this.startTime;
newEndTime.setMilliseconds(newEndTime.getMilliseconds() + this.nextDelay);
clearTimeout(this.timerId);
if (now < newEndTime) {
this.runTimer(newEndTime.getTime() - now.getTime());
} else {
this.running = false;
}
}
}
/**
* Check whether the timer is currently running.
*/
isRunning() {
return this.running;
}
/**
* Set that while the timer is running, it should keep the Node process
* running.
*/
ref() {
var _a4, _b;
this.hasRef = true;
(_b = (_a4 = this.timerId).ref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
/**
* Set that while the timer is running, it should not keep the Node process
* running.
*/
unref() {
var _a4, _b;
this.hasRef = false;
(_b = (_a4 = this.timerId).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
/**
* Get the approximate timestamp of when the timer will fire. Only valid if
* this.isRunning() is true.
*/
getEndTime() {
return this.endTime;
}
};
exports2.BackoffTimeout = BackoffTimeout;
BackoffTimeout.nextId = 0;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js
var require_load_balancer_child_handler2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ChildLoadBalancerHandler = void 0;
var load_balancer_1 = require_load_balancer2();
var connectivity_state_1 = require_connectivity_state2();
var TYPE_NAME = "child_load_balancer_helper";
var ChildLoadBalancerHandler = class {
constructor(channelControlHelper) {
this.channelControlHelper = channelControlHelper;
this.currentChild = null;
this.pendingChild = null;
this.latestConfig = null;
this.ChildPolicyHelper = class {
constructor(parent) {
this.parent = parent;
this.child = null;
}
createSubchannel(subchannelAddress, subchannelArgs) {
return this.parent.channelControlHelper.createSubchannel(subchannelAddress, subchannelArgs);
}
updateState(connectivityState, picker, errorMessage) {
var _a4;
if (this.calledByPendingChild()) {
if (connectivityState === connectivity_state_1.ConnectivityState.CONNECTING) {
return;
}
(_a4 = this.parent.currentChild) === null || _a4 === void 0 ? void 0 : _a4.destroy();
this.parent.currentChild = this.parent.pendingChild;
this.parent.pendingChild = null;
} else if (!this.calledByCurrentChild()) {
return;
}
this.parent.channelControlHelper.updateState(connectivityState, picker, errorMessage);
}
requestReresolution() {
var _a4;
const latestChild = (_a4 = this.parent.pendingChild) !== null && _a4 !== void 0 ? _a4 : this.parent.currentChild;
if (this.child === latestChild) {
this.parent.channelControlHelper.requestReresolution();
}
}
setChild(newChild) {
this.child = newChild;
}
addChannelzChild(child) {
this.parent.channelControlHelper.addChannelzChild(child);
}
removeChannelzChild(child) {
this.parent.channelControlHelper.removeChannelzChild(child);
}
calledByPendingChild() {
return this.child === this.parent.pendingChild;
}
calledByCurrentChild() {
return this.child === this.parent.currentChild;
}
};
}
configUpdateRequiresNewPolicyInstance(oldConfig, newConfig) {
return oldConfig.getLoadBalancerName() !== newConfig.getLoadBalancerName();
}
/**
* Prerequisites: lbConfig !== null and lbConfig.name is registered
* @param endpointList
* @param lbConfig
* @param attributes
*/
updateAddressList(endpointList, lbConfig, options, resolutionNote) {
let childToUpdate;
if (this.currentChild === null || this.latestConfig === null || this.configUpdateRequiresNewPolicyInstance(this.latestConfig, lbConfig)) {
const newHelper = new this.ChildPolicyHelper(this);
const newChild = (0, load_balancer_1.createLoadBalancer)(lbConfig, newHelper);
newHelper.setChild(newChild);
if (this.currentChild === null) {
this.currentChild = newChild;
childToUpdate = this.currentChild;
} else {
if (this.pendingChild) {
this.pendingChild.destroy();
}
this.pendingChild = newChild;
childToUpdate = this.pendingChild;
}
} else {
if (this.pendingChild === null) {
childToUpdate = this.currentChild;
} else {
childToUpdate = this.pendingChild;
}
}
this.latestConfig = lbConfig;
return childToUpdate.updateAddressList(endpointList, lbConfig, options, resolutionNote);
}
exitIdle() {
if (this.currentChild) {
this.currentChild.exitIdle();
if (this.pendingChild) {
this.pendingChild.exitIdle();
}
}
}
resetBackoff() {
if (this.currentChild) {
this.currentChild.resetBackoff();
if (this.pendingChild) {
this.pendingChild.resetBackoff();
}
}
}
destroy() {
if (this.currentChild) {
this.currentChild.destroy();
this.currentChild = null;
}
if (this.pendingChild) {
this.pendingChild.destroy();
this.pendingChild = null;
}
}
getTypeName() {
return TYPE_NAME;
}
};
exports2.ChildLoadBalancerHandler = ChildLoadBalancerHandler;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js
var require_resolving_load_balancer2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ResolvingLoadBalancer = void 0;
var load_balancer_1 = require_load_balancer2();
var service_config_1 = require_service_config2();
var connectivity_state_1 = require_connectivity_state2();
var resolver_1 = require_resolver2();
var picker_1 = require_picker2();
var backoff_timeout_1 = require_backoff_timeout2();
var constants_1 = require_constants10();
var metadata_1 = require_metadata4();
var logging = require_logging2();
var constants_2 = require_constants10();
var uri_parser_1 = require_uri_parser2();
var load_balancer_child_handler_1 = require_load_balancer_child_handler2();
var TRACER_NAME2 = "resolving_load_balancer";
function trace2(text) {
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var NAME_MATCH_LEVEL_ORDER = [
"SERVICE_AND_METHOD",
"SERVICE",
"EMPTY"
];
function hasMatchingName(service, method, methodConfig, matchLevel) {
for (const name3 of methodConfig.name) {
switch (matchLevel) {
case "EMPTY":
if (!name3.service && !name3.method) {
return true;
}
break;
case "SERVICE":
if (name3.service === service && !name3.method) {
return true;
}
break;
case "SERVICE_AND_METHOD":
if (name3.service === service && name3.method === method) {
return true;
}
}
}
return false;
}
function findMatchingConfig(service, method, methodConfigs, matchLevel) {
for (const config2 of methodConfigs) {
if (hasMatchingName(service, method, config2, matchLevel)) {
return config2;
}
}
return null;
}
function getDefaultConfigSelector(serviceConfig) {
return {
invoke(methodName, metadata2) {
var _a4, _b;
const splitName = methodName.split("/").filter((x) => x.length > 0);
const service = (_a4 = splitName[0]) !== null && _a4 !== void 0 ? _a4 : "";
const method = (_b = splitName[1]) !== null && _b !== void 0 ? _b : "";
if (serviceConfig && serviceConfig.methodConfig) {
for (const matchLevel of NAME_MATCH_LEVEL_ORDER) {
const matchingConfig = findMatchingConfig(service, method, serviceConfig.methodConfig, matchLevel);
if (matchingConfig) {
return {
methodConfig: matchingConfig,
pickInformation: {},
status: constants_1.Status.OK,
dynamicFilterFactories: []
};
}
}
}
return {
methodConfig: { name: [] },
pickInformation: {},
status: constants_1.Status.OK,
dynamicFilterFactories: []
};
},
unref() {
}
};
}
var ResolvingLoadBalancer = class {
/**
* Wrapper class that behaves like a `LoadBalancer` and also handles name
* resolution internally.
* @param target The address of the backend to connect to.
* @param channelControlHelper `ChannelControlHelper` instance provided by
* this load balancer's owner.
* @param defaultServiceConfig The default service configuration to be used
* if none is provided by the name resolver. A `null` value indicates
* that the default behavior should be the default unconfigured behavior.
* In practice, that means using the "pick first" load balancer
* implmentation
*/
constructor(target, channelControlHelper, channelOptions, onSuccessfulResolution, onFailedResolution) {
this.target = target;
this.channelControlHelper = channelControlHelper;
this.channelOptions = channelOptions;
this.onSuccessfulResolution = onSuccessfulResolution;
this.onFailedResolution = onFailedResolution;
this.latestChildState = connectivity_state_1.ConnectivityState.IDLE;
this.latestChildPicker = new picker_1.QueuePicker(this);
this.latestChildErrorMessage = null;
this.currentState = connectivity_state_1.ConnectivityState.IDLE;
this.previousServiceConfig = null;
this.continueResolving = false;
if (channelOptions["grpc.service_config"]) {
this.defaultServiceConfig = (0, service_config_1.validateServiceConfig)(JSON.parse(channelOptions["grpc.service_config"]));
} else {
this.defaultServiceConfig = {
loadBalancingConfig: [],
methodConfig: []
};
}
this.updateState(connectivity_state_1.ConnectivityState.IDLE, new picker_1.QueuePicker(this), null);
this.childLoadBalancer = new load_balancer_child_handler_1.ChildLoadBalancerHandler({
createSubchannel: channelControlHelper.createSubchannel.bind(channelControlHelper),
requestReresolution: () => {
if (this.backoffTimeout.isRunning()) {
trace2("requestReresolution delayed by backoff timer until " + this.backoffTimeout.getEndTime().toISOString());
this.continueResolving = true;
} else {
this.updateResolution();
}
},
updateState: (newState, picker, errorMessage) => {
this.latestChildState = newState;
this.latestChildPicker = picker;
this.latestChildErrorMessage = errorMessage;
this.updateState(newState, picker, errorMessage);
},
addChannelzChild: channelControlHelper.addChannelzChild.bind(channelControlHelper),
removeChannelzChild: channelControlHelper.removeChannelzChild.bind(channelControlHelper)
});
this.innerResolver = (0, resolver_1.createResolver)(target, this.handleResolverResult.bind(this), channelOptions);
const backoffOptions = {
initialDelay: channelOptions["grpc.initial_reconnect_backoff_ms"],
maxDelay: channelOptions["grpc.max_reconnect_backoff_ms"]
};
this.backoffTimeout = new backoff_timeout_1.BackoffTimeout(() => {
if (this.continueResolving) {
this.updateResolution();
this.continueResolving = false;
} else {
this.updateState(this.latestChildState, this.latestChildPicker, this.latestChildErrorMessage);
}
}, backoffOptions);
this.backoffTimeout.unref();
}
handleResolverResult(endpointList, attributes, serviceConfig, resolutionNote) {
var _a4, _b;
this.backoffTimeout.stop();
this.backoffTimeout.reset();
let resultAccepted = true;
let workingServiceConfig = null;
if (serviceConfig === null) {
workingServiceConfig = this.defaultServiceConfig;
} else if (serviceConfig.ok) {
workingServiceConfig = serviceConfig.value;
} else {
if (this.previousServiceConfig !== null) {
workingServiceConfig = this.previousServiceConfig;
} else {
resultAccepted = false;
this.handleResolutionFailure(serviceConfig.error);
}
}
if (workingServiceConfig !== null) {
const workingConfigList = (_a4 = workingServiceConfig === null || workingServiceConfig === void 0 ? void 0 : workingServiceConfig.loadBalancingConfig) !== null && _a4 !== void 0 ? _a4 : [];
const loadBalancingConfig = (0, load_balancer_1.selectLbConfigFromList)(workingConfigList, true);
if (loadBalancingConfig === null) {
resultAccepted = false;
this.handleResolutionFailure({
code: constants_1.Status.UNAVAILABLE,
details: "All load balancer options in service config are not compatible",
metadata: new metadata_1.Metadata()
});
} else {
resultAccepted = this.childLoadBalancer.updateAddressList(endpointList, loadBalancingConfig, Object.assign(Object.assign({}, this.channelOptions), attributes), resolutionNote);
}
}
if (resultAccepted) {
this.onSuccessfulResolution(workingServiceConfig, (_b = attributes[resolver_1.CHANNEL_ARGS_CONFIG_SELECTOR_KEY]) !== null && _b !== void 0 ? _b : getDefaultConfigSelector(workingServiceConfig));
}
return resultAccepted;
}
updateResolution() {
this.innerResolver.updateResolution();
if (this.currentState === connectivity_state_1.ConnectivityState.IDLE) {
this.updateState(connectivity_state_1.ConnectivityState.CONNECTING, this.latestChildPicker, this.latestChildErrorMessage);
}
this.backoffTimeout.runOnce();
}
updateState(connectivityState, picker, errorMessage) {
trace2((0, uri_parser_1.uriToString)(this.target) + " " + connectivity_state_1.ConnectivityState[this.currentState] + " -> " + connectivity_state_1.ConnectivityState[connectivityState]);
if (connectivityState === connectivity_state_1.ConnectivityState.IDLE) {
picker = new picker_1.QueuePicker(this, picker);
}
this.currentState = connectivityState;
this.channelControlHelper.updateState(connectivityState, picker, errorMessage);
}
handleResolutionFailure(error40) {
if (this.latestChildState === connectivity_state_1.ConnectivityState.IDLE) {
this.updateState(connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, new picker_1.UnavailablePicker(error40), error40.details);
this.onFailedResolution(error40);
}
}
exitIdle() {
if (this.currentState === connectivity_state_1.ConnectivityState.IDLE || this.currentState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
if (this.backoffTimeout.isRunning()) {
this.continueResolving = true;
} else {
this.updateResolution();
}
}
this.childLoadBalancer.exitIdle();
}
updateAddressList(endpointList, lbConfig) {
throw new Error("updateAddressList not supported on ResolvingLoadBalancer");
}
resetBackoff() {
this.backoffTimeout.reset();
this.childLoadBalancer.resetBackoff();
}
destroy() {
this.childLoadBalancer.destroy();
this.innerResolver.destroy();
this.backoffTimeout.reset();
this.backoffTimeout.stop();
this.latestChildState = connectivity_state_1.ConnectivityState.IDLE;
this.latestChildPicker = new picker_1.QueuePicker(this);
this.currentState = connectivity_state_1.ConnectivityState.IDLE;
this.previousServiceConfig = null;
this.continueResolving = false;
}
getTypeName() {
return "resolving_load_balancer";
}
};
exports2.ResolvingLoadBalancer = ResolvingLoadBalancer;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/channel-options.js
var require_channel_options2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/channel-options.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.recognizedOptions = void 0;
exports2.channelOptionsEqual = channelOptionsEqual;
exports2.recognizedOptions = {
"grpc.ssl_target_name_override": true,
"grpc.primary_user_agent": true,
"grpc.secondary_user_agent": true,
"grpc.default_authority": true,
"grpc.keepalive_time_ms": true,
"grpc.keepalive_timeout_ms": true,
"grpc.keepalive_permit_without_calls": true,
"grpc.service_config": true,
"grpc.max_concurrent_streams": true,
"grpc.initial_reconnect_backoff_ms": true,
"grpc.max_reconnect_backoff_ms": true,
"grpc.use_local_subchannel_pool": true,
"grpc.max_send_message_length": true,
"grpc.max_receive_message_length": true,
"grpc.enable_http_proxy": true,
"grpc.enable_channelz": true,
"grpc.dns_min_time_between_resolutions_ms": true,
"grpc.enable_retries": true,
"grpc.per_rpc_retry_buffer_size": true,
"grpc.retry_buffer_size": true,
"grpc.max_connection_age_ms": true,
"grpc.max_connection_age_grace_ms": true,
"grpc-node.max_session_memory": true,
"grpc.service_config_disable_resolution": true,
"grpc.client_idle_timeout_ms": true,
"grpc-node.tls_enable_trace": true,
"grpc.lb.ring_hash.ring_size_cap": true,
"grpc-node.retry_max_attempts_limit": true,
"grpc-node.flow_control_window": true,
"grpc.server_call_metric_recording": true
};
function channelOptionsEqual(options1, options2) {
const keys1 = Object.keys(options1).sort();
const keys2 = Object.keys(options2).sort();
if (keys1.length !== keys2.length) {
return false;
}
for (let i3 = 0; i3 < keys1.length; i3 += 1) {
if (keys1[i3] !== keys2[i3]) {
return false;
}
if (options1[keys1[i3]] !== options2[keys2[i3]]) {
return false;
}
}
return true;
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-address.js
var require_subchannel_address2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-address.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.EndpointMap = void 0;
exports2.isTcpSubchannelAddress = isTcpSubchannelAddress;
exports2.subchannelAddressEqual = subchannelAddressEqual;
exports2.subchannelAddressToString = subchannelAddressToString;
exports2.stringToSubchannelAddress = stringToSubchannelAddress;
exports2.endpointEqual = endpointEqual;
exports2.endpointToString = endpointToString;
exports2.endpointHasAddress = endpointHasAddress;
var net_1 = __require("net");
function isTcpSubchannelAddress(address) {
return "port" in address;
}
function subchannelAddressEqual(address1, address2) {
if (!address1 && !address2) {
return true;
}
if (!address1 || !address2) {
return false;
}
if (isTcpSubchannelAddress(address1)) {
return isTcpSubchannelAddress(address2) && address1.host === address2.host && address1.port === address2.port;
} else {
return !isTcpSubchannelAddress(address2) && address1.path === address2.path;
}
}
function subchannelAddressToString(address) {
if (isTcpSubchannelAddress(address)) {
if ((0, net_1.isIPv6)(address.host)) {
return "[" + address.host + "]:" + address.port;
} else {
return address.host + ":" + address.port;
}
} else {
return address.path;
}
}
var DEFAULT_PORT = 443;
function stringToSubchannelAddress(addressString, port) {
if ((0, net_1.isIP)(addressString)) {
return {
host: addressString,
port: port !== null && port !== void 0 ? port : DEFAULT_PORT
};
} else {
return {
path: addressString
};
}
}
function endpointEqual(endpoint1, endpoint2) {
if (endpoint1.addresses.length !== endpoint2.addresses.length) {
return false;
}
for (let i3 = 0; i3 < endpoint1.addresses.length; i3++) {
if (!subchannelAddressEqual(endpoint1.addresses[i3], endpoint2.addresses[i3])) {
return false;
}
}
return true;
}
function endpointToString(endpoint) {
return "[" + endpoint.addresses.map(subchannelAddressToString).join(", ") + "]";
}
function endpointHasAddress(endpoint, expectedAddress) {
for (const address of endpoint.addresses) {
if (subchannelAddressEqual(address, expectedAddress)) {
return true;
}
}
return false;
}
function endpointEqualUnordered(endpoint1, endpoint2) {
if (endpoint1.addresses.length !== endpoint2.addresses.length) {
return false;
}
for (const address1 of endpoint1.addresses) {
let matchFound = false;
for (const address2 of endpoint2.addresses) {
if (subchannelAddressEqual(address1, address2)) {
matchFound = true;
break;
}
}
if (!matchFound) {
return false;
}
}
return true;
}
var EndpointMap = class {
constructor() {
this.map = /* @__PURE__ */ new Set();
}
get size() {
return this.map.size;
}
getForSubchannelAddress(address) {
for (const entry of this.map) {
if (endpointHasAddress(entry.key, address)) {
return entry.value;
}
}
return void 0;
}
/**
* Delete any entries in this map with keys that are not in endpoints
* @param endpoints
*/
deleteMissing(endpoints) {
const removedValues = [];
for (const entry of this.map) {
let foundEntry = false;
for (const endpoint of endpoints) {
if (endpointEqualUnordered(endpoint, entry.key)) {
foundEntry = true;
}
}
if (!foundEntry) {
removedValues.push(entry.value);
this.map.delete(entry);
}
}
return removedValues;
}
get(endpoint) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
return entry.value;
}
}
return void 0;
}
set(endpoint, mapEntry) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
entry.value = mapEntry;
return;
}
}
this.map.add({ key: endpoint, value: mapEntry });
}
delete(endpoint) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
this.map.delete(entry);
return;
}
}
}
has(endpoint) {
for (const entry of this.map) {
if (endpointEqualUnordered(endpoint, entry.key)) {
return true;
}
}
return false;
}
clear() {
this.map.clear();
}
*keys() {
for (const entry of this.map) {
yield entry.key;
}
}
*values() {
for (const entry of this.map) {
yield entry.value;
}
}
*entries() {
for (const entry of this.map) {
yield [entry.key, entry.value];
}
}
};
exports2.EndpointMap = EndpointMap;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/admin.js
var require_admin2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/admin.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.registerAdminService = registerAdminService;
exports2.addAdminServicesToServer = addAdminServicesToServer;
var registeredAdminServices = [];
function registerAdminService(getServiceDefinition, getHandlers) {
registeredAdminServices.push({ getServiceDefinition, getHandlers });
}
function addAdminServicesToServer(server) {
for (const { getServiceDefinition, getHandlers } of registeredAdminServices) {
server.addService(getServiceDefinition(), getHandlers());
}
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/call.js
var require_call3 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ClientDuplexStreamImpl = exports2.ClientWritableStreamImpl = exports2.ClientReadableStreamImpl = exports2.ClientUnaryCallImpl = void 0;
exports2.callErrorFromStatus = callErrorFromStatus;
var events_1 = __require("events");
var stream_1 = __require("stream");
var constants_1 = require_constants10();
function callErrorFromStatus(status2, callerStack) {
const message = `${status2.code} ${constants_1.Status[status2.code]}: ${status2.details}`;
const error40 = new Error(message);
const stack = `${error40.stack}
for call at
${callerStack}`;
return Object.assign(new Error(message), status2, { stack });
}
var ClientUnaryCallImpl = class extends events_1.EventEmitter {
constructor() {
super();
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
getAuthContext() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getAuthContext()) !== null && _b !== void 0 ? _b : null;
}
};
exports2.ClientUnaryCallImpl = ClientUnaryCallImpl;
var ClientReadableStreamImpl = class extends stream_1.Readable {
constructor(deserialize) {
super({ objectMode: true });
this.deserialize = deserialize;
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
getAuthContext() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getAuthContext()) !== null && _b !== void 0 ? _b : null;
}
_read(_size2) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.startRead();
}
};
exports2.ClientReadableStreamImpl = ClientReadableStreamImpl;
var ClientWritableStreamImpl = class extends stream_1.Writable {
constructor(serialize3) {
super({ objectMode: true });
this.serialize = serialize3;
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
getAuthContext() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getAuthContext()) !== null && _b !== void 0 ? _b : null;
}
_write(chunk, encoding, cb) {
var _a4;
const context2 = {
callback: cb
};
const flags2 = Number(encoding);
if (!Number.isNaN(flags2)) {
context2.flags = flags2;
}
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.sendMessageWithContext(context2, chunk);
}
_final(cb) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.halfClose();
cb();
}
};
exports2.ClientWritableStreamImpl = ClientWritableStreamImpl;
var ClientDuplexStreamImpl = class extends stream_1.Duplex {
constructor(serialize3, deserialize) {
super({ objectMode: true });
this.serialize = serialize3;
this.deserialize = deserialize;
}
cancel() {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled on client");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : "unknown";
}
getAuthContext() {
var _a4, _b;
return (_b = (_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.getAuthContext()) !== null && _b !== void 0 ? _b : null;
}
_read(_size2) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.startRead();
}
_write(chunk, encoding, cb) {
var _a4;
const context2 = {
callback: cb
};
const flags2 = Number(encoding);
if (!Number.isNaN(flags2)) {
context2.flags = flags2;
}
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.sendMessageWithContext(context2, chunk);
}
_final(cb) {
var _a4;
(_a4 = this.call) === null || _a4 === void 0 ? void 0 : _a4.halfClose();
cb();
}
};
exports2.ClientDuplexStreamImpl = ClientDuplexStreamImpl;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/call-interface.js
var require_call_interface2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/call-interface.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InterceptingListenerImpl = void 0;
exports2.statusOrFromValue = statusOrFromValue;
exports2.statusOrFromError = statusOrFromError;
exports2.isInterceptingListener = isInterceptingListener;
var metadata_1 = require_metadata4();
function statusOrFromValue(value) {
return {
ok: true,
value
};
}
function statusOrFromError(error40) {
var _a4;
return {
ok: false,
error: Object.assign(Object.assign({}, error40), { metadata: (_a4 = error40.metadata) !== null && _a4 !== void 0 ? _a4 : new metadata_1.Metadata() })
};
}
function isInterceptingListener(listener) {
return listener.onReceiveMetadata !== void 0 && listener.onReceiveMetadata.length === 1;
}
var InterceptingListenerImpl = class {
constructor(listener, nextListener) {
this.listener = listener;
this.nextListener = nextListener;
this.processingMetadata = false;
this.hasPendingMessage = false;
this.processingMessage = false;
this.pendingStatus = null;
}
processPendingMessage() {
if (this.hasPendingMessage) {
this.nextListener.onReceiveMessage(this.pendingMessage);
this.pendingMessage = null;
this.hasPendingMessage = false;
}
}
processPendingStatus() {
if (this.pendingStatus) {
this.nextListener.onReceiveStatus(this.pendingStatus);
}
}
onReceiveMetadata(metadata2) {
this.processingMetadata = true;
this.listener.onReceiveMetadata(metadata2, (metadata3) => {
this.processingMetadata = false;
this.nextListener.onReceiveMetadata(metadata3);
this.processPendingMessage();
this.processPendingStatus();
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
this.processingMessage = true;
this.listener.onReceiveMessage(message, (msg) => {
this.processingMessage = false;
if (this.processingMetadata) {
this.pendingMessage = msg;
this.hasPendingMessage = true;
} else {
this.nextListener.onReceiveMessage(msg);
this.processPendingStatus();
}
});
}
onReceiveStatus(status2) {
this.listener.onReceiveStatus(status2, (processedStatus) => {
if (this.processingMetadata || this.processingMessage) {
this.pendingStatus = processedStatus;
} else {
this.nextListener.onReceiveStatus(processedStatus);
}
});
}
};
exports2.InterceptingListenerImpl = InterceptingListenerImpl;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/client-interceptors.js
var require_client_interceptors2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/client-interceptors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InterceptingCall = exports2.RequesterBuilder = exports2.ListenerBuilder = exports2.InterceptorConfigurationError = void 0;
exports2.getInterceptingCall = getInterceptingCall;
var metadata_1 = require_metadata4();
var call_interface_1 = require_call_interface2();
var constants_1 = require_constants10();
var error_1 = require_error3();
var InterceptorConfigurationError = class _InterceptorConfigurationError extends Error {
constructor(message) {
super(message);
this.name = "InterceptorConfigurationError";
Error.captureStackTrace(this, _InterceptorConfigurationError);
}
};
exports2.InterceptorConfigurationError = InterceptorConfigurationError;
var ListenerBuilder = class {
constructor() {
this.metadata = void 0;
this.message = void 0;
this.status = void 0;
}
withOnReceiveMetadata(onReceiveMetadata) {
this.metadata = onReceiveMetadata;
return this;
}
withOnReceiveMessage(onReceiveMessage) {
this.message = onReceiveMessage;
return this;
}
withOnReceiveStatus(onReceiveStatus) {
this.status = onReceiveStatus;
return this;
}
build() {
return {
onReceiveMetadata: this.metadata,
onReceiveMessage: this.message,
onReceiveStatus: this.status
};
}
};
exports2.ListenerBuilder = ListenerBuilder;
var RequesterBuilder = class {
constructor() {
this.start = void 0;
this.message = void 0;
this.halfClose = void 0;
this.cancel = void 0;
}
withStart(start2) {
this.start = start2;
return this;
}
withSendMessage(sendMessage3) {
this.message = sendMessage3;
return this;
}
withHalfClose(halfClose) {
this.halfClose = halfClose;
return this;
}
withCancel(cancel) {
this.cancel = cancel;
return this;
}
build() {
return {
start: this.start,
sendMessage: this.message,
halfClose: this.halfClose,
cancel: this.cancel
};
}
};
exports2.RequesterBuilder = RequesterBuilder;
var defaultListener = {
onReceiveMetadata: (metadata2, next) => {
next(metadata2);
},
onReceiveMessage: (message, next) => {
next(message);
},
onReceiveStatus: (status2, next) => {
next(status2);
}
};
var defaultRequester = {
start: (metadata2, listener, next) => {
next(metadata2, listener);
},
sendMessage: (message, next) => {
next(message);
},
halfClose: (next) => {
next();
},
cancel: (next) => {
next();
}
};
var InterceptingCall = class {
constructor(nextCall, requester) {
var _a4, _b, _c, _d;
this.nextCall = nextCall;
this.processingMetadata = false;
this.pendingMessageContext = null;
this.processingMessage = false;
this.pendingHalfClose = false;
if (requester) {
this.requester = {
start: (_a4 = requester.start) !== null && _a4 !== void 0 ? _a4 : defaultRequester.start,
sendMessage: (_b = requester.sendMessage) !== null && _b !== void 0 ? _b : defaultRequester.sendMessage,
halfClose: (_c = requester.halfClose) !== null && _c !== void 0 ? _c : defaultRequester.halfClose,
cancel: (_d = requester.cancel) !== null && _d !== void 0 ? _d : defaultRequester.cancel
};
} else {
this.requester = defaultRequester;
}
}
cancelWithStatus(status2, details) {
this.requester.cancel(() => {
this.nextCall.cancelWithStatus(status2, details);
});
}
getPeer() {
return this.nextCall.getPeer();
}
processPendingMessage() {
if (this.pendingMessageContext) {
this.nextCall.sendMessageWithContext(this.pendingMessageContext, this.pendingMessage);
this.pendingMessageContext = null;
this.pendingMessage = null;
}
}
processPendingHalfClose() {
if (this.pendingHalfClose) {
this.nextCall.halfClose();
}
}
start(metadata2, interceptingListener) {
var _a4, _b, _c, _d, _e, _f;
const fullInterceptingListener = {
onReceiveMetadata: (_b = (_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMetadata) === null || _a4 === void 0 ? void 0 : _a4.bind(interceptingListener)) !== null && _b !== void 0 ? _b : (metadata3) => {
},
onReceiveMessage: (_d = (_c = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMessage) === null || _c === void 0 ? void 0 : _c.bind(interceptingListener)) !== null && _d !== void 0 ? _d : (message) => {
},
onReceiveStatus: (_f = (_e = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _e === void 0 ? void 0 : _e.bind(interceptingListener)) !== null && _f !== void 0 ? _f : (status2) => {
}
};
this.processingMetadata = true;
this.requester.start(metadata2, fullInterceptingListener, (md, listener) => {
var _a5, _b2, _c2;
this.processingMetadata = false;
let finalInterceptingListener;
if ((0, call_interface_1.isInterceptingListener)(listener)) {
finalInterceptingListener = listener;
} else {
const fullListener = {
onReceiveMetadata: (_a5 = listener.onReceiveMetadata) !== null && _a5 !== void 0 ? _a5 : defaultListener.onReceiveMetadata,
onReceiveMessage: (_b2 = listener.onReceiveMessage) !== null && _b2 !== void 0 ? _b2 : defaultListener.onReceiveMessage,
onReceiveStatus: (_c2 = listener.onReceiveStatus) !== null && _c2 !== void 0 ? _c2 : defaultListener.onReceiveStatus
};
finalInterceptingListener = new call_interface_1.InterceptingListenerImpl(fullListener, fullInterceptingListener);
}
this.nextCall.start(md, finalInterceptingListener);
this.processPendingMessage();
this.processPendingHalfClose();
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessageWithContext(context2, message) {
this.processingMessage = true;
this.requester.sendMessage(message, (finalMessage) => {
this.processingMessage = false;
if (this.processingMetadata) {
this.pendingMessageContext = context2;
this.pendingMessage = message;
} else {
this.nextCall.sendMessageWithContext(context2, finalMessage);
this.processPendingHalfClose();
}
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessage(message) {
this.sendMessageWithContext({}, message);
}
startRead() {
this.nextCall.startRead();
}
halfClose() {
this.requester.halfClose(() => {
if (this.processingMetadata || this.processingMessage) {
this.pendingHalfClose = true;
} else {
this.nextCall.halfClose();
}
});
}
getAuthContext() {
return this.nextCall.getAuthContext();
}
};
exports2.InterceptingCall = InterceptingCall;
function getCall(channel, path101, options) {
var _a4, _b;
const deadline = (_a4 = options.deadline) !== null && _a4 !== void 0 ? _a4 : Infinity;
const host = options.host;
const parent = (_b = options.parent) !== null && _b !== void 0 ? _b : null;
const propagateFlags = options.propagate_flags;
const credentials3 = options.credentials;
const call = channel.createCall(path101, deadline, host, parent, propagateFlags);
if (credentials3) {
call.setCredentials(credentials3);
}
return call;
}
var BaseInterceptingCall = class {
constructor(call, methodDefinition) {
this.call = call;
this.methodDefinition = methodDefinition;
}
cancelWithStatus(status2, details) {
this.call.cancelWithStatus(status2, details);
}
getPeer() {
return this.call.getPeer();
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessageWithContext(context2, message) {
let serialized;
try {
serialized = this.methodDefinition.requestSerialize(message);
} catch (e2) {
this.call.cancelWithStatus(constants_1.Status.INTERNAL, `Request message serialization failure: ${(0, error_1.getErrorMessage)(e2)}`);
return;
}
this.call.sendMessageWithContext(context2, serialized);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
sendMessage(message) {
this.sendMessageWithContext({}, message);
}
start(metadata2, interceptingListener) {
let readError = null;
this.call.start(metadata2, {
onReceiveMetadata: (metadata3) => {
var _a4;
(_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMetadata) === null || _a4 === void 0 ? void 0 : _a4.call(interceptingListener, metadata3);
},
onReceiveMessage: (message) => {
var _a4;
let deserialized;
try {
deserialized = this.methodDefinition.responseDeserialize(message);
} catch (e2) {
readError = {
code: constants_1.Status.INTERNAL,
details: `Response message parsing error: ${(0, error_1.getErrorMessage)(e2)}`,
metadata: new metadata_1.Metadata()
};
this.call.cancelWithStatus(readError.code, readError.details);
return;
}
(_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveMessage) === null || _a4 === void 0 ? void 0 : _a4.call(interceptingListener, deserialized);
},
onReceiveStatus: (status2) => {
var _a4, _b;
if (readError) {
(_a4 = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _a4 === void 0 ? void 0 : _a4.call(interceptingListener, readError);
} else {
(_b = interceptingListener === null || interceptingListener === void 0 ? void 0 : interceptingListener.onReceiveStatus) === null || _b === void 0 ? void 0 : _b.call(interceptingListener, status2);
}
}
});
}
startRead() {
this.call.startRead();
}
halfClose() {
this.call.halfClose();
}
getAuthContext() {
return this.call.getAuthContext();
}
};
var BaseUnaryInterceptingCall = class extends BaseInterceptingCall {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
constructor(call, methodDefinition) {
super(call, methodDefinition);
}
start(metadata2, listener) {
var _a4, _b;
let receivedMessage = false;
const wrapperListener = {
onReceiveMetadata: (_b = (_a4 = listener === null || listener === void 0 ? void 0 : listener.onReceiveMetadata) === null || _a4 === void 0 ? void 0 : _a4.bind(listener)) !== null && _b !== void 0 ? _b : (metadata3) => {
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage: (message) => {
var _a5;
receivedMessage = true;
(_a5 = listener === null || listener === void 0 ? void 0 : listener.onReceiveMessage) === null || _a5 === void 0 ? void 0 : _a5.call(listener, message);
},
onReceiveStatus: (status2) => {
var _a5, _b2;
if (!receivedMessage) {
(_a5 = listener === null || listener === void 0 ? void 0 : listener.onReceiveMessage) === null || _a5 === void 0 ? void 0 : _a5.call(listener, null);
}
(_b2 = listener === null || listener === void 0 ? void 0 : listener.onReceiveStatus) === null || _b2 === void 0 ? void 0 : _b2.call(listener, status2);
}
};
super.start(metadata2, wrapperListener);
this.call.startRead();
}
};
var BaseStreamingInterceptingCall = class extends BaseInterceptingCall {
};
function getBottomInterceptingCall(channel, options, methodDefinition) {
const call = getCall(channel, methodDefinition.path, options);
if (methodDefinition.responseStream) {
return new BaseStreamingInterceptingCall(call, methodDefinition);
} else {
return new BaseUnaryInterceptingCall(call, methodDefinition);
}
}
function getInterceptingCall(interceptorArgs, methodDefinition, options, channel) {
if (interceptorArgs.clientInterceptors.length > 0 && interceptorArgs.clientInterceptorProviders.length > 0) {
throw new InterceptorConfigurationError("Both interceptors and interceptor_providers were passed as options to the client constructor. Only one of these is allowed.");
}
if (interceptorArgs.callInterceptors.length > 0 && interceptorArgs.callInterceptorProviders.length > 0) {
throw new InterceptorConfigurationError("Both interceptors and interceptor_providers were passed as call options. Only one of these is allowed.");
}
let interceptors = [];
if (interceptorArgs.callInterceptors.length > 0 || interceptorArgs.callInterceptorProviders.length > 0) {
interceptors = [].concat(interceptorArgs.callInterceptors, interceptorArgs.callInterceptorProviders.map((provider) => provider(methodDefinition))).filter((interceptor) => interceptor);
} else {
interceptors = [].concat(interceptorArgs.clientInterceptors, interceptorArgs.clientInterceptorProviders.map((provider) => provider(methodDefinition))).filter((interceptor) => interceptor);
}
const interceptorOptions = Object.assign({}, options, {
method_definition: methodDefinition
});
const getCall2 = interceptors.reduceRight((nextCall, nextInterceptor) => {
return (currentOptions) => nextInterceptor(currentOptions, nextCall);
}, (finalOptions) => getBottomInterceptingCall(channel, finalOptions, methodDefinition));
return getCall2(interceptorOptions);
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/client.js
var require_client3 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Client = void 0;
var call_1 = require_call3();
var channel_1 = require_channel2();
var connectivity_state_1 = require_connectivity_state2();
var constants_1 = require_constants10();
var metadata_1 = require_metadata4();
var client_interceptors_1 = require_client_interceptors2();
var CHANNEL_SYMBOL = Symbol();
var INTERCEPTOR_SYMBOL = Symbol();
var INTERCEPTOR_PROVIDER_SYMBOL = Symbol();
var CALL_INVOCATION_TRANSFORMER_SYMBOL = Symbol();
function isFunction(arg) {
return typeof arg === "function";
}
function getErrorStackString(error40) {
var _a4;
return ((_a4 = error40.stack) === null || _a4 === void 0 ? void 0 : _a4.split("\n").slice(1).join("\n")) || "no stack trace available";
}
var Client3 = class {
constructor(address, credentials3, options = {}) {
var _a4, _b;
options = Object.assign({}, options);
this[INTERCEPTOR_SYMBOL] = (_a4 = options.interceptors) !== null && _a4 !== void 0 ? _a4 : [];
delete options.interceptors;
this[INTERCEPTOR_PROVIDER_SYMBOL] = (_b = options.interceptor_providers) !== null && _b !== void 0 ? _b : [];
delete options.interceptor_providers;
if (this[INTERCEPTOR_SYMBOL].length > 0 && this[INTERCEPTOR_PROVIDER_SYMBOL].length > 0) {
throw new Error("Both interceptors and interceptor_providers were passed as options to the client constructor. Only one of these is allowed.");
}
this[CALL_INVOCATION_TRANSFORMER_SYMBOL] = options.callInvocationTransformer;
delete options.callInvocationTransformer;
if (options.channelOverride) {
this[CHANNEL_SYMBOL] = options.channelOverride;
} else if (options.channelFactoryOverride) {
const channelFactoryOverride = options.channelFactoryOverride;
delete options.channelFactoryOverride;
this[CHANNEL_SYMBOL] = channelFactoryOverride(address, credentials3, options);
} else {
this[CHANNEL_SYMBOL] = new channel_1.ChannelImplementation(address, credentials3, options);
}
}
close() {
this[CHANNEL_SYMBOL].close();
}
getChannel() {
return this[CHANNEL_SYMBOL];
}
waitForReady(deadline, callback) {
const checkState = (err2) => {
if (err2) {
callback(new Error("Failed to connect before the deadline"));
return;
}
let newState;
try {
newState = this[CHANNEL_SYMBOL].getConnectivityState(true);
} catch (e2) {
callback(new Error("The channel has been closed"));
return;
}
if (newState === connectivity_state_1.ConnectivityState.READY) {
callback();
} else {
try {
this[CHANNEL_SYMBOL].watchConnectivityState(newState, deadline, checkState);
} catch (e2) {
callback(new Error("The channel has been closed"));
}
}
};
setImmediate(checkState);
}
checkOptionalUnaryResponseArguments(arg1, arg2, arg3) {
if (isFunction(arg1)) {
return { metadata: new metadata_1.Metadata(), options: {}, callback: arg1 };
} else if (isFunction(arg2)) {
if (arg1 instanceof metadata_1.Metadata) {
return { metadata: arg1, options: {}, callback: arg2 };
} else {
return { metadata: new metadata_1.Metadata(), options: arg1, callback: arg2 };
}
} else {
if (!(arg1 instanceof metadata_1.Metadata && arg2 instanceof Object && isFunction(arg3))) {
throw new Error("Incorrect arguments passed");
}
return { metadata: arg1, options: arg2, callback: arg3 };
}
}
makeUnaryRequest(method, serialize3, deserialize, argument, metadata2, options, callback) {
var _a4, _b;
const checkedArguments = this.checkOptionalUnaryResponseArguments(metadata2, options, callback);
const methodDefinition = {
path: method,
requestStream: false,
responseStream: false,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
argument,
metadata: checkedArguments.metadata,
call: new call_1.ClientUnaryCallImpl(),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options,
callback: checkedArguments.callback
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const emitter = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
emitter.call = call;
let responseMessage = null;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata: (metadata3) => {
emitter.emit("metadata", metadata3);
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
if (responseMessage !== null) {
call.cancelWithStatus(constants_1.Status.UNIMPLEMENTED, "Too many responses received");
}
responseMessage = message;
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
if (status2.code === constants_1.Status.OK) {
if (responseMessage === null) {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)({
code: constants_1.Status.UNIMPLEMENTED,
details: "No message received",
metadata: status2.metadata
}, callerStack));
} else {
callProperties.callback(null, responseMessage);
}
} else {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
emitter.emit("status", status2);
}
});
call.sendMessage(argument);
call.halfClose();
return emitter;
}
makeClientStreamRequest(method, serialize3, deserialize, metadata2, options, callback) {
var _a4, _b;
const checkedArguments = this.checkOptionalUnaryResponseArguments(metadata2, options, callback);
const methodDefinition = {
path: method,
requestStream: true,
responseStream: false,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
metadata: checkedArguments.metadata,
call: new call_1.ClientWritableStreamImpl(serialize3),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options,
callback: checkedArguments.callback
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const emitter = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
emitter.call = call;
let responseMessage = null;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata: (metadata3) => {
emitter.emit("metadata", metadata3);
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
if (responseMessage !== null) {
call.cancelWithStatus(constants_1.Status.UNIMPLEMENTED, "Too many responses received");
}
responseMessage = message;
call.startRead();
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
if (status2.code === constants_1.Status.OK) {
if (responseMessage === null) {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)({
code: constants_1.Status.UNIMPLEMENTED,
details: "No message received",
metadata: status2.metadata
}, callerStack));
} else {
callProperties.callback(null, responseMessage);
}
} else {
const callerStack = getErrorStackString(callerStackError);
callProperties.callback((0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
emitter.emit("status", status2);
}
});
return emitter;
}
checkMetadataAndOptions(arg1, arg2) {
let metadata2;
let options;
if (arg1 instanceof metadata_1.Metadata) {
metadata2 = arg1;
if (arg2) {
options = arg2;
} else {
options = {};
}
} else {
if (arg1) {
options = arg1;
} else {
options = {};
}
metadata2 = new metadata_1.Metadata();
}
return { metadata: metadata2, options };
}
makeServerStreamRequest(method, serialize3, deserialize, argument, metadata2, options) {
var _a4, _b;
const checkedArguments = this.checkMetadataAndOptions(metadata2, options);
const methodDefinition = {
path: method,
requestStream: false,
responseStream: true,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
argument,
metadata: checkedArguments.metadata,
call: new call_1.ClientReadableStreamImpl(deserialize),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const stream2 = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
stream2.call = call;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata(metadata3) {
stream2.emit("metadata", metadata3);
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
onReceiveMessage(message) {
stream2.push(message);
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
stream2.push(null);
if (status2.code !== constants_1.Status.OK) {
const callerStack = getErrorStackString(callerStackError);
stream2.emit("error", (0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
stream2.emit("status", status2);
}
});
call.sendMessage(argument);
call.halfClose();
return stream2;
}
makeBidiStreamRequest(method, serialize3, deserialize, metadata2, options) {
var _a4, _b;
const checkedArguments = this.checkMetadataAndOptions(metadata2, options);
const methodDefinition = {
path: method,
requestStream: true,
responseStream: true,
requestSerialize: serialize3,
responseDeserialize: deserialize
};
let callProperties = {
metadata: checkedArguments.metadata,
call: new call_1.ClientDuplexStreamImpl(serialize3, deserialize),
channel: this[CHANNEL_SYMBOL],
methodDefinition,
callOptions: checkedArguments.options
};
if (this[CALL_INVOCATION_TRANSFORMER_SYMBOL]) {
callProperties = this[CALL_INVOCATION_TRANSFORMER_SYMBOL](callProperties);
}
const stream2 = callProperties.call;
const interceptorArgs = {
clientInterceptors: this[INTERCEPTOR_SYMBOL],
clientInterceptorProviders: this[INTERCEPTOR_PROVIDER_SYMBOL],
callInterceptors: (_a4 = callProperties.callOptions.interceptors) !== null && _a4 !== void 0 ? _a4 : [],
callInterceptorProviders: (_b = callProperties.callOptions.interceptor_providers) !== null && _b !== void 0 ? _b : []
};
const call = (0, client_interceptors_1.getInterceptingCall)(interceptorArgs, callProperties.methodDefinition, callProperties.callOptions, callProperties.channel);
stream2.call = call;
let receivedStatus = false;
let callerStackError = new Error();
call.start(callProperties.metadata, {
onReceiveMetadata(metadata3) {
stream2.emit("metadata", metadata3);
},
onReceiveMessage(message) {
stream2.push(message);
},
onReceiveStatus(status2) {
if (receivedStatus) {
return;
}
receivedStatus = true;
stream2.push(null);
if (status2.code !== constants_1.Status.OK) {
const callerStack = getErrorStackString(callerStackError);
stream2.emit("error", (0, call_1.callErrorFromStatus)(status2, callerStack));
}
callerStackError = null;
stream2.emit("status", status2);
}
});
return stream2;
}
};
exports2.Client = Client3;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/make-client.js
var require_make_client2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/make-client.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.makeClientConstructor = makeClientConstructor;
exports2.loadPackageDefinition = loadPackageDefinition;
var client_1 = require_client3();
var requesterFuncs = {
unary: client_1.Client.prototype.makeUnaryRequest,
server_stream: client_1.Client.prototype.makeServerStreamRequest,
client_stream: client_1.Client.prototype.makeClientStreamRequest,
bidi: client_1.Client.prototype.makeBidiStreamRequest
};
function isPrototypePolluted(key) {
return ["__proto__", "prototype", "constructor"].includes(key);
}
function makeClientConstructor(methods, serviceName, classOptions) {
if (!classOptions) {
classOptions = {};
}
class ServiceClientImpl extends client_1.Client {
}
Object.keys(methods).forEach((name3) => {
if (isPrototypePolluted(name3)) {
return;
}
const attrs = methods[name3];
let methodType;
if (typeof name3 === "string" && name3.charAt(0) === "$") {
throw new Error("Method names cannot start with $");
}
if (attrs.requestStream) {
if (attrs.responseStream) {
methodType = "bidi";
} else {
methodType = "client_stream";
}
} else {
if (attrs.responseStream) {
methodType = "server_stream";
} else {
methodType = "unary";
}
}
const serialize3 = attrs.requestSerialize;
const deserialize = attrs.responseDeserialize;
const methodFunc = partial2(requesterFuncs[methodType], attrs.path, serialize3, deserialize);
ServiceClientImpl.prototype[name3] = methodFunc;
Object.assign(ServiceClientImpl.prototype[name3], attrs);
if (attrs.originalName && !isPrototypePolluted(attrs.originalName)) {
ServiceClientImpl.prototype[attrs.originalName] = ServiceClientImpl.prototype[name3];
}
});
ServiceClientImpl.service = methods;
ServiceClientImpl.serviceName = serviceName;
return ServiceClientImpl;
}
function partial2(fn, path101, serialize3, deserialize) {
return function(...args2) {
return fn.call(this, path101, serialize3, deserialize, ...args2);
};
}
function isProtobufTypeDefinition(obj) {
return "format" in obj;
}
function loadPackageDefinition(packageDef) {
const result2 = {};
for (const serviceFqn in packageDef) {
if (Object.prototype.hasOwnProperty.call(packageDef, serviceFqn)) {
const service = packageDef[serviceFqn];
const nameComponents = serviceFqn.split(".");
if (nameComponents.some((comp) => isPrototypePolluted(comp))) {
continue;
}
const serviceName = nameComponents[nameComponents.length - 1];
let current = result2;
for (const packageName of nameComponents.slice(0, -1)) {
if (!current[packageName]) {
current[packageName] = {};
}
current = current[packageName];
}
if (isProtobufTypeDefinition(service)) {
current[serviceName] = service;
} else {
current[serviceName] = makeClientConstructor(service, serviceName, {});
}
}
}
return result2;
}
}
});
// packages/core/node_modules/@grpc/proto-loader/build/src/util.js
var require_util19 = __commonJS({
"packages/core/node_modules/@grpc/proto-loader/build/src/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.addCommonProtos = exports2.loadProtosWithOptionsSync = exports2.loadProtosWithOptions = void 0;
var fs84 = __require("fs");
var path101 = __require("path");
var Protobuf = require_protobufjs();
function addIncludePathResolver(root, includePaths) {
const originalResolvePath = root.resolvePath;
root.resolvePath = (origin, target) => {
if (path101.isAbsolute(target)) {
return target;
}
for (const directory of includePaths) {
const fullPath = path101.join(directory, target);
try {
fs84.accessSync(fullPath, fs84.constants.R_OK);
return fullPath;
} catch (err2) {
continue;
}
}
process.emitWarning(`${target} not found in any of the include paths ${includePaths}`);
return originalResolvePath(origin, target);
};
}
async function loadProtosWithOptions(filename, options) {
const root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!Array.isArray(options.includeDirs)) {
return Promise.reject(new Error("The includeDirs option must be an array"));
}
addIncludePathResolver(root, options.includeDirs);
}
const loadedRoot = await root.load(filename, options);
loadedRoot.resolveAll();
return loadedRoot;
}
exports2.loadProtosWithOptions = loadProtosWithOptions;
function loadProtosWithOptionsSync(filename, options) {
const root = new Protobuf.Root();
options = options || {};
if (!!options.includeDirs) {
if (!Array.isArray(options.includeDirs)) {
throw new Error("The includeDirs option must be an array");
}
addIncludePathResolver(root, options.includeDirs);
}
const loadedRoot = root.loadSync(filename, options);
loadedRoot.resolveAll();
return loadedRoot;
}
exports2.loadProtosWithOptionsSync = loadProtosWithOptionsSync;
function addCommonProtos() {
const apiDescriptor = require_api();
const descriptorDescriptor = require_descriptor();
const sourceContextDescriptor = require_source_context();
const typeDescriptor = require_type2();
Protobuf.common("api", apiDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("descriptor", descriptorDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("source_context", sourceContextDescriptor.nested.google.nested.protobuf.nested);
Protobuf.common("type", typeDescriptor.nested.google.nested.protobuf.nested);
}
exports2.addCommonProtos = addCommonProtos;
}
});
// packages/core/node_modules/@grpc/proto-loader/build/src/index.js
var require_src54 = __commonJS({
"packages/core/node_modules/@grpc/proto-loader/build/src/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.loadFileDescriptorSetFromObject = exports2.loadFileDescriptorSetFromBuffer = exports2.fromJSON = exports2.loadSync = exports2.load = exports2.IdempotencyLevel = exports2.isAnyExtension = exports2.Long = void 0;
var camelCase = require_lodash();
var Protobuf = require_protobufjs();
var descriptor2 = require_descriptor2();
var util_1 = require_util19();
var Long = require_umd();
exports2.Long = Long;
function isAnyExtension(obj) {
return "@type" in obj && typeof obj["@type"] === "string";
}
exports2.isAnyExtension = isAnyExtension;
var IdempotencyLevel;
(function(IdempotencyLevel2) {
IdempotencyLevel2["IDEMPOTENCY_UNKNOWN"] = "IDEMPOTENCY_UNKNOWN";
IdempotencyLevel2["NO_SIDE_EFFECTS"] = "NO_SIDE_EFFECTS";
IdempotencyLevel2["IDEMPOTENT"] = "IDEMPOTENT";
})(IdempotencyLevel = exports2.IdempotencyLevel || (exports2.IdempotencyLevel = {}));
var descriptorOptions = {
longs: String,
enums: String,
bytes: String,
defaults: true,
oneofs: true,
json: true
};
function joinName(baseName, name3) {
if (baseName === "") {
return name3;
} else {
return baseName + "." + name3;
}
}
function isHandledReflectionObject(obj) {
return obj instanceof Protobuf.Service || obj instanceof Protobuf.Type || obj instanceof Protobuf.Enum;
}
function isNamespaceBase(obj) {
return obj instanceof Protobuf.Namespace || obj instanceof Protobuf.Root;
}
function getAllHandledReflectionObjects(obj, parentName) {
const objName = joinName(parentName, obj.name);
if (isHandledReflectionObject(obj)) {
return [[objName, obj]];
} else {
if (isNamespaceBase(obj) && typeof obj.nested !== "undefined") {
return Object.keys(obj.nested).map((name3) => {
return getAllHandledReflectionObjects(obj.nested[name3], objName);
}).reduce((accumulator, currentValue) => accumulator.concat(currentValue), []);
}
}
return [];
}
function createDeserializer(cls, options) {
return function deserialize(argBuf) {
return cls.toObject(cls.decode(argBuf), options);
};
}
function createSerializer(cls) {
return function serialize3(arg) {
if (Array.isArray(arg)) {
throw new Error(`Failed to serialize message: expected object with ${cls.name} structure, got array instead`);
}
const message = cls.fromObject(arg);
return cls.encode(message).finish();
};
}
function mapMethodOptions(options) {
return (options || []).reduce((obj, item) => {
for (const [key, value] of Object.entries(item)) {
switch (key) {
case "uninterpreted_option":
obj.uninterpreted_option.push(item.uninterpreted_option);
break;
default:
obj[key] = value;
}
}
return obj;
}, {
deprecated: false,
idempotency_level: IdempotencyLevel.IDEMPOTENCY_UNKNOWN,
uninterpreted_option: []
});
}
function createMethodDefinition(method, serviceName, options, fileDescriptors) {
const requestType = method.resolvedRequestType;
const responseType = method.resolvedResponseType;
return {
path: "/" + serviceName + "/" + method.name,
requestStream: !!method.requestStream,
responseStream: !!method.responseStream,
requestSerialize: createSerializer(requestType),
requestDeserialize: createDeserializer(requestType, options),
responseSerialize: createSerializer(responseType),
responseDeserialize: createDeserializer(responseType, options),
// TODO(murgatroid99): Find a better way to handle this
originalName: camelCase(method.name),
requestType: createMessageDefinition(requestType, options, fileDescriptors),
responseType: createMessageDefinition(responseType, options, fileDescriptors),
options: mapMethodOptions(method.parsedOptions)
};
}
function createServiceDefinition(service, name3, options, fileDescriptors) {
const def = {};
for (const method of service.methodsArray) {
def[method.name] = createMethodDefinition(method, name3, options, fileDescriptors);
}
return def;
}
function createMessageDefinition(message, options, fileDescriptors) {
const messageDescriptor = message.toDescriptor("proto3");
return {
format: "Protocol Buffer 3 DescriptorProto",
type: messageDescriptor.$type.toObject(messageDescriptor, descriptorOptions),
fileDescriptorProtos: fileDescriptors,
serialize: createSerializer(message),
deserialize: createDeserializer(message, options)
};
}
function createEnumDefinition(enumType, fileDescriptors) {
const enumDescriptor = enumType.toDescriptor("proto3");
return {
format: "Protocol Buffer 3 EnumDescriptorProto",
type: enumDescriptor.$type.toObject(enumDescriptor, descriptorOptions),
fileDescriptorProtos: fileDescriptors
};
}
function createDefinition(obj, name3, options, fileDescriptors) {
if (obj instanceof Protobuf.Service) {
return createServiceDefinition(obj, name3, options, fileDescriptors);
} else if (obj instanceof Protobuf.Type) {
return createMessageDefinition(obj, options, fileDescriptors);
} else if (obj instanceof Protobuf.Enum) {
return createEnumDefinition(obj, fileDescriptors);
} else {
throw new Error("Type mismatch in reflection object handling");
}
}
function createPackageDefinition(root, options) {
const def = {};
root.resolveAll();
const descriptorList = root.toDescriptor("proto3").file;
const bufferList = descriptorList.map((value) => Buffer.from(descriptor2.FileDescriptorProto.encode(value).finish()));
for (const [name3, obj] of getAllHandledReflectionObjects(root, "")) {
def[name3] = createDefinition(obj, name3, options, bufferList);
}
return def;
}
function createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options) {
options = options || {};
const root = Protobuf.Root.fromDescriptor(decodedDescriptorSet);
root.resolveAll();
return createPackageDefinition(root, options);
}
function load3(filename, options) {
return (0, util_1.loadProtosWithOptions)(filename, options).then((loadedRoot) => {
return createPackageDefinition(loadedRoot, options);
});
}
exports2.load = load3;
function loadSync(filename, options) {
const loadedRoot = (0, util_1.loadProtosWithOptionsSync)(filename, options);
return createPackageDefinition(loadedRoot, options);
}
exports2.loadSync = loadSync;
function fromJSON(json3, options) {
options = options || {};
const loadedRoot = Protobuf.Root.fromJSON(json3);
loadedRoot.resolveAll();
return createPackageDefinition(loadedRoot, options);
}
exports2.fromJSON = fromJSON;
function loadFileDescriptorSetFromBuffer(descriptorSet, options) {
const decodedDescriptorSet = descriptor2.FileDescriptorSet.decode(descriptorSet);
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options);
}
exports2.loadFileDescriptorSetFromBuffer = loadFileDescriptorSetFromBuffer;
function loadFileDescriptorSetFromObject(descriptorSet, options) {
const decodedDescriptorSet = descriptor2.FileDescriptorSet.fromObject(descriptorSet);
return createPackageDefinitionFromDescriptorSet(decodedDescriptorSet, options);
}
exports2.loadFileDescriptorSetFromObject = loadFileDescriptorSetFromObject;
(0, util_1.addCommonProtos)();
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/channelz.js
var require_channelz2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/channelz.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.registerChannelzSocket = exports2.registerChannelzServer = exports2.registerChannelzSubchannel = exports2.registerChannelzChannel = exports2.ChannelzCallTrackerStub = exports2.ChannelzCallTracker = exports2.ChannelzChildrenTrackerStub = exports2.ChannelzChildrenTracker = exports2.ChannelzTrace = exports2.ChannelzTraceStub = void 0;
exports2.unregisterChannelzRef = unregisterChannelzRef;
exports2.getChannelzHandlers = getChannelzHandlers;
exports2.getChannelzServiceDefinition = getChannelzServiceDefinition;
exports2.setup = setup;
var net_1 = __require("net");
var ordered_map_1 = require_cjs();
var connectivity_state_1 = require_connectivity_state2();
var constants_1 = require_constants10();
var subchannel_address_1 = require_subchannel_address2();
var admin_1 = require_admin2();
var make_client_1 = require_make_client2();
function channelRefToMessage(ref) {
return {
channel_id: ref.id,
name: ref.name
};
}
function subchannelRefToMessage(ref) {
return {
subchannel_id: ref.id,
name: ref.name
};
}
function serverRefToMessage(ref) {
return {
server_id: ref.id
};
}
function socketRefToMessage(ref) {
return {
socket_id: ref.id,
name: ref.name
};
}
var TARGET_RETAINED_TRACES = 32;
var DEFAULT_MAX_RESULTS = 100;
var ChannelzTraceStub = class {
constructor() {
this.events = [];
this.creationTimestamp = /* @__PURE__ */ new Date();
this.eventsLogged = 0;
}
addTrace() {
}
getTraceMessage() {
return {
creation_timestamp: dateToProtoTimestamp(this.creationTimestamp),
num_events_logged: this.eventsLogged,
events: []
};
}
};
exports2.ChannelzTraceStub = ChannelzTraceStub;
var ChannelzTrace = class {
constructor() {
this.events = [];
this.eventsLogged = 0;
this.creationTimestamp = /* @__PURE__ */ new Date();
}
addTrace(severity, description, child) {
const timestamp2 = /* @__PURE__ */ new Date();
this.events.push({
description,
severity,
timestamp: timestamp2,
childChannel: (child === null || child === void 0 ? void 0 : child.kind) === "channel" ? child : void 0,
childSubchannel: (child === null || child === void 0 ? void 0 : child.kind) === "subchannel" ? child : void 0
});
if (this.events.length >= TARGET_RETAINED_TRACES * 2) {
this.events = this.events.slice(TARGET_RETAINED_TRACES);
}
this.eventsLogged += 1;
}
getTraceMessage() {
return {
creation_timestamp: dateToProtoTimestamp(this.creationTimestamp),
num_events_logged: this.eventsLogged,
events: this.events.map((event) => {
return {
description: event.description,
severity: event.severity,
timestamp: dateToProtoTimestamp(event.timestamp),
channel_ref: event.childChannel ? channelRefToMessage(event.childChannel) : null,
subchannel_ref: event.childSubchannel ? subchannelRefToMessage(event.childSubchannel) : null
};
})
};
}
};
exports2.ChannelzTrace = ChannelzTrace;
var ChannelzChildrenTracker = class {
constructor() {
this.channelChildren = new ordered_map_1.OrderedMap();
this.subchannelChildren = new ordered_map_1.OrderedMap();
this.socketChildren = new ordered_map_1.OrderedMap();
this.trackerMap = {
[
"channel"
/* EntityTypes.channel */
]: this.channelChildren,
[
"subchannel"
/* EntityTypes.subchannel */
]: this.subchannelChildren,
[
"socket"
/* EntityTypes.socket */
]: this.socketChildren
};
}
refChild(child) {
const tracker = this.trackerMap[child.kind];
const trackedChild = tracker.find(child.id);
if (trackedChild.equals(tracker.end())) {
tracker.setElement(child.id, {
ref: child,
count: 1
}, trackedChild);
} else {
trackedChild.pointer[1].count += 1;
}
}
unrefChild(child) {
const tracker = this.trackerMap[child.kind];
const trackedChild = tracker.getElementByKey(child.id);
if (trackedChild !== void 0) {
trackedChild.count -= 1;
if (trackedChild.count === 0) {
tracker.eraseElementByKey(child.id);
}
}
}
getChildLists() {
return {
channels: this.channelChildren,
subchannels: this.subchannelChildren,
sockets: this.socketChildren
};
}
};
exports2.ChannelzChildrenTracker = ChannelzChildrenTracker;
var ChannelzChildrenTrackerStub = class extends ChannelzChildrenTracker {
refChild() {
}
unrefChild() {
}
};
exports2.ChannelzChildrenTrackerStub = ChannelzChildrenTrackerStub;
var ChannelzCallTracker = class {
constructor() {
this.callsStarted = 0;
this.callsSucceeded = 0;
this.callsFailed = 0;
this.lastCallStartedTimestamp = null;
}
addCallStarted() {
this.callsStarted += 1;
this.lastCallStartedTimestamp = /* @__PURE__ */ new Date();
}
addCallSucceeded() {
this.callsSucceeded += 1;
}
addCallFailed() {
this.callsFailed += 1;
}
};
exports2.ChannelzCallTracker = ChannelzCallTracker;
var ChannelzCallTrackerStub = class extends ChannelzCallTracker {
addCallStarted() {
}
addCallSucceeded() {
}
addCallFailed() {
}
};
exports2.ChannelzCallTrackerStub = ChannelzCallTrackerStub;
var entityMaps = {
[
"channel"
/* EntityTypes.channel */
]: new ordered_map_1.OrderedMap(),
[
"subchannel"
/* EntityTypes.subchannel */
]: new ordered_map_1.OrderedMap(),
[
"server"
/* EntityTypes.server */
]: new ordered_map_1.OrderedMap(),
[
"socket"
/* EntityTypes.socket */
]: new ordered_map_1.OrderedMap()
};
var generateRegisterFn = (kind) => {
let nextId = 1;
function getNextId() {
return nextId++;
}
const entityMap = entityMaps[kind];
return (name3, getInfo, channelzEnabled) => {
const id = getNextId();
const ref = { id, name: name3, kind };
if (channelzEnabled) {
entityMap.setElement(id, { ref, getInfo });
}
return ref;
};
};
exports2.registerChannelzChannel = generateRegisterFn(
"channel"
/* EntityTypes.channel */
);
exports2.registerChannelzSubchannel = generateRegisterFn(
"subchannel"
/* EntityTypes.subchannel */
);
exports2.registerChannelzServer = generateRegisterFn(
"server"
/* EntityTypes.server */
);
exports2.registerChannelzSocket = generateRegisterFn(
"socket"
/* EntityTypes.socket */
);
function unregisterChannelzRef(ref) {
entityMaps[ref.kind].eraseElementByKey(ref.id);
}
function parseIPv6Section(addressSection) {
const numberValue = Number.parseInt(addressSection, 16);
return [numberValue / 256 | 0, numberValue % 256];
}
function parseIPv6Chunk(addressChunk) {
if (addressChunk === "") {
return [];
}
const bytePairs = addressChunk.split(":").map((section) => parseIPv6Section(section));
const result2 = [];
return result2.concat(...bytePairs);
}
function isIPv6MappedIPv4(ipAddress) {
return (0, net_1.isIPv6)(ipAddress) && ipAddress.toLowerCase().startsWith("::ffff:") && (0, net_1.isIPv4)(ipAddress.substring(7));
}
function ipv4AddressStringToBuffer(ipAddress) {
return Buffer.from(Uint8Array.from(ipAddress.split(".").map((segment) => Number.parseInt(segment))));
}
function ipAddressStringToBuffer(ipAddress) {
if ((0, net_1.isIPv4)(ipAddress)) {
return ipv4AddressStringToBuffer(ipAddress);
} else if (isIPv6MappedIPv4(ipAddress)) {
return ipv4AddressStringToBuffer(ipAddress.substring(7));
} else if ((0, net_1.isIPv6)(ipAddress)) {
let leftSection;
let rightSection;
const doubleColonIndex = ipAddress.indexOf("::");
if (doubleColonIndex === -1) {
leftSection = ipAddress;
rightSection = "";
} else {
leftSection = ipAddress.substring(0, doubleColonIndex);
rightSection = ipAddress.substring(doubleColonIndex + 2);
}
const leftBuffer = Buffer.from(parseIPv6Chunk(leftSection));
const rightBuffer = Buffer.from(parseIPv6Chunk(rightSection));
const middleBuffer = Buffer.alloc(16 - leftBuffer.length - rightBuffer.length, 0);
return Buffer.concat([leftBuffer, middleBuffer, rightBuffer]);
} else {
return null;
}
}
function connectivityStateToMessage(state) {
switch (state) {
case connectivity_state_1.ConnectivityState.CONNECTING:
return {
state: "CONNECTING"
};
case connectivity_state_1.ConnectivityState.IDLE:
return {
state: "IDLE"
};
case connectivity_state_1.ConnectivityState.READY:
return {
state: "READY"
};
case connectivity_state_1.ConnectivityState.SHUTDOWN:
return {
state: "SHUTDOWN"
};
case connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE:
return {
state: "TRANSIENT_FAILURE"
};
default:
return {
state: "UNKNOWN"
};
}
}
function dateToProtoTimestamp(date5) {
if (!date5) {
return null;
}
const millisSinceEpoch = date5.getTime();
return {
seconds: millisSinceEpoch / 1e3 | 0,
nanos: millisSinceEpoch % 1e3 * 1e6
};
}
function getChannelMessage(channelEntry) {
const resolvedInfo = channelEntry.getInfo();
const channelRef = [];
const subchannelRef = [];
resolvedInfo.children.channels.forEach((el) => {
channelRef.push(channelRefToMessage(el[1].ref));
});
resolvedInfo.children.subchannels.forEach((el) => {
subchannelRef.push(subchannelRefToMessage(el[1].ref));
});
return {
ref: channelRefToMessage(channelEntry.ref),
data: {
target: resolvedInfo.target,
state: connectivityStateToMessage(resolvedInfo.state),
calls_started: resolvedInfo.callTracker.callsStarted,
calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
calls_failed: resolvedInfo.callTracker.callsFailed,
last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
trace: resolvedInfo.trace.getTraceMessage()
},
channel_ref: channelRef,
subchannel_ref: subchannelRef
};
}
function GetChannel(call, callback) {
const channelId = parseInt(call.request.channel_id, 10);
const channelEntry = entityMaps[
"channel"
/* EntityTypes.channel */
].getElementByKey(channelId);
if (channelEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No channel data found for id " + channelId
});
return;
}
callback(null, { channel: getChannelMessage(channelEntry) });
}
function GetTopChannels(call, callback) {
const maxResults = parseInt(call.request.max_results, 10) || DEFAULT_MAX_RESULTS;
const resultList = [];
const startId = parseInt(call.request.start_channel_id, 10);
const channelEntries = entityMaps[
"channel"
/* EntityTypes.channel */
];
let i3;
for (i3 = channelEntries.lowerBound(startId); !i3.equals(channelEntries.end()) && resultList.length < maxResults; i3 = i3.next()) {
resultList.push(getChannelMessage(i3.pointer[1]));
}
callback(null, {
channel: resultList,
end: i3.equals(channelEntries.end())
});
}
function getServerMessage(serverEntry) {
const resolvedInfo = serverEntry.getInfo();
const listenSocket = [];
resolvedInfo.listenerChildren.sockets.forEach((el) => {
listenSocket.push(socketRefToMessage(el[1].ref));
});
return {
ref: serverRefToMessage(serverEntry.ref),
data: {
calls_started: resolvedInfo.callTracker.callsStarted,
calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
calls_failed: resolvedInfo.callTracker.callsFailed,
last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
trace: resolvedInfo.trace.getTraceMessage()
},
listen_socket: listenSocket
};
}
function GetServer(call, callback) {
const serverId = parseInt(call.request.server_id, 10);
const serverEntries = entityMaps[
"server"
/* EntityTypes.server */
];
const serverEntry = serverEntries.getElementByKey(serverId);
if (serverEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No server data found for id " + serverId
});
return;
}
callback(null, { server: getServerMessage(serverEntry) });
}
function GetServers(call, callback) {
const maxResults = parseInt(call.request.max_results, 10) || DEFAULT_MAX_RESULTS;
const startId = parseInt(call.request.start_server_id, 10);
const serverEntries = entityMaps[
"server"
/* EntityTypes.server */
];
const resultList = [];
let i3;
for (i3 = serverEntries.lowerBound(startId); !i3.equals(serverEntries.end()) && resultList.length < maxResults; i3 = i3.next()) {
resultList.push(getServerMessage(i3.pointer[1]));
}
callback(null, {
server: resultList,
end: i3.equals(serverEntries.end())
});
}
function GetSubchannel(call, callback) {
const subchannelId = parseInt(call.request.subchannel_id, 10);
const subchannelEntry = entityMaps[
"subchannel"
/* EntityTypes.subchannel */
].getElementByKey(subchannelId);
if (subchannelEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No subchannel data found for id " + subchannelId
});
return;
}
const resolvedInfo = subchannelEntry.getInfo();
const listenSocket = [];
resolvedInfo.children.sockets.forEach((el) => {
listenSocket.push(socketRefToMessage(el[1].ref));
});
const subchannelMessage = {
ref: subchannelRefToMessage(subchannelEntry.ref),
data: {
target: resolvedInfo.target,
state: connectivityStateToMessage(resolvedInfo.state),
calls_started: resolvedInfo.callTracker.callsStarted,
calls_succeeded: resolvedInfo.callTracker.callsSucceeded,
calls_failed: resolvedInfo.callTracker.callsFailed,
last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp),
trace: resolvedInfo.trace.getTraceMessage()
},
socket_ref: listenSocket
};
callback(null, { subchannel: subchannelMessage });
}
function subchannelAddressToAddressMessage(subchannelAddress) {
var _a4;
if ((0, subchannel_address_1.isTcpSubchannelAddress)(subchannelAddress)) {
return {
address: "tcpip_address",
tcpip_address: {
ip_address: (_a4 = ipAddressStringToBuffer(subchannelAddress.host)) !== null && _a4 !== void 0 ? _a4 : void 0,
port: subchannelAddress.port
}
};
} else {
return {
address: "uds_address",
uds_address: {
filename: subchannelAddress.path
}
};
}
}
function GetSocket(call, callback) {
var _a4, _b, _c, _d, _e;
const socketId = parseInt(call.request.socket_id, 10);
const socketEntry = entityMaps[
"socket"
/* EntityTypes.socket */
].getElementByKey(socketId);
if (socketEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No socket data found for id " + socketId
});
return;
}
const resolvedInfo = socketEntry.getInfo();
const securityMessage = resolvedInfo.security ? {
model: "tls",
tls: {
cipher_suite: resolvedInfo.security.cipherSuiteStandardName ? "standard_name" : "other_name",
standard_name: (_a4 = resolvedInfo.security.cipherSuiteStandardName) !== null && _a4 !== void 0 ? _a4 : void 0,
other_name: (_b = resolvedInfo.security.cipherSuiteOtherName) !== null && _b !== void 0 ? _b : void 0,
local_certificate: (_c = resolvedInfo.security.localCertificate) !== null && _c !== void 0 ? _c : void 0,
remote_certificate: (_d = resolvedInfo.security.remoteCertificate) !== null && _d !== void 0 ? _d : void 0
}
} : null;
const socketMessage = {
ref: socketRefToMessage(socketEntry.ref),
local: resolvedInfo.localAddress ? subchannelAddressToAddressMessage(resolvedInfo.localAddress) : null,
remote: resolvedInfo.remoteAddress ? subchannelAddressToAddressMessage(resolvedInfo.remoteAddress) : null,
remote_name: (_e = resolvedInfo.remoteName) !== null && _e !== void 0 ? _e : void 0,
security: securityMessage,
data: {
keep_alives_sent: resolvedInfo.keepAlivesSent,
streams_started: resolvedInfo.streamsStarted,
streams_succeeded: resolvedInfo.streamsSucceeded,
streams_failed: resolvedInfo.streamsFailed,
last_local_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastLocalStreamCreatedTimestamp),
last_remote_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastRemoteStreamCreatedTimestamp),
messages_received: resolvedInfo.messagesReceived,
messages_sent: resolvedInfo.messagesSent,
last_message_received_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageReceivedTimestamp),
last_message_sent_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageSentTimestamp),
local_flow_control_window: resolvedInfo.localFlowControlWindow ? { value: resolvedInfo.localFlowControlWindow } : null,
remote_flow_control_window: resolvedInfo.remoteFlowControlWindow ? { value: resolvedInfo.remoteFlowControlWindow } : null
}
};
callback(null, { socket: socketMessage });
}
function GetServerSockets(call, callback) {
const serverId = parseInt(call.request.server_id, 10);
const serverEntry = entityMaps[
"server"
/* EntityTypes.server */
].getElementByKey(serverId);
if (serverEntry === void 0) {
callback({
code: constants_1.Status.NOT_FOUND,
details: "No server data found for id " + serverId
});
return;
}
const startId = parseInt(call.request.start_socket_id, 10);
const maxResults = parseInt(call.request.max_results, 10) || DEFAULT_MAX_RESULTS;
const resolvedInfo = serverEntry.getInfo();
const allSockets = resolvedInfo.sessionChildren.sockets;
const resultList = [];
let i3;
for (i3 = allSockets.lowerBound(startId); !i3.equals(allSockets.end()) && resultList.length < maxResults; i3 = i3.next()) {
resultList.push(socketRefToMessage(i3.pointer[1].ref));
}
callback(null, {
socket_ref: resultList,
end: i3.equals(allSockets.end())
});
}
function getChannelzHandlers() {
return {
GetChannel,
GetTopChannels,
GetServer,
GetServers,
GetSubchannel,
GetSocket,
GetServerSockets
};
}
var loadedChannelzDefinition = null;
function getChannelzServiceDefinition() {
if (loadedChannelzDefinition) {
return loadedChannelzDefinition;
}
const loaderLoadSync = require_src54().loadSync;
const loadedProto = loaderLoadSync("channelz.proto", {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
includeDirs: [`${__chunk_dirname}/../../proto`]
});
const channelzGrpcObject = (0, make_client_1.loadPackageDefinition)(loadedProto);
loadedChannelzDefinition = channelzGrpcObject.grpc.channelz.v1.Channelz.service;
return loadedChannelzDefinition;
}
function setup() {
(0, admin_1.registerAdminService)(getChannelzServiceDefinition, getChannelzHandlers);
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/call-number.js
var require_call_number2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/call-number.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getNextCallNumber = getNextCallNumber;
var nextCallNumber = 0;
function getNextCallNumber() {
return nextCallNumber++;
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js
var require_compression_algorithms2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/compression-algorithms.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CompressionAlgorithms = void 0;
var CompressionAlgorithms;
(function(CompressionAlgorithms2) {
CompressionAlgorithms2[CompressionAlgorithms2["identity"] = 0] = "identity";
CompressionAlgorithms2[CompressionAlgorithms2["deflate"] = 1] = "deflate";
CompressionAlgorithms2[CompressionAlgorithms2["gzip"] = 2] = "gzip";
})(CompressionAlgorithms || (exports2.CompressionAlgorithms = CompressionAlgorithms = {}));
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/filter.js
var require_filter2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/filter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BaseFilter = void 0;
var BaseFilter = class {
async sendMetadata(metadata2) {
return metadata2;
}
receiveMetadata(metadata2) {
return metadata2;
}
async sendMessage(message) {
return message;
}
async receiveMessage(message) {
return message;
}
receiveTrailers(status2) {
return status2;
}
};
exports2.BaseFilter = BaseFilter;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/compression-filter.js
var require_compression_filter2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/compression-filter.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.CompressionFilterFactory = exports2.CompressionFilter = void 0;
var zlib2 = __require("zlib");
var compression_algorithms_1 = require_compression_algorithms2();
var constants_1 = require_constants10();
var filter_1 = require_filter2();
var logging = require_logging2();
var isCompressionAlgorithmKey = (key) => {
return typeof key === "number" && typeof compression_algorithms_1.CompressionAlgorithms[key] === "string";
};
var CompressionHandler = class {
/**
* @param message Raw uncompressed message bytes
* @param compress Indicates whether the message should be compressed
* @return Framed message, compressed if applicable
*/
async writeMessage(message, compress) {
let messageBuffer = message;
if (compress) {
messageBuffer = await this.compressMessage(messageBuffer);
}
const output = Buffer.allocUnsafe(messageBuffer.length + 5);
output.writeUInt8(compress ? 1 : 0, 0);
output.writeUInt32BE(messageBuffer.length, 1);
messageBuffer.copy(output, 5);
return output;
}
/**
* @param data Framed message, possibly compressed
* @return Uncompressed message
*/
async readMessage(data) {
const compressed = data.readUInt8(0) === 1;
let messageBuffer = data.slice(5);
if (compressed) {
messageBuffer = await this.decompressMessage(messageBuffer);
}
return messageBuffer;
}
};
var IdentityHandler = class extends CompressionHandler {
async compressMessage(message) {
return message;
}
async writeMessage(message, compress) {
const output = Buffer.allocUnsafe(message.length + 5);
output.writeUInt8(0, 0);
output.writeUInt32BE(message.length, 1);
message.copy(output, 5);
return output;
}
decompressMessage(message) {
return Promise.reject(new Error('Received compressed message but "grpc-encoding" header was identity'));
}
};
var DeflateHandler = class extends CompressionHandler {
constructor(maxRecvMessageLength) {
super();
this.maxRecvMessageLength = maxRecvMessageLength;
}
compressMessage(message) {
return new Promise((resolve25, reject) => {
zlib2.deflate(message, (err2, output) => {
if (err2) {
reject(err2);
} else {
resolve25(output);
}
});
});
}
decompressMessage(message) {
return new Promise((resolve25, reject) => {
let totalLength = 0;
const messageParts = [];
const decompresser = zlib2.createInflate();
decompresser.on("data", (chunk) => {
messageParts.push(chunk);
totalLength += chunk.byteLength;
if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) {
decompresser.destroy();
reject({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`
});
}
});
decompresser.on("end", () => {
resolve25(Buffer.concat(messageParts));
});
decompresser.write(message);
decompresser.end();
});
}
};
var GzipHandler = class extends CompressionHandler {
constructor(maxRecvMessageLength) {
super();
this.maxRecvMessageLength = maxRecvMessageLength;
}
compressMessage(message) {
return new Promise((resolve25, reject) => {
zlib2.gzip(message, (err2, output) => {
if (err2) {
reject(err2);
} else {
resolve25(output);
}
});
});
}
decompressMessage(message) {
return new Promise((resolve25, reject) => {
let totalLength = 0;
const messageParts = [];
const decompresser = zlib2.createGunzip();
decompresser.on("data", (chunk) => {
messageParts.push(chunk);
totalLength += chunk.byteLength;
if (this.maxRecvMessageLength !== -1 && totalLength > this.maxRecvMessageLength) {
decompresser.destroy();
reject({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`
});
}
});
decompresser.on("end", () => {
resolve25(Buffer.concat(messageParts));
});
decompresser.write(message);
decompresser.end();
});
}
};
var UnknownHandler = class extends CompressionHandler {
constructor(compressionName) {
super();
this.compressionName = compressionName;
}
compressMessage(message) {
return Promise.reject(new Error(`Received message compressed with unsupported compression method ${this.compressionName}`));
}
decompressMessage(message) {
return Promise.reject(new Error(`Compression method not supported: ${this.compressionName}`));
}
};
function getCompressionHandler(compressionName, maxReceiveMessageSize) {
switch (compressionName) {
case "identity":
return new IdentityHandler();
case "deflate":
return new DeflateHandler(maxReceiveMessageSize);
case "gzip":
return new GzipHandler(maxReceiveMessageSize);
default:
return new UnknownHandler(compressionName);
}
}
var CompressionFilter = class extends filter_1.BaseFilter {
constructor(channelOptions, sharedFilterConfig) {
var _a4, _b, _c;
super();
this.sharedFilterConfig = sharedFilterConfig;
this.sendCompression = new IdentityHandler();
this.receiveCompression = new IdentityHandler();
this.currentCompressionAlgorithm = "identity";
const compressionAlgorithmKey = channelOptions["grpc.default_compression_algorithm"];
this.maxReceiveMessageLength = (_a4 = channelOptions["grpc.max_receive_message_length"]) !== null && _a4 !== void 0 ? _a4 : constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
this.maxSendMessageLength = (_b = channelOptions["grpc.max_send_message_length"]) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_MAX_SEND_MESSAGE_LENGTH;
if (compressionAlgorithmKey !== void 0) {
if (isCompressionAlgorithmKey(compressionAlgorithmKey)) {
const clientSelectedEncoding = compression_algorithms_1.CompressionAlgorithms[compressionAlgorithmKey];
const serverSupportedEncodings = (_c = sharedFilterConfig.serverSupportedEncodingHeader) === null || _c === void 0 ? void 0 : _c.split(",");
if (!serverSupportedEncodings || serverSupportedEncodings.includes(clientSelectedEncoding)) {
this.currentCompressionAlgorithm = clientSelectedEncoding;
this.sendCompression = getCompressionHandler(this.currentCompressionAlgorithm, -1);
}
} else {
logging.log(constants_1.LogVerbosity.ERROR, `Invalid value provided for grpc.default_compression_algorithm option: ${compressionAlgorithmKey}`);
}
}
}
async sendMetadata(metadata2) {
const headers = await metadata2;
headers.set("grpc-accept-encoding", "identity,deflate,gzip");
headers.set("accept-encoding", "identity");
if (this.currentCompressionAlgorithm === "identity") {
headers.remove("grpc-encoding");
} else {
headers.set("grpc-encoding", this.currentCompressionAlgorithm);
}
return headers;
}
receiveMetadata(metadata2) {
const receiveEncoding = metadata2.get("grpc-encoding");
if (receiveEncoding.length > 0) {
const encoding = receiveEncoding[0];
if (typeof encoding === "string") {
this.receiveCompression = getCompressionHandler(encoding, this.maxReceiveMessageLength);
}
}
metadata2.remove("grpc-encoding");
const serverSupportedEncodingsHeader = metadata2.get("grpc-accept-encoding")[0];
if (serverSupportedEncodingsHeader) {
this.sharedFilterConfig.serverSupportedEncodingHeader = serverSupportedEncodingsHeader;
const serverSupportedEncodings = serverSupportedEncodingsHeader.split(",");
if (!serverSupportedEncodings.includes(this.currentCompressionAlgorithm)) {
this.sendCompression = new IdentityHandler();
this.currentCompressionAlgorithm = "identity";
}
}
metadata2.remove("grpc-accept-encoding");
return metadata2;
}
async sendMessage(message) {
var _a4;
const resolvedMessage = await message;
if (this.maxSendMessageLength !== -1 && resolvedMessage.message.length > this.maxSendMessageLength) {
throw {
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Attempted to send message with a size larger than ${this.maxSendMessageLength}`
};
}
let compress;
if (this.sendCompression instanceof IdentityHandler) {
compress = false;
} else {
compress = (((_a4 = resolvedMessage.flags) !== null && _a4 !== void 0 ? _a4 : 0) & 2) === 0;
}
return {
message: await this.sendCompression.writeMessage(resolvedMessage.message, compress),
flags: resolvedMessage.flags
};
}
async receiveMessage(message) {
return this.receiveCompression.readMessage(await message);
}
};
exports2.CompressionFilter = CompressionFilter;
var CompressionFilterFactory = class {
constructor(channel, options) {
this.options = options;
this.sharedFilterConfig = {};
}
createFilter() {
return new CompressionFilter(this.options, this.sharedFilterConfig);
}
};
exports2.CompressionFilterFactory = CompressionFilterFactory;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/control-plane-status.js
var require_control_plane_status2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/control-plane-status.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.restrictControlPlaneStatusCode = restrictControlPlaneStatusCode;
var constants_1 = require_constants10();
var INAPPROPRIATE_CONTROL_PLANE_CODES = [
constants_1.Status.OK,
constants_1.Status.INVALID_ARGUMENT,
constants_1.Status.NOT_FOUND,
constants_1.Status.ALREADY_EXISTS,
constants_1.Status.FAILED_PRECONDITION,
constants_1.Status.ABORTED,
constants_1.Status.OUT_OF_RANGE,
constants_1.Status.DATA_LOSS
];
function restrictControlPlaneStatusCode(code, details) {
if (INAPPROPRIATE_CONTROL_PLANE_CODES.includes(code)) {
return {
code: constants_1.Status.INTERNAL,
details: `Invalid status from control plane: ${code} ${constants_1.Status[code]} ${details}`
};
} else {
return { code, details };
}
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/deadline.js
var require_deadline2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/deadline.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.minDeadline = minDeadline;
exports2.getDeadlineTimeoutString = getDeadlineTimeoutString;
exports2.getRelativeTimeout = getRelativeTimeout;
exports2.deadlineToString = deadlineToString;
exports2.formatDateDifference = formatDateDifference;
function minDeadline(...deadlineList) {
let minValue = Infinity;
for (const deadline of deadlineList) {
const deadlineMsecs = deadline instanceof Date ? deadline.getTime() : deadline;
if (deadlineMsecs < minValue) {
minValue = deadlineMsecs;
}
}
return minValue;
}
var units = [
["m", 1],
["S", 1e3],
["M", 60 * 1e3],
["H", 60 * 60 * 1e3]
];
function getDeadlineTimeoutString(deadline) {
const now = (/* @__PURE__ */ new Date()).getTime();
if (deadline instanceof Date) {
deadline = deadline.getTime();
}
const timeoutMs = Math.max(deadline - now, 0);
for (const [unit, factor] of units) {
const amount = timeoutMs / factor;
if (amount < 1e8) {
return String(Math.ceil(amount)) + unit;
}
}
throw new Error("Deadline is too far in the future");
}
var MAX_TIMEOUT_TIME = 2147483647;
function getRelativeTimeout(deadline) {
const deadlineMs = deadline instanceof Date ? deadline.getTime() : deadline;
const now = (/* @__PURE__ */ new Date()).getTime();
const timeout = deadlineMs - now;
if (timeout < 0) {
return 0;
} else if (timeout > MAX_TIMEOUT_TIME) {
return Infinity;
} else {
return timeout;
}
}
function deadlineToString(deadline) {
if (deadline instanceof Date) {
return deadline.toISOString();
} else {
const dateDeadline = new Date(deadline);
if (Number.isNaN(dateDeadline.getTime())) {
return "" + deadline;
} else {
return dateDeadline.toISOString();
}
}
}
function formatDateDifference(startDate, endDate) {
return ((endDate.getTime() - startDate.getTime()) / 1e3).toFixed(3) + "s";
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/filter-stack.js
var require_filter_stack2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/filter-stack.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.FilterStackFactory = exports2.FilterStack = void 0;
var FilterStack = class {
constructor(filters) {
this.filters = filters;
}
sendMetadata(metadata2) {
let result2 = metadata2;
for (let i3 = 0; i3 < this.filters.length; i3++) {
result2 = this.filters[i3].sendMetadata(result2);
}
return result2;
}
receiveMetadata(metadata2) {
let result2 = metadata2;
for (let i3 = this.filters.length - 1; i3 >= 0; i3--) {
result2 = this.filters[i3].receiveMetadata(result2);
}
return result2;
}
sendMessage(message) {
let result2 = message;
for (let i3 = 0; i3 < this.filters.length; i3++) {
result2 = this.filters[i3].sendMessage(result2);
}
return result2;
}
receiveMessage(message) {
let result2 = message;
for (let i3 = this.filters.length - 1; i3 >= 0; i3--) {
result2 = this.filters[i3].receiveMessage(result2);
}
return result2;
}
receiveTrailers(status2) {
let result2 = status2;
for (let i3 = this.filters.length - 1; i3 >= 0; i3--) {
result2 = this.filters[i3].receiveTrailers(result2);
}
return result2;
}
push(filters) {
this.filters.unshift(...filters);
}
getFilters() {
return this.filters;
}
};
exports2.FilterStack = FilterStack;
var FilterStackFactory = class _FilterStackFactory {
constructor(factories) {
this.factories = factories;
}
push(filterFactories) {
this.factories.unshift(...filterFactories);
}
clone() {
return new _FilterStackFactory([...this.factories]);
}
createFilter() {
return new FilterStack(this.factories.map((factory) => factory.createFilter()));
}
};
exports2.FilterStackFactory = FilterStackFactory;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/single-subchannel-channel.js
var require_single_subchannel_channel = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/single-subchannel-channel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SingleSubchannelChannel = void 0;
var call_number_1 = require_call_number2();
var channelz_1 = require_channelz2();
var compression_filter_1 = require_compression_filter2();
var connectivity_state_1 = require_connectivity_state2();
var constants_1 = require_constants10();
var control_plane_status_1 = require_control_plane_status2();
var deadline_1 = require_deadline2();
var filter_stack_1 = require_filter_stack2();
var metadata_1 = require_metadata4();
var resolver_1 = require_resolver2();
var uri_parser_1 = require_uri_parser2();
var SubchannelCallWrapper = class {
constructor(subchannel, method, filterStackFactory, options, callNumber) {
var _a4, _b;
this.subchannel = subchannel;
this.method = method;
this.options = options;
this.callNumber = callNumber;
this.childCall = null;
this.pendingMessage = null;
this.readPending = false;
this.halfClosePending = false;
this.pendingStatus = null;
this.readFilterPending = false;
this.writeFilterPending = false;
const splitPath = this.method.split("/");
let serviceName = "";
if (splitPath.length >= 2) {
serviceName = splitPath[1];
}
const hostname3 = (_b = (_a4 = (0, uri_parser_1.splitHostPort)(this.options.host)) === null || _a4 === void 0 ? void 0 : _a4.host) !== null && _b !== void 0 ? _b : "localhost";
this.serviceUrl = `https://${hostname3}/${serviceName}`;
const timeout = (0, deadline_1.getRelativeTimeout)(options.deadline);
if (timeout !== Infinity) {
if (timeout <= 0) {
this.cancelWithStatus(constants_1.Status.DEADLINE_EXCEEDED, "Deadline exceeded");
} else {
setTimeout(() => {
this.cancelWithStatus(constants_1.Status.DEADLINE_EXCEEDED, "Deadline exceeded");
}, timeout);
}
}
this.filterStack = filterStackFactory.createFilter();
}
cancelWithStatus(status2, details) {
if (this.childCall) {
this.childCall.cancelWithStatus(status2, details);
} else {
this.pendingStatus = {
code: status2,
details,
metadata: new metadata_1.Metadata()
};
}
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.childCall) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : this.subchannel.getAddress();
}
async start(metadata2, listener) {
if (this.pendingStatus) {
listener.onReceiveStatus(this.pendingStatus);
return;
}
if (this.subchannel.getConnectivityState() !== connectivity_state_1.ConnectivityState.READY) {
listener.onReceiveStatus({
code: constants_1.Status.UNAVAILABLE,
details: "Subchannel not ready",
metadata: new metadata_1.Metadata()
});
return;
}
const filteredMetadata = await this.filterStack.sendMetadata(Promise.resolve(metadata2));
let credsMetadata;
try {
credsMetadata = await this.subchannel.getCallCredentials().generateMetadata({ method_name: this.method, service_url: this.serviceUrl });
} catch (e2) {
const error40 = e2;
const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(typeof error40.code === "number" ? error40.code : constants_1.Status.UNKNOWN, `Getting metadata from plugin failed with error: ${error40.message}`);
listener.onReceiveStatus({
code,
details,
metadata: new metadata_1.Metadata()
});
return;
}
credsMetadata.merge(filteredMetadata);
const childListener = {
onReceiveMetadata: async (metadata3) => {
listener.onReceiveMetadata(await this.filterStack.receiveMetadata(metadata3));
},
onReceiveMessage: async (message) => {
this.readFilterPending = true;
const filteredMessage = await this.filterStack.receiveMessage(message);
this.readFilterPending = false;
listener.onReceiveMessage(filteredMessage);
if (this.pendingStatus) {
listener.onReceiveStatus(this.pendingStatus);
}
},
onReceiveStatus: async (status2) => {
const filteredStatus = await this.filterStack.receiveTrailers(status2);
if (this.readFilterPending) {
this.pendingStatus = filteredStatus;
} else {
listener.onReceiveStatus(filteredStatus);
}
}
};
this.childCall = this.subchannel.createCall(credsMetadata, this.options.host, this.method, childListener);
if (this.readPending) {
this.childCall.startRead();
}
if (this.pendingMessage) {
this.childCall.sendMessageWithContext(this.pendingMessage.context, this.pendingMessage.message);
}
if (this.halfClosePending && !this.writeFilterPending) {
this.childCall.halfClose();
}
}
async sendMessageWithContext(context2, message) {
this.writeFilterPending = true;
const filteredMessage = await this.filterStack.sendMessage(Promise.resolve({ message, flags: context2.flags }));
this.writeFilterPending = false;
if (this.childCall) {
this.childCall.sendMessageWithContext(context2, filteredMessage.message);
if (this.halfClosePending) {
this.childCall.halfClose();
}
} else {
this.pendingMessage = { context: context2, message: filteredMessage.message };
}
}
startRead() {
if (this.childCall) {
this.childCall.startRead();
} else {
this.readPending = true;
}
}
halfClose() {
if (this.childCall && !this.writeFilterPending) {
this.childCall.halfClose();
} else {
this.halfClosePending = true;
}
}
getCallNumber() {
return this.callNumber;
}
setCredentials(credentials3) {
throw new Error("Method not implemented.");
}
getAuthContext() {
if (this.childCall) {
return this.childCall.getAuthContext();
} else {
return null;
}
}
};
var SingleSubchannelChannel = class {
constructor(subchannel, target, options) {
this.subchannel = subchannel;
this.target = target;
this.channelzEnabled = false;
this.channelzTrace = new channelz_1.ChannelzTrace();
this.callTracker = new channelz_1.ChannelzCallTracker();
this.childrenTracker = new channelz_1.ChannelzChildrenTracker();
this.channelzEnabled = options["grpc.enable_channelz"] !== 0;
this.channelzRef = (0, channelz_1.registerChannelzChannel)((0, uri_parser_1.uriToString)(target), () => ({
target: `${(0, uri_parser_1.uriToString)(target)} (${subchannel.getAddress()})`,
state: this.subchannel.getConnectivityState(),
trace: this.channelzTrace,
callTracker: this.callTracker,
children: this.childrenTracker.getChildLists()
}), this.channelzEnabled);
if (this.channelzEnabled) {
this.childrenTracker.refChild(subchannel.getChannelzRef());
}
this.filterStackFactory = new filter_stack_1.FilterStackFactory([new compression_filter_1.CompressionFilterFactory(this, options)]);
}
close() {
if (this.channelzEnabled) {
this.childrenTracker.unrefChild(this.subchannel.getChannelzRef());
}
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
}
getTarget() {
return (0, uri_parser_1.uriToString)(this.target);
}
getConnectivityState(tryToConnect) {
throw new Error("Method not implemented.");
}
watchConnectivityState(currentState, deadline, callback) {
throw new Error("Method not implemented.");
}
getChannelzRef() {
return this.channelzRef;
}
createCall(method, deadline) {
const callOptions = {
deadline,
host: (0, resolver_1.getDefaultAuthority)(this.target),
flags: constants_1.Propagate.DEFAULTS,
parentCall: null
};
return new SubchannelCallWrapper(this.subchannel, method, this.filterStackFactory, callOptions, (0, call_number_1.getNextCallNumber)());
}
};
exports2.SingleSubchannelChannel = SingleSubchannelChannel;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/subchannel.js
var require_subchannel2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/subchannel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Subchannel = void 0;
var connectivity_state_1 = require_connectivity_state2();
var backoff_timeout_1 = require_backoff_timeout2();
var logging = require_logging2();
var constants_1 = require_constants10();
var uri_parser_1 = require_uri_parser2();
var subchannel_address_1 = require_subchannel_address2();
var channelz_1 = require_channelz2();
var single_subchannel_channel_1 = require_single_subchannel_channel();
var TRACER_NAME2 = "subchannel";
var KEEPALIVE_MAX_TIME_MS = ~(1 << 31);
var Subchannel = class {
/**
* A class representing a connection to a single backend.
* @param channelTarget The target string for the channel as a whole
* @param subchannelAddress The address for the backend that this subchannel
* will connect to
* @param options The channel options, plus any specific subchannel options
* for this subchannel
* @param credentials The channel credentials used to establish this
* connection
*/
constructor(channelTarget, subchannelAddress, options, credentials3, connector) {
var _a4;
this.channelTarget = channelTarget;
this.subchannelAddress = subchannelAddress;
this.options = options;
this.connector = connector;
this.connectivityState = connectivity_state_1.ConnectivityState.IDLE;
this.transport = null;
this.continueConnecting = false;
this.stateListeners = /* @__PURE__ */ new Set();
this.refcount = 0;
this.channelzEnabled = true;
this.dataProducers = /* @__PURE__ */ new Map();
this.subchannelChannel = null;
const backoffOptions = {
initialDelay: options["grpc.initial_reconnect_backoff_ms"],
maxDelay: options["grpc.max_reconnect_backoff_ms"]
};
this.backoffTimeout = new backoff_timeout_1.BackoffTimeout(() => {
this.handleBackoffTimer();
}, backoffOptions);
this.backoffTimeout.unref();
this.subchannelAddressString = (0, subchannel_address_1.subchannelAddressToString)(subchannelAddress);
this.keepaliveTime = (_a4 = options["grpc.keepalive_time_ms"]) !== null && _a4 !== void 0 ? _a4 : -1;
if (options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
this.channelzTrace = new channelz_1.ChannelzTraceStub();
this.callTracker = new channelz_1.ChannelzCallTrackerStub();
this.childrenTracker = new channelz_1.ChannelzChildrenTrackerStub();
this.streamTracker = new channelz_1.ChannelzCallTrackerStub();
} else {
this.channelzTrace = new channelz_1.ChannelzTrace();
this.callTracker = new channelz_1.ChannelzCallTracker();
this.childrenTracker = new channelz_1.ChannelzChildrenTracker();
this.streamTracker = new channelz_1.ChannelzCallTracker();
}
this.channelzRef = (0, channelz_1.registerChannelzSubchannel)(this.subchannelAddressString, () => this.getChannelzInfo(), this.channelzEnabled);
this.channelzTrace.addTrace("CT_INFO", "Subchannel created");
this.trace("Subchannel constructed with options " + JSON.stringify(options, void 0, 2));
this.secureConnector = credentials3._createSecureConnector(channelTarget, options);
}
getChannelzInfo() {
return {
state: this.connectivityState,
trace: this.channelzTrace,
callTracker: this.callTracker,
children: this.childrenTracker.getChildLists(),
target: this.subchannelAddressString
};
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
refTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "subchannel_refcount", "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
handleBackoffTimer() {
if (this.continueConnecting) {
this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.CONNECTING);
} else {
this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.IDLE);
}
}
/**
* Start a backoff timer with the current nextBackoff timeout
*/
startBackoff() {
this.backoffTimeout.runOnce();
}
stopBackoff() {
this.backoffTimeout.stop();
this.backoffTimeout.reset();
}
startConnectingInternal() {
let options = this.options;
if (options["grpc.keepalive_time_ms"]) {
const adjustedKeepaliveTime = Math.min(this.keepaliveTime, KEEPALIVE_MAX_TIME_MS);
options = Object.assign(Object.assign({}, options), { "grpc.keepalive_time_ms": adjustedKeepaliveTime });
}
this.connector.connect(this.subchannelAddress, this.secureConnector, options).then((transport) => {
if (this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING], connectivity_state_1.ConnectivityState.READY)) {
this.transport = transport;
if (this.channelzEnabled) {
this.childrenTracker.refChild(transport.getChannelzRef());
}
transport.addDisconnectListener((tooManyPings) => {
this.transitionToState([connectivity_state_1.ConnectivityState.READY], connectivity_state_1.ConnectivityState.IDLE);
if (tooManyPings && this.keepaliveTime > 0) {
this.keepaliveTime *= 2;
logging.log(constants_1.LogVerbosity.ERROR, `Connection to ${(0, uri_parser_1.uriToString)(this.channelTarget)} at ${this.subchannelAddressString} rejected by server because of excess pings. Increasing ping interval to ${this.keepaliveTime} ms`);
}
});
} else {
transport.shutdown();
}
}, (error40) => {
this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING], connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE, `${error40}`);
});
}
/**
* Initiate a state transition from any element of oldStates to the new
* state. If the current connectivityState is not in oldStates, do nothing.
* @param oldStates The set of states to transition from
* @param newState The state to transition to
* @returns True if the state changed, false otherwise
*/
transitionToState(oldStates, newState, errorMessage) {
var _a4, _b;
if (oldStates.indexOf(this.connectivityState) === -1) {
return false;
}
if (errorMessage) {
this.trace(connectivity_state_1.ConnectivityState[this.connectivityState] + " -> " + connectivity_state_1.ConnectivityState[newState] + ' with error "' + errorMessage + '"');
} else {
this.trace(connectivity_state_1.ConnectivityState[this.connectivityState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
}
if (this.channelzEnabled) {
this.channelzTrace.addTrace("CT_INFO", "Connectivity state change to " + connectivity_state_1.ConnectivityState[newState]);
}
const previousState = this.connectivityState;
this.connectivityState = newState;
switch (newState) {
case connectivity_state_1.ConnectivityState.READY:
this.stopBackoff();
break;
case connectivity_state_1.ConnectivityState.CONNECTING:
this.startBackoff();
this.startConnectingInternal();
this.continueConnecting = false;
break;
case connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE:
if (this.channelzEnabled && this.transport) {
this.childrenTracker.unrefChild(this.transport.getChannelzRef());
}
(_a4 = this.transport) === null || _a4 === void 0 ? void 0 : _a4.shutdown();
this.transport = null;
if (!this.backoffTimeout.isRunning()) {
process.nextTick(() => {
this.handleBackoffTimer();
});
}
break;
case connectivity_state_1.ConnectivityState.IDLE:
if (this.channelzEnabled && this.transport) {
this.childrenTracker.unrefChild(this.transport.getChannelzRef());
}
(_b = this.transport) === null || _b === void 0 ? void 0 : _b.shutdown();
this.transport = null;
break;
default:
throw new Error(`Invalid state: unknown ConnectivityState ${newState}`);
}
for (const listener of this.stateListeners) {
listener(this, previousState, newState, this.keepaliveTime, errorMessage);
}
return true;
}
ref() {
this.refTrace("refcount " + this.refcount + " -> " + (this.refcount + 1));
this.refcount += 1;
}
unref() {
this.refTrace("refcount " + this.refcount + " -> " + (this.refcount - 1));
this.refcount -= 1;
if (this.refcount === 0) {
this.channelzTrace.addTrace("CT_INFO", "Shutting down");
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
this.secureConnector.destroy();
process.nextTick(() => {
this.transitionToState([connectivity_state_1.ConnectivityState.CONNECTING, connectivity_state_1.ConnectivityState.READY], connectivity_state_1.ConnectivityState.IDLE);
});
}
}
unrefIfOneRef() {
if (this.refcount === 1) {
this.unref();
return true;
}
return false;
}
createCall(metadata2, host, method, listener) {
if (!this.transport) {
throw new Error("Cannot create call, subchannel not READY");
}
let statsTracker;
if (this.channelzEnabled) {
this.callTracker.addCallStarted();
this.streamTracker.addCallStarted();
statsTracker = {
onCallEnd: (status2) => {
if (status2.code === constants_1.Status.OK) {
this.callTracker.addCallSucceeded();
} else {
this.callTracker.addCallFailed();
}
}
};
} else {
statsTracker = {};
}
return this.transport.createCall(metadata2, host, method, listener, statsTracker);
}
/**
* If the subchannel is currently IDLE, start connecting and switch to the
* CONNECTING state. If the subchannel is current in TRANSIENT_FAILURE,
* the next time it would transition to IDLE, start connecting again instead.
* Otherwise, do nothing.
*/
startConnecting() {
process.nextTick(() => {
if (!this.transitionToState([connectivity_state_1.ConnectivityState.IDLE], connectivity_state_1.ConnectivityState.CONNECTING)) {
if (this.connectivityState === connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
this.continueConnecting = true;
}
}
});
}
/**
* Get the subchannel's current connectivity state.
*/
getConnectivityState() {
return this.connectivityState;
}
/**
* Add a listener function to be called whenever the subchannel's
* connectivity state changes.
* @param listener
*/
addConnectivityStateListener(listener) {
this.stateListeners.add(listener);
}
/**
* Remove a listener previously added with `addConnectivityStateListener`
* @param listener A reference to a function previously passed to
* `addConnectivityStateListener`
*/
removeConnectivityStateListener(listener) {
this.stateListeners.delete(listener);
}
/**
* Reset the backoff timeout, and immediately start connecting if in backoff.
*/
resetBackoff() {
process.nextTick(() => {
this.backoffTimeout.reset();
this.transitionToState([connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE], connectivity_state_1.ConnectivityState.CONNECTING);
});
}
getAddress() {
return this.subchannelAddressString;
}
getChannelzRef() {
return this.channelzRef;
}
isHealthy() {
return true;
}
addHealthStateWatcher(listener) {
}
removeHealthStateWatcher(listener) {
}
getRealSubchannel() {
return this;
}
realSubchannelEquals(other) {
return other.getRealSubchannel() === this;
}
throttleKeepalive(newKeepaliveTime) {
if (newKeepaliveTime > this.keepaliveTime) {
this.keepaliveTime = newKeepaliveTime;
}
}
getCallCredentials() {
return this.secureConnector.getCallCredentials();
}
getChannel() {
if (!this.subchannelChannel) {
this.subchannelChannel = new single_subchannel_channel_1.SingleSubchannelChannel(this, this.channelTarget, this.options);
}
return this.subchannelChannel;
}
addDataWatcher(dataWatcher) {
throw new Error("Not implemented");
}
getOrCreateDataProducer(name3, createDataProducer) {
const existingProducer = this.dataProducers.get(name3);
if (existingProducer) {
return existingProducer;
}
const newProducer = createDataProducer(this);
this.dataProducers.set(name3, newProducer);
return newProducer;
}
removeDataProducer(name3) {
this.dataProducers.delete(name3);
}
};
exports2.Subchannel = Subchannel;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/environment.js
var require_environment3 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/environment.js"(exports2) {
"use strict";
var _a4;
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GRPC_NODE_USE_ALTERNATIVE_RESOLVER = void 0;
exports2.GRPC_NODE_USE_ALTERNATIVE_RESOLVER = ((_a4 = process.env.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) !== null && _a4 !== void 0 ? _a4 : "false") === "true";
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/resolver-dns.js
var require_resolver_dns2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/resolver-dns.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.DEFAULT_PORT = void 0;
exports2.setup = setup;
var resolver_1 = require_resolver2();
var dns_1 = __require("dns");
var service_config_1 = require_service_config2();
var constants_1 = require_constants10();
var call_interface_1 = require_call_interface2();
var metadata_1 = require_metadata4();
var logging = require_logging2();
var constants_2 = require_constants10();
var uri_parser_1 = require_uri_parser2();
var net_1 = __require("net");
var backoff_timeout_1 = require_backoff_timeout2();
var environment_1 = require_environment3();
var TRACER_NAME2 = "dns_resolver";
function trace2(text) {
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
exports2.DEFAULT_PORT = 443;
var DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS = 3e4;
var DnsResolver = class {
constructor(target, listener, channelOptions) {
var _a4, _b, _c;
this.target = target;
this.listener = listener;
this.pendingLookupPromise = null;
this.pendingTxtPromise = null;
this.latestLookupResult = null;
this.latestServiceConfigResult = null;
this.continueResolving = false;
this.isNextResolutionTimerRunning = false;
this.isServiceConfigEnabled = true;
this.returnedIpResult = false;
this.alternativeResolver = new dns_1.promises.Resolver();
trace2("Resolver constructed for target " + (0, uri_parser_1.uriToString)(target));
if (target.authority) {
this.alternativeResolver.setServers([target.authority]);
}
const hostPort = (0, uri_parser_1.splitHostPort)(target.path);
if (hostPort === null) {
this.ipResult = null;
this.dnsHostname = null;
this.port = null;
} else {
if ((0, net_1.isIPv4)(hostPort.host) || (0, net_1.isIPv6)(hostPort.host)) {
this.ipResult = [
{
addresses: [
{
host: hostPort.host,
port: (_a4 = hostPort.port) !== null && _a4 !== void 0 ? _a4 : exports2.DEFAULT_PORT
}
]
}
];
this.dnsHostname = null;
this.port = null;
} else {
this.ipResult = null;
this.dnsHostname = hostPort.host;
this.port = (_b = hostPort.port) !== null && _b !== void 0 ? _b : exports2.DEFAULT_PORT;
}
}
this.percentage = Math.random() * 100;
if (channelOptions["grpc.service_config_disable_resolution"] === 1) {
this.isServiceConfigEnabled = false;
}
this.defaultResolutionError = {
code: constants_1.Status.UNAVAILABLE,
details: `Name resolution failed for target ${(0, uri_parser_1.uriToString)(this.target)}`,
metadata: new metadata_1.Metadata()
};
const backoffOptions = {
initialDelay: channelOptions["grpc.initial_reconnect_backoff_ms"],
maxDelay: channelOptions["grpc.max_reconnect_backoff_ms"]
};
this.backoff = new backoff_timeout_1.BackoffTimeout(() => {
if (this.continueResolving) {
this.startResolutionWithBackoff();
}
}, backoffOptions);
this.backoff.unref();
this.minTimeBetweenResolutionsMs = (_c = channelOptions["grpc.dns_min_time_between_resolutions_ms"]) !== null && _c !== void 0 ? _c : DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS;
this.nextResolutionTimer = setTimeout(() => {
}, 0);
clearTimeout(this.nextResolutionTimer);
}
/**
* If the target is an IP address, just provide that address as a result.
* Otherwise, initiate A, AAAA, and TXT lookups
*/
startResolution() {
if (this.ipResult !== null) {
if (!this.returnedIpResult) {
trace2("Returning IP address for target " + (0, uri_parser_1.uriToString)(this.target));
setImmediate(() => {
this.listener((0, call_interface_1.statusOrFromValue)(this.ipResult), {}, null, "");
});
this.returnedIpResult = true;
}
this.backoff.stop();
this.backoff.reset();
this.stopNextResolutionTimer();
return;
}
if (this.dnsHostname === null) {
trace2("Failed to parse DNS address " + (0, uri_parser_1.uriToString)(this.target));
setImmediate(() => {
this.listener((0, call_interface_1.statusOrFromError)({
code: constants_1.Status.UNAVAILABLE,
details: `Failed to parse DNS address ${(0, uri_parser_1.uriToString)(this.target)}`
}), {}, null, "");
});
this.stopNextResolutionTimer();
} else {
if (this.pendingLookupPromise !== null) {
return;
}
trace2("Looking up DNS hostname " + this.dnsHostname);
this.latestLookupResult = null;
const hostname3 = this.dnsHostname;
this.pendingLookupPromise = this.lookup(hostname3);
this.pendingLookupPromise.then((addressList) => {
if (this.pendingLookupPromise === null) {
return;
}
this.pendingLookupPromise = null;
this.latestLookupResult = (0, call_interface_1.statusOrFromValue)(addressList.map((address) => ({
addresses: [address]
})));
const allAddressesString = "[" + addressList.map((addr2) => addr2.host + ":" + addr2.port).join(",") + "]";
trace2("Resolved addresses for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + allAddressesString);
const healthStatus = this.listener(this.latestLookupResult, {}, this.latestServiceConfigResult, "");
this.handleHealthStatus(healthStatus);
}, (err2) => {
if (this.pendingLookupPromise === null) {
return;
}
trace2("Resolution error for target " + (0, uri_parser_1.uriToString)(this.target) + ": " + err2.message);
this.pendingLookupPromise = null;
this.stopNextResolutionTimer();
this.listener((0, call_interface_1.statusOrFromError)(this.defaultResolutionError), {}, this.latestServiceConfigResult, "");
});
if (this.isServiceConfigEnabled && this.pendingTxtPromise === null) {
this.pendingTxtPromise = this.resolveTxt(hostname3);
this.pendingTxtPromise.then((txtRecord) => {
if (this.pendingTxtPromise === null) {
return;
}
this.pendingTxtPromise = null;
let serviceConfig;
try {
serviceConfig = (0, service_config_1.extractAndSelectServiceConfig)(txtRecord, this.percentage);
if (serviceConfig) {
this.latestServiceConfigResult = (0, call_interface_1.statusOrFromValue)(serviceConfig);
} else {
this.latestServiceConfigResult = null;
}
} catch (err2) {
this.latestServiceConfigResult = (0, call_interface_1.statusOrFromError)({
code: constants_1.Status.UNAVAILABLE,
details: `Parsing service config failed with error ${err2.message}`
});
}
if (this.latestLookupResult !== null) {
this.listener(this.latestLookupResult, {}, this.latestServiceConfigResult, "");
}
}, (err2) => {
});
}
}
}
/**
* The ResolverListener returns a boolean indicating whether the LB policy
* accepted the resolution result. A false result on an otherwise successful
* resolution should be treated as a resolution failure.
* @param healthStatus
*/
handleHealthStatus(healthStatus) {
if (healthStatus) {
this.backoff.stop();
this.backoff.reset();
} else {
this.continueResolving = true;
}
}
async lookup(hostname3) {
if (environment_1.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
trace2("Using alternative DNS resolver.");
const records = await Promise.allSettled([
this.alternativeResolver.resolve4(hostname3),
this.alternativeResolver.resolve6(hostname3)
]);
if (records.every((result2) => result2.status === "rejected")) {
throw new Error(records[0].reason);
}
return records.reduce((acc, result2) => {
return result2.status === "fulfilled" ? [...acc, ...result2.value] : acc;
}, []).map((addr2) => ({
host: addr2,
port: +this.port
}));
}
const addressList = await dns_1.promises.lookup(hostname3, { all: true });
return addressList.map((addr2) => ({ host: addr2.address, port: +this.port }));
}
async resolveTxt(hostname3) {
if (environment_1.GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
trace2("Using alternative DNS resolver.");
return this.alternativeResolver.resolveTxt(hostname3);
}
return dns_1.promises.resolveTxt(hostname3);
}
startNextResolutionTimer() {
var _a4, _b;
clearTimeout(this.nextResolutionTimer);
this.nextResolutionTimer = setTimeout(() => {
this.stopNextResolutionTimer();
if (this.continueResolving) {
this.startResolutionWithBackoff();
}
}, this.minTimeBetweenResolutionsMs);
(_b = (_a4 = this.nextResolutionTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
this.isNextResolutionTimerRunning = true;
}
stopNextResolutionTimer() {
clearTimeout(this.nextResolutionTimer);
this.isNextResolutionTimerRunning = false;
}
startResolutionWithBackoff() {
if (this.pendingLookupPromise === null) {
this.continueResolving = false;
this.backoff.runOnce();
this.startNextResolutionTimer();
this.startResolution();
}
}
updateResolution() {
if (this.pendingLookupPromise === null) {
if (this.isNextResolutionTimerRunning || this.backoff.isRunning()) {
if (this.isNextResolutionTimerRunning) {
trace2('resolution update delayed by "min time between resolutions" rate limit');
} else {
trace2("resolution update delayed by backoff timer until " + this.backoff.getEndTime().toISOString());
}
this.continueResolving = true;
} else {
this.startResolutionWithBackoff();
}
}
}
/**
* Reset the resolver to the same state it had when it was created. In-flight
* DNS requests cannot be cancelled, but they are discarded and their results
* will be ignored.
*/
destroy() {
this.continueResolving = false;
this.backoff.reset();
this.backoff.stop();
this.stopNextResolutionTimer();
this.pendingLookupPromise = null;
this.pendingTxtPromise = null;
this.latestLookupResult = null;
this.latestServiceConfigResult = null;
this.returnedIpResult = false;
}
/**
* Get the default authority for the given target. For IP targets, that is
* the IP address. For DNS targets, it is the hostname.
* @param target
*/
static getDefaultAuthority(target) {
return target.path;
}
};
function setup() {
(0, resolver_1.registerResolver)("dns", DnsResolver);
(0, resolver_1.registerDefaultScheme)("dns");
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/http_proxy.js
var require_http_proxy2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/http_proxy.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseCIDR = parseCIDR;
exports2.mapProxyName = mapProxyName;
exports2.getProxiedConnection = getProxiedConnection;
var logging_1 = require_logging2();
var constants_1 = require_constants10();
var net_1 = __require("net");
var http3 = __require("http");
var logging = require_logging2();
var subchannel_address_1 = require_subchannel_address2();
var uri_parser_1 = require_uri_parser2();
var url_1 = __require("url");
var resolver_dns_1 = require_resolver_dns2();
var TRACER_NAME2 = "proxy";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
function getProxyInfo() {
let proxyEnv = "";
let envVar = "";
if (process.env.grpc_proxy) {
envVar = "grpc_proxy";
proxyEnv = process.env.grpc_proxy;
} else if (process.env.https_proxy) {
envVar = "https_proxy";
proxyEnv = process.env.https_proxy;
} else if (process.env.http_proxy) {
envVar = "http_proxy";
proxyEnv = process.env.http_proxy;
} else {
return {};
}
let proxyUrl;
try {
proxyUrl = new url_1.URL(proxyEnv);
} catch (e2) {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, `cannot parse value of "${envVar}" env var`);
return {};
}
if (proxyUrl.protocol !== "http:") {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, `"${proxyUrl.protocol}" scheme not supported in proxy URI`);
return {};
}
let userCred = null;
if (proxyUrl.username) {
if (proxyUrl.password) {
(0, logging_1.log)(constants_1.LogVerbosity.INFO, "userinfo found in proxy URI");
userCred = decodeURIComponent(`${proxyUrl.username}:${proxyUrl.password}`);
} else {
userCred = proxyUrl.username;
}
}
const hostname3 = proxyUrl.hostname;
let port = proxyUrl.port;
if (port === "") {
port = "80";
}
const result2 = {
address: `${hostname3}:${port}`
};
if (userCred) {
result2.creds = userCred;
}
trace2("Proxy server " + result2.address + " set by environment variable " + envVar);
return result2;
}
function getNoProxyHostList() {
let noProxyStr = process.env.no_grpc_proxy;
let envVar = "no_grpc_proxy";
if (!noProxyStr) {
noProxyStr = process.env.no_proxy;
envVar = "no_proxy";
}
if (noProxyStr) {
trace2("No proxy server list set by environment variable " + envVar);
return noProxyStr.split(",");
} else {
return [];
}
}
function parseCIDR(cidrString) {
const splitRange = cidrString.split("/");
if (splitRange.length !== 2) {
return null;
}
const prefixLength = parseInt(splitRange[1], 10);
if (!(0, net_1.isIPv4)(splitRange[0]) || Number.isNaN(prefixLength) || prefixLength < 0 || prefixLength > 32) {
return null;
}
return {
ip: ipToInt(splitRange[0]),
prefixLength
};
}
function ipToInt(ip) {
return ip.split(".").reduce((acc, octet) => (acc << 8) + parseInt(octet, 10), 0);
}
function isIpInCIDR(cidr, serverHost) {
const ip = cidr.ip;
const mask = -1 << 32 - cidr.prefixLength;
const hostIP = ipToInt(serverHost);
return (hostIP & mask) === (ip & mask);
}
function hostMatchesNoProxyList(serverHost) {
for (const host of getNoProxyHostList()) {
const parsedCIDR = parseCIDR(host);
if ((0, net_1.isIPv4)(serverHost) && parsedCIDR && isIpInCIDR(parsedCIDR, serverHost)) {
return true;
} else if (serverHost.endsWith(host)) {
return true;
}
}
return false;
}
function mapProxyName(target, options) {
var _a4;
const noProxyResult = {
target,
extraOptions: {}
};
if (((_a4 = options["grpc.enable_http_proxy"]) !== null && _a4 !== void 0 ? _a4 : 1) === 0) {
return noProxyResult;
}
if (target.scheme === "unix") {
return noProxyResult;
}
const proxyInfo = getProxyInfo();
if (!proxyInfo.address) {
return noProxyResult;
}
const hostPort = (0, uri_parser_1.splitHostPort)(target.path);
if (!hostPort) {
return noProxyResult;
}
const serverHost = hostPort.host;
if (hostMatchesNoProxyList(serverHost)) {
trace2("Not using proxy for target in no_proxy list: " + (0, uri_parser_1.uriToString)(target));
return noProxyResult;
}
const extraOptions = {
"grpc.http_connect_target": (0, uri_parser_1.uriToString)(target)
};
if (proxyInfo.creds) {
extraOptions["grpc.http_connect_creds"] = proxyInfo.creds;
}
return {
target: {
scheme: "dns",
path: proxyInfo.address
},
extraOptions
};
}
function getProxiedConnection(address, channelOptions) {
var _a4;
if (!("grpc.http_connect_target" in channelOptions)) {
return Promise.resolve(null);
}
const realTarget = channelOptions["grpc.http_connect_target"];
const parsedTarget = (0, uri_parser_1.parseUri)(realTarget);
if (parsedTarget === null) {
return Promise.resolve(null);
}
const splitHostPost = (0, uri_parser_1.splitHostPort)(parsedTarget.path);
if (splitHostPost === null) {
return Promise.resolve(null);
}
const hostPort = `${splitHostPost.host}:${(_a4 = splitHostPost.port) !== null && _a4 !== void 0 ? _a4 : resolver_dns_1.DEFAULT_PORT}`;
const options = {
method: "CONNECT",
path: hostPort
};
const headers = {
Host: hostPort
};
if ((0, subchannel_address_1.isTcpSubchannelAddress)(address)) {
options.host = address.host;
options.port = address.port;
} else {
options.socketPath = address.path;
}
if ("grpc.http_connect_creds" in channelOptions) {
headers["Proxy-Authorization"] = "Basic " + Buffer.from(channelOptions["grpc.http_connect_creds"]).toString("base64");
}
options.headers = headers;
const proxyAddressString = (0, subchannel_address_1.subchannelAddressToString)(address);
trace2("Using proxy " + proxyAddressString + " to connect to " + options.path);
return new Promise((resolve25, reject) => {
const request = http3.request(options);
request.once("connect", (res, socket, head) => {
request.removeAllListeners();
socket.removeAllListeners();
if (res.statusCode === 200) {
trace2("Successfully connected to " + options.path + " through proxy " + proxyAddressString);
if (head.length > 0) {
socket.unshift(head);
}
trace2("Successfully established a plaintext connection to " + options.path + " through proxy " + proxyAddressString);
resolve25(socket);
} else {
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, "Failed to connect to " + options.path + " through proxy " + proxyAddressString + " with status " + res.statusCode);
reject();
}
});
request.once("error", (err2) => {
request.removeAllListeners();
(0, logging_1.log)(constants_1.LogVerbosity.ERROR, "Failed to connect to proxy " + proxyAddressString + " with error " + err2.message);
reject();
});
request.end();
});
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/stream-decoder.js
var require_stream_decoder2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/stream-decoder.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.StreamDecoder = void 0;
var ReadState;
(function(ReadState2) {
ReadState2[ReadState2["NO_DATA"] = 0] = "NO_DATA";
ReadState2[ReadState2["READING_SIZE"] = 1] = "READING_SIZE";
ReadState2[ReadState2["READING_MESSAGE"] = 2] = "READING_MESSAGE";
})(ReadState || (ReadState = {}));
var StreamDecoder = class {
constructor(maxReadMessageLength) {
this.maxReadMessageLength = maxReadMessageLength;
this.readState = ReadState.NO_DATA;
this.readCompressFlag = Buffer.alloc(1);
this.readPartialSize = Buffer.alloc(4);
this.readSizeRemaining = 4;
this.readMessageSize = 0;
this.readPartialMessage = [];
this.readMessageRemaining = 0;
}
write(data) {
let readHead = 0;
let toRead;
const result2 = [];
while (readHead < data.length) {
switch (this.readState) {
case ReadState.NO_DATA:
this.readCompressFlag = data.slice(readHead, readHead + 1);
readHead += 1;
this.readState = ReadState.READING_SIZE;
this.readPartialSize.fill(0);
this.readSizeRemaining = 4;
this.readMessageSize = 0;
this.readMessageRemaining = 0;
this.readPartialMessage = [];
break;
case ReadState.READING_SIZE:
toRead = Math.min(data.length - readHead, this.readSizeRemaining);
data.copy(this.readPartialSize, 4 - this.readSizeRemaining, readHead, readHead + toRead);
this.readSizeRemaining -= toRead;
readHead += toRead;
if (this.readSizeRemaining === 0) {
this.readMessageSize = this.readPartialSize.readUInt32BE(0);
if (this.maxReadMessageLength !== -1 && this.readMessageSize > this.maxReadMessageLength) {
throw new Error(`Received message larger than max (${this.readMessageSize} vs ${this.maxReadMessageLength})`);
}
this.readMessageRemaining = this.readMessageSize;
if (this.readMessageRemaining > 0) {
this.readState = ReadState.READING_MESSAGE;
} else {
const message = Buffer.concat([this.readCompressFlag, this.readPartialSize], 5);
this.readState = ReadState.NO_DATA;
result2.push(message);
}
}
break;
case ReadState.READING_MESSAGE:
toRead = Math.min(data.length - readHead, this.readMessageRemaining);
this.readPartialMessage.push(data.slice(readHead, readHead + toRead));
this.readMessageRemaining -= toRead;
readHead += toRead;
if (this.readMessageRemaining === 0) {
const framedMessageBuffers = [
this.readCompressFlag,
this.readPartialSize
].concat(this.readPartialMessage);
const framedMessage = Buffer.concat(framedMessageBuffers, this.readMessageSize + 5);
this.readState = ReadState.NO_DATA;
result2.push(framedMessage);
}
break;
default:
throw new Error("Unexpected read state");
}
}
return result2;
}
};
exports2.StreamDecoder = StreamDecoder;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-call.js
var require_subchannel_call2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Http2SubchannelCall = void 0;
var http22 = __require("http2");
var os30 = __require("os");
var constants_1 = require_constants10();
var metadata_1 = require_metadata4();
var stream_decoder_1 = require_stream_decoder2();
var logging = require_logging2();
var constants_2 = require_constants10();
var TRACER_NAME2 = "subchannel_call";
function getSystemErrorName(errno) {
for (const [name3, num] of Object.entries(os30.constants.errno)) {
if (num === errno) {
return name3;
}
}
return "Unknown system error " + errno;
}
function mapHttpStatusCode(code) {
const details = `Received HTTP status code ${code}`;
let mappedStatusCode;
switch (code) {
// TODO(murgatroid99): handle 100 and 101
case 400:
mappedStatusCode = constants_1.Status.INTERNAL;
break;
case 401:
mappedStatusCode = constants_1.Status.UNAUTHENTICATED;
break;
case 403:
mappedStatusCode = constants_1.Status.PERMISSION_DENIED;
break;
case 404:
mappedStatusCode = constants_1.Status.UNIMPLEMENTED;
break;
case 429:
case 502:
case 503:
case 504:
mappedStatusCode = constants_1.Status.UNAVAILABLE;
break;
default:
mappedStatusCode = constants_1.Status.UNKNOWN;
}
return {
code: mappedStatusCode,
details,
metadata: new metadata_1.Metadata()
};
}
var Http2SubchannelCall = class {
constructor(http2Stream, callEventTracker, listener, transport, callId) {
var _a4;
this.http2Stream = http2Stream;
this.callEventTracker = callEventTracker;
this.listener = listener;
this.transport = transport;
this.callId = callId;
this.isReadFilterPending = false;
this.isPushPending = false;
this.canPush = false;
this.readsClosed = false;
this.statusOutput = false;
this.unpushedReadMessages = [];
this.finalStatus = null;
this.internalError = null;
this.serverEndedCall = false;
this.connectionDropped = false;
const maxReceiveMessageLength = (_a4 = transport.getOptions()["grpc.max_receive_message_length"]) !== null && _a4 !== void 0 ? _a4 : constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
this.decoder = new stream_decoder_1.StreamDecoder(maxReceiveMessageLength);
http2Stream.on("response", (headers, flags2) => {
let headersString = "";
for (const header of Object.keys(headers)) {
headersString += " " + header + ": " + headers[header] + "\n";
}
this.trace("Received server headers:\n" + headersString);
this.httpStatusCode = headers[":status"];
if (flags2 & http22.constants.NGHTTP2_FLAG_END_STREAM) {
this.handleTrailers(headers);
} else {
let metadata2;
try {
metadata2 = metadata_1.Metadata.fromHttp2Headers(headers);
} catch (error40) {
this.endCall({
code: constants_1.Status.UNKNOWN,
details: error40.message,
metadata: new metadata_1.Metadata()
});
return;
}
this.listener.onReceiveMetadata(metadata2);
}
});
http2Stream.on("trailers", (headers) => {
this.handleTrailers(headers);
});
http2Stream.on("data", (data) => {
if (this.statusOutput) {
return;
}
this.trace("receive HTTP/2 data frame of length " + data.length);
let messages;
try {
messages = this.decoder.write(data);
} catch (e2) {
if (this.httpStatusCode !== void 0 && this.httpStatusCode !== 200) {
const mappedStatus = mapHttpStatusCode(this.httpStatusCode);
this.cancelWithStatus(mappedStatus.code, mappedStatus.details);
} else {
this.cancelWithStatus(constants_1.Status.RESOURCE_EXHAUSTED, e2.message);
}
return;
}
for (const message of messages) {
this.trace("parsed message of length " + message.length);
this.callEventTracker.addMessageReceived();
this.tryPush(message);
}
});
http2Stream.on("end", () => {
this.readsClosed = true;
this.maybeOutputStatus();
});
http2Stream.on("close", () => {
this.serverEndedCall = true;
process.nextTick(() => {
var _a5;
this.trace("HTTP/2 stream closed with code " + http2Stream.rstCode);
if (((_a5 = this.finalStatus) === null || _a5 === void 0 ? void 0 : _a5.code) === constants_1.Status.OK) {
return;
}
let code;
let details = "";
switch (http2Stream.rstCode) {
case http22.constants.NGHTTP2_NO_ERROR:
if (this.finalStatus !== null) {
return;
}
if (this.httpStatusCode && this.httpStatusCode !== 200) {
const mappedStatus = mapHttpStatusCode(this.httpStatusCode);
code = mappedStatus.code;
details = mappedStatus.details;
} else {
code = constants_1.Status.INTERNAL;
details = `Received RST_STREAM with code ${http2Stream.rstCode} (Call ended without gRPC status)`;
}
break;
case http22.constants.NGHTTP2_REFUSED_STREAM:
code = constants_1.Status.UNAVAILABLE;
details = "Stream refused by server";
break;
case http22.constants.NGHTTP2_CANCEL:
if (this.connectionDropped) {
code = constants_1.Status.UNAVAILABLE;
details = "Connection dropped";
} else {
code = constants_1.Status.CANCELLED;
details = "Call cancelled";
}
break;
case http22.constants.NGHTTP2_ENHANCE_YOUR_CALM:
code = constants_1.Status.RESOURCE_EXHAUSTED;
details = "Bandwidth exhausted or memory limit exceeded";
break;
case http22.constants.NGHTTP2_INADEQUATE_SECURITY:
code = constants_1.Status.PERMISSION_DENIED;
details = "Protocol not secure enough";
break;
case http22.constants.NGHTTP2_INTERNAL_ERROR:
code = constants_1.Status.INTERNAL;
if (this.internalError === null) {
details = `Received RST_STREAM with code ${http2Stream.rstCode} (Internal server error)`;
} else {
if (this.internalError.code === "ECONNRESET" || this.internalError.code === "ETIMEDOUT") {
code = constants_1.Status.UNAVAILABLE;
details = this.internalError.message;
} else {
details = `Received RST_STREAM with code ${http2Stream.rstCode} triggered by internal client error: ${this.internalError.message}`;
}
}
break;
default:
code = constants_1.Status.INTERNAL;
details = `Received RST_STREAM with code ${http2Stream.rstCode}`;
}
this.endCall({
code,
details,
metadata: new metadata_1.Metadata(),
rstCode: http2Stream.rstCode
});
});
});
http2Stream.on("error", (err2) => {
if (err2.code !== "ERR_HTTP2_STREAM_ERROR") {
this.trace("Node error event: message=" + err2.message + " code=" + err2.code + " errno=" + getSystemErrorName(err2.errno) + " syscall=" + err2.syscall);
this.internalError = err2;
}
this.callEventTracker.onStreamEnd(false);
});
}
getDeadlineInfo() {
return [`remote_addr=${this.getPeer()}`];
}
onDisconnect() {
this.connectionDropped = true;
setImmediate(() => {
this.endCall({
code: constants_1.Status.UNAVAILABLE,
details: "Connection dropped",
metadata: new metadata_1.Metadata()
});
});
}
outputStatus() {
if (!this.statusOutput) {
this.statusOutput = true;
this.trace("ended with status: code=" + this.finalStatus.code + ' details="' + this.finalStatus.details + '"');
this.callEventTracker.onCallEnd(this.finalStatus);
process.nextTick(() => {
this.listener.onReceiveStatus(this.finalStatus);
});
this.http2Stream.resume();
}
}
trace(text) {
logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callId + "] " + text);
}
/**
* On first call, emits a 'status' event with the given StatusObject.
* Subsequent calls are no-ops.
* @param status The status of the call.
*/
endCall(status2) {
if (this.finalStatus === null || this.finalStatus.code === constants_1.Status.OK) {
this.finalStatus = status2;
this.maybeOutputStatus();
}
this.destroyHttp2Stream();
}
maybeOutputStatus() {
if (this.finalStatus !== null) {
if (this.finalStatus.code !== constants_1.Status.OK || this.readsClosed && this.unpushedReadMessages.length === 0 && !this.isReadFilterPending && !this.isPushPending) {
this.outputStatus();
}
}
}
push(message) {
this.trace("pushing to reader message of length " + (message instanceof Buffer ? message.length : null));
this.canPush = false;
this.isPushPending = true;
process.nextTick(() => {
this.isPushPending = false;
if (this.statusOutput) {
return;
}
this.listener.onReceiveMessage(message);
this.maybeOutputStatus();
});
}
tryPush(messageBytes) {
if (this.canPush) {
this.http2Stream.pause();
this.push(messageBytes);
} else {
this.trace("unpushedReadMessages.push message of length " + messageBytes.length);
this.unpushedReadMessages.push(messageBytes);
}
}
handleTrailers(headers) {
this.serverEndedCall = true;
this.callEventTracker.onStreamEnd(true);
let headersString = "";
for (const header of Object.keys(headers)) {
headersString += " " + header + ": " + headers[header] + "\n";
}
this.trace("Received server trailers:\n" + headersString);
let metadata2;
try {
metadata2 = metadata_1.Metadata.fromHttp2Headers(headers);
} catch (e2) {
metadata2 = new metadata_1.Metadata();
}
const metadataMap = metadata2.getMap();
let status2;
if (typeof metadataMap["grpc-status"] === "string") {
const receivedStatus = Number(metadataMap["grpc-status"]);
this.trace("received status code " + receivedStatus + " from server");
metadata2.remove("grpc-status");
let details = "";
if (typeof metadataMap["grpc-message"] === "string") {
try {
details = decodeURI(metadataMap["grpc-message"]);
} catch (e2) {
details = metadataMap["grpc-message"];
}
metadata2.remove("grpc-message");
this.trace('received status details string "' + details + '" from server');
}
status2 = {
code: receivedStatus,
details,
metadata: metadata2
};
} else if (this.httpStatusCode) {
status2 = mapHttpStatusCode(this.httpStatusCode);
status2.metadata = metadata2;
} else {
status2 = {
code: constants_1.Status.UNKNOWN,
details: "No status information received",
metadata: metadata2
};
}
this.endCall(status2);
}
destroyHttp2Stream() {
var _a4;
if (this.http2Stream.destroyed) {
return;
}
if (this.serverEndedCall) {
this.http2Stream.end();
} else {
let code;
if (((_a4 = this.finalStatus) === null || _a4 === void 0 ? void 0 : _a4.code) === constants_1.Status.OK) {
code = http22.constants.NGHTTP2_NO_ERROR;
} else {
code = http22.constants.NGHTTP2_CANCEL;
}
this.trace("close http2 stream with code " + code);
this.http2Stream.close(code);
}
}
cancelWithStatus(status2, details) {
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
this.endCall({ code: status2, details, metadata: new metadata_1.Metadata() });
}
getStatus() {
return this.finalStatus;
}
getPeer() {
return this.transport.getPeerName();
}
getCallNumber() {
return this.callId;
}
getAuthContext() {
return this.transport.getAuthContext();
}
startRead() {
if (this.finalStatus !== null && this.finalStatus.code !== constants_1.Status.OK) {
this.readsClosed = true;
this.maybeOutputStatus();
return;
}
this.canPush = true;
if (this.unpushedReadMessages.length > 0) {
const nextMessage = this.unpushedReadMessages.shift();
this.push(nextMessage);
return;
}
this.http2Stream.resume();
}
sendMessageWithContext(context2, message) {
this.trace("write() called with message of length " + message.length);
const cb = (error40) => {
process.nextTick(() => {
var _a4;
let code = constants_1.Status.UNAVAILABLE;
if ((error40 === null || error40 === void 0 ? void 0 : error40.code) === "ERR_STREAM_WRITE_AFTER_END") {
code = constants_1.Status.INTERNAL;
}
if (error40) {
this.cancelWithStatus(code, `Write error: ${error40.message}`);
}
(_a4 = context2.callback) === null || _a4 === void 0 ? void 0 : _a4.call(context2);
});
};
this.trace("sending data chunk of length " + message.length);
this.callEventTracker.addMessageSent();
try {
this.http2Stream.write(message, cb);
} catch (error40) {
this.endCall({
code: constants_1.Status.UNAVAILABLE,
details: `Write failed with error ${error40.message}`,
metadata: new metadata_1.Metadata()
});
}
}
halfClose() {
this.trace("end() called");
this.trace("calling end() on HTTP/2 stream");
this.http2Stream.end();
}
};
exports2.Http2SubchannelCall = Http2SubchannelCall;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/transport.js
var require_transport2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/transport.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Http2SubchannelConnector = void 0;
var http22 = __require("http2");
var tls_1 = __require("tls");
var channelz_1 = require_channelz2();
var constants_1 = require_constants10();
var http_proxy_1 = require_http_proxy2();
var logging = require_logging2();
var resolver_1 = require_resolver2();
var subchannel_address_1 = require_subchannel_address2();
var uri_parser_1 = require_uri_parser2();
var net2 = __require("net");
var subchannel_call_1 = require_subchannel_call2();
var call_number_1 = require_call_number2();
var TRACER_NAME2 = "transport";
var FLOW_CONTROL_TRACER_NAME = "transport_flowctrl";
var clientVersion = require_package9().version;
var { HTTP2_HEADER_AUTHORITY, HTTP2_HEADER_CONTENT_TYPE, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_TE, HTTP2_HEADER_USER_AGENT } = http22.constants;
var KEEPALIVE_TIMEOUT_MS = 2e4;
var tooManyPingsData = Buffer.from("too_many_pings", "ascii");
var Http2Transport = class {
constructor(session, subchannelAddress, options, remoteName) {
this.session = session;
this.options = options;
this.remoteName = remoteName;
this.keepaliveTimer = null;
this.pendingSendKeepalivePing = false;
this.activeCalls = /* @__PURE__ */ new Set();
this.disconnectListeners = [];
this.disconnectHandled = false;
this.channelzEnabled = true;
this.keepalivesSent = 0;
this.messagesSent = 0;
this.messagesReceived = 0;
this.lastMessageSentTimestamp = null;
this.lastMessageReceivedTimestamp = null;
this.subchannelAddressString = (0, subchannel_address_1.subchannelAddressToString)(subchannelAddress);
if (options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
this.streamTracker = new channelz_1.ChannelzCallTrackerStub();
} else {
this.streamTracker = new channelz_1.ChannelzCallTracker();
}
this.channelzRef = (0, channelz_1.registerChannelzSocket)(this.subchannelAddressString, () => this.getChannelzInfo(), this.channelzEnabled);
this.userAgent = [
options["grpc.primary_user_agent"],
`grpc-node-js/${clientVersion}`,
options["grpc.secondary_user_agent"]
].filter((e2) => e2).join(" ");
if ("grpc.keepalive_time_ms" in options) {
this.keepaliveTimeMs = options["grpc.keepalive_time_ms"];
} else {
this.keepaliveTimeMs = -1;
}
if ("grpc.keepalive_timeout_ms" in options) {
this.keepaliveTimeoutMs = options["grpc.keepalive_timeout_ms"];
} else {
this.keepaliveTimeoutMs = KEEPALIVE_TIMEOUT_MS;
}
if ("grpc.keepalive_permit_without_calls" in options) {
this.keepaliveWithoutCalls = options["grpc.keepalive_permit_without_calls"] === 1;
} else {
this.keepaliveWithoutCalls = false;
}
session.once("close", () => {
this.trace("session closed");
this.handleDisconnect();
});
session.once("goaway", (errorCode, lastStreamID, opaqueData) => {
let tooManyPings = false;
if (errorCode === http22.constants.NGHTTP2_ENHANCE_YOUR_CALM && opaqueData && opaqueData.equals(tooManyPingsData)) {
tooManyPings = true;
}
this.trace("connection closed by GOAWAY with code " + errorCode + " and data " + (opaqueData === null || opaqueData === void 0 ? void 0 : opaqueData.toString()));
this.reportDisconnectToOwner(tooManyPings);
});
session.once("error", (error40) => {
this.trace("connection closed with error " + error40.message);
this.handleDisconnect();
});
session.socket.once("close", (hadError) => {
this.trace("connection closed. hadError=" + hadError);
this.handleDisconnect();
});
if (logging.isTracerEnabled(TRACER_NAME2)) {
session.on("remoteSettings", (settings) => {
this.trace("new settings received" + (this.session !== session ? " on the old connection" : "") + ": " + JSON.stringify(settings));
});
session.on("localSettings", (settings) => {
this.trace("local settings acknowledged by remote" + (this.session !== session ? " on the old connection" : "") + ": " + JSON.stringify(settings));
});
}
if (this.keepaliveWithoutCalls) {
this.maybeStartKeepalivePingTimer();
}
if (session.socket instanceof tls_1.TLSSocket) {
this.authContext = {
transportSecurityType: "ssl",
sslPeerCertificate: session.socket.getPeerCertificate()
};
} else {
this.authContext = {};
}
}
getChannelzInfo() {
var _a4, _b, _c;
const sessionSocket = this.session.socket;
const remoteAddress = sessionSocket.remoteAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
const localAddress = sessionSocket.localAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.localAddress, sessionSocket.localPort) : null;
let tlsInfo;
if (this.session.encrypted) {
const tlsSocket = sessionSocket;
const cipherInfo = tlsSocket.getCipher();
const certificate = tlsSocket.getCertificate();
const peerCertificate = tlsSocket.getPeerCertificate();
tlsInfo = {
cipherSuiteStandardName: (_a4 = cipherInfo.standardName) !== null && _a4 !== void 0 ? _a4 : null,
cipherSuiteOtherName: cipherInfo.standardName ? null : cipherInfo.name,
localCertificate: certificate && "raw" in certificate ? certificate.raw : null,
remoteCertificate: peerCertificate && "raw" in peerCertificate ? peerCertificate.raw : null
};
} else {
tlsInfo = null;
}
const socketInfo = {
remoteAddress,
localAddress,
security: tlsInfo,
remoteName: this.remoteName,
streamsStarted: this.streamTracker.callsStarted,
streamsSucceeded: this.streamTracker.callsSucceeded,
streamsFailed: this.streamTracker.callsFailed,
messagesSent: this.messagesSent,
messagesReceived: this.messagesReceived,
keepAlivesSent: this.keepalivesSent,
lastLocalStreamCreatedTimestamp: this.streamTracker.lastCallStartedTimestamp,
lastRemoteStreamCreatedTimestamp: null,
lastMessageSentTimestamp: this.lastMessageSentTimestamp,
lastMessageReceivedTimestamp: this.lastMessageReceivedTimestamp,
localFlowControlWindow: (_b = this.session.state.localWindowSize) !== null && _b !== void 0 ? _b : null,
remoteFlowControlWindow: (_c = this.session.state.remoteWindowSize) !== null && _c !== void 0 ? _c : null
};
return socketInfo;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
keepaliveTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "keepalive", "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
flowControlTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, FLOW_CONTROL_TRACER_NAME, "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
internalsTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "transport_internals", "(" + this.channelzRef.id + ") " + this.subchannelAddressString + " " + text);
}
/**
* Indicate to the owner of this object that this transport should no longer
* be used. That happens if the connection drops, or if the server sends a
* GOAWAY.
* @param tooManyPings If true, this was triggered by a GOAWAY with data
* indicating that the session was closed becaues the client sent too many
* pings.
* @returns
*/
reportDisconnectToOwner(tooManyPings) {
if (this.disconnectHandled) {
return;
}
this.disconnectHandled = true;
this.disconnectListeners.forEach((listener) => listener(tooManyPings));
}
/**
* Handle connection drops, but not GOAWAYs.
*/
handleDisconnect() {
this.clearKeepaliveTimeout();
this.reportDisconnectToOwner(false);
for (const call of this.activeCalls) {
call.onDisconnect();
}
setImmediate(() => {
this.session.destroy();
});
}
addDisconnectListener(listener) {
this.disconnectListeners.push(listener);
}
canSendPing() {
return !this.session.destroyed && this.keepaliveTimeMs > 0 && (this.keepaliveWithoutCalls || this.activeCalls.size > 0);
}
maybeSendPing() {
var _a4, _b;
if (!this.canSendPing()) {
this.pendingSendKeepalivePing = true;
return;
}
if (this.keepaliveTimer) {
console.error("keepaliveTimeout is not null");
return;
}
if (this.channelzEnabled) {
this.keepalivesSent += 1;
}
this.keepaliveTrace("Sending ping with timeout " + this.keepaliveTimeoutMs + "ms");
this.keepaliveTimer = setTimeout(() => {
this.keepaliveTimer = null;
this.keepaliveTrace("Ping timeout passed without response");
this.handleDisconnect();
}, this.keepaliveTimeoutMs);
(_b = (_a4 = this.keepaliveTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
let pingSendError = "";
try {
const pingSentSuccessfully = this.session.ping((err2, duration3, payload) => {
this.clearKeepaliveTimeout();
if (err2) {
this.keepaliveTrace("Ping failed with error " + err2.message);
this.handleDisconnect();
} else {
this.keepaliveTrace("Received ping response");
this.maybeStartKeepalivePingTimer();
}
});
if (!pingSentSuccessfully) {
pingSendError = "Ping returned false";
}
} catch (e2) {
pingSendError = (e2 instanceof Error ? e2.message : "") || "Unknown error";
}
if (pingSendError) {
this.keepaliveTrace("Ping send failed: " + pingSendError);
this.handleDisconnect();
}
}
/**
* Starts the keepalive ping timer if appropriate. If the timer already ran
* out while there were no active requests, instead send a ping immediately.
* If the ping timer is already running or a ping is currently in flight,
* instead do nothing and wait for them to resolve.
*/
maybeStartKeepalivePingTimer() {
var _a4, _b;
if (!this.canSendPing()) {
return;
}
if (this.pendingSendKeepalivePing) {
this.pendingSendKeepalivePing = false;
this.maybeSendPing();
} else if (!this.keepaliveTimer) {
this.keepaliveTrace("Starting keepalive timer for " + this.keepaliveTimeMs + "ms");
this.keepaliveTimer = setTimeout(() => {
this.keepaliveTimer = null;
this.maybeSendPing();
}, this.keepaliveTimeMs);
(_b = (_a4 = this.keepaliveTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
}
/**
* Clears whichever keepalive timeout is currently active, if any.
*/
clearKeepaliveTimeout() {
if (this.keepaliveTimer) {
clearTimeout(this.keepaliveTimer);
this.keepaliveTimer = null;
}
}
removeActiveCall(call) {
this.activeCalls.delete(call);
if (this.activeCalls.size === 0) {
this.session.unref();
}
}
addActiveCall(call) {
this.activeCalls.add(call);
if (this.activeCalls.size === 1) {
this.session.ref();
if (!this.keepaliveWithoutCalls) {
this.maybeStartKeepalivePingTimer();
}
}
}
createCall(metadata2, host, method, listener, subchannelCallStatsTracker) {
const headers = metadata2.toHttp2Headers();
headers[HTTP2_HEADER_AUTHORITY] = host;
headers[HTTP2_HEADER_USER_AGENT] = this.userAgent;
headers[HTTP2_HEADER_CONTENT_TYPE] = "application/grpc";
headers[HTTP2_HEADER_METHOD] = "POST";
headers[HTTP2_HEADER_PATH] = method;
headers[HTTP2_HEADER_TE] = "trailers";
let http2Stream;
try {
http2Stream = this.session.request(headers);
} catch (e2) {
this.handleDisconnect();
throw e2;
}
this.flowControlTrace("local window size: " + this.session.state.localWindowSize + " remote window size: " + this.session.state.remoteWindowSize);
this.internalsTrace("session.closed=" + this.session.closed + " session.destroyed=" + this.session.destroyed + " session.socket.destroyed=" + this.session.socket.destroyed);
let eventTracker;
let call;
if (this.channelzEnabled) {
this.streamTracker.addCallStarted();
eventTracker = {
addMessageSent: () => {
var _a4;
this.messagesSent += 1;
this.lastMessageSentTimestamp = /* @__PURE__ */ new Date();
(_a4 = subchannelCallStatsTracker.addMessageSent) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
addMessageReceived: () => {
var _a4;
this.messagesReceived += 1;
this.lastMessageReceivedTimestamp = /* @__PURE__ */ new Date();
(_a4 = subchannelCallStatsTracker.addMessageReceived) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
onCallEnd: (status2) => {
var _a4;
(_a4 = subchannelCallStatsTracker.onCallEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, status2);
this.removeActiveCall(call);
},
onStreamEnd: (success2) => {
var _a4;
if (success2) {
this.streamTracker.addCallSucceeded();
} else {
this.streamTracker.addCallFailed();
}
(_a4 = subchannelCallStatsTracker.onStreamEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, success2);
}
};
} else {
eventTracker = {
addMessageSent: () => {
var _a4;
(_a4 = subchannelCallStatsTracker.addMessageSent) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
addMessageReceived: () => {
var _a4;
(_a4 = subchannelCallStatsTracker.addMessageReceived) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker);
},
onCallEnd: (status2) => {
var _a4;
(_a4 = subchannelCallStatsTracker.onCallEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, status2);
this.removeActiveCall(call);
},
onStreamEnd: (success2) => {
var _a4;
(_a4 = subchannelCallStatsTracker.onStreamEnd) === null || _a4 === void 0 ? void 0 : _a4.call(subchannelCallStatsTracker, success2);
}
};
}
call = new subchannel_call_1.Http2SubchannelCall(http2Stream, eventTracker, listener, this, (0, call_number_1.getNextCallNumber)());
this.addActiveCall(call);
return call;
}
getChannelzRef() {
return this.channelzRef;
}
getPeerName() {
return this.subchannelAddressString;
}
getOptions() {
return this.options;
}
getAuthContext() {
return this.authContext;
}
shutdown() {
this.session.close();
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
}
};
var Http2SubchannelConnector = class {
constructor(channelTarget) {
this.channelTarget = channelTarget;
this.session = null;
this.isShutdown = false;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, (0, uri_parser_1.uriToString)(this.channelTarget) + " " + text);
}
createSession(secureConnectResult, address, options) {
if (this.isShutdown) {
return Promise.reject();
}
if (secureConnectResult.socket.closed) {
return Promise.reject("Connection closed before starting HTTP/2 handshake");
}
return new Promise((resolve25, reject) => {
var _a4, _b, _c, _d, _e, _f, _g, _h;
let remoteName = null;
let realTarget = this.channelTarget;
if ("grpc.http_connect_target" in options) {
const parsedTarget = (0, uri_parser_1.parseUri)(options["grpc.http_connect_target"]);
if (parsedTarget) {
realTarget = parsedTarget;
remoteName = (0, uri_parser_1.uriToString)(parsedTarget);
}
}
const scheme = secureConnectResult.secure ? "https" : "http";
const targetPath = (0, resolver_1.getDefaultAuthority)(realTarget);
const closeHandler = () => {
var _a5;
(_a5 = this.session) === null || _a5 === void 0 ? void 0 : _a5.destroy();
this.session = null;
setImmediate(() => {
if (!reportedError) {
reportedError = true;
reject(`${errorMessage.trim()} (${(/* @__PURE__ */ new Date()).toISOString()})`);
}
});
};
const errorHandler = (error40) => {
var _a5;
(_a5 = this.session) === null || _a5 === void 0 ? void 0 : _a5.destroy();
errorMessage = error40.message;
this.trace("connection failed with error " + errorMessage);
if (!reportedError) {
reportedError = true;
reject(`${errorMessage} (${(/* @__PURE__ */ new Date()).toISOString()})`);
}
};
const sessionOptions = {
createConnection: (authority, option2) => {
return secureConnectResult.socket;
},
settings: {
initialWindowSize: (_d = (_a4 = options["grpc-node.flow_control_window"]) !== null && _a4 !== void 0 ? _a4 : (_c = (_b = http22.getDefaultSettings) === null || _b === void 0 ? void 0 : _b.call(http22)) === null || _c === void 0 ? void 0 : _c.initialWindowSize) !== null && _d !== void 0 ? _d : 65535
},
maxSendHeaderBlockLength: Number.MAX_SAFE_INTEGER,
/* By default, set a very large max session memory limit, to effectively
* disable enforcement of the limit. Some testing indicates that Node's
* behavior degrades badly when this limit is reached, so we solve that
* by disabling the check entirely. */
maxSessionMemory: (_e = options["grpc-node.max_session_memory"]) !== null && _e !== void 0 ? _e : Number.MAX_SAFE_INTEGER
};
const session = http22.connect(`${scheme}://${targetPath}`, sessionOptions);
const defaultWin = (_h = (_g = (_f = http22.getDefaultSettings) === null || _f === void 0 ? void 0 : _f.call(http22)) === null || _g === void 0 ? void 0 : _g.initialWindowSize) !== null && _h !== void 0 ? _h : 65535;
const connWin = options["grpc-node.flow_control_window"];
this.session = session;
let errorMessage = "Failed to connect";
let reportedError = false;
session.unref();
session.once("remoteSettings", () => {
var _a5;
if (connWin && connWin > defaultWin) {
try {
session.setLocalWindowSize(connWin);
} catch (_b2) {
const delta = connWin - ((_a5 = session.state.localWindowSize) !== null && _a5 !== void 0 ? _a5 : defaultWin);
if (delta > 0)
session.incrementWindowSize(delta);
}
}
session.removeAllListeners();
secureConnectResult.socket.removeListener("close", closeHandler);
secureConnectResult.socket.removeListener("error", errorHandler);
resolve25(new Http2Transport(session, address, options, remoteName));
this.session = null;
});
session.once("close", closeHandler);
session.once("error", errorHandler);
secureConnectResult.socket.once("close", closeHandler);
secureConnectResult.socket.once("error", errorHandler);
});
}
tcpConnect(address, options) {
return (0, http_proxy_1.getProxiedConnection)(address, options).then((proxiedSocket) => {
if (proxiedSocket) {
return proxiedSocket;
} else {
return new Promise((resolve25, reject) => {
const closeCallback = () => {
reject(new Error("Socket closed"));
};
const errorCallback = (error40) => {
reject(error40);
};
const socket = net2.connect(address, () => {
socket.removeListener("close", closeCallback);
socket.removeListener("error", errorCallback);
resolve25(socket);
});
socket.once("close", closeCallback);
socket.once("error", errorCallback);
});
}
});
}
async connect(address, secureConnector, options) {
if (this.isShutdown) {
return Promise.reject();
}
let tcpConnection = null;
let secureConnectResult = null;
const addressString = (0, subchannel_address_1.subchannelAddressToString)(address);
try {
this.trace(addressString + " Waiting for secureConnector to be ready");
await secureConnector.waitForReady();
this.trace(addressString + " secureConnector is ready");
tcpConnection = await this.tcpConnect(address, options);
tcpConnection.setNoDelay();
this.trace(addressString + " Established TCP connection");
secureConnectResult = await secureConnector.connect(tcpConnection);
this.trace(addressString + " Established secure connection");
return this.createSession(secureConnectResult, address, options);
} catch (e2) {
tcpConnection === null || tcpConnection === void 0 ? void 0 : tcpConnection.destroy();
secureConnectResult === null || secureConnectResult === void 0 ? void 0 : secureConnectResult.socket.destroy();
throw e2;
}
}
shutdown() {
var _a4;
this.isShutdown = true;
(_a4 = this.session) === null || _a4 === void 0 ? void 0 : _a4.close();
this.session = null;
}
};
exports2.Http2SubchannelConnector = Http2SubchannelConnector;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js
var require_subchannel_pool2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SubchannelPool = void 0;
exports2.getSubchannelPool = getSubchannelPool;
var channel_options_1 = require_channel_options2();
var subchannel_1 = require_subchannel2();
var subchannel_address_1 = require_subchannel_address2();
var uri_parser_1 = require_uri_parser2();
var transport_1 = require_transport2();
var REF_CHECK_INTERVAL = 1e4;
var SubchannelPool = class {
/**
* A pool of subchannels use for making connections. Subchannels with the
* exact same parameters will be reused.
*/
constructor() {
this.pool = /* @__PURE__ */ Object.create(null);
this.cleanupTimer = null;
}
/**
* Unrefs all unused subchannels and cancels the cleanup task if all
* subchannels have been unrefed.
*/
unrefUnusedSubchannels() {
let allSubchannelsUnrefed = true;
for (const channelTarget in this.pool) {
const subchannelObjArray = this.pool[channelTarget];
const refedSubchannels = subchannelObjArray.filter((value) => !value.subchannel.unrefIfOneRef());
if (refedSubchannels.length > 0) {
allSubchannelsUnrefed = false;
}
this.pool[channelTarget] = refedSubchannels;
}
if (allSubchannelsUnrefed && this.cleanupTimer !== null) {
clearInterval(this.cleanupTimer);
this.cleanupTimer = null;
}
}
/**
* Ensures that the cleanup task is spawned.
*/
ensureCleanupTask() {
var _a4, _b;
if (this.cleanupTimer === null) {
this.cleanupTimer = setInterval(() => {
this.unrefUnusedSubchannels();
}, REF_CHECK_INTERVAL);
(_b = (_a4 = this.cleanupTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
}
/**
* Get a subchannel if one already exists with exactly matching parameters.
* Otherwise, create and save a subchannel with those parameters.
* @param channelTarget
* @param subchannelTarget
* @param channelArguments
* @param channelCredentials
*/
getOrCreateSubchannel(channelTargetUri, subchannelTarget, channelArguments, channelCredentials) {
this.ensureCleanupTask();
const channelTarget = (0, uri_parser_1.uriToString)(channelTargetUri);
if (channelTarget in this.pool) {
const subchannelObjArray = this.pool[channelTarget];
for (const subchannelObj of subchannelObjArray) {
if ((0, subchannel_address_1.subchannelAddressEqual)(subchannelTarget, subchannelObj.subchannelAddress) && (0, channel_options_1.channelOptionsEqual)(channelArguments, subchannelObj.channelArguments) && channelCredentials._equals(subchannelObj.channelCredentials)) {
return subchannelObj.subchannel;
}
}
}
const subchannel = new subchannel_1.Subchannel(channelTargetUri, subchannelTarget, channelArguments, channelCredentials, new transport_1.Http2SubchannelConnector(channelTargetUri));
if (!(channelTarget in this.pool)) {
this.pool[channelTarget] = [];
}
this.pool[channelTarget].push({
subchannelAddress: subchannelTarget,
channelArguments,
channelCredentials,
subchannel
});
subchannel.ref();
return subchannel;
}
};
exports2.SubchannelPool = SubchannelPool;
var globalSubchannelPool = new SubchannelPool();
function getSubchannelPool(global3) {
if (global3) {
return globalSubchannelPool;
} else {
return new SubchannelPool();
}
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js
var require_load_balancing_call2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.LoadBalancingCall = void 0;
var connectivity_state_1 = require_connectivity_state2();
var constants_1 = require_constants10();
var deadline_1 = require_deadline2();
var metadata_1 = require_metadata4();
var picker_1 = require_picker2();
var uri_parser_1 = require_uri_parser2();
var logging = require_logging2();
var control_plane_status_1 = require_control_plane_status2();
var http22 = __require("http2");
var TRACER_NAME2 = "load_balancing_call";
var LoadBalancingCall = class {
constructor(channel, callConfig, methodName, host, credentials3, deadline, callNumber) {
var _a4, _b;
this.channel = channel;
this.callConfig = callConfig;
this.methodName = methodName;
this.host = host;
this.credentials = credentials3;
this.deadline = deadline;
this.callNumber = callNumber;
this.child = null;
this.readPending = false;
this.pendingMessage = null;
this.pendingHalfClose = false;
this.ended = false;
this.metadata = null;
this.listener = null;
this.onCallEnded = null;
this.childStartTime = null;
const splitPath = this.methodName.split("/");
let serviceName = "";
if (splitPath.length >= 2) {
serviceName = splitPath[1];
}
const hostname3 = (_b = (_a4 = (0, uri_parser_1.splitHostPort)(this.host)) === null || _a4 === void 0 ? void 0 : _a4.host) !== null && _b !== void 0 ? _b : "localhost";
this.serviceUrl = `https://${hostname3}/${serviceName}`;
this.startTime = /* @__PURE__ */ new Date();
}
getDeadlineInfo() {
var _a4, _b;
const deadlineInfo = [];
if (this.childStartTime) {
if (this.childStartTime > this.startTime) {
if ((_a4 = this.metadata) === null || _a4 === void 0 ? void 0 : _a4.getOptions().waitForReady) {
deadlineInfo.push("wait_for_ready");
}
deadlineInfo.push(`LB pick: ${(0, deadline_1.formatDateDifference)(this.startTime, this.childStartTime)}`);
}
deadlineInfo.push(...this.child.getDeadlineInfo());
return deadlineInfo;
} else {
if ((_b = this.metadata) === null || _b === void 0 ? void 0 : _b.getOptions().waitForReady) {
deadlineInfo.push("wait_for_ready");
}
deadlineInfo.push("Waiting for LB pick");
}
return deadlineInfo;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callNumber + "] " + text);
}
outputStatus(status2, progress) {
var _a4, _b;
if (!this.ended) {
this.ended = true;
this.trace("ended with status: code=" + status2.code + ' details="' + status2.details + '" start time=' + this.startTime.toISOString());
const finalStatus = Object.assign(Object.assign({}, status2), { progress });
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onReceiveStatus(finalStatus);
(_b = this.onCallEnded) === null || _b === void 0 ? void 0 : _b.call(this, finalStatus.code, finalStatus.details, finalStatus.metadata);
}
}
doPick() {
var _a4, _b;
if (this.ended) {
return;
}
if (!this.metadata) {
throw new Error("doPick called before start");
}
this.trace("Pick called");
const finalMetadata = this.metadata.clone();
const pickResult = this.channel.doPick(finalMetadata, this.callConfig.pickInformation);
const subchannelString = pickResult.subchannel ? "(" + pickResult.subchannel.getChannelzRef().id + ") " + pickResult.subchannel.getAddress() : "" + pickResult.subchannel;
this.trace("Pick result: " + picker_1.PickResultType[pickResult.pickResultType] + " subchannel: " + subchannelString + " status: " + ((_a4 = pickResult.status) === null || _a4 === void 0 ? void 0 : _a4.code) + " " + ((_b = pickResult.status) === null || _b === void 0 ? void 0 : _b.details));
switch (pickResult.pickResultType) {
case picker_1.PickResultType.COMPLETE:
const combinedCallCredentials = this.credentials.compose(pickResult.subchannel.getCallCredentials());
combinedCallCredentials.generateMetadata({ method_name: this.methodName, service_url: this.serviceUrl }).then((credsMetadata) => {
var _a5;
if (this.ended) {
this.trace("Credentials metadata generation finished after call ended");
return;
}
finalMetadata.merge(credsMetadata);
if (finalMetadata.get("authorization").length > 1) {
this.outputStatus({
code: constants_1.Status.INTERNAL,
details: '"authorization" metadata cannot have multiple values',
metadata: new metadata_1.Metadata()
}, "PROCESSED");
}
if (pickResult.subchannel.getConnectivityState() !== connectivity_state_1.ConnectivityState.READY) {
this.trace("Picked subchannel " + subchannelString + " has state " + connectivity_state_1.ConnectivityState[pickResult.subchannel.getConnectivityState()] + " after getting credentials metadata. Retrying pick");
this.doPick();
return;
}
if (this.deadline !== Infinity) {
finalMetadata.set("grpc-timeout", (0, deadline_1.getDeadlineTimeoutString)(this.deadline));
}
try {
this.child = pickResult.subchannel.getRealSubchannel().createCall(finalMetadata, this.host, this.methodName, {
onReceiveMetadata: (metadata2) => {
this.trace("Received metadata");
this.listener.onReceiveMetadata(metadata2);
},
onReceiveMessage: (message) => {
this.trace("Received message");
this.listener.onReceiveMessage(message);
},
onReceiveStatus: (status2) => {
this.trace("Received status");
if (status2.rstCode === http22.constants.NGHTTP2_REFUSED_STREAM) {
this.outputStatus(status2, "REFUSED");
} else {
this.outputStatus(status2, "PROCESSED");
}
}
});
this.childStartTime = /* @__PURE__ */ new Date();
} catch (error40) {
this.trace("Failed to start call on picked subchannel " + subchannelString + " with error " + error40.message);
this.outputStatus({
code: constants_1.Status.INTERNAL,
details: "Failed to start HTTP/2 stream with error " + error40.message,
metadata: new metadata_1.Metadata()
}, "NOT_STARTED");
return;
}
(_a5 = pickResult.onCallStarted) === null || _a5 === void 0 ? void 0 : _a5.call(pickResult);
this.onCallEnded = pickResult.onCallEnded;
this.trace("Created child call [" + this.child.getCallNumber() + "]");
if (this.readPending) {
this.child.startRead();
}
if (this.pendingMessage) {
this.child.sendMessageWithContext(this.pendingMessage.context, this.pendingMessage.message);
}
if (this.pendingHalfClose) {
this.child.halfClose();
}
}, (error40) => {
const { code: code2, details: details2 } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(typeof error40.code === "number" ? error40.code : constants_1.Status.UNKNOWN, `Getting metadata from plugin failed with error: ${error40.message}`);
this.outputStatus({
code: code2,
details: details2,
metadata: new metadata_1.Metadata()
}, "PROCESSED");
});
break;
case picker_1.PickResultType.DROP:
const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(pickResult.status.code, pickResult.status.details);
setImmediate(() => {
this.outputStatus({ code, details, metadata: pickResult.status.metadata }, "DROP");
});
break;
case picker_1.PickResultType.TRANSIENT_FAILURE:
if (this.metadata.getOptions().waitForReady) {
this.channel.queueCallForPick(this);
} else {
const { code: code2, details: details2 } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(pickResult.status.code, pickResult.status.details);
setImmediate(() => {
this.outputStatus({ code: code2, details: details2, metadata: pickResult.status.metadata }, "PROCESSED");
});
}
break;
case picker_1.PickResultType.QUEUE:
this.channel.queueCallForPick(this);
}
}
cancelWithStatus(status2, details) {
var _a4;
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
(_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(status2, details);
this.outputStatus({ code: status2, details, metadata: new metadata_1.Metadata() }, "PROCESSED");
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : this.channel.getTarget();
}
start(metadata2, listener) {
this.trace("start called");
this.listener = listener;
this.metadata = metadata2;
this.doPick();
}
sendMessageWithContext(context2, message) {
this.trace("write() called with message of length " + message.length);
if (this.child) {
this.child.sendMessageWithContext(context2, message);
} else {
this.pendingMessage = { context: context2, message };
}
}
startRead() {
this.trace("startRead called");
if (this.child) {
this.child.startRead();
} else {
this.readPending = true;
}
}
halfClose() {
this.trace("halfClose called");
if (this.child) {
this.child.halfClose();
} else {
this.pendingHalfClose = true;
}
}
setCredentials(credentials3) {
throw new Error("Method not implemented.");
}
getCallNumber() {
return this.callNumber;
}
getAuthContext() {
if (this.child) {
return this.child.getAuthContext();
} else {
return null;
}
}
};
exports2.LoadBalancingCall = LoadBalancingCall;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/resolving-call.js
var require_resolving_call2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/resolving-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ResolvingCall = void 0;
var call_credentials_1 = require_call_credentials2();
var constants_1 = require_constants10();
var deadline_1 = require_deadline2();
var metadata_1 = require_metadata4();
var logging = require_logging2();
var control_plane_status_1 = require_control_plane_status2();
var TRACER_NAME2 = "resolving_call";
var ResolvingCall = class {
constructor(channel, method, options, filterStackFactory, callNumber) {
this.channel = channel;
this.method = method;
this.filterStackFactory = filterStackFactory;
this.callNumber = callNumber;
this.child = null;
this.readPending = false;
this.pendingMessage = null;
this.pendingHalfClose = false;
this.ended = false;
this.readFilterPending = false;
this.writeFilterPending = false;
this.pendingChildStatus = null;
this.metadata = null;
this.listener = null;
this.statusWatchers = [];
this.deadlineTimer = setTimeout(() => {
}, 0);
this.filterStack = null;
this.deadlineStartTime = null;
this.configReceivedTime = null;
this.childStartTime = null;
this.credentials = call_credentials_1.CallCredentials.createEmpty();
this.deadline = options.deadline;
this.host = options.host;
if (options.parentCall) {
if (options.flags & constants_1.Propagate.CANCELLATION) {
options.parentCall.on("cancelled", () => {
this.cancelWithStatus(constants_1.Status.CANCELLED, "Cancelled by parent call");
});
}
if (options.flags & constants_1.Propagate.DEADLINE) {
this.trace("Propagating deadline from parent: " + options.parentCall.getDeadline());
this.deadline = (0, deadline_1.minDeadline)(this.deadline, options.parentCall.getDeadline());
}
}
this.trace("Created");
this.runDeadlineTimer();
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callNumber + "] " + text);
}
runDeadlineTimer() {
clearTimeout(this.deadlineTimer);
this.deadlineStartTime = /* @__PURE__ */ new Date();
this.trace("Deadline: " + (0, deadline_1.deadlineToString)(this.deadline));
const timeout = (0, deadline_1.getRelativeTimeout)(this.deadline);
if (timeout !== Infinity) {
this.trace("Deadline will be reached in " + timeout + "ms");
const handleDeadline = () => {
if (!this.deadlineStartTime) {
this.cancelWithStatus(constants_1.Status.DEADLINE_EXCEEDED, "Deadline exceeded");
return;
}
const deadlineInfo = [];
const deadlineEndTime = /* @__PURE__ */ new Date();
deadlineInfo.push(`Deadline exceeded after ${(0, deadline_1.formatDateDifference)(this.deadlineStartTime, deadlineEndTime)}`);
if (this.configReceivedTime) {
if (this.configReceivedTime > this.deadlineStartTime) {
deadlineInfo.push(`name resolution: ${(0, deadline_1.formatDateDifference)(this.deadlineStartTime, this.configReceivedTime)}`);
}
if (this.childStartTime) {
if (this.childStartTime > this.configReceivedTime) {
deadlineInfo.push(`metadata filters: ${(0, deadline_1.formatDateDifference)(this.configReceivedTime, this.childStartTime)}`);
}
} else {
deadlineInfo.push("waiting for metadata filters");
}
} else {
deadlineInfo.push("waiting for name resolution");
}
if (this.child) {
deadlineInfo.push(...this.child.getDeadlineInfo());
}
this.cancelWithStatus(constants_1.Status.DEADLINE_EXCEEDED, deadlineInfo.join(","));
};
if (timeout <= 0) {
process.nextTick(handleDeadline);
} else {
this.deadlineTimer = setTimeout(handleDeadline, timeout);
}
}
}
outputStatus(status2) {
if (!this.ended) {
this.ended = true;
if (!this.filterStack) {
this.filterStack = this.filterStackFactory.createFilter();
}
clearTimeout(this.deadlineTimer);
const filteredStatus = this.filterStack.receiveTrailers(status2);
this.trace("ended with status: code=" + filteredStatus.code + ' details="' + filteredStatus.details + '"');
this.statusWatchers.forEach((watcher) => watcher(filteredStatus));
process.nextTick(() => {
var _a4;
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onReceiveStatus(filteredStatus);
});
}
}
sendMessageOnChild(context2, message) {
if (!this.child) {
throw new Error("sendMessageonChild called with child not populated");
}
const child = this.child;
this.writeFilterPending = true;
this.filterStack.sendMessage(Promise.resolve({ message, flags: context2.flags })).then((filteredMessage) => {
this.writeFilterPending = false;
child.sendMessageWithContext(context2, filteredMessage.message);
if (this.pendingHalfClose) {
child.halfClose();
}
}, (status2) => {
this.cancelWithStatus(status2.code, status2.details);
});
}
getConfig() {
if (this.ended) {
return;
}
if (!this.metadata || !this.listener) {
throw new Error("getConfig called before start");
}
const configResult = this.channel.getConfig(this.method, this.metadata);
if (configResult.type === "NONE") {
this.channel.queueCallForConfig(this);
return;
} else if (configResult.type === "ERROR") {
if (this.metadata.getOptions().waitForReady) {
this.channel.queueCallForConfig(this);
} else {
this.outputStatus(configResult.error);
}
return;
}
this.configReceivedTime = /* @__PURE__ */ new Date();
const config2 = configResult.config;
if (config2.status !== constants_1.Status.OK) {
const { code, details } = (0, control_plane_status_1.restrictControlPlaneStatusCode)(config2.status, "Failed to route call to method " + this.method);
this.outputStatus({
code,
details,
metadata: new metadata_1.Metadata()
});
return;
}
if (config2.methodConfig.timeout) {
const configDeadline = /* @__PURE__ */ new Date();
configDeadline.setSeconds(configDeadline.getSeconds() + config2.methodConfig.timeout.seconds);
configDeadline.setMilliseconds(configDeadline.getMilliseconds() + config2.methodConfig.timeout.nanos / 1e6);
this.deadline = (0, deadline_1.minDeadline)(this.deadline, configDeadline);
this.runDeadlineTimer();
}
this.filterStackFactory.push(config2.dynamicFilterFactories);
this.filterStack = this.filterStackFactory.createFilter();
this.filterStack.sendMetadata(Promise.resolve(this.metadata)).then((filteredMetadata) => {
this.child = this.channel.createRetryingCall(config2, this.method, this.host, this.credentials, this.deadline);
this.trace("Created child [" + this.child.getCallNumber() + "]");
this.childStartTime = /* @__PURE__ */ new Date();
this.child.start(filteredMetadata, {
onReceiveMetadata: (metadata2) => {
this.trace("Received metadata");
this.listener.onReceiveMetadata(this.filterStack.receiveMetadata(metadata2));
},
onReceiveMessage: (message) => {
this.trace("Received message");
this.readFilterPending = true;
this.filterStack.receiveMessage(message).then((filteredMesssage) => {
this.trace("Finished filtering received message");
this.readFilterPending = false;
this.listener.onReceiveMessage(filteredMesssage);
if (this.pendingChildStatus) {
this.outputStatus(this.pendingChildStatus);
}
}, (status2) => {
this.cancelWithStatus(status2.code, status2.details);
});
},
onReceiveStatus: (status2) => {
this.trace("Received status");
if (this.readFilterPending) {
this.pendingChildStatus = status2;
} else {
this.outputStatus(status2);
}
}
});
if (this.readPending) {
this.child.startRead();
}
if (this.pendingMessage) {
this.sendMessageOnChild(this.pendingMessage.context, this.pendingMessage.message);
} else if (this.pendingHalfClose) {
this.child.halfClose();
}
}, (status2) => {
this.outputStatus(status2);
});
}
reportResolverError(status2) {
var _a4;
if ((_a4 = this.metadata) === null || _a4 === void 0 ? void 0 : _a4.getOptions().waitForReady) {
this.channel.queueCallForConfig(this);
} else {
this.outputStatus(status2);
}
}
cancelWithStatus(status2, details) {
var _a4;
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
(_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.cancelWithStatus(status2, details);
this.outputStatus({
code: status2,
details,
metadata: new metadata_1.Metadata()
});
}
getPeer() {
var _a4, _b;
return (_b = (_a4 = this.child) === null || _a4 === void 0 ? void 0 : _a4.getPeer()) !== null && _b !== void 0 ? _b : this.channel.getTarget();
}
start(metadata2, listener) {
this.trace("start called");
this.metadata = metadata2.clone();
this.listener = listener;
this.getConfig();
}
sendMessageWithContext(context2, message) {
this.trace("write() called with message of length " + message.length);
if (this.child) {
this.sendMessageOnChild(context2, message);
} else {
this.pendingMessage = { context: context2, message };
}
}
startRead() {
this.trace("startRead called");
if (this.child) {
this.child.startRead();
} else {
this.readPending = true;
}
}
halfClose() {
this.trace("halfClose called");
if (this.child && !this.writeFilterPending) {
this.child.halfClose();
} else {
this.pendingHalfClose = true;
}
}
setCredentials(credentials3) {
this.credentials = credentials3;
}
addStatusWatcher(watcher) {
this.statusWatchers.push(watcher);
}
getCallNumber() {
return this.callNumber;
}
getAuthContext() {
if (this.child) {
return this.child.getAuthContext();
} else {
return null;
}
}
};
exports2.ResolvingCall = ResolvingCall;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/retrying-call.js
var require_retrying_call2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/retrying-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.RetryingCall = exports2.MessageBufferTracker = exports2.RetryThrottler = void 0;
var constants_1 = require_constants10();
var deadline_1 = require_deadline2();
var metadata_1 = require_metadata4();
var logging = require_logging2();
var TRACER_NAME2 = "retrying_call";
var RetryThrottler = class {
constructor(maxTokens, tokenRatio, previousRetryThrottler) {
this.maxTokens = maxTokens;
this.tokenRatio = tokenRatio;
if (previousRetryThrottler) {
this.tokens = previousRetryThrottler.tokens * (maxTokens / previousRetryThrottler.maxTokens);
} else {
this.tokens = maxTokens;
}
}
addCallSucceeded() {
this.tokens = Math.min(this.tokens + this.tokenRatio, this.maxTokens);
}
addCallFailed() {
this.tokens = Math.max(this.tokens - 1, 0);
}
canRetryCall() {
return this.tokens > this.maxTokens / 2;
}
};
exports2.RetryThrottler = RetryThrottler;
var MessageBufferTracker = class {
constructor(totalLimit, limitPerCall) {
this.totalLimit = totalLimit;
this.limitPerCall = limitPerCall;
this.totalAllocated = 0;
this.allocatedPerCall = /* @__PURE__ */ new Map();
}
allocate(size, callId) {
var _a4;
const currentPerCall = (_a4 = this.allocatedPerCall.get(callId)) !== null && _a4 !== void 0 ? _a4 : 0;
if (this.limitPerCall - currentPerCall < size || this.totalLimit - this.totalAllocated < size) {
return false;
}
this.allocatedPerCall.set(callId, currentPerCall + size);
this.totalAllocated += size;
return true;
}
free(size, callId) {
var _a4;
if (this.totalAllocated < size) {
throw new Error(`Invalid buffer allocation state: call ${callId} freed ${size} > total allocated ${this.totalAllocated}`);
}
this.totalAllocated -= size;
const currentPerCall = (_a4 = this.allocatedPerCall.get(callId)) !== null && _a4 !== void 0 ? _a4 : 0;
if (currentPerCall < size) {
throw new Error(`Invalid buffer allocation state: call ${callId} freed ${size} > allocated for call ${currentPerCall}`);
}
this.allocatedPerCall.set(callId, currentPerCall - size);
}
freeAll(callId) {
var _a4;
const currentPerCall = (_a4 = this.allocatedPerCall.get(callId)) !== null && _a4 !== void 0 ? _a4 : 0;
if (this.totalAllocated < currentPerCall) {
throw new Error(`Invalid buffer allocation state: call ${callId} allocated ${currentPerCall} > total allocated ${this.totalAllocated}`);
}
this.totalAllocated -= currentPerCall;
this.allocatedPerCall.delete(callId);
}
};
exports2.MessageBufferTracker = MessageBufferTracker;
var PREVIONS_RPC_ATTEMPTS_METADATA_KEY = "grpc-previous-rpc-attempts";
var DEFAULT_MAX_ATTEMPTS_LIMIT = 5;
var RetryingCall = class {
constructor(channel, callConfig, methodName, host, credentials3, deadline, callNumber, bufferTracker, retryThrottler) {
var _a4;
this.channel = channel;
this.callConfig = callConfig;
this.methodName = methodName;
this.host = host;
this.credentials = credentials3;
this.deadline = deadline;
this.callNumber = callNumber;
this.bufferTracker = bufferTracker;
this.retryThrottler = retryThrottler;
this.listener = null;
this.initialMetadata = null;
this.underlyingCalls = [];
this.writeBuffer = [];
this.writeBufferOffset = 0;
this.readStarted = false;
this.transparentRetryUsed = false;
this.attempts = 0;
this.hedgingTimer = null;
this.committedCallIndex = null;
this.initialRetryBackoffSec = 0;
this.nextRetryBackoffSec = 0;
const maxAttemptsLimit = (_a4 = channel.getOptions()["grpc-node.retry_max_attempts_limit"]) !== null && _a4 !== void 0 ? _a4 : DEFAULT_MAX_ATTEMPTS_LIMIT;
if (channel.getOptions()["grpc.enable_retries"] === 0) {
this.state = "NO_RETRY";
this.maxAttempts = 1;
} else if (callConfig.methodConfig.retryPolicy) {
this.state = "RETRY";
const retryPolicy = callConfig.methodConfig.retryPolicy;
this.nextRetryBackoffSec = this.initialRetryBackoffSec = Number(retryPolicy.initialBackoff.substring(0, retryPolicy.initialBackoff.length - 1));
this.maxAttempts = Math.min(retryPolicy.maxAttempts, maxAttemptsLimit);
} else if (callConfig.methodConfig.hedgingPolicy) {
this.state = "HEDGING";
this.maxAttempts = Math.min(callConfig.methodConfig.hedgingPolicy.maxAttempts, maxAttemptsLimit);
} else {
this.state = "TRANSPARENT_ONLY";
this.maxAttempts = 1;
}
this.startTime = /* @__PURE__ */ new Date();
}
getDeadlineInfo() {
if (this.underlyingCalls.length === 0) {
return [];
}
const deadlineInfo = [];
const latestCall = this.underlyingCalls[this.underlyingCalls.length - 1];
if (this.underlyingCalls.length > 1) {
deadlineInfo.push(`previous attempts: ${this.underlyingCalls.length - 1}`);
}
if (latestCall.startTime > this.startTime) {
deadlineInfo.push(`time to current attempt start: ${(0, deadline_1.formatDateDifference)(this.startTime, latestCall.startTime)}`);
}
deadlineInfo.push(...latestCall.call.getDeadlineInfo());
return deadlineInfo;
}
getCallNumber() {
return this.callNumber;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "[" + this.callNumber + "] " + text);
}
reportStatus(statusObject) {
this.trace("ended with status: code=" + statusObject.code + ' details="' + statusObject.details + '" start time=' + this.startTime.toISOString());
this.bufferTracker.freeAll(this.callNumber);
this.writeBufferOffset = this.writeBufferOffset + this.writeBuffer.length;
this.writeBuffer = [];
process.nextTick(() => {
var _a4;
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onReceiveStatus({
code: statusObject.code,
details: statusObject.details,
metadata: statusObject.metadata
});
});
}
cancelWithStatus(status2, details) {
this.trace("cancelWithStatus code: " + status2 + ' details: "' + details + '"');
this.reportStatus({ code: status2, details, metadata: new metadata_1.Metadata() });
for (const { call } of this.underlyingCalls) {
call.cancelWithStatus(status2, details);
}
}
getPeer() {
if (this.committedCallIndex !== null) {
return this.underlyingCalls[this.committedCallIndex].call.getPeer();
} else {
return "unknown";
}
}
getBufferEntry(messageIndex) {
var _a4;
return (_a4 = this.writeBuffer[messageIndex - this.writeBufferOffset]) !== null && _a4 !== void 0 ? _a4 : {
entryType: "FREED",
allocated: false
};
}
getNextBufferIndex() {
return this.writeBufferOffset + this.writeBuffer.length;
}
clearSentMessages() {
if (this.state !== "COMMITTED") {
return;
}
let earliestNeededMessageIndex;
if (this.underlyingCalls[this.committedCallIndex].state === "COMPLETED") {
earliestNeededMessageIndex = this.getNextBufferIndex();
} else {
earliestNeededMessageIndex = this.underlyingCalls[this.committedCallIndex].nextMessageToSend;
}
for (let messageIndex = this.writeBufferOffset; messageIndex < earliestNeededMessageIndex; messageIndex++) {
const bufferEntry = this.getBufferEntry(messageIndex);
if (bufferEntry.allocated) {
this.bufferTracker.free(bufferEntry.message.message.length, this.callNumber);
}
}
this.writeBuffer = this.writeBuffer.slice(earliestNeededMessageIndex - this.writeBufferOffset);
this.writeBufferOffset = earliestNeededMessageIndex;
}
commitCall(index) {
var _a4, _b;
if (this.state === "COMMITTED") {
return;
}
this.trace("Committing call [" + this.underlyingCalls[index].call.getCallNumber() + "] at index " + index);
this.state = "COMMITTED";
(_b = (_a4 = this.callConfig).onCommitted) === null || _b === void 0 ? void 0 : _b.call(_a4);
this.committedCallIndex = index;
for (let i3 = 0; i3 < this.underlyingCalls.length; i3++) {
if (i3 === index) {
continue;
}
if (this.underlyingCalls[i3].state === "COMPLETED") {
continue;
}
this.underlyingCalls[i3].state = "COMPLETED";
this.underlyingCalls[i3].call.cancelWithStatus(constants_1.Status.CANCELLED, "Discarded in favor of other hedged attempt");
}
this.clearSentMessages();
}
commitCallWithMostMessages() {
if (this.state === "COMMITTED") {
return;
}
let mostMessages = -1;
let callWithMostMessages = -1;
for (const [index, childCall] of this.underlyingCalls.entries()) {
if (childCall.state === "ACTIVE" && childCall.nextMessageToSend > mostMessages) {
mostMessages = childCall.nextMessageToSend;
callWithMostMessages = index;
}
}
if (callWithMostMessages === -1) {
this.state = "TRANSPARENT_ONLY";
} else {
this.commitCall(callWithMostMessages);
}
}
isStatusCodeInList(list, code) {
return list.some((value) => {
var _a4;
return value === code || value.toString().toLowerCase() === ((_a4 = constants_1.Status[code]) === null || _a4 === void 0 ? void 0 : _a4.toLowerCase());
});
}
getNextRetryJitter() {
return Math.random() * (1.2 - 0.8) + 0.8;
}
getNextRetryBackoffMs() {
var _a4;
const retryPolicy = (_a4 = this.callConfig) === null || _a4 === void 0 ? void 0 : _a4.methodConfig.retryPolicy;
if (!retryPolicy) {
return 0;
}
const jitter = this.getNextRetryJitter();
const nextBackoffMs = jitter * this.nextRetryBackoffSec * 1e3;
const maxBackoffSec = Number(retryPolicy.maxBackoff.substring(0, retryPolicy.maxBackoff.length - 1));
this.nextRetryBackoffSec = Math.min(this.nextRetryBackoffSec * retryPolicy.backoffMultiplier, maxBackoffSec);
return nextBackoffMs;
}
maybeRetryCall(pushback, callback) {
if (this.state !== "RETRY") {
callback(false);
return;
}
if (this.attempts >= this.maxAttempts) {
callback(false);
return;
}
let retryDelayMs;
if (pushback === null) {
retryDelayMs = this.getNextRetryBackoffMs();
} else if (pushback < 0) {
this.state = "TRANSPARENT_ONLY";
callback(false);
return;
} else {
retryDelayMs = pushback;
this.nextRetryBackoffSec = this.initialRetryBackoffSec;
}
setTimeout(() => {
var _a4, _b;
if (this.state !== "RETRY") {
callback(false);
return;
}
if ((_b = (_a4 = this.retryThrottler) === null || _a4 === void 0 ? void 0 : _a4.canRetryCall()) !== null && _b !== void 0 ? _b : true) {
callback(true);
this.attempts += 1;
this.startNewAttempt();
} else {
this.trace("Retry attempt denied by throttling policy");
callback(false);
}
}, retryDelayMs);
}
countActiveCalls() {
let count2 = 0;
for (const call of this.underlyingCalls) {
if ((call === null || call === void 0 ? void 0 : call.state) === "ACTIVE") {
count2 += 1;
}
}
return count2;
}
handleProcessedStatus(status2, callIndex, pushback) {
var _a4, _b, _c;
switch (this.state) {
case "COMMITTED":
case "NO_RETRY":
case "TRANSPARENT_ONLY":
this.commitCall(callIndex);
this.reportStatus(status2);
break;
case "HEDGING":
if (this.isStatusCodeInList((_a4 = this.callConfig.methodConfig.hedgingPolicy.nonFatalStatusCodes) !== null && _a4 !== void 0 ? _a4 : [], status2.code)) {
(_b = this.retryThrottler) === null || _b === void 0 ? void 0 : _b.addCallFailed();
let delayMs;
if (pushback === null) {
delayMs = 0;
} else if (pushback < 0) {
this.state = "TRANSPARENT_ONLY";
this.commitCall(callIndex);
this.reportStatus(status2);
return;
} else {
delayMs = pushback;
}
setTimeout(() => {
this.maybeStartHedgingAttempt();
if (this.countActiveCalls() === 0) {
this.commitCall(callIndex);
this.reportStatus(status2);
}
}, delayMs);
} else {
this.commitCall(callIndex);
this.reportStatus(status2);
}
break;
case "RETRY":
if (this.isStatusCodeInList(this.callConfig.methodConfig.retryPolicy.retryableStatusCodes, status2.code)) {
(_c = this.retryThrottler) === null || _c === void 0 ? void 0 : _c.addCallFailed();
this.maybeRetryCall(pushback, (retried) => {
if (!retried) {
this.commitCall(callIndex);
this.reportStatus(status2);
}
});
} else {
this.commitCall(callIndex);
this.reportStatus(status2);
}
break;
}
}
getPushback(metadata2) {
const mdValue = metadata2.get("grpc-retry-pushback-ms");
if (mdValue.length === 0) {
return null;
}
try {
return parseInt(mdValue[0]);
} catch (e2) {
return -1;
}
}
handleChildStatus(status2, callIndex) {
var _a4;
if (this.underlyingCalls[callIndex].state === "COMPLETED") {
return;
}
this.trace("state=" + this.state + " handling status with progress " + status2.progress + " from child [" + this.underlyingCalls[callIndex].call.getCallNumber() + "] in state " + this.underlyingCalls[callIndex].state);
this.underlyingCalls[callIndex].state = "COMPLETED";
if (status2.code === constants_1.Status.OK) {
(_a4 = this.retryThrottler) === null || _a4 === void 0 ? void 0 : _a4.addCallSucceeded();
this.commitCall(callIndex);
this.reportStatus(status2);
return;
}
if (this.state === "NO_RETRY") {
this.commitCall(callIndex);
this.reportStatus(status2);
return;
}
if (this.state === "COMMITTED") {
this.reportStatus(status2);
return;
}
const pushback = this.getPushback(status2.metadata);
switch (status2.progress) {
case "NOT_STARTED":
this.startNewAttempt();
break;
case "REFUSED":
if (this.transparentRetryUsed) {
this.handleProcessedStatus(status2, callIndex, pushback);
} else {
this.transparentRetryUsed = true;
this.startNewAttempt();
}
break;
case "DROP":
this.commitCall(callIndex);
this.reportStatus(status2);
break;
case "PROCESSED":
this.handleProcessedStatus(status2, callIndex, pushback);
break;
}
}
maybeStartHedgingAttempt() {
if (this.state !== "HEDGING") {
return;
}
if (!this.callConfig.methodConfig.hedgingPolicy) {
return;
}
if (this.attempts >= this.maxAttempts) {
return;
}
this.attempts += 1;
this.startNewAttempt();
this.maybeStartHedgingTimer();
}
maybeStartHedgingTimer() {
var _a4, _b, _c;
if (this.hedgingTimer) {
clearTimeout(this.hedgingTimer);
}
if (this.state !== "HEDGING") {
return;
}
if (!this.callConfig.methodConfig.hedgingPolicy) {
return;
}
const hedgingPolicy = this.callConfig.methodConfig.hedgingPolicy;
if (this.attempts >= this.maxAttempts) {
return;
}
const hedgingDelayString = (_a4 = hedgingPolicy.hedgingDelay) !== null && _a4 !== void 0 ? _a4 : "0s";
const hedgingDelaySec = Number(hedgingDelayString.substring(0, hedgingDelayString.length - 1));
this.hedgingTimer = setTimeout(() => {
this.maybeStartHedgingAttempt();
}, hedgingDelaySec * 1e3);
(_c = (_b = this.hedgingTimer).unref) === null || _c === void 0 ? void 0 : _c.call(_b);
}
startNewAttempt() {
const child = this.channel.createLoadBalancingCall(this.callConfig, this.methodName, this.host, this.credentials, this.deadline);
this.trace("Created child call [" + child.getCallNumber() + "] for attempt " + this.attempts);
const index = this.underlyingCalls.length;
this.underlyingCalls.push({
state: "ACTIVE",
call: child,
nextMessageToSend: 0,
startTime: /* @__PURE__ */ new Date()
});
const previousAttempts = this.attempts - 1;
const initialMetadata = this.initialMetadata.clone();
if (previousAttempts > 0) {
initialMetadata.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
}
let receivedMetadata = false;
child.start(initialMetadata, {
onReceiveMetadata: (metadata2) => {
this.trace("Received metadata from child [" + child.getCallNumber() + "]");
this.commitCall(index);
receivedMetadata = true;
if (previousAttempts > 0) {
metadata2.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
}
if (this.underlyingCalls[index].state === "ACTIVE") {
this.listener.onReceiveMetadata(metadata2);
}
},
onReceiveMessage: (message) => {
this.trace("Received message from child [" + child.getCallNumber() + "]");
this.commitCall(index);
if (this.underlyingCalls[index].state === "ACTIVE") {
this.listener.onReceiveMessage(message);
}
},
onReceiveStatus: (status2) => {
this.trace("Received status from child [" + child.getCallNumber() + "]");
if (!receivedMetadata && previousAttempts > 0) {
status2.metadata.set(PREVIONS_RPC_ATTEMPTS_METADATA_KEY, `${previousAttempts}`);
}
this.handleChildStatus(status2, index);
}
});
this.sendNextChildMessage(index);
if (this.readStarted) {
child.startRead();
}
}
start(metadata2, listener) {
this.trace("start called");
this.listener = listener;
this.initialMetadata = metadata2;
this.attempts += 1;
this.startNewAttempt();
this.maybeStartHedgingTimer();
}
handleChildWriteCompleted(childIndex, messageIndex) {
var _a4, _b;
(_b = (_a4 = this.getBufferEntry(messageIndex)).callback) === null || _b === void 0 ? void 0 : _b.call(_a4);
this.clearSentMessages();
const childCall = this.underlyingCalls[childIndex];
childCall.nextMessageToSend += 1;
this.sendNextChildMessage(childIndex);
}
sendNextChildMessage(childIndex) {
const childCall = this.underlyingCalls[childIndex];
if (childCall.state === "COMPLETED") {
return;
}
const messageIndex = childCall.nextMessageToSend;
if (this.getBufferEntry(messageIndex)) {
const bufferEntry = this.getBufferEntry(messageIndex);
switch (bufferEntry.entryType) {
case "MESSAGE":
childCall.call.sendMessageWithContext({
callback: (error40) => {
this.handleChildWriteCompleted(childIndex, messageIndex);
}
}, bufferEntry.message.message);
const nextEntry = this.getBufferEntry(messageIndex + 1);
if (nextEntry.entryType === "HALF_CLOSE") {
this.trace("Sending halfClose immediately after message to child [" + childCall.call.getCallNumber() + "] - optimizing for unary/final message");
childCall.nextMessageToSend += 1;
childCall.call.halfClose();
}
break;
case "HALF_CLOSE":
childCall.nextMessageToSend += 1;
childCall.call.halfClose();
break;
case "FREED":
break;
}
}
}
sendMessageWithContext(context2, message) {
this.trace("write() called with message of length " + message.length);
const writeObj = {
message,
flags: context2.flags
};
const messageIndex = this.getNextBufferIndex();
const bufferEntry = {
entryType: "MESSAGE",
message: writeObj,
allocated: this.bufferTracker.allocate(message.length, this.callNumber)
};
this.writeBuffer.push(bufferEntry);
if (bufferEntry.allocated) {
process.nextTick(() => {
var _a4;
(_a4 = context2.callback) === null || _a4 === void 0 ? void 0 : _a4.call(context2);
});
for (const [callIndex, call] of this.underlyingCalls.entries()) {
if (call.state === "ACTIVE" && call.nextMessageToSend === messageIndex) {
call.call.sendMessageWithContext({
callback: (error40) => {
this.handleChildWriteCompleted(callIndex, messageIndex);
}
}, message);
}
}
} else {
this.commitCallWithMostMessages();
if (this.committedCallIndex === null) {
return;
}
const call = this.underlyingCalls[this.committedCallIndex];
bufferEntry.callback = context2.callback;
if (call.state === "ACTIVE" && call.nextMessageToSend === messageIndex) {
call.call.sendMessageWithContext({
callback: (error40) => {
this.handleChildWriteCompleted(this.committedCallIndex, messageIndex);
}
}, message);
}
}
}
startRead() {
this.trace("startRead called");
this.readStarted = true;
for (const underlyingCall of this.underlyingCalls) {
if ((underlyingCall === null || underlyingCall === void 0 ? void 0 : underlyingCall.state) === "ACTIVE") {
underlyingCall.call.startRead();
}
}
}
halfClose() {
this.trace("halfClose called");
const halfCloseIndex = this.getNextBufferIndex();
this.writeBuffer.push({
entryType: "HALF_CLOSE",
allocated: false
});
for (const call of this.underlyingCalls) {
if ((call === null || call === void 0 ? void 0 : call.state) === "ACTIVE") {
if (call.nextMessageToSend === halfCloseIndex || call.nextMessageToSend === halfCloseIndex - 1) {
this.trace("Sending halfClose immediately to child [" + call.call.getCallNumber() + "] - all messages already sent");
call.nextMessageToSend += 1;
call.call.halfClose();
}
}
}
}
setCredentials(newCredentials) {
throw new Error("Method not implemented.");
}
getMethod() {
return this.methodName;
}
getHost() {
return this.host;
}
getAuthContext() {
if (this.committedCallIndex !== null) {
return this.underlyingCalls[this.committedCallIndex].call.getAuthContext();
} else {
return null;
}
}
};
exports2.RetryingCall = RetryingCall;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js
var require_subchannel_interface2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/subchannel-interface.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BaseSubchannelWrapper = void 0;
var BaseSubchannelWrapper = class {
constructor(child) {
this.child = child;
this.healthy = true;
this.healthListeners = /* @__PURE__ */ new Set();
this.refcount = 0;
this.dataWatchers = /* @__PURE__ */ new Set();
child.addHealthStateWatcher((childHealthy) => {
if (this.healthy) {
this.updateHealthListeners();
}
});
}
updateHealthListeners() {
for (const listener of this.healthListeners) {
listener(this.isHealthy());
}
}
getConnectivityState() {
return this.child.getConnectivityState();
}
addConnectivityStateListener(listener) {
this.child.addConnectivityStateListener(listener);
}
removeConnectivityStateListener(listener) {
this.child.removeConnectivityStateListener(listener);
}
startConnecting() {
this.child.startConnecting();
}
getAddress() {
return this.child.getAddress();
}
throttleKeepalive(newKeepaliveTime) {
this.child.throttleKeepalive(newKeepaliveTime);
}
ref() {
this.child.ref();
this.refcount += 1;
}
unref() {
this.child.unref();
this.refcount -= 1;
if (this.refcount === 0) {
this.destroy();
}
}
destroy() {
for (const watcher of this.dataWatchers) {
watcher.destroy();
}
}
getChannelzRef() {
return this.child.getChannelzRef();
}
isHealthy() {
return this.healthy && this.child.isHealthy();
}
addHealthStateWatcher(listener) {
this.healthListeners.add(listener);
}
removeHealthStateWatcher(listener) {
this.healthListeners.delete(listener);
}
addDataWatcher(dataWatcher) {
dataWatcher.setSubchannel(this.getRealSubchannel());
this.dataWatchers.add(dataWatcher);
}
setHealthy(healthy) {
if (healthy !== this.healthy) {
this.healthy = healthy;
if (this.child.isHealthy()) {
this.updateHealthListeners();
}
}
}
getRealSubchannel() {
return this.child.getRealSubchannel();
}
realSubchannelEquals(other) {
return this.getRealSubchannel() === other.getRealSubchannel();
}
getCallCredentials() {
return this.child.getCallCredentials();
}
getChannel() {
return this.child.getChannel();
}
};
exports2.BaseSubchannelWrapper = BaseSubchannelWrapper;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/internal-channel.js
var require_internal_channel2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/internal-channel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.InternalChannel = exports2.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX = void 0;
var channel_credentials_1 = require_channel_credentials2();
var resolving_load_balancer_1 = require_resolving_load_balancer2();
var subchannel_pool_1 = require_subchannel_pool2();
var picker_1 = require_picker2();
var metadata_1 = require_metadata4();
var constants_1 = require_constants10();
var filter_stack_1 = require_filter_stack2();
var compression_filter_1 = require_compression_filter2();
var resolver_1 = require_resolver2();
var logging_1 = require_logging2();
var http_proxy_1 = require_http_proxy2();
var uri_parser_1 = require_uri_parser2();
var connectivity_state_1 = require_connectivity_state2();
var channelz_1 = require_channelz2();
var load_balancing_call_1 = require_load_balancing_call2();
var deadline_1 = require_deadline2();
var resolving_call_1 = require_resolving_call2();
var call_number_1 = require_call_number2();
var control_plane_status_1 = require_control_plane_status2();
var retrying_call_1 = require_retrying_call2();
var subchannel_interface_1 = require_subchannel_interface2();
var MAX_TIMEOUT_TIME = 2147483647;
var MIN_IDLE_TIMEOUT_MS = 1e3;
var DEFAULT_IDLE_TIMEOUT_MS = 30 * 60 * 1e3;
var RETRY_THROTTLER_MAP = /* @__PURE__ */ new Map();
var DEFAULT_RETRY_BUFFER_SIZE_BYTES = 1 << 24;
var DEFAULT_PER_RPC_RETRY_BUFFER_SIZE_BYTES = 1 << 20;
var ChannelSubchannelWrapper = class extends subchannel_interface_1.BaseSubchannelWrapper {
constructor(childSubchannel, channel) {
super(childSubchannel);
this.channel = channel;
this.refCount = 0;
this.subchannelStateListener = (subchannel, previousState, newState, keepaliveTime) => {
channel.throttleKeepalive(keepaliveTime);
};
}
ref() {
if (this.refCount === 0) {
this.child.addConnectivityStateListener(this.subchannelStateListener);
this.channel.addWrappedSubchannel(this);
}
this.child.ref();
this.refCount += 1;
}
unref() {
this.child.unref();
this.refCount -= 1;
if (this.refCount <= 0) {
this.child.removeConnectivityStateListener(this.subchannelStateListener);
this.channel.removeWrappedSubchannel(this);
}
}
};
var ShutdownPicker = class {
pick(pickArgs) {
return {
pickResultType: picker_1.PickResultType.DROP,
status: {
code: constants_1.Status.UNAVAILABLE,
details: "Channel closed before call started",
metadata: new metadata_1.Metadata()
},
subchannel: null,
onCallStarted: null,
onCallEnded: null
};
}
};
exports2.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX = "grpc.internal.no_subchannel";
var ChannelzInfoTracker = class {
constructor(target) {
this.target = target;
this.trace = new channelz_1.ChannelzTrace();
this.callTracker = new channelz_1.ChannelzCallTracker();
this.childrenTracker = new channelz_1.ChannelzChildrenTracker();
this.state = connectivity_state_1.ConnectivityState.IDLE;
}
getChannelzInfoCallback() {
return () => {
return {
target: this.target,
state: this.state,
trace: this.trace,
callTracker: this.callTracker,
children: this.childrenTracker.getChildLists()
};
};
}
};
var InternalChannel = class {
constructor(target, credentials3, options) {
var _a4, _b, _c, _d, _e, _f;
this.credentials = credentials3;
this.options = options;
this.connectivityState = connectivity_state_1.ConnectivityState.IDLE;
this.currentPicker = new picker_1.UnavailablePicker();
this.configSelectionQueue = [];
this.pickQueue = [];
this.connectivityStateWatchers = [];
this.callRefTimer = null;
this.configSelector = null;
this.currentResolutionError = null;
this.wrappedSubchannels = /* @__PURE__ */ new Set();
this.callCount = 0;
this.idleTimer = null;
this.channelzEnabled = true;
this.randomChannelId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
if (typeof target !== "string") {
throw new TypeError("Channel target must be a string");
}
if (!(credentials3 instanceof channel_credentials_1.ChannelCredentials)) {
throw new TypeError("Channel credentials must be a ChannelCredentials object");
}
if (options) {
if (typeof options !== "object") {
throw new TypeError("Channel options must be an object");
}
}
this.channelzInfoTracker = new ChannelzInfoTracker(target);
const originalTargetUri = (0, uri_parser_1.parseUri)(target);
if (originalTargetUri === null) {
throw new Error(`Could not parse target name "${target}"`);
}
const defaultSchemeMapResult = (0, resolver_1.mapUriDefaultScheme)(originalTargetUri);
if (defaultSchemeMapResult === null) {
throw new Error(`Could not find a default scheme for target name "${target}"`);
}
if (this.options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
}
this.channelzRef = (0, channelz_1.registerChannelzChannel)(target, this.channelzInfoTracker.getChannelzInfoCallback(), this.channelzEnabled);
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Channel created");
}
if (this.options["grpc.default_authority"]) {
this.defaultAuthority = this.options["grpc.default_authority"];
} else {
this.defaultAuthority = (0, resolver_1.getDefaultAuthority)(defaultSchemeMapResult);
}
const proxyMapResult = (0, http_proxy_1.mapProxyName)(defaultSchemeMapResult, options);
this.target = proxyMapResult.target;
this.options = Object.assign({}, this.options, proxyMapResult.extraOptions);
this.subchannelPool = (0, subchannel_pool_1.getSubchannelPool)(((_a4 = this.options["grpc.use_local_subchannel_pool"]) !== null && _a4 !== void 0 ? _a4 : 0) === 0);
this.retryBufferTracker = new retrying_call_1.MessageBufferTracker((_b = this.options["grpc.retry_buffer_size"]) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_BUFFER_SIZE_BYTES, (_c = this.options["grpc.per_rpc_retry_buffer_size"]) !== null && _c !== void 0 ? _c : DEFAULT_PER_RPC_RETRY_BUFFER_SIZE_BYTES);
this.keepaliveTime = (_d = this.options["grpc.keepalive_time_ms"]) !== null && _d !== void 0 ? _d : -1;
this.idleTimeoutMs = Math.max((_e = this.options["grpc.client_idle_timeout_ms"]) !== null && _e !== void 0 ? _e : DEFAULT_IDLE_TIMEOUT_MS, MIN_IDLE_TIMEOUT_MS);
const channelControlHelper = {
createSubchannel: (subchannelAddress, subchannelArgs) => {
const finalSubchannelArgs = {};
for (const [key, value] of Object.entries(subchannelArgs)) {
if (!key.startsWith(exports2.SUBCHANNEL_ARGS_EXCLUDE_KEY_PREFIX)) {
finalSubchannelArgs[key] = value;
}
}
const subchannel = this.subchannelPool.getOrCreateSubchannel(this.target, subchannelAddress, finalSubchannelArgs, this.credentials);
subchannel.throttleKeepalive(this.keepaliveTime);
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Created subchannel or used existing subchannel", subchannel.getChannelzRef());
}
const wrappedSubchannel = new ChannelSubchannelWrapper(subchannel, this);
return wrappedSubchannel;
},
updateState: (connectivityState, picker) => {
this.currentPicker = picker;
const queueCopy = this.pickQueue.slice();
this.pickQueue = [];
if (queueCopy.length > 0) {
this.callRefTimerUnref();
}
for (const call of queueCopy) {
call.doPick();
}
this.updateState(connectivityState);
},
requestReresolution: () => {
throw new Error("Resolving load balancer should never call requestReresolution");
},
addChannelzChild: (child) => {
if (this.channelzEnabled) {
this.channelzInfoTracker.childrenTracker.refChild(child);
}
},
removeChannelzChild: (child) => {
if (this.channelzEnabled) {
this.channelzInfoTracker.childrenTracker.unrefChild(child);
}
}
};
this.resolvingLoadBalancer = new resolving_load_balancer_1.ResolvingLoadBalancer(this.target, channelControlHelper, this.options, (serviceConfig, configSelector) => {
var _a5;
if (serviceConfig.retryThrottling) {
RETRY_THROTTLER_MAP.set(this.getTarget(), new retrying_call_1.RetryThrottler(serviceConfig.retryThrottling.maxTokens, serviceConfig.retryThrottling.tokenRatio, RETRY_THROTTLER_MAP.get(this.getTarget())));
} else {
RETRY_THROTTLER_MAP.delete(this.getTarget());
}
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Address resolution succeeded");
}
(_a5 = this.configSelector) === null || _a5 === void 0 ? void 0 : _a5.unref();
this.configSelector = configSelector;
this.currentResolutionError = null;
process.nextTick(() => {
const localQueue = this.configSelectionQueue;
this.configSelectionQueue = [];
if (localQueue.length > 0) {
this.callRefTimerUnref();
}
for (const call of localQueue) {
call.getConfig();
}
});
}, (status2) => {
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_WARNING", "Address resolution failed with code " + status2.code + ' and details "' + status2.details + '"');
}
if (this.configSelectionQueue.length > 0) {
this.trace("Name resolution failed with calls queued for config selection");
}
if (this.configSelector === null) {
this.currentResolutionError = Object.assign(Object.assign({}, (0, control_plane_status_1.restrictControlPlaneStatusCode)(status2.code, status2.details)), { metadata: status2.metadata });
}
const localQueue = this.configSelectionQueue;
this.configSelectionQueue = [];
if (localQueue.length > 0) {
this.callRefTimerUnref();
}
for (const call of localQueue) {
call.reportResolverError(status2);
}
});
this.filterStackFactory = new filter_stack_1.FilterStackFactory([
new compression_filter_1.CompressionFilterFactory(this, this.options)
]);
this.trace("Channel constructed with options " + JSON.stringify(options, void 0, 2));
const error40 = new Error();
if ((0, logging_1.isTracerEnabled)("channel_stacktrace")) {
(0, logging_1.trace)(constants_1.LogVerbosity.DEBUG, "channel_stacktrace", "(" + this.channelzRef.id + ") Channel constructed \n" + ((_f = error40.stack) === null || _f === void 0 ? void 0 : _f.substring(error40.stack.indexOf("\n") + 1)));
}
this.lastActivityTimestamp = /* @__PURE__ */ new Date();
}
trace(text, verbosityOverride) {
(0, logging_1.trace)(verbosityOverride !== null && verbosityOverride !== void 0 ? verbosityOverride : constants_1.LogVerbosity.DEBUG, "channel", "(" + this.channelzRef.id + ") " + (0, uri_parser_1.uriToString)(this.target) + " " + text);
}
callRefTimerRef() {
var _a4, _b, _c, _d;
if (!this.callRefTimer) {
this.callRefTimer = setInterval(() => {
}, MAX_TIMEOUT_TIME);
}
if (!((_b = (_a4 = this.callRefTimer).hasRef) === null || _b === void 0 ? void 0 : _b.call(_a4))) {
this.trace("callRefTimer.ref | configSelectionQueue.length=" + this.configSelectionQueue.length + " pickQueue.length=" + this.pickQueue.length);
(_d = (_c = this.callRefTimer).ref) === null || _d === void 0 ? void 0 : _d.call(_c);
}
}
callRefTimerUnref() {
var _a4, _b, _c;
if (!((_a4 = this.callRefTimer) === null || _a4 === void 0 ? void 0 : _a4.hasRef) || this.callRefTimer.hasRef()) {
this.trace("callRefTimer.unref | configSelectionQueue.length=" + this.configSelectionQueue.length + " pickQueue.length=" + this.pickQueue.length);
(_c = (_b = this.callRefTimer) === null || _b === void 0 ? void 0 : _b.unref) === null || _c === void 0 ? void 0 : _c.call(_b);
}
}
removeConnectivityStateWatcher(watcherObject) {
const watcherIndex = this.connectivityStateWatchers.findIndex((value) => value === watcherObject);
if (watcherIndex >= 0) {
this.connectivityStateWatchers.splice(watcherIndex, 1);
}
}
updateState(newState) {
(0, logging_1.trace)(constants_1.LogVerbosity.DEBUG, "connectivity_state", "(" + this.channelzRef.id + ") " + (0, uri_parser_1.uriToString)(this.target) + " " + connectivity_state_1.ConnectivityState[this.connectivityState] + " -> " + connectivity_state_1.ConnectivityState[newState]);
if (this.channelzEnabled) {
this.channelzInfoTracker.trace.addTrace("CT_INFO", "Connectivity state change to " + connectivity_state_1.ConnectivityState[newState]);
}
this.connectivityState = newState;
this.channelzInfoTracker.state = newState;
const watchersCopy = this.connectivityStateWatchers.slice();
for (const watcherObject of watchersCopy) {
if (newState !== watcherObject.currentState) {
if (watcherObject.timer) {
clearTimeout(watcherObject.timer);
}
this.removeConnectivityStateWatcher(watcherObject);
watcherObject.callback();
}
}
if (newState !== connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE) {
this.currentResolutionError = null;
}
}
throttleKeepalive(newKeepaliveTime) {
if (newKeepaliveTime > this.keepaliveTime) {
this.keepaliveTime = newKeepaliveTime;
for (const wrappedSubchannel of this.wrappedSubchannels) {
wrappedSubchannel.throttleKeepalive(newKeepaliveTime);
}
}
}
addWrappedSubchannel(wrappedSubchannel) {
this.wrappedSubchannels.add(wrappedSubchannel);
}
removeWrappedSubchannel(wrappedSubchannel) {
this.wrappedSubchannels.delete(wrappedSubchannel);
}
doPick(metadata2, extraPickInfo) {
return this.currentPicker.pick({
metadata: metadata2,
extraPickInfo
});
}
queueCallForPick(call) {
this.pickQueue.push(call);
this.callRefTimerRef();
}
getConfig(method, metadata2) {
if (this.connectivityState !== connectivity_state_1.ConnectivityState.SHUTDOWN) {
this.resolvingLoadBalancer.exitIdle();
}
if (this.configSelector) {
return {
type: "SUCCESS",
config: this.configSelector.invoke(method, metadata2, this.randomChannelId)
};
} else {
if (this.currentResolutionError) {
return {
type: "ERROR",
error: this.currentResolutionError
};
} else {
return {
type: "NONE"
};
}
}
}
queueCallForConfig(call) {
this.configSelectionQueue.push(call);
this.callRefTimerRef();
}
enterIdle() {
this.resolvingLoadBalancer.destroy();
this.updateState(connectivity_state_1.ConnectivityState.IDLE);
this.currentPicker = new picker_1.QueuePicker(this.resolvingLoadBalancer);
if (this.idleTimer) {
clearTimeout(this.idleTimer);
this.idleTimer = null;
}
if (this.callRefTimer) {
clearInterval(this.callRefTimer);
this.callRefTimer = null;
}
}
startIdleTimeout(timeoutMs) {
var _a4, _b;
this.idleTimer = setTimeout(() => {
if (this.callCount > 0) {
this.startIdleTimeout(this.idleTimeoutMs);
return;
}
const now = /* @__PURE__ */ new Date();
const timeSinceLastActivity = now.valueOf() - this.lastActivityTimestamp.valueOf();
if (timeSinceLastActivity >= this.idleTimeoutMs) {
this.trace("Idle timer triggered after " + this.idleTimeoutMs + "ms of inactivity");
this.enterIdle();
} else {
this.startIdleTimeout(this.idleTimeoutMs - timeSinceLastActivity);
}
}, timeoutMs);
(_b = (_a4 = this.idleTimer).unref) === null || _b === void 0 ? void 0 : _b.call(_a4);
}
maybeStartIdleTimer() {
if (this.connectivityState !== connectivity_state_1.ConnectivityState.SHUTDOWN && !this.idleTimer) {
this.startIdleTimeout(this.idleTimeoutMs);
}
}
onCallStart() {
if (this.channelzEnabled) {
this.channelzInfoTracker.callTracker.addCallStarted();
}
this.callCount += 1;
}
onCallEnd(status2) {
if (this.channelzEnabled) {
if (status2.code === constants_1.Status.OK) {
this.channelzInfoTracker.callTracker.addCallSucceeded();
} else {
this.channelzInfoTracker.callTracker.addCallFailed();
}
}
this.callCount -= 1;
this.lastActivityTimestamp = /* @__PURE__ */ new Date();
this.maybeStartIdleTimer();
}
createLoadBalancingCall(callConfig, method, host, credentials3, deadline) {
const callNumber = (0, call_number_1.getNextCallNumber)();
this.trace("createLoadBalancingCall [" + callNumber + '] method="' + method + '"');
return new load_balancing_call_1.LoadBalancingCall(this, callConfig, method, host, credentials3, deadline, callNumber);
}
createRetryingCall(callConfig, method, host, credentials3, deadline) {
const callNumber = (0, call_number_1.getNextCallNumber)();
this.trace("createRetryingCall [" + callNumber + '] method="' + method + '"');
return new retrying_call_1.RetryingCall(this, callConfig, method, host, credentials3, deadline, callNumber, this.retryBufferTracker, RETRY_THROTTLER_MAP.get(this.getTarget()));
}
createResolvingCall(method, deadline, host, parentCall, propagateFlags) {
const callNumber = (0, call_number_1.getNextCallNumber)();
this.trace("createResolvingCall [" + callNumber + '] method="' + method + '", deadline=' + (0, deadline_1.deadlineToString)(deadline));
const finalOptions = {
deadline,
flags: propagateFlags !== null && propagateFlags !== void 0 ? propagateFlags : constants_1.Propagate.DEFAULTS,
host: host !== null && host !== void 0 ? host : this.defaultAuthority,
parentCall
};
const call = new resolving_call_1.ResolvingCall(this, method, finalOptions, this.filterStackFactory.clone(), callNumber);
this.onCallStart();
call.addStatusWatcher((status2) => {
this.onCallEnd(status2);
});
return call;
}
close() {
var _a4;
this.resolvingLoadBalancer.destroy();
this.updateState(connectivity_state_1.ConnectivityState.SHUTDOWN);
this.currentPicker = new ShutdownPicker();
for (const call of this.configSelectionQueue) {
call.cancelWithStatus(constants_1.Status.UNAVAILABLE, "Channel closed before call started");
}
this.configSelectionQueue = [];
for (const call of this.pickQueue) {
call.cancelWithStatus(constants_1.Status.UNAVAILABLE, "Channel closed before call started");
}
this.pickQueue = [];
if (this.callRefTimer) {
clearInterval(this.callRefTimer);
}
if (this.idleTimer) {
clearTimeout(this.idleTimer);
}
if (this.channelzEnabled) {
(0, channelz_1.unregisterChannelzRef)(this.channelzRef);
}
this.subchannelPool.unrefUnusedSubchannels();
(_a4 = this.configSelector) === null || _a4 === void 0 ? void 0 : _a4.unref();
this.configSelector = null;
}
getTarget() {
return (0, uri_parser_1.uriToString)(this.target);
}
getConnectivityState(tryToConnect) {
const connectivityState = this.connectivityState;
if (tryToConnect) {
this.resolvingLoadBalancer.exitIdle();
this.lastActivityTimestamp = /* @__PURE__ */ new Date();
this.maybeStartIdleTimer();
}
return connectivityState;
}
watchConnectivityState(currentState, deadline, callback) {
if (this.connectivityState === connectivity_state_1.ConnectivityState.SHUTDOWN) {
throw new Error("Channel has been shut down");
}
let timer = null;
if (deadline !== Infinity) {
const deadlineDate = deadline instanceof Date ? deadline : new Date(deadline);
const now = /* @__PURE__ */ new Date();
if (deadline === -Infinity || deadlineDate <= now) {
process.nextTick(callback, new Error("Deadline passed without connectivity state change"));
return;
}
timer = setTimeout(() => {
this.removeConnectivityStateWatcher(watcherObject);
callback(new Error("Deadline passed without connectivity state change"));
}, deadlineDate.getTime() - now.getTime());
}
const watcherObject = {
currentState,
callback,
timer
};
this.connectivityStateWatchers.push(watcherObject);
}
/**
* Get the channelz reference object for this channel. The returned value is
* garbage if channelz is disabled for this channel.
* @returns
*/
getChannelzRef() {
return this.channelzRef;
}
createCall(method, deadline, host, parentCall, propagateFlags) {
if (typeof method !== "string") {
throw new TypeError("Channel#createCall: method must be a string");
}
if (!(typeof deadline === "number" || deadline instanceof Date)) {
throw new TypeError("Channel#createCall: deadline must be a number or Date");
}
if (this.connectivityState === connectivity_state_1.ConnectivityState.SHUTDOWN) {
throw new Error("Channel has been shut down");
}
return this.createResolvingCall(method, deadline, host, parentCall, propagateFlags);
}
getOptions() {
return this.options;
}
};
exports2.InternalChannel = InternalChannel;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/channel.js
var require_channel2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/channel.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ChannelImplementation = void 0;
var channel_credentials_1 = require_channel_credentials2();
var internal_channel_1 = require_internal_channel2();
var ChannelImplementation = class {
constructor(target, credentials3, options) {
if (typeof target !== "string") {
throw new TypeError("Channel target must be a string");
}
if (!(credentials3 instanceof channel_credentials_1.ChannelCredentials)) {
throw new TypeError("Channel credentials must be a ChannelCredentials object");
}
if (options) {
if (typeof options !== "object") {
throw new TypeError("Channel options must be an object");
}
}
this.internalChannel = new internal_channel_1.InternalChannel(target, credentials3, options);
}
close() {
this.internalChannel.close();
}
getTarget() {
return this.internalChannel.getTarget();
}
getConnectivityState(tryToConnect) {
return this.internalChannel.getConnectivityState(tryToConnect);
}
watchConnectivityState(currentState, deadline, callback) {
this.internalChannel.watchConnectivityState(currentState, deadline, callback);
}
/**
* Get the channelz reference object for this channel. The returned value is
* garbage if channelz is disabled for this channel.
* @returns
*/
getChannelzRef() {
return this.internalChannel.getChannelzRef();
}
createCall(method, deadline, host, parentCall, propagateFlags) {
if (typeof method !== "string") {
throw new TypeError("Channel#createCall: method must be a string");
}
if (!(typeof deadline === "number" || deadline instanceof Date)) {
throw new TypeError("Channel#createCall: deadline must be a number or Date");
}
return this.internalChannel.createCall(method, deadline, host, parentCall, propagateFlags);
}
};
exports2.ChannelImplementation = ChannelImplementation;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/server-call.js
var require_server_call2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/server-call.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ServerDuplexStreamImpl = exports2.ServerWritableStreamImpl = exports2.ServerReadableStreamImpl = exports2.ServerUnaryCallImpl = void 0;
exports2.serverErrorToStatus = serverErrorToStatus;
var events_1 = __require("events");
var stream_1 = __require("stream");
var constants_1 = require_constants10();
var metadata_1 = require_metadata4();
function serverErrorToStatus(error40, overrideTrailers) {
var _a4;
const status2 = {
code: constants_1.Status.UNKNOWN,
details: "message" in error40 ? error40.message : "Unknown Error",
metadata: (_a4 = overrideTrailers !== null && overrideTrailers !== void 0 ? overrideTrailers : error40.metadata) !== null && _a4 !== void 0 ? _a4 : null
};
if ("code" in error40 && typeof error40.code === "number" && Number.isInteger(error40.code)) {
status2.code = error40.code;
if ("details" in error40 && typeof error40.details === "string") {
status2.details = error40.details;
}
}
return status2;
}
var ServerUnaryCallImpl = class extends events_1.EventEmitter {
constructor(path101, call, metadata2, request) {
super();
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.request = request;
this.cancelled = false;
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
getAuthContext() {
return this.call.getAuthContext();
}
getMetricsRecorder() {
return this.call.getMetricsRecorder();
}
};
exports2.ServerUnaryCallImpl = ServerUnaryCallImpl;
var ServerReadableStreamImpl = class extends stream_1.Readable {
constructor(path101, call, metadata2) {
super({ objectMode: true });
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.cancelled = false;
}
_read(size) {
this.call.startRead();
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
getAuthContext() {
return this.call.getAuthContext();
}
getMetricsRecorder() {
return this.call.getMetricsRecorder();
}
};
exports2.ServerReadableStreamImpl = ServerReadableStreamImpl;
var ServerWritableStreamImpl = class extends stream_1.Writable {
constructor(path101, call, metadata2, request) {
super({ objectMode: true });
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.request = request;
this.pendingStatus = {
code: constants_1.Status.OK,
details: "OK"
};
this.cancelled = false;
this.trailingMetadata = new metadata_1.Metadata();
this.on("error", (err2) => {
this.pendingStatus = serverErrorToStatus(err2);
this.end();
});
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
getAuthContext() {
return this.call.getAuthContext();
}
getMetricsRecorder() {
return this.call.getMetricsRecorder();
}
_write(chunk, encoding, callback) {
this.call.sendMessage(chunk, callback);
}
_final(callback) {
var _a4;
callback(null);
this.call.sendStatus(Object.assign(Object.assign({}, this.pendingStatus), { metadata: (_a4 = this.pendingStatus.metadata) !== null && _a4 !== void 0 ? _a4 : this.trailingMetadata }));
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
end(metadata2) {
if (metadata2) {
this.trailingMetadata = metadata2;
}
return super.end();
}
};
exports2.ServerWritableStreamImpl = ServerWritableStreamImpl;
var ServerDuplexStreamImpl = class extends stream_1.Duplex {
constructor(path101, call, metadata2) {
super({ objectMode: true });
this.path = path101;
this.call = call;
this.metadata = metadata2;
this.pendingStatus = {
code: constants_1.Status.OK,
details: "OK"
};
this.cancelled = false;
this.trailingMetadata = new metadata_1.Metadata();
this.on("error", (err2) => {
this.pendingStatus = serverErrorToStatus(err2);
this.end();
});
}
getPeer() {
return this.call.getPeer();
}
sendMetadata(responseMetadata) {
this.call.sendMetadata(responseMetadata);
}
getDeadline() {
return this.call.getDeadline();
}
getPath() {
return this.path;
}
getHost() {
return this.call.getHost();
}
getAuthContext() {
return this.call.getAuthContext();
}
getMetricsRecorder() {
return this.call.getMetricsRecorder();
}
_read(size) {
this.call.startRead();
}
_write(chunk, encoding, callback) {
this.call.sendMessage(chunk, callback);
}
_final(callback) {
var _a4;
callback(null);
this.call.sendStatus(Object.assign(Object.assign({}, this.pendingStatus), { metadata: (_a4 = this.pendingStatus.metadata) !== null && _a4 !== void 0 ? _a4 : this.trailingMetadata }));
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
end(metadata2) {
if (metadata2) {
this.trailingMetadata = metadata2;
}
return super.end();
}
};
exports2.ServerDuplexStreamImpl = ServerDuplexStreamImpl;
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/server-credentials.js
var require_server_credentials2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/server-credentials.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ServerCredentials = void 0;
exports2.createCertificateProviderServerCredentials = createCertificateProviderServerCredentials;
exports2.createServerCredentialsWithInterceptors = createServerCredentialsWithInterceptors;
var tls_helpers_1 = require_tls_helpers2();
var ServerCredentials = class {
constructor(serverConstructorOptions, contextOptions) {
this.serverConstructorOptions = serverConstructorOptions;
this.watchers = /* @__PURE__ */ new Set();
this.latestContextOptions = null;
this.latestContextOptions = contextOptions !== null && contextOptions !== void 0 ? contextOptions : null;
}
_addWatcher(watcher) {
this.watchers.add(watcher);
}
_removeWatcher(watcher) {
this.watchers.delete(watcher);
}
getWatcherCount() {
return this.watchers.size;
}
updateSecureContextOptions(options) {
this.latestContextOptions = options;
for (const watcher of this.watchers) {
watcher(this.latestContextOptions);
}
}
_isSecure() {
return this.serverConstructorOptions !== null;
}
_getSecureContextOptions() {
return this.latestContextOptions;
}
_getConstructorOptions() {
return this.serverConstructorOptions;
}
_getInterceptors() {
return [];
}
static createInsecure() {
return new InsecureServerCredentials();
}
static createSsl(rootCerts, keyCertPairs, checkClientCertificate = false) {
var _a4;
if (rootCerts !== null && !Buffer.isBuffer(rootCerts)) {
throw new TypeError("rootCerts must be null or a Buffer");
}
if (!Array.isArray(keyCertPairs)) {
throw new TypeError("keyCertPairs must be an array");
}
if (typeof checkClientCertificate !== "boolean") {
throw new TypeError("checkClientCertificate must be a boolean");
}
const cert = [];
const key = [];
for (let i3 = 0; i3 < keyCertPairs.length; i3++) {
const pair = keyCertPairs[i3];
if (pair === null || typeof pair !== "object") {
throw new TypeError(`keyCertPair[${i3}] must be an object`);
}
if (!Buffer.isBuffer(pair.private_key)) {
throw new TypeError(`keyCertPair[${i3}].private_key must be a Buffer`);
}
if (!Buffer.isBuffer(pair.cert_chain)) {
throw new TypeError(`keyCertPair[${i3}].cert_chain must be a Buffer`);
}
cert.push(pair.cert_chain);
key.push(pair.private_key);
}
return new SecureServerCredentials({
requestCert: checkClientCertificate,
ciphers: tls_helpers_1.CIPHER_SUITES
}, {
ca: (_a4 = rootCerts !== null && rootCerts !== void 0 ? rootCerts : (0, tls_helpers_1.getDefaultRootsData)()) !== null && _a4 !== void 0 ? _a4 : void 0,
cert,
key
});
}
};
exports2.ServerCredentials = ServerCredentials;
var InsecureServerCredentials = class _InsecureServerCredentials extends ServerCredentials {
constructor() {
super(null);
}
_getSettings() {
return null;
}
_equals(other) {
return other instanceof _InsecureServerCredentials;
}
};
var SecureServerCredentials = class _SecureServerCredentials extends ServerCredentials {
constructor(constructorOptions, contextOptions) {
super(constructorOptions, contextOptions);
this.options = Object.assign(Object.assign({}, constructorOptions), contextOptions);
}
/**
* Checks equality by checking the options that are actually set by
* createSsl.
* @param other
* @returns
*/
_equals(other) {
if (this === other) {
return true;
}
if (!(other instanceof _SecureServerCredentials)) {
return false;
}
if (Buffer.isBuffer(this.options.ca) && Buffer.isBuffer(other.options.ca)) {
if (!this.options.ca.equals(other.options.ca)) {
return false;
}
} else {
if (this.options.ca !== other.options.ca) {
return false;
}
}
if (Array.isArray(this.options.cert) && Array.isArray(other.options.cert)) {
if (this.options.cert.length !== other.options.cert.length) {
return false;
}
for (let i3 = 0; i3 < this.options.cert.length; i3++) {
const thisCert = this.options.cert[i3];
const otherCert = other.options.cert[i3];
if (Buffer.isBuffer(thisCert) && Buffer.isBuffer(otherCert)) {
if (!thisCert.equals(otherCert)) {
return false;
}
} else {
if (thisCert !== otherCert) {
return false;
}
}
}
} else {
if (this.options.cert !== other.options.cert) {
return false;
}
}
if (Array.isArray(this.options.key) && Array.isArray(other.options.key)) {
if (this.options.key.length !== other.options.key.length) {
return false;
}
for (let i3 = 0; i3 < this.options.key.length; i3++) {
const thisKey = this.options.key[i3];
const otherKey = other.options.key[i3];
if (Buffer.isBuffer(thisKey) && Buffer.isBuffer(otherKey)) {
if (!thisKey.equals(otherKey)) {
return false;
}
} else {
if (thisKey !== otherKey) {
return false;
}
}
}
} else {
if (this.options.key !== other.options.key) {
return false;
}
}
if (this.options.requestCert !== other.options.requestCert) {
return false;
}
return true;
}
};
var CertificateProviderServerCredentials = class _CertificateProviderServerCredentials extends ServerCredentials {
constructor(identityCertificateProvider, caCertificateProvider, requireClientCertificate) {
super({
requestCert: caCertificateProvider !== null,
rejectUnauthorized: requireClientCertificate,
ciphers: tls_helpers_1.CIPHER_SUITES
});
this.identityCertificateProvider = identityCertificateProvider;
this.caCertificateProvider = caCertificateProvider;
this.requireClientCertificate = requireClientCertificate;
this.latestCaUpdate = null;
this.latestIdentityUpdate = null;
this.caCertificateUpdateListener = this.handleCaCertificateUpdate.bind(this);
this.identityCertificateUpdateListener = this.handleIdentityCertitificateUpdate.bind(this);
}
_addWatcher(watcher) {
var _a4;
if (this.getWatcherCount() === 0) {
(_a4 = this.caCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.addCaCertificateListener(this.caCertificateUpdateListener);
this.identityCertificateProvider.addIdentityCertificateListener(this.identityCertificateUpdateListener);
}
super._addWatcher(watcher);
}
_removeWatcher(watcher) {
var _a4;
super._removeWatcher(watcher);
if (this.getWatcherCount() === 0) {
(_a4 = this.caCertificateProvider) === null || _a4 === void 0 ? void 0 : _a4.removeCaCertificateListener(this.caCertificateUpdateListener);
this.identityCertificateProvider.removeIdentityCertificateListener(this.identityCertificateUpdateListener);
}
}
_equals(other) {
if (this === other) {
return true;
}
if (!(other instanceof _CertificateProviderServerCredentials)) {
return false;
}
return this.caCertificateProvider === other.caCertificateProvider && this.identityCertificateProvider === other.identityCertificateProvider && this.requireClientCertificate === other.requireClientCertificate;
}
calculateSecureContextOptions() {
var _a4;
if (this.latestIdentityUpdate === null) {
return null;
}
if (this.caCertificateProvider !== null && this.latestCaUpdate === null) {
return null;
}
return {
ca: (_a4 = this.latestCaUpdate) === null || _a4 === void 0 ? void 0 : _a4.caCertificate,
cert: [this.latestIdentityUpdate.certificate],
key: [this.latestIdentityUpdate.privateKey]
};
}
finalizeUpdate() {
const secureContextOptions = this.calculateSecureContextOptions();
this.updateSecureContextOptions(secureContextOptions);
}
handleCaCertificateUpdate(update) {
this.latestCaUpdate = update;
this.finalizeUpdate();
}
handleIdentityCertitificateUpdate(update) {
this.latestIdentityUpdate = update;
this.finalizeUpdate();
}
};
function createCertificateProviderServerCredentials(caCertificateProvider, identityCertificateProvider, requireClientCertificate) {
return new CertificateProviderServerCredentials(caCertificateProvider, identityCertificateProvider, requireClientCertificate);
}
var InterceptorServerCredentials = class _InterceptorServerCredentials extends ServerCredentials {
constructor(childCredentials, interceptors) {
super({});
this.childCredentials = childCredentials;
this.interceptors = interceptors;
}
_isSecure() {
return this.childCredentials._isSecure();
}
_equals(other) {
if (!(other instanceof _InterceptorServerCredentials)) {
return false;
}
if (!this.childCredentials._equals(other.childCredentials)) {
return false;
}
if (this.interceptors.length !== other.interceptors.length) {
return false;
}
for (let i3 = 0; i3 < this.interceptors.length; i3++) {
if (this.interceptors[i3] !== other.interceptors[i3]) {
return false;
}
}
return true;
}
_getInterceptors() {
return this.interceptors;
}
_addWatcher(watcher) {
this.childCredentials._addWatcher(watcher);
}
_removeWatcher(watcher) {
this.childCredentials._removeWatcher(watcher);
}
_getConstructorOptions() {
return this.childCredentials._getConstructorOptions();
}
_getSecureContextOptions() {
return this.childCredentials._getSecureContextOptions();
}
};
function createServerCredentialsWithInterceptors(credentials3, interceptors) {
return new InterceptorServerCredentials(credentials3, interceptors);
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/duration.js
var require_duration3 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/duration.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.durationMessageToDuration = durationMessageToDuration;
exports2.msToDuration = msToDuration;
exports2.durationToMs = durationToMs;
exports2.isDuration = isDuration;
exports2.isDurationMessage = isDurationMessage;
exports2.parseDuration = parseDuration;
exports2.durationToString = durationToString;
function durationMessageToDuration(message) {
return {
seconds: Number.parseInt(message.seconds),
nanos: message.nanos
};
}
function msToDuration(millis) {
return {
seconds: millis / 1e3 | 0,
nanos: millis % 1e3 * 1e6 | 0
};
}
function durationToMs(duration3) {
return duration3.seconds * 1e3 + duration3.nanos / 1e6 | 0;
}
function isDuration(value) {
return typeof value.seconds === "number" && typeof value.nanos === "number";
}
function isDurationMessage(value) {
return typeof value.seconds === "string" && typeof value.nanos === "number";
}
var durationRegex = /^(\d+)(?:\.(\d+))?s$/;
function parseDuration(value) {
const match2 = value.match(durationRegex);
if (!match2) {
return null;
}
return {
seconds: Number.parseInt(match2[1], 10),
nanos: match2[2] ? Number.parseInt(match2[2].padEnd(9, "0"), 10) : 0
};
}
function durationToString(duration3) {
if (duration3.nanos === 0) {
return `${duration3.seconds}s`;
}
let scaleFactor;
if (duration3.nanos % 1e6 === 0) {
scaleFactor = 1e6;
} else if (duration3.nanos % 1e3 === 0) {
scaleFactor = 1e3;
} else {
scaleFactor = 1;
}
return `${duration3.seconds}.${duration3.nanos / scaleFactor}s`;
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/orca.js
var require_orca = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/orca.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.OrcaOobMetricsSubchannelWrapper = exports2.GRPC_METRICS_HEADER = exports2.ServerMetricRecorder = exports2.PerRequestMetricRecorder = void 0;
exports2.createOrcaClient = createOrcaClient;
exports2.createMetricsReader = createMetricsReader;
var make_client_1 = require_make_client2();
var duration_1 = require_duration3();
var channel_credentials_1 = require_channel_credentials2();
var subchannel_interface_1 = require_subchannel_interface2();
var constants_1 = require_constants10();
var backoff_timeout_1 = require_backoff_timeout2();
var connectivity_state_1 = require_connectivity_state2();
var loadedOrcaProto = null;
function loadOrcaProto() {
if (loadedOrcaProto) {
return loadedOrcaProto;
}
const loaderLoadSync = require_src54().loadSync;
const loadedProto = loaderLoadSync("xds/service/orca/v3/orca.proto", {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
includeDirs: [
`${__chunk_dirname}/../../proto/xds`,
`${__chunk_dirname}/../../proto/protoc-gen-validate`
]
});
return (0, make_client_1.loadPackageDefinition)(loadedProto);
}
var PerRequestMetricRecorder = class {
constructor() {
this.message = {};
}
/**
* Records a request cost metric measurement for the call.
* @param name
* @param value
*/
recordRequestCostMetric(name3, value) {
if (!this.message.request_cost) {
this.message.request_cost = {};
}
this.message.request_cost[name3] = value;
}
/**
* Records a request cost metric measurement for the call.
* @param name
* @param value
*/
recordUtilizationMetric(name3, value) {
if (!this.message.utilization) {
this.message.utilization = {};
}
this.message.utilization[name3] = value;
}
/**
* Records an opaque named metric measurement for the call.
* @param name
* @param value
*/
recordNamedMetric(name3, value) {
if (!this.message.named_metrics) {
this.message.named_metrics = {};
}
this.message.named_metrics[name3] = value;
}
/**
* Records the CPU utilization metric measurement for the call.
* @param value
*/
recordCPUUtilizationMetric(value) {
this.message.cpu_utilization = value;
}
/**
* Records the memory utilization metric measurement for the call.
* @param value
*/
recordMemoryUtilizationMetric(value) {
this.message.mem_utilization = value;
}
/**
* Records the memory utilization metric measurement for the call.
* @param value
*/
recordApplicationUtilizationMetric(value) {
this.message.application_utilization = value;
}
/**
* Records the queries per second measurement.
* @param value
*/
recordQpsMetric(value) {
this.message.rps_fractional = value;
}
/**
* Records the errors per second measurement.
* @param value
*/
recordEpsMetric(value) {
this.message.eps = value;
}
serialize() {
const orcaProto = loadOrcaProto();
return orcaProto.xds.data.orca.v3.OrcaLoadReport.serialize(this.message);
}
};
exports2.PerRequestMetricRecorder = PerRequestMetricRecorder;
var DEFAULT_REPORT_INTERVAL_MS = 3e4;
var ServerMetricRecorder = class {
constructor() {
this.message = {};
this.serviceImplementation = {
StreamCoreMetrics: (call) => {
const reportInterval = call.request.report_interval ? (0, duration_1.durationToMs)((0, duration_1.durationMessageToDuration)(call.request.report_interval)) : DEFAULT_REPORT_INTERVAL_MS;
const reportTimer = setInterval(() => {
call.write(this.message);
}, reportInterval);
call.on("cancelled", () => {
clearInterval(reportTimer);
});
}
};
}
putUtilizationMetric(name3, value) {
if (!this.message.utilization) {
this.message.utilization = {};
}
this.message.utilization[name3] = value;
}
setAllUtilizationMetrics(metrics2) {
this.message.utilization = Object.assign({}, metrics2);
}
deleteUtilizationMetric(name3) {
var _a4;
(_a4 = this.message.utilization) === null || _a4 === void 0 ? true : delete _a4[name3];
}
setCpuUtilizationMetric(value) {
this.message.cpu_utilization = value;
}
deleteCpuUtilizationMetric() {
delete this.message.cpu_utilization;
}
setApplicationUtilizationMetric(value) {
this.message.application_utilization = value;
}
deleteApplicationUtilizationMetric() {
delete this.message.application_utilization;
}
setQpsMetric(value) {
this.message.rps_fractional = value;
}
deleteQpsMetric() {
delete this.message.rps_fractional;
}
setEpsMetric(value) {
this.message.eps = value;
}
deleteEpsMetric() {
delete this.message.eps;
}
addToServer(server) {
const serviceDefinition = loadOrcaProto().xds.service.orca.v3.OpenRcaService.service;
server.addService(serviceDefinition, this.serviceImplementation);
}
};
exports2.ServerMetricRecorder = ServerMetricRecorder;
function createOrcaClient(channel) {
const ClientClass = loadOrcaProto().xds.service.orca.v3.OpenRcaService;
return new ClientClass("unused", channel_credentials_1.ChannelCredentials.createInsecure(), { channelOverride: channel });
}
exports2.GRPC_METRICS_HEADER = "endpoint-load-metrics-bin";
var PARSED_LOAD_REPORT_KEY = "grpc_orca_load_report";
function createMetricsReader(listener, previousOnCallEnded) {
return (code, details, metadata2) => {
let parsedLoadReport = metadata2.getOpaque(PARSED_LOAD_REPORT_KEY);
if (parsedLoadReport) {
listener(parsedLoadReport);
} else {
const serializedLoadReport = metadata2.get(exports2.GRPC_METRICS_HEADER);
if (serializedLoadReport.length > 0) {
const orcaProto = loadOrcaProto();
parsedLoadReport = orcaProto.xds.data.orca.v3.OrcaLoadReport.deserialize(serializedLoadReport[0]);
listener(parsedLoadReport);
metadata2.setOpaque(PARSED_LOAD_REPORT_KEY, parsedLoadReport);
}
}
if (previousOnCallEnded) {
previousOnCallEnded(code, details, metadata2);
}
};
}
var DATA_PRODUCER_KEY = "orca_oob_metrics";
var OobMetricsDataWatcher = class {
constructor(metricsListener, intervalMs) {
this.metricsListener = metricsListener;
this.intervalMs = intervalMs;
this.dataProducer = null;
}
setSubchannel(subchannel) {
const producer = subchannel.getOrCreateDataProducer(DATA_PRODUCER_KEY, createOobMetricsDataProducer);
this.dataProducer = producer;
producer.addDataWatcher(this);
}
destroy() {
var _a4;
(_a4 = this.dataProducer) === null || _a4 === void 0 ? void 0 : _a4.removeDataWatcher(this);
}
getInterval() {
return this.intervalMs;
}
onMetricsUpdate(metrics2) {
this.metricsListener(metrics2);
}
};
var OobMetricsDataProducer = class {
constructor(subchannel) {
this.subchannel = subchannel;
this.dataWatchers = /* @__PURE__ */ new Set();
this.orcaSupported = true;
this.metricsCall = null;
this.currentInterval = Infinity;
this.backoffTimer = new backoff_timeout_1.BackoffTimeout(() => this.updateMetricsSubscription());
this.subchannelStateListener = () => this.updateMetricsSubscription();
const channel = subchannel.getChannel();
this.client = createOrcaClient(channel);
subchannel.addConnectivityStateListener(this.subchannelStateListener);
}
addDataWatcher(dataWatcher) {
this.dataWatchers.add(dataWatcher);
this.updateMetricsSubscription();
}
removeDataWatcher(dataWatcher) {
var _a4;
this.dataWatchers.delete(dataWatcher);
if (this.dataWatchers.size === 0) {
this.subchannel.removeDataProducer(DATA_PRODUCER_KEY);
(_a4 = this.metricsCall) === null || _a4 === void 0 ? void 0 : _a4.cancel();
this.metricsCall = null;
this.client.close();
this.subchannel.removeConnectivityStateListener(this.subchannelStateListener);
} else {
this.updateMetricsSubscription();
}
}
updateMetricsSubscription() {
var _a4;
if (this.dataWatchers.size === 0 || !this.orcaSupported || this.subchannel.getConnectivityState() !== connectivity_state_1.ConnectivityState.READY) {
return;
}
const newInterval = Math.min(...Array.from(this.dataWatchers).map((watcher) => watcher.getInterval()));
if (!this.metricsCall || newInterval !== this.currentInterval) {
(_a4 = this.metricsCall) === null || _a4 === void 0 ? void 0 : _a4.cancel();
this.currentInterval = newInterval;
const metricsCall = this.client.streamCoreMetrics({ report_interval: (0, duration_1.msToDuration)(newInterval) });
this.metricsCall = metricsCall;
metricsCall.on("data", (report) => {
this.dataWatchers.forEach((watcher) => {
watcher.onMetricsUpdate(report);
});
});
metricsCall.on("error", (error40) => {
this.metricsCall = null;
if (error40.code === constants_1.Status.UNIMPLEMENTED) {
this.orcaSupported = false;
return;
}
if (error40.code === constants_1.Status.CANCELLED) {
return;
}
this.backoffTimer.runOnce();
});
}
}
};
var OrcaOobMetricsSubchannelWrapper = class extends subchannel_interface_1.BaseSubchannelWrapper {
constructor(child, metricsListener, intervalMs) {
super(child);
this.addDataWatcher(new OobMetricsDataWatcher(metricsListener, intervalMs));
}
getWrappedSubchannel() {
return this.child;
}
};
exports2.OrcaOobMetricsSubchannelWrapper = OrcaOobMetricsSubchannelWrapper;
function createOobMetricsDataProducer(subchannel) {
return new OobMetricsDataProducer(subchannel);
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/server-interceptors.js
var require_server_interceptors2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/server-interceptors.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.BaseServerInterceptingCall = exports2.ServerInterceptingCall = exports2.ResponderBuilder = exports2.ServerListenerBuilder = void 0;
exports2.isInterceptingServerListener = isInterceptingServerListener;
exports2.getServerInterceptingCall = getServerInterceptingCall;
var metadata_1 = require_metadata4();
var constants_1 = require_constants10();
var http22 = __require("http2");
var error_1 = require_error3();
var zlib2 = __require("zlib");
var stream_decoder_1 = require_stream_decoder2();
var logging = require_logging2();
var tls_1 = __require("tls");
var orca_1 = require_orca();
var TRACER_NAME2 = "server_call";
function trace2(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, text);
}
var ServerListenerBuilder = class {
constructor() {
this.metadata = void 0;
this.message = void 0;
this.halfClose = void 0;
this.cancel = void 0;
}
withOnReceiveMetadata(onReceiveMetadata) {
this.metadata = onReceiveMetadata;
return this;
}
withOnReceiveMessage(onReceiveMessage) {
this.message = onReceiveMessage;
return this;
}
withOnReceiveHalfClose(onReceiveHalfClose) {
this.halfClose = onReceiveHalfClose;
return this;
}
withOnCancel(onCancel) {
this.cancel = onCancel;
return this;
}
build() {
return {
onReceiveMetadata: this.metadata,
onReceiveMessage: this.message,
onReceiveHalfClose: this.halfClose,
onCancel: this.cancel
};
}
};
exports2.ServerListenerBuilder = ServerListenerBuilder;
function isInterceptingServerListener(listener) {
return listener.onReceiveMetadata !== void 0 && listener.onReceiveMetadata.length === 1;
}
var InterceptingServerListenerImpl = class {
constructor(listener, nextListener) {
this.listener = listener;
this.nextListener = nextListener;
this.cancelled = false;
this.processingMetadata = false;
this.hasPendingMessage = false;
this.pendingMessage = null;
this.processingMessage = false;
this.hasPendingHalfClose = false;
}
processPendingMessage() {
if (this.hasPendingMessage) {
this.nextListener.onReceiveMessage(this.pendingMessage);
this.pendingMessage = null;
this.hasPendingMessage = false;
}
}
processPendingHalfClose() {
if (this.hasPendingHalfClose) {
this.nextListener.onReceiveHalfClose();
this.hasPendingHalfClose = false;
}
}
onReceiveMetadata(metadata2) {
if (this.cancelled) {
return;
}
this.processingMetadata = true;
this.listener.onReceiveMetadata(metadata2, (interceptedMetadata) => {
this.processingMetadata = false;
if (this.cancelled) {
return;
}
this.nextListener.onReceiveMetadata(interceptedMetadata);
this.processPendingMessage();
this.processPendingHalfClose();
});
}
onReceiveMessage(message) {
if (this.cancelled) {
return;
}
this.processingMessage = true;
this.listener.onReceiveMessage(message, (msg) => {
this.processingMessage = false;
if (this.cancelled) {
return;
}
if (this.processingMetadata) {
this.pendingMessage = msg;
this.hasPendingMessage = true;
} else {
this.nextListener.onReceiveMessage(msg);
this.processPendingHalfClose();
}
});
}
onReceiveHalfClose() {
if (this.cancelled) {
return;
}
this.listener.onReceiveHalfClose(() => {
if (this.cancelled) {
return;
}
if (this.processingMetadata || this.processingMessage) {
this.hasPendingHalfClose = true;
} else {
this.nextListener.onReceiveHalfClose();
}
});
}
onCancel() {
this.cancelled = true;
this.listener.onCancel();
this.nextListener.onCancel();
}
};
var ResponderBuilder = class {
constructor() {
this.start = void 0;
this.metadata = void 0;
this.message = void 0;
this.status = void 0;
}
withStart(start2) {
this.start = start2;
return this;
}
withSendMetadata(sendMetadata) {
this.metadata = sendMetadata;
return this;
}
withSendMessage(sendMessage3) {
this.message = sendMessage3;
return this;
}
withSendStatus(sendStatus) {
this.status = sendStatus;
return this;
}
build() {
return {
start: this.start,
sendMetadata: this.metadata,
sendMessage: this.message,
sendStatus: this.status
};
}
};
exports2.ResponderBuilder = ResponderBuilder;
var defaultServerListener = {
onReceiveMetadata: (metadata2, next) => {
next(metadata2);
},
onReceiveMessage: (message, next) => {
next(message);
},
onReceiveHalfClose: (next) => {
next();
},
onCancel: () => {
}
};
var defaultResponder = {
start: (next) => {
next();
},
sendMetadata: (metadata2, next) => {
next(metadata2);
},
sendMessage: (message, next) => {
next(message);
},
sendStatus: (status2, next) => {
next(status2);
}
};
var ServerInterceptingCall = class {
constructor(nextCall, responder) {
var _a4, _b, _c, _d;
this.nextCall = nextCall;
this.processingMetadata = false;
this.sentMetadata = false;
this.processingMessage = false;
this.pendingMessage = null;
this.pendingMessageCallback = null;
this.pendingStatus = null;
this.responder = {
start: (_a4 = responder === null || responder === void 0 ? void 0 : responder.start) !== null && _a4 !== void 0 ? _a4 : defaultResponder.start,
sendMetadata: (_b = responder === null || responder === void 0 ? void 0 : responder.sendMetadata) !== null && _b !== void 0 ? _b : defaultResponder.sendMetadata,
sendMessage: (_c = responder === null || responder === void 0 ? void 0 : responder.sendMessage) !== null && _c !== void 0 ? _c : defaultResponder.sendMessage,
sendStatus: (_d = responder === null || responder === void 0 ? void 0 : responder.sendStatus) !== null && _d !== void 0 ? _d : defaultResponder.sendStatus
};
}
processPendingMessage() {
if (this.pendingMessageCallback) {
this.nextCall.sendMessage(this.pendingMessage, this.pendingMessageCallback);
this.pendingMessage = null;
this.pendingMessageCallback = null;
}
}
processPendingStatus() {
if (this.pendingStatus) {
this.nextCall.sendStatus(this.pendingStatus);
this.pendingStatus = null;
}
}
start(listener) {
this.responder.start((interceptedListener) => {
var _a4, _b, _c, _d;
const fullInterceptedListener = {
onReceiveMetadata: (_a4 = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onReceiveMetadata) !== null && _a4 !== void 0 ? _a4 : defaultServerListener.onReceiveMetadata,
onReceiveMessage: (_b = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onReceiveMessage) !== null && _b !== void 0 ? _b : defaultServerListener.onReceiveMessage,
onReceiveHalfClose: (_c = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onReceiveHalfClose) !== null && _c !== void 0 ? _c : defaultServerListener.onReceiveHalfClose,
onCancel: (_d = interceptedListener === null || interceptedListener === void 0 ? void 0 : interceptedListener.onCancel) !== null && _d !== void 0 ? _d : defaultServerListener.onCancel
};
const finalInterceptingListener = new InterceptingServerListenerImpl(fullInterceptedListener, listener);
this.nextCall.start(finalInterceptingListener);
});
}
sendMetadata(metadata2) {
this.processingMetadata = true;
this.sentMetadata = true;
this.responder.sendMetadata(metadata2, (interceptedMetadata) => {
this.processingMetadata = false;
this.nextCall.sendMetadata(interceptedMetadata);
this.processPendingMessage();
this.processPendingStatus();
});
}
sendMessage(message, callback) {
this.processingMessage = true;
if (!this.sentMetadata) {
this.sendMetadata(new metadata_1.Metadata());
}
this.responder.sendMessage(message, (interceptedMessage) => {
this.processingMessage = false;
if (this.processingMetadata) {
this.pendingMessage = interceptedMessage;
this.pendingMessageCallback = callback;
} else {
this.nextCall.sendMessage(interceptedMessage, callback);
}
});
}
sendStatus(status2) {
this.responder.sendStatus(status2, (interceptedStatus) => {
if (this.processingMetadata || this.processingMessage) {
this.pendingStatus = interceptedStatus;
} else {
this.nextCall.sendStatus(interceptedStatus);
}
});
}
startRead() {
this.nextCall.startRead();
}
getPeer() {
return this.nextCall.getPeer();
}
getDeadline() {
return this.nextCall.getDeadline();
}
getHost() {
return this.nextCall.getHost();
}
getAuthContext() {
return this.nextCall.getAuthContext();
}
getConnectionInfo() {
return this.nextCall.getConnectionInfo();
}
getMetricsRecorder() {
return this.nextCall.getMetricsRecorder();
}
};
exports2.ServerInterceptingCall = ServerInterceptingCall;
var GRPC_ACCEPT_ENCODING_HEADER = "grpc-accept-encoding";
var GRPC_ENCODING_HEADER = "grpc-encoding";
var GRPC_MESSAGE_HEADER = "grpc-message";
var GRPC_STATUS_HEADER = "grpc-status";
var GRPC_TIMEOUT_HEADER = "grpc-timeout";
var DEADLINE_REGEX = /(\d{1,8})\s*([HMSmun])/;
var deadlineUnitsToMs = {
H: 36e5,
M: 6e4,
S: 1e3,
m: 1,
u: 1e-3,
n: 1e-6
};
var defaultCompressionHeaders = {
// TODO(cjihrig): Remove these encoding headers from the default response
// once compression is integrated.
[GRPC_ACCEPT_ENCODING_HEADER]: "identity,deflate,gzip",
[GRPC_ENCODING_HEADER]: "identity"
};
var defaultResponseHeaders = {
[http22.constants.HTTP2_HEADER_STATUS]: http22.constants.HTTP_STATUS_OK,
[http22.constants.HTTP2_HEADER_CONTENT_TYPE]: "application/grpc+proto"
};
var defaultResponseOptions = {
waitForTrailers: true
};
var BaseServerInterceptingCall = class {
constructor(stream2, headers, callEventTracker, handler, options) {
var _a4, _b;
this.stream = stream2;
this.callEventTracker = callEventTracker;
this.handler = handler;
this.listener = null;
this.deadlineTimer = null;
this.deadline = Infinity;
this.maxSendMessageSize = constants_1.DEFAULT_MAX_SEND_MESSAGE_LENGTH;
this.maxReceiveMessageSize = constants_1.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;
this.cancelled = false;
this.metadataSent = false;
this.wantTrailers = false;
this.cancelNotified = false;
this.incomingEncoding = "identity";
this.readQueue = [];
this.isReadPending = false;
this.receivedHalfClose = false;
this.streamEnded = false;
this.metricsRecorder = new orca_1.PerRequestMetricRecorder();
this.stream.once("error", (err2) => {
});
this.stream.once("close", () => {
var _a5;
trace2("Request to method " + ((_a5 = this.handler) === null || _a5 === void 0 ? void 0 : _a5.path) + " stream closed with rstCode " + this.stream.rstCode);
if (this.callEventTracker && !this.streamEnded) {
this.streamEnded = true;
this.callEventTracker.onStreamEnd(false);
this.callEventTracker.onCallEnd({
code: constants_1.Status.CANCELLED,
details: "Stream closed before sending status",
metadata: null
});
}
this.notifyOnCancel();
});
this.stream.on("data", (data) => {
this.handleDataFrame(data);
});
this.stream.pause();
this.stream.on("end", () => {
this.handleEndEvent();
});
if ("grpc.max_send_message_length" in options) {
this.maxSendMessageSize = options["grpc.max_send_message_length"];
}
if ("grpc.max_receive_message_length" in options) {
this.maxReceiveMessageSize = options["grpc.max_receive_message_length"];
}
this.host = (_a4 = headers[":authority"]) !== null && _a4 !== void 0 ? _a4 : headers.host;
this.decoder = new stream_decoder_1.StreamDecoder(this.maxReceiveMessageSize);
const metadata2 = metadata_1.Metadata.fromHttp2Headers(headers);
if (logging.isTracerEnabled(TRACER_NAME2)) {
trace2("Request to " + this.handler.path + " received headers " + JSON.stringify(metadata2.toJSON()));
}
const timeoutHeader = metadata2.get(GRPC_TIMEOUT_HEADER);
if (timeoutHeader.length > 0) {
this.handleTimeoutHeader(timeoutHeader[0]);
}
const encodingHeader = metadata2.get(GRPC_ENCODING_HEADER);
if (encodingHeader.length > 0) {
this.incomingEncoding = encodingHeader[0];
}
metadata2.remove(GRPC_TIMEOUT_HEADER);
metadata2.remove(GRPC_ENCODING_HEADER);
metadata2.remove(GRPC_ACCEPT_ENCODING_HEADER);
metadata2.remove(http22.constants.HTTP2_HEADER_ACCEPT_ENCODING);
metadata2.remove(http22.constants.HTTP2_HEADER_TE);
metadata2.remove(http22.constants.HTTP2_HEADER_CONTENT_TYPE);
this.metadata = metadata2;
const socket = (_b = stream2.session) === null || _b === void 0 ? void 0 : _b.socket;
this.connectionInfo = {
localAddress: socket === null || socket === void 0 ? void 0 : socket.localAddress,
localPort: socket === null || socket === void 0 ? void 0 : socket.localPort,
remoteAddress: socket === null || socket === void 0 ? void 0 : socket.remoteAddress,
remotePort: socket === null || socket === void 0 ? void 0 : socket.remotePort
};
this.shouldSendMetrics = !!options["grpc.server_call_metric_recording"];
}
handleTimeoutHeader(timeoutHeader) {
const match2 = timeoutHeader.toString().match(DEADLINE_REGEX);
if (match2 === null) {
const status2 = {
code: constants_1.Status.INTERNAL,
details: `Invalid ${GRPC_TIMEOUT_HEADER} value "${timeoutHeader}"`,
metadata: null
};
process.nextTick(() => {
this.sendStatus(status2);
});
return;
}
const timeout = +match2[1] * deadlineUnitsToMs[match2[2]] | 0;
const now = /* @__PURE__ */ new Date();
this.deadline = now.setMilliseconds(now.getMilliseconds() + timeout);
this.deadlineTimer = setTimeout(() => {
const status2 = {
code: constants_1.Status.DEADLINE_EXCEEDED,
details: "Deadline exceeded",
metadata: null
};
this.sendStatus(status2);
}, timeout);
}
checkCancelled() {
if (!this.cancelled && (this.stream.destroyed || this.stream.closed)) {
this.notifyOnCancel();
this.cancelled = true;
}
return this.cancelled;
}
notifyOnCancel() {
if (this.cancelNotified) {
return;
}
this.cancelNotified = true;
this.cancelled = true;
process.nextTick(() => {
var _a4;
(_a4 = this.listener) === null || _a4 === void 0 ? void 0 : _a4.onCancel();
});
if (this.deadlineTimer) {
clearTimeout(this.deadlineTimer);
}
this.stream.resume();
}
/**
* A server handler can start sending messages without explicitly sending
* metadata. In that case, we need to send headers before sending any
* messages. This function does that if necessary.
*/
maybeSendMetadata() {
if (!this.metadataSent) {
this.sendMetadata(new metadata_1.Metadata());
}
}
/**
* Serialize a message to a length-delimited byte string.
* @param value
* @returns
*/
serializeMessage(value) {
const messageBuffer = this.handler.serialize(value);
const byteLength = messageBuffer.byteLength;
const output = Buffer.allocUnsafe(byteLength + 5);
output.writeUInt8(0, 0);
output.writeUInt32BE(byteLength, 1);
messageBuffer.copy(output, 5);
return output;
}
decompressMessage(message, encoding) {
const messageContents = message.subarray(5);
if (encoding === "identity") {
return messageContents;
} else if (encoding === "deflate" || encoding === "gzip") {
let decompresser;
if (encoding === "deflate") {
decompresser = zlib2.createInflate();
} else {
decompresser = zlib2.createGunzip();
}
return new Promise((resolve25, reject) => {
let totalLength = 0;
const messageParts = [];
decompresser.on("data", (chunk) => {
messageParts.push(chunk);
totalLength += chunk.byteLength;
if (this.maxReceiveMessageSize !== -1 && totalLength > this.maxReceiveMessageSize) {
decompresser.destroy();
reject({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Received message that decompresses to a size larger than ${this.maxReceiveMessageSize}`
});
}
});
decompresser.on("end", () => {
resolve25(Buffer.concat(messageParts));
});
decompresser.write(messageContents);
decompresser.end();
});
} else {
return Promise.reject({
code: constants_1.Status.UNIMPLEMENTED,
details: `Received message compressed with unsupported encoding "${encoding}"`
});
}
}
async decompressAndMaybePush(queueEntry) {
if (queueEntry.type !== "COMPRESSED") {
throw new Error(`Invalid queue entry type: ${queueEntry.type}`);
}
const compressed = queueEntry.compressedMessage.readUInt8(0) === 1;
const compressedMessageEncoding = compressed ? this.incomingEncoding : "identity";
let decompressedMessage;
try {
decompressedMessage = await this.decompressMessage(queueEntry.compressedMessage, compressedMessageEncoding);
} catch (err2) {
this.sendStatus(err2);
return;
}
try {
queueEntry.parsedMessage = this.handler.deserialize(decompressedMessage);
} catch (err2) {
this.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Error deserializing request: ${err2.message}`
});
return;
}
queueEntry.type = "READABLE";
this.maybePushNextMessage();
}
maybePushNextMessage() {
if (this.listener && this.isReadPending && this.readQueue.length > 0 && this.readQueue[0].type !== "COMPRESSED") {
this.isReadPending = false;
const nextQueueEntry = this.readQueue.shift();
if (nextQueueEntry.type === "READABLE") {
this.listener.onReceiveMessage(nextQueueEntry.parsedMessage);
} else {
this.listener.onReceiveHalfClose();
}
}
}
handleDataFrame(data) {
var _a4;
if (this.checkCancelled()) {
return;
}
trace2("Request to " + this.handler.path + " received data frame of size " + data.length);
let rawMessages;
try {
rawMessages = this.decoder.write(data);
} catch (e2) {
this.sendStatus({ code: constants_1.Status.RESOURCE_EXHAUSTED, details: e2.message });
return;
}
for (const messageBytes of rawMessages) {
this.stream.pause();
const queueEntry = {
type: "COMPRESSED",
compressedMessage: messageBytes,
parsedMessage: null
};
this.readQueue.push(queueEntry);
this.decompressAndMaybePush(queueEntry);
(_a4 = this.callEventTracker) === null || _a4 === void 0 ? void 0 : _a4.addMessageReceived();
}
}
handleEndEvent() {
this.readQueue.push({
type: "HALF_CLOSE",
compressedMessage: null,
parsedMessage: null
});
this.receivedHalfClose = true;
this.maybePushNextMessage();
}
start(listener) {
trace2("Request to " + this.handler.path + " start called");
if (this.checkCancelled()) {
return;
}
this.listener = listener;
listener.onReceiveMetadata(this.metadata);
}
sendMetadata(metadata2) {
if (this.checkCancelled()) {
return;
}
if (this.metadataSent) {
return;
}
this.metadataSent = true;
const custom2 = metadata2 ? metadata2.toHttp2Headers() : null;
const headers = Object.assign(Object.assign(Object.assign({}, defaultResponseHeaders), defaultCompressionHeaders), custom2);
this.stream.respond(headers, defaultResponseOptions);
}
sendMessage(message, callback) {
if (this.checkCancelled()) {
return;
}
let response;
try {
response = this.serializeMessage(message);
} catch (e2) {
this.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Error serializing response: ${(0, error_1.getErrorMessage)(e2)}`,
metadata: null
});
return;
}
if (this.maxSendMessageSize !== -1 && response.length - 5 > this.maxSendMessageSize) {
this.sendStatus({
code: constants_1.Status.RESOURCE_EXHAUSTED,
details: `Sent message larger than max (${response.length} vs. ${this.maxSendMessageSize})`,
metadata: null
});
return;
}
this.maybeSendMetadata();
trace2("Request to " + this.handler.path + " sent data frame of size " + response.length);
this.stream.write(response, (error40) => {
var _a4;
if (error40) {
this.sendStatus({
code: constants_1.Status.INTERNAL,
details: `Error writing message: ${(0, error_1.getErrorMessage)(error40)}`,
metadata: null
});
return;
}
(_a4 = this.callEventTracker) === null || _a4 === void 0 ? void 0 : _a4.addMessageSent();
callback();
});
}
sendStatus(status2) {
var _a4, _b, _c;
if (this.checkCancelled()) {
return;
}
trace2("Request to method " + ((_a4 = this.handler) === null || _a4 === void 0 ? void 0 : _a4.path) + " ended with status code: " + constants_1.Status[status2.code] + " details: " + status2.details);
const statusMetadata = (_c = (_b = status2.metadata) === null || _b === void 0 ? void 0 : _b.clone()) !== null && _c !== void 0 ? _c : new metadata_1.Metadata();
if (this.shouldSendMetrics) {
statusMetadata.set(orca_1.GRPC_METRICS_HEADER, this.metricsRecorder.serialize());
}
if (this.metadataSent) {
if (!this.wantTrailers) {
this.wantTrailers = true;
this.stream.once("wantTrailers", () => {
if (this.callEventTracker && !this.streamEnded) {
this.streamEnded = true;
this.callEventTracker.onStreamEnd(true);
this.callEventTracker.onCallEnd(status2);
}
const trailersToSend = Object.assign({ [GRPC_STATUS_HEADER]: status2.code, [GRPC_MESSAGE_HEADER]: encodeURI(status2.details) }, statusMetadata.toHttp2Headers());
this.stream.sendTrailers(trailersToSend);
this.notifyOnCancel();
});
this.stream.end();
} else {
this.notifyOnCancel();
}
} else {
if (this.callEventTracker && !this.streamEnded) {
this.streamEnded = true;
this.callEventTracker.onStreamEnd(true);
this.callEventTracker.onCallEnd(status2);
}
const trailersToSend = Object.assign(Object.assign({ [GRPC_STATUS_HEADER]: status2.code, [GRPC_MESSAGE_HEADER]: encodeURI(status2.details) }, defaultResponseHeaders), statusMetadata.toHttp2Headers());
this.stream.respond(trailersToSend, { endStream: true });
this.notifyOnCancel();
}
}
startRead() {
trace2("Request to " + this.handler.path + " startRead called");
if (this.checkCancelled()) {
return;
}
this.isReadPending = true;
if (this.readQueue.length === 0) {
if (!this.receivedHalfClose) {
this.stream.resume();
}
} else {
this.maybePushNextMessage();
}
}
getPeer() {
var _a4;
const socket = (_a4 = this.stream.session) === null || _a4 === void 0 ? void 0 : _a4.socket;
if (socket === null || socket === void 0 ? void 0 : socket.remoteAddress) {
if (socket.remotePort) {
return `${socket.remoteAddress}:${socket.remotePort}`;
} else {
return socket.remoteAddress;
}
} else {
return "unknown";
}
}
getDeadline() {
return this.deadline;
}
getHost() {
return this.host;
}
getAuthContext() {
var _a4;
if (((_a4 = this.stream.session) === null || _a4 === void 0 ? void 0 : _a4.socket) instanceof tls_1.TLSSocket) {
const peerCertificate = this.stream.session.socket.getPeerCertificate();
return {
transportSecurityType: "ssl",
sslPeerCertificate: peerCertificate.raw ? peerCertificate : void 0
};
} else {
return {};
}
}
getConnectionInfo() {
return this.connectionInfo;
}
getMetricsRecorder() {
return this.metricsRecorder;
}
};
exports2.BaseServerInterceptingCall = BaseServerInterceptingCall;
function getServerInterceptingCall(interceptors, stream2, headers, callEventTracker, handler, options) {
const methodDefinition = {
path: handler.path,
requestStream: handler.type === "clientStream" || handler.type === "bidi",
responseStream: handler.type === "serverStream" || handler.type === "bidi",
requestDeserialize: handler.deserialize,
responseSerialize: handler.serialize
};
const baseCall = new BaseServerInterceptingCall(stream2, headers, callEventTracker, handler, options);
return interceptors.reduce((call, interceptor) => {
return interceptor(methodDefinition, call);
}, baseCall);
}
}
});
// packages/core/node_modules/@grpc/grpc-js/build/src/server.js
var require_server2 = __commonJS({
"packages/core/node_modules/@grpc/grpc-js/build/src/server.js"(exports2) {
"use strict";
var __runInitializers = exports2 && exports2.__runInitializers || function(thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i3 = 0; i3 < initializers.length; i3++) {
value = useValue ? initializers[i3].call(thisArg, value) : initializers[i3].call(thisArg);
}
return useValue ? value : void 0;
};
var __esDecorate = exports2 && exports2.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) {
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
return f;
}
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor2 = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
var _, done = false;
for (var i3 = decorators.length - 1; i3 >= 0; i3--) {
var context2 = {};
for (var p in contextIn) context2[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access) context2.access[p] = contextIn.access[p];
context2.addInitializer = function(f) {
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
extraInitializers.push(accept(f || null));
};
var result2 = (0, decorators[i3])(kind === "accessor" ? { get: descriptor2.get, set: descriptor2.set } : descriptor2[key], context2);
if (kind === "accessor") {
if (result2 === void 0) continue;
if (result2 === null || typeof result2 !== "object") throw new TypeError("Object expected");
if (_ = accept(result2.get)) descriptor2.get = _;
if (_ = accept(result2.set)) descriptor2.set = _;
if (_ = accept(result2.init)) initializers.unshift(_);
} else if (_ = accept(result2)) {
if (kind === "field") initializers.unshift(_);
else descriptor2[key] = _;
}
}
if (target) Object.defineProperty(target, contextIn.name, descriptor2);
done = true;
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Server = void 0;
var http22 = __require("http2");
var util2 = __require("util");
var constants_1 = require_constants10();
var server_call_1 = require_server_call2();
var server_credentials_1 = require_server_credentials2();
var resolver_1 = require_resolver2();
var logging = require_logging2();
var subchannel_address_1 = require_subchannel_address2();
var uri_parser_1 = require_uri_parser2();
var channelz_1 = require_channelz2();
var server_interceptors_1 = require_server_interceptors2();
var UNLIMITED_CONNECTION_AGE_MS = ~(1 << 31);
var KEEPALIVE_MAX_TIME_MS = ~(1 << 31);
var KEEPALIVE_TIMEOUT_MS = 2e4;
var MAX_CONNECTION_IDLE_MS = ~(1 << 31);
var { HTTP2_HEADER_PATH } = http22.constants;
var TRACER_NAME2 = "server";
var kMaxAge = Buffer.from("max_age");
function serverCallTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "server_call", text);
}
function noop4() {
}
function deprecate(message) {
return function(target, context2) {
return util2.deprecate(target, message);
};
}
function getUnimplementedStatusResponse(methodName) {
return {
code: constants_1.Status.UNIMPLEMENTED,
details: `The server does not implement the method ${methodName}`
};
}
function getDefaultHandler(handlerType, methodName) {
const unimplementedStatusResponse = getUnimplementedStatusResponse(methodName);
switch (handlerType) {
case "unary":
return (call, callback) => {
callback(unimplementedStatusResponse, null);
};
case "clientStream":
return (call, callback) => {
callback(unimplementedStatusResponse, null);
};
case "serverStream":
return (call) => {
call.emit("error", unimplementedStatusResponse);
};
case "bidi":
return (call) => {
call.emit("error", unimplementedStatusResponse);
};
default:
throw new Error(`Invalid handlerType ${handlerType}`);
}
}
var Server = (() => {
var _a4;
let _instanceExtraInitializers = [];
let _start_decorators;
return _a4 = class Server {
constructor(options) {
var _b, _c, _d, _e, _f, _g;
this.boundPorts = (__runInitializers(this, _instanceExtraInitializers), /* @__PURE__ */ new Map());
this.http2Servers = /* @__PURE__ */ new Map();
this.sessionIdleTimeouts = /* @__PURE__ */ new Map();
this.handlers = /* @__PURE__ */ new Map();
this.sessions = /* @__PURE__ */ new Map();
this.started = false;
this.shutdown = false;
this.serverAddressString = "null";
this.channelzEnabled = true;
this.options = options !== null && options !== void 0 ? options : {};
if (this.options["grpc.enable_channelz"] === 0) {
this.channelzEnabled = false;
this.channelzTrace = new channelz_1.ChannelzTraceStub();
this.callTracker = new channelz_1.ChannelzCallTrackerStub();
this.listenerChildrenTracker = new channelz_1.ChannelzChildrenTrackerStub();
this.sessionChildrenTracker = new channelz_1.ChannelzChildrenTrackerStub();
} else {
this.channelzTrace = new channelz_1.ChannelzTrace();
this.callTracker = new channelz_1.ChannelzCallTracker();
this.listenerChildrenTracker = new channelz_1.ChannelzChildrenTracker();
this.sessionChildrenTracker = new channelz_1.ChannelzChildrenTracker();
}
this.channelzRef = (0, channelz_1.registerChannelzServer)("server", () => this.getChannelzInfo(), this.channelzEnabled);
this.channelzTrace.addTrace("CT_INFO", "Server created");
this.maxConnectionAgeMs = (_b = this.options["grpc.max_connection_age_ms"]) !== null && _b !== void 0 ? _b : UNLIMITED_CONNECTION_AGE_MS;
this.maxConnectionAgeGraceMs = (_c = this.options["grpc.max_connection_age_grace_ms"]) !== null && _c !== void 0 ? _c : UNLIMITED_CONNECTION_AGE_MS;
this.keepaliveTimeMs = (_d = this.options["grpc.keepalive_time_ms"]) !== null && _d !== void 0 ? _d : KEEPALIVE_MAX_TIME_MS;
this.keepaliveTimeoutMs = (_e = this.options["grpc.keepalive_timeout_ms"]) !== null && _e !== void 0 ? _e : KEEPALIVE_TIMEOUT_MS;
this.sessionIdleTimeout = (_f = this.options["grpc.max_connection_idle_ms"]) !== null && _f !== void 0 ? _f : MAX_CONNECTION_IDLE_MS;
this.commonServerOptions = {
maxSendHeaderBlockLength: Number.MAX_SAFE_INTEGER
};
if ("grpc-node.max_session_memory" in this.options) {
this.commonServerOptions.maxSessionMemory = this.options["grpc-node.max_session_memory"];
} else {
this.commonServerOptions.maxSessionMemory = Number.MAX_SAFE_INTEGER;
}
if ("grpc.max_concurrent_streams" in this.options) {
this.commonServerOptions.settings = {
maxConcurrentStreams: this.options["grpc.max_concurrent_streams"]
};
}
this.interceptors = (_g = this.options.interceptors) !== null && _g !== void 0 ? _g : [];
this.trace("Server constructed");
}
getChannelzInfo() {
return {
trace: this.channelzTrace,
callTracker: this.callTracker,
listenerChildren: this.listenerChildrenTracker.getChildLists(),
sessionChildren: this.sessionChildrenTracker.getChildLists()
};
}
getChannelzSessionInfo(session) {
var _b, _c, _d;
const sessionInfo = this.sessions.get(session);
const sessionSocket = session.socket;
const remoteAddress = sessionSocket.remoteAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.remoteAddress, sessionSocket.remotePort) : null;
const localAddress = sessionSocket.localAddress ? (0, subchannel_address_1.stringToSubchannelAddress)(sessionSocket.localAddress, sessionSocket.localPort) : null;
let tlsInfo;
if (session.encrypted) {
const tlsSocket = sessionSocket;
const cipherInfo = tlsSocket.getCipher();
const certificate = tlsSocket.getCertificate();
const peerCertificate = tlsSocket.getPeerCertificate();
tlsInfo = {
cipherSuiteStandardName: (_b = cipherInfo.standardName) !== null && _b !== void 0 ? _b : null,
cipherSuiteOtherName: cipherInfo.standardName ? null : cipherInfo.name,
localCertificate: certificate && "raw" in certificate ? certificate.raw : null,
remoteCertificate: peerCertificate && "raw" in peerCertificate ? peerCertificate.raw : null
};
} else {
tlsInfo = null;
}
const socketInfo = {
remoteAddress,
localAddress,
security: tlsInfo,
remoteName: null,
streamsStarted: sessionInfo.streamTracker.callsStarted,
streamsSucceeded: sessionInfo.streamTracker.callsSucceeded,
streamsFailed: sessionInfo.streamTracker.callsFailed,
messagesSent: sessionInfo.messagesSent,
messagesReceived: sessionInfo.messagesReceived,
keepAlivesSent: sessionInfo.keepAlivesSent,
lastLocalStreamCreatedTimestamp: null,
lastRemoteStreamCreatedTimestamp: sessionInfo.streamTracker.lastCallStartedTimestamp,
lastMessageSentTimestamp: sessionInfo.lastMessageSentTimestamp,
lastMessageReceivedTimestamp: sessionInfo.lastMessageReceivedTimestamp,
localFlowControlWindow: (_c = session.state.localWindowSize) !== null && _c !== void 0 ? _c : null,
remoteFlowControlWindow: (_d = session.state.remoteWindowSize) !== null && _d !== void 0 ? _d : null
};
return socketInfo;
}
trace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, TRACER_NAME2, "(" + this.channelzRef.id + ") " + text);
}
keepaliveTrace(text) {
logging.trace(constants_1.LogVerbosity.DEBUG, "keepalive", "(" + this.channelzRef.id + ") " + text);
}
addProtoService() {
throw new Error("Not implemented. Use addService() instead");
}
addService(service, implementation) {
if (service === null || typeof service !== "object" || implementation === null || typeof implementation !== "object") {
throw new Error("addService() requires two objects as arguments");
}
const serviceKeys = Object.keys(service);
if (serviceKeys.length === 0) {
throw new Error("Cannot add an empty service to a server");
}
serviceKeys.forEach((name3) => {
const attrs = service[name3];
let methodType;
if (attrs.requestStream) {
if (attrs.responseStream) {
methodType = "bidi";
} else {
methodType = "clientStream";
}
} else {
if (attrs.responseStream) {
methodType = "serverStream";
} else {
methodType = "unary";
}
}
let implFn = implementation[name3];
let impl;
if (implFn === void 0 && typeof attrs.originalName === "string") {
implFn = implementation[attrs.originalName];
}
if (implFn !== void 0) {
impl = implFn.bind(implementation);
} else {
impl = getDefaultHandler(methodType, name3);
}
const success2 = this.register(attrs.path, impl, attrs.responseSerialize, attrs.requestDeserialize, methodType);
if (success2 === false) {
throw new Error(`Method handler for ${attrs.path} already provided.`);
}
});
}
removeService(service) {
if (service === null || typeof service !== "object") {
throw new Error("removeService() requires object as argument");
}
const serviceKeys = Object.keys(service);
serviceKeys.forEach((name3) => {
const attrs = service[name3];
this.unregister(attrs.path);
});
}
bind(port, creds) {
throw new Error("Not implemented. Use bindAsync() instead");
}
/**
* This API is experimental, so API stability is not guaranteed across minor versions.
* @param boundAddress
* @returns
*/
experimentalRegisterListenerToChannelz(boundAddress) {
return (0, channelz_1.registerChannelzSocket)((0, subchannel_address_1.subchannelAddressToString)(boundAddress), () => {
return {
localAddress: boundAddress,
remoteAddress: null,
security: null,
remoteName: null,
streamsStarted: 0,
streamsSucceeded: 0,
streamsFailed: 0,
messagesSent: 0,
messagesReceived: 0,
keepAlivesSent: 0,
lastLocalStreamCreatedTimestamp: null,
lastRemoteStreamCreatedTimestamp: null,
lastMessageSentTimestamp: null,
lastMessageReceivedTimestamp: null,
localFlowControlWindow: null,
remoteFlowControlWindow: null
};
}, this.channelzEnabled);
}
experimentalUnregisterListenerFromChannelz(channelzRef) {
(0, channelz_1.unregisterChannelzRef)(channelzRef);
}
createHttp2Server(credentials3) {
let http2Server;
if (credentials3._isSecure()) {
const constructorOptions = credentials3._getConstructorOptions();
const contextOptions = credentials3._getSecureContextOptions();
const secureServerOptions = Object.assign(Object.assign(Object.assign(Object.assign({}, this.commonServerOptions), constructorOptions), contextOptions), { enableTrace: this.options["grpc-node.tls_enable_trace"] === 1 });
let areCredentialsValid = contextOptions !== null;
this.trace("Initial credentials valid: " + areCredentialsValid);
http2Server = http22.createSecureServer(secureServerOptions);
http2Server.prependListener("connection", (socket) => {
if (!areCredentialsValid) {
this.trace("Dropped connection from " + JSON.stringify(socket.address()) + " due to unloaded credentials");
socket.destroy();
}
});
http2Server.on("secureConnection", (socket) => {
socket.on("error", (e2) => {
this.trace("An incoming TLS connection closed with error: " + e2.message);
});
});
const credsWatcher = (options) => {
if (options) {
const secureServer = http2Server;
try {
secureServer.setSecureContext(options);
} catch (e2) {
logging.log(constants_1.LogVerbosity.ERROR, "Failed to set secure context with error " + e2.message);
options = null;
}
}
areCredentialsValid = options !== null;
this.trace("Post-update credentials valid: " + areCredentialsValid);
};
credentials3._addWatcher(credsWatcher);
http2Server.on("close", () => {
credentials3._removeWatcher(credsWatcher);
});
} else {
http2Server = http22.createServer(this.commonServerOptions);
}
http2Server.setTimeout(0, noop4);
this._setupHandlers(http2Server, credentials3._getInterceptors());
return http2Server;
}
bindOneAddress(address, boundPortObject) {
this.trace("Attempting to bind " + (0, subchannel_address_1.subchannelAddressToString)(address));
const http2Server = this.createHttp2Server(boundPortObject.credentials);
return new Promise((resolve25, reject) => {
const onError2 = (err2) => {
this.trace("Failed to bind " + (0, subchannel_address_1.subchannelAddressToString)(address) + " with error " + err2.message);
resolve25({
port: "port" in address ? address.port : 1,
error: err2.message
});
};
http2Server.once("error", onError2);
http2Server.listen(address, () =>